blob: 5b4d9dc464b9dd9a4a6b122f1b7b49b989c699f8 [file] [log] [blame]
lgao47b202cb2010-02-23 23:58:38 +00001## @file
jljusten49ba9442009-05-27 21:10:18 +00002# Open Virtual Machine Firmware: FDF
3#
Star Zeng90dcda42015-07-01 03:09:30 +00004# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
jljusten49ba9442009-05-27 21:10:18 +00005#
hhtian56d76402010-04-28 12:43:04 +00006# This program and the accompanying materials
jljusten49ba9442009-05-27 21:10:18 +00007# are licensed and made available under the terms and conditions of the BSD License
8# which accompanies this distribution. The full text of the license may be found at
9# http://opensource.org/licenses/bsd-license.php
10#
11# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13#
lgao47b202cb2010-02-23 23:58:38 +000014##
jljusten49ba9442009-05-27 21:10:18 +000015
16################################################################################
Jordan Justen8184a762013-11-12 18:34:02 +000017
18#
19# Default flash size for DEBUG build is 2MB. For RELEASE it is 1MB.
20#
21# Defining FD_SIZE_1MB or FD_SIZE_2MB on the build command line can
22# override this.
23#
24[Defines]
25!if $(TARGET) == RELEASE
mdkinneyeaeb4502012-10-04 15:41:15 +000026!ifndef $(FD_SIZE_2MB)
Jordan Justen8184a762013-11-12 18:34:02 +000027DEFINE FD_SIZE_1MB=
28!endif
29!endif
30
Laszlo Ersek1c50db82014-07-22 21:57:01 +000031!include OvmfPkg.fdf.inc
32
33#
34# Build the variable store and the firmware code as one unified flash device
35# image.
36#
mdkinney76d428b2010-06-25 22:23:22 +000037[FD.OVMF]
Laszlo Ersek1c50db82014-07-22 21:57:01 +000038BaseAddress = $(FW_BASE_ADDRESS)
39Size = $(FW_SIZE)
jljusten49ba9442009-05-27 21:10:18 +000040ErasePolarity = 1
Laszlo Ersek1c50db82014-07-22 21:57:01 +000041BlockSize = $(BLOCK_SIZE)
42NumBlocks = $(FW_BLOCKS)
jljustenc1c26692010-01-04 16:17:59 +000043
Laszlo Ersek1c093f02014-07-22 21:56:53 +000044!include VarStore.fdf.inc
Jordan Justen9a089972013-11-12 18:34:20 +000045
Laszlo Ersek1c50db82014-07-22 21:57:01 +000046$(VARS_SIZE)|$(FVMAIN_SIZE)
mdkinney76d428b2010-06-25 22:23:22 +000047FV = FVMAIN_COMPACT
48
Laszlo Ersek1c50db82014-07-22 21:57:01 +000049$(SECFV_OFFSET)|$(SECFV_SIZE)
jljustenc1c26692010-01-04 16:17:59 +000050FV = SECFV
mdkinneyeaeb4502012-10-04 15:41:15 +000051
Laszlo Ersek1c50db82014-07-22 21:57:01 +000052#
53# Build the variable store and the firmware code as separate flash device
54# images.
55#
56[FD.OVMF_VARS]
57BaseAddress = $(FW_BASE_ADDRESS)
58Size = $(VARS_SIZE)
59ErasePolarity = 1
60BlockSize = $(BLOCK_SIZE)
61NumBlocks = $(VARS_BLOCKS)
62
63!include VarStore.fdf.inc
64
65[FD.OVMF_CODE]
66BaseAddress = $(CODE_BASE_ADDRESS)
67Size = $(CODE_SIZE)
68ErasePolarity = 1
69BlockSize = $(BLOCK_SIZE)
70NumBlocks = $(CODE_BLOCKS)
71
720x00000000|$(FVMAIN_SIZE)
mdkinneyeaeb4502012-10-04 15:41:15 +000073FV = FVMAIN_COMPACT
74
Laszlo Ersek1c50db82014-07-22 21:57:01 +000075$(FVMAIN_SIZE)|$(SECFV_SIZE)
mdkinneyeaeb4502012-10-04 15:41:15 +000076FV = SECFV
jljusten689562c2010-12-31 07:55:38 +000077
jljusten49ba9442009-05-27 21:10:18 +000078################################################################################
jljustenc1c26692010-01-04 16:17:59 +000079
80[FD.MEMFD]
Jordan Justen5300cf02014-01-21 19:38:16 +000081BaseAddress = 0x800000
Gary Ching-Pang Lin08df58e2015-10-07 11:53:07 +000082Size = 0xA00000
jljustenc1c26692010-01-04 16:17:59 +000083ErasePolarity = 1
84BlockSize = 0x10000
Gary Ching-Pang Lin08df58e2015-10-07 11:53:07 +000085NumBlocks = 0xA0
jljustenc1c26692010-01-04 16:17:59 +000086
Jordan Justenb382ede2014-01-21 19:38:34 +0000870x000000|0x006000
88gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize
89
Laszlo Ersek6a7cba72014-03-04 08:03:23 +0000900x006000|0x001000
91gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageSize
92
Laszlo Ersekad43bc62014-04-05 21:26:09 +0000930x007000|0x001000
94gEfiMdePkgTokenSpaceGuid.PcdGuidedExtractHandlerTableAddress|gUefiOvmfPkgTokenSpaceGuid.PcdGuidedExtractHandlerTableSize
95
Jordan Justen7cb6b0e2014-01-21 19:38:43 +0000960x010000|0x008000
97gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamSize
98
Jordan Justen8e545002014-03-04 08:02:16 +0000990x018000|0x008000
100gUefiOvmfPkgTokenSpaceGuid.PcdS3AcpiReservedMemoryBase|gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemorySize
101
Jordan Justenb36f7012014-01-21 19:39:13 +00001020x020000|0x0E0000
103gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize
104FV = PEIFV
105
Gary Ching-Pang Lin08df58e2015-10-07 11:53:07 +00001060x100000|0x900000
Jordan Justenb36f7012014-01-21 19:39:13 +0000107gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize
108FV = DXEFV
jljusten49ba9442009-05-27 21:10:18 +0000109
110################################################################################
jljustenc1c26692010-01-04 16:17:59 +0000111
112[FV.SECFV]
jljusten49ba9442009-05-27 21:10:18 +0000113BlockSize = 0x1000
jljustenc1c26692010-01-04 16:17:59 +0000114FvAlignment = 16
jljusten49ba9442009-05-27 21:10:18 +0000115ERASE_POLARITY = 1
116MEMORY_MAPPED = TRUE
117STICKY_WRITE = TRUE
118LOCK_CAP = TRUE
119LOCK_STATUS = TRUE
120WRITE_DISABLED_CAP = TRUE
121WRITE_ENABLED_CAP = TRUE
122WRITE_STATUS = TRUE
123WRITE_LOCK_CAP = TRUE
124WRITE_LOCK_STATUS = TRUE
125READ_DISABLED_CAP = TRUE
126READ_ENABLED_CAP = TRUE
127READ_STATUS = TRUE
128READ_LOCK_CAP = TRUE
129READ_LOCK_STATUS = TRUE
130
131#
jljustenc1c26692010-01-04 16:17:59 +0000132# SEC Phase modules
133#
134# The code in this FV handles the initial firmware startup, and
Jordan Justenb36f7012014-01-21 19:39:13 +0000135# decompresses the PEI and DXE FVs which handles the rest of the boot sequence.
jljustenc1c26692010-01-04 16:17:59 +0000136#
137INF OvmfPkg/Sec/SecMain.inf
138
Jordan Justen497cbb52014-08-18 23:04:00 +0000139INF RuleOverride=RESET_VECTOR OvmfPkg/ResetVector/ResetVector.inf
jljustenc1c26692010-01-04 16:17:59 +0000140
141################################################################################
Jordan Justenb36f7012014-01-21 19:39:13 +0000142[FV.PEIFV]
jljustenc1c26692010-01-04 16:17:59 +0000143BlockSize = 0x10000
144FvAlignment = 16
145ERASE_POLARITY = 1
146MEMORY_MAPPED = TRUE
147STICKY_WRITE = TRUE
148LOCK_CAP = TRUE
149LOCK_STATUS = TRUE
150WRITE_DISABLED_CAP = TRUE
151WRITE_ENABLED_CAP = TRUE
152WRITE_STATUS = TRUE
153WRITE_LOCK_CAP = TRUE
154WRITE_LOCK_STATUS = TRUE
155READ_DISABLED_CAP = TRUE
156READ_ENABLED_CAP = TRUE
157READ_STATUS = TRUE
158READ_LOCK_CAP = TRUE
159READ_LOCK_STATUS = TRUE
160
jljustenc1c26692010-01-04 16:17:59 +0000161APRIORI PEI {
162 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
163}
164
jljusten49ba9442009-05-27 21:10:18 +0000165#
jljustenc1c26692010-01-04 16:17:59 +0000166# PEI Phase modules
167#
168INF MdeModulePkg/Core/Pei/PeiMain.inf
169INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
170INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
171INF OvmfPkg/PlatformPei/PlatformPei.inf
172INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
Laszlo Ersek5fb6fc02014-03-04 08:03:06 +0000173INF UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
jljustenc1c26692010-01-04 16:17:59 +0000174
jljustenc29f6c02010-02-25 21:53:06 +0000175################################################################################
176
177[FV.DXEFV]
178BlockSize = 0x10000
179FvAlignment = 16
180ERASE_POLARITY = 1
181MEMORY_MAPPED = TRUE
182STICKY_WRITE = TRUE
183LOCK_CAP = TRUE
184LOCK_STATUS = TRUE
185WRITE_DISABLED_CAP = TRUE
186WRITE_ENABLED_CAP = TRUE
187WRITE_STATUS = TRUE
188WRITE_LOCK_CAP = TRUE
189WRITE_LOCK_STATUS = TRUE
190READ_DISABLED_CAP = TRUE
191READ_ENABLED_CAP = TRUE
192READ_STATUS = TRUE
193READ_LOCK_CAP = TRUE
194READ_LOCK_STATUS = TRUE
195
196APRIORI DXE {
Ruiyu Ni863986b2013-07-26 03:14:08 +0000197 INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
jljustenc29f6c02010-02-25 21:53:06 +0000198 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
Jordan Justen182eb452013-11-12 18:35:01 +0000199 INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
jljustenc29f6c02010-02-25 21:53:06 +0000200}
201
jljustenc1c26692010-01-04 16:17:59 +0000202#
jljusten49ba9442009-05-27 21:10:18 +0000203# DXE Phase modules
204#
205INF MdeModulePkg/Core/Dxe/DxeMain.inf
206
207INF IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
208INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
209
210INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
211INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
jljustenc1c26692010-01-04 16:17:59 +0000212INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
jljusten49ba9442009-05-27 21:10:18 +0000213INF PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
eric_tianafbb91a2009-12-09 02:18:21 +0000214INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
jljusten49ba9442009-05-27 21:10:18 +0000215INF UefiCpuPkg/CpuDxe/CpuDxe.inf
216INF PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
Laszlo Ersekd52bde12015-07-14 12:01:36 +0000217INF OvmfPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf
davidhuang4ad90a82009-10-20 03:44:25 +0000218INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
jljusten49ba9442009-05-27 21:10:18 +0000219INF PcAtChipsetPkg/KbcResetDxe/Reset.inf
220INF MdeModulePkg/Universal/Metronome/Metronome.inf
jljusten712bd832009-07-14 23:32:41 +0000221INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
klu287a1d7a2009-07-07 04:54:01 +0000222
jljustenefd82c52010-03-21 00:34:15 +0000223INF OvmfPkg/BlockMmioToBlockIoDxe/BlockIo.inf
Olivier Martin56f65ed2013-12-11 16:58:22 +0000224INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
jljustenfd51d752012-10-08 07:32:59 +0000225INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
jljusten37078a62012-10-18 17:07:48 +0000226INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
Jordan Justen182eb452013-11-12 18:35:01 +0000227INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
jljusten27f58ea2009-09-26 07:15:51 +0000228INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf
229INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
Ard Biesheuveld9fdfd82015-02-28 20:33:11 +0000230INF OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf
Anthony PERARDe65e8802014-10-29 06:48:50 +0000231INF OvmfPkg/XenBusDxe/XenBusDxe.inf
Anthony PERARDde671da2014-10-29 06:51:42 +0000232INF OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf
jljusten8cee3de2012-03-09 17:38:53 +0000233
Star Zeng90dcda42015-07-01 03:09:30 +0000234INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
jljusten8cee3de2012-03-09 17:38:53 +0000235!if $(SECURE_BOOT_ENABLE) == TRUE
Laszlo Ersek8714a632014-10-02 08:08:05 +0000236 INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
jljusten8cee3de2012-03-09 17:38:53 +0000237!endif
238
jljusten49ba9442009-05-27 21:10:18 +0000239INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
240INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
241INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
242INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
243INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
244INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
245INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
246INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
247INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
jljusten86fef5b2009-06-30 15:57:29 +0000248INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
jljusten49ba9442009-05-27 21:10:18 +0000249INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
250INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
251INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
252INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
253INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
Reza Jelvehb82802b2015-09-22 11:18:45 +0000254INF OvmfPkg/SataControllerDxe/SataControllerDxe.inf
255INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
256INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
jljusten49ba9442009-05-27 21:10:18 +0000257INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
258INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
Eric Dong56af21c2013-08-12 02:24:32 +0000259INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
jljusten999a8152011-01-21 16:50:47 +0000260INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
jljusten49ba9442009-05-27 21:10:18 +0000261
jljusten49ba9442009-05-27 21:10:18 +0000262INF PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf
263INF IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
vanjeff8f5e3a12011-10-26 07:08:32 +0000264
265!ifndef $(SOURCE_DEBUG_ENABLE)
jljusten49ba9442009-05-27 21:10:18 +0000266INF IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
vanjeff8f5e3a12011-10-26 07:08:32 +0000267!endif
268
jljusten49ba9442009-05-27 21:10:18 +0000269INF IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
270INF IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf
271
jljustenfb511812011-08-13 22:54:37 +0000272INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
273INF OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
274
jljusten49ba9442009-05-27 21:10:18 +0000275INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
jljusten7d2bd152012-05-30 23:15:00 +0000276INF OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
jljustend40d3ba2009-10-07 16:01:09 +0000277INF RuleOverride=ACPITABLE OvmfPkg/AcpiTables/AcpiTables.inf
Laszlo Ersek389cbce2014-03-04 08:03:38 +0000278INF OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
Laszlo Ersekb017b1b2014-03-04 08:03:50 +0000279INF MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
Laszlo Ersek93900402014-03-04 08:04:13 +0000280INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
jljusten49ba9442009-05-27 21:10:18 +0000281
mdkinney7a743a22010-06-29 04:55:13 +0000282INF RuleOverride = BINARY USE = X64 FatBinPkg/EnhancedFatDxe/Fat.inf
jljusten345a0c82011-06-26 18:58:41 +0000283
Jordan Justen9bef3cd2013-08-23 18:45:47 +0000284!ifndef $(USE_OLD_SHELL)
jljusten345a0c82011-06-26 18:58:41 +0000285INF ShellPkg/Application/Shell/Shell.inf
286!else
mdkinney7a743a22010-06-29 04:55:13 +0000287INF RuleOverride = BINARY USE = X64 EdkShellBinPkg/FullShell/FullShell.inf
jljusten345a0c82011-06-26 18:58:41 +0000288!endif
jljusten49ba9442009-05-27 21:10:18 +0000289
lgao4d46f3632009-07-09 05:48:35 +0000290FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
mdkinney76d428b2010-06-25 22:23:22 +0000291 SECTION RAW = MdeModulePkg/Logo/Logo.bmp
292}
mdkinney7416f4e2010-07-26 18:07:19 +0000293
294#
295# Network modules
296#
jljusten7628b0f2013-05-15 18:20:39 +0000297!if $(E1000_ENABLE)
mdkinney7416f4e2010-07-26 18:07:19 +0000298 FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {
299 SECTION PE32 = Intel3.5/EFIX64/E3507X2.EFI
300 }
jljusten7628b0f2013-05-15 18:20:39 +0000301!endif
mdkinney7416f4e2010-07-26 18:07:19 +0000302 INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
303 INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
304 INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
305 INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
306 INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
307 INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
mdkinney7416f4e2010-07-26 18:07:19 +0000308 INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
309 INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
mdkinney7416f4e2010-07-26 18:07:19 +0000310 INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
Gary Lin36c64132014-12-19 19:13:44 +0000311!if $(NETWORK_IP6_ENABLE) == TRUE
312 INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
313 INF NetworkPkg/TcpDxe/TcpDxe.inf
314 INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf
315 INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
316 INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
317 INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
318!if $(SECURE_BOOT_ENABLE) == TRUE
319 INF NetworkPkg/IScsiDxe/IScsiDxe.inf
320!else
321 INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
322!endif
323!else
324 INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
mdkinney7416f4e2010-07-26 18:07:19 +0000325 INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
326 INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
Gary Lin36c64132014-12-19 19:13:44 +0000327!endif
Gary Ching-Pang Linab44a6e2015-08-23 01:44:15 +0000328!if $(HTTP_BOOT_ENABLE) == TRUE
329 INF NetworkPkg/DnsDxe/DnsDxe.inf
Gary Ching-Pang Lin1a851392015-08-28 08:12:42 +0000330 INF NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
Gary Ching-Pang Linab44a6e2015-08-23 01:44:15 +0000331 INF NetworkPkg/HttpDxe/HttpDxe.inf
332 INF NetworkPkg/HttpBootDxe/HttpBootDxe.inf
333!endif
Laszlo Ersek7a1f5942013-06-14 07:41:13 +0000334 INF OvmfPkg/VirtioNetDxe/VirtioNet.inf
jljusten689562c2010-12-31 07:55:38 +0000335
336#
337# Usb Support
338#
339INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
340INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
Laszlo Ersek47e57f42015-03-16 19:57:34 +0000341INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
jljusten689562c2010-12-31 07:55:38 +0000342INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
343INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
344INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
345
jljusten4b3d6632011-11-10 22:04:49 +0000346!ifdef $(CSM_ENABLE)
347INF IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf
348INF IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
349INF RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf
350!endif
351
jljustenaadb1d02012-07-10 22:43:19 +0000352INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
Laszlo Ersekd945a8b2014-03-22 07:12:55 +0000353INF OvmfPkg/PlatformDxe/Platform.inf
jljustenaadb1d02012-07-10 22:43:19 +0000354
jljusten49ba9442009-05-27 21:10:18 +0000355################################################################################
356
mdkinney76d428b2010-06-25 22:23:22 +0000357[FV.FVMAIN_COMPACT]
jljusten49ba9442009-05-27 21:10:18 +0000358FvAlignment = 16
359ERASE_POLARITY = 1
360MEMORY_MAPPED = TRUE
361STICKY_WRITE = TRUE
362LOCK_CAP = TRUE
363LOCK_STATUS = TRUE
364WRITE_DISABLED_CAP = TRUE
365WRITE_ENABLED_CAP = TRUE
366WRITE_STATUS = TRUE
367WRITE_LOCK_CAP = TRUE
368WRITE_LOCK_STATUS = TRUE
369READ_DISABLED_CAP = TRUE
370READ_ENABLED_CAP = TRUE
371READ_STATUS = TRUE
372READ_LOCK_CAP = TRUE
373READ_LOCK_STATUS = TRUE
374
mdkinney76d428b2010-06-25 22:23:22 +0000375FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
jljusteneaf4f332011-04-12 15:08:51 +0000376 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
Jordan Justenb36f7012014-01-21 19:39:13 +0000377 #
378 # These firmware volumes will have files placed in them uncompressed,
379 # and then both firmware volumes will be compressed in a single
380 # compression operation in order to achieve better overall compression.
381 #
382 SECTION FV_IMAGE = PEIFV
383 SECTION FV_IMAGE = DXEFV
jljusteneaf4f332011-04-12 15:08:51 +0000384 }
385 }
386
jljusten49ba9442009-05-27 21:10:18 +0000387################################################################################
388
jljusten49ba9442009-05-27 21:10:18 +0000389[Rule.Common.SEC]
390 FILE SEC = $(NAMED_GUID) {
lgao42014a812010-03-01 06:47:58 +0000391 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
jljusten49ba9442009-05-27 21:10:18 +0000392 UI STRING ="$(MODULE_NAME)" Optional
393 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
394 }
395
mdkinney76d428b2010-06-25 22:23:22 +0000396[Rule.Common.PEI_CORE]
397 FILE PEI_CORE = $(NAMED_GUID) {
Ruiyu Ni55e96f92015-07-09 08:55:23 +0000398 PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
mdkinney76d428b2010-06-25 22:23:22 +0000399 UI STRING ="$(MODULE_NAME)" Optional
400 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
jljustend40d3ba2009-10-07 16:01:09 +0000401 }
402
jljusten49ba9442009-05-27 21:10:18 +0000403[Rule.Common.PEIM]
404 FILE PEIM = $(NAMED_GUID) {
lgao42014a812010-03-01 06:47:58 +0000405 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
Ruiyu Ni55e96f92015-07-09 08:55:23 +0000406 PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
jljusten49ba9442009-05-27 21:10:18 +0000407 UI STRING="$(MODULE_NAME)" Optional
408 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
409 }
410
jljusten49ba9442009-05-27 21:10:18 +0000411[Rule.Common.DXE_CORE]
412 FILE DXE_CORE = $(NAMED_GUID) {
lgao42014a812010-03-01 06:47:58 +0000413 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
jljusten49ba9442009-05-27 21:10:18 +0000414 UI STRING="$(MODULE_NAME)" Optional
415 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
416 }
417
jljusten49ba9442009-05-27 21:10:18 +0000418[Rule.Common.DXE_DRIVER]
419 FILE DRIVER = $(NAMED_GUID) {
lgao42014a812010-03-01 06:47:58 +0000420 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
421 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
jljusten49ba9442009-05-27 21:10:18 +0000422 UI STRING="$(MODULE_NAME)" Optional
423 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
424 }
425
426[Rule.Common.DXE_RUNTIME_DRIVER]
427 FILE DRIVER = $(NAMED_GUID) {
lgao42014a812010-03-01 06:47:58 +0000428 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
429 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
jljusten49ba9442009-05-27 21:10:18 +0000430 UI STRING="$(MODULE_NAME)" Optional
431 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
432 }
433
mdkinney76d428b2010-06-25 22:23:22 +0000434[Rule.Common.UEFI_DRIVER]
435 FILE DRIVER = $(NAMED_GUID) {
436 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
437 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
438 UI STRING="$(MODULE_NAME)" Optional
439 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
440 }
441
mdkinney7a743a22010-06-29 04:55:13 +0000442[Rule.Common.UEFI_DRIVER.BINARY]
mdkinney3b33c6d2010-06-29 18:34:32 +0000443 FILE DRIVER = $(NAMED_GUID) {
mdkinney7a743a22010-06-29 04:55:13 +0000444 DXE_DEPEX DXE_DEPEX Optional |.depex
445 PE32 PE32 |.efi
446 UI STRING="$(MODULE_NAME)" Optional
447 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
448 }
jljusten8c71ec82012-08-15 00:03:59 +0000449
jljusten49ba9442009-05-27 21:10:18 +0000450[Rule.Common.UEFI_APPLICATION]
451 FILE APPLICATION = $(NAMED_GUID) {
lgao42014a812010-03-01 06:47:58 +0000452 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
jljusten49ba9442009-05-27 21:10:18 +0000453 UI STRING="$(MODULE_NAME)" Optional
454 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
455 }
456
mdkinney7a743a22010-06-29 04:55:13 +0000457[Rule.Common.UEFI_APPLICATION.BINARY]
458 FILE APPLICATION = $(NAMED_GUID) {
459 PE32 PE32 |.efi
460 UI STRING="$(MODULE_NAME)" Optional
461 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
462 }
jljusten8c71ec82012-08-15 00:03:59 +0000463
vanjeff48889992009-08-11 05:30:52 +0000464[Rule.Common.USER_DEFINED.ACPITABLE]
jljusten49ba9442009-05-27 21:10:18 +0000465 FILE FREEFORM = $(NAMED_GUID) {
jljustend40d3ba2009-10-07 16:01:09 +0000466 RAW ACPI |.acpi
467 RAW ASL |.aml
jljusten49ba9442009-05-27 21:10:18 +0000468 }
469
jljusten4b3d6632011-11-10 22:04:49 +0000470[Rule.Common.USER_DEFINED.CSM]
471 FILE FREEFORM = $(NAMED_GUID) {
472 RAW BIN |.bin
473 }
474
mdkinney7416f4e2010-07-26 18:07:19 +0000475[Rule.Common.SEC.RESET_VECTOR]
476 FILE RAW = $(NAMED_GUID) {
Jordan Justen497cbb52014-08-18 23:04:00 +0000477 RAW BIN Align = 16 |.bin
mdkinney7416f4e2010-07-26 18:07:19 +0000478 }