mirror of https://github.com/acidanthera/audk.git
Fix bug: The lower 2 bits of Width and stripped, Count will always be multiplied by 1, which will leave Count unchanged.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11043 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
a605dfb387
commit
c1450e1670
|
@ -451,8 +451,8 @@ PciIoMemRead (
|
|||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
Count *= (UINTN)(1 << (Width & 0x03));
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -526,8 +526,8 @@ PciIoMemWrite (
|
|||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
Count *= (UINTN)(1 << (Width & 0x03));
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -600,8 +600,8 @@ PciIoIoRead (
|
|||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
Count *= (UINTN)(1 << (Width & 0x03));
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -674,8 +674,8 @@ PciIoIoWrite (
|
|||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
Count *= (UINTN)(1 << (Width & 0x03));
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -739,8 +739,8 @@ PciIoConfigRead (
|
|||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
Count *= (UINTN)(1 << (Width & 0x03));
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -804,8 +804,8 @@ PciIoConfigWrite (
|
|||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
Count *= (UINTN)(1 << (Width & 0x03));
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -899,8 +899,8 @@ PciIoCopyMem (
|
|||
//
|
||||
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
|
||||
if ((SrcOffset & ((1 << (Width & 0x03)) - 1)) != 0 || (DestOffset & ((1 << (Width & 0x03)) - 1)) != 0) {
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
Count *= (UINTN)(1 << (Width & 0x03));
|
||||
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue