diff options
author | Markus Armbruster <armbru@redhat.com> | 2019-08-12 07:23:53 +0200 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2019-08-16 13:31:53 +0200 |
commit | a44432b44fe864c7b5dda15cd5472e3a06a4715a (patch) | |
tree | c7fee98bb2118b3f8e2feae88f3505169c0283fd | |
parent | 12e9493df9242a2051701e7eb64175d4e904acba (diff) |
numa: Don't include hw/boards.h into sysemu/numa.h
sysemu/numa.h includes hw/boards.h just for the CPUArchId typedef, at
the cost of pulling in more than two dozen extra headers indirectly.
I could move the typedef from hw/boards.h to qemu/typedefs.h. But
it's used in just two headers: boards.h and numa.h.
I could move it to another header both its users include.
exec/cpu-common.h seems to be the least bad fit.
But I'm keeping this simple & stupid: declare the struct tag in
numa.h.
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20190812052359.30071-24-armbru@redhat.com>
-rw-r--r-- | hw/mem/pc-dimm.c | 1 | ||||
-rw-r--r-- | include/hw/boards.h | 2 | ||||
-rw-r--r-- | include/sysemu/numa.h | 9 |
3 files changed, 9 insertions, 3 deletions
diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c index 1f3e676066..dea48f9163 100644 --- a/hw/mem/pc-dimm.c +++ b/hw/mem/pc-dimm.c @@ -19,6 +19,7 @@ */ #include "qemu/osdep.h" +#include "hw/boards.h" #include "hw/mem/pc-dimm.h" #include "hw/qdev-properties.h" #include "migration/vmstate.h" diff --git a/include/hw/boards.h b/include/hw/boards.h index 67e551636a..739d109fe1 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -86,7 +86,7 @@ void machine_class_allow_dynamic_sysbus_dev(MachineClass *mc, const char *type); * @props - CPU object properties, initialized by board * #vcpus_count - number of threads provided by @cpu object */ -typedef struct { +typedef struct CPUArchId { uint64_t arch_id; int64_t vcpus_count; CpuInstanceProperties props; diff --git a/include/sysemu/numa.h b/include/sysemu/numa.h index 01a263eba2..4c4c1dee9b 100644 --- a/include/sysemu/numa.h +++ b/include/sysemu/numa.h @@ -4,7 +4,10 @@ #include "qemu/bitmap.h" #include "sysemu/sysemu.h" #include "sysemu/hostmem.h" -#include "hw/boards.h" +#include "qapi/qapi-types-machine.h" +#include "exec/cpu-common.h" + +struct CPUArchId; extern int nb_numa_nodes; /* Number of NUMA nodes */ extern bool have_numa_distance; @@ -32,5 +35,7 @@ void numa_legacy_auto_assign_ram(MachineClass *mc, NodeInfo *nodes, int nb_nodes, ram_addr_t size); void numa_default_auto_assign_ram(MachineClass *mc, NodeInfo *nodes, int nb_nodes, ram_addr_t size); -void numa_cpu_pre_plug(const CPUArchId *slot, DeviceState *dev, Error **errp); +void numa_cpu_pre_plug(const struct CPUArchId *slot, DeviceState *dev, + Error **errp); + #endif |