Message ID | 1331320747-2209-1-git-send-email-ehabkost@redhat.com |
---|---|
State | New |
Headers | show |
On 03/09/2012 01:19 PM, Eduardo Habkost wrote: > 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> Applied. Thanks. Regards, Anthony Liguori > --- > vl.c | 20 +++++++++++++------- > 1 files changed, 13 insertions(+), 7 deletions(-) > > diff --git a/vl.c b/vl.c > index 97ab2b9..65f11f2 100644 > --- a/vl.c > +++ b/vl.c > @@ -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
diff --git a/vl.c b/vl.c index 97ab2b9..65f11f2 100644 --- a/vl.c +++ b/vl.c @@ -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
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> --- vl.c | 20 +++++++++++++------- 1 files changed, 13 insertions(+), 7 deletions(-)