]> git.proxmox.com Git - mirror_qemu.git/commit - hw/ppc/spapr_nvdimm.c
ppc/spapr: cleanup -machine pseries,nvdimm=X handling
authorIgor Mammedov <imammedo@redhat.com>
Tue, 8 Dec 2020 16:46:06 +0000 (11:46 -0500)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 15 Dec 2020 17:51:53 +0000 (12:51 -0500)
commit55810e90cc9a5ca18289c25aa5c1e0e2dc77eadb
tree650a24a8bb0e31330874d2d68ccec0d4157dd747
parent2f181fbd5a9d456d1da291bea61d7e3ad10ec7d1
ppc/spapr: cleanup -machine pseries,nvdimm=X handling

Since NVDIMM support was introduced on pseries machine,
it ignored machine's nvdimm=on|off option and effectively
was always enabled on machines that support NVDIMM.
Later on commit
  (28f5a716212 ppc/spapr_nvdimm: do not enable support with 'nvdimm=off')
makes QEMU error out in case user explicitly set 'nvdimm=off'
on CLI by peeking at machine_opts.

However that's a workaround and leaves 'nvdimms_state->is_enabled'
in inconsistent state (false) when it should be set true
by default.

Instead of using on machine_opts, set default to true for pseries
machine in initfn time. If user sets manually 'nvdimm=off'
it will overwrite default value to false and QEMU will error
as expected without need to peek into machine_opts.

That way pseries will have, nvdimm enabled by default and
will honor user provided 'nvdimm=on|off'.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20201208164606.4109134-1-imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/ppc/spapr.c
hw/ppc/spapr_nvdimm.c