summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2008-05-08 04:11:25 +0000
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2008-05-08 04:11:25 +0000
commit394bbc5930f78732f0bc5daf286beb3f8e39f27d (patch)
tree92889cc38410cb492cedf4df4a99143f35bbbf52
parent61e334303b59d28e0baa1737a5e5751aad301e32 (diff)
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
-rw-r--r--DuetPkg/8254TimerDxe/Timer.c2
-rw-r--r--DuetPkg/BootSector/Makefile36
-rw-r--r--DuetPkg/EfiLdr/TianoDecompress.c31
-rw-r--r--DuetPkg/FSVariable/FSVariable.c6
-rw-r--r--DuetPkg/PciRootBridgeNoEnumerationDxe/PcatPciRootBridgeIo.c4
-rw-r--r--DuetPkg/PciRootBridgeNoEnumerationDxe/x64/PcatIo.c28
6 files changed, 48 insertions, 59 deletions
diff --git a/DuetPkg/8254TimerDxe/Timer.c b/DuetPkg/8254TimerDxe/Timer.c
index f74827061..c7deadd73 100644
--- a/DuetPkg/8254TimerDxe/Timer.c
+++ b/DuetPkg/8254TimerDxe/Timer.c
@@ -265,7 +265,7 @@ Returns:
//
// Convert TimerPeriod into 8254 counts
//
- TimerCount = DivU64x32 (MultU64x32 (119318, (UINTN) TimerPeriod) + 500000, 1000000);
+ TimerCount = DivU64x32 (MultU64x32 (119318, (UINT32) TimerPeriod) + 500000, 1000000);
//
// Check for overflow
diff --git a/DuetPkg/BootSector/Makefile b/DuetPkg/BootSector/Makefile
index e88743d1c..aaa8ac1da 100644
--- a/DuetPkg/BootSector/Makefile
+++ b/DuetPkg/BootSector/Makefile
@@ -37,74 +37,74 @@ all: $(TARGET_FILES)
#=============
$(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
- "$(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
- "$(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
- "$(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
- "$(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
- "$(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
- "$(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
- "$(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
- "$(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
- "$(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
- "$(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
- "$(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
- "$(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
- "$(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
- "$(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
- "$(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
- "$(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
- "$(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,,,
#=============
diff --git a/DuetPkg/EfiLdr/TianoDecompress.c b/DuetPkg/EfiLdr/TianoDecompress.c
index 9a9ab70be..df7efbd75 100644
--- a/DuetPkg/EfiLdr/TianoDecompress.c
+++ b/DuetPkg/EfiLdr/TianoDecompress.c
@@ -201,9 +201,7 @@ Returns:
UINT16 NextCode;
UINT16 Mask;
- for (Index = 1; Index <= 16; Index++) {
- Count[Index] = 0;
- }
+ SetMem (&Count[1], sizeof(UINT16) * 16, 0);
for (Index = 0; Index < NumOfChar; Index++) {
Count[BitLen[Index]]++;
@@ -235,9 +233,7 @@ Returns:
if (Index != 0) {
Index3 = (UINT16) (1U << TableBits);
- while (Index != Index3) {
- Table[Index++] = 0;
- }
+ SetMem(&Table[Index], sizeof(UINT16) * (Index3 - Index + 1), 0);
}
Avail = NumOfChar;
@@ -388,9 +384,7 @@ Returns:
Sd->mPTTable[Index] = CharC;
}
- for (Index = 0; Index < nn; Index++) {
- Sd->mPTLen[Index] = 0;
- }
+ SetMem ((VOID*) &Sd->mPTLen, nn * sizeof(UINT8), 0);
return 0;
}
@@ -421,10 +415,7 @@ Returns:
}
}
- while (Index < nn) {
- Sd->mPTLen[Index++] = 0;
- }
-
+ SetMem ((VOID*) &Sd->mPTLen[Index], (nn - Index) * sizeof(UINT8), 0);
return MakeTable (Sd, nn, Sd->mPTLen, 8, Sd->mPTTable);
}
@@ -457,9 +448,7 @@ Returns: (VOID)
if (Number == 0) {
CharC = (UINT16) GetBits (Sd, CBIT);
- for (Index = 0; Index < NC; Index++) {
- Sd->mCLen[Index] = 0;
- }
+ SetMem ((VOID*)&Sd->mCLen, sizeof(UINT8) * NC, 0);
for (Index = 0; Index < 4096; Index++) {
Sd->mCTable[Index] = CharC;
@@ -513,9 +502,7 @@ Returns: (VOID)
}
}
- while (Index < NC) {
- Sd->mCLen[Index++] = 0;
- }
+ SetMem ((VOID*) &Sd->mCLen[Index], sizeof(UINT8) * (NC - Index), 0);
MakeTable (Sd, NC, Sd->mCLen, 12, Sd->mCTable);
@@ -731,7 +718,6 @@ Returns:
--*/
{
- UINT32 Index;
UINT32 CompSize;
UINT32 OrigSize;
EFI_STATUS Status;
@@ -773,9 +759,8 @@ Returns:
Src = Src + 8;
- for (Index = 0; Index < sizeof (SCRATCH_DATA); Index++) {
- ((UINT8 *) Sd)[Index] = 0;
- }
+ SetMem ((VOID*) Sd, sizeof(SCRATCH_DATA), 0);
+
//
// 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
diff --git a/DuetPkg/FSVariable/FSVariable.c b/DuetPkg/FSVariable/FSVariable.c
index 085a49295..1ec2e56d3 100644
--- a/DuetPkg/FSVariable/FSVariable.c
+++ b/DuetPkg/FSVariable/FSVariable.c
@@ -1165,7 +1165,11 @@ Returns:
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
diff --git a/DuetPkg/PciRootBridgeNoEnumerationDxe/PcatPciRootBridgeIo.c b/DuetPkg/PciRootBridgeNoEnumerationDxe/PcatPciRootBridgeIo.c
index abb6acbd9..84abcf603 100644
--- a/DuetPkg/PciRootBridgeNoEnumerationDxe/PcatPciRootBridgeIo.c
+++ b/DuetPkg/PciRootBridgeNoEnumerationDxe/PcatPciRootBridgeIo.c
@@ -270,7 +270,7 @@ PcatRootBridgeIoPollMem (
{
EFI_STATUS Status;
UINT64 NumberOfTicks;
- UINTN Remainder;
+ UINT32 Remainder;
if (Result == NULL) {
return EFI_INVALID_PARAMETER;
@@ -332,7 +332,7 @@ PcatRootBridgeIoPollIo (
{
EFI_STATUS Status;
UINT64 NumberOfTicks;
- UINTN Remainder;
+ UINT32 Remainder;
if (Result == NULL) {
return EFI_INVALID_PARAMETER;
diff --git a/DuetPkg/PciRootBridgeNoEnumerationDxe/x64/PcatIo.c b/DuetPkg/PciRootBridgeNoEnumerationDxe/x64/PcatIo.c
index 830dcbb8c..0a786f823 100644
--- a/DuetPkg/PciRootBridgeNoEnumerationDxe/x64/PcatIo.c
+++ b/DuetPkg/PciRootBridgeNoEnumerationDxe/x64/PcatIo.c
@@ -122,7 +122,7 @@ PcatRootBridgeIoPciRW (
UsePciExpressAccess = FALSE;
- EfiCopyMem (&PciAddress, &UserAddress, sizeof(UINT64));
+ CopyMem (&PciAddress, &UserAddress, sizeof(UINT64));
if (PciAddress.ExtendedRegister > 0xFF) {
//
@@ -136,9 +136,9 @@ PcatRootBridgeIoPciRW (
}
} else {
if (PciAddress.ExtendedRegister != 0) {
- Pci.Reg = PciAddress.ExtendedRegister & 0xFF;
+ Pci.Bits.Reg = PciAddress.ExtendedRegister & 0xFF;
} else {
- Pci.Reg = PciAddress.Register;
+ Pci.Bits.Reg = PciAddress.Register;
}
//
// Note: We can also use PciExpress access here, if wanted.
@@ -146,11 +146,11 @@ PcatRootBridgeIoPciRW (
}
if (!UsePciExpressAccess) {
- Pci.Func = PciAddress.Function;
- Pci.Dev = PciAddress.Device;
- Pci.Bus = PciAddress.Bus;
- Pci.Reserved = 0;
- Pci.Enable = 1;
+ Pci.Bits.Func = PciAddress.Function;
+ Pci.Bits.Dev = PciAddress.Device;
+ Pci.Bits.Bus = PciAddress.Bus;
+ Pci.Bits.Reserved = 0;
+ Pci.Bits.Enable = 1;
//
// 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
// read 0xcfc, 0xcfd, 0xcfe, 0xcff
//
- PciDataStride = Pci.Reg & 0x03;
+ PciDataStride = Pci.Bits.Reg & 0x03;
while (Count) {
PciAligned = Pci;
- PciAligned.Reg &= 0xfc;
+ PciAligned.Bits.Reg &= 0xfc;
PciData = (UINTN)PrivateData->PciData + PciDataStride;
EfiAcquireLock(&PrivateData->PciLock);
This->Io.Write (This, EfiPciWidthUint32, PrivateData->PciAddress, 1, &PciAligned);
@@ -176,7 +176,7 @@ PcatRootBridgeIoPciRW (
EfiReleaseLock(&PrivateData->PciLock);
UserBuffer = ((UINT8 *)UserBuffer) + OutStride;
PciDataStride = (PciDataStride + InStride) % 4;
- Pci.Reg += InStride;
+ Pci.Bits.Reg += InStride;
Count -= 1;
}
} else {
@@ -425,7 +425,7 @@ CheckForRom (
LastImage = TRUE;
- EfiZeroMem (&EfiRomHeader, sizeof(EfiRomHeader));
+ ZeroMem (&EfiRomHeader, sizeof(EfiRomHeader));
IoDev->Mem.Read (
IoDev,
EfiPciWidthUint8,
@@ -438,7 +438,7 @@ CheckForRom (
if (EfiRomHeader.Signature == 0xaa55) {
- EfiZeroMem (&Pcir, sizeof(Pcir));
+ ZeroMem (&Pcir, sizeof(Pcir));
IoDev->Mem.Read (
IoDev,
EfiPciWidthUint8,
@@ -480,7 +480,7 @@ CheckForRom (
&TempPciOptionRomDescriptors
);
if (mPciOptionRomTable.PciOptionRomCount > 0) {
- EfiCopyMem(
+ CopyMem(
TempPciOptionRomDescriptors,
mPciOptionRomTable.PciOptionRomDescriptors,
(UINT32)mPciOptionRomTable.PciOptionRomCount * sizeof(EFI_PCI_OPTION_ROM_DESCRIPTOR)