MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
- IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf {\r
- <LibraryClasses>\r
- DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
- }\r
IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf \r
MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
-\r
+ \r
+ \r
DuetPkg/DataHubGenDxe/DataHubGen.inf\r
DuetPkg/FvbRuntimeService/DUETFwh.inf\r
DuetPkg/EfiLdr/EfiLdr.inf\r
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r
DuetPkg/CpuIoDxe/CpuIo.inf\r
DuetPkg/CpuDxe/Cpu.inf\r
- \r
IntelFrameworkModulePkg/Universal/Legacy8259Dxe/8259.inf\r
DuetPkg/KbcResetDxe/Reset.inf\r
DuetPkg/LegacyMetronome/Metronome.inf\r
DuetPkg/PcRtc/RealTimeClock.inf\r
DuetPkg/8254TimerDxe/8254Timer.inf\r
DuetPkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf\r
+ DuetPkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf\r
+ IntelFrameworkModulePkg/Bus/Pci/VgaMiniPortDxe/VgaMiniPortDxe.inf\r
IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClassDxe.inf\r
-\r
+ \r
# IDE Support\r
#IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf\r
\r
\r
# ISA Support\r
DuetPkg/IsaAcpiDxe/IsaAcpi.inf\r
+ IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf\r
+ IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf\r
+ IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf\r
+\r
+ MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
+ MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
+ MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
+\r
DuetPkg/BootSector/BootSector.inf\r
\r
[BuildOptions.common]\r
INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
-INF IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf\r
INF IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf\r
INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
INF DuetPkg/8254TimerDxe/8254Timer.inf\r
INF DuetPkg/PcRtc/RealTimeClock.inf\r
INF DuetPkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf\r
+INF DuetPkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf\r
+INF IntelFrameworkModulePkg/Bus/Pci/VgaMiniPortDxe/VgaMiniPortDxe.inf\r
INF IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClassDxe.inf\r
\r
# IDE Support\r
\r
# ISA Support\r
INF DuetPkg/IsaAcpiDxe/IsaAcpi.inf\r
+INF IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf\r
+INF IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf\r
+INF IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf\r
+\r
+INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
+INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
+INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
+\r
+FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F {\r
+ SECTION PE32 = FatBinPkg/EnhancedFatDxe/Ia32/Fat.efi\r
+ }\r
+\r
+FILE FREEFORM = 7BB28B99-61BB-11D5-9A5D-0090273FC14D {\r
+ SECTION RAW = MdeModulePkg/Logo/Logo.bmp\r
+ }\r
\r
[Rule.Common.PEI_CORE]\r
FILE PEI_CORE = $(NAMED_GUID) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
-#if (EFI_SPECIFICATION_VERSION >= 0x0002000A)\r
//\r
// The size of the VariableName, including the Unicode Null in bytes plus\r
// the DataSize is limited to maximum size of MAX_HARDWARE_ERROR_VARIABLE_SIZE (32K)\r
return EFI_INVALID_PARAMETER;\r
} \r
} \r
-#else \r
- //\r
- // The size of the VariableName, including the Unicode Null in bytes plus\r
- // the DataSize is limited to maximum size of MAX_VARIABLE_SIZE (1024) bytes.\r
- //\r
- if ((DataSize > MAX_VARIABLE_SIZE) ||\r
- (sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > MAX_VARIABLE_SIZE)) {\r
- return EFI_INVALID_PARAMETER;\r
- } \r
-#endif\r
+\r
//\r
// Check whether the input variable is already existed\r
//\r
return EFI_SUCCESS;\r
}\r
\r
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)\r
EFI_STATUS\r
EFIAPI\r
QueryVariableInfo (\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
-#if (EFI_SPECIFICATION_VERSION >= 0x0002000A) \r
if((Attributes & (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_HARDWARE_ERROR_RECORD)) == 0) {\r
//\r
// Make sure the Attributes combination is supported by the platform.\r
//\r
return EFI_UNSUPPORTED; \r
} \r
-#else\r
- if((Attributes & (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS)) == 0) {\r
- //\r
- // Make sure the Attributes combination is supported by the platform.\r
- //\r
- return EFI_UNSUPPORTED; \r
- } \r
-#endif \r
else if ((Attributes & (EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_BOOTSERVICE_ACCESS)) == EFI_VARIABLE_RUNTIME_ACCESS) {\r
//\r
// Make sure if runtime bit is set, boot service bit is set also.\r
//\r
*MaximumVariableSize = MAX_VARIABLE_SIZE - sizeof (VARIABLE_HEADER);\r
\r
-#if (EFI_SPECIFICATION_VERSION >= 0x0002000A)\r
//\r
// Harware error record variable needs larger size.\r
//\r
if ((Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) == EFI_VARIABLE_HARDWARE_ERROR_RECORD) {\r
*MaximumVariableSize = MAX_HARDWARE_ERROR_VARIABLE_SIZE - sizeof (VARIABLE_HEADER);\r
}\r
-#endif\r
\r
//\r
// Point to the starting address of the variables.\r
\r
return EFI_SUCCESS;\r
}\r
-#endif\r
\r
EFI_STATUS\r
EFIAPI\r
SystemTable->RuntimeServices->GetNextVariableName = GetNextVariableName;\r
SystemTable->RuntimeServices->SetVariable = SetVariable;\r
\r
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)\r
SystemTable->RuntimeServices->QueryVariableInfo = QueryVariableInfo;\r
-#endif\r
\r
//\r
// Now install the Variable Runtime Architectural Protocol on a new handle\r
\r
[Pcd]\r
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize\r
\r
[Depex]\r
TRUE\r
\r
--*/\r
{\r
- EFI_STATUS Status;\r
- EFI_HOB_HANDOFF_INFO_TABLE *HobList;\r
- EFI_HOB_HANDOFF_INFO_TABLE *HobStart;\r
+ EFI_PEI_HOB_POINTERS GuidHob;\r
+ EFI_PEI_HOB_POINTERS HobStart;\r
EFI_PHYSICAL_ADDRESS *Table;\r
UINTN Index;\r
EFI_GUID *TableGuidArray[] = {\r
//\r
// Get Hob List\r
//\r
- Status = EfiGetSystemConfigurationTable (&gEfiHobListGuid, (VOID *) &HobList);\r
- if (EFI_ERROR (Status)) {\r
- return;\r
- }\r
-\r
+ HobStart.Raw = GetHobList ();\r
//\r
// Iteratively add ACPI Table, SMBIOS Table, MPS Table to EFI System Table\r
//\r
for (Index = 0; Index < sizeof (TableGuidArray) / sizeof (*TableGuidArray); ++Index) {\r
- HobStart = HobList;\r
- Table = NULL;\r
- Table = GetNextGuidHob (TableGuidArray[Index], &HobStart);\r
- if (!EFI_ERROR (Status)) {\r
+ GuidHob.Raw = GetNextGuidHob (TableGuidArray[Index], HobStart.Raw);\r
+ if (GuidHob.Raw != NULL) {\r
+ Table = GET_GUID_HOB_DATA (GuidHob.Guid);\r
if (Table != NULL) {\r
//\r
// Check if Mps Table/Smbios Table/Acpi Table exists in E/F seg,\r
)\r
{\r
EFI_STATUS Status;\r
- EFI_HOB_HANDOFF_INFO_TABLE *HobList;\r
+ EFI_PEI_HOB_POINTERS GuidHob;\r
VOID *Table;\r
MEMORY_DESC_HOB MemoryDescHob;\r
UINTN Index;\r
//\r
// Get Hob List\r
//\r
- Status = EfiGetSystemConfigurationTable (&gEfiHobListGuid, (VOID *) &HobList);\r
- if (EFI_ERROR (Status)) {\r
+ GuidHob.Raw = GetHobList();\r
+ \r
+ GuidHob.Raw = GetNextGuidHob (&gEfiLdrMemoryDescriptorGuid, GuidHob.Raw);\r
+ if (GuidHob.Raw == NULL) {\r
+ DEBUG ((EFI_D_ERROR, "Fail to get gEfiLdrMemoryDescriptorGuid from GUID HOB LIST!\n"));\r
+ return;\r
+ }\r
+ Table = GET_GUID_HOB_DATA (GuidHob.Guid);\r
+ if (Table == NULL) {\r
+ DEBUG ((EFI_D_ERROR, "Fail to get gEfiLdrMemoryDescriptorGuid from GUID HOB LIST!\n"));\r
return;\r
}\r
-\r
- Table = GetNextGuidHob (&gEfiLdrMemoryDescriptorGuid, &HobList);\r
MemoryDescHob.MemDescCount = *(UINTN *)Table;\r
MemoryDescHob.MemDesc = *(EFI_MEMORY_DESCRIPTOR **)((UINTN)Table + sizeof(UINTN));\r
\r
// Fixup Tasble CRC after we updated Firmware Vendor and Revision\r
//\r
gBS->CalculateCrc32 ((VOID *) gST, sizeof (EFI_SYSTEM_TABLE), &gST->Hdr.CRC32);\r
+\r
+ GetSystemTablesFromHob ();\r
+\r
+ UpdateMemoryMap ();\r
+ \r
+ //\r
+ // Append Usb Keyboard short form DevicePath into "ConInDev" \r
+ //\r
+ BdsLibUpdateConsoleVariable (\r
+ VarConsoleInpDev,\r
+ (EFI_DEVICE_PATH_PROTOCOL *) &gUsbClassKeyboardDevicePath,\r
+ NULL\r
+ );\r
}\r
\r
UINT64\r
UINTN BufferSize;\r
UINT32 Index;\r
UINT32 Number;\r
- VOID *HobList;\r
- EFI_STATUS Status;\r
+ EFI_PEI_HOB_POINTERS GuidHob;\r
\r
BufferSize = 0;\r
//\r
// Get Hob List from configuration table\r
//\r
- Status = EfiGetSystemConfigurationTable (&gEfiHobListGuid, &HobList);\r
- if (EFI_ERROR (Status)) {\r
- return 0;\r
- }\r
+ GuidHob.Raw = GetHobList ();\r
\r
//\r
// Get PciExpressAddressInfo Hob\r
//\r
- PciExpressBaseAddressInfo = NULL;\r
- PciExpressBaseAddressInfo = GetNextGuidHob (&gEfiPciExpressBaseAddressGuid, &HobList);\r
+ GuidHob.Raw = GetNextGuidHob (&gEfiPciExpressBaseAddressGuid, GuidHob.Raw);\r
+ if (GuidHob.Raw == NULL) {\r
+ DEBUG ((EFI_D_ERROR, "Fail to get gEfiPciExpressBaseAddressGuid from GUID HOB\n"));\r
+ return 0;\r
+ }\r
+ PciExpressBaseAddressInfo = (EFI_PCI_EXPRESS_BASE_ADDRESS_INFORMATION *) GET_GUID_HOB_DATA (GuidHob.Guid);\r
+ if (PciExpressBaseAddressInfo == NULL) {\r
+ DEBUG ((EFI_D_ERROR, "Fail to get gEfiPciExpressBaseAddressGuid from GUID HOB\n"));\r
+ return 0;\r
+ }\r
\r
//\r
// Search the PciExpress Base Address in the Hob for current RootBridge\r
return EFI_SUCCESS;\r
}\r
\r
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)\r
EFI_STATUS\r
GetGopDevicePath (\r
IN EFI_DEVICE_PATH_PROTOCOL *PciDevicePath,\r
\r
return EFI_SUCCESS;\r
}\r
-#endif\r
\r
EFI_STATUS\r
PreparePciVgaDevicePath (\r
{\r
EFI_STATUS Status;\r
EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)\r
EFI_DEVICE_PATH_PROTOCOL *GopDevicePath;\r
-#endif \r
\r
DevicePath = NULL;\r
Status = gBS->HandleProtocol (\r
return Status;\r
}\r
\r
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)\r
GetGopDevicePath (DevicePath, &GopDevicePath);\r
DevicePath = GopDevicePath;\r
-#endif\r
\r
BdsLibUpdateConsoleVariable (VarConsoleOut, DevicePath, NULL);\r
\r
// Add IsaKeyboard to ConIn,\r
// add IsaSerial to ConOut, ConIn, ErrOut\r
//\r
+ DEBUG ((EFI_D_INFO, "Find the LPC Bridge device\n"));\r
PrepareLpcBridgeDevicePath (HandleBuffer[Index]);\r
continue;\r
}\r
//\r
// Add them to ConOut, ConIn, ErrOut.\r
//\r
+ DEBUG ((EFI_D_INFO, "Find the 16550 SERIAL device\n"));\r
PreparePciSerialDevicePath (HandleBuffer[Index]);\r
continue;\r
}\r
//\r
// Add them to ConOut.\r
//\r
+ DEBUG ((EFI_D_INFO, "Find the VGA device\n"));\r
PreparePciVgaDevicePath (HandleBuffer[Index]);\r
continue;\r
}\r