Page MenuHomeFreeBSD

D36993.id111792.diff
No OneTemporary

D36993.id111792.diff

diff --git a/usr.sbin/bhyve/acpi.c b/usr.sbin/bhyve/acpi.c
--- a/usr.sbin/bhyve/acpi.c
+++ b/usr.sbin/bhyve/acpi.c
@@ -732,8 +732,10 @@
dsdt_line("/*");
dsdt_line(" * bhyve DSDT template");
dsdt_line(" */");
- dsdt_line("DefinitionBlock (\"bhyve_dsdt.aml\", \"DSDT\", 2,"
- "\"BHYVE \", \"BVDSDT \", 0x00000001)");
+ dsdt_line("DefinitionBlock (\"bhyve_dsdt.aml\", \"%s\", 0x%02x,"
+ "\"%s\", \"%s\", 0x%08x)",
+ ACPI_SIG_DSDT, BASL_REVISION_DSDT, BASL_OEM_ID,
+ BASL_OEM_TABLE_ID_DSDT, BASL_OEM_REVISION_DSDT);
dsdt_line("{");
dsdt_line(" Name (_S5, Package ()");
dsdt_line(" {");
@@ -952,6 +954,14 @@
return (err);
}
+static int
+build_dsdt(struct vmctx *const ctx)
+{
+ BASL_EXEC(basl_compile(ctx, basl_fwrite_dsdt, DSDT_OFFSET));
+
+ return (0);
+}
+
int
acpi_build(struct vmctx *ctx, int ncpu)
{
@@ -993,7 +1003,7 @@
BASL_EXEC(basl_compile(ctx, basl_fwrite_hpet, HPET_OFFSET));
BASL_EXEC(basl_compile(ctx, basl_fwrite_mcfg, MCFG_OFFSET));
BASL_EXEC(basl_compile(ctx, basl_fwrite_facs, FACS_OFFSET));
- BASL_EXEC(basl_compile(ctx, basl_fwrite_dsdt, DSDT_OFFSET));
+ BASL_EXEC(build_dsdt(ctx));
BASL_EXEC(basl_finish());
diff --git a/usr.sbin/bhyve/basl.h b/usr.sbin/bhyve/basl.h
--- a/usr.sbin/bhyve/basl.h
+++ b/usr.sbin/bhyve/basl.h
@@ -18,6 +18,14 @@
#define BHYVE_ACPI_BASE 0xf2400
+#define BASL_REVISION_DSDT 2
+
+#define BASL_OEM_ID "BHYVE "
+
+#define BASL_OEM_TABLE_ID_DSDT "BVDSDT "
+
+#define BASL_OEM_REVISION_DSDT 1
+
#define BASL_COMPILER_ID "BASL"
#define BASL_COMPILER_REVISION 20220504

File Metadata

Mime Type
text/plain
Expires
Sun, Feb 8, 10:10 PM (4 h, 59 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28503207
Default Alt Text
D36993.id111792.diff (1 KB)

Event Timeline