git: d64f4b43b1d2 - main - OvmfPkg/Bhyve: don't exit early if RSDP is not found in memory

From: Corvin Köhne <corvink_at_FreeBSD.org>
Date: Fri, 08 Sep 2023 06:54:18 UTC
The branch main has been updated by corvink:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d64f4b43b1d2e784c837bf38e3c2c0829e9c9f27

commit d64f4b43b1d2e784c837bf38e3c2c0829e9c9f27
Author:     Corvin Köhne <corvink@FreeBSD.org>
AuthorDate: 2023-09-07 08:35:35 +0000
Commit:     Corvin Köhne <corvink@FreeBSD.org>
CommitDate: 2023-09-08 06:53:32 +0000

    OvmfPkg/Bhyve: don't exit early if RSDP is not found in memory
    
    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 <corvink@FreeBSD.org>
    
    PR:                     273560
    Reviewed by:            madpilot, manu
    Approved by:            manu
    Fixes:                  8097dda40a03b8a27a1edf1f31a8af0455a52baf ("sysutils/edk2: update to 202308")
    Sponsored by:           Beckhoff Automation GmbH & Co. KG
    Differential Revision:  https://reviews.freebsd.org/D41769
---
 sysutils/edk2/Makefile                             |  1 +
 ...ch-OvmfPkg_Bhyve_AcpiPlatformDxe_AcpiPlatform.c | 38 ++++++++++++++++++++++
 2 files changed, 39 insertions(+)

diff --git a/sysutils/edk2/Makefile b/sysutils/edk2/Makefile
index cb6ed51d0105..a6131c3127c8 100644
--- a/sysutils/edk2/Makefile
+++ b/sysutils/edk2/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	edk2
 PORTVERSION=	g202308
+PORTREVISION=	1
 CATEGORIES=	sysutils
 
 PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
diff --git a/sysutils/edk2/files/patch-OvmfPkg_Bhyve_AcpiPlatformDxe_AcpiPlatform.c b/sysutils/edk2/files/patch-OvmfPkg_Bhyve_AcpiPlatformDxe_AcpiPlatform.c
new file mode 100644
index 000000000000..1096a5e4d30c
--- /dev/null
+++ b/sysutils/edk2/files/patch-OvmfPkg_Bhyve_AcpiPlatformDxe_AcpiPlatform.c
@@ -0,0 +1,38 @@
+--- OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c.orig	2023-09-07 08:35:06 UTC
++++ 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);