[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v4 00/15] PVH VCPU hotplug support
This series adds support for ACPI-based VCPU hotplug for unprivileged PVH guests. Changes in v4: * Replaced XEN_DOMCTL_set_avail_vcpus with XEN_DOMCTL_acpi_access, toolstack is expected to issue two ACPI "writes" to trigger the hotplug * Moved pm1a registers from PMTState to hvm_domain. gpe0 registers are added there. * Both pm1a and gpe0 registers are now represented as uint16_t for status and enable (and as result no new public macros for those registers' length are needed). Ths is partly to avoid changes in HVM code (i.e. pmtimer) and partly to simplify code. I don't expect larger registers will be needed any time soon. * ACPI handling now lives in xen/arch/x86/hvm/acpi.c * Moved definition of XEN_ACPI_CPU_MAP/XEN_GPE0_CPUHP_BIT from ioreq.h to public/arch-x86/xen.h. This is the best I could come up with but ioreq is the wrong place, now that everything happens in acpi.c * Reordered some patches Boris Ostrovsky (15): x86/pmtimer: Move ACPI registers from PMTState to hvm_domain acpi: Make pmtimer optional in FADT acpi: Power and Sleep ACPI buttons are not emulated for PVH guests acpi: PVH guests need _E02 method acpi/x86: Define ACPI IO registers for PVH guests domctl: Add XEN_DOMCTL_acpi_access pvh/acpi: Install handlers for ACPI-related PVH IO accesses pvh/acpi: Handle ACPI accesses for PVH guests x86/domctl: Handle ACPI access from domctl events/x86: Define SCI virtual interrupt pvh: Send an SCI on VCPU hotplug event tools: Call XEN_DOMCTL_acpi_access on PVH VCPU hotplug pvh: Set online VCPU map to avail_vcpus pvh/acpi: Save ACPI registers for PVH guests docs: Describe PVHv2's VCPU hotplug procedure docs/misc/hvmlite.markdown | 13 ++ tools/firmware/hvmloader/util.c | 4 +- tools/libacpi/build.c | 7 + tools/libacpi/libacpi.h | 2 + tools/libacpi/mk_dsdt.c | 17 ++- tools/libacpi/static_tables.c | 4 + tools/libxc/include/xenctrl.h | 20 +++ tools/libxc/xc_domain.c | 36 ++++++ tools/libxl/libxl.c | 8 +- tools/libxl/libxl_arch.h | 4 + tools/libxl/libxl_arm.c | 6 + tools/libxl/libxl_x86.c | 21 +++ tools/libxl/libxl_x86_acpi.c | 6 +- tools/misc/xen-hvmctx.c | 4 +- xen/arch/x86/domctl.c | 9 ++ xen/arch/x86/hvm/Makefile | 1 + xen/arch/x86/hvm/acpi.c | 225 +++++++++++++++++++++++++++++++++ xen/arch/x86/hvm/hvm.c | 2 + xen/arch/x86/hvm/pmtimer.c | 75 +++++++---- xen/common/domctl.c | 5 + xen/common/event_channel.c | 7 +- xen/include/asm-x86/domain.h | 2 + xen/include/asm-x86/hvm/domain.h | 6 + xen/include/asm-x86/hvm/vpt.h | 1 - xen/include/public/arch-x86/hvm/save.h | 8 +- xen/include/public/arch-x86/xen.h | 14 +- xen/include/public/domctl.h | 25 ++++ xen/include/xen/domain.h | 1 + xen/include/xen/event.h | 8 ++ xen/include/xen/sched.h | 3 + 30 files changed, 498 insertions(+), 46 deletions(-) create mode 100644 xen/arch/x86/hvm/acpi.c -- 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |