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