[edk2-devel] [PATCH 9/9] UefiCpuPkg/MpInitLib: For SEV-ES guest set stack based on processor number

Laszlo Ersek lersek at redhat.com
Thu Oct 15 09:49:12 UTC 2020


On 10/10/20 18:07, Tom Lendacky wrote:
> From: Tom Lendacky <thomas.lendacky at amd.com>
> 
> Set the SEV-ES reset stack address for an AP based on the processor number
> instead of the APIC ID in case the APIC IDs are not zero-based and densely
> packed/enumerated. This will ensure an AP reset stack address does not get
> set outside of the AP reset stack memory allocation.
> 
> Cc: Eric Dong <eric.dong at intel.com>
> Cc: Ray Ni <ray.ni at intel.com>
> Cc: Laszlo Ersek <lersek at redhat.com>
> Cc: Rahul Kumar <rahul1.kumar at intel.com>
> Signed-off-by: Tom Lendacky <thomas.lendacky at amd.com>
> ---
>  UefiCpuPkg/Library/MpInitLib/MpLib.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c b/UefiCpuPkg/Library/MpInitLib/MpLib.c
> index 07426274f639..71922141b70b 100644
> --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c
> +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c
> @@ -680,11 +680,16 @@ MpInitLibSevEsAPReset (
>    IN CPU_MP_DATA                  *CpuMpData
>    )
>  {
> +  EFI_STATUS       Status;
> +  UINTN            ProcessorNumber;
>    UINT16           Code16, Code32;
>    AP_RESET         *APResetFn;
>    UINTN            BufferStart;
>    UINTN            StackStart;
>  
> +  Status = GetProcessorNumber (CpuMpData, &ProcessorNumber);
> +  ASSERT_EFI_ERROR (Status);
> +
>    Code16 = GetProtectedMode16CS ();
>    Code32 = GetProtectedMode32CS ();
>  
> @@ -696,7 +701,7 @@ MpInitLibSevEsAPReset (
>  
>    BufferStart = CpuMpData->MpCpuExchangeInfo->BufferStart;
>    StackStart = CpuMpData->SevEsAPResetStackStart -
> -                 (AP_RESET_STACK_SIZE * GetApicId ());
> +                 (AP_RESET_STACK_SIZE * ProcessorNumber);
>  
>    //
>    // This call never returns.
> 

trivial request: please insert a comma in the subject line, after "For
SEV-ES guest". (The new subject length should still be accepted by
"PatchCheck.py".)

Thanks
Laszlo



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#66248): https://edk2.groups.io/g/devel/message/66248
Mute This Topic: https://groups.io/mt/77425927/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list