REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3334 IntelFsp2WrapperPkg defines following PCDs: PcdCpuMicrocodePatchAddress PcdCpuMicrocodePatchRegionSize PcdFlashMicrocodeOffset But the PCD name caused confusion because UefiCpuPkg defines: PcdCpuMicrocodePatchAddress PcdCpuMicrocodePatchRegionSize PcdCpuMicrocodePatchAddress in IntelFsp2WrapperPkg means the base address of the FV that holds the microcode. PcdCpuMicrocodePatchAddress in UefiCpuPkg means the address of the microcode. The relationship between the PCDs is: IntelFsp2WrapperPkg.PcdCpuMicrocodePatchAddress + IntelFsp2WrapperPkg.PcdFlashMicrocodeOffset == UefiCpuPkg.PcdCpuMicrocodePatchAddress IntelFsp2WrapperPkg.PcdCpuMicrocodePatchRegionSize - IntelFsp2WrapperPkg.PcdFlashMicrocodeOffset == UefiCpuPkg.PcdCpuMicrocodePatchRegionSize To avoid confusion and actually the PCDs in IntelFsp2WrapperPkg are only used by a sample FSP-T wrapper, this patch removes the 3 PCDs defined in IntelFsp2WrapperPkg. The FSP-T wrapper is updated to directly use the ones in UefiCpuPkg. Signed-off-by: Jason Lou <yun.lou@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: Ray Ni <ray.ni@intel.com> Reviewed-by: Chasel Chiu <chasel.chiu@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
62 lines
1.6 KiB
C
62 lines
1.6 KiB
C
/** @file
|
|
Sample to provide TempRamInitParams data.
|
|
|
|
Copyright (c) 2014 - 2021, Intel Corporation. All rights reserved.<BR>
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#include <Library/PcdLib.h>
|
|
#include <FspEas.h>
|
|
|
|
typedef struct {
|
|
UINT32 MicrocodeRegionBase;
|
|
UINT32 MicrocodeRegionSize;
|
|
UINT32 CodeRegionBase;
|
|
UINT32 CodeRegionSize;
|
|
} FSPT_CORE_UPD;
|
|
|
|
typedef struct {
|
|
FSP_UPD_HEADER FspUpdHeader;
|
|
//
|
|
// If platform does not support FSP spec 2.2 remove FSPT_ARCH_UPD structure.
|
|
//
|
|
FSPT_ARCH_UPD FsptArchUpd;
|
|
FSPT_CORE_UPD FsptCoreUpd;
|
|
} FSPT_UPD_CORE_DATA;
|
|
|
|
GLOBAL_REMOVE_IF_UNREFERENCED CONST FSPT_UPD_CORE_DATA FsptUpdDataPtr = {
|
|
{
|
|
0x4450555F54505346,
|
|
//
|
|
// UPD header revision must be equal or greater than 2 when the structure is compliant with FSP spec 2.2.
|
|
//
|
|
0x02,
|
|
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
}
|
|
},
|
|
//
|
|
// If platform does not support FSP spec 2.2 remove FSPT_ARCH_UPD structure.
|
|
//
|
|
{
|
|
0x01,
|
|
{
|
|
0x00, 0x00, 0x00
|
|
},
|
|
0x00000020,
|
|
0x00000000,
|
|
{
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
}
|
|
},
|
|
{
|
|
FixedPcdGet32 (PcdCpuMicrocodePatchAddress),
|
|
FixedPcdGet32 (PcdCpuMicrocodePatchRegionSize),
|
|
FixedPcdGet32 (PcdFlashCodeCacheAddress),
|
|
FixedPcdGet32 (PcdFlashCodeCacheSize),
|
|
}
|
|
};
|
|
|