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/


Reply via email to