[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [RFC PATCH 0/5] Add hypervisor sysfs-like support



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-sysfs" is a new library
"libxenfs" with a stable interface.

There are still some pending questions, those are:

- access rights:
  + should we allow access to dom0 only, or to all domains, or should
    that be possible to set per entry?
  + how to integrate with xsm?
- dynamical entries:
  + do we want support for e.g. per-domain and/or per-cpupool entries?
  + do we want support for debug aids (lock-profiling, debugtrace ..)?
- write access:
  + runtime parameters?
  + debugging aids?

I have added a simple example in the last patch of the series by
supporting access to the .config file used for building the hypervisor.

Juergen Gross (5):
  docs: add feature document for Xen hypervisor sysfs-like support
  xen: add basic hypervisor filesystem support
  libs: add libxenfs
  tools: add xenfs tool
  xen: add /buildinfo/config entry to hypervisor filesystem

 .gitignore                        |   2 +
 docs/features/hypervisorfs.pandoc | 110 +++++++++++++++
 tools/Rules.mk                    |   6 +
 tools/libs/Makefile               |   1 +
 tools/libs/fs/Makefile            |  14 ++
 tools/libs/fs/core.c              | 198 ++++++++++++++++++++++++++
 tools/libs/fs/include/xenfs.h     |  57 ++++++++
 tools/libs/fs/libxenfs.map        |   8 ++
 tools/libs/fs/xenfs.pc.in         |  10 ++
 tools/misc/Makefile               |   6 +
 tools/misc/xenfs.c                | 102 ++++++++++++++
 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               |   7 +
 xen/common/filesystem.c           | 287 ++++++++++++++++++++++++++++++++++++++
 xen/include/public/errno.h        |   1 +
 xen/include/public/filesystem.h   |  98 +++++++++++++
 xen/include/public/xen.h          |   1 +
 xen/include/xen/filesystem.h      |  34 +++++
 xen/include/xen/hypercall.h       |   8 ++
 xen/include/xen/kernel.h          |   2 +
 xen/tools/Makefile                |   9 +-
 xen/tools/bin2c.c                 |  28 ++++
 25 files changed, 991 insertions(+), 2 deletions(-)
 create mode 100644 docs/features/hypervisorfs.pandoc
 create mode 100644 tools/libs/fs/Makefile
 create mode 100644 tools/libs/fs/core.c
 create mode 100644 tools/libs/fs/include/xenfs.h
 create mode 100644 tools/libs/fs/libxenfs.map
 create mode 100644 tools/libs/fs/xenfs.pc.in
 create mode 100644 tools/misc/xenfs.c
 create mode 100644 xen/common/filesystem.c
 create mode 100644 xen/include/public/filesystem.h
 create mode 100644 xen/include/xen/filesystem.h
 create mode 100644 xen/tools/bin2c.c

-- 
2.16.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.