[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] fix '-cpu ?' Segfault
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH] fix '-cpu ?' Segfault |
Date: |
Thu, 22 Mar 2012 11:05:15 -0300 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Thu, Mar 22, 2012 at 02:46:48PM +0100, Andreas Färber wrote:
> Am 22.03.2012 14:28, schrieb Stefan Berger:
> > On 03/21/2012 08:33 AM, Eduardo Habkost wrote:
> >> Fix stupid copy&paste mistake at commit
> >> ecf40beae7dcbb057d4f115207f9d8276832a774: I moved code around but kept
> >> "optarg" on the cpu_list() call.
> >>
> >> Reported-by: Jiri Denemark<address@hidden>
> >> Signed-off-by: Eduardo Habkost<address@hidden>
> >> ---
> >> vl.c | 2 +-
> >> 1 files changed, 1 insertions(+), 1 deletions(-)
> >>
> >> diff --git a/vl.c b/vl.c
> >> index 112b0e0..0fccf50 100644
> >> --- a/vl.c
> >> +++ b/vl.c
> >> @@ -3196,7 +3196,7 @@ int main(int argc, char **argv, char **envp)
> >> cpudef_init();
> >>
> >> if (cpu_model&& *cpu_model == '?') {
> >> - list_cpus(stdout,&fprintf, optarg);
> >> + list_cpus(stdout,&fprintf, cpu_model);
> >> exit(0);
> >> }
> >>
> > Does -cpu ? actually work then? I only see the list of cpus when using
> > -cpu ?_ for example.
>
> You're right, it should be cpu_model + 1 from what I recall, i.e. just
> the optional argument, not the whole model string.
No, list_cpus() expects the whole argument string, including the leading "?":
void list_cpus(FILE *f, fprintf_function cpu_fprintf, const char *optarg)
{
/* XXX: implement xxx_cpu_list for targets that still miss it */
#if defined(cpu_list_id)
cpu_list_id(f, cpu_fprintf, optarg);
#elif defined(cpu_list)
cpu_list(f, cpu_fprintf); /* deprecated */
#endif
}
[...]
#define cpu_list_id x86_cpu_list
[...]
void x86_cpu_list(FILE *f, fprintf_function cpu_fprintf, const char *optarg)
{
unsigned char model = !strcmp("?model", optarg);
unsigned char dump = !strcmp("?dump", optarg);
unsigned char cpuid = !strcmp("?cpuid", optarg);
[...]
--
Eduardo