qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 2/3] i386: Make "max" model not use any host


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH v2 2/3] i386: Make "max" model not use any host CPUID info on TCG
Date: Fri, 24 Feb 2017 09:32:28 -0300
User-agent: Mutt/1.7.1 (2016-10-04)

On Fri, Feb 24, 2017 at 12:09:32PM +0100, David Hildenbrand wrote:
> Am 22.02.2017 um 19:39 schrieb Eduardo Habkost:
> > Instead of reporting host CPUID data on "max", use the qemu64 CPU
> Two questions:
> 
> 1. Shouldn't "max" use cpuid of qemu64 with TARGET_X86_64 and qemu32
> with !TARGET_X86_64?

qemu32 has family=6,model=6,stepping=3 too, and the only
difference on TCG's "max" model on !TARGET_X86_64 will be the
lack of CPUID_EXT2_SYSCALL and CPUID_EXT2_LM.

> 
> 2. Should we then change linux-user/main.c:main() to use the "max" model?

We could, but I would like this to be done by somebody more
experienced with linux-user code, who could test it properly.

> 
> > model as reference to initialize CPUID
> > vendor/family/model/stepping/model-id.
> > 
> > Signed-off-by: Eduardo Habkost <address@hidden>
> > ---
> >  target/i386/cpu.c | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> > 
> > diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> > index f7bd59617e..5164cd9ed5 100644
> > --- a/target/i386/cpu.c
> > +++ b/target/i386/cpu.c
> > @@ -1594,6 +1594,15 @@ static void max_x86_cpu_initfn(Object *obj)
> >          if (lmce_supported()) {
> >              object_property_set_bool(OBJECT(cpu), true, "lmce", 
> > &error_abort);
> >          }
> > +    } else {
> > +        object_property_set_str(OBJECT(cpu), CPUID_VENDOR_AMD,
> > +                                "vendor", &error_abort);
> > +        object_property_set_int(OBJECT(cpu), 6, "family", &error_abort);
> > +        object_property_set_int(OBJECT(cpu), 6, "model", &error_abort);
> > +        object_property_set_int(OBJECT(cpu), 3, "stepping", &error_abort);
> > +        object_property_set_str(OBJECT(cpu),
> > +                                "QEMU TCG CPU version " QEMU_HW_VERSION,
> > +                                "model-id", &error_abort);
> >      }
> >  
> >      object_property_set_bool(OBJECT(cpu), true, "pmu", &error_abort);
> > 
> 
> 
> -- 
> Thanks,
> 
> David

-- 
Eduardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]