On Tue, 22 May 2018 11:39:57 +0100 Peter Maydell <peter.mayd...@linaro.org> wrote:
> Rename the 2.13 machine types to match what we're going to > use as our next release number. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- [...] q35 hunk of this patch for no apparent reasons causes change of the NVDIMM's DSM page allocated by Seabios. @ -5,13 +5,13 @@ * * Disassembling to symbolic ASL+ operators * - * Disassembly of tests/acpi-test-data/q35/SSDT.dimmpxm, Wed May 30 11:20:51 2018 + * Disassembly of /tmp/aml-3XMAJZ, Wed May 30 11:20:51 2018 * * Original Table Header: * Signature "SSDT" * Length 0x000002AD (685) * Revision 0x01 - * Checksum 0x50 + * Checksum 0x40 * OEM ID "BOCHS " * OEM Table ID "NVDIMM" * OEM Revision 0x00000001 (1) @@ -183,6 +183,6 @@ DefinitionBlock ("", "SSDT", 1, "BOCHS ", "NVDIMM", 0x00000001) } } - Name (MEMA, 0x07FFE000) + Name (MEMA, 0x07FFF000) } As far as I see it should safe wrt NVDIMMs, but the question is what in this commit forced Seabios to change allocated address? Offending commit aa78a16d86: Testcase to reproduce: QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 tests/bios-tables-test CLI to reproduce manually: x86_64-softmmu/qemu-system-x86_64 -M q35 -machine nvdimm=on -smp 4,sockets=4 -m 128M,slots=3,maxmem=1G -numa node,mem=32M,nodeid=0 -numa node,mem=32M,nodeid=1 -numa node,mem=32M,nodeid=2 -numa node,mem=32M,nodeid=3 -numa cpu,node-id=0,socket-id=0 -numa cpu,node-id=1,socket-id=1 -numa cpu,node-id=2,socket-id=2 -numa cpu,node-id=3,socket-id=3 -object memory-backend-ram,id=ram0,size=128M -object memory-backend-ram,id=nvm0,size=128M -device pc-dimm,id=dimm0,memdev=ram0,node=1 -device nvdimm,id=dimm1,memdev=nvm0,node=2 > diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c > index 2372457c6a..83d6d75efa 100644 > --- a/hw/i386/pc_q35.c > +++ b/hw/i386/pc_q35.c > @@ -308,18 +308,18 @@ static void pc_q35_machine_options(MachineClass *m) > m->max_cpus = 288; > } > > -static void pc_q35_2_13_machine_options(MachineClass *m) > +static void pc_q35_3_0_machine_options(MachineClass *m) > { > pc_q35_machine_options(m); > m->alias = "q35"; > } > > -DEFINE_Q35_MACHINE(v2_13, "pc-q35-2.13", NULL, > - pc_q35_2_13_machine_options); > +DEFINE_Q35_MACHINE(v3_0, "pc-q35-3.0", NULL, > + pc_q35_3_0_machine_options); > > static void pc_q35_2_12_machine_options(MachineClass *m) > { > - pc_q35_2_13_machine_options(m); > + pc_q35_3_0_machine_options(m); > m->alias = NULL; > SET_MACHINE_COMPAT(m, PC_COMPAT_2_12); > }