[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 0/5] add ACPI node for fw_cfg on pc and arm
From: |
Gabriel L. Somlo |
Subject: |
Re: [Qemu-devel] [PATCH v3 0/5] add ACPI node for fw_cfg on pc and arm |
Date: |
Thu, 17 Sep 2015 17:01:28 -0400 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Thu, Sep 17, 2015 at 11:30:59PM +0300, Michael S. Tsirkin wrote:
> On Thu, Sep 17, 2015 at 10:56:29AM -0400, Gabriel L. Somlo wrote:
> > New since v2:
> >
> > - pc/i386 node in ssdt only on machine types *newer* than 2.4
> > (as suggested by Eduardo)
> >
> > I appreciate any further comments and reviews. Hopefully we can make
> > this palatable for upstream, modulo the lingering concerns about whether
> > "QEMU0002" is ok to use as the value of _HID, which I'll hopefully get
> > sorted out with the kernel crew...
>
> What I'm still missing is the motivation for the change.
>
> Went through old threads, still can't find it.
I've been working on a sysfs driver to allow viewing fw_cfg file
metadata (size, name, etc) and content (e.g. 'raw') in something
like /sys/firmware/qemu-fw-cfg/by_key/... (similar to how e.g.
smbios tables can be accessed via /sys/firmware/dmi/entries/...).
Motivation is that since we can insert user-defined blobs via the qemu
command line, wouldn't it be nice to be able to easily retrieve them
from the guest, and what's easier than "cp /sys/firmware/.../raw ..." ?
One of the main requirements I got there was to avoid probing fw_cfg
registers during initialization of the sysfs driver, and instead use
device tree on arm (and acpi on i386) to first figure out whether
fw_cfg is even expected to be there.
There's a DT entry for fw_cfg on arm, but no acpi entry for fw_cfg on
x86, so I decided why not add one ? It's a device, it occupies a mmio
or port-io region, why not tell the guest about it via ACPI ?
That's about it, in a nutshell. Thanks for any further thoughts!
--Gabriel
>
> > >New since v1:
> > >
> > > - expose control register size (suggested by Marc MarĂ)
> > >
> > > - leaving out _UID and _STA fields (thanks Shannon & Igor)
> > >
> > > - using "QEMU0002" as the value of _HID (thanks Michael)
> > >
> > > - added documentation blurb to docs/specs/fw_cfg.txt
> > > (mainly to record usage of the "QEMU0002" string with fw_cfg).
> > >
> > >> This series adds a fw_cfg device node to the SSDT (on pc), or to the
> > >> DSDT (on arm).
> > >>
> > >> - Patch 1/3 moves (and renames) the BIOS_CFG_IOPORT (0x510)
> > >> define from pc.c to pc.h, so that it could be used from
> > >> acpi-build.c in patch 2/3.
> > >>
> > >> - Patch 2/3 adds a fw_cfg node to the pc SSDT.
> > >>
> > >> - Patch 3/3 adds a fw_cfg node to the arm DSDT.
> > >>
> > >> I made up some names - "FWCF" for the node name, and "FWCF0001"
> > >> for _HID; no idea whether that's appropriate, or how else I should
> > >> figure out what to use instead...
> > >>
> > >> Also, using scope "\\_SB", based on where fw_cfg shows up in the
> > >> output of "info qtree". Again, if that's wrong, please point me in
> > >> the right direction.
> > >>
> > >> Re. 3/3 (also mentioned after the commit blurb in the patch itself),
> > >> I noticed none of the other DSDT entries contain a _STA field, wondering
> > >> why it would (not) make sense to include that, same as on the PC.
> >
> > Gabriel L. Somlo (5):
> > fw_cfg: expose control register size in fw_cfg.h
> > pc: fw_cfg: move ioport base constant to pc.h
> > acpi: pc: add fw_cfg device node to ssdt
> > acpi: arm: add fw_cfg device node to dsdt
> > fw_cfg: document ACPI device node information
> >
> > docs/specs/fw_cfg.txt | 9 +++++++++
> > hw/arm/virt-acpi-build.c | 13 +++++++++++++
> > hw/i386/acpi-build.c | 21 +++++++++++++++++++++
> > hw/i386/pc.c | 5 ++---
> > hw/i386/pc_piix.c | 1 +
> > hw/i386/pc_q35.c | 1 +
> > hw/nvram/fw_cfg.c | 8 +++++---
> > include/hw/i386/pc.h | 3 +++
> > include/hw/nvram/fw_cfg.h | 3 +++
> > 9 files changed, 58 insertions(+), 6 deletions(-)
> >
> > --
> > 2.4.3
- [Qemu-devel] [PATCH v3 0/5] add ACPI node for fw_cfg on pc and arm, Gabriel L. Somlo, 2015/09/17
- [Qemu-devel] [PATCH v3 4/5] acpi: arm: add fw_cfg device node to dsdt, Gabriel L. Somlo, 2015/09/17
- [Qemu-devel] [PATCH v3 5/5] fw_cfg: document ACPI device node information, Gabriel L. Somlo, 2015/09/17
- [Qemu-devel] [PATCH v3 2/5] pc: fw_cfg: move ioport base constant to pc.h, Gabriel L. Somlo, 2015/09/17
- [Qemu-devel] [PATCH v3 3/5] acpi: pc: add fw_cfg device node to ssdt, Gabriel L. Somlo, 2015/09/17
- [Qemu-devel] [PATCH v3 1/5] fw_cfg: expose control register size in fw_cfg.h, Gabriel L. Somlo, 2015/09/17
- Re: [Qemu-devel] [PATCH v3 0/5] add ACPI node for fw_cfg on pc and arm, Michael S. Tsirkin, 2015/09/17
- Re: [Qemu-devel] [PATCH v3 0/5] add ACPI node for fw_cfg on pc and arm,
Gabriel L. Somlo <=
- Re: [Qemu-devel] [PATCH v3 0/5] add ACPI node for fw_cfg on pc and arm, Igor Mammedov, 2015/09/23