If OVMF fails to find the RSDP in memory, it should fall back installing
the statically provided ACPI tables.

Signed-off-by: Corvin Köhne <corv...@freebsd.org>
Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
Cc: Jiewen Yao <jiewen....@intel.com>
Cc: Jordan Justen <jordan.l.jus...@intel.com>
Cc: Gerd Hoffmann <kra...@redhat.com>
Cc: Rebecca Cran <rebe...@bsdio.com>
Cc: Peter Grehan <gre...@freebsd.org>
---
 OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c 
b/OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c
index fb926a8bd803..57b1e7a99666 100644
--- a/OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c
+++ b/OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c
@@ -259,19 +259,17 @@ InstallAcpiTables (
              BHYVE_BIOS_PHYSICAL_END,
              &Rsdp
              );
-  if (EFI_ERROR (Status)) {
-    return Status;
-  }
-
-  Status = InstallAcpiTablesFromRsdp (
-             AcpiTable,
-             Rsdp
-             );
   if (!EFI_ERROR (Status)) {
-    return EFI_SUCCESS;
+    Status = InstallAcpiTablesFromRsdp (
+               AcpiTable,
+               Rsdp
+               );
+    if (!EFI_ERROR (Status)) {
+      return EFI_SUCCESS;
+    }
   }
 
-  if (Status != EFI_NOT_FOUND) {
+  if (EFI_ERROR (Status)) {
     DEBUG (
       (
        DEBUG_WARN,
@@ -280,7 +278,6 @@ InstallAcpiTables (
        Status
       )
       );
-    return Status;
   }
 
   Status = InstallOvmfFvTables (AcpiTable);
-- 
2.42.0



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#108367): https://edk2.groups.io/g/devel/message/108367
Mute This Topic: https://groups.io/mt/101210702/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to