Commit 0442428a authored by Markus Armbruster's avatar Markus Armbruster
Browse files

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: default avatarMarkus Armbruster <armbru@redhat.com>
Message-Id: <20190417191805.28198-10-armbru@redhat.com>
Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
parent b6b71cb5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -819,7 +819,7 @@ int main(int argc, char **argv)
            if (is_help_option(cpu_model)) {
/* XXX: implement xxx_cpu_list for targets that still miss it */
#if defined(cpu_list)
                    cpu_list(stdout, &fprintf);
                    cpu_list();
#endif
                exit(1);
            }
+2 −2
Original line number Diff line number Diff line
@@ -2181,11 +2181,11 @@ int vm_stop_force_state(RunState state)
    }
}

void list_cpus(FILE *f, fprintf_function cpu_fprintf, const char *optarg)
void list_cpus(const char *optarg)
{
    /* XXX: implement xxx_cpu_list for targets that still miss it */
#if defined(cpu_list)
    cpu_list(f, cpu_fprintf);
    cpu_list();
#endif
}

+0 −13
Original line number Diff line number Diff line
@@ -9,19 +9,6 @@

#include "qemu/bswap.h"
#include "qemu/queue.h"
#include "qemu/fprintf-fn.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;

/* The CPU list lock nests outside page_(un)lock or mmap_(un)lock */
void qemu_init_cpu_list(void);
+1 −2
Original line number Diff line number Diff line
#ifndef QEMU_CPUS_H
#define QEMU_CPUS_H

#include "qemu/fprintf-fn.h"
#include "qemu/timer.h"

/* cpus.c */
@@ -39,7 +38,7 @@ extern int smp_cores;
extern int smp_threads;
#endif

void list_cpus(FILE *f, fprintf_function cpu_fprintf, const char *optarg);
void list_cpus(const char *optarg);

void qemu_tcg_configure(QemuOpts *opts, Error **errp);

+1 −1
Original line number Diff line number Diff line
@@ -317,7 +317,7 @@ static void handle_arg_cpu(const char *arg)
    if (cpu_model == NULL || is_help_option(cpu_model)) {
        /* XXX: implement xxx_cpu_list for targets that still miss it */
#if defined(cpu_list)
        cpu_list(stdout, &fprintf);
        cpu_list();
#endif
        exit(EXIT_FAILURE);
    }
Loading