Skip to content

Commit

Permalink
OvmfPkg/Bhyve: don't exit early if RSDP is not found in memory
Browse files Browse the repository at this point in the history
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:			8097dda ("sysutils/edk2: update to 202308")
Sponsored by:		Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D41769
  • Loading branch information
ckoehne committed Sep 8, 2023
1 parent 9f4a1db commit d64f4b4
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 0 deletions.
1 change: 1 addition & 0 deletions 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/
Expand Down
@@ -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);

0 comments on commit d64f4b4

Please sign in to comment.