[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 06/20] cpu: Introduce CPUListState struct
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH 06/20] cpu: Introduce CPUListState struct |
Date: |
Wed, 19 Dec 2012 14:36:22 +0100 |
This generalizes {ARM,M68k,Alpha}CPUListState to avoid declaring it for
each target. Place it in cpu-common.h to avoid circular dependencies.
Signed-off-by: Andreas Färber <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
---
cpu-common.h | 12 ++++++++++++
target-alpha/cpu.c | 9 ++-------
target-arm/helper.c | 9 ++-------
target-m68k/helper.c | 9 ++-------
4 Dateien geändert, 18 Zeilen hinzugefügt(+), 21 Zeilen entfernt(-)
diff --git a/cpu-common.h b/cpu-common.h
index d2fbafa..a62b6ea 100644
--- a/cpu-common.h
+++ b/cpu-common.h
@@ -12,6 +12,18 @@
#include "bswap.h"
#include "qemu-queue.h"
+/**
+ * CPUListState:
+ * @cpu_fprintf: Print function.
+ * @file: File to print to using @cpu_fprint.
+ *
+ * State commonly used for iterating over CPU models.
+ */
+typedef struct CPUListState {
+ fprintf_function cpu_fprintf;
+ FILE *file;
+} CPUListState;
+
#if !defined(CONFIG_USER_ONLY)
enum device_endian {
diff --git a/target-alpha/cpu.c b/target-alpha/cpu.c
index 2deb3c1..59d8669 100644
--- a/target-alpha/cpu.c
+++ b/target-alpha/cpu.c
@@ -33,11 +33,6 @@ static void alpha_cpu_realize(Object *obj, Error **errp)
#endif
}
-typedef struct AlphaCPUListState {
- fprintf_function cpu_fprintf;
- FILE *file;
-} AlphaCPUListState;
-
/* Sort alphabetically by type name. */
static gint alpha_cpu_list_compare(gconstpointer a, gconstpointer b)
{
@@ -53,7 +48,7 @@ static gint alpha_cpu_list_compare(gconstpointer a,
gconstpointer b)
static void alpha_cpu_list_entry(gpointer data, gpointer user_data)
{
ObjectClass *oc = data;
- AlphaCPUListState *s = user_data;
+ CPUListState *s = user_data;
(*s->cpu_fprintf)(s->file, " %s\n",
object_class_get_name(oc));
@@ -61,7 +56,7 @@ static void alpha_cpu_list_entry(gpointer data, gpointer
user_data)
void alpha_cpu_list(FILE *f, fprintf_function cpu_fprintf)
{
- AlphaCPUListState s = {
+ CPUListState s = {
.file = f,
.cpu_fprintf = cpu_fprintf,
};
diff --git a/target-arm/helper.c b/target-arm/helper.c
index ab8b734..d2f2fb4 100644
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -1291,11 +1291,6 @@ ARMCPU *cpu_arm_init(const char *cpu_model)
return cpu;
}
-typedef struct ARMCPUListState {
- fprintf_function cpu_fprintf;
- FILE *file;
-} ARMCPUListState;
-
/* Sort alphabetically by type name, except for "any". */
static gint arm_cpu_list_compare(gconstpointer a, gconstpointer b)
{
@@ -1317,7 +1312,7 @@ static gint arm_cpu_list_compare(gconstpointer a,
gconstpointer b)
static void arm_cpu_list_entry(gpointer data, gpointer user_data)
{
ObjectClass *oc = data;
- ARMCPUListState *s = user_data;
+ CPUListState *s = user_data;
(*s->cpu_fprintf)(s->file, " %s\n",
object_class_get_name(oc));
@@ -1325,7 +1320,7 @@ static void arm_cpu_list_entry(gpointer data, gpointer
user_data)
void arm_cpu_list(FILE *f, fprintf_function cpu_fprintf)
{
- ARMCPUListState s = {
+ CPUListState s = {
.file = f,
.cpu_fprintf = cpu_fprintf,
};
diff --git a/target-m68k/helper.c b/target-m68k/helper.c
index a5d0100..875a71a 100644
--- a/target-m68k/helper.c
+++ b/target-m68k/helper.c
@@ -25,11 +25,6 @@
#define SIGNBIT (1u << 31)
-typedef struct M68kCPUListState {
- fprintf_function cpu_fprintf;
- FILE *file;
-} M68kCPUListState;
-
/* Sort alphabetically, except for "any". */
static gint m68k_cpu_list_compare(gconstpointer a, gconstpointer b)
{
@@ -51,7 +46,7 @@ static gint m68k_cpu_list_compare(gconstpointer a,
gconstpointer b)
static void m68k_cpu_list_entry(gpointer data, gpointer user_data)
{
ObjectClass *c = data;
- M68kCPUListState *s = user_data;
+ CPUListState *s = user_data;
(*s->cpu_fprintf)(s->file, "%s\n",
object_class_get_name(c));
@@ -59,7 +54,7 @@ static void m68k_cpu_list_entry(gpointer data, gpointer
user_data)
void m68k_cpu_list(FILE *f, fprintf_function cpu_fprintf)
{
- M68kCPUListState s = {
+ CPUListState s = {
.file = f,
.cpu_fprintf = cpu_fprintf,
};
--
1.7.10.4
- [Qemu-devel] [PULL] QOM CPUState patch queue 2012-12-19, Andreas Färber, 2012/12/19
- [Qemu-devel] [PATCH 02/20] alpha: Pass AlphaCPU array to Typhoon, Andreas Färber, 2012/12/19
- [Qemu-devel] [PATCH 03/20] target-alpha: Avoid leaking the alarm timer over reset, Andreas Färber, 2012/12/19
- [Qemu-devel] [PATCH 06/20] cpu: Introduce CPUListState struct,
Andreas Färber <=
- [Qemu-devel] [PATCH 05/20] target-alpha: Add support for -cpu ?, Andreas Färber, 2012/12/19
- [Qemu-devel] [PATCH 09/20] cpu: Move kvm_fd into CPUState, Andreas Färber, 2012/12/19
- [Qemu-devel] [PATCH 01/20] target-alpha: Let cpu_alpha_init() return AlphaCPU, Andreas Färber, 2012/12/19
- [Qemu-devel] [PATCH 04/20] target-alpha: Turn CPU definitions into subclasses, Andreas Färber, 2012/12/19
- [Qemu-devel] [PATCH 13/20] ppc: Pass PowerPCCPU to [h]decr callbacks, Andreas Färber, 2012/12/19
- [Qemu-devel] [PATCH 15/20] ppc_booke: Pass PowerPCCPU to {decr, fit, wdt} timer callbacks, Andreas Färber, 2012/12/19
- [Qemu-devel] [PATCH 07/20] qdev: Coding style fixes, Andreas Färber, 2012/12/19
- [Qemu-devel] [PATCH 16/20] ppc4xx_devs: Return PowerPCCPU from ppc4xx_init(), Andreas Färber, 2012/12/19
- [Qemu-devel] [PATCH 10/20] kvm: Pass CPUState to kvm_arch_*, Andreas Färber, 2012/12/19
- [Qemu-devel] [PATCH 12/20] ppc: Pass PowerPCCPU to ppc_set_irq(), Andreas Färber, 2012/12/19