Beginner questions: Seoul, Rust, DDE, and system composition

Benjamin Lamowski benjamin.lamowski at genode-labs.com
Fri Sep 15 10:46:52 CEST 2023


Hi Zach,

I'll answer the question which is in my core expertise and leave it to 
my colleagues to give possibly more nuanced answers to your other questions:


> [2] What is the state of rust support for Genode? I have seen a few mentions of it in release notes. Can I make base API calls from rust (e.g., requesting sessions, creating child components, etc.), or is it similar to running applications with the POSIX compatibility layer?

Currently our Rust support is focused on leveraging the existing 
ecosystem, i.e. we focused on getting the unmodified Rust standard 
library to run on our FreeBSD-based compatibility layer (see the 
beginning of my blog post[1] for our rationale behind that).

Now, just as Rust links to our port of the FreeBSD C library via the 
libc crate, it would be possible to leverage Rust's Foreign Function 
Interface (FFI) to call into to our base library, which as you probably 
know serves as the abstraction layer to the various kernels supported by 
the Genode OS Framework.
I would be very much interested to pursue this, but so far due to lack 
of commercial funding there is no timeline for supporting base API calls 
from Rust. I haven't worked with Rust's FFI in quite some time, so I 
can't estimate how easily this could be accomplished with 
rust-bindgen[2] or the cxx.rs library[3]. If you want to give it a shot, 
we can surely support you with getting the application to work with goa[4].
I will bring up base API support for Rust when we discuss next year's 
roadmap.

I hope that answers at least one of your questions!

Best wishes,

Ben


[1] https://genodians.org/atopia/2023-05-30-bringing-rust-back-to-genode
[2] https://rust-lang.github.io/rust-bindgen/cpp.html
[3] https://cxx.rs
[4] https://github.com/genodelabs/goa/

-- 
Benjamin Lamowski
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth



More information about the users mailing list