在 2013-05-30四的 16:14 +0200,Igor Mammedov写道: > On Wed, 29 May 2013 09:47:35 +0800 > liguang <lig.f...@cn.fujitsu.com> wrote: > > > 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 > _Qxx is defined in ACPI tables (i.e. firmware) and OS can just execute > it.
Yes, but we decide what to there ourselves. > > > 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: > > > > cpu-add/del --> EC space & sci setting --> kernel EC driver gpe handler > > I > > V > > listen cpu hotplug event > Does this and following parts mean that guest OS must have platform specific > driver > to handle custom event? Hmm..., I'm not quite sure, in my mind now, it do require a specific driver, but I think we can do all the things in _Qxx method if possible. > Is there OS that can do it and below without a new driver? > > > I > > V > > query EC space for cpu status > > I > > V > > trigger > > cpu online/offline process > > > > > > Li Guang (7) > > 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 > > > > 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 | 22 ++++++++++++++ > > hw/i386/pc.c | 30 ++++++++++++++++++++++++++++-- > > hw/i386/pc_piix.c | 7 + > > hw/i386/pc_q35.c | 6 + > > include/hw/acpi/ec.h | 39 ++++++ > > 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, 390 insertions(+), 8 deletions(-) > > create mode 100644 hw/acpi/ec.c > > create mode 100644 include/hw/acpi/ec.h > > >