[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFC 0/7] pass cpu online/offline event bewteen Q
From: |
li guang |
Subject: |
Re: [Qemu-devel] [PATCH RFC 0/7] pass cpu online/offline event bewteen QEMU and linux kernel by ACPI Embedded Controller |
Date: |
Fri, 31 May 2013 08:13:15 +0800 |
在 2013-05-30四的 16:14 +0200,Igor Mammedov写道:
> On Wed, 29 May 2013 09:47:35 +0800
> liguang <address@hidden> 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
> >
>
- [Qemu-devel] [PATCH RFC 7/7] pc: add EC qdev init for piix & q35, (continued)
- [Qemu-devel] [PATCH RFC 7/7] pc: add EC qdev init for piix & q35, liguang, 2013/05/28
- [Qemu-devel] [PATCH RFC 2/7] ich9: add notifer for ec to generate sci, liguang, 2013/05/28
- [Qemu-devel] [PATCH RFC 5/7] piix4: add events for cpu hotplug, liguang, 2013/05/28
- [Qemu-devel] [PATCH RFC 6/7] qmp: add 'cpu-del' command, liguang, 2013/05/28
- [Qemu-devel] [PATCH RFC 3/7] ec: add operations for _Qxx events, liguang, 2013/05/28
- [Qemu-devel] [PATCH RFC 1/7] acpi: add ACPI Embedded Controller support, liguang, 2013/05/28
- [Qemu-devel] [PATCH RFC 4/7] piix4: add notifer for ec to generate sci, liguang, 2013/05/28
- Re: [Qemu-devel] [PATCH RFC 0/7] pass cpu online/offline event bewteen QEMU and linux kernel by ACPI Embedded Controller, Igor Mammedov, 2013/05/30
- Re: [Qemu-devel] [PATCH RFC 0/7] pass cpu online/offline event bewteen QEMU and linux kernel by ACPI Embedded Controller,
li guang <=