]> git.proxmox.com Git - mirror_edk2.git/commitdiff
1) Fix some casting working in X64 building
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 8 May 2008 04:11:25 +0000 (04:11 +0000)
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 8 May 2008 04:11:25 +0000 (04:11 +0000)
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

DuetPkg/8254TimerDxe/Timer.c
DuetPkg/BootSector/Makefile
DuetPkg/EfiLdr/TianoDecompress.c
DuetPkg/FSVariable/FSVariable.c
DuetPkg/PciRootBridgeNoEnumerationDxe/PcatPciRootBridgeIo.c
DuetPkg/PciRootBridgeNoEnumerationDxe/x64/PcatIo.c

index f74827061e5f2ce1b03c3b890bd99ceeea29e341..c7deadd737604b05fb7145c16820292b5d8e768d 100644 (file)
@@ -265,7 +265,7 @@ Returns:
     //\r
     // Convert TimerPeriod into 8254 counts\r
     //\r
-    TimerCount = DivU64x32 (MultU64x32 (119318, (UINTN) TimerPeriod) + 500000, 1000000);\r
+    TimerCount = DivU64x32 (MultU64x32 (119318, (UINT32) TimerPeriod) + 500000, 1000000);\r
 \r
     //\r
     // Check for overflow\r
index e88743d1cf5202729d1a36798cf7af56d8a20dc6..aaa8ac1daaa01b535a0b38f23c3ed49207ffa25a 100644 (file)
@@ -37,74 +37,74 @@ all: $(TARGET_FILES)
           \r
 #=============                \r
 $(OUTPUT_DIR)\bootsect.obj:$(MODULE_DIR)\bootsect.asm\r
-  "$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\bootsect.obj" /FR"$(OUTPUT_DIR)\bootsect.txt" "$(MODULE_DIR)\bootsect.asm"\r
+  "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\bootsect.obj" /FR"$(OUTPUT_DIR)\bootsect.txt" "$(MODULE_DIR)\bootsect.asm"\r
              \r
 $(OUTPUT_DIR)\bootsect.com:$(OUTPUT_DIR)\bootsect.obj\r
-  "$(ASMLINK)" /tiny $(OUTPUT_DIR)\bootsect.obj,$(OUTPUT_DIR)\bootsect.com,$(OUTPUT_DIR)\bootsect.map,,,\r
+  "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\bootsect.obj,$(OUTPUT_DIR)\bootsect.com,$(OUTPUT_DIR)\bootsect.map,,,\r
 \r
 #=============                \r
 \r
 $(OUTPUT_DIR)\bs16.obj:$(MODULE_DIR)\bs16.asm\r
-  "$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\bs16.obj" "$(MODULE_DIR)\bs16.asm"\r
+  "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\bs16.obj" "$(MODULE_DIR)\bs16.asm"\r
              \r
 $(OUTPUT_DIR)\bs16.com:$(OUTPUT_DIR)\bs16.obj\r
-  "$(ASMLINK)" /tiny $(OUTPUT_DIR)\bs16.obj,$(OUTPUT_DIR)\bs16.com,$(OUTPUT_DIR)\bs16.map,,,\r
+  "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\bs16.obj,$(OUTPUT_DIR)\bs16.com,$(OUTPUT_DIR)\bs16.map,,,\r
 \r
 #=============                \r
 \r
 $(OUTPUT_DIR)\bs32.obj:$(MODULE_DIR)\bs32.asm\r
-  "$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\bs32.obj" "$(MODULE_DIR)\bs32.asm"\r
+  "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\bs32.obj" "$(MODULE_DIR)\bs32.asm"\r
              \r
 $(OUTPUT_DIR)\bs32.com:$(OUTPUT_DIR)\bs32.obj\r
-  "$(ASMLINK)" /tiny $(OUTPUT_DIR)\bs32.obj,$(OUTPUT_DIR)\bs32.com,$(OUTPUT_DIR)\bs32.map,,,\r
+  "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\bs32.obj,$(OUTPUT_DIR)\bs32.com,$(OUTPUT_DIR)\bs32.map,,,\r
 \r
 #=============                \r
 \r
 $(OUTPUT_DIR)\Gpt.obj:$(MODULE_DIR)\Gpt.asm\r
-  "$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\Gpt.obj" "$(MODULE_DIR)\Gpt.asm"\r
+  "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\Gpt.obj" "$(MODULE_DIR)\Gpt.asm"\r
              \r
 $(OUTPUT_DIR)\Gpt.com:$(OUTPUT_DIR)\Gpt.obj\r
-  "$(ASMLINK)" /tiny $(OUTPUT_DIR)\Gpt.obj,$(OUTPUT_DIR)\Gpt.com,$(OUTPUT_DIR)\Gpt.map,,,\r
+  "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\Gpt.obj,$(OUTPUT_DIR)\Gpt.com,$(OUTPUT_DIR)\Gpt.map,,,\r
 \r
 #=============                \r
 \r
 $(OUTPUT_DIR)\Mbr.obj:$(MODULE_DIR)\Mbr.asm\r
-  "$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\Mbr.obj" "$(MODULE_DIR)\Mbr.asm"\r
+  "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\Mbr.obj" "$(MODULE_DIR)\Mbr.asm"\r
              \r
 $(OUTPUT_DIR)\Mbr.com:$(OUTPUT_DIR)\Mbr.obj\r
-  "$(ASMLINK)" /tiny $(OUTPUT_DIR)\Mbr.obj,$(OUTPUT_DIR)\Mbr.com,$(OUTPUT_DIR)\Mbr.map,,,\r
+  "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\Mbr.obj,$(OUTPUT_DIR)\Mbr.com,$(OUTPUT_DIR)\Mbr.map,,,\r
 \r
 #============\r
 \r
 $(OUTPUT_DIR)\Start.obj:$(MODULE_DIR)\Start.asm\r
-  "$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\Start.obj" "$(MODULE_DIR)\Start.asm"\r
+  "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\Start.obj" "$(MODULE_DIR)\Start.asm"\r
              \r
 $(OUTPUT_DIR)\Start.com:$(OUTPUT_DIR)\Start.obj\r
-  "$(ASMLINK)" /tiny $(OUTPUT_DIR)\Start.obj,$(OUTPUT_DIR)\Start.com,$(OUTPUT_DIR)\Start.map,,,\r
+  "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\Start.obj,$(OUTPUT_DIR)\Start.com,$(OUTPUT_DIR)\Start.map,,,\r
   \r
 #=============     \r
 \r
 $(OUTPUT_DIR)\Start16.obj:$(MODULE_DIR)\Start16.asm\r
-  "$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\Start16.obj" "$(MODULE_DIR)\Start16.asm"\r
+  "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\Start16.obj" "$(MODULE_DIR)\Start16.asm"\r
              \r
 $(OUTPUT_DIR)\Start16.com:$(OUTPUT_DIR)\Start16.obj\r
-  "$(ASMLINK)" /tiny $(OUTPUT_DIR)\Start16.obj,$(OUTPUT_DIR)\Start16.com,$(OUTPUT_DIR)\Start16.map,,,\r
+  "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\Start16.obj,$(OUTPUT_DIR)\Start16.com,$(OUTPUT_DIR)\Start16.map,,,\r
 \r
 #=============\r
 \r
 $(OUTPUT_DIR)\Start32.obj:$(MODULE_DIR)\Start32.asm\r
-  "$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\Start32.obj" "$(MODULE_DIR)\Start32.asm"\r
+  "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\Start32.obj" "$(MODULE_DIR)\Start32.asm"\r
              \r
 $(OUTPUT_DIR)\Start32.com:$(OUTPUT_DIR)\Start32.obj\r
-  "$(ASMLINK)" /tiny $(OUTPUT_DIR)\Start32.obj,$(OUTPUT_DIR)\Start32.com,$(OUTPUT_DIR)\Start32.map,,,\r
+  "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\Start32.obj,$(OUTPUT_DIR)\Start32.com,$(OUTPUT_DIR)\Start32.map,,,\r
 \r
 #=============\r
 \r
 $(OUTPUT_DIR)\efi32.obj:$(MODULE_DIR)\efi32.asm\r
-  "$(ASM)" /c /omf /Fo"$(OUTPUT_DIR)\efi32.obj" "$(MODULE_DIR)\efi32.asm"\r
+  "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\efi32.obj" "$(MODULE_DIR)\efi32.asm"\r
              \r
 $(OUTPUT_DIR)\efi32.com:$(OUTPUT_DIR)\efi32.obj\r
-  "$(ASMLINK)" /tiny $(OUTPUT_DIR)\efi32.obj,$(OUTPUT_DIR)\efi32.com,$(OUTPUT_DIR)\efi32.map,,,\r
+  "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\efi32.obj,$(OUTPUT_DIR)\efi32.com,$(OUTPUT_DIR)\efi32.map,,,\r
 \r
 #=============\r
 \r
index 9a9ab70be449380881cccec0717fd7eece9765cb..df7efbd750d8114c05a7042fcb77229e116b4891 100644 (file)
@@ -201,9 +201,7 @@ Returns:
   UINT16  NextCode;\r
   UINT16  Mask;\r
 \r
-  for (Index = 1; Index <= 16; Index++) {\r
-    Count[Index] = 0;\r
-  }\r
+  SetMem (&Count[1], sizeof(UINT16) * 16, 0);\r
 \r
   for (Index = 0; Index < NumOfChar; Index++) {\r
     Count[BitLen[Index]]++;\r
@@ -235,9 +233,7 @@ Returns:
 \r
   if (Index != 0) {\r
     Index3 = (UINT16) (1U << TableBits);\r
-    while (Index != Index3) {\r
-      Table[Index++] = 0;\r
-    }\r
+    SetMem(&Table[Index], sizeof(UINT16) * (Index3 - Index + 1), 0);\r
   }\r
 \r
   Avail = NumOfChar;\r
@@ -388,9 +384,7 @@ Returns:
       Sd->mPTTable[Index] = CharC;\r
     }\r
 \r
-    for (Index = 0; Index < nn; Index++) {\r
-      Sd->mPTLen[Index] = 0;\r
-    }\r
+    SetMem ((VOID*) &Sd->mPTLen, nn * sizeof(UINT8), 0);\r
 \r
     return 0;\r
   }\r
@@ -421,10 +415,7 @@ Returns:
     }\r
   }\r
 \r
-  while (Index < nn) {\r
-    Sd->mPTLen[Index++] = 0;\r
-  }\r
-\r
+  SetMem ((VOID*) &Sd->mPTLen[Index], (nn - Index) * sizeof(UINT8), 0);\r
   return MakeTable (Sd, nn, Sd->mPTLen, 8, Sd->mPTTable);\r
 }\r
 \r
@@ -457,9 +448,7 @@ Returns: (VOID)
   if (Number == 0) {\r
     CharC = (UINT16) GetBits (Sd, CBIT);\r
 \r
-    for (Index = 0; Index < NC; Index++) {\r
-      Sd->mCLen[Index] = 0;\r
-    }\r
+    SetMem ((VOID*)&Sd->mCLen, sizeof(UINT8) * NC, 0);\r
 \r
     for (Index = 0; Index < 4096; Index++) {\r
       Sd->mCTable[Index] = CharC;\r
@@ -513,9 +502,7 @@ Returns: (VOID)
     }\r
   }\r
 \r
-  while (Index < NC) {\r
-    Sd->mCLen[Index++] = 0;\r
-  }\r
+  SetMem ((VOID*) &Sd->mCLen[Index], sizeof(UINT8) * (NC - Index), 0);\r
 \r
   MakeTable (Sd, NC, Sd->mCLen, 12, Sd->mCTable);\r
 \r
@@ -731,7 +718,6 @@ Returns:
 \r
 --*/\r
 {\r
-  UINT32        Index;\r
   UINT32        CompSize;\r
   UINT32        OrigSize;\r
   EFI_STATUS    Status;\r
@@ -773,9 +759,8 @@ Returns:
 \r
   Src = Src + 8;\r
 \r
-  for (Index = 0; Index < sizeof (SCRATCH_DATA); Index++) {\r
-    ((UINT8 *) Sd)[Index] = 0;\r
-  }\r
+  SetMem ((VOID*) Sd, sizeof(SCRATCH_DATA), 0);\r
+\r
   //\r
   // The length of the field 'Position Set Code Length Array Size' in Block Header.\r
   // For EFI 1.1 de/compression algorithm(Version 1), mPBit = 4\r
index 085a4929524d231c0f7254821b12294935133015..1ec2e56d3e49d0d96a98763342481696575ec1d5 100644 (file)
@@ -1165,7 +1165,11 @@ Returns:
     return Status;\r
   }\r
   \r
-  VariableStoreEntry = FlashMapEntryData->Entries[0];\r
+  CopyMem(\r
+    (VOID*)&VariableStoreEntry,\r
+    (VOID*)&FlashMapEntryData->Entries[0],\r
+    sizeof(EFI_FLASH_SUBAREA_ENTRY)\r
+    );\r
 \r
   //\r
   // Mark the variable storage region of the FLASH as RUNTIME\r
index abb6acbd96c85ac2534b87d246da868d67f4fac4..84abcf603a58a3ca3bd2d3b1b821ffaafdceea9f 100644 (file)
@@ -270,7 +270,7 @@ PcatRootBridgeIoPollMem (
 {\r
   EFI_STATUS  Status;\r
   UINT64      NumberOfTicks;\r
-  UINT      Remainder;\r
+  UINT32      Remainder;\r
 \r
   if (Result == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
@@ -332,7 +332,7 @@ PcatRootBridgeIoPollIo (
 {\r
   EFI_STATUS  Status;\r
   UINT64      NumberOfTicks;\r
-  UINTN       Remainder;\r
+  UINT32       Remainder;\r
 \r
   if (Result == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
index 830dcbb8c721c0ae76efa9af860ed9829effe433..0a786f823d7ef4a6f80118c0122e2d030f7a8ff1 100644 (file)
@@ -122,7 +122,7 @@ PcatRootBridgeIoPciRW (
 \r
   UsePciExpressAccess = FALSE;\r
 \r
-  EfiCopyMem (&PciAddress, &UserAddress, sizeof(UINT64));\r
+  CopyMem (&PciAddress, &UserAddress, sizeof(UINT64));\r
 \r
   if (PciAddress.ExtendedRegister > 0xFF) {\r
     //\r
@@ -136,9 +136,9 @@ PcatRootBridgeIoPciRW (
     }\r
   } else {\r
     if (PciAddress.ExtendedRegister != 0) {\r
-      Pci.Reg = PciAddress.ExtendedRegister & 0xFF;\r
+      Pci.Bits.Reg = PciAddress.ExtendedRegister & 0xFF;\r
     } else {\r
-      Pci.Reg = PciAddress.Register;\r
+      Pci.Bits.Reg = PciAddress.Register;\r
     }\r
     //\r
     // Note: We can also use PciExpress access here, if wanted.\r
@@ -146,11 +146,11 @@ PcatRootBridgeIoPciRW (
   }\r
 \r
   if (!UsePciExpressAccess) {\r
-    Pci.Func     = PciAddress.Function;\r
-    Pci.Dev      = PciAddress.Device;\r
-    Pci.Bus      = PciAddress.Bus;\r
-    Pci.Reserved = 0;\r
-    Pci.Enable   = 1;\r
+    Pci.Bits.Func     = PciAddress.Function;\r
+    Pci.Bits.Dev      = PciAddress.Device;\r
+    Pci.Bits.Bus      = PciAddress.Bus;\r
+    Pci.Bits.Reserved = 0;\r
+    Pci.Bits.Enable   = 1;\r
 \r
     //\r
     // PCI Config access are all 32-bit alligned, but by accessing the\r
@@ -160,11 +160,11 @@ PcatRootBridgeIoPciRW (
     // To read a byte of PCI config space you load 0xcf8 and \r
     //  read 0xcfc, 0xcfd, 0xcfe, 0xcff\r
     //\r
-    PciDataStride = Pci.Reg & 0x03;\r
+    PciDataStride = Pci.Bits.Reg & 0x03;\r
 \r
     while (Count) {\r
       PciAligned = Pci;\r
-      PciAligned.Reg &= 0xfc;\r
+      PciAligned.Bits.Reg &= 0xfc;\r
       PciData = (UINTN)PrivateData->PciData + PciDataStride;\r
       EfiAcquireLock(&PrivateData->PciLock);\r
       This->Io.Write (This, EfiPciWidthUint32, PrivateData->PciAddress, 1, &PciAligned);\r
@@ -176,7 +176,7 @@ PcatRootBridgeIoPciRW (
       EfiReleaseLock(&PrivateData->PciLock);\r
       UserBuffer = ((UINT8 *)UserBuffer) + OutStride;\r
       PciDataStride = (PciDataStride + InStride) % 4;\r
-      Pci.Reg += InStride;\r
+      Pci.Bits.Reg += InStride;\r
       Count -= 1;\r
     }\r
   } else {\r
@@ -425,7 +425,7 @@ CheckForRom (
 \r
           LastImage = TRUE;\r
 \r
-          EfiZeroMem (&EfiRomHeader, sizeof(EfiRomHeader));\r
+          ZeroMem (&EfiRomHeader, sizeof(EfiRomHeader));\r
           IoDev->Mem.Read (\r
             IoDev, \r
             EfiPciWidthUint8, \r
@@ -438,7 +438,7 @@ CheckForRom (
 \r
           if (EfiRomHeader.Signature == 0xaa55) {\r
 \r
-            EfiZeroMem (&Pcir, sizeof(Pcir));\r
+            ZeroMem (&Pcir, sizeof(Pcir));\r
             IoDev->Mem.Read (\r
               IoDev, \r
               EfiPciWidthUint8, \r
@@ -480,7 +480,7 @@ CheckForRom (
                             &TempPciOptionRomDescriptors\r
                             );\r
             if (mPciOptionRomTable.PciOptionRomCount > 0) {\r
-              EfiCopyMem(\r
+              CopyMem(\r
                 TempPciOptionRomDescriptors, \r
                 mPciOptionRomTable.PciOptionRomDescriptors, \r
                 (UINT32)mPciOptionRomTable.PciOptionRomCount * sizeof(EFI_PCI_OPTION_ROM_DESCRIPTOR)\r