From: Igor Mammedov <imammedo@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
vit9696 <vit9696@protonmail.com>,
qemu-devel@nongnu.org, Eduardo Habkost <ehabkost@redhat.com>,
Shannon Zhao <shannon.zhaosl@gmail.com>,
qemu-arm@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
Laszlo Ersek <lersek@redhat.com>,
Richard Henderson <rth@twiddle.net>
Subject: Re: [PATCH 2/2] arm/acpi: fix an out of spec _UID for PCI root
Date: Fri, 31 Jul 2020 11:31:17 +0200 [thread overview]
Message-ID: <20200731113117.5df42212@redhat.com> (raw)
In-Reply-To: <20200730155755.188845-2-mst@redhat.com>
On Thu, 30 Jul 2020 11:58:41 -0400
"Michael S. Tsirkin" <mst@redhat.com> wrote:
> On ARM/virt machine type QEMU currently reports an incorrect _UID in
> ACPI.
>
> The particular node in question is the primary PciRoot (PCI0 in ACPI),
> which gets assigned PCI0 in ACPI UID and 0 in the
> DevicePath. This is due to the _UID assigned to it by build_dsdt in
> hw/arm/virt-acpi-build.c Which does not correspond to the primary PCI
> identifier given by pcibus_num in hw/pci/pci.c
>
> In UEFI v2.8, section "10.4.2 Rules with ACPI _HID and _UID" ends with
> the paragraph,
>
> Root PCI bridges will use the plug and play ID of PNP0A03, This will
> be stored in the ACPI Device Path _HID field, or in the Expanded
> ACPI Device Path _CID field to match the ACPI name space. The _UID
> in the ACPI Device Path structure must match the _UID in the ACPI
> name space.
>
> (See especially the last sentence.)
>
> A similar bug has been reported on i386, on that architecture it has
> been reported to confuse at least macOS which uses ACPI UIDs to build
> the DevicePath for NVRAM boot options, while OVMF firmware gets them via
> an internal channel through QEMU. When UEFI firmware and ACPI have
> different values, this makes the underlying operating system unable to
> report its boot option.
>
> Reported-by: vit9696 <vit9696@protonmail.com>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
> ---
>
> Peter can you either ack or merge this one pls?
>
> hw/arm/virt-acpi-build.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
> index 91f0df7b13..0a482ff6f7 100644
> --- a/hw/arm/virt-acpi-build.c
> +++ b/hw/arm/virt-acpi-build.c
> @@ -170,7 +170,7 @@ static void acpi_dsdt_add_pci(Aml *scope, const MemMapEntry *memmap,
> aml_append(dev, aml_name_decl("_CID", aml_string("PNP0A03")));
> aml_append(dev, aml_name_decl("_SEG", aml_int(0)));
> aml_append(dev, aml_name_decl("_BBN", aml_int(0)));
> - aml_append(dev, aml_name_decl("_UID", aml_string("PCI0")));
> + aml_append(dev, aml_name_decl("_UID", aml_int(0)));
> aml_append(dev, aml_name_decl("_STR", aml_unicode("PCIe 0 Device")));
> aml_append(dev, aml_name_decl("_CCA", aml_int(1)));
>
next prev parent reply other threads:[~2020-07-31 9:40 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-30 15:58 [PATCH 1/2] i386/acpi: fix inconsistent QEMU/OVMF device paths Michael S. Tsirkin
2020-07-30 15:58 ` [PATCH 2/2] arm/acpi: fix an out of spec _UID for PCI root Michael S. Tsirkin
2020-07-30 15:58 ` Michael S. Tsirkin
2020-07-30 16:12 ` Philippe Mathieu-Daudé
2020-07-30 16:12 ` Philippe Mathieu-Daudé
2020-07-30 19:35 ` Laszlo Ersek
2020-07-30 19:35 ` Laszlo Ersek
2020-07-30 20:33 ` Peter Maydell
2020-07-30 20:33 ` Peter Maydell
2020-07-31 9:31 ` Igor Mammedov [this message]
2020-07-30 16:11 ` [PATCH 1/2] i386/acpi: fix inconsistent QEMU/OVMF device paths Philippe Mathieu-Daudé
2020-07-30 19:35 ` Michael S. Tsirkin
2020-07-31 2:55 ` vit9696 via
2020-07-30 19:34 ` Laszlo Ersek
2020-07-31 9:30 ` Igor Mammedov
2021-02-27 19:41 ` Thomas Lamprecht
2021-02-28 9:11 ` vit9696
2021-02-28 10:43 ` Thomas Lamprecht
2021-02-28 20:45 ` Michael S. Tsirkin
[not found] ` <x3i3TiibtrC1qTDQUKxuOA_9qvmInzVwv6RrvzzSCSj-S21gLypbbZgEbYvJSGMxC1r8RaDrnHGgRbDI7vfpA_XuDINdZej9yKCW3_Sc4YM=@protonmail.com>
2021-02-28 21:37 ` Michael S. Tsirkin
2021-02-28 20:43 ` Michael S. Tsirkin
2021-03-01 7:12 ` Thomas Lamprecht
2021-03-01 7:20 ` Michael S. Tsirkin
2021-03-01 7:45 ` Thomas Lamprecht
2021-03-01 14:20 ` Igor Mammedov
2021-03-01 14:27 ` Thomas Lamprecht
2021-03-01 20:16 ` Igor Mammedov
2021-03-01 15:31 ` Michael S. Tsirkin
2021-03-01 13:28 ` Igor Mammedov
2021-03-01 16:14 ` Michael S. Tsirkin
2021-03-01 16:28 ` Laszlo Ersek
2021-03-01 19:08 ` Igor Mammedov
2021-03-01 20:06 ` vit9696
2021-03-02 8:40 ` Laszlo Ersek
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=20200731113117.5df42212@redhat.com \
--to=imammedo@redhat.com \
--cc=ehabkost@redhat.com \
--cc=lersek@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=shannon.zhaosl@gmail.com \
--cc=vit9696@protonmail.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.