This series is adding minimal support to use 9pfs in Mini-OS. It is
adding a PV 9pfs frontend and the ability to open, close, read and
write files.
The series has been tested with qemu as 9pfs backend in a PVH Mini-OS
guest (I've used a slightly modified Xenstore-stubdom for that purpose
in order to reuse the build runes).
This series is meant to setup the stage for adding file based logging
support to Xenstore-stubdom and later to add live update support (being
able to save the LU data stream in a dom0 file makes this a _lot_
easier).
In order to keep Mini-OS's license I have only used the protocol docs
available on the internet [1] and then verified those with the qemu 9pfs
backend implementation (especially for supporting the 9P2000.u variant,
as qemu doesn't support the basic 9P2000 protocol).
The needed fixed values of the protocol have been taken from [2].
[1]: http://ericvh.github.io/9p-rfc/rfc9p2000.html
[2]: https://github.com/0intro/libixp
Changes in V2:
- addressed comments by Samuel Thibault
Juergen Gross (7):
Mini-OS: xenbus: add support for reading node from directory
Mini-OS: add concept of mount points
Mini-OS: add support for runtime mounts
Mini-OS: add 9pfs frontend
Mini-OS: add 9pfs transport layer
Mini-OS: add open and close handling to the 9pfs frontend
Mini-OS: add read and write support to 9pfsfront
9pfront.c | 1291 +++++++++++++++++++++++++++++++++
Config.mk | 1 +
Makefile | 1 +
arch/x86/testbuild/all-no | 1 +
arch/x86/testbuild/all-yes | 1 +
arch/x86/testbuild/newxen-yes | 1 +
include/9pfront.h | 7 +
include/lib.h | 14 +
include/xenbus.h | 6 +
lib/sys.c | 128 +++-
xenbus.c | 40 +-
11 files changed, 1469 insertions(+), 22 deletions(-)
create mode 100644 9pfront.c
create mode 100644 include/9pfront.h
--
2.35.3