mirror of https://github.com/acidanthera/audk.git
Fix the bug in PciBus driver to correct parse the 64bit BAR.
Signed-off-by: Ruiyu Ni<ruiyu.ni@intel.com> Reviewed-by: Rui Sun<rui.sun@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13673 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
f6f9031f8e
commit
c0394e0424
|
@ -1473,8 +1473,6 @@ PciIovParseVfBar (
|
|||
UINT32 Value;
|
||||
UINT32 OriginalValue;
|
||||
UINT32 Mask;
|
||||
UINT32 Data;
|
||||
UINT8 Index;
|
||||
EFI_STATUS Status;
|
||||
|
||||
//
|
||||
|
@ -1592,12 +1590,7 @@ PciIovParseVfBar (
|
|||
//
|
||||
// Fix the length to support some spefic 64 bit BAR
|
||||
//
|
||||
Data = Value;
|
||||
Index = 0;
|
||||
for (Data = Value; Data != 0; Data >>= 1) {
|
||||
Index ++;
|
||||
}
|
||||
Value |= ((UINT32)(-1) << Index);
|
||||
Value |= ((UINT32) -1 << HighBitSet32 (Value));
|
||||
|
||||
//
|
||||
// Calculate the size of 64bit bar
|
||||
|
@ -1672,8 +1665,6 @@ PciParseBar (
|
|||
UINT32 Value;
|
||||
UINT32 OriginalValue;
|
||||
UINT32 Mask;
|
||||
UINT32 Data;
|
||||
UINT8 Index;
|
||||
EFI_STATUS Status;
|
||||
|
||||
OriginalValue = 0;
|
||||
|
@ -1810,12 +1801,7 @@ PciParseBar (
|
|||
//
|
||||
// Fix the length to support some spefic 64 bit BAR
|
||||
//
|
||||
Data = Value;
|
||||
Index = 0;
|
||||
for (Data = Value; Data != 0; Data >>= 1) {
|
||||
Index ++;
|
||||
}
|
||||
Value |= ((UINT32)(-1) << Index);
|
||||
Value |= ((UINT32)(-1) << HighBitSet32 (Value));
|
||||
|
||||
//
|
||||
// Calculate the size of 64bit bar
|
||||
|
|
Loading…
Reference in New Issue