AArch64 support and sharing of various drivers

Kinsey Moore kinsey.moore at oarcorp.com
Tue Sep 1 21:56:12 UTC 2020

I've been working on proper AArch64 support for RTEMS (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?

Kinsey Moore
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200901/0b58bf65/attachment.html>

More information about the devel mailing list