mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-11 03:24:58 -06:00
spapr: nvdimm: Forward declare and move the definitions
The subsequent patches add definitions which tend to get the compilation to cyclic dependency. So, prepare with forward declarations, move the definitions and clean up. Signed-off-by: Shivaprasad G Bhat <sbhat@linux.ibm.com> Message-Id: <162133925415.610.11584121797866216417.stgit@4f1e6f2bd33e> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
ac9ef66832
commit
f93c8f148c
2 changed files with 14 additions and 12 deletions
|
@ -35,6 +35,18 @@
|
||||||
/* SCM device is unable to persist memory contents */
|
/* SCM device is unable to persist memory contents */
|
||||||
#define PAPR_PMEM_UNARMED PPC_BIT(0)
|
#define PAPR_PMEM_UNARMED PPC_BIT(0)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The nvdimm size should be aligned to SCM block size.
|
||||||
|
* The SCM block size should be aligned to SPAPR_MEMORY_BLOCK_SIZE
|
||||||
|
* in order to have SCM regions not to overlap with dimm memory regions.
|
||||||
|
* The SCM devices can have variable block sizes. For now, fixing the
|
||||||
|
* block size to the minimum value.
|
||||||
|
*/
|
||||||
|
#define SPAPR_MINIMUM_SCM_BLOCK_SIZE SPAPR_MEMORY_BLOCK_SIZE
|
||||||
|
|
||||||
|
/* Have an explicit check for alignment */
|
||||||
|
QEMU_BUILD_BUG_ON(SPAPR_MINIMUM_SCM_BLOCK_SIZE % SPAPR_MEMORY_BLOCK_SIZE);
|
||||||
|
|
||||||
bool spapr_nvdimm_validate(HotplugHandler *hotplug_dev, NVDIMMDevice *nvdimm,
|
bool spapr_nvdimm_validate(HotplugHandler *hotplug_dev, NVDIMMDevice *nvdimm,
|
||||||
uint64_t size, Error **errp)
|
uint64_t size, Error **errp)
|
||||||
{
|
{
|
||||||
|
|
|
@ -11,19 +11,9 @@
|
||||||
#define HW_SPAPR_NVDIMM_H
|
#define HW_SPAPR_NVDIMM_H
|
||||||
|
|
||||||
#include "hw/mem/nvdimm.h"
|
#include "hw/mem/nvdimm.h"
|
||||||
#include "hw/ppc/spapr.h"
|
|
||||||
|
|
||||||
/*
|
typedef struct SpaprDrc SpaprDrc;
|
||||||
* The nvdimm size should be aligned to SCM block size.
|
typedef struct SpaprMachineState SpaprMachineState;
|
||||||
* The SCM block size should be aligned to SPAPR_MEMORY_BLOCK_SIZE
|
|
||||||
* inorder to have SCM regions not to overlap with dimm memory regions.
|
|
||||||
* The SCM devices can have variable block sizes. For now, fixing the
|
|
||||||
* block size to the minimum value.
|
|
||||||
*/
|
|
||||||
#define SPAPR_MINIMUM_SCM_BLOCK_SIZE SPAPR_MEMORY_BLOCK_SIZE
|
|
||||||
|
|
||||||
/* Have an explicit check for alignment */
|
|
||||||
QEMU_BUILD_BUG_ON(SPAPR_MINIMUM_SCM_BLOCK_SIZE % SPAPR_MEMORY_BLOCK_SIZE);
|
|
||||||
|
|
||||||
int spapr_pmem_dt_populate(SpaprDrc *drc, SpaprMachineState *spapr,
|
int spapr_pmem_dt_populate(SpaprDrc *drc, SpaprMachineState *spapr,
|
||||||
void *fdt, int *fdt_start_offset, Error **errp);
|
void *fdt, int *fdt_start_offset, Error **errp);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue