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.
Regards, Marvin. > -----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: edk2-devel@lists.01.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 > I > 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. > > Thanks > Laszlo _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel