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>
This commit is contained in:
Corvin Köhne 2023-09-07 10:34:00 +02:00 committed by mergify[bot]
parent 493a375eef
commit 28a74d7ab2
1 changed files with 8 additions and 11 deletions

View File

@ -259,10 +259,7 @@ InstallAcpiTables (
BHYVE_BIOS_PHYSICAL_END, BHYVE_BIOS_PHYSICAL_END,
&Rsdp &Rsdp
); );
if (EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
return Status;
}
Status = InstallAcpiTablesFromRsdp ( Status = InstallAcpiTablesFromRsdp (
AcpiTable, AcpiTable,
Rsdp Rsdp
@ -270,8 +267,9 @@ InstallAcpiTables (
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
return EFI_SUCCESS; return EFI_SUCCESS;
} }
}
if (Status != EFI_NOT_FOUND) { if (EFI_ERROR (Status)) {
DEBUG ( DEBUG (
( (
DEBUG_WARN, DEBUG_WARN,
@ -280,7 +278,6 @@ InstallAcpiTables (
Status Status
) )
); );
return Status;
} }
Status = InstallOvmfFvTables (AcpiTable); Status = InstallOvmfFvTables (AcpiTable);