[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] target-i386: upgrade family number of qemu64 CP
From: |
Ren, Yongjie |
Subject: |
Re: [Qemu-devel] [PATCH] target-i386: upgrade family number of qemu64 CPU model to 15 |
Date: |
Thu, 18 Apr 2013 14:47:21 +0000 |
> -----Original Message-----
> From: Gleb Natapov [mailto:address@hidden
> Sent: Thursday, April 18, 2013 7:08 PM
> To: Ren, Yongjie
> Cc: Marcelo Tosatti; address@hidden; address@hidden;
> address@hidden
> Subject: Re: [PATCH] target-i386: upgrade family number of qemu64 CPU
> model to 15
>
> On Thu, Apr 18, 2013 at 10:45:38AM +0000, Ren, Yongjie wrote:
> > qemu64 is the default CPU model for QEMU/KVM on x86-64, but its
> family number
> > definition is not accurate. The vendor of 'qemu64' is defined as 'AMD'.
> For AMD
> > processors, AMD K8 (i.e. Family 15) firstly introduced SSE3 instruction
> set.
> > 'qemu64' already has 'CPUID_EXT_SSE3' in its ext_features, but its family
> > number is only 6 which is not equal to or greater than 15.
> > So, upgrade the CPU family number of qemu64 model to 15.
> > After this upgrade, 32bit Windows 8 can boot up with qemu64 CPU
> model.
> > This upgrade can be also a fix to the below bug about 32bit Windows 8
> booting.
> > https://bugs.launchpad.net/qemu/+bug/1007269
>
> Changing cpuid info is not that simple since this is guest visible
> information and can impact migration. Old machine models should still
> expose the old family.
>
Sorry, I didn't consider migration issue. I just think the cupid info for qemu64
is not compatible with real-world CPU. Family 6 AMD CPU should not have
SSE3 but it has SSE3 in qemu64 model.
If it's not so simple to modify cupid info, just ignore my patch. :-)
> >
> > Signed-off-by: Yongjie Ren <address@hidden>
> > ---
> > target-i386/cpu.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> > index e2302d8..3f8e6c3 100644
> > --- a/target-i386/cpu.c
> > +++ b/target-i386/cpu.c
> > @@ -420,7 +420,7 @@ static x86_def_t builtin_x86_defs[] = {
> > .name = "qemu64",
> > .level = 4,
> > .vendor = CPUID_VENDOR_AMD,
> > - .family = 6,
> > + .family = 15,
> > .model = 2,
> > .stepping = 3,
> > .features = PPRO_FEATURES |
> > --
> > 1.7.1
>
> --
> Gleb.