From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
To: xen-devel@lists.xen.org
Cc: wei.liu2@citrix.com, andrew.cooper3@citrix.com,
ian.jackson@eu.citrix.com, jbeulich@suse.com,
Boris Ostrovsky <boris.ostrovsky@oracle.com>,
roger.pau@citrix.com
Subject: [PATCH v4 00/15] PVH VCPU hotplug support
Date: Tue, 29 Nov 2016 10:33:07 -0500 [thread overview]
Message-ID: <1480433602-13290-1-git-send-email-boris.ostrovsky@oracle.com> (raw)
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@lists.xen.org
https://lists.xen.org/xen-devel
next reply other threads:[~2016-11-29 15:33 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-29 15:33 Boris Ostrovsky [this message]
2016-11-29 15:33 ` [PATCH v4 01/15] x86/pmtimer: Move ACPI registers from PMTState to hvm_domain Boris Ostrovsky
2016-12-01 15:52 ` Jan Beulich
2016-12-01 16:28 ` Boris Ostrovsky
2016-12-01 16:29 ` Andrew Cooper
2016-12-01 16:45 ` Boris Ostrovsky
2016-12-12 16:24 ` Wei Liu
2016-11-29 15:33 ` [PATCH v4 02/15] acpi: Make pmtimer optional in FADT Boris Ostrovsky
2016-11-29 15:33 ` [PATCH v4 03/15] acpi: Power and Sleep ACPI buttons are not emulated for PVH guests Boris Ostrovsky
2016-11-29 15:33 ` [PATCH v4 04/15] acpi: PVH guests need _E02 method Boris Ostrovsky
2016-11-29 15:33 ` [PATCH v4 05/15] acpi/x86: Define ACPI IO registers for PVH guests Boris Ostrovsky
2016-12-01 15:57 ` Jan Beulich
2016-12-01 16:30 ` Boris Ostrovsky
2016-11-29 15:33 ` [PATCH v4 06/15] domctl: Add XEN_DOMCTL_acpi_access Boris Ostrovsky
2016-12-01 16:06 ` Jan Beulich
2016-12-01 16:43 ` Boris Ostrovsky
2016-12-02 7:48 ` Jan Beulich
2016-12-12 13:08 ` Boris Ostrovsky
2016-12-12 14:02 ` Jan Beulich
2016-12-12 16:19 ` Boris Ostrovsky
2016-12-12 16:24 ` Jan Beulich
2016-12-12 13:28 ` Julien Grall
2016-12-12 16:11 ` Boris Ostrovsky
2016-12-13 13:02 ` Julien Grall
2016-11-29 15:33 ` [PATCH v4 07/15] pvh/acpi: Install handlers for ACPI-related PVH IO accesses Boris Ostrovsky
2016-12-01 16:32 ` Jan Beulich
2016-12-01 17:03 ` Boris Ostrovsky
2016-11-29 15:33 ` [PATCH v4 08/15] pvh/acpi: Handle ACPI accesses for PVH guests Boris Ostrovsky
2016-12-06 14:34 ` Jan Beulich
2016-12-06 16:37 ` Boris Ostrovsky
2016-12-07 8:06 ` Jan Beulich
2016-11-29 15:33 ` [PATCH v4 09/15] x86/domctl: Handle ACPI access from domctl Boris Ostrovsky
2016-11-29 15:33 ` [PATCH v4 10/15] events/x86: Define SCI virtual interrupt Boris Ostrovsky
2016-12-06 14:36 ` Jan Beulich
2016-11-29 15:33 ` [PATCH v4 11/15] pvh: Send an SCI on VCPU hotplug event Boris Ostrovsky
2016-12-06 14:50 ` Jan Beulich
2016-12-06 16:43 ` Boris Ostrovsky
2016-11-29 15:33 ` [PATCH v4 12/15] tools: Call XEN_DOMCTL_acpi_access on PVH VCPU hotplug Boris Ostrovsky
2016-12-12 16:35 ` Wei Liu
2016-12-12 16:47 ` Boris Ostrovsky
2016-12-12 16:50 ` Boris Ostrovsky
2016-12-12 17:09 ` Wei Liu
2016-12-12 17:14 ` Boris Ostrovsky
2016-12-12 17:13 ` Wei Liu
2016-11-29 15:33 ` [PATCH v4 13/15] pvh: Set online VCPU map to avail_vcpus Boris Ostrovsky
2016-11-29 15:33 ` [PATCH v4 14/15] pvh/acpi: Save ACPI registers for PVH guests Boris Ostrovsky
2016-11-29 15:33 ` [PATCH v4 15/15] docs: Describe PVHv2's VCPU hotplug procedure Boris Ostrovsky
2016-12-06 20:55 ` Konrad Rzeszutek Wilk
2016-11-29 16:11 ` [PATCH v4 00/15] PVH VCPU hotplug support Jan Beulich
2016-11-29 16:40 ` Boris Ostrovsky
2016-11-29 16:43 ` Jan Beulich
2016-11-29 17:00 ` Boris Ostrovsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1480433602-13290-1-git-send-email-boris.ostrovsky@oracle.com \
--to=boris.ostrovsky@oracle.com \
--cc=andrew.cooper3@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=roger.pau@citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).