diff options
author | Eduardo Habkost <ehabkost@redhat.com> | 2012-03-09 16:19:07 -0300 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2012-03-12 14:05:26 -0500 |
commit | ecf40beae7dcbb057d4f115207f9d8276832a774 (patch) | |
tree | ebe45364ed67a75093e41d16f0583bc45b2d289b /vl.c | |
parent | 885bb0369a4f0abe2c0185178f3cb347cb02cdf1 (diff) |
initialize CPU model list after handling -readconfig options
To properly load cpudefs using -readconfig, we have to call
cpudef_init() after finishing the command-line option handling.
Consequently, the handling of "-cpu ?" has to be done after the
command-line option handling loop, too.
Without this patch, "-readconfig configfile -cpu ?" fails to list the
CPU definitions read from 'configfile'.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'vl.c')
-rw-r--r-- | vl.c | 20 |
1 files changed, 13 insertions, 7 deletions
@@ -2359,7 +2359,6 @@ int main(int argc, char **argv, char **envp) exit(1); } } - cpudef_init(); /* second pass of option parsing */ optind = 1; @@ -2382,12 +2381,7 @@ int main(int argc, char **argv, char **envp) break; case QEMU_OPTION_cpu: /* hw initialization will check this */ - if (*optarg == '?') { - list_cpus(stdout, &fprintf, optarg); - exit(0); - } else { - cpu_model = optarg; - } + cpu_model = optarg; break; case QEMU_OPTION_hda: { @@ -3191,6 +3185,18 @@ int main(int argc, char **argv, char **envp) } loc_set_none(); + /* Init CPU def lists, based on config + * - Must be called after all the qemu_read_config_file() calls + * - Must be called before list_cpus() + * - Must be called before machine->init() + */ + cpudef_init(); + + if (cpu_model && *cpu_model == '?') { + list_cpus(stdout, &fprintf, optarg); + exit(0); + } + /* Open the logfile at this point, if necessary. We can't open the logfile * when encountering either of the logging options (-d or -D) because the * other one may be encountered later on the command line, changing the |