Thank you for your reply!
Sorry, I was only thinking of MMIO access when I wrote the mail, should have
limited it to PciExpressLib.
I did not hear of any platform supporting MMIO but not 64-bit register r/w,
will research that.
> -----Original Message-----
> From: Laszlo Ersek [mailto:ler...@redhat.com]
> Sent: Sunday, August 6, 2017 1:35 PM
> To: Marvin Häuser <marvin.haeu...@outlook.com>
> Cc: firstname.lastname@example.org
> Subject: Re: [edk2] PciLib/PciExpressLib: 64-bit r/w functions
> On 08/05/17 23:38, Marvin H?user wrote:
> > Dear developers,
> > While browsing the KabylakeSiPkg code, I noticed that 64-bit registers are
> read directly via MmioRead64() as there is no PciRead64() function.
> > Is there a specific reason there are no PciRead64() and PciExpressRead64()
> functions or were they simply not needed previously?
> Validity of 64-bit accesses to PCI config space is platform dependent [*] and
> guess the PciLib designers didn't want to deviate from the common interface
> pattern that PciReadXX() always succeeds (as long as the input parameter is
> valid), regardless of XX.
> [*] The UEFI spec repeats the following paragraph in several places:
> The I/O operations are carried out exactly as requested. The caller
> is responsible satisfying any alignment and I/O width restrictions
> that the PCI controller on a platform might require. For example on
> some platforms, width requests of EfiPciIoWidthUint64 do not work.
edk2-devel mailing list