[libvirt] QEMU -M nvdimm=on and hotplug

Eric Blake eblake at redhat.com
Wed Sep 13 14:25:36 UTC 2017


On 09/13/2017 08:54 AM, Stefan Hajnoczi wrote:
> Hi Michal,
> You asked how NVDIMM hotplug should work if the domain was launched
> without -M nvdimm=on.  I'm not very familiar with ACPI so this may be
> incorrect.
> 
> Hotplug relies on the presence of ACPI tables (SSDT Device=NVDR
> _HID=ACPI0012) added by -M nvdimm=on.  The ACPI tables contain the
> interface needed to handle hotplug events.
> 
> The device_add command fails with the following message if -M nvdimm=on
> is missing:
> 
>   nvdimm is not enabled: missing 'nvdimm' in '-M'
> 
> I'm not sure if ACPI allows SSDT tables to be dynamically added but in
> any case the current QEMU code doesn't support that.
> 
> Options for libvirt:
> 
> 1. Rely on QEMU's device_add error.
>    Pro: If QEMU behavior ever changes then libvirt will also start
>         working without code changes.
>    Cons: Does libvirt interpret QMP error strings?

In general, we don't want to parse the human-readable portion of an
error; if management software MUST be able to distinguish between two
different types of errors in order to react differently according to
type, then we have a scenario where we want actual differing error
classes (most errors use the generic class, via error_setg(); but it is
still possible to set other error classes where it makes sense).

> 
> 2. Only allow NVDIMM hotplug if the domain was started with -M
>    nvdimm=on.
> 
> I think QEMU will not add -M nvdimm=on to the "pc" machine type by
> default since it adds the NVDIMM DSM hardware interface that increases
> the security attack surface.
> 
> Stefan

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170913/fc79c351/attachment-0001.sig>


More information about the libvir-list mailing list