Ranbir Singh
48c53994e6
IntelFsp2Pkg/Library/BaseFspCommonLib: Fix OVERRUN Coverity issue
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4200
FspData->PerfIdx is getting increased for every call unconditionally
in the function SetFspMeasurePoint and hence memory access can happen
for out of bound FspData->PerfData[] array entries also.
Example -
FspData->PerfData is an array of 32 UINT64 entries. Assume a call
is made to SetFspMeasurePoint function when the FspData->PerfIdx
last value is 31. It gets incremented to 32 at line 400.
Any subsequent call to SetFspMeasurePoint functions leads to
FspData->PerfData[32] getting accessed which is out of the PerfData
array as well as the FSP_GLOBAL_DATA structure boundary.
Hence keep array access and index increment inside if block only and
return invalid performance timestamp when PerfIdx is invalid.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Ranbir Singh <rsingh@ventanamicro.com >
Acked-by: Pedro Falcato <pedro.falcato@gmail.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2023-05-30 05:13:36 +00:00
Duggapu, Chinni B
b16284e2a0
IntelFsp2Pkg/Tools: Enhance PathFv.py to patch Fd file directly
...
https://bugzilla.tianocore.org/show_bug.cgi?id=4412
After shrinking the FSP (FV) component using FMMT, Image size
in FSP info header is not in sync with the FV length in FV header.
This enhancement helps to patch the FSP image size offset with
correct length & can be used to patch any offset directly on
the FSP Component Fd.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ted Kuo <ted.kuo@intel.com >
Signed-off-by: Duggapu Chinni B <chinni.b.duggapu@intel.com >
Reviewed-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2023-04-18 06:09:25 +00:00
Chasel Chiu
7df447930c
IntelFsp2Pkg: LoadMicrocodeDefault() causing unnecessary delay.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4391
FSP should support the scenario that CPU microcode already loaded
before calling LoadMicrocodeDefault(), in this case it should return
directly without spending more time.
Also the LoadMicrocodeDefault() should only attempt to load one version
of the microcode for current CPU and return directly without parsing
rest of the microcode in FV.
This patch also removed unnecessary LoadCheck code after supporting
CPU microcode already loaded scenario.
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2023-04-04 17:18:20 +00:00
Chasel Chiu
af98f1fb03
IntelFsp2Pkg: TempRamInit API should preserve EBX/RBX register.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4395
FSP specification defines the TempRamInit API preserved register list
which including EBX/RBX, however current implementation unexpectedly
overriding EBX/RBX register that should be fixed.
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2023-04-04 16:39:41 +00:00
Chasel Chiu
f6bd3286ed
IntelFsp2Pkg: Fix NASM X64 build warnings.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4377
Fix below warnings generated by NASM X64 build:
/X64/FspHelper.iii:26: warning: signed dword value exceeds bounds
/X64/FspHelper.iii:35: warning: signed dword value exceeds bounds
/X64/FspApiEntryT.iii:320: warning: dword data exceeds bounds
Also replaced "cmp reg, 0" with "test reg, reg" per optimization
suggestion.
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2023-03-24 23:49:07 +00:00
Yu Pu
fa78edc57e
IntelFsp2Pkg: Remove UefiCpuLib from module INFs.
...
Because UefiCpuPkg/UefiCpuLib is merged to MdePkg/CpuLib, remove the
dependency of UefiCpuLib.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Yu Pu <yu.pu@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2023-03-10 08:23:56 +00:00
S, Ashraf Ali
8820767fb3
IntelFsp2Pkg: Fix GCC Compiler warning.
...
Function definition should match with declaration.
[-Wlto-type-mismatch]
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Sai Chaganty <rangasai.v.chaganty@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Ashraf Ali S <ashraf.ali.s@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com >
Reviewed-by: Star Zeng <star.zeng@intel.com >
2023-03-10 02:04:51 +00:00
Kuo, Ted
3182843f3b
IntelFsp2Pkg: Improvement of supporting null UPD pointer in FSP-T
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4114
1.Use xmm5 slot 1 and xmm6 slot 3 to save ucode status and UPD pointer
respectively in TempRamInitApi in IA32 FspSecCoreT.
2.Correct inappropriate description in the return value of
AsmGetFspInfoHeader.
3.Replace hardcoded offset value 0x1C with FSP_HEADER_IMGBASE_OFFSET in
FspHeler.nasm.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Cc: Chinni B Duggapu <chinni.b.duggapu@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-11-11 04:46:39 +00:00
Chasel Chiu
b84f32ae5b
IntelFsp2Pkg: FSP should support input UPD as NULL.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4114
FSP specification supports input UPD as NULL cases which FSP will
use built-in UPD region instead.
FSP should not return INVALID_PARAMETER in such cases.
In FSP-T entry point case, the valid FSP-T UPD region pointer will be
passed to platform FSP code to consume.
In FSP-M and FSP-S cases, valid UPD pointer will be decided when
updating corresponding pointer field in FspGlobalData.
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
Reviewed-by: Ted Kuo <ted.kuo@intel.com >
2022-11-04 03:04:51 +00:00
Chasel Chiu
c46204e25f
IntelFsp2Pkg: Update Function header to support IA32/X64.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4126
Common functions will have either 32bit or 64bit instances which
having different return code size. Function header should support both
scenarios.
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-11-02 18:33:31 +00:00
Michael Kubacki
28b16c01cf
IntelFsp2Pkg: Add CI YAML file
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4048
Adds IntelFsp2Pkg to the list of supported build packages for edk2
CI and defines an initial set of CI configuration options.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Michael D Kinney <michael.d.kinney>
2022-10-04 16:53:59 +00:00
Michael Kubacki
a62bd922aa
IntelFsp2Pkg/BaseFspMultiPhaseLib: Replace duplicate GUID
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4048
The FILE_GUID for this library instance file is a duplicate of
Library/SecFspSecPlatformLibNull/SecFspSecPlatformLibNull.inf.
This change replaces the duplicated GUID value with a unique GUID.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Michael D Kinney <michael.d.kinney>
2022-10-04 16:53:59 +00:00
Michael Kubacki
629709a51d
IntelFsp2Pkg: Fix code formatting errors
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4048
This package did not have CI enabled so code changes were merged
that fail uncrustify formatting. This change updates those files
to include uncustify formatting.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Michael D Kinney <michael.d.kinney>
2022-10-04 16:53:59 +00:00
Chasel Chiu
f46c7d1e36
IntelFsp2Pkg: Fix FspSecCoreI build failure.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4049
Link error occurred in certain compiling environment when building
FspSecCoreI: unresolved external symbol _TempRamInitApi.
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-09-15 17:28:34 +00:00
Kuo, Ted
981bf66d5a
IntelFsp2Pkg: NvsBufferPtr is missing in Fsp24ApiEntryM.nasm
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4063
Added NvsBufferPtr to FSPM_UPD_COMMON_FSP24 in Fsp24ApiEntryM.nasm to
align with FSP 2.4 SPEC.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Cc: Chinni B Duggapu <chinni.b.duggapu@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2022-09-15 16:59:57 +00:00
Chasel Chiu
3d35a6c243
IntelFsp2Pkg: Adopt FSP 2.4 MultiPhase functions.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3916
Adopt MultiPhase functions for both FspSecCoreS and FspSecCoreM.
For backward compatibility, new INF are created for new modules.
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-09-07 04:21:15 +00:00
Chasel Chiu
df25a5457f
IntelFsp2Pkg: Add FSP 2.4 MultiPhase interface.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3916
Provide FSP 2.4 MultiPhase interface and scripts
support.
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-08-31 16:48:07 +00:00
Chasel Chiu
a2b61de2f6
IntelFsp2Pkg: FSPM_ARCH2_UPD mismatching bug.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4019
FSPM_ARCH2_UPD in FspApiEntryM.nasm was not up-to-date and
should be fixed for both IA32 and X64 builds.
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Star Zeng <star.zeng@intel.com >
2022-08-15 08:03:06 +00:00
Chasel Chiu
0d0bfcb457
IntelFsp2Pkg: Fix GenCfgOpt bug for FSPI_UPD support.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3993
Fixed a logic bug in GenCfgOpt.py to skip FSPI_UPD when platforms
do not support.
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Star Zeng <star.zeng@intel.com >
2022-07-29 03:07:28 +00:00
Chasel Chiu
3eca64f157
IntelFsp2Pkg: FSPI_UPD is not mandatory.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3993
FSPI_UPD is required only When platforms implemented FSP_I component.
Updated the scripts to allow FSPI_UPD not present scenario.
Also fixed FSP_GLOBAL_DATA structure alignment issue and unnecessary
non-backward compatibility change in previous FSP_I patch.
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Star Zeng <star.zeng@intel.com >
2022-07-28 16:41:41 +00:00
Chasel Chiu
5a3641bfcd
IntelFsp2Pkg: Add FSPI_ARCH_UPD.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3993
Adding the missing FSPI_ARCH_UPD, FSP_GLOBAL_DATA_VERSION bumpping up,
and some comments for clarification.
Also fixed a bug in SplitFspBin.py for FSP-I support.
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-07-22 18:13:19 +00:00
Hongbin1 Zhang
4824924377
IntelFsp2Pkg/FspSecCore: Add FSP-I API for SMM support.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3993
Add FSP-I API entry point for SMM support.
Also update 64bit API entry code to assign ApiIdx to RAX
to avoid confusion.
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Signed-off-by: Hongbin1 Zhang <hongbin1.zhang@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-07-20 02:15:55 +00:00
Chasel Chiu
140446cd59
IntelFsp2Pkg: Support 64bit FspResetType for X64 build.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3999
FspResetType will be either 32bit or 64 bit basing on
the build type.
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-07-19 22:24:31 +00:00
Nate DeSimone
c966204049
IntelFsp2Pkg: Add Definition of EDKII_PEI_VARIABLE_PPI
...
Adds definition of EDKII_PEI_VARIABLE_PPI.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-07-18 20:42:55 +00:00
Kuo, Ted
470206ba7f
IntelFsp2Pkg: Update SEC_IDT_TABLE struct
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3957
The reserved IDT table size in SecCore is too small for X64. Changed the type
of IdtTable in SEC_IDT_TABLE from UINT64 to IA32_IDT_GATE_DESCRIPTOR to have
sufficient size reserved in IdtTable for X64.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2022-07-14 18:13:44 +00:00
Duggapu, Chinni B
11d8abcba2
IntelFsp2Pkg: FSP_TEMP_RAM_INIT call must follow X64 Calling Convention
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3926
This API accept one parameter using RCX and this is consumed
in mutiple sub functions.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: cbduggap <chinni.b.duggapu@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2022-05-31 11:14:20 +00:00
Loo, Tung Lun
fa2b212d61
IntelFsp2Pkg: Add FSP 2.3 header support
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3921
This patch adds a couple of fields supported in FSP 2.3 header from
both header generation and tool support perspective.
Signed-off-by: Loo Tung Lun <tung.lun.loo@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2022-05-31 02:04:13 +00:00
Yu Pu
a63b086e69
IntelFsp2Pkg: Add CpuLib to module INFs that depend on UefiCpuLib
...
There are two libraries: MdePkg/CpuLib and UefiCpuPkg/UefiCpuLib and
UefiCpuPkg/UefiCpuLib will be merged to MdePkg/CpuLib. To avoid build
failure, add CpuLib dependency to all modules that depend on UefiCpuLib.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Yu Pu <yu.pu@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2022-05-06 07:48:15 +00:00
Ted Kuo
6bec5a66ea
IntelFsp2Pkg: SecFspSecPlatformLibNull support for X64
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3893
1.Added SecFspSecPlatformLibNull support for X64.
2.Added X64 support to IntelFsp2Pkg.dsc.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-04-16 00:18:14 +00:00
Ted Kuo
00aa71ce20
IntelFsp2Pkg: FspSecCore support for X64
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3893
1.Added FspSecCore support for X64.
2.Bumped FSP header revision to 7 to indicate FSP 64bit is supported.
3.Corrected few typos.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-04-16 00:18:14 +00:00
Ted Kuo
d40965b987
IntelFsp2Pkg: Update FSP_GLOBAL_DATA and FSP_PLAT_DATA for X64
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3893
Updated FSP_GLOBAL_DATA and FSP_PLAT_DATA structures to support
both IA32 and X64.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-04-16 00:18:14 +00:00
Ted Kuo
6f219bef55
IntelFsp2Pkg: Add FSPx_ARCH2_UPD support for X64
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3893
1.Added FSPx_ARCH2_UPD structures which support both IA32 and X64.
2.Added FSPx_UPD_COMMON_FSP24 structures.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-04-16 00:18:14 +00:00
Ted Kuo
630df8c86e
IntelFsp2Pkg: X64 compatible changes to support PEI in 64bit
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3893
1.Added EFIAPI to FspNotifyPhasePeimEntryPoint, SwapStack and
PEI_CORE_ENTRY.
2.Treat both MAX_ADDRESS and MAX_UINT32 as invalid address for
FSP global data in FspApiCallingCheck().
3.Changed AsmReadEsp to AsmReadStackPointer.
4.Changed the type of the return value of AsmReadStackPointer
from UINT32 to UINTN.
5.Changed the type of TemporaryMemoryBase, PermenentMemoryBase
and BootLoaderStack from UINT32 to UINTN.
6.Some type casting to pointers are UINT32. Changed them to
UINTN to accommodate both IA32 and X64.
7.Corrected some typos.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-04-16 00:18:14 +00:00
Kuo, Ted
ec0b54849b
IntelFsp2Pkg: BaseFspCommonLib Support for X64
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3867
Add BaseFspCommonLib Support for X64.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2022-03-22 07:56:09 +00:00
Kuo, Ted
411b3ff6dd
IntelFsp2Pkg: BaseFspSwitchStackLib Support for X64
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3832
Add BaseFspSwitchStackLib Support for X64.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2022-03-17 13:23:28 +00:00
Kuo, Ted
0531f61376
IntelFsp2Pkg: BaseFspDebugLibSerialPort Support for X64
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3833
Add BaseFspDebugLibSerialPort Support for X64.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Cc: Ted Kuo <ted.kuo@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2022-03-17 12:58:54 +00:00
Chasel Chiu
7935be0fbd
IntelFsp2Pkg/FspSecCore: ExtendedImageRevision was not printed.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3791
ExtendedImageRevision should be printed when Header revision >= 6.
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Star Zeng <star.zeng@intel.com >
2021-12-29 02:03:25 +00:00
Michael Kubacki
111f2228dd
IntelFsp2Pkg: Apply uncrustify changes
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737
Apply uncrustify changes to .c/.h files in the IntelFsp2Pkg package
Cc: Andrew Fish <afish@apple.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2021-12-07 17:24:28 +00:00
Zeng, Star
939c2355da
IntelFsp2Pkg SplitFspBin.py: Correct file name in file header
...
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2021-11-01 04:32:36 +00:00
Chasel Chiu
9a95d11023
IntelFsp2Pkg/SplitFspBin.py: adopt FSP 2.3 specification.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3705
FSP 2.3 has updated FSP_INFO_HEADER to support ExtendedImageRevision
and SplitFspBin.py needs to support it.
Also updated script to display integer value basing on length.
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Maurice Ma <maurice.ma@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
Reviewed-by: Star Zeng <star.zeng@intel.com >
2021-10-27 11:54:06 +00:00
Chasel Chiu
4cc1458dbe
IntelFsp2Pkg: Adopt FSP 2.3 specification.
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3674
Add ExtendedImageRevision in FSP_INFO_HEADER structure, also add
FSP_NON_VOLATILE_STORAGE_HOB2 header.
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2021-10-04 00:57:30 +00:00
Loo, Tung Lun
12e33dca4c
IntelFsp2Pkg: Support Config File and Binary delta comparison
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3567
This patch is to enable config editor to have a new feature that
can spell out the delta between the default configuration files'
data, such as YAML and BSF, against the data stored in the binary.
This can help users understand and track the difference when
modifications are made.
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Signed-off-by: Loo Tung Lun <tung.lun.loo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2021-09-01 12:40:26 +00:00
Loo, Tung Lun
cac83b6f3b
IntelFsp2Pkg: Add search function for Config Editor
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3482
This patch adds a search function in the Config Editor GUI at
the top right corner. Once users key in the words to search,
it will look for the option containing the string in the
same page and display it. It also includes a README for this
function.
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Signed-off-by: Loo Tung Lun <tung.lun.loo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2021-07-15 14:21:14 +00:00
S, Ashraf Ali
91f5d3b410
IntelFsp2Pkg: BaseCacheLib EfiProgramMtrr MtrrNumber Should be UINT32
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3485
CacheLib EfiProgramMtrr Function takes MTRR number as a input parameter,
in the function the parameter is defined as UINTN were as the caller
calling MTTR number in UINT32.
Signed-off-by: Ashraf Ali S <ashraf.ali.s@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Digant H Solanki <digant.h.solanki@intel.com >
Cc: Sangeetha V <sangeetha.v@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2021-07-14 03:54:44 +00:00
S, Ashraf Ali
b560e9d9b6
IntelFsp2Pkg: PatchFv parseInfFile function modification
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3476
parseInfFile currently reading the EFI_BASE_ADDRESS from INF, once the
address found still it's continues to read the complete inf file which
is not required. once the EFI_BASE_ADDRESS read from the INF no need to
read the INF further.
MSFT compiler can generate the map file address 8 or 16 based on which
architecture the INF is compiler. currently it's support for IA32,
modified the patchfv to support for all.
modification of few typo errors in parseModMapFile, getCurr function
required
verification : Working Fine
Signed-off-by: Ashraf Ali S <ashraf.ali.s@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2021-07-08 06:49:09 +00:00
Loo, Tung Lun
580b11201e
IntelFsp2Pkg: Add Config Editor tool support
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3396
This is a GUI interface that can be used by users who
would like to change configuration settings directly
from the interface without having to modify the source.
This tool depends on Python GUI tool kit Tkinter.
It runs on both Windows and Linux.
The user needs to load the YAML file along with DLT file
for a specific board into the ConfigEditor, change the desired
configuration values. Finally, generate a new configuration delta
file or a config binary blob for the newly changed values to take
effect. These will be the inputs to the merge tool or the stitch
tool so that new config changes can be merged and stitched into
the final configuration blob.
This tool also supports binary update directly and display FSP
information. It is also backward compatible for BSF file format.
Running Configuration Editor:
python ConfigEditor.py
Co-authored-by: Maurice Ma <maurice.ma@intel.com >
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Signed-off-by: Loo Tung Lun <tung.lun.loo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2021-06-30 03:56:59 +00:00
Loo, Tung Lun
1fbf5e30ae
IntelFsp2Pkg: YAML script bug fix
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3395
This patch fixes the issue observed during
BSF file to YAML file conversion. It also
addresses the issue during multibyte array
data conversion check, for example the data
representation of 0xFFFF instead of 0xFF, 0xFF
would be thrown exception "Array size is not
proper" without this patch.
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Signed-off-by: Loo Tung Lun <tung.lun.loo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2021-05-18 00:46:45 +00:00
Dandan Bi
2ee287b9fd
IntelFsp2Pkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3246
MdeLibs.dsc.inc was added for some basic/default library
instances provided by MdePkg and RegisterFilterLibNull Library
was also added into it as the first version of MdeLibs.dsc.inc.
So update platform dsc to consume MdeLibs.dsc.inc for
RegisterFilterLibNull which will be consumed by IoLib and BaseLib.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Dandan Bi <dandan.bi@intel.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2021-03-31 05:47:10 +00:00
Loo Tung Lun
273261126e
IntelFsp2Pkg: Add YAML file generation support
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3091
Add support for YAML format file generation in addition
to current BSF structure. Configuration of YAML format
output will be supported by an open source ConfigEditor.
Reference to YAML code, test and ConfigEditor is at
https://github.com/joshloo/fsp_yaml_cfg/tree/master/Tools
A unit test is also added in Tests folder. This test compares
the generated yaml file against the expected output to know
if it is constructing the yaml data structure as expected.
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Signed-off-by: Loo Tung Lun <tung.lun.loo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2021-02-09 08:23:03 +00:00
Chasel Chiu
379e5098a4
IntelFsp2Pkg: Support FSP private temporary memory.
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3153
In FSP the temporary memory provided by bootloader typically will be
totally given to PeiCore as Heap, but in some cases FSP may have to
reserve some more temporary memory for private usage.
This commit adds this flexibility for FSP to reserve some
temporary memory before giving them to PeiCore.
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
Reviewed-by: Star Zeng <star.zeng@intel.com >
2021-01-07 02:35:50 +00:00