All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: "Gabriel L. Somlo" <somlo@cmu.edu>
Cc: peter.maydell@linaro.org, drjones@redhat.com,
	matt.fleming@intel.com, ehabkost@redhat.com, mst@redhat.com,
	zhaoshenglong@huawei.com, qemu-devel@nongnu.org,
	leif.lindholm@linaro.org, ard.biesheuvel@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 4/5] acpi: arm: add fw_cfg device node to dsdt
Date: Tue, 29 Sep 2015 20:54:26 +0200	[thread overview]
Message-ID: <560ADE62.5070507@redhat.com> (raw)
In-Reply-To: <20150929182613.GY2080@HEDWIG.INI.CMU.EDU>

On 09/29/15 20:26, Gabriel L. Somlo wrote:
> On Tue, Sep 29, 2015 at 12:40:16PM +0200, Laszlo Ersek wrote:
>> On 09/27/15 23:29, Gabriel L. Somlo wrote:
>>> Add a fw_cfg device node to the ACPI DSDT. This is mostly
>>> informational, as the authoritative fw_cfg MMIO region(s)
>>> are listed in the Device Tree. However, since we are building
>>> ACPI tables, we might as well be thorough while at it...
>>>
>>> Signed-off-by: Gabriel Somlo <somlo@cmu.edu>
>>> ---
>>>  hw/arm/virt-acpi-build.c | 15 +++++++++++++++
>>>  1 file changed, 15 insertions(+)
>>>
>>> diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
>>> index 1aaff1f..f314132 100644
>>> --- a/hw/arm/virt-acpi-build.c
>>> +++ b/hw/arm/virt-acpi-build.c
>>> @@ -110,6 +110,20 @@ static void acpi_dsdt_add_rtc(Aml *scope, const MemMapEntry *rtc_memmap,
>>>      aml_append(scope, dev);
>>>  }
>>>  
>>> +static void acpi_dsdt_add_fw_cfg(Aml *scope, const MemMapEntry *fw_cfg_memmap)
>>> +{
>>> +    Aml *dev = aml_device("FWCF");
>>> +    aml_append(dev, aml_name_decl("_HID", aml_string("QEMU0002")));
>>> +    /* device present, functioning, decoding, not shown in UI */
>>> +    aml_append(dev, aml_name_decl("_STA", aml_int(0xB)));
>>> +
>>> +    Aml *crs = aml_resource_template();
>>> +    aml_append(crs, aml_memory32_fixed(fw_cfg_memmap->base,
>>> +                                       fw_cfg_memmap->size, AML_READ_WRITE));
>>> +    aml_append(dev, aml_name_decl("_CRS", crs));
>>> +    aml_append(scope, dev);
>>> +}
>>> +
>>>  static void acpi_dsdt_add_flash(Aml *scope, const MemMapEntry *flash_memmap)
>>>  {
>>>      Aml *dev, *crs;
>>> @@ -529,6 +543,7 @@ build_dsdt(GArray *table_data, GArray *linker, VirtGuestInfo *guest_info)
>>>                         (irqmap[VIRT_UART] + ARM_SPI_BASE));
>>>      acpi_dsdt_add_rtc(scope, &memmap[VIRT_RTC],
>>>                        (irqmap[VIRT_RTC] + ARM_SPI_BASE));
>>> +    acpi_dsdt_add_fw_cfg(scope, &memmap[VIRT_FW_CFG]);
>>>      acpi_dsdt_add_flash(scope, &memmap[VIRT_FLASH]);
>>>      acpi_dsdt_add_virtio(scope, &memmap[VIRT_MMIO],
>>>                      (irqmap[VIRT_MMIO] + ARM_SPI_BASE), NUM_VIRTIO_TRANSPORTS);
>>>
>>
>> Looks sane to me.
>>
>> Did you test this with an aarch64 Linux guest (acpidump -b; iasl -d; cat
>> /proc/iomem?) I can help with that, if you'd like.
> 
> I have a F22 arm setup generated by virt-builder, which I start using:
> 
> bin/qemu-system-arm -M virt,accel=tcg -cpu cortex-a15 \
>   -kernel ./ArmVirtBuilder/vmlinuz-4.0.4-301.fc22.armv7hl+lpae \
>   -initrd ./ArmVirtBuilder/initramfs-4.0.4-301.fc22.armv7hl+lpae.img \
>   -append "console=ttyAMA0 root=/dev/vda3 ro" \
>   -device virtio-blk-device,drive=hd0 \
>   -drive id=hd0,if=none,snapshot=on,file=./ArmVirtBuilder/fedora-22.img \
>   -device virtio-net-device,netdev=usernet \
>   -netdev user,id=usernet \
>   -monitor stdio
> 
> I used it to successfully test my (rude, mmio-poking) kernel sysfs
> driver, but somehow it doesn't seem to pay any attention to ACPI.
> 
> /proc/iomem looks the same before and after my patch, so no entry for
> fw_cfg once I add it to the ssdt host-side.
> 
> 'acpidump -b' says "Could not get ACPI tables, AE_NOT_FOUND". There's
> no /proc/acpi or /sys/firmware/acpi...
> 
> Although ACPI tables do get placed in fw_cfg (after loading my linux
> kernel driver I can see the "/etc/acpi/tables" blob). And if I 'iasl -d'
> that, I can see the FWCF node in the ssdt :)
> 
> In the short run, if you can test on your end that'd be great. Also,
> if you have any idea why I'm not seeing ACPI at all (missing kernel
> module, or wrong firmware, or ???) please let me know...

You are not seeing ACPI tables in the guest because you aren't using a
guest firmware that downloads and installs them (-> ArmVirtQemu, aka.
AAVMF, built from edk2). I'll test your series for that scenario and
report back later.

Thanks
Laszlo



> Thanks,
> --Gabriel
> 
>>
>> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
>>
>> Thanks
>> Laszlo

  reply	other threads:[~2015-09-29 18:54 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 [this message]
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
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=560ADE62.5070507@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.