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 <ehabk...@redhat.com> > > --- > > 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