[PATCH v2 00/11] HVMlite domU support

From: Boris Ostrovsky
Date: Mon Feb 01 2016 - 10:45:52 EST


This series introduces HVMlite support for unprivileged guests.

It has been tested on Intel/AMD, both 32- and 64-bit, including CPU on- and
offlining and save/restore. (Restore will result in APIC write warnings
which exist now for 32-bit PV guests as well so I didn't address this in
this series)

Compile-tested on ARM

v2:
* Dropped first patch (don't use initial_page_table/initial_pg_pmd and start_secondary)
* Much simplified kernel init code (after realizing that xen_hvm_guest_init()/
init_hvm_pv_info() already do most of it). As result, factoring ot of xen_start_kernel()
is no longer necessary. (patch 3)
* Dropped pcifront use until we decide that we *are* using it. (patch 5)


Boris Ostrovsky (11):
xen/hvmlite: Import hvmlite-related Xen public interfaces
xen/hvmlite: Bootstrap HVMlite guest
xen/hvmlite: Initialize HVMlite kernel
xen/hvmlite: Allow HVMlite guests delay initializing grant table
xen/hvmlite: HVMlite guests always have PV devices
xen/hvmlite: Prepare cpu_initialize_context() routine for HVMlite SMP
xen/hvmlite: Initialize context for secondary VCPUs
xen/hvmlite: Extend APIC operations for HVMlite guests
xen/hvmlite: Use x86's default timer init for HVMlite guests
xen/hvmlite: Boot secondary CPUs
xen/hvmlite: Enable CPU on-/offlining

arch/x86/xen/Makefile | 1 +
arch/x86/xen/apic.c | 39 +++++-
arch/x86/xen/enlighten.c | 106 +++++++++++++-
arch/x86/xen/grant-table.c | 4 +-
arch/x86/xen/platform-pci-unplug.c | 4 +-
arch/x86/xen/pmu.c | 4 +-
arch/x86/xen/smp.c | 252 ++++++++++++++++++++++++----------
arch/x86/xen/smp.h | 4 +
arch/x86/xen/time.c | 5 +-
arch/x86/xen/xen-hvmlite.S | 190 +++++++++++++++++++++++++
drivers/xen/grant-table.c | 8 +-
include/xen/interface/elfnote.h | 12 ++-
include/xen/interface/hvm/hvm_vcpu.h | 143 +++++++++++++++++++
include/xen/interface/xen.h | 24 ++++
include/xen/xen.h | 6 +
15 files changed, 706 insertions(+), 96 deletions(-)
create mode 100644 arch/x86/xen/xen-hvmlite.S
create mode 100644 include/xen/interface/hvm/hvm_vcpu.h