UefiCpuPkg: Split the path in RelocateApLoop into two.

Add the union RELOCATE_AP_LOOP_ENTRY, split the path in RelocateApLoop
 into two:
 1. 64-bit AMD processors with SEV-ES
 2. Intel processors (32-bit or 64-bit), 32-bit AMD processors, or
 64-bit AMD processors without SEV-ES.

Cc: Guo Dong <guo.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Sean Rhodes <sean@starlabs.systems>
Cc: James Lu <james.lu@intel.com>
Cc: Gua Guo <gua.guo@intel.com>
Signed-off-by: Yuanhao Xie <yuanhao.xie@intel.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Tested-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
This commit is contained in:
Xie, Yuanhao
2023-03-01 14:09:48 +08:00
committed by mergify[bot]
parent 0c3f8766b0
commit a6f799e7fd
2 changed files with 48 additions and 28 deletions

View File

@@ -402,6 +402,12 @@ AsmExchangeRole (
IN CPU_EXCHANGE_ROLE_INFO *OthersInfo
);
typedef union {
VOID *Data;
ASM_RELOCATE_AP_LOOP AmdSevEntry; // 64-bit AMD Sev processors
ASM_RELOCATE_AP_LOOP GenericEntry; // Intel processors (32-bit or 64-bit), 32-bit AMD processors, or AMD non-Sev processors
} RELOCATE_AP_LOOP_ENTRY;
/**
Get the pointer to CPU MP Data structure.