The end of the ACPI table is set to 'addr' instead of 'end'. The ACPI code for QEMU relies on those values to mark memory as 'ACPI Reclaim' and as a result the ACPI RSDP ends up in Boot services Data.
Reported-by: bj...@kernel.org Fixes: commit 638cc363484b ("acpi: enable writing ACPI tables on QEMU") Signed-off-by: Ilias Apalodimas <ilias.apalodi...@linaro.org> --- drivers/misc/qfw_acpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/misc/qfw_acpi.c b/drivers/misc/qfw_acpi.c index 0d0cf7646890..77cebae5e3fd 100644 --- a/drivers/misc/qfw_acpi.c +++ b/drivers/misc/qfw_acpi.c @@ -305,7 +305,7 @@ static int evt_write_acpi_tables(void) /* Generate ACPI tables */ end = write_acpi_tables(addr); gd->arch.table_start = addr; - gd->arch.table_end = addr; + gd->arch.table_end = end; return 0; } -- 2.49.0