From 2ff92cf2aebe3a468a9daa9d3fbae2e0b702cfac Mon Sep 17 00:00:00 2001 From: Tuan Phan Date: Thu, 22 May 2025 16:34:12 -0700 Subject: [PATCH] UefiCpuPkg/CpuDxeRiscV64: Retrieve booting info from SEC HOB data The booting info is now stored in SEC HOB GUID data. Signed-off-by: Tuan Phan --- UefiCpuPkg/CpuDxeRiscV64/CpuDxe.c | 18 ++++++++---------- UefiCpuPkg/CpuDxeRiscV64/CpuDxe.h | 2 ++ 2 files changed, 10 insertions(+), 10 deletions(-) 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