Hi Kuan-Wei,

On 2026-07-06T21:54:42, Kuan-Wei Chiu <[email protected]> wrote:

> It allows U-Boot to directly mount host directories in virtualization
> environments via virtio.

Thanks for working on this - a nice feature which has been missing for a while.

My main concern is the overall design. The transport driver registers
a single global client which the filesystem layer picks up, so there
can only ever be one 9P device and the QEMU mount tag is ignored.
Since the transport is already a driver-model device, please can you
attach the client state to the udevice and have the filesystem layer
look up the device, rather than using a global? That would let the
user select a particular device (or mount tag) in the ls and load
commands instead of passing a dash, and would fit better with the rest
of U-Boot.

Related to this, intercepting the 9p interface name in the generic
filesystem code feels like a hack. It would be better to integrate
with the existing device/partition handling, perhaps along the lines
of semihosting.

> The functionality has been verified on qemu arm64 by successfully
> loading a Linux kernel image and an initramfs image via 9P, and booting
> to the Linux shell.

For the tests Tom asked for, one option would be a sandbox transport
driver (see the existing sandbox virtio support) so the protocol and
filesystem code can be exercised in CI without QEMU, plus a pytest for
the QEMU side. A doc/usage page showing the QEMU flags and U-Boot
commands from this cover letter would be a good start for the docs.

Regards,
Simon

Reply via email to