|
From: | Haozhong Zhang |
Subject: | Re: [Qemu-devel] [PATCH] hw/i386: check if nvdimm is enabled before plugging |
Date: | Fri, 13 Jan 2017 21:37:38 +0800 |
User-agent: | Mutt/1.6.2-neo (2016-08-21) |
On 01/13/17 13:17 +0000, Stefan Hajnoczi wrote:
On Fri, Jan 13, 2017 at 07:56:51PM +0800, Haozhong Zhang wrote: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. Reported-by: Stefan Hajnoczi <address@hidden> Signed-off-by: Haozhong Zhang <address@hidden> Message-Id: address@hidden Message-Id: 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 25e8586..3907609 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1715,6 +1715,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; + }A warning is definitely useful to notify users of a possible configuration error.
If NVDIMM is plugged at boot time, QEMU with this patch will stop and report a message like qemu-system-x86_64: -device nvdimm,...: nvdimm is not enabled: missing 'nvdimm' in '-M' If NVDIMM is plugged via 'device_add' command, QEMU with this patch will report a warning message nvdimm is not enabled: missing 'nvdimm' in '-M' and continue to run w/o plugging this device.
I wonder what happens when you plug an NVDIMM into a motherboard where the firmware lacks support. Does it: * Refuse to boot? * Treat the DIMM as regular RAM? * Boot but the DIMM will not be used by firmware and kernel?
Good question. Guangrong, any idea? Thanks, Haozhong
QEMU should act the same way as real hardware. Stefan
[Prev in Thread] | Current Thread | [Next in Thread] |