AArch64 support and sharing of various drivers

Christian Mauderer christian.mauderer at embedded-brains.de
Thu Sep 3 11:58:09 UTC 2020

Hello Kinsey,

On 01/09/2020 23:56, Kinsey Moore wrote:
> Hi,
> I’ve been working on proper AArch64 support for RTEMS

That's great. It means good raspberry pi 4 support ;-)

> (versus running
> 32-bit ARM RTEMS behind a bootloader or JTAG device that switches the
> CPU to AArch32 mode) and while the vast majority of the architecture
> support code is new, lives in its own aarch64 directories, and is
> unrelated to RTEMS’s ARM support, there are several drivers living in
> the ARM shared directory that are critical to AArch64 support and many
> more that could potentially be shared. Given the limited scope of
> initial bringup on Qemu, that list is currently: GICv3, GPT(timer), and
> PL011(uart). I don’t really see a precedent for this type of sharing
> other than the global bsps/shared and bsps/include directories. The
> global shared directories might make sense for the PL011 since it could
> theoretically be used by anything that supports AXI/AMBA, but the GIC
> and GPT drivers rely on ARM system registers to function with both
> AArch32 and AArch64.
> In short, where should the GICv3 and GPT drivers be relocated along with
> their associated headers, if at all?

I might get a similar problem with some drivers shared between some
PowerPC and ARM too (NXP reuses some of the Freescale PowerPC
peripherals in up to date ARM controllers). I think in theory we already
have such drivers that maybe should be shared but are copied or
re-implemented in multiple BSPs instead.

One possibility might would be to add all arm/shared to the aarch64 too.
But that is a bit unclear.

But as long as the drivers compile for every BSP and are removed at link
time they maybe could just be moved to the general shared directory. We
also have other drivers there that are only used on a few BSPs. For
example the drivers in shared/net/* or shared/dev/ide/*

Best regards


> Thanks,
> Kinsey Moore
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel

embedded brains GmbH
Herr Christian Mauderer
Dornierstr. 4
D-82178 Puchheim
email: christian.mauderer at embedded-brains.de
Phone: +49-89-18 94 741 - 18
Fax:   +49-89-18 94 741 - 08
PGP: Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

More information about the devel mailing list