diff --git a/UefiCpuPkg/CpuDxeRiscV64/CpuDxe.c b/UefiCpuPkg/CpuDxeRiscV64/CpuDxe.c index e51b4a7a75..6bbcdaca36 100644 --- a/UefiCpuPkg/CpuDxeRiscV64/CpuDxe.c +++ b/UefiCpuPkg/CpuDxeRiscV64/CpuDxe.c @@ -331,19 +331,17 @@ InitializeCpu ( IN EFI_SYSTEM_TABLE *SystemTable ) { - EFI_STATUS Status; - EFI_RISCV_FIRMWARE_CONTEXT *FirmwareContext; + EFI_STATUS Status; + VOID *Hob; + RISCV_SEC_HANDOFF_DATA *SecData; + const EFI_GUID SecHobDataGuid = RISCV_SEC_HANDOFF_HOB_GUID; - GetFirmwareContextPointer (&FirmwareContext); - ASSERT (FirmwareContext != NULL); - if (FirmwareContext == NULL) { - DEBUG ((DEBUG_ERROR, "Failed to get the pointer of EFI_RISCV_FIRMWARE_CONTEXT\n")); - return EFI_NOT_FOUND; - } + Hob = GetFirstGuidHob (&SecHobDataGuid); + ASSERT (Hob != NULL); - DEBUG ((DEBUG_INFO, " %a: Firmware Context is at 0x%x.\n", __func__, FirmwareContext)); + SecData = GET_GUID_HOB_DATA (Hob); + mBootHartId = SecData->BootHartId; - mBootHartId = FirmwareContext->BootHartId; DEBUG ((DEBUG_INFO, " %a: mBootHartId = 0x%x.\n", __func__, mBootHartId)); InitializeCpuExceptionHandlers (NULL); diff --git a/UefiCpuPkg/CpuDxeRiscV64/CpuDxe.h b/UefiCpuPkg/CpuDxeRiscV64/CpuDxe.h index 721d1ff868..347c6ed823 100644 --- a/UefiCpuPkg/CpuDxeRiscV64/CpuDxe.h +++ b/UefiCpuPkg/CpuDxeRiscV64/CpuDxe.h @@ -12,6 +12,7 @@ #include +#include #include #include #include @@ -22,6 +23,7 @@ #include #include #include +#include #include #include #include