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:			8097dda40a ("sysutils/edk2: update to 202308")
Sponsored by:		Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D41769
This commit is contained in:
Corvin Köhne 2023-09-07 10:35:35 +02:00
parent 9f4a1dbf49
commit d64f4b43b1
No known key found for this signature in database
GPG key ID: D854DA56315E026A
2 changed files with 39 additions and 0 deletions

View file

@ -1,5 +1,6 @@
PORTNAME= edk2
PORTVERSION= g202308
PORTREVISION= 1
CATEGORIES= sysutils
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/

View file

@ -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);