[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 23/29] numa: Don't include hw/boards.h into sysem
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH v4 23/29] numa: Don't include hw/boards.h into sysemu/numa.h |
Date: |
Mon, 12 Aug 2019 07:23:53 +0200 |
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 <address@hidden>
Cc: Marcel Apfelbaum <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
---
include/hw/boards.h | 2 +-
include/sysemu/numa.h | 9 +++++++--
hw/mem/pc-dimm.c | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
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
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"
--
2.21.0
- [Qemu-devel] [PATCH v4 06/29] trace: Eliminate use of TARGET_FMT_plx, (continued)
- [Qemu-devel] [PATCH v4 06/29] trace: Eliminate use of TARGET_FMT_plx, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 13/29] Clean up inclusion of exec/cpu-common.h, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 05/29] queue: Drop superfluous #include qemu/atomic.h, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 03/29] qapi: Split error.json off common.json, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 14/29] migration: Move the VMStateDescription typedef to typedefs.h, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 10/29] ide: Include hw/ide/internal a bit less outside hw/ide/, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 09/29] Include migration/qemu-file-types.h a lot less, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 17/29] Include qom/object.h slightly less, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 25/29] numa: Move remaining NUMA declarations from sysemu.h to numa.h, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 23/29] numa: Don't include hw/boards.h into sysemu/numa.h,
Markus Armbruster <=
- [Qemu-devel] [PATCH v4 24/29] Include sysemu/hostmem.h less, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 19/29] Include qemu/queue.h slightly less, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 28/29] sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h, Markus Armbruster, 2019/08/12
- Re: [Qemu-devel] [PATCH v4 28/29] sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h, Philippe Mathieu-Daudé, 2019/08/12
- [Qemu-devel] [PATCH v4 07/29] trace: Do not include qom/cpu.h into generated trace.h, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 16/29] Include exec/memory.h slightly less, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 22/29] Include hw/boards.h a bit less, Markus Armbruster, 2019/08/12