Lines Matching +full:non +full:- +full:persistent
7 The current QEMU only implements the persistent memory mode of vNVDIMM
11 -----------
14 backend (i.e. memory-backend-file and memory-backend-ram). A simple
18 -machine pc,nvdimm=on
19 -m $RAM_SIZE,slots=$N,maxmem=$MAX_SIZE
20 -object memory-backend-file,id=mem1,share=on,mem-path=$PATH,size=$NVDIMM_SIZE,readonly=off
21 -device nvdimm,id=nvdimm1,memdev=mem1,unarmed=off
25 - the "nvdimm" machine option enables vNVDIMM feature.
27 - "slots=$N" should be equal to or larger than the total amount of
30 - "maxmem=$MAX_SIZE" should be equal to or larger than the total size
34 - "object memory-backend-file,id=mem1,share=on,mem-path=$PATH,
46 "readonly=on/off" controls whether the file $PATH is opened read-only or
49 - "device nvdimm,id=nvdimm1,memdev=mem1,unarmed=off" creates a read/write
55 persistent writes. Linux guest drivers set the device to read-only when this
58 Multiple vNVDIMM devices can be created if multiple pairs of "-object"
59 and "-device" are provided.
63 detect a NVDIMM device which is in the persistent memory mode and whose
68 1. Prior to QEMU v2.8.0, if memory-backend-file is used and the actual
79 option of memory-backend-file, e.g. 4KB alignment on x86. However,
82 change breaks the usage of memory-backend-file that only satisfies
85 QEMU v2.8.0 and later remove the additional alignment on non-s390x
86 architectures, so the broken memory-backend-file can work again.
89 -----
93 "label-size=$SZ" option to "-device nvdimm", e.g.
95 -device nvdimm,id=nvdimm1,memdev=mem1,label-size=128K
106 meta-data of the file system) was stored there, the latter usage
111 -------
120 (qemu) object_add memory-backend-file,id=mem2,share=on,mem-path=new_nvdimm.img,size=4G
126 should always ensure the memory option "-m ...,slots=N" specifies
132 2. The similar is required for the memory option "-m ...,maxmem=M", i.e.
138 ---------
144 memory-backend-file to allow users to specify the proper alignment.
150 ndctl list -X
151 daxctl list -R
160 -object memory-backend-file,id=mem1,share=on,mem-path=/dev/dax0.0,size=4G,align=2M
161 -device nvdimm,id=nvdimm1,memdev=mem1
164 ----------------------
172 When using B (A file supporting direct mapping of persistent memory)
185 http://man7.org/linux/man-pages/man2/mmap.2.html.
188 option of '-device nvdimm' to 'on', which sets the unarmed flag of the
191 accept persistent writes. In result, for example, the guest Linux
192 NVDIMM driver, marks such vNVDIMM device as read-only.
195 --------------------------
197 Here are two examples showing how to setup these persistent backends on
205 ndctl create-namespace -f -e namespace0.0 -m devdax
207 The /dev/dax0.0 could be used directly in "mem-path" option.
215 ndctl create-namespace -f -e namespace0.0 -m fsdax
217 mount -o dax /dev/pmem0p1 /mnt
218 (create or copy a disk image file with qemu-img(1), cp(1), or dd(1)
221 Then the new file in /mnt could be used in "mem-path" option.
224 ------------------
229 the optional "nvdimm-persistence" machine command line option:
231 -machine pc,accel=kvm,nvdimm,nvdimm-persistence=cpu
235 "mem-ctrl" - The platform supports flushing dirty data from the memory
238 "cpu" - The platform supports flushing dirty data from the CPU cache to
243 If the vNVDIMM backend is in host persistent memory that can be accessed in
245 the 'pmem' option of memory-backend-file to 'on'. When 'pmem' is 'on' and QEMU
246 is built with libpmem [2] support (configured with --enable-libpmem), QEMU
254 -object memory-backend-file,id=nv_mem,mem-path=/XXX/yyy,size=4G,pmem=on
257 ----------
262 [2] Persistent Memory Development Kit (PMDK), formerly known as NVML project, home page:
264 [3] ndctl-create-namespace - provision or reconfigure a namespace
265 http://pmem.io/ndctl/ndctl-create-namespace.html