diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2019-03-28 13:37:12 +0100 |
---|---|---|
committer | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2019-03-28 13:37:12 +0100 |
commit | 93c0c1053ba48e857e645d776391b674f65e70e1 (patch) | |
tree | 92b4a8269fc233805135873c3dad0f3fd41b8fb1 | |
parent | 42e005ed1cfd641a057bb188963d592f4558a265 (diff) |
HACK MdeModulePkg/PciBusDxe: avoid 64-bit MMIO readsdeveloper-box-from-hell
The SynQuacer PCIe silicon bug affects 64-bit MMIO reads, so split
them up when we can.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-rw-r--r-- | MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c b/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c index 910a88c443..cba8ca0d09 100644 --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c @@ -436,6 +436,11 @@ PciIoMemRead ( return EFI_UNSUPPORTED;
}
+ if (Width == EfiPciIoWidthUint64) {
+ Width = EfiPciIoWidthUint32;
+ Count *= 2;
+ }
+
//
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
//
|