]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/DxeIpl/HobGeneration.c
Update the copyright notice format
[mirror_edk2.git] / DuetPkg / DxeIpl / HobGeneration.c
index 93bf2891a53fbecb12b64f2767b9135d4d0650ac..434653a5e7348715484819b5623235e1fa2419a9 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
 \r
-Copyright (c) 2006 - 2007, Intel Corporation                                                         \r
-All rights reserved. This program and the accompanying materials                          \r
+Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
 http://opensource.org/licenses/bsd-license.php                                            \r
@@ -26,7 +26,8 @@ Revision History:
 #define EFI_DXE_FILE_GUID \\r
   { 0xb1644c1a, 0xc16a, 0x4c5b, {0x88, 0xde, 0xea, 0xfb, 0xa9, 0x7e, 0x74, 0xd8 }}\r
 \r
-#define CPUID_EXTENDED_ADD_SIZE  0x80000008\r
+#define EFI_CPUID_EXTENDED_FUNCTION  0x80000000\r
+#define CPUID_EXTENDED_ADD_SIZE      0x80000008\r
 \r
 HOB_TEMPLATE  gHobTemplate = {\r
   { // Phit\r
@@ -190,6 +191,26 @@ HOB_TEMPLATE  gHobTemplate = {
     EFI_DXE_FILE_GUID,\r
     0x0                                             //  EFI_PHYSICAL_ADDRESS of EntryPoint;\r
   },\r
+  { // MemoryDxeCore\r
+    {\r
+      EFI_HOB_TYPE_RESOURCE_DESCRIPTOR,             // HobType\r
+      sizeof (EFI_HOB_RESOURCE_DESCRIPTOR),         // HobLength\r
+      0                                             // Reserved\r
+    },\r
+    {\r
+      0                                             // Owner Guid\r
+    },\r
+    EFI_RESOURCE_SYSTEM_MEMORY,                     // ResourceType\r
+    (EFI_RESOURCE_ATTRIBUTE_PRESENT                 |\r
+//     EFI_RESOURCE_ATTRIBUTE_TESTED                  | // Do not mark as TESTED, or DxeCore will find it and use it before check Allocation\r
+     EFI_RESOURCE_ATTRIBUTE_INITIALIZED             |\r
+     EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE             | \r
+     EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE       | \r
+     EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE | \r
+     EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE),     \r
+    0x0,                                            // PhysicalStart\r
+    0                                               // ResourceLength\r
+  },\r
   { // Memory Map Hints to reduce fragmentation in the memory map\r
     {\r
       {\r
@@ -271,7 +292,7 @@ HOB_TEMPLATE  gHobTemplate = {
         sizeof (TABLE_HOB),                // Hob size\r
         0                                  // reserved\r
       },\r
-      EFI_SMBIOS_TABLE_GUID\r
+      SMBIOS_TABLE_GUID\r
     },\r
     0\r
   },\r
@@ -332,7 +353,7 @@ HOB_TEMPLATE  gHobTemplate = {
       },\r
       EFI_STATUS_CODE_RUNTIME_PROTOCOL_GUID\r
     },\r
-    NULL\r
+    0\r
   },\r
   { // EFILDR Memory Descriptor\r
     {\r
@@ -453,6 +474,23 @@ HOB_TEMPLATE  gHobTemplate = {
       0\r
     }\r
   },\r
+  { // NV Ftw FV Resource\r
+    {\r
+      EFI_HOB_TYPE_RESOURCE_DESCRIPTOR,     // HobType\r
+      sizeof (EFI_HOB_RESOURCE_DESCRIPTOR), // HobLength\r
+      0                                     // Reserved\r
+    },\r
+    {\r
+      0                                     // Owner Guid\r
+    },\r
+    EFI_RESOURCE_FIRMWARE_DEVICE,           // ResourceType\r
+    (EFI_RESOURCE_ATTRIBUTE_PRESENT    |\r
+     EFI_RESOURCE_ATTRIBUTE_INITIALIZED |\r
+     EFI_RESOURCE_ATTRIBUTE_TESTED |\r
+     EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE),  // ResourceAttribute\r
+    0,                                              // PhysicalStart (Fixed later)\r
+    NV_FTW_FVB_SIZE                                 // ResourceLength\r
+  },  \r
   { // FVB holding FTW spaces including Working & Spare space\r
     {\r
       {\r
@@ -703,9 +741,13 @@ PrepareHobDxeCore (
   UINT64                DxeCoreLength\r
   )\r
 {\r
-  gHob->DxeCore.MemoryAllocationHeader.MemoryBaseAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)DxeCoreImageBase;\r
+  gHob->DxeCore.MemoryAllocationHeader.MemoryBaseAddress = DxeCoreImageBase;\r
   gHob->DxeCore.MemoryAllocationHeader.MemoryLength = DxeCoreLength;\r
   gHob->DxeCore.EntryPoint = (EFI_PHYSICAL_ADDRESS)(UINTN)DxeCoreEntryPoint;\r
+\r
+\r
+  gHob->MemoryDxeCore.PhysicalStart   = DxeCoreImageBase;\r
+  gHob->MemoryDxeCore.ResourceLength  = DxeCoreLength;  \r
 }\r
 \r
 VOID *\r
@@ -738,7 +780,7 @@ PrepareHobNvStorage (
 */\r
 {\r
   STATIC VARIABLE_STORE_HEADER VarStoreHeader = {\r
-    gEfiVariableGuid,\r
+    VARIABLE_STORE_SIGNATURE,\r
     0xffffffff,                 // will be fixed in Variable driver\r
     VARIABLE_STORE_FORMATTED,\r
     VARIABLE_STORE_HEALTHY,\r
@@ -878,7 +920,8 @@ PrepareHobNvStorage (
   // Create the FVB holding FTW spaces\r
   //\r
   FtwFvbBase = (EFI_PHYSICAL_ADDRESS)((UINTN) StorageFvbBase + NV_STORAGE_FVB_SIZE);\r
-  gHob->NvFtwFvb.FvbInfo.Entries[0].Base = FtwFvbBase;\r
+  gHob->NvFtwFvResource.PhysicalStart =\r
+    gHob->NvFtwFvb.FvbInfo.Entries[0].Base = FtwFvbBase;\r
   //\r
   // Put FTW Working in front\r
   //\r
@@ -915,21 +958,18 @@ PrepareHobCpu (
   VOID\r
   )\r
 {\r
-  EFI_CPUID_REGISTER          Reg;\r
-  UINT8                       CpuMemoryAddrBitNumber;\r
+  UINT32  CpuidEax;\r
 \r
   //\r
   // Create a CPU hand-off information\r
   //\r
-  CpuMemoryAddrBitNumber = 36;\r
-  AsmCpuid (EFI_CPUID_EXTENDED_FUNCTION, &Reg.RegEax, &Reg.RegEbx, &Reg.RegEcx, &Reg.RegEdx);\r
+  gHob->Cpu.SizeOfMemorySpace = 36;\r
 \r
-  if (Reg.RegEax >= CPUID_EXTENDED_ADD_SIZE) {\r
-    AsmCpuid (CPUID_EXTENDED_ADD_SIZE, &Reg.RegEax, &Reg.RegEbx, &Reg.RegEcx, &Reg.RegEdx);\r
-    CpuMemoryAddrBitNumber = (UINT8)(UINTN)(Reg.RegEax & 0xFF);\r
+  AsmCpuid (EFI_CPUID_EXTENDED_FUNCTION, &CpuidEax, NULL, NULL, NULL);\r
+  if (CpuidEax >= CPUID_EXTENDED_ADD_SIZE) {\r
+    AsmCpuid (CPUID_EXTENDED_ADD_SIZE, &CpuidEax, NULL, NULL, NULL);\r
+    gHob->Cpu.SizeOfMemorySpace = (UINT8)(CpuidEax & 0xFF);\r
   }\r
-  \r
-  gHob->Cpu.SizeOfMemorySpace = CpuMemoryAddrBitNumber;\r
 }\r
 \r
 VOID\r