You've been very helpful, haozhong, Thanks for your comments, I appreciate.
>>> Haozhong Zhang <haozhong.zh...@intel.com> 2016/11/21 星期一 上午 10:55 >>> On 11/20/16 10:58 -0700, Lin Ma wrote: >Hi Guangrong, > >I'm interested in vNVDIMM on qemu. I'd like to give it a try on my laptop. >Because I dont have skylake server hardware, So I want to expose cpu flags >clflushopt, clwb and pcommit to guest for NVDIMM drivers on TCG. > >I saw clflushopt and clwb feature flags in cpuinfo of guest, but no pcommit. >Could you please tell me is there anyhing wrong in my qemu CLI or anything >I misunderstand? pcommit had been deprecated (see KVM commit dfa169bbee00671288df25f8ef8a2f6e13fe2581), so it's correct to not have it in guest. > >qemu-system-x86_64 \ >-cpu Skylake-Client,+pcommit,+clflushopt,+clwb \ >-machine pc-i440fx-2.8,nvdimm=on,accel=tcg \ >-m 4G,maxmem=... \ >-object memory-backend-file,... \ >-device nvdimm,... \ > >BTW, In kvm mode, Even if I used '-cpu qemu64' without flags pcommit, >clflushopt and clwb, The block device /dev/pmem0 is still there and can >be used successfully. Does it make sense? Doesn't nvdimm kernel driver >need pcommit, clflushopt and clwb to work? > If my memory is correct, Linux NVDIMM driver will fallback to clflush when neither clflushopt nor clwb is available. Haozhong