[edk2-devel] [PATCH 02/12] OvmfPkg/Sec: Move SEV-ES SEC workarea definition to common header file

Laszlo Ersek lersek at redhat.com
Mon Jan 4 19:02:35 UTC 2021


On 12/15/20 21:51, Lendacky, Thomas wrote:
> From: Tom Lendacky <thomas.lendacky at amd.com>
> 
> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3108
> 
> In order to allow for the SEV-ES workarea to be used for other purposes
> and by other files, move the definition into the BaseMemEncryptSevLib
> header file, MemEncryptSevLib.h.
> 
> Cc: Jordan Justen <jordan.l.justen at intel.com>
> Cc: Laszlo Ersek <lersek at redhat.com>
> Cc: Ard Biesheuvel <ard.biesheuvel at arm.com>
> Cc: Brijesh Singh <brijesh.singh at amd.com>
> Signed-off-by: Tom Lendacky <thomas.lendacky at amd.com>
> ---
>  OvmfPkg/Include/Library/MemEncryptSevLib.h | 16 +++++++++++++++-
>  OvmfPkg/Sec/SecMain.c                      |  6 ++----
>  2 files changed, 17 insertions(+), 5 deletions(-)

Reviewed-by: Laszlo Ersek <lersek at redhat.com>

Thanks
Laszlo

> diff --git a/OvmfPkg/Include/Library/MemEncryptSevLib.h b/OvmfPkg/Include/Library/MemEncryptSevLib.h
> index fc70b0114354..a6d82dac7fac 100644
> --- a/OvmfPkg/Include/Library/MemEncryptSevLib.h
> +++ b/OvmfPkg/Include/Library/MemEncryptSevLib.h
> @@ -2,7 +2,7 @@
>  
>    Define Secure Encrypted Virtualization (SEV) base library helper function
>  
> -  Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
> +  Copyright (c) 2017 - 2020, AMD Incorporated. All rights reserved.<BR>
>  
>    SPDX-License-Identifier: BSD-2-Clause-Patent
>  
> @@ -13,6 +13,20 @@
>  
>  #include <Base.h>
>  
> +//
> +// Internal structure for holding SEV-ES information needed during SEC phase
> +// and valid only during SEC phase and early PEI during platform
> +// initialization.
> +//
> +// This structure is also used by assembler files:
> +//   OvmfPkg/ResetVector/ResetVector.nasmb
> +//   OvmfPkg/ResetVector/Ia32/PageTables64.asm
> +// any changes must stay in sync with its usage.
> +//
> +typedef struct _SEC_SEV_ES_WORK_AREA {
> +  UINT8    SevEsEnabled;
> +} SEC_SEV_ES_WORK_AREA;
> +
>  /**
>    Returns a boolean to indicate whether SEV-ES is enabled.
>  
> diff --git a/OvmfPkg/Sec/SecMain.c b/OvmfPkg/Sec/SecMain.c
> index 63aca7020727..9db67e17b2aa 100644
> --- a/OvmfPkg/Sec/SecMain.c
> +++ b/OvmfPkg/Sec/SecMain.c
> @@ -3,6 +3,7 @@
>  
>    Copyright (c) 2008 - 2015, Intel Corporation. All rights reserved.<BR>
>    (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
> +  Copyright (c) 2020, Advanced Micro Devices, Inc. All rights reserved.<BR>
>  
>    SPDX-License-Identifier: BSD-2-Clause-Patent
>  
> @@ -25,6 +26,7 @@
>  #include <Library/ExtractGuidedSectionLib.h>
>  #include <Library/LocalApicLib.h>
>  #include <Library/CpuExceptionHandlerLib.h>
> +#include <Library/MemEncryptSevLib.h>
>  #include <Register/Amd/Ghcb.h>
>  #include <Register/Amd/Msr.h>
>  
> @@ -37,10 +39,6 @@ typedef struct _SEC_IDT_TABLE {
>    IA32_IDT_GATE_DESCRIPTOR  IdtTable[SEC_IDT_ENTRY_COUNT];
>  } SEC_IDT_TABLE;
>  
> -typedef struct _SEC_SEV_ES_WORK_AREA {
> -  UINT8  SevEsEnabled;
> -} SEC_SEV_ES_WORK_AREA;
> -
>  VOID
>  EFIAPI
>  SecStartupPhase2 (
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#69628): https://edk2.groups.io/g/devel/message/69628
Mute This Topic: https://groups.io/mt/78986139/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