1ee3a71e3SShivaprasad G Bhat /* 2ee3a71e3SShivaprasad G Bhat * QEMU PowerPC PAPR SCM backend definitions 3ee3a71e3SShivaprasad G Bhat * 4ee3a71e3SShivaprasad G Bhat * Copyright (c) 2020, IBM Corporation. 5ee3a71e3SShivaprasad G Bhat * 6ee3a71e3SShivaprasad G Bhat * This code is licensed under the GPL version 2 or later. See the 7ee3a71e3SShivaprasad G Bhat * COPYING file in the top-level directory. 8ee3a71e3SShivaprasad G Bhat */ 9ee3a71e3SShivaprasad G Bhat 10ee3a71e3SShivaprasad G Bhat #ifndef HW_SPAPR_NVDIMM_H 11ee3a71e3SShivaprasad G Bhat #define HW_SPAPR_NVDIMM_H 12ee3a71e3SShivaprasad G Bhat 13ee3a71e3SShivaprasad G Bhat #include "hw/mem/nvdimm.h" 14ee3a71e3SShivaprasad G Bhat 15f93c8f14SShivaprasad G Bhat typedef struct SpaprDrc SpaprDrc; 16f93c8f14SShivaprasad G Bhat typedef struct SpaprMachineState SpaprMachineState; 17ee3a71e3SShivaprasad G Bhat 18ee3a71e3SShivaprasad G Bhat int spapr_pmem_dt_populate(SpaprDrc *drc, SpaprMachineState *spapr, 19ee3a71e3SShivaprasad G Bhat void *fdt, int *fdt_start_offset, Error **errp); 20f1aa45ffSDaniel Henrique Barboza void spapr_dt_persistent_memory(SpaprMachineState *spapr, void *fdt); 21451c6905SGreg Kurz bool spapr_nvdimm_validate(HotplugHandler *hotplug_dev, NVDIMMDevice *nvdimm, 22beb6073fSDaniel Henrique Barboza uint64_t size, Error **errp); 23ea042c53SGreg Kurz void spapr_add_nvdimm(DeviceState *dev, uint64_t slot); 24*b5513584SShivaprasad G Bhat void spapr_nvdimm_finish_flushes(void); 25ee3a71e3SShivaprasad G Bhat 26ee3a71e3SShivaprasad G Bhat #endif 27