[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 11/18] hw/i386: check if nvdimm is enabled before
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL v2 11/18] hw/i386: check if nvdimm is enabled before plugging |
Date: |
Thu, 26 Jan 2017 18:15:45 +0200 |
From: Haozhong Zhang <address@hidden>
The missing of 'nvdimm' in the machine type option '-M' means NVDIMM
is disabled. QEMU should refuse to plug any NVDIMM device in this case
and report the misconfiguration.
The behavior of NVDIMM on unsupported platform (HW/FW) is vendor
specific. For some vendors, it's undefined and the platform may do
anything. Thus, I think QEMU is free to choose the implementation.
Aborting QEMU (i.e. refusing to boot) is the easiest one.
Reported-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Haozhong Zhang <address@hidden>
Message-Id: address@hidden
Message-Id: address@hidden
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Xiao Guangrong <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
---
hw/i386/pc.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 706e233..e3fcd51 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1708,6 +1708,11 @@ static void pc_dimm_plug(HotplugHandler *hotplug_dev,
}
if (object_dynamic_cast(OBJECT(dev), TYPE_NVDIMM)) {
+ if (!pcms->acpi_nvdimm_state.is_enabled) {
+ error_setg(&local_err,
+ "nvdimm is not enabled: missing 'nvdimm' in '-M'");
+ goto out;
+ }
nvdimm_plug(&pcms->acpi_nvdimm_state);
}
--
MST
- [Qemu-devel] [PULL v2 00/18] virtio, vhost, pci: fixes, features, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 02/18] qxl: switch to constants within BUILD_BUG_ON, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 01/18] compiler: drop ; after BUILD_BUG_ON, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 03/18] compiler: rework BUG_ON using a struct, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 04/18] compiler: expression version of QEMU_BUILD_BUG_ON, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 05/18] ARRAY_SIZE: check that argument is an array, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 06/18] pci: mark ROMs read-only, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 07/18] intel_iommu: fix and simplify size calculation in process_device_iotlb_desc(), Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 08/18] hw/pcie: Introduce a base class for PCI Express Root Ports, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 09/18] hw/ioh3420: derive from PCI Express Root Port base class, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 11/18] hw/i386: check if nvdimm is enabled before plugging,
Michael S. Tsirkin <=
- [Qemu-devel] [PULL v2 12/18] msix: Follow CODING_STYLE, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 10/18] hw/pcie: Introduce Generic PCI Express Root Port, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 13/18] hcd-xhci: check & correct param before using it, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 15/18] virtio: make virtio_should_notify static, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 16/18] vhost: skip ROM sections, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 17/18] vhost-user: delete chardev on cleanup, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 14/18] pci: Convert msix_init() to Error and fix callers, Michael S. Tsirkin, 2017/01/26
- [Qemu-devel] [PULL v2 18/18] hw/pci: disable pci-bridge's shpc by default, Michael S. Tsirkin, 2017/01/26
- Re: [Qemu-devel] [PULL v2 00/18] virtio, vhost, pci: fixes, features, Peter Maydell, 2017/01/27