-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for additional platforms #15
Comments
Hi @podhrmic, please check https://github.com/tiiuae/sel4cp/tree/rpi4b_support -- there's a bug in how you create untypeds from regions -- you are supposed to do bit size aligning based on virtual addresses, not physical ones. sel4cp needs this fix before it can be used with rpi4. |
Also as a shameless plug, try our container to build sel4cp's Hello World to rpi4: https://github.com/tiiuae/tii_sel4_build/tree/wip/hlyytine-sel4cp#sel4cp |
Thanks @hlyytine that is very cool! Looking at your commits, it seems that the platform support provided by the SDK is really just a loader and a kernel debug print, right? |
From peripherals point of view, pretty much yes. There's also the monitor and sel4cp goes a long way internally abstracting away differences between different architectures and use cases (for example, seL4 running on EL1 or EL2 on ARM). But that does not mean you could not build complex systems with sel4cp. For example, check this out: https://github.com/Ivan-Velickovic/sel4cp_vmm So we at TII are experimenting with QEMU (or other VMM-like software, such as crosvm) running in dedicated "driver-VM" providing virtio devices to other Linux guests (not using those as VMMs per se). But it shouldn't be a problem to have native seL4 applications using these virtio devices. UNSW is working with the driver framework called sDDF and eventually they would like to have native drivers (which you might be looking after). But our solution (use dedicated VM to run Linux and provide virtio devices to other guests) is an intermediate step. And whenever sDDF is mature enough, we think we could use it as a virtio transport instead of our custom solution. Which means as long as you can get Linux running on any given board, you can configure a sel4cp VMM to run Linux in driver-VM there and provide virtio services, to either other VMs or native seL4 apps. Then you could incrementally implement more proper native drivers and finally ditch the driver-VM Linux. Our prototype is for CAmkES VMM and we are currently migrating it to seL4 Core Platform, hoping to get first light within a month or so. |
An official guide for porting Microkit will be made, the relevant tracking issue is here #48. It contains details already for doing a port until a proper guide is merged. |
Hi! What is required in order to support the SDK on other platforms (specifically on Raspberry Pi 4)?
Looking at the code base, looks like the board specific code is only the https://github.com/BreakawayConsulting/sel4cp/blob/main/loader/src/loader.c and https://github.com/BreakawayConsulting/sel4cp/blob/main/build_sdk.py
Would all platform specific details be part of the
.system
file connecting irqs and defining memory regions (such as in the ethernet example)?The text was updated successfully, but these errors were encountered: