qemu-e2k/default-configs
Shivaprasad G Bhat ee3a71e366 spapr: Add NVDIMM device support
Add support for NVDIMM devices for sPAPR. Piggyback on existing nvdimm
device interface in QEMU to support virtual NVDIMM devices for Power.
Create the required DT entries for the device (some entries have
dummy values right now).

The patch creates the required DT node and sends a hotplug
interrupt to the guest. Guest is expected to undertake the normal
DR resource add path in response and start issuing PAPR SCM hcalls.

The device support is verified based on the machine version unlike x86.

This is how it can be used ..
Ex :
For coldplug, the device to be added in qemu command line as shown below
-object memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/tmp/nvdimm0,share=yes,size=1073872896
-device nvdimm,label-size=128k,uuid=75a3cdd7-6a2f-4791-8d15-fe0a920e8e9e,memdev=memnvdimm0,id=nvdimm0,slot=0

For hotplug, the device to be added from monitor as below
object_add memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/tmp/nvdimm0,share=yes,size=1073872896
device_add nvdimm,label-size=128k,uuid=75a3cdd7-6a2f-4791-8d15-fe0a920e8e9e,memdev=memnvdimm0,id=nvdimm0,slot=0

Signed-off-by: Shivaprasad G Bhat <sbhat@linux.ibm.com>
Signed-off-by: Bharata B Rao <bharata@linux.ibm.com>
               [Early implementation]
Message-Id: <158131058078.2897.12767731856697459923.stgit@lep8c.aus.stglabs.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-02-21 09:15:04 +11:00
..
aarch64-linux-user.mak default-configs/aarch64-linux-user.mak: Remove unused define 2015-11-24 14:12:15 +00:00
aarch64-softmmu.mak hw/arm: Add arm SBSA reference machine, skeleton part 2019-07-01 17:29:00 +01:00
aarch64_be-linux-user.mak configure: Add aarch64_be-linux-user target 2018-01-11 13:25:32 +00:00
alpha-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
alpha-softmmu.mak alpha-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
arm-linux-user.mak default-configs/: CONFIG_GDBSTUB_XML removed 2013-10-16 18:21:01 +02:00
arm-softmmu.mak hw/misc: Add the STM32F4xx Sysconfig device 2020-01-17 14:09:29 +00:00
armeb-linux-user.mak default-configs/: CONFIG_GDBSTUB_XML removed 2013-10-16 18:21:01 +02:00
cris-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
cris-softmmu.mak cris-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
hppa-linux-user.mak target-hppa: Add framework and enable compilation 2017-01-23 09:52:40 -08:00
hppa-softmmu.mak hppa-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
i386-bsd-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
i386-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
i386-softmmu.mak hw/i386: Introduce the microvm machine type 2019-10-22 09:39:54 +02:00
lm32-softmmu.mak semihosting: introduce CONFIG_SEMIHOSTING 2019-05-28 10:28:50 +01:00
m68k-linux-user.mak default-configs/: CONFIG_GDBSTUB_XML removed 2013-10-16 18:21:01 +02:00
m68k-softmmu.mak hw/m68k: add VIA support 2019-10-28 19:06:42 +01:00
microblaze-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
microblaze-softmmu.mak microblaze-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
microblazeel-linux-user.mak microblaze: Correct copy+paste:o in defconfigs 2011-03-01 22:17:52 +01:00
microblazeel-softmmu.mak defconfigs: Piggyback microblazeel on microblaze 2015-04-30 16:05:48 +03:00
mips-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
mips-softmmu-common.mak hw/mips: Express dependencies of the r4k platform with Kconfig 2019-07-02 14:18:13 +02:00
mips-softmmu.mak default-configs: add mips-softmmu-common.mak 2016-03-23 13:36:56 +00:00
mips64-linux-user.mak linux-user: Add default configs for mips64[el] 2012-02-02 17:51:20 +02:00
mips64-softmmu.mak hw/mips: Express dependencies of the Jazz machine with Kconfig 2019-07-02 14:18:05 +02:00
mips64el-linux-user.mak linux-user: Add default configs for mips64[el] 2012-02-02 17:51:20 +02:00
mips64el-softmmu.mak hw/mips: Express dependencies of the Jazz machine with Kconfig 2019-07-02 14:18:05 +02:00
mipsel-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
mipsel-softmmu.mak default-configs: add mips-softmmu-common.mak 2016-03-23 13:36:56 +00:00
mipsn32-linux-user.mak linux-user: Add default-configs for mipsn32[el] 2012-02-02 17:51:20 +02:00
mipsn32el-linux-user.mak linux-user: Add default-configs for mipsn32[el] 2012-02-02 17:51:20 +02:00
moxie-softmmu.mak moxie-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
nios2-linux-user.mak nios2: Add support for Nios-II R1 2017-01-24 13:10:36 -08:00
nios2-softmmu.mak semihosting: introduce CONFIG_SEMIHOSTING 2019-05-28 10:28:50 +01:00
or1k-linux-user.mak target/openrisc: Rename the cpu from or32 to or1k 2017-02-14 08:14:58 +11:00
or1k-softmmu.mak or1k-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
ppc-linux-user.mak build: remove CONFIG_LIBDECNUMBER 2017-10-16 18:03:52 +02:00
ppc-softmmu.mak hw/ppc/Kconfig: Restrict the MPC I2C controller to e500-based platforms 2020-01-07 12:08:39 +01:00
ppc64-linux-user.mak build: remove CONFIG_LIBDECNUMBER 2017-10-16 18:03:52 +02:00
ppc64-softmmu.mak spapr: Add NVDIMM device support 2020-02-21 09:15:04 +11:00
ppc64abi32-linux-user.mak build: remove CONFIG_LIBDECNUMBER 2017-10-16 18:03:52 +02:00
ppc64le-linux-user.mak build: remove CONFIG_LIBDECNUMBER 2017-10-16 18:03:52 +02:00
riscv32-linux-user.mak RISC-V Build Infrastructure 2018-03-07 08:30:28 +13:00
riscv32-softmmu.mak riscv-softmmu.mak: replace CONFIG_* with Kconfig "select" directives 2019-03-07 21:46:19 +01:00
riscv64-linux-user.mak RISC-V Build Infrastructure 2018-03-07 08:30:28 +13:00
riscv64-softmmu.mak riscv-softmmu.mak: replace CONFIG_* with Kconfig "select" directives 2019-03-07 21:46:19 +01:00
s390x-linux-user.mak s390x: build s390x by default 2011-05-20 17:35:12 +02:00
s390x-softmmu.mak s390x: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
sh4-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
sh4-softmmu.mak sh4-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
sh4eb-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
sh4eb-softmmu.mak sh4-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
sparc-bsd-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
sparc-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
sparc-softmmu.mak sparc-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
sparc32plus-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
sparc64-bsd-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
sparc64-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
sparc64-softmmu.mak sparc64-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
tilegx-linux-user.mak target-tilegx: Add TILE-Gx building files 2015-09-15 07:45:32 -07:00
tricore-softmmu.mak hw/tricore/Makefile.objs: Create CONFIG_* for tricore 2019-02-05 16:50:21 +01:00
unicore32-softmmu.mak unicore32-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
x86_64-bsd-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
x86_64-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
x86_64-softmmu.mak x86_64-softmmu: Configuration is identical to i386-softmmu 2018-08-27 11:27:06 +02:00
xtensa-linux-user.mak target/xtensa: add linux-user support 2018-03-16 09:40:34 -07:00
xtensa-softmmu.mak hw/xtensa: add virt machine 2019-10-18 20:38:10 -07:00
xtensaeb-linux-user.mak target/xtensa: add linux-user support 2018-03-16 09:40:34 -07:00
xtensaeb-softmmu.mak xtensa-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00