aboutsummaryrefslogtreecommitdiff
path: root/target/alpha
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2019-04-17 21:17:57 +0200
committerMarkus Armbruster <armbru@redhat.com>2019-04-18 22:18:59 +0200
commit0442428a8976b4f94e04d24b5db9eb1b678d82c4 (patch)
treea4307320a5c4a5e6656c0f7ccf050c3db4edac57 /target/alpha
parentb6b71cb5c674a97a4cd935349ce8a2764f720af4 (diff)
target: Simplify how the TARGET_cpu_list() print
The various TARGET_cpu_list() take an fprintf()-like callback and a FILE * to pass to it. Their callers (vl.c's main() via list_cpus(), bsd-user/main.c's main(), linux-user/main.c's main()) all pass fprintf() and stdout. Thus, the flexibility provided by the (rather tiresome) indirection isn't actually used. Drop the callback, and call qemu_printf() instead. Calling printf() would also work, but would make the code unsuitable for monitor context without making it simpler. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20190417191805.28198-10-armbru@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'target/alpha')
-rw-r--r--target/alpha/cpu.c15
-rw-r--r--target/alpha/cpu.h2
2 files changed, 6 insertions, 11 deletions
diff --git a/target/alpha/cpu.c b/target/alpha/cpu.c
index 1fd95d6c0f..ad3588a44a 100644
--- a/target/alpha/cpu.c
+++ b/target/alpha/cpu.c
@@ -21,6 +21,7 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
+#include "qemu/qemu-print.h"
#include "cpu.h"
#include "qemu-common.h"
#include "exec/exec-all.h"
@@ -74,23 +75,17 @@ static void alpha_cpu_realizefn(DeviceState *dev, Error **errp)
static void alpha_cpu_list_entry(gpointer data, gpointer user_data)
{
ObjectClass *oc = data;
- CPUListState *s = user_data;
- (*s->cpu_fprintf)(s->file, " %s\n",
- object_class_get_name(oc));
+ qemu_printf(" %s\n", object_class_get_name(oc));
}
-void alpha_cpu_list(FILE *f, fprintf_function cpu_fprintf)
+void alpha_cpu_list(void)
{
- CPUListState s = {
- .file = f,
- .cpu_fprintf = cpu_fprintf,
- };
GSList *list;
list = object_class_get_list_sorted(TYPE_ALPHA_CPU, false);
- (*cpu_fprintf)(f, "Available CPUs:\n");
- g_slist_foreach(list, alpha_cpu_list_entry, &s);
+ qemu_printf("Available CPUs:\n");
+ g_slist_foreach(list, alpha_cpu_list_entry, NULL);
g_slist_free(list);
}
diff --git a/target/alpha/cpu.h b/target/alpha/cpu.h
index 7b50be785d..732764f23c 100644
--- a/target/alpha/cpu.h
+++ b/target/alpha/cpu.h
@@ -470,7 +470,7 @@ void alpha_translate_init(void);
#define ALPHA_CPU_TYPE_NAME(model) model ALPHA_CPU_TYPE_SUFFIX
#define CPU_RESOLVING_TYPE TYPE_ALPHA_CPU
-void alpha_cpu_list(FILE *f, fprintf_function cpu_fprintf);
+void alpha_cpu_list(void);
/* you can call this signal handler from your SIGBUS and SIGSEGV
signal handlers to inform the virtual CPU of exceptions. non zero
is returned if the signal was handled by the virtual CPU. */