[U-Boot] PCI configuration Issue for QEMU ACPI Support

Bin Meng bmeng.cn at gmail.com
Wed Sep 9 13:34:48 CEST 2015


Hi Saket,

On Wed, Sep 9, 2015 at 12:44 PM, Saket Sinha <saket.sinha89 at gmail.com> wrote:
> Hi,
>
> This is regarding the PCI configuration Issue for QEMU ACPI Support.
>
> I am comparing  arch/x86/cpu/qemu/acpi/pci-crs.asl and
> arch/x86/dts/qemu-x86_q35.dts and we find there are different ranges
> been specified for PCI configuration in both the files.
>
> As per my understanding for Qemu q35 (emulation of the ICH9 host
> chipset) where we have PCIe support which is made possible by PCI
> express enhanced accessmechanism (ECAM).
> This address is 0xe0000000 which is what I have put in
> arch/x86/dts/qemu-x86_q35.dts when I am memory mapping the PCI bus.

0xe0000000 is for PCI configuration space.

>
> I do not find this range in listed in arch/x86/dts/qemu-x86_q35.dts
> where  0x80000000 which is the start of the range in the device tree.

0x80000000 and above (below 0xe0000000) is for PCI memory space, IO
space, prefetch space. These two are totally different spaces.

>
> Thus U-Boot sets PCI to map into memory starting at 0x80000000 but
> when Linux starts booting with ACPI support it gets different values
> and we get PCI configuration errors in the Linux boot bootup logs.
>

The ACPI error is due to arch/x86/cpu/qemu/acpi/pci-crs.asl which does
not use consistent address space as dts. As I said in previous review
comments, we should understand every bits in the ASL file otherwise we
never know what potential issue will happen.

BTW: I hope I can have some time after this release to focus on the
ACPI spec issues.

Regards,
Bin


More information about the U-Boot mailing list