From 9a037c5d09715245dc349dac05679dce53c8931f Mon Sep 17 00:00:00 2001 From: klu2 Date: Fri, 12 Jan 2007 06:20:33 +0000 Subject: Correct the right bits judgment for get size of OptionROM. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2236 6f19259b-4bc3-4df7-8a09-765794883524 --- EdkModulePkg/Bus/Pci/PciBus/Dxe/PciOptionRomSupport.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'EdkModulePkg/Bus/Pci') diff --git a/EdkModulePkg/Bus/Pci/PciBus/Dxe/PciOptionRomSupport.c b/EdkModulePkg/Bus/Pci/PciBus/Dxe/PciOptionRomSupport.c index 3ec76989a5..449d0dc443 100644 --- a/EdkModulePkg/Bus/Pci/PciBus/Dxe/PciOptionRomSupport.c +++ b/EdkModulePkg/Bus/Pci/PciBus/Dxe/PciOptionRomSupport.c @@ -64,7 +64,7 @@ Returns: PciRootBridgeIo = PciIoDevice->PciRootBridgeIo; // - // offset is 48 if is not ppb + // offset is 0x30 if is not ppb // // @@ -112,15 +112,16 @@ Returns: if (EFI_ERROR (Status)) { return Status; } - - AllOnes &= 0xFFFFFFFC; - if ((AllOnes == 0) || (AllOnes == 0xFFFFFFFC)) { + // + // Bits [1, 10] are reserved + // + AllOnes &= 0xFFFFF800; + if ((AllOnes == 0) || (AllOnes == 0xFFFFF800)) { return EFI_NOT_FOUND; } PciIoDevice->RomSize = (UINT64) ((~AllOnes) + 1); return EFI_SUCCESS; - } EFI_STATUS -- cgit v1.2.3