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