IntelFsp2Pkg: Align FSP global data pointer for X64 build

When it used 32 bits for set FSP global data pointer under X64 build,
it should get FSP global data pointer with 32 bits data under X64 build.

Signed-off-by: Hongbin1 Zhang <hongbin1.zhang@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Duggapu Chinni B <chinni.b.duggapu@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Ted Kuo <ted.kuo@intel.com>
Cc: Ashraf Ali S <ashraf.ali.s@intel.com>
This commit is contained in:
Hongbin1 Zhang 2024-07-26 10:16:42 +08:00 committed by mergify[bot]
parent a0ac7cf67a
commit 1fd2f9ec8f
2 changed files with 9 additions and 9 deletions

View File

@ -31,7 +31,7 @@ FspApiCallingCheck (
// //
// NotifyPhase check // NotifyPhase check
// //
if ((FspData == NULL) || ((UINTN)FspData == MAX_ADDRESS) || ((UINTN)FspData == MAX_UINT32)) { if ((FspData == NULL) || ((UINT32)(UINTN)FspData == MAX_UINT32)) {
Status = EFI_UNSUPPORTED; Status = EFI_UNSUPPORTED;
} else { } else {
if (FspData->Signature != FSP_GLOBAL_DATA_SIGNATURE) { if (FspData->Signature != FSP_GLOBAL_DATA_SIGNATURE) {
@ -42,7 +42,7 @@ FspApiCallingCheck (
// //
// FspMemoryInit check // FspMemoryInit check
// //
if (((UINTN)FspData != MAX_ADDRESS) && ((UINTN)FspData != MAX_UINT32)) { if ((UINT32)(UINTN)FspData != MAX_UINT32) {
Status = EFI_UNSUPPORTED; Status = EFI_UNSUPPORTED;
} else if (ApiParam == NULL) { } else if (ApiParam == NULL) {
Status = EFI_SUCCESS; Status = EFI_SUCCESS;
@ -53,7 +53,7 @@ FspApiCallingCheck (
// //
// TempRamExit check // TempRamExit check
// //
if ((FspData == NULL) || ((UINTN)FspData == MAX_ADDRESS) || ((UINTN)FspData == MAX_UINT32)) { if ((FspData == NULL) || ((UINT32)(UINTN)FspData == MAX_UINT32)) {
Status = EFI_UNSUPPORTED; Status = EFI_UNSUPPORTED;
} else { } else {
if (FspData->Signature != FSP_GLOBAL_DATA_SIGNATURE) { if (FspData->Signature != FSP_GLOBAL_DATA_SIGNATURE) {
@ -64,7 +64,7 @@ FspApiCallingCheck (
// //
// FspSiliconInit check // FspSiliconInit check
// //
if ((FspData == NULL) || ((UINTN)FspData == MAX_ADDRESS) || ((UINTN)FspData == MAX_UINT32)) { if ((FspData == NULL) || ((UINT32)(UINTN)FspData == MAX_UINT32)) {
Status = EFI_UNSUPPORTED; Status = EFI_UNSUPPORTED;
} else { } else {
if (FspData->Signature != FSP_GLOBAL_DATA_SIGNATURE) { if (FspData->Signature != FSP_GLOBAL_DATA_SIGNATURE) {
@ -83,14 +83,14 @@ FspApiCallingCheck (
} }
} }
} else if (ApiIdx == FspMultiPhaseMemInitApiIndex) { } else if (ApiIdx == FspMultiPhaseMemInitApiIndex) {
if ((FspData == NULL) || ((UINTN)FspData == MAX_ADDRESS) || ((UINTN)FspData == MAX_UINT32)) { if ((FspData == NULL) || ((UINT32)(UINTN)FspData == MAX_UINT32)) {
Status = EFI_UNSUPPORTED; Status = EFI_UNSUPPORTED;
} }
} else if (ApiIdx == FspSmmInitApiIndex) { } else if (ApiIdx == FspSmmInitApiIndex) {
// //
// FspSmmInitApiIndex check // FspSmmInitApiIndex check
// //
if ((FspData == NULL) || ((UINTN)FspData == MAX_ADDRESS) || ((UINTN)FspData == MAX_UINT32)) { if ((FspData == NULL) || ((UINT32)(UINTN)FspData == MAX_UINT32)) {
Status = EFI_UNSUPPORTED; Status = EFI_UNSUPPORTED;
} else { } else {
if (FspData->Signature != FSP_GLOBAL_DATA_SIGNATURE) { if (FspData->Signature != FSP_GLOBAL_DATA_SIGNATURE) {

View File

@ -89,10 +89,10 @@ GetFspGlobalDataPointer (
VOID VOID
) )
{ {
FSP_GLOBAL_DATA *FspData; UINT32 FspDataAddress;
FspData = *(FSP_GLOBAL_DATA **)(UINTN)PcdGet32 (PcdGlobalDataPointerAddress); FspDataAddress = *(UINT32 *)(UINTN)PcdGet32 (PcdGlobalDataPointerAddress);
return FspData; return (FSP_GLOBAL_DATA *)(UINTN)FspDataAddress;
} }
/** /**