Add 9P network filesystem support to U-Boot. It allows U-Boot to directly mount host directories in virtualization environments via virtio.
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. To test with QEMU: -fsdev local,id=fsdev0,path=/path/to/host/dir,security_model=none \ -device virtio-9p-device,fsdev=fsdev0,mount_tag=rootfs U-Boot usage: => virtio scan => ls 9p - / => load 9p - $kernel_addr_r /Image => load 9p - $ramdisk_addr_r /initramfs.cpio => booti $kernel_addr_r $ramdisk_addr_r:$filesize $fdtcontroladdr Kuan-Wei Chiu (4): net: 9p: Add 9P2000 protocol support fs: 9p: Add 9P filesystem support virtio: 9p: Add 9P transport driver MAINTAINERS: Add entry for 9PFS MAINTAINERS | 8 + drivers/virtio/Kconfig | 7 + drivers/virtio/Makefile | 1 + drivers/virtio/virtio-uclass.c | 1 + drivers/virtio/virtio_9p.c | 75 +++++++++ fs/9p/9p.c | 137 +++++++++++++++++ fs/9p/Kconfig | 8 + fs/9p/Makefile | 5 + fs/Kconfig | 2 + fs/Makefile | 1 + fs/fs.c | 35 +++++ include/9p.h | 82 ++++++++++ include/fs.h | 1 + include/virtio.h | 4 +- net/9p/Kconfig | 5 + net/9p/Makefile | 5 + net/9p/client.c | 272 +++++++++++++++++++++++++++++++++ net/Kconfig | 2 + net/Makefile | 1 + 19 files changed, 651 insertions(+), 1 deletion(-) create mode 100644 drivers/virtio/virtio_9p.c create mode 100644 fs/9p/9p.c create mode 100644 fs/9p/Kconfig create mode 100644 fs/9p/Makefile create mode 100644 include/9p.h create mode 100644 net/9p/Kconfig create mode 100644 net/9p/Makefile create mode 100644 net/9p/client.c -- 2.55.0.rc2.803.g1fd1e6609c-goog

