Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> Cc: Brijesh Singh <brijesh.si...@amd.com> Cc: Jordan Justen <jordan.l.jus...@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <ler...@redhat.com> --- OvmfPkg/Library/BaseMemEncryptSevLib/BaseMemEncryptSevLib.inf | 6 +++--- OvmfPkg/Library/BaseMemEncryptSevLib/X64/VirtualMemory.h | 4 ++-- OvmfPkg/Library/BaseMemEncryptSevLib/Ia32/MemEncryptSevLib.c | 4 ++-- OvmfPkg/Library/BaseMemEncryptSevLib/MemEncryptSevLibInternal.c | 4 ++-- OvmfPkg/Library/BaseMemEncryptSevLib/X64/MemEncryptSevLib.c | 4 ++-- OvmfPkg/Library/BaseMemEncryptSevLib/X64/VirtualMemory.c | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/OvmfPkg/Library/BaseMemEncryptSevLib/BaseMemEncryptSevLib.inf b/OvmfPkg/Library/BaseMemEncryptSevLib/BaseMemEncryptSevLib.inf index 81b075194ace..2f0a2392a7ad 100644 --- a/OvmfPkg/Library/BaseMemEncryptSevLib/BaseMemEncryptSevLib.inf +++ b/OvmfPkg/Library/BaseMemEncryptSevLib/BaseMemEncryptSevLib.inf @@ -14,40 +14,40 @@ # # ## [Defines] INF_VERSION = 1.25 BASE_NAME = MemEncryptSevLib FILE_GUID = c1594631-3888-4be4-949f-9c630dbc842b MODULE_TYPE = BASE VERSION_STRING = 1.0 LIBRARY_CLASS = MemEncryptSevLib|PEIM DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_DRIVER # # The following information is for reference only and not required by the build # tools. # # VALID_ARCHITECTURES = IA32 X64 # [Packages] - MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec + MdePkg/MdePkg.dec OvmfPkg/OvmfPkg.dec UefiCpuPkg/UefiCpuPkg.dec [Sources.X64] MemEncryptSevLibInternal.c X64/MemEncryptSevLib.c X64/VirtualMemory.c [Sources.IA32] - MemEncryptSevLibInternal.c Ia32/MemEncryptSevLib.c + MemEncryptSevLibInternal.c [LibraryClasses] BaseLib - CpuLib CacheMaintenanceLib + CpuLib DebugLib MemoryAllocationLib diff --git a/OvmfPkg/Library/BaseMemEncryptSevLib/X64/VirtualMemory.h b/OvmfPkg/Library/BaseMemEncryptSevLib/X64/VirtualMemory.h index 67ff69122d73..95a08f3558e9 100644 --- a/OvmfPkg/Library/BaseMemEncryptSevLib/X64/VirtualMemory.h +++ b/OvmfPkg/Library/BaseMemEncryptSevLib/X64/VirtualMemory.h @@ -3,47 +3,47 @@ Virtual Memory Management Services to set or clear the memory encryption bit Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. Code is derived from MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.h **/ #ifndef __VIRTUAL_MEMORY__ #define __VIRTUAL_MEMORY__ -#include <Uefi.h> #include <Library/BaseLib.h> #include <Library/BaseMemoryLib.h> +#include <Library/CacheMaintenanceLib.h> #include <Library/DebugLib.h> #include <Library/MemoryAllocationLib.h> +#include <Uefi.h> -#include <Library/CacheMaintenanceLib.h> #define SYS_CODE64_SEL 0x38 #pragma pack(1) // // Page-Map Level-4 Offset (PML4) and // Page-Directory-Pointer Offset (PDPE) entries 4K & 2MB // typedef union { struct { UINT64 Present:1; // 0 = Not present in memory, // 1 = Present in memory UINT64 ReadWrite:1; // 0 = Read-Only, 1= Read/Write UINT64 UserSupervisor:1; // 0 = Supervisor, 1=User UINT64 WriteThrough:1; // 0 = Write-Back caching, // 1 = Write-Through caching UINT64 CacheDisabled:1; // 0 = Cached, 1=Non-Cached UINT64 Accessed:1; // 0 = Not accessed, // 1 = Accessed (set by CPU) diff --git a/OvmfPkg/Library/BaseMemEncryptSevLib/Ia32/MemEncryptSevLib.c b/OvmfPkg/Library/BaseMemEncryptSevLib/Ia32/MemEncryptSevLib.c index 614c97b23bb6..5d909c17b0bc 100644 --- a/OvmfPkg/Library/BaseMemEncryptSevLib/Ia32/MemEncryptSevLib.c +++ b/OvmfPkg/Library/BaseMemEncryptSevLib/Ia32/MemEncryptSevLib.c @@ -1,42 +1,42 @@ /** @file Secure Encrypted Virtualization (SEV) library helper function Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ #include <Library/BaseLib.h> #include <Library/DebugLib.h> -#include <Register/Cpuid.h> +#include <Library/MemEncryptSevLib.h> #include <Register/Amd/Cpuid.h> #include <Register/Amd/Msr.h> -#include <Library/MemEncryptSevLib.h> +#include <Register/Cpuid.h> /** This function clears memory encryption bit for the memory region specified by BaseAddress and NumPages from the current page table context. @param[in] Cr3BaseAddress Cr3 Base Address (if zero then use current CR3) @param[in] BaseAddress The physical address that is the start address of a memory region. @param[in] NumPages The number of pages from start memory region. @param[in] Flush Flush the caches before clearing the bit (mostly TRUE except MMIO addresses) @retval RETURN_SUCCESS The attributes were cleared for the memory region. @retval RETURN_INVALID_PARAMETER Number of pages is zero. @retval RETURN_UNSUPPORTED Clearing the memory encryption attribute is not supported **/ diff --git a/OvmfPkg/Library/BaseMemEncryptSevLib/MemEncryptSevLibInternal.c b/OvmfPkg/Library/BaseMemEncryptSevLib/MemEncryptSevLibInternal.c index 44c2c98a6afc..7078ab0d3f46 100644 --- a/OvmfPkg/Library/BaseMemEncryptSevLib/MemEncryptSevLibInternal.c +++ b/OvmfPkg/Library/BaseMemEncryptSevLib/MemEncryptSevLibInternal.c @@ -1,42 +1,42 @@ /** @file Secure Encrypted Virtualization (SEV) library helper function Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ #include <Library/BaseLib.h> #include <Library/DebugLib.h> -#include <Register/Cpuid.h> +#include <Library/MemEncryptSevLib.h> #include <Register/Amd/Cpuid.h> #include <Register/Amd/Msr.h> -#include <Library/MemEncryptSevLib.h> +#include <Register/Cpuid.h> STATIC BOOLEAN mSevStatus = FALSE; STATIC BOOLEAN mSevStatusChecked = FALSE; /** Returns a boolean to indicate whether SEV is enabled @retval TRUE SEV is enabled @retval FALSE SEV is not enabled **/ STATIC BOOLEAN EFIAPI InternalMemEncryptSevIsEnabled ( VOID ) { UINT32 RegEax; MSR_SEV_STATUS_REGISTER Msr; diff --git a/OvmfPkg/Library/BaseMemEncryptSevLib/X64/MemEncryptSevLib.c b/OvmfPkg/Library/BaseMemEncryptSevLib/X64/MemEncryptSevLib.c index f165722ae550..62059242fc79 100644 --- a/OvmfPkg/Library/BaseMemEncryptSevLib/X64/MemEncryptSevLib.c +++ b/OvmfPkg/Library/BaseMemEncryptSevLib/X64/MemEncryptSevLib.c @@ -1,42 +1,42 @@ /** @file Secure Encrypted Virtualization (SEV) library helper function Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ #include <Library/BaseLib.h> #include <Library/DebugLib.h> -#include <Register/Cpuid.h> +#include <Library/MemEncryptSevLib.h> #include <Register/Amd/Cpuid.h> #include <Register/Amd/Msr.h> -#include <Library/MemEncryptSevLib.h> +#include <Register/Cpuid.h> #include "VirtualMemory.h" /** This function clears memory encryption bit for the memory region specified by BaseAddress and NumPages from the current page table context. @param[in] Cr3BaseAddress Cr3 Base Address (if zero then use current CR3) @param[in] BaseAddress The physical address that is the start address of a memory region. @param[in] NumPages The number of pages from start memory region. @param[in] Flush Flush the caches before clearing the bit (mostly TRUE except MMIO addresses) @retval RETURN_SUCCESS The attributes were cleared for the memory region. @retval RETURN_INVALID_PARAMETER Number of pages is zero. @retval RETURN_UNSUPPORTED Clearing the memory encryption attribute diff --git a/OvmfPkg/Library/BaseMemEncryptSevLib/X64/VirtualMemory.c b/OvmfPkg/Library/BaseMemEncryptSevLib/X64/VirtualMemory.c index 39b246048f1f..c1bfa35d7a30 100644 --- a/OvmfPkg/Library/BaseMemEncryptSevLib/X64/VirtualMemory.c +++ b/OvmfPkg/Library/BaseMemEncryptSevLib/X64/VirtualMemory.c @@ -1,42 +1,42 @@ /** @file Virtual Memory Management Services to set or clear the memory encryption bit Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. Code is derived from MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c **/ #include <Library/CpuLib.h> -#include <Register/Cpuid.h> #include <Register/Amd/Cpuid.h> +#include <Register/Cpuid.h> #include "VirtualMemory.h" STATIC BOOLEAN mAddressEncMaskChecked = FALSE; STATIC UINT64 mAddressEncMask; STATIC PAGE_TABLE_POOL *mPageTablePool = NULL; typedef enum { SetCBit, ClearCBit } MAP_RANGE_MODE; /** Get the memory encryption mask @param[out] EncryptionMask contains the pte mask. **/ STATIC UINT64 -- 2.14.1.3.gb7cf6e02401b _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel