git: 6a0e7f908802 - main - bhyve: always generate ACPI tables

From: Corvin Köhne <corvink_at_FreeBSD.org>
Date: Thu, 28 Sep 2023 08:50:44 UTC
The branch main has been updated by corvink:

URL: https://cgit.FreeBSD.org/src/commit/?id=6a0e7f908802b86ca5d1c0b3c404b8391d0f626e

commit 6a0e7f908802b86ca5d1c0b3c404b8391d0f626e
Author:     Corvin Köhne <corvink@FreeBSD.org>
AuthorDate: 2023-09-08 06:56:41 +0000
Commit:     Corvin Köhne <corvink@FreeBSD.org>
CommitDate: 2023-09-28 08:43:04 +0000

    bhyve: always generate ACPI tables
    
    Most systems don't work properly without sane ACPI tables. Therefore,
    we're always generating them.
    
    Reviewed by:            markj
    MFC after:              1 week
    Sponsored by:           Beckhoff Automation GmbH & Co. KG
    Differential Revision:  https://reviews.freebsd.org/D41778
---
 usr.sbin/bhyve/bhyve.8        | 4 +---
 usr.sbin/bhyve/bhyve_config.5 | 2 +-
 usr.sbin/bhyve/bhyverun.c     | 8 ++++++--
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/usr.sbin/bhyve/bhyve.8 b/usr.sbin/bhyve/bhyve.8
index 7eddeec4647a..f80dd54fc2c3 100644
--- a/usr.sbin/bhyve/bhyve.8
+++ b/usr.sbin/bhyve/bhyve.8
@@ -112,9 +112,7 @@ exit is detected.
 .Bl -tag -width 10n
 .It Fl A
 Generate ACPI tables.
-Required for
-.Fx Ns /amd64
-guests.
+bhyve always generates ACPI tables so this option is obsolete.
 .It Fl a
 The guest's local APIC is configured in xAPIC mode.
 The xAPIC mode is the default setting so this option is redundant.
diff --git a/usr.sbin/bhyve/bhyve_config.5 b/usr.sbin/bhyve/bhyve_config.5
index 6904ad096c0d..1322abd67958 100644
--- a/usr.sbin/bhyve/bhyve_config.5
+++ b/usr.sbin/bhyve/bhyve_config.5
@@ -120,7 +120,7 @@ The value must be formatted as described in
 .Xr expand_number 3 .
 .It Va memory.wired Ta bool Ta false Ta
 Wire guest memory.
-.It Va acpi_tables Ta bool Ta false Ta
+.It Va acpi_tables Ta bool Ta true Ta
 Generate ACPI tables.
 .It Va acpi_tables_in_memory Ta bool Ta true Ta
 .Xr bhyve 8
diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c
index 3db796c65a28..1d4cf048b59b 100644
--- a/usr.sbin/bhyve/bhyverun.c
+++ b/usr.sbin/bhyve/bhyverun.c
@@ -1201,7 +1201,7 @@ static void
 set_defaults(void)
 {
 
-	set_config_bool("acpi_tables", false);
+	set_config_bool("acpi_tables", true);
 	set_config_bool("acpi_tables_in_memory", true);
 	set_config_value("memory.size", "256M");
 	set_config_bool("x86.strictmsr", true);
@@ -1240,7 +1240,11 @@ main(int argc, char *argv[])
 			set_config_bool("x86.x2apic", false);
 			break;
 		case 'A':
-			set_config_bool("acpi_tables", true);
+			/*
+			 * NOP. For backward compatibility. Most systems don't
+			 * work properly without sane ACPI tables. Therefore,
+			 * we're always generating them.
+			 */
 			break;
 		case 'D':
 			set_config_bool("destroy_on_poweroff", true);