Hi All,

We’ve been working on reviving the sel4-sys Rust crate and getting it usable 
again. Currently, we have it working correctly with RISC-V, we’re working on 
ARM (including aarch64) and X86. We’d like to contribute this work, but to have 
it landed we need to extend the test suite to include crate tests - especially 
the syscalls API.

During the build, the crate generates the syscalls functions accessible from 
Rust code based on seL4 config.

We use standard sel4test-tests suite to handle the tests:

* We build the crate as static library
* Sel4test is built with `-DLibSel4FunctionAttributes=public` and while linking 
we overwrite the original symbols with the ones from a static library from the 
crate

This allows us to run the standard test suite against Rust syscall stubs.

For now the crate generates the syscall stubs with Rust flavor, so functions 
signatures between Rust and C do not match. To handle this we additionally 
generate a thin glue code adopting Rust signatures to the C ones.

We generate the Rust syscalls with a slightly modified version of the 
`syscall_stub_gen.py` script - we copied it into the crate’s codebase. Copying 
the code doesn’t seem to be the best idea - we’d need to maintain the code in 
both places - seL4 kernel and the crate.

We’d like to merge the Rust generator with the current set of tools - is this 
something you’d be willing to land in the kernel code? If not, how would you 
see the way forward here?

Thanks and best regards
Karol
_______________________________________________
Devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to