Comments (4)
I've updated simple-sel4cp-demo. Now, the seL4 and sel4cp submodules point to commits which are based on current upstream trunks (as of writing), and contain only the minimal set of changes.
The seL4 commit contains only one change on top of upstream trunk (seL4/seL4:master), and that is a rebased version of the boot protocol change found at BreakawayConsulting/seL4:sel4cp-core-support. As @Ivan-Velickovic mentioned, I've been using a more up-to-date kernel.
The sel4cp commit contains only two changes on top of upstream trunk (BreakawayConsulting/sel4cp:main). One is the one seL4_MinSchedContextBits
-related change that @Ivan-Velickovic mentioned. The other just adds handling for unaligned ELF segments in PDs, and could be polished and upstreamed.
from microkit.
I believe @nspin intends to upstream his changes to add Rust support, but I don't know any more details other than that. It might be best to ask him directly.
I think the only difference between Nick's kernel and the current seL4CP kernel is that Nick's is more recent. To my knowledge the only thing that needs to change in seL4CP to use a newer kernel is that seL4_MinSchedContextBits
was changed, so this line https://github.com/BreakawayConsulting/sel4cp/blob/74db455afd369f9db0442735cfdc13df52fb9163/tool/sel4coreplat/sel4.py#L157 should reflect that. I'm planning to change the kernel to instead properly export these hard-coded values so that in the future using an updated kernel is less fragile.
Nick has already made this change though and has it working, I don't see any issue with just using his version of seL4 with seL4CP until his Rust work gets mainlined.
from microkit.
Just to confirm: the plan is to converge all of this so it works together out of the box. It'll take a bit more time until it is there, but I don't think we're far off.
from microkit.
Now that @nspin's Rust support for seL4 (including Microkit) has been moved to the seL4 Foundation, there's just a couple more things to sort out before this issue can be resolved:
- Decide whether to have the
microkit
Rust crate live in this repository or not. - Have at least one example written in Rust in this repository, a hello-world is definitely necessary given that the build process for using Rust is very different compared to the C examples.
- Properly integrate everything regarding documentation, if you were to solely look at the contents of this repository and the SDK manual, you would have no idea that Rust bindings exist. If the other Rust examples such as https://github.com/seL4/rust-microkit-demo and https://github.com/seL4/rust-microkit-http-server-demo continue to live in their own repositories, we need to at least have pointers to them from here.
- Allow the
microkit
crate to use the mainline Microkit SDK (there's just a couple minor patches to be upstreamed so should be trivial just a matter of time).
from microkit.
Related Issues (20)
- Add 1GiB page size for AArch64
- Check that registered IRQ numbers are sane
- API for dealing with cache-coherency on ARM HOT 1
- Please add versioned releases of the sdk HOT 2
- Please do not rely on **any** system headers for the microkit API HOT 1
- Declare stable API & ABI to ease implementation of Rust API HOT 15
- Make `static inline` optional HOT 4
- seL4 floating point compilation support HOT 6
- What is the purpose of the content of a passive server's initialization complete message HOT 2
- manual: typos and other questions HOT 1
- tool: Use `rustfmt` HOT 7
- 1.3.0 release archive permissions HOT 2
- Tutorial: part4 ppcall from VMM to less prioritized Wordle_server HOT 6
- Allow specifying `phys_addr` for non-device memory
- Use larger pages when mapping in large ELFs
- Complain at a microkit level of IRQ ACK is called on a non-irq channel HOT 1
- setvar_vaddr will happily patch the same variable twice HOT 1
- Switch to LLVM based tools (?) HOT 4
- specify a Minimum Supported Rust Version (MSRV) for HOT 5
- Remove hardcoding of RISCV toolchain prefix HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from microkit.