diff options
author | Philippe Mathieu-Daudé <philmd@linaro.org> | 2025-03-23 18:18:24 +0100 |
---|---|---|
committer | Philippe Mathieu-Daudé <philmd@linaro.org> | 2025-04-25 17:09:58 +0200 |
commit | 44246e717018b30ee40db45fe2dd34765df61c7f (patch) | |
tree | 8c1364be60fddb1aeb3749617f732a249e07d678 | |
parent | 559fe89916a3e000317ba7fa8ca495c620a17beb (diff) | |
download | qemu-44246e717018b30ee40db45fe2dd34765df61c7f.zip qemu-44246e717018b30ee40db45fe2dd34765df61c7f.tar.gz qemu-44246e717018b30ee40db45fe2dd34765df61c7f.tar.bz2 |
accel: Make AccelCPUClass structure target-agnostic
Move the target-agnostic parts of "accel/accel-cpu-target.h"
to "accel/accel-cpu.h".
Doing so we need to include missing "hw/core/cpu.h" header
in "accel/accel-cpu.h" otherwise we get:
include/accel/accel-cpu-target.h:39:28: error: unknown type name 'CPUClass'
39 | void (*cpu_class_init)(CPUClass *cc);
| ^
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20250417165430.58213-7-philmd@linaro.org>
-rw-r--r-- | MAINTAINERS | 2 | ||||
-rw-r--r-- | accel/accel-target.c | 1 | ||||
-rw-r--r-- | include/accel/accel-cpu-target.h | 12 | ||||
-rw-r--r-- | include/accel/accel-cpu.h | 23 |
4 files changed, 25 insertions, 13 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index 07711cf..59d9712 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -499,7 +499,7 @@ F: include/qemu/accel.h F: include/qemu/target-info*.h F: include/system/accel-*.h F: include/system/cpus.h -F: include/accel/accel-cpu-target.h +F: include/accel/accel-cpu*.h F: accel/accel-*.? F: accel/Makefile.objs F: accel/stubs/Makefile.objs diff --git a/accel/accel-target.c b/accel/accel-target.c index 7f3bbf3..82a29e6 100644 --- a/accel/accel-target.c +++ b/accel/accel-target.c @@ -27,7 +27,6 @@ #include "qemu/accel.h" #include "qemu/target-info.h" -#include "cpu.h" #include "accel/accel-cpu-target.h" #include "accel-internal.h" diff --git a/include/accel/accel-cpu-target.h b/include/accel/accel-cpu-target.h index 37dde7f..6feb344 100644 --- a/include/accel/accel-cpu-target.h +++ b/include/accel/accel-cpu-target.h @@ -21,21 +21,11 @@ */ #include "qom/object.h" +#include "accel/accel-cpu.h" #include "cpu.h" #define TYPE_ACCEL_CPU "accel-" CPU_RESOLVING_TYPE #define ACCEL_CPU_NAME(name) (name "-" TYPE_ACCEL_CPU) -typedef struct AccelCPUClass AccelCPUClass; DECLARE_CLASS_CHECKERS(AccelCPUClass, ACCEL_CPU, TYPE_ACCEL_CPU) -typedef struct AccelCPUClass { - /*< private >*/ - ObjectClass parent_class; - /*< public >*/ - - void (*cpu_class_init)(CPUClass *cc); - void (*cpu_instance_init)(CPUState *cpu); - bool (*cpu_target_realize)(CPUState *cpu, Error **errp); -} AccelCPUClass; - #endif /* ACCEL_CPU_H */ diff --git a/include/accel/accel-cpu.h b/include/accel/accel-cpu.h new file mode 100644 index 0000000..9e7eede --- /dev/null +++ b/include/accel/accel-cpu.h @@ -0,0 +1,23 @@ +/* + * Accelerator interface, specializes CPUClass + * + * Copyright 2021 SUSE LLC + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef ACCEL_CPU_H +#define ACCEL_CPU_H + +#include "qom/object.h" +#include "hw/core/cpu.h" + +typedef struct AccelCPUClass { + ObjectClass parent_class; + + void (*cpu_class_init)(CPUClass *cc); + void (*cpu_instance_init)(CPUState *cpu); + bool (*cpu_target_realize)(CPUState *cpu, Error **errp); +} AccelCPUClass; + +#endif /* ACCEL_CPU_H */ |