4 #include "qemu/bitmap.h"
5 #include "qapi/qapi-types-machine.h"
6 #include "exec/cpu-common.h"
11 #define NUMA_NODE_UNASSIGNED MAX_NODES
12 #define NUMA_DISTANCE_MIN 10
13 #define NUMA_DISTANCE_DEFAULT 20
14 #define NUMA_DISTANCE_MAX 254
15 #define NUMA_DISTANCE_UNREACHABLE 255
19 struct HostMemoryBackend
*node_memdev
;
21 uint8_t distance
[MAX_NODES
];
26 uint64_t node_plugged_mem
;
30 /* Number of NUMA nodes */
33 /* Allow setting NUMA distance for different NUMA nodes */
34 bool have_numa_distance
;
36 /* NUMA nodes information */
37 NodeInfo nodes
[MAX_NODES
];
39 typedef struct NumaState NumaState
;
41 void set_numa_options(MachineState
*ms
, NumaOptions
*object
, Error
**errp
);
42 void parse_numa_opts(MachineState
*ms
);
43 void numa_complete_configuration(MachineState
*ms
);
44 void query_numa_node_mem(NumaNodeMem node_mem
[], MachineState
*ms
);
45 extern QemuOptsList qemu_numa_opts
;
46 void numa_legacy_auto_assign_ram(MachineClass
*mc
, NodeInfo
*nodes
,
47 int nb_nodes
, ram_addr_t size
);
48 void numa_default_auto_assign_ram(MachineClass
*mc
, NodeInfo
*nodes
,
49 int nb_nodes
, ram_addr_t size
);
50 void numa_cpu_pre_plug(const struct CPUArchId
*slot
, DeviceState
*dev
,