]> git.proxmox.com Git - mirror_qemu.git/blame - include/sysemu/numa.h
numa: postpone options post-processing till machine_run_board_init()
[mirror_qemu.git] / include / sysemu / numa.h
CommitLineData
e35704ba
EH
1#ifndef SYSEMU_NUMA_H
2#define SYSEMU_NUMA_H
3
e35704ba 4#include "qemu/bitmap.h"
e35704ba
EH
5#include "sysemu/sysemu.h"
6#include "sysemu/hostmem.h"
57924bcd 7#include "hw/boards.h"
e35704ba
EH
8
9extern int nb_numa_nodes; /* Number of NUMA nodes */
0f203430 10extern bool have_numa_distance;
e35704ba 11
3bfe5716 12struct node_info {
e35704ba 13 uint64_t node_mem;
e35704ba
EH
14 struct HostMemoryBackend *node_memdev;
15 bool present;
0f203430 16 uint8_t distance[MAX_NODES];
3bfe5716 17};
fa9ea81d 18
31959e82
VG
19struct NumaNodeMem {
20 uint64_t node_mem;
21 uint64_t node_plugged_mem;
22};
23
e35704ba 24extern NodeInfo numa_info[MAX_NODES];
ea089eeb 25void parse_numa_opts(MachineState *ms);
7a3099fc 26void numa_complete_configuration(MachineState *ms);
31959e82 27void query_numa_node_mem(NumaNodeMem node_mem[]);
e35704ba 28extern QemuOptsList qemu_numa_opts;
3bfe5716
LV
29void numa_legacy_auto_assign_ram(MachineClass *mc, NodeInfo *nodes,
30 int nb_nodes, ram_addr_t size);
31void numa_default_auto_assign_ram(MachineClass *mc, NodeInfo *nodes,
32 int nb_nodes, ram_addr_t size);
a0ceb640 33void numa_cpu_pre_plug(const CPUArchId *slot, DeviceState *dev, Error **errp);
e35704ba 34#endif