You've already forked slimbootloader
mirror of
https://github.com/Dasharo/slimbootloader.git
synced 2026-03-06 15:26:20 -08:00
3b457679ec
Current SBL has platform specific GetBuiltInConfigData() implementation because the internal CFGDATA blob is embedded into Stage1B data section. Instead, it can be put into Stage1B FV FFS file, and then use a PCD to get the base. In this way, it can be handled directly in core code and remove platform specific implementation. Signed-off-by: Maurice Ma <maurice.ma@intel.com>
167 lines
11 KiB
Plaintext
167 lines
11 KiB
Plaintext
## @file
|
|
# Provides bootloader driver related package definitions.
|
|
#
|
|
# Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR>
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
DEC_SPECIFICATION = 0x00010005
|
|
PACKAGE_NAME = BootloaderCorePkg
|
|
PACKAGE_GUID = d6c054b2-84cd-4bff-9033-2ce3d47f02ee
|
|
PACKAGE_VERSION = 0.1
|
|
|
|
[Includes]
|
|
Include
|
|
|
|
[Guids]
|
|
gPlatformModuleTokenSpaceGuid = { 0x69d13bf0, 0xaf91, 0x4d96, { 0xaa, 0x9f, 0x21, 0x84, 0xc5, 0xce, 0x3b, 0xc0 } }
|
|
|
|
[PcdsFixedAtBuild]
|
|
# These will be patched in the FDF file.
|
|
gPlatformModuleTokenSpaceGuid.PcdFSPTBase | 0x00000000 | UINT32 | 0x20000000
|
|
gPlatformModuleTokenSpaceGuid.PcdFSPTSize | 0x00000000 | UINT32 | 0x20000001
|
|
gPlatformModuleTokenSpaceGuid.PcdFSPTUpdSize | 0x00000000 | UINT32 | 0x20000002
|
|
gPlatformModuleTokenSpaceGuid.PcdFSPMBase | 0x00000000 | UINT32 | 0x20000003
|
|
gPlatformModuleTokenSpaceGuid.PcdFSPMUpdSize | 0x00000000 | UINT32 | 0x20000004
|
|
gPlatformModuleTokenSpaceGuid.PcdFSPMSize | 0x00000000 | UINT32 | 0x20000005
|
|
#gPlatformModuleTokenSpaceGuid.PcdFSPSBase
|
|
gPlatformModuleTokenSpaceGuid.PcdFSPSSize | 0x00000000 | UINT32 | 0x20000007
|
|
gPlatformModuleTokenSpaceGuid.PcdFSPSUpdSize | 0x00000000 | UINT32 | 0x20000008
|
|
|
|
gPlatformModuleTokenSpaceGuid.PcdPciMmcfgBase | 0x00000000 | UINT32 | 0x20000009
|
|
gPlatformModuleTokenSpaceGuid.PcdFlashBaseAddress | 0x00000000 | UINT32 | 0x20000010
|
|
gPlatformModuleTokenSpaceGuid.PcdFlashSize | 0x00000000 | UINT32 | 0x20000011
|
|
gPlatformModuleTokenSpaceGuid.PcdFlashBlockSize | 0x00001000 | UINT32 | 0x20000012
|
|
gPlatformModuleTokenSpaceGuid.PcdDebugInterfaceFlags | 0x00000000 | UINT32 | 0x20000013
|
|
|
|
|
|
# PcdStageBase: Flash address to the stage binary (Could be compressed binary)
|
|
# PcdStageSize: Flash size occupied by the stage binary (Could be compressed binary)
|
|
# PcdStageLoadBase: Memory address to load the stage binary (Could be compressed binary)
|
|
# PcdStageFdBase: FD base address, must be FD file format
|
|
# PcdStageFdSize: FD size
|
|
# PcdStageFvSize: FV size
|
|
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1ABase | 0x00000000 | UINT32 | 0x20000020
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1ASize | 0x00000000 | UINT32 | 0x20000021
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1ALoadBase | 0x00000000 | UINT32 | 0x20000022
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1AFdBase | 0x00000000 | UINT32 | 0x20000023
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1AFdSize | 0x00000000 | UINT32 | 0x20000024
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1AFvSize | 0x00000000 | UINT32 | 0x20000025
|
|
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1BBase | 0x00000000 | UINT32 | 0x20000030
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1BSize | 0x00000000 | UINT32 | 0x20000031
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1BLoadBase | 0x00000000 | UINT32 | 0x20000032
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1BFdBase | 0x00000000 | UINT32 | 0x20000033
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1BFdSize | 0x00000000 | UINT32 | 0x20000034
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1BFvSize | 0x00000000 | UINT32 | 0x20000035
|
|
|
|
gPlatformModuleTokenSpaceGuid.PcdStage2Base | 0x00000000 | UINT32 | 0x20000050
|
|
gPlatformModuleTokenSpaceGuid.PcdStage2Size | 0x00000000 | UINT32 | 0x20000051
|
|
gPlatformModuleTokenSpaceGuid.PcdStage2LoadBase | 0x00000000 | UINT32 | 0x20000052
|
|
gPlatformModuleTokenSpaceGuid.PcdStage2FdBase | 0x00000000 | UINT32 | 0x20000053
|
|
gPlatformModuleTokenSpaceGuid.PcdStage2FdSize | 0x00000000 | UINT32 | 0x20000054
|
|
gPlatformModuleTokenSpaceGuid.PcdStage2FvSize | 0x00000000 | UINT32 | 0x20000055
|
|
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1StackSize | 0x00000000 | UINT32 | 0x20000060
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1DataSize | 0x00000000 | UINT32 | 0x20000061
|
|
gPlatformModuleTokenSpaceGuid.PcdCfgDatabaseSize | 0x00000000 | UINT32 | 0x20000063
|
|
gPlatformModuleTokenSpaceGuid.PcdStage2LoadHigh | FALSE | BOOLEAN| 0x20000068
|
|
gPlatformModuleTokenSpaceGuid.PcdPayloadLoadHigh | FALSE | BOOLEAN| 0x20000069
|
|
|
|
gPlatformModuleTokenSpaceGuid.PcdPayloadBase | 0x00000000 | UINT32 | 0x20000080
|
|
gPlatformModuleTokenSpaceGuid.PcdPayloadSize | 0x00000000 | UINT32 | 0x20000081
|
|
gPlatformModuleTokenSpaceGuid.PcdPayloadLoadBase | 0x00000000 | UINT32 | 0x20000082
|
|
gPlatformModuleTokenSpaceGuid.PcdPayloadExeBase | 0x00000000 | UINT32 | 0x20000083
|
|
gPlatformModuleTokenSpaceGuid.PcdFwuPayloadSize | 0x00000000 | UINT32 | 0x20000084
|
|
gPlatformModuleTokenSpaceGuid.PcdFwuPayloadBase | 0x00000000 | UINT32 | 0x20000085
|
|
gPlatformModuleTokenSpaceGuid.PcdFwuPayloadLoadBase | 0x00000000 | UINT32 | 0x20000086
|
|
gPlatformModuleTokenSpaceGuid.PcdCfgDataBase | 0x00000000 | UINT32 | 0x20000088
|
|
gPlatformModuleTokenSpaceGuid.PcdCfgDataSize | 0x00000000 | UINT32 | 0x20000089
|
|
gPlatformModuleTokenSpaceGuid.PcdMrcDataBase | 0x00000000 | UINT32 | 0x2000008A
|
|
gPlatformModuleTokenSpaceGuid.PcdMrcDataSize | 0x00000000 | UINT32 | 0x2000008B
|
|
gPlatformModuleTokenSpaceGuid.PcdUcodeBase | 0x00000000 | UINT32 | 0x2000008C
|
|
gPlatformModuleTokenSpaceGuid.PcdUcodeSize | 0x00000000 | UINT32 | 0x2000008D
|
|
gPlatformModuleTokenSpaceGuid.PcdVariableRegionBase | 0x00000000 | UINT32 | 0x2000008E
|
|
gPlatformModuleTokenSpaceGuid.PcdVariableRegionSize | 0x00000000 | UINT32 | 0x2000008F
|
|
|
|
gPlatformModuleTokenSpaceGuid.PcdPciResourceIoBase | 0x00000000 | UINT32 | 0x200000A0
|
|
gPlatformModuleTokenSpaceGuid.PcdPciResourceMem32Base | 0x00000000 | UINT32 | 0x200000A1
|
|
gPlatformModuleTokenSpaceGuid.PcdMemoryMapEntryNumber | 0x00000020 | UINT32 | 0x200000A2
|
|
gPlatformModuleTokenSpaceGuid.PcdOsBootOptionNumber | 0x00000008 | UINT32 | 0x200000A3
|
|
gPlatformModuleTokenSpaceGuid.PcdServiceNumber | 0x00000004 | UINT32 | 0x200000A4
|
|
|
|
gPlatformModuleTokenSpaceGuid.PcdLoaderHobStackSize | 0x00040000 | UINT32 | 0x200000B0
|
|
gPlatformModuleTokenSpaceGuid.PcdEarlyLogBufferSize | 0x00000400 | UINT32 | 0x200000B1
|
|
gPlatformModuleTokenSpaceGuid.PcdLogBufferSize | 0x00008000 | UINT32 | 0x200000B2
|
|
|
|
gPlatformModuleTokenSpaceGuid.PcdLoaderReservedMemSize | 0x0038C000 | UINT32 | 0x200000B8
|
|
gPlatformModuleTokenSpaceGuid.PcdLoaderAcpiNvsSize | 0x00008000 | UINT32 | 0x200000B9
|
|
gPlatformModuleTokenSpaceGuid.PcdLoaderAcpiReclaimSize | 0x00068000 | UINT32 | 0x200000BA
|
|
|
|
gPlatformModuleTokenSpaceGuid.PcdTopSwapRegionSize | 0x00000000 | UINT32 | 0x200000C0
|
|
gPlatformModuleTokenSpaceGuid.PcdRedundantRegionSize | 0x00000000 | UINT32 | 0x200000C1
|
|
|
|
gPlatformModuleTokenSpaceGuid.PcdVerifiedBootHashMask | 0x00000000 | UINT32 | 0x200000D0
|
|
|
|
gPlatformModuleTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber | 16 | UINT32 | 0x200000E0
|
|
gPlatformModuleTokenSpaceGuid.PcdMaxServiceNumber | 8 | UINT32 | 0x200000E1
|
|
gPlatformModuleTokenSpaceGuid.PcdSeedListBufferSize | 0x00000400 | UINT32 | 0x200000E2
|
|
|
|
gPlatformModuleTokenSpaceGuid.PcdSmbiosTablesSize | 0x1000 | UINT16 | 0x200000E3
|
|
|
|
[PcdsFixedAtBuild, PcdsPatchableInModule]
|
|
#
|
|
# For module patchable PCDs, if it is required to do static patching during the build
|
|
# process using PatchFv.py script, then they should be set to non-zero default values.
|
|
# It is to prevent it from being put into BSS section, thus cause issue during pacting
|
|
# because the PCD symbol won't be available in MAP file.
|
|
# If static patching is not required, zero default value can be used with no issue.
|
|
#
|
|
gPlatformModuleTokenSpaceGuid.PcdFSPSBase | 0xFF000000 | UINT32 | 0x20000100
|
|
gPlatformModuleTokenSpaceGuid.PcdAcpiTablesMaxEntry | 32 | UINT32 | 0x2000000C
|
|
gPlatformModuleTokenSpaceGuid.PcdAcpiTablesRsdp | 0x00000000 | UINT32 | 0x2000000D
|
|
gPlatformModuleTokenSpaceGuid.PcdAcpiTablesAddress | 0xFF000000 | UINT32 | 0x20000110
|
|
gPlatformModuleTokenSpaceGuid.PcdAcpiGnvsAddress | 0xFF000000 | UINT32 | 0x20000112
|
|
gPlatformModuleTokenSpaceGuid.PcdGraphicsVbtAddress | 0xFF000000 | UINT32 | 0x20000113
|
|
gPlatformModuleTokenSpaceGuid.PcdSmramTsegBase | 0xFF000000 | UINT32 | 0x20000120
|
|
gPlatformModuleTokenSpaceGuid.PcdSmramTsegSize | 0x00000000 | UINT32 | 0x20000121
|
|
gPlatformModuleTokenSpaceGuid.PcdHashStoreBase | 0xFF000000 | UINT32 | 0x20000181
|
|
gPlatformModuleTokenSpaceGuid.PcdCfgDataIntBase | 0xFF000000 | UINT32 | 0x20000182
|
|
gPlatformModuleTokenSpaceGuid.PcdDeviceTreeBase | 0xFF000000 | UINT32 | 0x20000183
|
|
gPlatformModuleTokenSpaceGuid.PcdSplashLogoAddress | 0xFF000000 | UINT32 | 0x20000184
|
|
gPlatformModuleTokenSpaceGuid.PcdFileDataBase | 0xFF000000 | UINT32 | 0x20000185
|
|
gPlatformModuleTokenSpaceGuid.PcdVerInfoBase | 0xFF000000 | UINT32 | 0x20000190
|
|
gPlatformModuleTokenSpaceGuid.PcdCfgDataLoadSource | 0x00000002 | UINT32 | 0x20000194
|
|
gPlatformModuleTokenSpaceGuid.PcdPayloadReservedMemSize | 0x00004000 | UINT32 | 0x20000195
|
|
gPlatformModuleTokenSpaceGuid.PcdSmmRebaseMode | 0x00000000 | UINT8 | 0x20000196
|
|
|
|
gPlatformModuleTokenSpaceGuid.PcdSmbiosTablesBase | 0x00000000 | UINT32 | 0x20000197
|
|
gPlatformModuleTokenSpaceGuid.PcdSmbiosStringsPtr | 0x00000000 | UINT32 | 0x20000198
|
|
gPlatformModuleTokenSpaceGuid.PcdSmbiosStringsCnt | 0x0000 | UINT16 | 0x20000199
|
|
gPlatformModuleTokenSpaceGuid.PcdFuncCpuInitHook | 0x00000000 | UINT32 | 0x2000019A
|
|
|
|
|
|
[PcdsFeatureFlag]
|
|
# Determine if the Intel GFX device should be enabled or not in system
|
|
gPlatformModuleTokenSpaceGuid.PcdIntelGfxEnabled | TRUE | BOOLEAN | 0x20000200
|
|
# Determine if the GFX framebuffer should be initialized or not.
|
|
gPlatformModuleTokenSpaceGuid.PcdFramebufferInitEnabled | FALSE | BOOLEAN | 0x20000201
|
|
# Determine if the splash screen should be displayed or not.
|
|
gPlatformModuleTokenSpaceGuid.PcdSplashEnabled | FALSE | BOOLEAN | 0x20000202
|
|
|
|
gPlatformModuleTokenSpaceGuid.PcdAcpiEnabled | TRUE | BOOLEAN | 0x20000204
|
|
gPlatformModuleTokenSpaceGuid.PcdSmpEnabled | TRUE | BOOLEAN | 0x20000205
|
|
gPlatformModuleTokenSpaceGuid.PcdPciEnumEnabled | TRUE | BOOLEAN | 0x20000206
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1BXip | TRUE | BOOLEAN | 0x20000207
|
|
gPlatformModuleTokenSpaceGuid.PcdStage1AXip | TRUE | BOOLEAN | 0x20000208
|
|
gPlatformModuleTokenSpaceGuid.PcdLoadImageUseFsp | FALSE | BOOLEAN | 0x20000209
|
|
gPlatformModuleTokenSpaceGuid.PcdVtdEnabled | FALSE | BOOLEAN | 0x2000020B
|
|
gPlatformModuleTokenSpaceGuid.PcdS3DebugEnabled | FALSE | BOOLEAN | 0x2000020D
|
|
gPlatformModuleTokenSpaceGuid.PcdPsdBiosEnabled | FALSE | BOOLEAN | 0x2000020E
|
|
gPlatformModuleTokenSpaceGuid.PcdSmbiosEnabled | FALSE | BOOLEAN | 0x2000020F
|
|
gPlatformModuleTokenSpaceGuid.PcdLinuxPayloadEnabled | FALSE | BOOLEAN | 0x20000210
|
|
|