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

[MINI-OS PATCH 00/19] Make Xenstore-stubdom live update possible



With this series applied I was able to perform Live Update of Xenstore
running in a PVH stubdom.

The main problem to solve was to keep the 9pfs device used to store and
later retrieve the Xenstore state usable across kexec(). This has been
achieved by using a module containing the shared pages of the device
and the related config data. This module is then passed to the new
kernel via linking it to the struct hvm_start_info.

The rest of the series are some missing bits and pieces to have a sane
state when activating the new kernel, and some minor fixes and
cleanups.

In order to be able to perform a Xenstore live update an associated
patch series for Xen is needed. The Xen series is depending on this
Mini-OS patch series.

Juergen Gross (19):
  setup: add global pointer for struct hvm_start_info
  mini-os: kexec: add O_CLOEXEC support
  mini-os: grants: support populated grant table at boot
  time: unbind VIRQ_TIMER across kexec
  mm: refactor init_page_allocator()
  mm: don't add module pages to free memory
  kexec: fix physical addresses in start info data
  e820: don't count lapic page as initially reserved
  kexec: restructure building the start info data
  e820: use special type for software reserved memory
  mini-os: config: add support for config items with numerical values
  mini-os: kexec: add support for handing over some memory across kexec
  kexec: add support for allocating pages from kexec module memory
  9pfs: store bepath in struct struct dev_9pfs
  9pfs: refactor init_9pfront()
  gnttab: remove gnttab_alloc_and_grant() function
  gnttab: add function to obtain memory address from grantref
  9pfs: add support to keep device opened across kexec
  events: export bind_evtchn()

 9pfront.c             | 267 +++++++++++++++++++++++++++++++-----------
 Config.mk             |   6 +
 arch/x86/kexec.c      | 113 ++++++++++++++++--
 arch/x86/mm.c         |  98 ++++++++++++++++
 arch/x86/setup.c      |  48 +++++++-
 arch/x86/time.c       |  14 +++
 e820.c                |  11 +-
 events.c              |   1 +
 gnttab.c              |  21 ++--
 include/9pfront.h     |   9 ++
 include/e820.h        |   2 +
 include/fcntl.h       |   6 +
 include/gnttab.h      |   2 +-
 include/hypervisor.h  |   3 +
 include/kernel.h      |   1 +
 include/kexec.h       |  98 ++++++++++++++++
 include/lib.h         |   1 +
 include/mm.h          |   4 +
 include/x86/arch_mm.h |   1 +
 kexec.c               | 118 +++++++++++++++++++
 lib/sys.c             |  44 ++++++-
 mm.c                  | 134 +++++++++++++--------
 22 files changed, 858 insertions(+), 144 deletions(-)

-- 
2.43.0




 


Rackspace

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