Re: [Qemu-devel] [PATCH] qemu: fix cpuid eax for kvm cpu

2012-05-01 Thread Avi Kivity
On 05/01/2012 03:49 PM, Michael S. Tsirkin wrote:
> On Tue, May 01, 2012 at 03:38:43PM +0300, Avi Kivity wrote:
> > On 04/30/2012 05:42 PM, Michael S. Tsirkin wrote:
> > > cpuid eax should return the max leaf so that
> > > guests can find out the valid range.
> > > This matches Xen et al.
> > >
> > > Tested using -cpu kvm64.
> > >
> > > Signed-off-by: Michael S. Tsirkin 
> > > ---
> > >  target-i386/kvm.c |2 +-
> > >  1 files changed, 1 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/target-i386/kvm.c b/target-i386/kvm.c
> > > index e74a9e4..c097248 100644
> > > --- a/target-i386/kvm.c
> > > +++ b/target-i386/kvm.c
> > > @@ -379,7 +379,7 @@ int kvm_arch_init_vcpu(CPUX86State *env)
> > >  c->function = KVM_CPUID_SIGNATURE;
> > >  if (!hyperv_enabled()) {
> > >  memcpy(signature, "KVMKVMKVM\0\0\0", 12);
> > > -c->eax = 0;
> > > +c->eax = KVM_CPUID_FEATURES;
> > >  } else {
> > >  memcpy(signature, "Microsoft Hv", 12);
> > >  c->eax = HYPERV_CPUID_MIN;
> > 
> > Should only change for -M 1.1+?
>
> I don't think we should: it's a bug fix and we don't try to be bug for
> bug compatible unless fixing the bug actually affects guest behaviour.
>

I agree.

-- 
error compiling committee.c: too many arguments to function




Re: [Qemu-devel] [PATCH] qemu: fix cpuid eax for kvm cpu

2012-05-01 Thread Michael S. Tsirkin
On Tue, May 01, 2012 at 03:38:43PM +0300, Avi Kivity wrote:
> On 04/30/2012 05:42 PM, Michael S. Tsirkin wrote:
> > cpuid eax should return the max leaf so that
> > guests can find out the valid range.
> > This matches Xen et al.
> >
> > Tested using -cpu kvm64.
> >
> > Signed-off-by: Michael S. Tsirkin 
> > ---
> >  target-i386/kvm.c |2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/target-i386/kvm.c b/target-i386/kvm.c
> > index e74a9e4..c097248 100644
> > --- a/target-i386/kvm.c
> > +++ b/target-i386/kvm.c
> > @@ -379,7 +379,7 @@ int kvm_arch_init_vcpu(CPUX86State *env)
> >  c->function = KVM_CPUID_SIGNATURE;
> >  if (!hyperv_enabled()) {
> >  memcpy(signature, "KVMKVMKVM\0\0\0", 12);
> > -c->eax = 0;
> > +c->eax = KVM_CPUID_FEATURES;
> >  } else {
> >  memcpy(signature, "Microsoft Hv", 12);
> >  c->eax = HYPERV_CPUID_MIN;
> 
> Should only change for -M 1.1+?

I don't think we should: it's a bug fix and we don't try to be bug for
bug compatible unless fixing the bug actually affects guest behaviour.

> -- 
> error compiling committee.c: too many arguments to function



Re: [Qemu-devel] [PATCH] qemu: fix cpuid eax for kvm cpu

2012-05-01 Thread Avi Kivity
On 04/30/2012 05:42 PM, Michael S. Tsirkin wrote:
> cpuid eax should return the max leaf so that
> guests can find out the valid range.
> This matches Xen et al.
>
> Tested using -cpu kvm64.
>
> Signed-off-by: Michael S. Tsirkin 
> ---
>  target-i386/kvm.c |2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/target-i386/kvm.c b/target-i386/kvm.c
> index e74a9e4..c097248 100644
> --- a/target-i386/kvm.c
> +++ b/target-i386/kvm.c
> @@ -379,7 +379,7 @@ int kvm_arch_init_vcpu(CPUX86State *env)
>  c->function = KVM_CPUID_SIGNATURE;
>  if (!hyperv_enabled()) {
>  memcpy(signature, "KVMKVMKVM\0\0\0", 12);
> -c->eax = 0;
> +c->eax = KVM_CPUID_FEATURES;
>  } else {
>  memcpy(signature, "Microsoft Hv", 12);
>  c->eax = HYPERV_CPUID_MIN;

Should only change for -M 1.1+?

-- 
error compiling committee.c: too many arguments to function




[Qemu-devel] [PATCH] qemu: fix cpuid eax for kvm cpu

2012-04-30 Thread Michael S. Tsirkin
cpuid eax should return the max leaf so that
guests can find out the valid range.
This matches Xen et al.

Tested using -cpu kvm64.

Signed-off-by: Michael S. Tsirkin 
---
 target-i386/kvm.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index e74a9e4..c097248 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -379,7 +379,7 @@ int kvm_arch_init_vcpu(CPUX86State *env)
 c->function = KVM_CPUID_SIGNATURE;
 if (!hyperv_enabled()) {
 memcpy(signature, "KVMKVMKVM\0\0\0", 12);
-c->eax = 0;
+c->eax = KVM_CPUID_FEATURES;
 } else {
 memcpy(signature, "Microsoft Hv", 12);
 c->eax = HYPERV_CPUID_MIN;
-- 
MST