All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Gabriel L. Somlo" <somlo@cmu.edu>
To: Laszlo Ersek <lersek@redhat.com>
Cc: peter.maydell@linaro.org, drjones@redhat.com,
	matt.fleming@intel.com, ehabkost@redhat.com,
	"Michael S. Tsirkin" <mst@redhat.com>,
	ard.biesheuvel@linaro.org, qemu-devel@nongnu.org,
	leif.lindholm@linaro.org, pbonzini@redhat.com, kraxel@redhat.com,
	zhaoshenglong@huawei.com, imammedo@redhat.com, markmb@redhat.com,
	kevin@koconnor.net, rth@twiddle.net
Subject: Re: [Qemu-devel] [PATCH v4 0/5] add ACPI node for fw_cfg on pc and arm
Date: Tue, 29 Sep 2015 14:40:32 -0400	[thread overview]
Message-ID: <20150929184032.GA23832@HEDWIG.INI.CMU.EDU> (raw)
In-Reply-To: <560A9940.3060207@redhat.com>

On Tue, Sep 29, 2015 at 03:59:28PM +0200, Laszlo Ersek wrote:
> On 09/29/15 12:27, Michael S. Tsirkin wrote:
> > On Sun, Sep 27, 2015 at 05:28:57PM -0400, Gabriel L. Somlo wrote:
> >> 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!
> >>
> >> Thanks much,
> >>   --Gabriel
> > 
> > How does /proc/ioports look before and after this patch?
> 
> ... I vaguely remember that /proc/ioports and /proc/iomem tracks only
> actual allocations by drivers. So the driver is supposed to get the
> resources from ACPI, but until a driver actually allocates the ports (I
> fail to recall the exact Linux APIs ATM -- apologies), the registers
> might not show up in these pseudo-files.

At least on the i386 side of things, /proc/ioport gets a new line
entry for

  0510-0511 : QEMU0002:00

simply due to the presence of the ACPI node, and without having loaded
any driver.

> 
> OTOH Gabriel is working on a guest kernel driver that would look at ACPI
> I think...

As I mentioned elsewhere, I'm hoping to be able to use the presence of
the fw_cfg node in ACPI (and the base + width data contained in its
_CRS) to avoid probing IO ports. I'm not really clear on how that's
done, and so far haven't found a similar example in the Linux kernel
to use for inspiration, but I'm working on that...

BTW, after I load my (rude, ioport probing, non-acpi-using) sysfs
fw_cfg driver, I get an additional entry on i386:

cat /proc/ioports
...
  0510-0511 : QEMU0002:00
    0510-0511 : fw_cfg IOport on i386, sun4u	<<< after modprobe qemu_fw_cfg
...

Thanks,
--Gabriel

> >>> 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      | 23 +++++++++++++++++++++++
> >>  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, 62 insertions(+), 6 deletions(-)
> >>
> >> -- 
> >> 2.4.3
> 

  parent reply	other threads:[~2015-09-29 18:41 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-27 21:28 [Qemu-devel] [PATCH v4 0/5] add ACPI node for fw_cfg on pc and arm Gabriel L. Somlo
2015-09-27 21:28 ` [Qemu-devel] [PATCH v4 1/5] fw_cfg: expose control register size in fw_cfg.h Gabriel L. Somlo
2015-09-29 10:10   ` Laszlo Ersek
2015-09-27 21:28 ` [Qemu-devel] [PATCH v4 2/5] pc: fw_cfg: move ioport base constant to pc.h Gabriel L. Somlo
2015-09-29 10:20   ` Laszlo Ersek
2015-09-27 21:29 ` [Qemu-devel] [PATCH v4 3/5] acpi: pc: add fw_cfg device node to ssdt Gabriel L. Somlo
2015-09-29 10:33   ` Laszlo Ersek
2015-09-29 16:46     ` Gabriel L. Somlo
2015-09-29 16:55       ` Laszlo Ersek
2015-09-29 17:19         ` Gabriel L. Somlo
2015-09-29 17:28           ` Laszlo Ersek
2015-09-30  0:18             ` Gabriel L. Somlo
2015-09-30 13:01               ` Paolo Bonzini
2015-09-30 14:16                 ` Gabriel L. Somlo
2015-09-30 14:27                   ` Paolo Bonzini
2015-10-01  7:02   ` Igor Mammedov
2015-10-01  8:27     ` Laszlo Ersek
2015-10-01 11:33       ` Igor Mammedov
2015-10-01 11:52         ` Laszlo Ersek
2015-10-01 13:00           ` Gabriel L. Somlo
2015-10-01 15:59           ` Eric Blake
2015-10-10  4:00         ` Gabriel L. Somlo
2015-10-13 19:10           ` Eduardo Habkost
2015-10-13 21:18             ` Michael S. Tsirkin
2015-10-13 22:43               ` Eduardo Habkost
2015-10-14  5:06                 ` Michael S. Tsirkin
2015-10-14 16:32                   ` Eduardo Habkost
2015-10-14  8:45             ` Igor Mammedov
2015-10-14 16:47               ` Eduardo Habkost
2015-10-15 13:44                 ` Igor Mammedov
2015-09-27 21:29 ` [Qemu-devel] [PATCH v4 4/5] acpi: arm: add fw_cfg device node to dsdt Gabriel L. Somlo
2015-09-29 10:40   ` Laszlo Ersek
2015-09-29 18:26     ` Gabriel L. Somlo
2015-09-29 18:54       ` Laszlo Ersek
2015-09-30  9:59       ` Ard Biesheuvel
2015-09-30 10:21         ` Laszlo Ersek
2015-09-30 11:13           ` Peter Maydell
2015-09-30 12:22             ` Laszlo Ersek
2015-09-30 15:16               ` Gerd Hoffmann
2015-09-30 15:19               ` Peter Maydell
2015-09-30 19:07               ` Gabriel L. Somlo
2015-10-01 12:22           ` Gabriel L. Somlo
2015-10-01 12:25             ` Ard Biesheuvel
2015-10-01 12:35             ` Laszlo Ersek
2015-10-01 12:39               ` Peter Maydell
2015-10-01 12:50                 ` Laszlo Ersek
2015-09-30 10:28     ` Laszlo Ersek
2015-09-27 21:29 ` [Qemu-devel] [PATCH v4 5/5] fw_cfg: document ACPI device node information Gabriel L. Somlo
2015-09-29 10:43   ` Laszlo Ersek
2015-09-29 10:27 ` [Qemu-devel] [PATCH v4 0/5] add ACPI node for fw_cfg on pc and arm Michael S. Tsirkin
2015-09-29 10:45   ` Laszlo Ersek
2015-09-29 13:59   ` Laszlo Ersek
2015-09-29 14:15     ` Michael S. Tsirkin
2015-09-29 19:04       ` Gabriel L. Somlo
2015-09-29 19:21         ` Laszlo Ersek
2015-09-29 18:40     ` Gabriel L. Somlo [this message]
2015-09-29 17:30   ` Gabriel L. Somlo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150929184032.GA23832@HEDWIG.INI.CMU.EDU \
    --to=somlo@cmu.edu \
    --cc=ard.biesheuvel@linaro.org \
    --cc=drjones@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=kevin@koconnor.net \
    --cc=kraxel@redhat.com \
    --cc=leif.lindholm@linaro.org \
    --cc=lersek@redhat.com \
    --cc=markmb@redhat.com \
    --cc=matt.fleming@intel.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    --cc=zhaoshenglong@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.