On 8/10/2021 13:39, Joel Sherrill wrote:


On Tue, Aug 10, 2021, 9:58 AM Gedare Bloom <ged...@rtems.org <mailto:ged...@rtems.org>> wrote:



    On Tue, Aug 10, 2021 at 5:34 AM Kuan-Hsun Chen <c00...@gmail.com
    <mailto:c00...@gmail.com>> wrote:

        Hi Benson,

        Regarding Discord for RTEMS, here you go:
        https://discord.gg/TKhmGt8p <https://discord.gg/TKhmGt8p>.

        Best,
        Kuan-Hsun

        On Tue, Aug 10, 2021 at 1:21 PM Mathew Benson
        <mben...@windhoverlabs.com <mailto:mben...@windhoverlabs.com>>
        wrote:

            Is there a Slack or Discord channel to discuss RTEMS?  I
            don't want to flood everybody's inbox with emails.


    As well, for this kind of development work (porting RTEMS), you
    can bring your discussions and questions over to de...@rtems.org
    <mailto:de...@rtems.org>.

            I want to port RTEMS to the Xilinx Zynq Ultrascale+ R5. 
            I've taken the RTEMS training, but that was a couple years
            ago. I think I'll be fine once I can just get through the
            build system and can focus on just code, but the build
            system seems very foreign to me.  There still seems to be
            either fragments of an old build system or just files that
            don't seem to serve any purpose.  It would appear that
            "/spec/build/bsps/arm/xilinx-zynqmp" is where my build set
            definition begins, but then what is
            "/bsps/arm/xilinx-zynqmp/config" for?


    We haven't quite divorced ourselves from the older autotools build
    system, but new BSPs/ports (including the aarch64) are not using
    the old build system at all.

    The arm/xilinx-zynqmp is a BSP for only the 32-bit arm support of
    the Zynq Ultrascale+ MPSOC specifically tested/used on the
    Ultra96. It was contributed by Dornerworks. I guess this is a
    little confusing, because now we also have
    bsps/aarch64/xilinx-zynqmp, which provides the 64-bit support. At
    some point, we should be able to deprecate/drop the
    arm/xilinx-zynqmp with the ability to configure the
    aarch64/xilinx-zynqmp to only run in aarch32 mode.


Probably worth starting a thread to ask Kinsey about that. I think the user was trying something like that at one point.
The arm/xilinx-zynqmp BSP is in a weird spot. It works, but requires either booting from JTAG or a seldom-used configuration of FSBL. It could also theoretically be booted from a very thin shim layer of AArch64 code on top of a more typical AArch64 FSBL. Realistically, it needs better documentation. Running ARMv7 RTEMS code on the A53 CPUs is definitely possible and I have worked with someone who has tested on it some, but still belongs in bsps/arm because it is fundamentally not AArch64 even though it has an identical peripheral set and runs on the same silicon. In my opinion, the only reason to run in this mode is to reuse existing and tested binaries with only minor/trivial porting required. If you're compiling the entire OS from scratch and reverifying, it is much better to run AArch64 with the ILP32 ABI since it gives you the same smaller-memory advantages as ARMv7 as well as the advantages of AArch64 underneath the hood.

I also think the BSP dornerworks contributed can run under Xen. So that would have to be accounted for
As best I can tell, that is a completely separate BSP just for running under Xen on ARM and unrelated to any Zynq BSPs.


Kinsey

_______________________________________________
users mailing list
users@rtems.org
http://lists.rtems.org/mailman/listinfo/users

Reply via email to