]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/Library/MpInitLib/Ia32/AmdSev.c
UefiCpuPkg/MpInitLib: Use SEV-SNP AP Creation NAE event to launch APs
[mirror_edk2.git] / UefiCpuPkg / Library / MpInitLib / Ia32 / AmdSev.c
diff --git a/UefiCpuPkg/Library/MpInitLib/Ia32/AmdSev.c b/UefiCpuPkg/Library/MpInitLib/Ia32/AmdSev.c
new file mode 100644 (file)
index 0000000..c831442
--- /dev/null
@@ -0,0 +1,70 @@
+/** @file\r
+\r
+  AMD SEV helper function.\r
+\r
+  Copyright (c) 2021, AMD Incorporated. All rights reserved.<BR>\r
+\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#include "MpLib.h"\r
+\r
+/**\r
+  Create an SEV-SNP AP save area (VMSA) for use in running the vCPU.\r
+\r
+  @param[in]  CpuMpData        Pointer to CPU MP Data\r
+  @param[in]  CpuData          Pointer to CPU AP Data\r
+  @param[in]  ApicId           APIC ID of the vCPU\r
+**/\r
+VOID\r
+SevSnpCreateSaveArea (\r
+  IN CPU_MP_DATA  *CpuMpData,\r
+  IN CPU_AP_DATA  *CpuData,\r
+  UINT32          ApicId\r
+  )\r
+{\r
+  //\r
+  // SEV-SNP is not support on 32-bit build.\r
+  //\r
+  ASSERT (FALSE);\r
+}\r
+\r
+/**\r
+  Create SEV-SNP APs.\r
+\r
+  @param[in]  CpuMpData        Pointer to CPU MP Data\r
+  @param[in]  ProcessorNumber  The handle number of specified processor\r
+                               (-1 for all APs)\r
+**/\r
+VOID\r
+SevSnpCreateAP (\r
+  IN CPU_MP_DATA  *CpuMpData,\r
+  IN INTN         ProcessorNumber\r
+  )\r
+{\r
+  //\r
+  // SEV-SNP is not support on 32-bit build.\r
+  //\r
+  ASSERT (FALSE);\r
+}\r
+\r
+/**\r
+  Issue RMPADJUST to adjust the VMSA attribute of an SEV-SNP page.\r
+\r
+  @param[in]  PageAddress\r
+  @param[in]  VmsaPage\r
+\r
+  @return  RMPADJUST return value\r
+**/\r
+UINT32\r
+SevSnpRmpAdjust (\r
+  IN  EFI_PHYSICAL_ADDRESS  PageAddress,\r
+  IN  BOOLEAN               VmsaPage\r
+  )\r
+{\r
+  //\r
+  // RMPADJUST is not supported in 32-bit mode\r
+  //\r
+  return RETURN_UNSUPPORTED;\r
+}\r