Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1320262 > unrolled thread

[PATCH v6 0/5] add ACPI node for fw_cfg on pc and arm

Started by"Gabriel L. Somlo" <somlo@cmu.edu>
First post2016-01-28 04:20 +0100
Last post2016-01-28 04:20 +0100
Articles 2 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH v6 0/5] add ACPI node for fw_cfg on pc and arm "Gabriel L. Somlo" <somlo@cmu.edu> - 2016-01-28 04:20 +0100
    [PATCH v6 5/5] fw_cfg: document ACPI device node information "Gabriel L. Somlo" <somlo@cmu.edu> - 2016-01-28 04:20 +0100

#1320262 — [PATCH v6 0/5] add ACPI node for fw_cfg on pc and arm

From"Gabriel L. Somlo" <somlo@cmu.edu>
Date2016-01-28 04:20 +0100
Subject[PATCH v6 0/5] add ACPI node for fw_cfg on pc and arm
Message-ID<qVLhL-5vZ-3@gated-at.bofh.it>
New since v5:

	- rebased on top of latest QEMU git master

Thanks,
  --Gabriel

>New since v4:
>
>	- rebased on top of Marc's DMA series
>	- drop machine compat dependency for insertion into x86/ssdt
>	  (patch 3/5), following agreement between Igor and Eduardo
>	- [mm]io register range now covers DMA register as well, if
>	  available.
>	- s/bios/firmware in doc file updates
>
>>New since v3:
>>
>>	- rebased to work on top of 87e896ab (introducing pc-*-25 classes),
>>	  inserting fw_cfg acpi node only for machines >= 2.5.
>>
>>	- reintroduce _STA with value 0x0B (bit 2 for u/i visibility turned
>>	  off to avoid Windows complaining -- thanks Igor for catching that!)
>>
>>If there's any other feedback besides questions regarding the
>>appropriateness of "QEMU0002" as the value of _HID, please don't hesitate!
>>
>>>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...
>>>
>>>>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  | 15 +++++++++++++++
 hw/i386/acpi-build.c      | 29 +++++++++++++++++++++++++++++
 hw/i386/pc.c              |  5 ++---
 hw/nvram/fw_cfg.c         |  4 +++-
 include/hw/i386/pc.h      |  2 ++
 include/hw/nvram/fw_cfg.h |  3 +++
 7 files changed, 63 insertions(+), 4 deletions(-)

-- 
2.4.3

[toc] | [next] | [standalone]


#1320265 — [PATCH v6 5/5] fw_cfg: document ACPI device node information

From"Gabriel L. Somlo" <somlo@cmu.edu>
Date2016-01-28 04:20 +0100
Subject[PATCH v6 5/5] fw_cfg: document ACPI device node information
Message-ID<qVLhM-5vZ-33@gated-at.bofh.it>
In reply to#1320262
Signed-off-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Marc MarĂ­ <markmb@redhat.com>
---
 docs/specs/fw_cfg.txt | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/docs/specs/fw_cfg.txt b/docs/specs/fw_cfg.txt
index 2099ad9..5414140 100644
--- a/docs/specs/fw_cfg.txt
+++ b/docs/specs/fw_cfg.txt
@@ -84,6 +84,15 @@ Selector Register address: Base + 8 (2 bytes)
 Data Register address:     Base + 0 (8 bytes)
 DMA Address address:       Base + 16 (8 bytes)
 
+== ACPI Interface ==
+
+The fw_cfg device is defined with ACPI ID "QEMU0002". Since we expect
+ACPI tables to be passed into the guest through the fw_cfg device itself,
+the guest-side firmware can not use ACPI to find fw_cfg. However, once the
+firmware is finished setting up ACPI tables and hands control over to the
+guest kernel, the latter can use the fw_cfg ACPI node for a more accurate
+inventory of in-use IOport or MMIO regions.
+
 == Firmware Configuration Items ==
 
 === Signature (Key 0x0000, FW_CFG_SIGNATURE) ===
-- 
2.4.3

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web