On Tue, Aug 26, 2025 at 4:56 PM Manos Pitsidianakis <manos.pitsidiana...@linaro.org> wrote: > I kind of agree with this sentiment. What this series basically does > is unwrapping most modules to standalone crates. Semantically, they > make sense to be their own crates just like they made sense being > their own modules before). But I'm not sure what developer benefit > this brings,
The benefit (or rather, the problem that this solves) is that not all targets in the QEMU build use all the C libraries; in particular, tools like qemu-img do not include hw/. Therefore, when Kevin was writing his Rust block layer experiments, he had to build a separate version of qemu_api that left out anything that could cause a linking failure for qemu-img and friends[1]. Since we already have a well-proven module split in the form of variables defined with declare_dependency(), using it for Rust as well makes the most sense. I can't exclude that in the future we might split even more (i2c, pci, etc.) but for now the split that Marc-André used with a single "system" crate is good enough. Paolo [1] https://lore.kernel.org/qemu-devel/20250218182019.111467-2-kw...@redhat.com/