On 9/27/24 09:28, Markus Armbruster wrote:
A deliberate approach to explore some before we go all in could mitigate
the risk of taking on too much technical debt.
We obviously need to write instances of each interesting class of things
to ferret out the problems, and design good interfaces. I'd recommend
to write few instances, ideally one, then let them mature some before we
create many more of them. Prioritize gaining experience over quantity.
The "first" device to be written in Rust, pl011, will already require
developing C<->Rust interoperability for QOM, device properties,
character devices and memory region operations. The first two are there
only in an embryonic state (the bare minimum required to create a QOM
class in Rust) and the other two don't exist at all.
I agree with you we should prioritize gaining experience in those four
areas, over writing many more Rust devices.
Paolo