Message ID | 1355879035-21064-1-git-send-email-afaerber@suse.de |
---|---|
State | New |
Headers | show |
On Wed, 19 Dec 2012 02:03:55 +0100 Andreas Färber <afaerber@suse.de> wrote: > 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 <afaerber@suse.de> > Cc: Eduardo Habkost <ehabkost@redhat.com> > Cc: Igor Mammedov <imammedo@redhat.com> > --- > 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, > }; Reviewed-By: Igor Mammedov <imammedo@redhat.com>
On Wed, Dec 19, 2012 at 02:00:32PM +0100, Igor Mammedov wrote: > On Wed, 19 Dec 2012 02:03:55 +0100 > Andreas Färber <afaerber@suse.de> wrote: > > > 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 <afaerber@suse.de> > > Cc: Eduardo Habkost <ehabkost@redhat.com> > > Cc: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> > > --- > > 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, > > }; > > Reviewed-By: Igor Mammedov <imammedo@redhat.com>
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, };
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 <afaerber@suse.de> Cc: Eduardo Habkost <ehabkost@redhat.com> Cc: Igor Mammedov <imammedo@redhat.com> --- 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(-)