xref: /openbmc/qemu/include/hw/ppc/spapr_nvdimm.h (revision e670f6d825d4dee248b311197fd4048469d6772b)
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