#\r
# Provides drivers and definitions to create uefi payload for bootloaders.\r
#\r
-# Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2014 - 2020, Intel Corporation. All rights reserved.<BR>\r
# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
##\r
DEFINE FD_BLOCK_SIZE = 0x00001000\r
\r
!if $(TARGET) == "NOOPT"\r
-DEFINE PEI_FV_SIZE = 0x00050000\r
-DEFINE DXE_FV_SIZE = 0x00800000\r
DEFINE FD_SIZE = 0x00850000\r
DEFINE NUM_BLOCKS = 0x850\r
!else\r
-DEFINE PEI_FV_SIZE = 0x30000\r
-DEFINE DXE_FV_SIZE = 0x3E0000\r
-DEFINE FD_SIZE = 0x00410000\r
-DEFINE NUM_BLOCKS = 0x410\r
+\r
+DEFINE FD_SIZE = 0x00590000\r
+DEFINE NUM_BLOCKS = 0x590\r
!endif\r
\r
################################################################################\r
BlockSize = $(FD_BLOCK_SIZE)\r
NumBlocks = $(NUM_BLOCKS)\r
\r
-0x00000000|$(PEI_FV_SIZE)\r
-FV = PEIFV\r
-\r
-$(PEI_FV_SIZE)|$(DXE_FV_SIZE)\r
-FV = DXEFV\r
+0x00000000|$(FD_SIZE)\r
+FV = PLDFV\r
\r
################################################################################\r
-[FV.PEIFV]\r
+[FV.PLDFV]\r
+FvNameGuid = 96E75986-6FDD-491E-9FD5-35E21AC45B45\r
BlockSize = $(FD_BLOCK_SIZE)\r
FvAlignment = 16\r
ERASE_POLARITY = 1\r
READ_LOCK_CAP = TRUE\r
READ_LOCK_STATUS = TRUE\r
\r
-INF UefiPayloadPkg/SecCore/SecCore.inf\r
-\r
-INF MdeModulePkg/Core/Pei/PeiMain.inf\r
-INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
-INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf\r
-INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf\r
-INF UefiPayloadPkg/BlSupportPei/BlSupportPei.inf\r
-INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
+!if $(UNIVERSAL_PAYLOAD) == FALSE\r
+INF UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf\r
+!endif\r
+FILE FV_IMAGE = 4E35FD93-9C72-4c15-8C4B-E77F1DB2D793 {\r
+ SECTION FV_IMAGE = DXEFV\r
+}\r
\r
################################################################################\r
\r
[FV.DXEFV]\r
+FvNameGuid = 8063C21A-8E58-4576-95CE-089E87975D23\r
BlockSize = $(FD_BLOCK_SIZE)\r
FvForceRebase = FALSE\r
FvAlignment = 16\r
READ_LOCK_STATUS = TRUE\r
\r
APRIORI DXE {\r
+ INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf\r
INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf\r
+ INF UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf\r
}\r
\r
#\r
INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf\r
INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf\r
\r
+!if $(SECURITY_STUB_ENABLE) == TRUE\r
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
+!endif\r
INF UefiCpuPkg/CpuDxe/CpuDxe.inf\r
INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r
-INF MdeModulePkg/Application/UiApp/UiApp.inf\r
+INF RuleOverride = UI MdeModulePkg/Application/UiApp/UiApp.inf\r
+INF MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf\r
INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf\r
INF MdeModulePkg/Universal/Metronome/Metronome.inf\r
INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
+\r
+!if $(DISABLE_RESET_SYSTEM) == FALSE\r
INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf\r
+!endif\r
INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf\r
-INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
+!if $(PERFORMANCE_MEASUREMENT_ENABLE)\r
+ INF MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf\r
+!endif\r
+\r
+#\r
+# SMM Support\r
+#\r
+!if $(SMM_SUPPORT) == TRUE\r
+ INF UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.inf\r
+ INF UefiPayloadPkg/SmmControlRuntimeDxe/SmmControlRuntimeDxe.inf\r
+ INF UefiPayloadPkg/BlSupportSmm/BlSupportSmm.inf\r
+ INF MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf\r
+ INF MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf\r
+ INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf\r
+ INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf\r
+ INF UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.inf\r
+!if $(PERFORMANCE_MEASUREMENT_ENABLE)\r
+ INF MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf\r
+!endif\r
+!endif\r
+\r
+!if $(VARIABLE_SUPPORT) == "EMU"\r
+ INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
+!elseif $(VARIABLE_SUPPORT) == "SPI"\r
+ INF UefiPayloadPkg/FvbRuntimeDxe/FvbSmm.inf\r
+ INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf\r
+ INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf\r
+ INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf\r
+!endif\r
\r
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
+INF MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf\r
+INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
INF UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf\r
\r
INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf\r
#\r
# ISA Support\r
#\r
+!if $(SERIAL_DRIVER_ENABLE) == TRUE\r
INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf\r
-!if $(PS2_KEYBOARD_ENABLE) == TRUE\r
+!endif\r
+!if $(SIO_BUS_ENABLE) == TRUE\r
INF OvmfPkg/SioBusDxe/SioBusDxe.inf\r
+!endif\r
+!if $(PS2_KEYBOARD_ENABLE) == TRUE\r
INF MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf\r
!endif\r
+INF MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf\r
\r
#\r
# Console Support\r
INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf\r
INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
-\r
+INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf\r
+!if $(RAM_DISK_ENABLE) == TRUE\r
+INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf\r
+!endif\r
INF FatPkg/EnhancedFatDxe/Fat.inf\r
\r
#\r
INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
+INF MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf\r
+\r
+#\r
+# ACPI Support\r
+#\r
+INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf\r
\r
+#\r
+# UEFI network modules\r
+#\r
+!if $(NETWORK_DRIVER_ENABLE) == TRUE\r
+ !include NetworkPkg/Network.fdf.inc\r
+!endif\r
\r
#\r
# Shell\r
INF ShellPkg/Application/Shell/Shell.inf\r
!endif\r
\r
-!if $(SHELL_TYPE) == MIN_BIN\r
-!if $(ARCH) == IA32\r
-INF RuleOverride = BINARY USE = IA32 ShellBinPkg/MinUefiShell/MinUefiShell.inf\r
-!else\r
-INF RuleOverride = BINARY USE = X64 ShellBinPkg/MinUefiShell/MinUefiShell.inf\r
-!endif\r
-!endif\r
-\r
-!if $(SHELL_TYPE) == UEFI_BIN\r
-!if $(ARCH) == IA32\r
-INF RuleOverride = BINARY USE = IA32 ShellBinPkg/UefiShell/UefiShell.inf\r
-!else\r
-INF RuleOverride = BINARY USE = X64 ShellBinPkg/UefiShell/UefiShell.inf\r
-!endif\r
-!endif\r
-\r
\r
################################################################################\r
#\r
UI STRING="$(MODULE_NAME)" Optional\r
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
}\r
+[Rule.Common.DXE_SMM_DRIVER]\r
+ FILE SMM = $(NAMED_GUID) {\r
+ SMM_DEPEX SMM_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
+ PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+ UI STRING="$(MODULE_NAME)" Optional\r
+ VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
+ }\r
+\r
+[Rule.Common.SMM_CORE]\r
+ FILE SMM_CORE = $(NAMED_GUID) {\r
+ PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+ UI STRING="$(MODULE_NAME)" Optional\r
+ VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
+ }\r
\r
[Rule.Common.UEFI_DRIVER]\r
FILE DRIVER = $(NAMED_GUID) {\r
FILE RAW = $(NAMED_GUID) {\r
RAW RAW |.raw\r
}\r
+\r
+[Rule.Common.UEFI_APPLICATION.UI]\r
+ FILE APPLICATION = $(NAMED_GUID) {\r
+ PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+ UI STRING="Enter Setup"\r
+ VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
+ }\r