From: Laszlo Ersek <lersek@redhat.com>
To: "Gabriel L. Somlo" <somlo@cmu.edu>,
"Michael S. Tsirkin" <mst@redhat.com>
Cc: peter.maydell@linaro.org, drjones@redhat.com,
matt.fleming@intel.com, ehabkost@redhat.com,
ard.biesheuvel@linaro.org, zhaoshenglong@huawei.com,
qemu-devel@nongnu.org, leif.lindholm@linaro.org,
kevin@koconnor.net, kraxel@redhat.com, pbonzini@redhat.com,
imammedo@redhat.com, markmb@redhat.com, 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 21:21:25 +0200 [thread overview]
Message-ID: <560AE4B5.8020504@redhat.com> (raw)
In-Reply-To: <20150929190413.GB23832@HEDWIG.INI.CMU.EDU>
On 09/29/15 21:04, Gabriel L. Somlo wrote:
> On Tue, Sep 29, 2015 at 05:15:25PM +0300, Michael S. Tsirkin wrote:
>> 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.
>>>
>>> OTOH Gabriel is working on a guest kernel driver that would look at ACPI
>>> I think...
>>>
>>> Laszlo
>>
>> What does the driver do? I hope it doesn't poke at _CRS ...
>
> I mentioned this elsewhere in the thread, but since I didn't
> address your _CRS remark explicitly:
>
> The driver I'm working on (guest-)kernel-side serves to
> access fw_cfg blob metadata and raw content in sysfs (look
> at /sys/firmware/dmi/entries/... for something similar).
>
> The driver is written, tested, and works great, but right now
> it has a list of port-io and mmio (base + size) pairs which
> I'm probing in decreasing order of probability:
>
> 1. io-port on i386 (and sun4u)
> 2. mmio on arm
> 3. mmio on ppc/mac
> 4. mmio on sun4m
>
> from its module_init function.
>
> The arm guys basically said "No, you can't do that, use DT to first
> *know* for sure you have fw_cfg before touching its mmio registers".
>
> I've sort of assumed that's valid on i386 as well, and that I should
> query ACPI for a fw_cfg node (and yes, use whatever is in _CRS to
> set the value of the io-port (or mmio) base, and width).
>
> That means dropping support for ppc/mac and sun4m since there's no DT
> or ACPI there. I'm also not quite sure how I'd query ACPI during a
> module_init function, so if you know of any examples I could use for
> inspiratin, I'd be really thankful for a pointer :)
>
> Anyhow, that's the story, any further comments and clues much
> appreciated!
I'd recommend looking at acpi_dev_get_resources(),
acpi_dev_resource_io(), etc in "drivers/acpi/resource.c", but I think
that's exactly what Michael said he hoped your kernel code wouldn't
do... I'm a bit confused about that, admittedly.
Also, if you go the ACPI way, your kernel driver will have to probe /
bind the device based on _HID -- see eg.
"drivers/platform/x86/pvpanic.c" (which is the guest driver for the
pvpanic device, QEMU0001).
Thanks
Laszlo
next prev parent reply other threads:[~2015-09-29 19:42 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 [this message]
2015-09-29 18:40 ` Gabriel L. Somlo
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=560AE4B5.8020504@redhat.com \
--to=lersek@redhat.com \
--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=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=somlo@cmu.edu \
--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.