qemu/hw
Haozhong Zhang cb836434cd nvdimm: add 'unarmed' option
Currently the only vNVDIMM backend can guarantee the guest write
persistence is device DAX on Linux, because no host-side kernel cache
is involved in the guest access to it. The approach to detect whether
the backend is device DAX needs to access sysfs, which may not work
with SELinux.

Instead, we add the 'unarmed' option to device 'nvdimm', so that users
or management utils, which have enough knowledge about the backend,
can control the unarmed flag in guest ACPI NFIT via this option. The
guest Linux NVDIMM driver, for example, will mark the corresponding
vNVDIMM device read-only if the unarmed flag in guest NFIT is set.

The default value of 'unarmed' option is 'off' in order to keep the
backwards compatibility.

Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com>
Message-Id: <20171211072806.2812-4-haozhong.zhang@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2018-01-19 11:18:51 -02:00
..
9pfs 9pfs: deprecate handle backend 2018-01-08 11:18:23 +01:00
acpi nvdimm: add 'unarmed' option 2018-01-19 11:18:51 -02:00
adc maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
alpha Merge remote-tracking branch 'origin/master' into HEAD 2018-01-11 22:03:50 +02:00
arm hw/arm/virt: Allow only supported dynamic sysbus devices 2018-01-19 11:18:51 -02:00
audio misc: remove old i386 dependency 2017-12-18 17:07:02 +03:00
block vhost-user-blk: introduce a new vhost-user-blk host device 2018-01-18 21:52:37 +02:00
bt bt: stop the sdp memory allocation craziness 2017-08-01 17:27:33 +02:00
char maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
core qdev: Check for the availability of a hotplug controller before adding a device 2018-01-19 11:18:51 -02:00
cpu hw: use "qemu/osdep.h" as first #include in source files 2017-12-18 17:07:02 +03:00
cris cris: use generic cpu_model parsing 2017-10-27 16:03:54 +02:00
display * QemuMutex tracing improvements (Alex) 2018-01-16 15:45:15 +00:00
dma maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
gpio hw/gpio/omap_gpio.c: Don't use old_mmio 2017-09-21 16:34:27 +01:00
i2c * QemuMutex tracing improvements (Alex) 2018-01-16 15:45:15 +00:00
i386 q35: Allow only supported dynamic sysbus devices 2018-01-19 11:18:51 -02:00
ide hw/ide: Emulate SiI3112 SATA controller 2018-01-10 12:53:00 +11:00
input Split adb.c into adb.c, adb-mouse.c and adb-kbd.c 2017-12-21 20:11:28 +01:00
intc hw/intc/armv7m: Support byte and halfword accesses to CFSR 2018-01-16 13:28:09 +00:00
ipack pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices 2017-10-15 05:54:43 +03:00
ipmi hw/ipmi: remove old i386 dependency 2017-12-18 17:07:02 +03:00
isa Merge remote-tracking branch 'origin/master' into HEAD 2018-01-11 22:03:50 +02:00
lm32 lm32: lm32_boards: use generic cpu_model parsing 2017-10-27 16:03:54 +02:00
m68k m68k: mcf5208: use generic cpu_model parsing 2017-10-27 16:03:54 +02:00
mem nvdimm: add 'unarmed' option 2018-01-19 11:18:51 -02:00
microblaze hw: Use new memory_region_init_{ram, rom, rom_device}() functions 2017-07-14 17:59:42 +01:00
mips Merge remote-tracking branch 'origin/master' into HEAD 2018-01-11 22:03:50 +02:00
misc maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
moxie hw/moxie/moxiesim: Add support for loading a BIOS on moxiesim 2017-12-21 09:30:31 +01:00
net * QemuMutex tracing improvements (Alex) 2018-01-16 15:45:15 +00:00
nios2 nios2: remove duplicated includes (in code commented out) 2017-12-18 17:07:02 +03:00
nvram mips: fix potential fopen(NULL,...) 2018-01-16 14:54:50 +01:00
openrisc openrisc: use generic cpu_model parsing 2017-10-27 16:03:54 +02:00
pci pci/shpc: Move function to generic header file 2018-01-18 21:52:38 +02:00
pci-bridge hw/pci-bridge: fix QEMU crash because of pcie-root-port 2018-01-18 21:52:38 +02:00
pci-host Merge remote-tracking branch 'origin/master' into HEAD 2018-01-11 22:03:50 +02:00
pcmcia
ppc spapr: Allow only supported dynamic sysbus devices 2018-01-19 11:18:51 -02:00
s390x Merge remote-tracking branch 'origin/master' into HEAD 2018-01-11 22:03:50 +02:00
scsi * QemuMutex tracing improvements (Alex) 2018-01-16 15:45:15 +00:00
sd sdhci: add a 'dma' property to the sysbus devices 2018-01-16 13:28:21 +00:00
sh4 pci: Rename root bus initialization functions for clarity 2017-12-05 19:13:45 +02:00
smbios Merge remote-tracking branch 'origin/master' into HEAD 2018-01-11 22:03:50 +02:00
sparc sun4m: remove include/hw/sparc/sun4m.h and all references to it 2018-01-09 21:48:20 +00:00
sparc64 sun4u_iommu: add trace event for IOMMU translations 2018-01-09 21:48:20 +00:00
ssi maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
timer maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
tpm maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
tricore tricore: use generic cpu_model parsing 2017-10-27 16:04:27 +02:00
unicore32 hw/unicore32: restrict hw addr defines to source file 2017-12-18 17:07:02 +03:00
usb Merge remote-tracking branch 'origin/master' into HEAD 2018-01-11 22:03:50 +02:00
vfio Merge remote-tracking branch 'origin/master' into HEAD 2018-01-11 22:03:50 +02:00
virtio vhost: remove assertion to prevent crash 2018-01-18 21:52:39 +02:00
watchdog misc: drop old i386 dependency 2017-12-18 17:07:03 +03:00
xen xen: Add only xen-sysdev to dynamic sysbus device list 2018-01-19 11:18:51 -02:00
xenpv
xtensa xtensa: lx60/lx200/ml605/kc705: use generic cpu_model parsing 2017-10-27 16:04:27 +02:00
Makefile.objs 9pfs: fix dependencies 2017-08-30 18:23:25 +02:00