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