x86_64 BSP : Status Update [ticket #2898]

Amaan Cheval amaan at rtems.org
Mon Mar 29 10:11:16 UTC 2021

I linked the wrong GSoC status update of mine there - here's the final
report that you may find useful:

On Mon, Mar 29, 2021 at 3:38 PM Amaan Cheval <amaan at rtems.org> wrote:
> Hey Shashvat!
> I've CC'd Chris who may have something to add given that the original
> ticket seems to have an update from John Millard - not sure if John's
> made progress since my work on the x86-64 BSP was upstreamed, so I'll
> let Chris speak to that.
> I wouldn't recommend running it on real hardware yet - I don't think
> anyone has tested it on hardware.
> Not all tests in the testsuite pass in QEMU either, from what I
> remember (some basic ones do), so that will likely be what you'll need
> to work on.
> To run the BSP in QEMU, you'll need to follow these instructions:
> https://docs.rtems.org/branches/master/user/bsps/bsps-x86_64.html
> Let me know if you run into any issues, since the setup can be a bit
> complicated. In summary, for the setup, you'll want to:
> - Build RTEMS/RSB with x86-64 as the BSP (this should be the same as
> what you did for your GSoC proof in terms of building the BSP and
> samples/tests)
> - Get QEMU
> - Build OVMF's open-source UEFI firmware
> - Get FreeBSD booting in QEMU with UEFI, and then replace it's
> `kernel` with a built RTEMS application (such as the ticker tests or
> hello.exe, etc.)
> - Run FreeBSD image with RTEMS app as its kernel
> We need to do this because for the x86-64 BSP, we use FreeBSD's
> bootloader. This is slightly problematic, because FreeBSD's bootloader
> only supports UFS/ZFS for filesystems.
> I think ideally, we'll want a UEFI-compatible bootloader which can
> support more filesystems - FreeBSD's bootloader is functional, but
> perhaps not the best for a dev/prod environment long-term - maybe
> Joel/Chris can comment on this.
> (For eg. most Linux systems can't mount UFS/ZFS unless specifically
> compiled for that support, which means the dev-environment is quite
> hacky and slow - I had to use the network to get my RTEMS apps into
> the FreeBSD filesystem for the bootloader to use it.)
> After the bootloader issues are made easier (so we don't need to
> replace FreeBSD's kernel every time we want to recompile our RTEMS app
> and re-run it), the next aim will probably be to make as many tests
> pass as possible, and to improve automated tests, such as a
> configuration for rtems-test[1].
> I recall there being some edge-cases in the clock driver, so you'll
> likely have the failing tests to guide which drivers you need to work
> on in the BSP.
> If there's still time after that, I think we can figure out which
> specific portions need to be worked on (i.e. running on hardware,
> improving existing drivers, adding libbsd support, SMP support, etc.).
> In case you haven't seen this already, this is my blog post from my
> GSoC on the x86-64 BSP, summarizing the status as of then, as well as
> potential areas for improvement next:
> https://blog.whatthedude.com/post/gsoc-phase-2-status/#upcoming
> [1] https://docs.rtems.org/branches/master/user/tools/tester.html
> On Mon, Mar 29, 2021, 12:58 PM Shashvat <shashvatjain2002 at gmail.com> wrote:
> >
> > Hello everyone !
> >
> > I wanted to know the status of the x86_64 BSP's development.
> > Also it would be great help if someone guides me to get it running on QEMU or my x64 based laptop running legacy BIOS.(not UEFI)
> >
> >
> > Regards
> > Shashvat
> >

More information about the devel mailing list