AArch64 support and sharing of various drivers

Joel Sherrill joel at rtems.org
Fri Sep 4 02:43:39 UTC 2020


On Thu, Sep 3, 2020, 6:58 AM Christian Mauderer <
christian.mauderer at embedded-brains.de> wrote:

> 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.
>

The Gaisler IP drivers were moved up in the tree recently also.


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

shared/arm??

shared/nxp

Or

shared/IP/vendor?

They need to be above a single architecture to be shared across
architectures.

This is just SoC IP modules that are being reused.

>

> 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 the re that are only used on a few BSPs. For
> example the drivers in shared/net/* or shared/dev/ide/*
>
> Best regards
>
> Christian
>
> >
> >
> > 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
> Germany
> 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.
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200903/20c87638/attachment.html>


More information about the devel mailing list