Re: [PATCH V3 00/21] MMCONFIG refactoring and support for ARM64 PCI hostbridge init based on ACPI
From: Lorenzo Pieralisi
Date: Thu Jan 14 2016 - 12:05:50 EST
On Thu, Jan 14, 2016 at 11:38:44AM -0500, Mark Salter wrote:
> You would lose that bet. AddressMinimum/Maximum describe the
> PCI bus addresses.
In the mainline DT (APM Mustang), the CPU physical address corresponding
to IO space is 0xe010000000, PCI bus address is 0x0.
> QWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
> 0x0000000000000000, // Granularity
> 0x0000000010000000, // Range Minimum
> 0x000000001000FFFF, // Range Maximum
> 0x000000E000000000, // Translation Offset
See above, I will get the APM specifications to countercheck.
I agree with you we have to verify if this IO space limitation is
real or it is just an x86ism, in which case we remove that check.
> 0x0000000000010000, // Length
> ,, , TypeStatic)
> > Jiang's patch:
> > https://lkml.org/lkml/2015/12/16/249
> > parses the IO descriptors and stores the AddressMinimum, AddressMaximum
> > in the IO resource (with AddressTranslation as offset which must be the
> > *CPU* physical address mapping IO), from the log above it seems to me in
> > AddressMinimum APM specifies the *CPU* physical address generating IO
> > cycles.
> > All in all, I was right to fear this would happen, and I already
> > raised the point within the ACPI spec working group, ACPI IO
> > descriptors specification is ambiguous and we must agree on how
> > they have to be specified once for all.
> > Lorenzo