1 | ## @file
|
---|
2 | # Provides driver and definitions to build fsp in EDKII bios.
|
---|
3 | #
|
---|
4 | # Copyright (c) 2014 - 2022, Intel Corporation. All rights reserved.<BR>
|
---|
5 | # SPDX-License-Identifier: BSD-2-Clause-Patent
|
---|
6 | #
|
---|
7 | ##
|
---|
8 |
|
---|
9 | [Defines]
|
---|
10 | DEC_SPECIFICATION = 0x00010005
|
---|
11 | PACKAGE_NAME = IntelFsp2Pkg
|
---|
12 | PACKAGE_GUID = A8C53B5E-D556-4F3E-874D-0D6FA2CDC7BF
|
---|
13 | PACKAGE_VERSION = 0.1
|
---|
14 |
|
---|
15 | [Includes]
|
---|
16 | Include
|
---|
17 |
|
---|
18 | [LibraryClasses]
|
---|
19 | ## @libraryclass Provides cache-as-ram support.
|
---|
20 | CacheAsRamLib|Include/Library/CacheAsRamLib.h
|
---|
21 |
|
---|
22 | ## @libraryclass Provides cache setting on MTRR.
|
---|
23 | CacheLib|Include/Library/CacheLib.h
|
---|
24 |
|
---|
25 | ## @libraryclass Provides debug device abstraction.
|
---|
26 | DebugDeviceLib|Include/Library/DebugDeviceLib.h
|
---|
27 |
|
---|
28 | ## @libraryclass Provides FSP related services.
|
---|
29 | FspCommonLib|Include/Library/FspCommonLib.h
|
---|
30 |
|
---|
31 | ## @libraryclass Provides FSP platform related actions.
|
---|
32 | FspPlatformLib|Include/Library/FspPlatformLib.h
|
---|
33 |
|
---|
34 | ## @libraryclass Provides FSP switch stack function.
|
---|
35 | FspSwitchStackLib|Include/Library/FspSwitchStackLib.h
|
---|
36 |
|
---|
37 | ## @libraryclass Provides FSP platform sec related actions.
|
---|
38 | FspSecPlatformLib|Include/Library/FspSecPlatformLib.h
|
---|
39 |
|
---|
40 | ## @libraryclass Provides FSP MultiPhase service functions.
|
---|
41 | FspMultiPhaseLib|Include/Library/FspMultiPhaseLib.h
|
---|
42 |
|
---|
43 | [Ppis]
|
---|
44 | #
|
---|
45 | # PPI to indicate FSP is ready to enter notify phase
|
---|
46 | # This provides flexibility for any late initialization that must be done right before entering notify phase.
|
---|
47 | #
|
---|
48 | gFspReadyForNotifyPhasePpiGuid = { 0xcd167c1e, 0x6e0b, 0x42b3, {0x82, 0xf6, 0xe3, 0xe9, 0x06, 0x19, 0x98, 0x10}}
|
---|
49 |
|
---|
50 | #
|
---|
51 | # PPI as dependency on some modules which only required for API mode
|
---|
52 | #
|
---|
53 | gFspInApiModePpiGuid = { 0xa1eeab87, 0xc859, 0x479d, {0x89, 0xb5, 0x14, 0x61, 0xf4, 0x06, 0x1a, 0x3e}}
|
---|
54 |
|
---|
55 | #
|
---|
56 | # PPI for Architectural configuration data for FSP-M
|
---|
57 | #
|
---|
58 | gFspmArchConfigPpiGuid = { 0x824d5a3a, 0xaf92, 0x4c0c, {0x9f, 0x19, 0x19, 0x52, 0x6d, 0xca, 0x4a, 0xbb}}
|
---|
59 |
|
---|
60 | #
|
---|
61 | # PPI to tear down the temporary memory set up by TempRamInit ().
|
---|
62 | #
|
---|
63 | gFspTempRamExitPpiGuid = { 0xbc1cfbdb, 0x7e50, 0x42be, {0xb4, 0x87, 0x22, 0xe0, 0xa9, 0x0c, 0xb0, 0x52}}
|
---|
64 |
|
---|
65 | #
|
---|
66 | # PPI for Variable Services
|
---|
67 | #
|
---|
68 | gEdkiiPeiVariablePpiGuid = { 0xe7b2cd04, 0x4b14, 0x44c2, {0xb7, 0x48, 0xce, 0xaf, 0x2b, 0x66, 0x4a, 0xb0}}
|
---|
69 |
|
---|
70 |
|
---|
71 | [Guids]
|
---|
72 | #
|
---|
73 | # GUID defined in package
|
---|
74 | #
|
---|
75 | gIntelFsp2PkgTokenSpaceGuid = { 0xed6e0531, 0xf715, 0x4a3d, { 0x9b, 0x12, 0xc1, 0xca, 0x5e, 0xf6, 0x98, 0xa2 } }
|
---|
76 |
|
---|
77 | # Guid define in FSP EAS
|
---|
78 | gFspHeaderFileGuid = { 0x912740BE, 0x2284, 0x4734, { 0xB9, 0x71, 0x84, 0xB0, 0x27, 0x35, 0x3F, 0x0C } }
|
---|
79 | gFspReservedMemoryResourceHobGuid = { 0x69a79759, 0x1373, 0x4367, { 0xa6, 0xc4, 0xc7, 0xf5, 0x9e, 0xfd, 0x98, 0x6e } }
|
---|
80 | gFspNonVolatileStorageHob2Guid = { 0x4866788f, 0x6ba8, 0x47d8, { 0x83, 0x06, 0xac, 0xf7, 0x7f, 0x55, 0x10, 0x46 } }
|
---|
81 | gFspNonVolatileStorageHobGuid = { 0x721acf02, 0x4d77, 0x4c2a, { 0xb3, 0xdc, 0x27, 0x0b, 0x7b, 0xa9, 0xe4, 0xb0 } }
|
---|
82 | gFspBootLoaderTolumHobGuid = { 0x73ff4f56, 0xaa8e, 0x4451, { 0xb3, 0x16, 0x36, 0x35, 0x36, 0x67, 0xad, 0x44 } } # FSP EAS v1.1
|
---|
83 |
|
---|
84 | gFspPerformanceDataGuid = { 0x56ed21b6, 0xba23, 0x429e, { 0x89, 0x32, 0x37, 0x6d, 0x8e, 0x18, 0x2e, 0xe3 } }
|
---|
85 | gFspEventEndOfFirmwareGuid = { 0xbd44f629, 0xeae7, 0x4198, { 0x87, 0xf1, 0x39, 0xfa, 0xb0, 0xfd, 0x71, 0x7e } }
|
---|
86 |
|
---|
87 | [PcdsFixedAtBuild]
|
---|
88 | gIntelFsp2PkgTokenSpaceGuid.PcdGlobalDataPointerAddress |0xFED00108|UINT32|0x00000001
|
---|
89 | gIntelFsp2PkgTokenSpaceGuid.PcdTemporaryRamBase |0xFEF00000|UINT32|0x10001001
|
---|
90 | gIntelFsp2PkgTokenSpaceGuid.PcdTemporaryRamSize | 0x2000|UINT32|0x10001002
|
---|
91 | gIntelFsp2PkgTokenSpaceGuid.PcdFspTemporaryRamSize | 0x1000|UINT32|0x10001003
|
---|
92 | gIntelFsp2PkgTokenSpaceGuid.PcdFspReservedBufferSize | 0x100|UINT32|0x10001004
|
---|
93 | gIntelFsp2PkgTokenSpaceGuid.PcdFspMaxPerfEntry | 32|UINT32|0x00002001
|
---|
94 | gIntelFsp2PkgTokenSpaceGuid.PcdFspMaxPatchEntry | 6|UINT32|0x00002002
|
---|
95 | gIntelFsp2PkgTokenSpaceGuid.PcdFspAreaBaseAddress |0xFFF80000|UINT32|0x10000001
|
---|
96 | gIntelFsp2PkgTokenSpaceGuid.PcdFspAreaSize |0x00040000|UINT32|0x10000002
|
---|
97 | gIntelFsp2PkgTokenSpaceGuid.PcdFspBootFirmwareVolumeBase|0xFFF80000|UINT32|0x10000003
|
---|
98 | gIntelFsp2PkgTokenSpaceGuid.PcdFspHeaderSpecVersion | 0x20| UINT8|0x00000002
|
---|
99 |
|
---|
100 | #
|
---|
101 | # x % of FSP temporary memory will be used for heap
|
---|
102 | # (100 - x) % of FSP temporary memory will be used for stack
|
---|
103 | # 0 means FSP will share the stack with boot loader and FSP temporary memory is heap
|
---|
104 | # Note: This mode assumes boot loader stack is large enough for FSP to use.
|
---|
105 | #
|
---|
106 | gIntelFsp2PkgTokenSpaceGuid.PcdFspHeapSizePercentage | 50| UINT8|0x10000004
|
---|
107 | #
|
---|
108 | # Maximal Interrupt supported in IDT table.
|
---|
109 | #
|
---|
110 | gIntelFsp2PkgTokenSpaceGuid.PcdFspMaxInterruptSupported | 34| UINT8|0x10000005
|
---|
111 | #
|
---|
112 | # Allows FSP-M to reserve a section of Temporary RAM for implementation specific use.
|
---|
113 | # Reduces the amount of memory available for the PeiCore heap.
|
---|
114 | #
|
---|
115 | gIntelFsp2PkgTokenSpaceGuid.PcdFspPrivateTemporaryRamSize |0x00000000|UINT32|0x10000006
|
---|
116 |
|
---|
117 | [PcdsFixedAtBuild,PcdsDynamic,PcdsDynamicEx]
|
---|
118 | gIntelFsp2PkgTokenSpaceGuid.PcdFspReservedMemoryLength |0x00100000|UINT32|0x46530000
|
---|
119 | gIntelFsp2PkgTokenSpaceGuid.PcdBootLoaderEntry |0xFFFFFFE4|UINT32|0x46530100
|
---|
120 | #
|
---|
121 | # Different FSP Components may have different NumberOfPhases which can be defined
|
---|
122 | # by each FspSecCore module from DSC.
|
---|
123 | #
|
---|
124 | gIntelFsp2PkgTokenSpaceGuid.PcdMultiPhaseNumberOfPhases |0x00000000|UINT32|0x46530101
|
---|