qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: "Gabriel L. Somlo" <somlo@cmu.edu>, qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, drjones@redhat.com,
	matt.fleming@intel.com, ehabkost@redhat.com, mst@redhat.com,
	zhaoshenglong@huawei.com, 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: Wed, 30 Sep 2015 12:28:03 +0200	[thread overview]
Message-ID: <560BB933.4070405@redhat.com> (raw)
In-Reply-To: <560A6A90.3070807@redhat.com>

test results from an aarch64 Linux guest (using KVM and UEFI):

On 09/29/15 12:40, 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;

So I dumped and decompiled the DSDT, and the relevant output is:

>         Device (FWCF)
>         {
>             Name (_HID, "QEMU0002")  // _HID: Hardware ID
>             Name (_STA, 0x0B)  // _STA: Status
>             Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
>             {
>                 Memory32Fixed (ReadWrite,
>                     0x09020000,         // Address Base
>                     0x0000000A,         // Address Length
>                     )
>             })
>         }

This is correct -- the fw_cfg MMIO register block is correctly described by the above. (The actual size will change once Marc's fw_cfg-DMA series is merged, but that will be reflected by this patch automatically.)

Second,

> cat
> /proc/iomem?) I can help with that, if you'd like.
> 
> Reviewed-by: Laszlo Ersek <lersek@redhat.com>

this is the contents of /proc/iomem:

> 00000000-03ffffff : LNRO0015:00
> 04000000-07ffffff : LNRO0015:01
> 09000000-09000fff : ARMH0011:00
>   09000000-09000fff : ARMH0011:00
> 09010000-09010fff : LNRO0013:00
> 09020000-09020009 : QEMU0002:00 <-------- see it here (it's inclusive)
> 0a000000-0a0001ff : LNRO0005:00
> 0a000200-0a0003ff : LNRO0005:01
> 0a000400-0a0005ff : LNRO0005:02
> 0a000600-0a0007ff : LNRO0005:03
> 0a000800-0a0009ff : LNRO0005:04
> 0a000a00-0a000bff : LNRO0005:05
> 0a000c00-0a000dff : LNRO0005:06
> 0a000e00-0a000fff : LNRO0005:07
> 0a001000-0a0011ff : LNRO0005:08
> 0a001200-0a0013ff : LNRO0005:09
> 0a001400-0a0015ff : LNRO0005:0a
> 0a001600-0a0017ff : LNRO0005:0b
> 0a001800-0a0019ff : LNRO0005:0c
> 0a001a00-0a001bff : LNRO0005:0d
> 0a001c00-0a001dff : LNRO0005:0e
> 0a001e00-0a001fff : LNRO0005:0f
> 0a002000-0a0021ff : LNRO0005:10
> 0a002200-0a0023ff : LNRO0005:11
> 0a002400-0a0025ff : LNRO0005:12
> 0a002600-0a0027ff : LNRO0005:13
> 0a002800-0a0029ff : LNRO0005:14
> 0a002a00-0a002bff : LNRO0005:15
> 0a002c00-0a002dff : LNRO0005:16
> 0a002e00-0a002fff : LNRO0005:17
> 0a003000-0a0031ff : LNRO0005:18
> 0a003200-0a0033ff : LNRO0005:19
> 0a003400-0a0035ff : LNRO0005:1a
> 0a003600-0a0037ff : LNRO0005:1b
> 0a003800-0a0039ff : LNRO0005:1c
> 0a003a00-0a003bff : LNRO0005:1d
> 0a003c00-0a003dff : LNRO0005:1e
>   0a003c00-0a003dff : LNRO0005:1e
> 0a003e00-0a003fff : LNRO0005:1f
>   0a003e00-0a003fff : LNRO0005:1f
> 10000000-3efeffff : PCI Bus 0000:00
> 3f000000-3fffffff : PCI MMCONFIG 0000 [bus 00-0f]
> 40000000-13fffffff : System RAM
>   40080000-40c22523 : Kernel code
>   40d20000-414dffff : Kernel data
>   7fe00000-ffdfffff : Crash kernel
>   fff30000-fff8ffff : ACPI RAM
>   fffe0000-ffffffff : ACPI RAM
> 8000000000-8000000000 : PCI Bus 0000:00

Therefore

Tested-by: Laszlo Ersek <lersek@redhat.com>

Thanks
Laszlo

  parent reply	other threads:[~2015-09-30 10:28 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 [this message]
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=560BB933.4070405@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).