On Tue, 17 Jan 2023 19:15:21 +0800 Sun Feng <loyo...@gmail.com> wrote:
> Migrate from aarch64 host with PAGE_SIZE 64k to 4k failed with following > errors: > > qmp_cmd_name: migrate-incoming, arguments: {"uri": "tcp:[::]:49152"} > {"timestamp": {"seconds": 1673922775, "microseconds": 534702}, "event": > "MIGRATION", "data": {"status": "setup"}} > {"timestamp": {"seconds": 1673922776, "microseconds": 53003}, "event": > "MIGRATION", "data": {"status": "active"}} > 2023-01-17T02:32:56.058827Z qemu-system-aarch64: Length too large: > /rom@etc/acpi/rsdp: 0x10000 > 0x1000: Invalid argument this should mention/explain why it's happening. i.e we now have 4k limit for RSDP, but then source somehow managed to start with 64k allocated to for RSDP. It looks like limit isn't working as expected to me. > 2023-01-17T02:32:56.058832Z qemu-system-aarch64: error while loading state > for instance 0x0 of device 'ram' > 2023-01-17T02:32:56.059236Z qemu-system-aarch64: load of migration failed: > Invalid argument > {"timestamp": {"seconds": 1673922776, "microseconds": 59248}, "event": > "MIGRATION", "data": {"status": "failed"}} > 2023-01-17 02:32:56.306+0000: shutting down, reason=failed > > refer to the following commit, set blob "etc/acpi/rsdp" maximum size to 64k > works. > > 5033728 acpi: Set proper maximum size for "etc/acpi/rsdp" blob > 6c2b24d acpi: Set proper maximum size for "etc/table-loader" blob > > Signed-off-by: Sun Feng <loyo...@gmail.com> > --- > hw/acpi/utils.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/acpi/utils.c b/hw/acpi/utils.c > index 0c486ea..85f6ff3 100644 > --- a/hw/acpi/utils.c > +++ b/hw/acpi/utils.c > @@ -37,7 +37,7 @@ MemoryRegion *acpi_add_rom_blob(FWCfgCallback update, void > *opaque, > } else if (!strcmp(name, ACPI_BUILD_LOADER_FILE)) { > max_size = 0x10000; > } else if (!strcmp(name, ACPI_BUILD_RSDP_FILE)) { > - max_size = 0x1000; > + max_size = 0x10000; > } else { > g_assert_not_reached(); > }