SSDTs cannot address 64-bit physical addresses in 32-bit tables, so we increment the revision to '2' so that these larger addresses are addressable. This matters because the DSDT revision represents the maximum capability of all other SSDTs. This is also what arm does.
Signed-off-by: Jason A. Donenfeld <ja...@zx2c4.com> --- hw/i386/acpi-build.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 900f786d08..51420d90a8 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -2073,7 +2073,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, g_array_append_vals(table_data, dsdt->buf->data, dsdt->buf->len); build_header(linker, table_data, (void *)(table_data->data + table_data->len - dsdt->buf->len), - "DSDT", dsdt->buf->len, 1, NULL, NULL); + "DSDT", dsdt->buf->len, 2, NULL, NULL); free_aml_allocator(); } -- 2.27.0