xref: /openbmc/qemu/include/sysemu/numa.h (revision e35704ba9ce0cd1e3c401f3bfbf3faf98b0b6885)
1*e35704baSEduardo Habkost #ifndef SYSEMU_NUMA_H
2*e35704baSEduardo Habkost #define SYSEMU_NUMA_H
3*e35704baSEduardo Habkost 
4*e35704baSEduardo Habkost #include <stdint.h>
5*e35704baSEduardo Habkost #include "qemu/bitmap.h"
6*e35704baSEduardo Habkost #include "qemu/option.h"
7*e35704baSEduardo Habkost #include "sysemu/sysemu.h"
8*e35704baSEduardo Habkost #include "sysemu/hostmem.h"
9*e35704baSEduardo Habkost 
10*e35704baSEduardo Habkost extern int nb_numa_nodes;   /* Number of NUMA nodes */
11*e35704baSEduardo Habkost extern int max_numa_nodeid; /* Highest specified NUMA node ID, plus one.
12*e35704baSEduardo Habkost                              * For all nodes, nodeid < max_numa_nodeid
13*e35704baSEduardo Habkost                              */
14*e35704baSEduardo Habkost 
15*e35704baSEduardo Habkost typedef struct node_info {
16*e35704baSEduardo Habkost     uint64_t node_mem;
17*e35704baSEduardo Habkost     DECLARE_BITMAP(node_cpu, MAX_CPUMASK_BITS);
18*e35704baSEduardo Habkost     struct HostMemoryBackend *node_memdev;
19*e35704baSEduardo Habkost     bool present;
20*e35704baSEduardo Habkost } NodeInfo;
21*e35704baSEduardo Habkost extern NodeInfo numa_info[MAX_NODES];
22*e35704baSEduardo Habkost void set_numa_nodes(void);
23*e35704baSEduardo Habkost void set_numa_modes(void);
24*e35704baSEduardo Habkost void query_numa_node_mem(uint64_t node_mem[]);
25*e35704baSEduardo Habkost extern QemuOptsList qemu_numa_opts;
26*e35704baSEduardo Habkost int numa_init_func(QemuOpts *opts, void *opaque);
27*e35704baSEduardo Habkost 
28*e35704baSEduardo Habkost #endif
29