qemu-devel
[Top][All Lists]
Advanced

[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
> > 
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]