[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 3/6] target/arm: Make cpu_register() available for other files
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH 3/6] target/arm: Make cpu_register() available for other files |
Date: |
Tue, 21 Apr 2020 15:19:23 +0200 |
From: Thomas Huth <address@hidden>
Make cpu_register() (renamed to arm_cpu_register()) available
from internals.h so we can register CPUs also from other files
in the future.
Signed-off-by: Thomas Huth <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Eric Auger <address@hidden>
Message-ID: <address@hidden>
[PMD: Split Thomas's patch in two: set_feature (earlier), cpu_register]
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
target/arm/cpu-qom.h | 9 ++++++++-
target/arm/cpu.c | 10 ++--------
target/arm/cpu64.c | 8 +-------
3 files changed, 11 insertions(+), 16 deletions(-)
diff --git a/target/arm/cpu-qom.h b/target/arm/cpu-qom.h
index d95568bf05..56395b87f6 100644
--- a/target/arm/cpu-qom.h
+++ b/target/arm/cpu-qom.h
@@ -35,7 +35,14 @@ struct arm_boot_info;
#define TYPE_ARM_MAX_CPU "max-" TYPE_ARM_CPU
-typedef struct ARMCPUInfo ARMCPUInfo;
+typedef struct ARMCPUInfo {
+ const char *name;
+ void (*initfn)(Object *obj);
+ void (*class_init)(ObjectClass *oc, void *data);
+} ARMCPUInfo;
+
+void arm_cpu_register(const ARMCPUInfo *info);
+void aarch64_cpu_register(const ARMCPUInfo *info);
/**
* ARMCPUClass:
diff --git a/target/arm/cpu.c b/target/arm/cpu.c
index 37f18d1648..6c84e99a38 100644
--- a/target/arm/cpu.c
+++ b/target/arm/cpu.c
@@ -2683,12 +2683,6 @@ static void arm_max_initfn(Object *obj)
#endif /* !defined(CONFIG_USER_ONLY) || !defined(TARGET_AARCH64) */
-struct ARMCPUInfo {
- const char *name;
- void (*initfn)(Object *obj);
- void (*class_init)(ObjectClass *oc, void *data);
-};
-
static const ARMCPUInfo arm_cpus[] = {
#if !defined(CONFIG_USER_ONLY) || !defined(TARGET_AARCH64)
{ .name = "arm926", .initfn = arm926_initfn },
@@ -2854,7 +2848,7 @@ static void cpu_register_class_init(ObjectClass *oc, void
*data)
acc->info = data;
}
-static void cpu_register(const ARMCPUInfo *info)
+void arm_cpu_register(const ARMCPUInfo *info)
{
TypeInfo type_info = {
.parent = TYPE_ARM_CPU,
@@ -2895,7 +2889,7 @@ static void arm_cpu_register_types(void)
type_register_static(&idau_interface_type_info);
while (info->name) {
- cpu_register(info);
+ arm_cpu_register(info);
info++;
}
diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c
index 622082eae2..e89388378b 100644
--- a/target/arm/cpu64.c
+++ b/target/arm/cpu64.c
@@ -728,12 +728,6 @@ static void aarch64_max_initfn(Object *obj)
cpu_max_set_sve_max_vq, NULL, NULL, &error_fatal);
}
-struct ARMCPUInfo {
- const char *name;
- void (*initfn)(Object *obj);
- void (*class_init)(ObjectClass *oc, void *data);
-};
-
static const ARMCPUInfo aarch64_cpus[] = {
{ .name = "cortex-a57", .initfn = aarch64_a57_initfn },
{ .name = "cortex-a53", .initfn = aarch64_a53_initfn },
@@ -816,7 +810,7 @@ static void cpu_register_class_init(ObjectClass *oc, void
*data)
acc->info = data;
}
-static void aarch64_cpu_register(const ARMCPUInfo *info)
+void aarch64_cpu_register(const ARMCPUInfo *info)
{
TypeInfo type_info = {
.parent = TYPE_AARCH64_CPU,
--
2.21.1
- [PATCH 0/6] target/arm: Restrict TCG cpus to TCG accel, Philippe Mathieu-Daudé, 2020/04/21
- [PATCH 2/6] target/arm: Make set_feature() available for other files, Philippe Mathieu-Daudé, 2020/04/21
- [PATCH 1/6] target/arm: Restric the Address Translate write operation to TCG accel, Philippe Mathieu-Daudé, 2020/04/21
- [PATCH 4/6] target/arm/cpu: Use ARRAY_SIZE() to iterate over ARMCPUInfo[], Philippe Mathieu-Daudé, 2020/04/21
- [PATCH 3/6] target/arm: Make cpu_register() available for other files,
Philippe Mathieu-Daudé <=
- [PATCH 5/6] target/arm/cpu: Update coding style to make checkpatch.pl happy, Philippe Mathieu-Daudé, 2020/04/21
- [PATCH 6/6] target/arm: Restrict TCG cpus to TCG accel, Philippe Mathieu-Daudé, 2020/04/21