282 lines
8.3 KiB
Plaintext
Executable File
282 lines
8.3 KiB
Plaintext
Executable File
## @file
|
|
# FDF file of Platform.
|
|
#
|
|
# Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR>
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
DEFINE FLASH_ERASE_POLARITY = 1
|
|
DEFINE FV_DIR = $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV
|
|
DEFINE ARCH_DIR = $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/$(ARCH)
|
|
|
|
#------------------------------------------------------------------------------
|
|
# STAGE1A FD
|
|
# STAGE1A_FD_BASE, STAGE1A_FD_SIZE, STAGE1A_FD_NUMBLK
|
|
#------------------------------------------------------------------------------
|
|
[FD.STAGE1A]
|
|
BaseAddress = $(STAGE1A_FD_BASE)
|
|
Size = $(STAGE1A_FD_SIZE)
|
|
BlockSize = $(FLASH_BLOCK_SIZE)
|
|
NumBlocks = $(STAGE1A_FD_NUMBLK)
|
|
ErasePolarity = $(FLASH_ERASE_POLARITY)
|
|
|
|
!if $(FSP_T_SIZE) > 0
|
|
$(FSP_T_OFFSET) | $(FSP_T_SIZE)
|
|
FILE = $(FV_DIR)/FSP_T.bin
|
|
!endif
|
|
|
|
$(STAGE1A_FV_OFFSET) | $(STAGE1A_FV_SIZE)
|
|
FV = STAGE1A
|
|
|
|
#------------------------------------------------------------------------------
|
|
# STAGE1B FD
|
|
# STAGE1B_FD_BASE, STAGE1B_FD_SIZE, STAGE1B_FD_NUMBLK
|
|
#------------------------------------------------------------------------------
|
|
|
|
[FD.STAGE1B]
|
|
BaseAddress = $(STAGE1B_FD_BASE)
|
|
Size = $(STAGE1B_FD_SIZE)
|
|
BlockSize = $(FLASH_BLOCK_SIZE)
|
|
NumBlocks = $(STAGE1B_FD_NUMBLK)
|
|
ErasePolarity = $(FLASH_ERASE_POLARITY)
|
|
|
|
$(STAGE1B_FV_OFFSET) | $(STAGE1B_FV_SIZE)
|
|
FV = STAGE1B
|
|
|
|
!if $(FSP_M_SIZE) > 0
|
|
$(FSP_M_OFFSET) | $(FSP_M_SIZE)
|
|
FILE = $(FV_DIR)/FSP_M.bin
|
|
!endif
|
|
|
|
#------------------------------------------------------------------------------
|
|
# STAGE2 FD
|
|
#------------------------------------------------------------------------------
|
|
[FD.STAGE2]
|
|
BaseAddress = $(STAGE2_FD_BASE)
|
|
Size = $(STAGE2_FD_SIZE)
|
|
BlockSize = $(FLASH_BLOCK_SIZE)
|
|
NumBlocks = $(STAGE2_FD_NUMBLK)
|
|
ErasePolarity = $(FLASH_ERASE_POLARITY)
|
|
|
|
$(STAGE2_FV_OFFSET) | $(STAGE2_FV_SIZE)
|
|
FV = STAGE2
|
|
|
|
!if $(FSP_S_SIZE) > 0
|
|
$(FSP_S_OFFSET) | $(FSP_S_SIZE)
|
|
FILE = $(FV_DIR)/FSP_S.bin
|
|
!endif
|
|
|
|
#------------------------------------------------------------------------------
|
|
# OsLoader FD
|
|
#------------------------------------------------------------------------------
|
|
[FD.OsLoader]
|
|
BaseAddress = $(PAYLOAD_EXE_BASE)
|
|
Size = $(OS_LOADER_FD_SIZE)
|
|
BlockSize = $(FLASH_BLOCK_SIZE)
|
|
NumBlocks = $(OS_LOADER_FD_NUMBLK)
|
|
ErasePolarity = $(FLASH_ERASE_POLARITY)
|
|
|
|
0x00000000 | $(OS_LOADER_FD_SIZE)
|
|
FV = OsLoader
|
|
|
|
#------------------------------------------------------------------------------
|
|
# STAGE1A FV
|
|
#------------------------------------------------------------------------------
|
|
[FV.STAGE1A]
|
|
BlockSize = $(FLASH_BLOCK_SIZE)
|
|
FvAlignment = 16
|
|
ERASE_POLARITY = 1
|
|
MEMORY_MAPPED = TRUE
|
|
STICKY_WRITE = TRUE
|
|
LOCK_CAP = TRUE
|
|
LOCK_STATUS = TRUE
|
|
WRITE_DISABLED_CAP = TRUE
|
|
WRITE_ENABLED_CAP = TRUE
|
|
WRITE_STATUS = TRUE
|
|
WRITE_LOCK_CAP = TRUE
|
|
WRITE_LOCK_STATUS = TRUE
|
|
READ_DISABLED_CAP = TRUE
|
|
READ_ENABLED_CAP = TRUE
|
|
READ_STATUS = TRUE
|
|
READ_LOCK_CAP = TRUE
|
|
READ_LOCK_STATUS = TRUE
|
|
|
|
FILE RAW = 3473A022-C3C2-4964-B309-22B3DFB0B6CA {
|
|
SECTION RAW = $(FV_DIR)/VerInfo.bin
|
|
}
|
|
|
|
FILE RAW = 3CEA8EF3-95FC-476F-ABA5-7EC5DFA1D77B {
|
|
SECTION RAW = $(FV_DIR)/FlashMap.bin
|
|
}
|
|
|
|
!if $(HAVE_FIT_TABLE)
|
|
FILE RAW = CD17FF5E-7731-4d16-8441-FC7A113C392F {
|
|
SECTION RAW = $(FV_DIR)/FitTable.bin
|
|
}
|
|
!endif
|
|
|
|
!if $(HAVE_VERIFIED_BOOT)
|
|
FILE RAW = 18EDB1DF-1DBE-4EC5-8E26-C44808B546E1 {
|
|
SECTION RAW = $(FV_DIR)/HashStore.bin
|
|
}
|
|
!endif
|
|
|
|
FILE RAW = EFAC3859-B680-4232-A159-F886F2AE0B83 {
|
|
SECTION RAW = $(ARCH_DIR)/BootloaderCorePkg/PcdData/PcdData/OUTPUT/PEIPcdDataBase.raw
|
|
}
|
|
|
|
INF BootloaderCorePkg/Stage1A/Stage1A.inf
|
|
|
|
INF RuleOverride = RESET_VECTOR USE = $(ARCH) BootloaderCorePkg/Stage1A/Ia32/Vtf0/Bin/ResetVector.inf
|
|
|
|
#------------------------------------------------------------------------------
|
|
# STAGE1B FV
|
|
#------------------------------------------------------------------------------
|
|
[FV.STAGE1B]
|
|
FvForceRebase = TRUE
|
|
BlockSize = $(FLASH_BLOCK_SIZE)
|
|
FvAlignment = 16
|
|
ERASE_POLARITY = 1
|
|
MEMORY_MAPPED = TRUE
|
|
STICKY_WRITE = TRUE
|
|
LOCK_CAP = TRUE
|
|
LOCK_STATUS = TRUE
|
|
WRITE_DISABLED_CAP = TRUE
|
|
WRITE_ENABLED_CAP = TRUE
|
|
WRITE_STATUS = TRUE
|
|
WRITE_LOCK_CAP = TRUE
|
|
WRITE_LOCK_STATUS = TRUE
|
|
READ_DISABLED_CAP = TRUE
|
|
READ_ENABLED_CAP = TRUE
|
|
READ_STATUS = TRUE
|
|
READ_LOCK_CAP = TRUE
|
|
READ_LOCK_STATUS = TRUE
|
|
|
|
INF BootloaderCorePkg/Stage1B/Stage1B.inf
|
|
|
|
FILE FREEFORM = 016E6CD0-4834-4C7E-BCFE-41DFB88A6A6D {
|
|
SECTION RAW = $(FV_DIR)/CfgDataInt.bin
|
|
}
|
|
|
|
#------------------------------------------------------------------------------
|
|
# STAGE2 FV
|
|
#------------------------------------------------------------------------------
|
|
[FV.STAGE2]
|
|
BlockSize = $(FLASH_BLOCK_SIZE)
|
|
FvAlignment = 16
|
|
ERASE_POLARITY = 1
|
|
MEMORY_MAPPED = TRUE
|
|
STICKY_WRITE = TRUE
|
|
LOCK_CAP = TRUE
|
|
LOCK_STATUS = TRUE
|
|
WRITE_DISABLED_CAP = TRUE
|
|
WRITE_ENABLED_CAP = TRUE
|
|
WRITE_STATUS = TRUE
|
|
WRITE_LOCK_CAP = TRUE
|
|
WRITE_LOCK_STATUS = TRUE
|
|
READ_DISABLED_CAP = TRUE
|
|
READ_ENABLED_CAP = TRUE
|
|
READ_STATUS = TRUE
|
|
READ_LOCK_CAP = TRUE
|
|
READ_LOCK_STATUS = TRUE
|
|
|
|
INF BootloaderCorePkg/Stage2/Stage2.inf
|
|
|
|
!if $(HAVE_ACPI_TABLE)
|
|
INF RuleOverride = ACPITABLE Platform/$(BOARD_PKG_NAME)/AcpiTables/AcpiTables.inf
|
|
!endif
|
|
|
|
!if $(HAVE_VBT_BIN)
|
|
FILE FREEFORM = E08CA6D5-8D02-43ae-ABB1-952CC787C933 {
|
|
SECTION RAW = $(FV_DIR)/Vbt.bin
|
|
}
|
|
!endif
|
|
|
|
!if $(ENABLE_SPLASH)
|
|
FILE FREEFORM = 5E2D3BE9-AD72-4D1D-AAD5-6B08AF921590 {
|
|
SECTION RAW = $(LOGO_FILE)
|
|
}
|
|
!endif
|
|
|
|
#------------------------------------------------------------------------------
|
|
# OS Loader Payload as an FV
|
|
#------------------------------------------------------------------------------
|
|
[FV.OsLoader]
|
|
BlockSize = $(FLASH_BLOCK_SIZE)
|
|
FvAlignment = 16
|
|
ERASE_POLARITY = 1
|
|
MEMORY_MAPPED = TRUE
|
|
STICKY_WRITE = TRUE
|
|
LOCK_CAP = TRUE
|
|
LOCK_STATUS = TRUE
|
|
WRITE_DISABLED_CAP = TRUE
|
|
WRITE_ENABLED_CAP = TRUE
|
|
WRITE_STATUS = TRUE
|
|
WRITE_LOCK_CAP = TRUE
|
|
WRITE_LOCK_STATUS = TRUE
|
|
READ_DISABLED_CAP = TRUE
|
|
READ_ENABLED_CAP = TRUE
|
|
READ_STATUS = TRUE
|
|
READ_LOCK_CAP = TRUE
|
|
READ_LOCK_STATUS = TRUE
|
|
|
|
INF PayloadPkg/OsLoader/OsLoader.inf
|
|
|
|
#------------------------------------------------------------------------------
|
|
# FwUpdate FV to make FirmwareUpdate.efi visible to modules
|
|
#------------------------------------------------------------------------------
|
|
[FV.FwUpdate]
|
|
BlockSize = $(FLASH_BLOCK_SIZE)
|
|
FvAlignment = 16
|
|
ERASE_POLARITY = 1
|
|
MEMORY_MAPPED = TRUE
|
|
STICKY_WRITE = TRUE
|
|
LOCK_CAP = TRUE
|
|
LOCK_STATUS = TRUE
|
|
WRITE_DISABLED_CAP = TRUE
|
|
WRITE_ENABLED_CAP = TRUE
|
|
WRITE_STATUS = TRUE
|
|
WRITE_LOCK_CAP = TRUE
|
|
WRITE_LOCK_STATUS = TRUE
|
|
READ_DISABLED_CAP = TRUE
|
|
READ_ENABLED_CAP = TRUE
|
|
READ_STATUS = TRUE
|
|
READ_LOCK_CAP = TRUE
|
|
READ_LOCK_STATUS = TRUE
|
|
|
|
!if $(ENABLE_FWU)
|
|
INF PayloadPkg/FirmwareUpdate/FirmwareUpdate.inf
|
|
!endif
|
|
|
|
################################################################################
|
|
#
|
|
# Rules are use with the [FV] section's module INF type to define
|
|
# how an FFS file is created for a given INF file. The following Rule are the default
|
|
# rules for the different module type. User can add the customized rules to define the
|
|
# content of the FFS file.
|
|
#
|
|
################################################################################
|
|
[Rule.Common.PEIM]
|
|
FILE PEIM = $(NAMED_GUID) {
|
|
TE TE Align=16 $(INF_OUTPUT)/$(MODULE_NAME).efi
|
|
}
|
|
|
|
[Rule.Common.SEC.RESET_VECTOR]
|
|
FILE RAW = $(NAMED_GUID) {
|
|
RAW RAW |.raw
|
|
}
|
|
|
|
[Rule.Common.USER_DEFINED.RAWBIN]
|
|
FILE RAW = $(NAMED_GUID) {
|
|
RAW BIN |.acpi
|
|
}
|
|
|
|
[Rule.Common.USER_DEFINED.ACPITABLE]
|
|
FILE FREEFORM = $(NAMED_GUID) {
|
|
RAW ACPI Optional |.acpi
|
|
RAW ASL Optional |.aml
|
|
RAW BIN Optional |.bin
|
|
}
|