mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-26 23:24:03 +02:00
1) Fix some casting working in X64 building
2) Use SetMem/CopyMem function to do structure initialization to avoid X64 compiler call standard C library. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5180 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
61e334303b
commit
394bbc5930
@ -265,7 +265,7 @@ Returns:
|
|||||||
//
|
//
|
||||||
// Convert TimerPeriod into 8254 counts
|
// Convert TimerPeriod into 8254 counts
|
||||||
//
|
//
|
||||||
TimerCount = DivU64x32 (MultU64x32 (119318, (UINTN) TimerPeriod) + 500000, 1000000);
|
TimerCount = DivU64x32 (MultU64x32 (119318, (UINT32) TimerPeriod) + 500000, 1000000);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Check for overflow
|
// Check for overflow
|
||||||
|
@ -37,74 +37,74 @@ all: $(TARGET_FILES)
|
|||||||
|
|
||||||
#=============
|
#=============
|
||||||
$(OUTPUT_DIR)\bootsect.obj:$(MODULE_DIR)\bootsect.asm
|
$(OUTPUT_DIR)\bootsect.obj:$(MODULE_DIR)\bootsect.asm
|
||||||
"$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\bootsect.obj" /FR"$(OUTPUT_DIR)\bootsect.txt" "$(MODULE_DIR)\bootsect.asm"
|
"$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\bootsect.obj" /FR"$(OUTPUT_DIR)\bootsect.txt" "$(MODULE_DIR)\bootsect.asm"
|
||||||
|
|
||||||
$(OUTPUT_DIR)\bootsect.com:$(OUTPUT_DIR)\bootsect.obj
|
$(OUTPUT_DIR)\bootsect.com:$(OUTPUT_DIR)\bootsect.obj
|
||||||
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\bootsect.obj,$(OUTPUT_DIR)\bootsect.com,$(OUTPUT_DIR)\bootsect.map,,,
|
"$(ASMLINK16)" /tiny $(OUTPUT_DIR)\bootsect.obj,$(OUTPUT_DIR)\bootsect.com,$(OUTPUT_DIR)\bootsect.map,,,
|
||||||
|
|
||||||
#=============
|
#=============
|
||||||
|
|
||||||
$(OUTPUT_DIR)\bs16.obj:$(MODULE_DIR)\bs16.asm
|
$(OUTPUT_DIR)\bs16.obj:$(MODULE_DIR)\bs16.asm
|
||||||
"$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\bs16.obj" "$(MODULE_DIR)\bs16.asm"
|
"$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\bs16.obj" "$(MODULE_DIR)\bs16.asm"
|
||||||
|
|
||||||
$(OUTPUT_DIR)\bs16.com:$(OUTPUT_DIR)\bs16.obj
|
$(OUTPUT_DIR)\bs16.com:$(OUTPUT_DIR)\bs16.obj
|
||||||
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\bs16.obj,$(OUTPUT_DIR)\bs16.com,$(OUTPUT_DIR)\bs16.map,,,
|
"$(ASMLINK16)" /tiny $(OUTPUT_DIR)\bs16.obj,$(OUTPUT_DIR)\bs16.com,$(OUTPUT_DIR)\bs16.map,,,
|
||||||
|
|
||||||
#=============
|
#=============
|
||||||
|
|
||||||
$(OUTPUT_DIR)\bs32.obj:$(MODULE_DIR)\bs32.asm
|
$(OUTPUT_DIR)\bs32.obj:$(MODULE_DIR)\bs32.asm
|
||||||
"$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\bs32.obj" "$(MODULE_DIR)\bs32.asm"
|
"$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\bs32.obj" "$(MODULE_DIR)\bs32.asm"
|
||||||
|
|
||||||
$(OUTPUT_DIR)\bs32.com:$(OUTPUT_DIR)\bs32.obj
|
$(OUTPUT_DIR)\bs32.com:$(OUTPUT_DIR)\bs32.obj
|
||||||
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\bs32.obj,$(OUTPUT_DIR)\bs32.com,$(OUTPUT_DIR)\bs32.map,,,
|
"$(ASMLINK16)" /tiny $(OUTPUT_DIR)\bs32.obj,$(OUTPUT_DIR)\bs32.com,$(OUTPUT_DIR)\bs32.map,,,
|
||||||
|
|
||||||
#=============
|
#=============
|
||||||
|
|
||||||
$(OUTPUT_DIR)\Gpt.obj:$(MODULE_DIR)\Gpt.asm
|
$(OUTPUT_DIR)\Gpt.obj:$(MODULE_DIR)\Gpt.asm
|
||||||
"$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\Gpt.obj" "$(MODULE_DIR)\Gpt.asm"
|
"$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\Gpt.obj" "$(MODULE_DIR)\Gpt.asm"
|
||||||
|
|
||||||
$(OUTPUT_DIR)\Gpt.com:$(OUTPUT_DIR)\Gpt.obj
|
$(OUTPUT_DIR)\Gpt.com:$(OUTPUT_DIR)\Gpt.obj
|
||||||
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\Gpt.obj,$(OUTPUT_DIR)\Gpt.com,$(OUTPUT_DIR)\Gpt.map,,,
|
"$(ASMLINK16)" /tiny $(OUTPUT_DIR)\Gpt.obj,$(OUTPUT_DIR)\Gpt.com,$(OUTPUT_DIR)\Gpt.map,,,
|
||||||
|
|
||||||
#=============
|
#=============
|
||||||
|
|
||||||
$(OUTPUT_DIR)\Mbr.obj:$(MODULE_DIR)\Mbr.asm
|
$(OUTPUT_DIR)\Mbr.obj:$(MODULE_DIR)\Mbr.asm
|
||||||
"$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\Mbr.obj" "$(MODULE_DIR)\Mbr.asm"
|
"$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\Mbr.obj" "$(MODULE_DIR)\Mbr.asm"
|
||||||
|
|
||||||
$(OUTPUT_DIR)\Mbr.com:$(OUTPUT_DIR)\Mbr.obj
|
$(OUTPUT_DIR)\Mbr.com:$(OUTPUT_DIR)\Mbr.obj
|
||||||
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\Mbr.obj,$(OUTPUT_DIR)\Mbr.com,$(OUTPUT_DIR)\Mbr.map,,,
|
"$(ASMLINK16)" /tiny $(OUTPUT_DIR)\Mbr.obj,$(OUTPUT_DIR)\Mbr.com,$(OUTPUT_DIR)\Mbr.map,,,
|
||||||
|
|
||||||
#============
|
#============
|
||||||
|
|
||||||
$(OUTPUT_DIR)\Start.obj:$(MODULE_DIR)\Start.asm
|
$(OUTPUT_DIR)\Start.obj:$(MODULE_DIR)\Start.asm
|
||||||
"$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\Start.obj" "$(MODULE_DIR)\Start.asm"
|
"$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\Start.obj" "$(MODULE_DIR)\Start.asm"
|
||||||
|
|
||||||
$(OUTPUT_DIR)\Start.com:$(OUTPUT_DIR)\Start.obj
|
$(OUTPUT_DIR)\Start.com:$(OUTPUT_DIR)\Start.obj
|
||||||
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\Start.obj,$(OUTPUT_DIR)\Start.com,$(OUTPUT_DIR)\Start.map,,,
|
"$(ASMLINK16)" /tiny $(OUTPUT_DIR)\Start.obj,$(OUTPUT_DIR)\Start.com,$(OUTPUT_DIR)\Start.map,,,
|
||||||
|
|
||||||
#=============
|
#=============
|
||||||
|
|
||||||
$(OUTPUT_DIR)\Start16.obj:$(MODULE_DIR)\Start16.asm
|
$(OUTPUT_DIR)\Start16.obj:$(MODULE_DIR)\Start16.asm
|
||||||
"$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\Start16.obj" "$(MODULE_DIR)\Start16.asm"
|
"$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\Start16.obj" "$(MODULE_DIR)\Start16.asm"
|
||||||
|
|
||||||
$(OUTPUT_DIR)\Start16.com:$(OUTPUT_DIR)\Start16.obj
|
$(OUTPUT_DIR)\Start16.com:$(OUTPUT_DIR)\Start16.obj
|
||||||
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\Start16.obj,$(OUTPUT_DIR)\Start16.com,$(OUTPUT_DIR)\Start16.map,,,
|
"$(ASMLINK16)" /tiny $(OUTPUT_DIR)\Start16.obj,$(OUTPUT_DIR)\Start16.com,$(OUTPUT_DIR)\Start16.map,,,
|
||||||
|
|
||||||
#=============
|
#=============
|
||||||
|
|
||||||
$(OUTPUT_DIR)\Start32.obj:$(MODULE_DIR)\Start32.asm
|
$(OUTPUT_DIR)\Start32.obj:$(MODULE_DIR)\Start32.asm
|
||||||
"$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\Start32.obj" "$(MODULE_DIR)\Start32.asm"
|
"$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\Start32.obj" "$(MODULE_DIR)\Start32.asm"
|
||||||
|
|
||||||
$(OUTPUT_DIR)\Start32.com:$(OUTPUT_DIR)\Start32.obj
|
$(OUTPUT_DIR)\Start32.com:$(OUTPUT_DIR)\Start32.obj
|
||||||
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\Start32.obj,$(OUTPUT_DIR)\Start32.com,$(OUTPUT_DIR)\Start32.map,,,
|
"$(ASMLINK16)" /tiny $(OUTPUT_DIR)\Start32.obj,$(OUTPUT_DIR)\Start32.com,$(OUTPUT_DIR)\Start32.map,,,
|
||||||
|
|
||||||
#=============
|
#=============
|
||||||
|
|
||||||
$(OUTPUT_DIR)\efi32.obj:$(MODULE_DIR)\efi32.asm
|
$(OUTPUT_DIR)\efi32.obj:$(MODULE_DIR)\efi32.asm
|
||||||
"$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\efi32.obj" "$(MODULE_DIR)\efi32.asm"
|
"$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\efi32.obj" "$(MODULE_DIR)\efi32.asm"
|
||||||
|
|
||||||
$(OUTPUT_DIR)\efi32.com:$(OUTPUT_DIR)\efi32.obj
|
$(OUTPUT_DIR)\efi32.com:$(OUTPUT_DIR)\efi32.obj
|
||||||
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\efi32.obj,$(OUTPUT_DIR)\efi32.com,$(OUTPUT_DIR)\efi32.map,,,
|
"$(ASMLINK16)" /tiny $(OUTPUT_DIR)\efi32.obj,$(OUTPUT_DIR)\efi32.com,$(OUTPUT_DIR)\efi32.map,,,
|
||||||
|
|
||||||
#=============
|
#=============
|
||||||
|
|
||||||
|
@ -201,9 +201,7 @@ Returns:
|
|||||||
UINT16 NextCode;
|
UINT16 NextCode;
|
||||||
UINT16 Mask;
|
UINT16 Mask;
|
||||||
|
|
||||||
for (Index = 1; Index <= 16; Index++) {
|
SetMem (&Count[1], sizeof(UINT16) * 16, 0);
|
||||||
Count[Index] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (Index = 0; Index < NumOfChar; Index++) {
|
for (Index = 0; Index < NumOfChar; Index++) {
|
||||||
Count[BitLen[Index]]++;
|
Count[BitLen[Index]]++;
|
||||||
@ -235,9 +233,7 @@ Returns:
|
|||||||
|
|
||||||
if (Index != 0) {
|
if (Index != 0) {
|
||||||
Index3 = (UINT16) (1U << TableBits);
|
Index3 = (UINT16) (1U << TableBits);
|
||||||
while (Index != Index3) {
|
SetMem(&Table[Index], sizeof(UINT16) * (Index3 - Index + 1), 0);
|
||||||
Table[Index++] = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Avail = NumOfChar;
|
Avail = NumOfChar;
|
||||||
@ -388,9 +384,7 @@ Returns:
|
|||||||
Sd->mPTTable[Index] = CharC;
|
Sd->mPTTable[Index] = CharC;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Index = 0; Index < nn; Index++) {
|
SetMem ((VOID*) &Sd->mPTLen, nn * sizeof(UINT8), 0);
|
||||||
Sd->mPTLen[Index] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -421,10 +415,7 @@ Returns:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
while (Index < nn) {
|
SetMem ((VOID*) &Sd->mPTLen[Index], (nn - Index) * sizeof(UINT8), 0);
|
||||||
Sd->mPTLen[Index++] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return MakeTable (Sd, nn, Sd->mPTLen, 8, Sd->mPTTable);
|
return MakeTable (Sd, nn, Sd->mPTLen, 8, Sd->mPTTable);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -457,9 +448,7 @@ Returns: (VOID)
|
|||||||
if (Number == 0) {
|
if (Number == 0) {
|
||||||
CharC = (UINT16) GetBits (Sd, CBIT);
|
CharC = (UINT16) GetBits (Sd, CBIT);
|
||||||
|
|
||||||
for (Index = 0; Index < NC; Index++) {
|
SetMem ((VOID*)&Sd->mCLen, sizeof(UINT8) * NC, 0);
|
||||||
Sd->mCLen[Index] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (Index = 0; Index < 4096; Index++) {
|
for (Index = 0; Index < 4096; Index++) {
|
||||||
Sd->mCTable[Index] = CharC;
|
Sd->mCTable[Index] = CharC;
|
||||||
@ -513,9 +502,7 @@ Returns: (VOID)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
while (Index < NC) {
|
SetMem ((VOID*) &Sd->mCLen[Index], sizeof(UINT8) * (NC - Index), 0);
|
||||||
Sd->mCLen[Index++] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
MakeTable (Sd, NC, Sd->mCLen, 12, Sd->mCTable);
|
MakeTable (Sd, NC, Sd->mCLen, 12, Sd->mCTable);
|
||||||
|
|
||||||
@ -731,7 +718,6 @@ Returns:
|
|||||||
|
|
||||||
--*/
|
--*/
|
||||||
{
|
{
|
||||||
UINT32 Index;
|
|
||||||
UINT32 CompSize;
|
UINT32 CompSize;
|
||||||
UINT32 OrigSize;
|
UINT32 OrigSize;
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
@ -773,9 +759,8 @@ Returns:
|
|||||||
|
|
||||||
Src = Src + 8;
|
Src = Src + 8;
|
||||||
|
|
||||||
for (Index = 0; Index < sizeof (SCRATCH_DATA); Index++) {
|
SetMem ((VOID*) Sd, sizeof(SCRATCH_DATA), 0);
|
||||||
((UINT8 *) Sd)[Index] = 0;
|
|
||||||
}
|
|
||||||
//
|
//
|
||||||
// The length of the field 'Position Set Code Length Array Size' in Block Header.
|
// The length of the field 'Position Set Code Length Array Size' in Block Header.
|
||||||
// For EFI 1.1 de/compression algorithm(Version 1), mPBit = 4
|
// For EFI 1.1 de/compression algorithm(Version 1), mPBit = 4
|
||||||
|
@ -1165,7 +1165,11 @@ Returns:
|
|||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
VariableStoreEntry = FlashMapEntryData->Entries[0];
|
CopyMem(
|
||||||
|
(VOID*)&VariableStoreEntry,
|
||||||
|
(VOID*)&FlashMapEntryData->Entries[0],
|
||||||
|
sizeof(EFI_FLASH_SUBAREA_ENTRY)
|
||||||
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Mark the variable storage region of the FLASH as RUNTIME
|
// Mark the variable storage region of the FLASH as RUNTIME
|
||||||
|
@ -270,7 +270,7 @@ PcatRootBridgeIoPollMem (
|
|||||||
{
|
{
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
UINT64 NumberOfTicks;
|
UINT64 NumberOfTicks;
|
||||||
UINTN Remainder;
|
UINT32 Remainder;
|
||||||
|
|
||||||
if (Result == NULL) {
|
if (Result == NULL) {
|
||||||
return EFI_INVALID_PARAMETER;
|
return EFI_INVALID_PARAMETER;
|
||||||
@ -332,7 +332,7 @@ PcatRootBridgeIoPollIo (
|
|||||||
{
|
{
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
UINT64 NumberOfTicks;
|
UINT64 NumberOfTicks;
|
||||||
UINTN Remainder;
|
UINT32 Remainder;
|
||||||
|
|
||||||
if (Result == NULL) {
|
if (Result == NULL) {
|
||||||
return EFI_INVALID_PARAMETER;
|
return EFI_INVALID_PARAMETER;
|
||||||
|
@ -122,7 +122,7 @@ PcatRootBridgeIoPciRW (
|
|||||||
|
|
||||||
UsePciExpressAccess = FALSE;
|
UsePciExpressAccess = FALSE;
|
||||||
|
|
||||||
EfiCopyMem (&PciAddress, &UserAddress, sizeof(UINT64));
|
CopyMem (&PciAddress, &UserAddress, sizeof(UINT64));
|
||||||
|
|
||||||
if (PciAddress.ExtendedRegister > 0xFF) {
|
if (PciAddress.ExtendedRegister > 0xFF) {
|
||||||
//
|
//
|
||||||
@ -136,9 +136,9 @@ PcatRootBridgeIoPciRW (
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (PciAddress.ExtendedRegister != 0) {
|
if (PciAddress.ExtendedRegister != 0) {
|
||||||
Pci.Reg = PciAddress.ExtendedRegister & 0xFF;
|
Pci.Bits.Reg = PciAddress.ExtendedRegister & 0xFF;
|
||||||
} else {
|
} else {
|
||||||
Pci.Reg = PciAddress.Register;
|
Pci.Bits.Reg = PciAddress.Register;
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
// Note: We can also use PciExpress access here, if wanted.
|
// Note: We can also use PciExpress access here, if wanted.
|
||||||
@ -146,11 +146,11 @@ PcatRootBridgeIoPciRW (
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!UsePciExpressAccess) {
|
if (!UsePciExpressAccess) {
|
||||||
Pci.Func = PciAddress.Function;
|
Pci.Bits.Func = PciAddress.Function;
|
||||||
Pci.Dev = PciAddress.Device;
|
Pci.Bits.Dev = PciAddress.Device;
|
||||||
Pci.Bus = PciAddress.Bus;
|
Pci.Bits.Bus = PciAddress.Bus;
|
||||||
Pci.Reserved = 0;
|
Pci.Bits.Reserved = 0;
|
||||||
Pci.Enable = 1;
|
Pci.Bits.Enable = 1;
|
||||||
|
|
||||||
//
|
//
|
||||||
// PCI Config access are all 32-bit alligned, but by accessing the
|
// PCI Config access are all 32-bit alligned, but by accessing the
|
||||||
@ -160,11 +160,11 @@ PcatRootBridgeIoPciRW (
|
|||||||
// To read a byte of PCI config space you load 0xcf8 and
|
// To read a byte of PCI config space you load 0xcf8 and
|
||||||
// read 0xcfc, 0xcfd, 0xcfe, 0xcff
|
// read 0xcfc, 0xcfd, 0xcfe, 0xcff
|
||||||
//
|
//
|
||||||
PciDataStride = Pci.Reg & 0x03;
|
PciDataStride = Pci.Bits.Reg & 0x03;
|
||||||
|
|
||||||
while (Count) {
|
while (Count) {
|
||||||
PciAligned = Pci;
|
PciAligned = Pci;
|
||||||
PciAligned.Reg &= 0xfc;
|
PciAligned.Bits.Reg &= 0xfc;
|
||||||
PciData = (UINTN)PrivateData->PciData + PciDataStride;
|
PciData = (UINTN)PrivateData->PciData + PciDataStride;
|
||||||
EfiAcquireLock(&PrivateData->PciLock);
|
EfiAcquireLock(&PrivateData->PciLock);
|
||||||
This->Io.Write (This, EfiPciWidthUint32, PrivateData->PciAddress, 1, &PciAligned);
|
This->Io.Write (This, EfiPciWidthUint32, PrivateData->PciAddress, 1, &PciAligned);
|
||||||
@ -176,7 +176,7 @@ PcatRootBridgeIoPciRW (
|
|||||||
EfiReleaseLock(&PrivateData->PciLock);
|
EfiReleaseLock(&PrivateData->PciLock);
|
||||||
UserBuffer = ((UINT8 *)UserBuffer) + OutStride;
|
UserBuffer = ((UINT8 *)UserBuffer) + OutStride;
|
||||||
PciDataStride = (PciDataStride + InStride) % 4;
|
PciDataStride = (PciDataStride + InStride) % 4;
|
||||||
Pci.Reg += InStride;
|
Pci.Bits.Reg += InStride;
|
||||||
Count -= 1;
|
Count -= 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -425,7 +425,7 @@ CheckForRom (
|
|||||||
|
|
||||||
LastImage = TRUE;
|
LastImage = TRUE;
|
||||||
|
|
||||||
EfiZeroMem (&EfiRomHeader, sizeof(EfiRomHeader));
|
ZeroMem (&EfiRomHeader, sizeof(EfiRomHeader));
|
||||||
IoDev->Mem.Read (
|
IoDev->Mem.Read (
|
||||||
IoDev,
|
IoDev,
|
||||||
EfiPciWidthUint8,
|
EfiPciWidthUint8,
|
||||||
@ -438,7 +438,7 @@ CheckForRom (
|
|||||||
|
|
||||||
if (EfiRomHeader.Signature == 0xaa55) {
|
if (EfiRomHeader.Signature == 0xaa55) {
|
||||||
|
|
||||||
EfiZeroMem (&Pcir, sizeof(Pcir));
|
ZeroMem (&Pcir, sizeof(Pcir));
|
||||||
IoDev->Mem.Read (
|
IoDev->Mem.Read (
|
||||||
IoDev,
|
IoDev,
|
||||||
EfiPciWidthUint8,
|
EfiPciWidthUint8,
|
||||||
@ -480,7 +480,7 @@ CheckForRom (
|
|||||||
&TempPciOptionRomDescriptors
|
&TempPciOptionRomDescriptors
|
||||||
);
|
);
|
||||||
if (mPciOptionRomTable.PciOptionRomCount > 0) {
|
if (mPciOptionRomTable.PciOptionRomCount > 0) {
|
||||||
EfiCopyMem(
|
CopyMem(
|
||||||
TempPciOptionRomDescriptors,
|
TempPciOptionRomDescriptors,
|
||||||
mPciOptionRomTable.PciOptionRomDescriptors,
|
mPciOptionRomTable.PciOptionRomDescriptors,
|
||||||
(UINT32)mPciOptionRomTable.PciOptionRomCount * sizeof(EFI_PCI_OPTION_ROM_DESCRIPTOR)
|
(UINT32)mPciOptionRomTable.PciOptionRomCount * sizeof(EFI_PCI_OPTION_ROM_DESCRIPTOR)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user