qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH RFC v2 0/7] coordinate cpu hotplug/unplug bewteen QEMU and kernel by EC
@ 2013-06-06  3:16 liguang
  2013-06-06  3:16 ` [Qemu-devel] [PATCH RFC v2 1/8] acpi: add ACPI Embedded Controller support liguang
                   ` (8 more replies)
  0 siblings, 9 replies; 16+ messages in thread
From: liguang @ 2013-06-06  3:16 UTC (permalink / raw)
  To: Igor Mammedov
  Cc: Kevin Wolf, Alexander Graf, Anthony Liguori, Stefan Berger,
	Michael S. Tsirkin, qemu-devel, Christian Borntraeger,
	Markus Armbruster, Joel Schopp, Gerd Hoffmann, Paolo Bonzini,
	Luiz Capitulino, Laszlo Ersek, Andreas Färber, liguang,
	Isaku Yamahata

v2: 
1.remove PIIX4_PROC_BASE operations for cpu hotplug
2.fix wrong description fo cpu-del

patch 1 adds ACPI Embedded Controller (EC),
refer-to:
ACPI SPEC v5 chapter 12
"ACPI Embedded Controller Interface Specification"

EC is a standard ACPI device, it plays flexible roles,
especially be event carrier, it can pass events between platform
and OS, so OS can execute _Qxx method which defined
by yourself and query EC's ACPI space which can be a buffer for
many purposes

here, I want to deliver CPU online/offline event between
OS and QEMU for CPU hotplug feature, then we will don't
need to "echo 1 > /sys/devices/system/cpu/cpu1/online"
again after 'cpu-add' and also for offline to do real cpu
removal.
what I am trying to do is emulated physical addition/removal
(like described by linux kernel document for cpu hotplug --
linux-2.6/Documentation/cpu-hotplug.txt) for QEMU.

these RFC patches are sent for demo what I am trying to do.

the design process simply like following:

hotplug
qemu::ec::sci -> kernel::ec::gpe::notifier->
kernel::cpu_physic_hotplug::handler->kernel::cpu_up

unplug
kernel::cpu_down::kernel::cpu_physic_hotplug::handler->
kernel::ec::ec_write->qemu::ec::->qemu::cpu-unplug

sorry, I should poll cpu-unplug cmd sent from kernel,
but, it's a little trivial, I want do it later.

for kernel patches:
http://comments.gmane.org/gmane.linux.kernel/1503460


Li Guang (8)
	 acpi: add ACPI Embedded Controller support
	 ich9: add notifer for ec to generate sci
	 ec: add operations for _Qxx events
	 piix4: add notifer for ec to generate sci
	 piix4: add events for cpu hotplug
	 qmp: add 'cpu-del' command
	 pc: add EC qdev init for piix & q35
	 cpu-hotplug: remove memory regison for cpu hotplug

default-configs/x86_64-softmmu.mak |   1 +
hw/acpi/Makefile.objs              |   1 +
hw/acpi/ec.c                       | 225 ++++++++++++++++++++++++++++++++++++
hw/acpi/ich9.c                     |  15 +++++++++++++++
hw/acpi/piix4.c                    |  68 ++++++++++++++
hw/i386/pc.c                       |  46 ++++++++++++++++++++++++++++--
hw/i386/pc_piix.c                  |   7 +
hw/i386/pc_q35.c                   |   6 +
include/hw/acpi/ec.h               |  44 ++++++
include/hw/acpi/ich9.h             |   1 +
include/hw/boards.h                |   5 +++--
include/hw/i386/pc.h               |   1 +
qapi-schema.json                   |  13 +++++++++++++
qmp-commands.hx                    |  23 +++++++++++++++++++++++
qmp.c                              |   9 +++++++++
15 files changed, 411 insertions(+), 54 deletions(-)
 create mode 100644 hw/acpi/ec.c
 create mode 100644 include/hw/acpi/ec.h

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2013-06-19  0:42 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-06  3:16 [Qemu-devel] [PATCH RFC v2 0/7] coordinate cpu hotplug/unplug bewteen QEMU and kernel by EC liguang
2013-06-06  3:16 ` [Qemu-devel] [PATCH RFC v2 1/8] acpi: add ACPI Embedded Controller support liguang
2013-06-06  3:16 ` [Qemu-devel] [PATCH RFC v2 2/8] ich9: add notifer for ec to generate sci liguang
2013-06-06  3:16 ` [Qemu-devel] [PATCH RFC v2 3/8] ec: add operations for _Qxx events liguang
2013-06-06  3:16 ` [Qemu-devel] [PATCH RFC v2 4/8] piix4: add notifer for ec to generate sci liguang
2013-06-06  3:16 ` [Qemu-devel] [PATCH RFC v2 5/8] piix4: add events for cpu hotplug liguang
2013-06-06  3:16 ` [Qemu-devel] [PATCH RFC v2 6/8] qmp: add 'cpu-del' command liguang
2013-06-06  3:17 ` [Qemu-devel] [PATCH RFC v2 7/8] pc: add EC qdev init for piix & q35 liguang
2013-06-06  3:17 ` [Qemu-devel] [PATCH RFC v2 8/8] cpu-hotplug: remove memory regison for cpu hotplug liguang
2013-06-06  8:13 ` [Qemu-devel] [PATCH RFC v2 0/7] coordinate cpu hotplug/unplug bewteen QEMU and kernel by EC Michael S. Tsirkin
2013-06-06  8:33   ` li guang
2013-06-18  2:47     ` li guang
2013-06-18  9:14       ` Igor Mammedov
2013-06-19  0:39         ` li guang
2013-06-06  8:48   ` Igor Mammedov
2013-06-06  8:58     ` li guang

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).