mbox series

[v1,0/6] Add hypervisor sysfs-like support

Message ID 20190927090048.28872-1-jgross@suse.com (mailing list archive)
Headers show
Series Add hypervisor sysfs-like support | expand

Message

Jürgen Groß Sept. 27, 2019, 9 a.m. UTC
On the 2019 Xen developer summit there was agreement that the Xen
hypervisor should gain support for a hierarchical name-value store
similar to the Linux kernel's sysfs.

This is a first implementation of that idea adding the basic
functionality to hypervisor and tools side. The interface to any
user program making use of that "xen-hypfs" is a new library
"libxenhypfs" with a stable interface.

Changes in V1:
- renamed xenfs ->xenhypfs
- added writable entries support at the interface level and in the
  xenhypfs tool
- added runtime parameter read access (integer type only for now)
- added docs/misc/hypfs-paths.pandoc for path descriptions

Juergen Gross (6):
  docs: add feature document for Xen hypervisor sysfs-like support
  xen: add basic hypervisor filesystem support
  libs: add libxenhypfs
  tools: add xenfs tool
  xen: add /buildinfo/config entry to hypervisor filesystem
  xen: add runtime parameter reading support to hypfs

 .gitignore                          |   3 +
 docs/features/hypervisorfs.pandoc   | 119 +++++++++++++
 docs/misc/hypfs-paths.pandoc        |  70 ++++++++
 tools/Rules.mk                      |   6 +
 tools/libs/Makefile                 |   1 +
 tools/libs/hypfs/Makefile           |  14 ++
 tools/libs/hypfs/core.c             | 252 +++++++++++++++++++++++++++
 tools/libs/hypfs/include/xenhypfs.h |  60 +++++++
 tools/libs/hypfs/libxenhypfs.map    |   9 +
 tools/libs/hypfs/xenhypfs.pc.in     |  10 ++
 tools/misc/Makefile                 |   6 +
 tools/misc/xenhypfs.c               | 120 +++++++++++++
 xen/arch/arm/traps.c                |   1 +
 xen/arch/x86/hvm/hypercall.c        |   1 +
 xen/arch/x86/hypercall.c            |   1 +
 xen/arch/x86/pv/hypercall.c         |   1 +
 xen/common/Makefile                 |  10 ++
 xen/common/hypfs.c                  | 331 ++++++++++++++++++++++++++++++++++++
 xen/common/kernel.c                 |  27 +++
 xen/include/public/errno.h          |   1 +
 xen/include/public/hypfs.h          | 123 ++++++++++++++
 xen/include/public/xen.h            |   1 +
 xen/include/xen/hypercall.h         |   8 +
 xen/include/xen/hypfs.h             |  40 +++++
 xen/include/xen/kernel.h            |   2 +
 xen/tools/Makefile                  |   9 +-
 xen/tools/bin2c.c                   |  28 +++
 27 files changed, 1252 insertions(+), 2 deletions(-)
 create mode 100644 docs/features/hypervisorfs.pandoc
 create mode 100644 docs/misc/hypfs-paths.pandoc
 create mode 100644 tools/libs/hypfs/Makefile
 create mode 100644 tools/libs/hypfs/core.c
 create mode 100644 tools/libs/hypfs/include/xenhypfs.h
 create mode 100644 tools/libs/hypfs/libxenhypfs.map
 create mode 100644 tools/libs/hypfs/xenhypfs.pc.in
 create mode 100644 tools/misc/xenhypfs.c
 create mode 100644 xen/common/hypfs.c
 create mode 100644 xen/include/public/hypfs.h
 create mode 100644 xen/include/xen/hypfs.h
 create mode 100644 xen/tools/bin2c.c