Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Jun 2023 15:18:46 +0200
From:      =?UTF-8?q?Corvin=20K=C3=B6hne?= <corvink@FreeBSD.org>
To:        virtualization@freebsd.org
Cc:        =?UTF-8?q?Corvin=20K=C3=B6hne?= <corvink@FreeBSD.org>
Subject:   [PATCH 2/5] OvmfPkg: move BootScript into AcpiPlatformLib
Message-ID:  <20230612132558.349152-3-corvink@FreeBSD.org>
In-Reply-To: <20230612132558.349152-1-corvink@FreeBSD.org>
References:  <20230612132558.349152-1-corvink@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is required to move InstallQemuFwCfgTables into AcpiPlatformLib.

Signed-off-by: Corvin Köhne <corvink@FreeBSD.org>
---
 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf   |  2 --
 .../AcpiPlatformLib/DxeAcpiPlatformLib.inf    |  2 ++
 OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h        | 27 -------------------
 OvmfPkg/Include/Library/AcpiPlatformLib.h     | 27 +++++++++++++++++++
 .../AcpiPlatformLib}/BootScript.c             |  3 +--
 5 files changed, 30 insertions(+), 31 deletions(-)
 rename OvmfPkg/{AcpiPlatformDxe => Library/AcpiPlatformLib}/BootScript.c (96%)

diff --git a/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf b/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
index b22aad95e081..6001b9626970 100644
--- a/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
+++ b/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
@@ -23,7 +23,6 @@ [Defines]
 [Sources]
   AcpiPlatform.c
   AcpiPlatform.h
-  BootScript.c
   CloudHvAcpi.c
   EntryPoint.c
   QemuFwCfgAcpi.c
@@ -40,7 +39,6 @@ [LibraryClasses]
   MemoryAllocationLib
   OrderedCollectionLib
   QemuFwCfgLib
-  QemuFwCfgS3Lib
   UefiDriverEntryPoint
   HobLib
   TpmMeasurementLib
diff --git a/OvmfPkg/Library/AcpiPlatformLib/DxeAcpiPlatformLib.inf b/OvmfPkg/Library/AcpiPlatformLib/DxeAcpiPlatformLib.inf
index 4be501bb2c58..b6e55b618cbb 100644
--- a/OvmfPkg/Library/AcpiPlatformLib/DxeAcpiPlatformLib.inf
+++ b/OvmfPkg/Library/AcpiPlatformLib/DxeAcpiPlatformLib.inf
@@ -15,6 +15,7 @@ [Defines]
   LIBRARY_CLASS  = AcpiPlatformLib
 
 [Sources]
+  BootScript.c
   DxeAcpiPlatformLib.c
   PciDecoding.c
 
@@ -27,6 +28,7 @@ [LibraryClasses]
   BaseLib
   DebugLib
   PcdLib
+  QemuFwCfgS3Lib
   UefiBootServicesTableLib
 
 [Pcd]
diff --git a/OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h b/OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h
index 1328f6d1cba6..c9f2755014a1 100644
--- a/OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h
+++ b/OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h
@@ -11,8 +11,6 @@
 
 #include <Protocol/AcpiTable.h> // EFI_ACPI_TABLE_PROTOCOL
 
-typedef struct S3_CONTEXT S3_CONTEXT;
-
 EFI_STATUS
 EFIAPI
 InstallCloudHvTablesTdx (
@@ -37,29 +35,4 @@ InstallAcpiTables (
   IN   EFI_ACPI_TABLE_PROTOCOL  *AcpiTable
   );
 
-EFI_STATUS
-AllocateS3Context (
-  OUT S3_CONTEXT  **S3Context,
-  IN  UINTN       WritePointerCount
-  );
-
-VOID
-ReleaseS3Context (
-  IN S3_CONTEXT  *S3Context
-  );
-
-EFI_STATUS
-SaveCondensedWritePointerToS3Context (
-  IN OUT S3_CONTEXT  *S3Context,
-  IN     UINT16      PointerItem,
-  IN     UINT8       PointerSize,
-  IN     UINT32      PointerOffset,
-  IN     UINT64      PointerValue
-  );
-
-EFI_STATUS
-TransferS3ContextToBootScript (
-  IN S3_CONTEXT  *S3Context
-  );
-
 #endif
diff --git a/OvmfPkg/Include/Library/AcpiPlatformLib.h b/OvmfPkg/Include/Library/AcpiPlatformLib.h
index a1198da296a5..a79d698a8750 100644
--- a/OvmfPkg/Include/Library/AcpiPlatformLib.h
+++ b/OvmfPkg/Include/Library/AcpiPlatformLib.h
@@ -12,6 +12,8 @@ typedef struct {
   UINT64                 PciAttributes;
 } ORIGINAL_ATTRIBUTES;
 
+typedef struct S3_CONTEXT S3_CONTEXT;
+
 /**
   Searches and returns the address of the ACPI Root System Description Pointer (RSDP) in system memory.
 
@@ -65,3 +67,28 @@ RestorePciDecoding (
   IN ORIGINAL_ATTRIBUTES  *OriginalAttributes,
   IN UINTN                Count
   );
+
+EFI_STATUS
+AllocateS3Context (
+  OUT S3_CONTEXT  **S3Context,
+  IN  UINTN       WritePointerCount
+  );
+
+VOID
+ReleaseS3Context (
+  IN S3_CONTEXT  *S3Context
+  );
+
+EFI_STATUS
+SaveCondensedWritePointerToS3Context (
+  IN OUT S3_CONTEXT  *S3Context,
+  IN     UINT16      PointerItem,
+  IN     UINT8       PointerSize,
+  IN     UINT32      PointerOffset,
+  IN     UINT64      PointerValue
+  );
+
+EFI_STATUS
+TransferS3ContextToBootScript (
+  IN S3_CONTEXT  *S3Context
+  );
diff --git a/OvmfPkg/AcpiPlatformDxe/BootScript.c b/OvmfPkg/Library/AcpiPlatformLib/BootScript.c
similarity index 96%
rename from OvmfPkg/AcpiPlatformDxe/BootScript.c
rename to OvmfPkg/Library/AcpiPlatformLib/BootScript.c
index ff1491de0d2d..1b1658d703b0 100644
--- a/OvmfPkg/AcpiPlatformDxe/BootScript.c
+++ b/OvmfPkg/Library/AcpiPlatformLib/BootScript.c
@@ -7,13 +7,12 @@
   SPDX-License-Identifier: BSD-2-Clause-Patent
 **/
 
+#include <Library/AcpiPlatformLib.h>
 #include <Library/BaseLib.h>             // CpuDeadLoop()
 #include <Library/DebugLib.h>            // DEBUG()
 #include <Library/MemoryAllocationLib.h> // AllocatePool()
 #include <Library/QemuFwCfgS3Lib.h>      // QemuFwCfgS3ScriptSkipBytes()
 
-#include "AcpiPlatform.h"
-
 //
 // Condensed structure for capturing the fw_cfg operations -- select, skip,
 // write -- inherent in executing a QEMU_LOADER_WRITE_POINTER command.
-- 
2.41.0




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20230612132558.349152-3-corvink>