summaryrefslogtreecommitdiffstats
path: root/OvmfPkg/Bhyve
diff options
context:
space:
mode:
authorCorvin Köhne <corvink@FreeBSD.org>2023-09-07 10:34:00 +0200
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2023-09-08 16:06:10 +0000
commit28a74d7ab22a33e3915eb747879d58797718f6f2 (patch)
tree4a050209d54a0fb3ea7837b3b5ed35a7369ae720 /OvmfPkg/Bhyve
parent493a375eef584be2beaaa3d418a8e7ff333c5468 (diff)
downloadedk2-28a74d7ab22a33e3915eb747879d58797718f6f2.tar.gz
edk2-28a74d7ab22a33e3915eb747879d58797718f6f2.tar.bz2
edk2-28a74d7ab22a33e3915eb747879d58797718f6f2.zip
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> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Rebecca Cran <rebecca@bsdio.com> Cc: Peter Grehan <grehan@freebsd.org> Reviewed-by: Rebecca Cran <rebecca@bsdio.com>
Diffstat (limited to 'OvmfPkg/Bhyve')
-rw-r--r--OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c b/OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c
index fb926a8bd8..57b1e7a996 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);