From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:59161) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TlJpQ-0007Nb-AX for qemu-devel@nongnu.org; Wed, 19 Dec 2012 08:36:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TlJpM-0004Uh-AN for qemu-devel@nongnu.org; Wed, 19 Dec 2012 08:36:56 -0500 Received: from cantor2.suse.de ([195.135.220.15]:60380 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TlJpL-0004Ty-C6 for qemu-devel@nongnu.org; Wed, 19 Dec 2012 08:36:51 -0500 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Wed, 19 Dec 2012 14:36:22 +0100 Message-Id: <1355924196-19288-7-git-send-email-afaerber@suse.de> In-Reply-To: <1355924196-19288-1-git-send-email-afaerber@suse.de> References: <1355924196-19288-1-git-send-email-afaerber@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH 06/20] cpu: Introduce CPUListState struct List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , Paul Brook , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Richard Henderson 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=C3=A4rber Reviewed-by: Igor Mammedov Reviewed-by: Eduardo Habkost --- cpu-common.h | 12 ++++++++++++ target-alpha/cpu.c | 9 ++------- target-arm/helper.c | 9 ++------- target-m68k/helper.c | 9 ++------- 4 Dateien ge=C3=A4ndert, 18 Zeilen hinzugef=C3=BCgt(+), 21 Zeilen entfer= nt(-) 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" =20 +/** + * 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) =20 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 **err= p) #endif } =20 -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, gco= nstpointer b) static void alpha_cpu_list_entry(gpointer data, gpointer user_data) { ObjectClass *oc =3D data; - AlphaCPUListState *s =3D user_data; + CPUListState *s =3D user_data; =20 (*s->cpu_fprintf)(s->file, " %s\n", object_class_get_name(oc)); @@ -61,7 +56,7 @@ static void alpha_cpu_list_entry(gpointer data, gpointe= r user_data) =20 void alpha_cpu_list(FILE *f, fprintf_function cpu_fprintf) { - AlphaCPUListState s =3D { + CPUListState s =3D { .file =3D f, .cpu_fprintf =3D 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; } =20 -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, g= constpointer b) static void arm_cpu_list_entry(gpointer data, gpointer user_data) { ObjectClass *oc =3D data; - ARMCPUListState *s =3D user_data; + CPUListState *s =3D user_data; =20 (*s->cpu_fprintf)(s->file, " %s\n", object_class_get_name(oc)); @@ -1325,7 +1320,7 @@ static void arm_cpu_list_entry(gpointer data, gpoin= ter user_data) =20 void arm_cpu_list(FILE *f, fprintf_function cpu_fprintf) { - ARMCPUListState s =3D { + CPUListState s =3D { .file =3D f, .cpu_fprintf =3D 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 @@ =20 #define SIGNBIT (1u << 31) =20 -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, gcon= stpointer b) static void m68k_cpu_list_entry(gpointer data, gpointer user_data) { ObjectClass *c =3D data; - M68kCPUListState *s =3D user_data; + CPUListState *s =3D user_data; =20 (*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) =20 void m68k_cpu_list(FILE *f, fprintf_function cpu_fprintf) { - M68kCPUListState s =3D { + CPUListState s =3D { .file =3D f, .cpu_fprintf =3D cpu_fprintf, }; --=20 1.7.10.4