qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] pc: compat: remove PCLMULQDQ from Westmere on pc-*-1.4 and older
@ 2013-08-09 14:11 Eduardo Habkost
  2013-08-09 14:43 ` [Qemu-devel] [PATCH for-1.6] " Paolo Bonzini
  2013-08-09 14:47 ` [Qemu-devel] [PATCH] " Andreas Färber
  0 siblings, 2 replies; 5+ messages in thread
From: Eduardo Habkost @ 2013-08-09 14:11 UTC (permalink / raw)
  To: qemu-devel
  Cc: Edgar E. Iglesias, Andreas Färber, Aurelien Jarno,
	Richard Henderson

commit 41cb383f42d0cb51d8e3e25e3ecebc954dd4196f made a guest-visible
change by adding the PCLMULQDQ bit to Westmere without adding
compatibility code to keep the ABI older machine-types. This patch fixes
it by adding the missing compat code.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
Bug detected by the virt-test CPUID-dump comparison test case, available at:
  https://github.com/autotest/virt-test/pull/714
---
 hw/i386/pc_piix.c | 1 +
 hw/i386/pc_q35.c  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index ab25458..2817092 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -259,6 +259,7 @@ static void pc_init_pci_1_4(QEMUMachineInitArgs *args)
 {
     has_pvpanic = false;
     x86_cpu_compat_set_features("n270", FEAT_1_ECX, 0, CPUID_EXT_MOVBE);
+    x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0, CPUID_EXT_PCLMULQDQ);
     pc_init_pci_1_5(args);
 }
 
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 2f35d12..25c6b33 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -227,6 +227,7 @@ static void pc_q35_init_1_4(QEMUMachineInitArgs *args)
 {
     has_pvpanic = false;
     x86_cpu_compat_set_features("n270", FEAT_1_ECX, 0, CPUID_EXT_MOVBE);
+    x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0, CPUID_EXT_PCLMULQDQ);
     pc_q35_init_1_5(args);
 }
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH for-1.6] pc: compat: remove PCLMULQDQ from Westmere on pc-*-1.4 and older
  2013-08-09 14:11 [Qemu-devel] [PATCH] pc: compat: remove PCLMULQDQ from Westmere on pc-*-1.4 and older Eduardo Habkost
@ 2013-08-09 14:43 ` Paolo Bonzini
  2013-08-09 14:47 ` [Qemu-devel] [PATCH] " Andreas Färber
  1 sibling, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2013-08-09 14:43 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: Edgar E. Iglesias, Richard Henderson, qemu-devel, Aurelien Jarno,
	Andreas Färber

Il 09/08/2013 16:11, Eduardo Habkost ha scritto:
> commit 41cb383f42d0cb51d8e3e25e3ecebc954dd4196f made a guest-visible
> change by adding the PCLMULQDQ bit to Westmere without adding
> compatibility code to keep the ABI older machine-types. This patch fixes
> it by adding the missing compat code.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> Bug detected by the virt-test CPUID-dump comparison test case, available at:
>   https://github.com/autotest/virt-test/pull/714
> ---
>  hw/i386/pc_piix.c | 1 +
>  hw/i386/pc_q35.c  | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index ab25458..2817092 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -259,6 +259,7 @@ static void pc_init_pci_1_4(QEMUMachineInitArgs *args)
>  {
>      has_pvpanic = false;
>      x86_cpu_compat_set_features("n270", FEAT_1_ECX, 0, CPUID_EXT_MOVBE);
> +    x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0, CPUID_EXT_PCLMULQDQ);
>      pc_init_pci_1_5(args);
>  }
>  
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index 2f35d12..25c6b33 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -227,6 +227,7 @@ static void pc_q35_init_1_4(QEMUMachineInitArgs *args)
>  {
>      has_pvpanic = false;
>      x86_cpu_compat_set_features("n270", FEAT_1_ECX, 0, CPUID_EXT_MOVBE);
> +    x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0, CPUID_EXT_PCLMULQDQ);
>      pc_q35_init_1_5(args);
>  }
>  
> 

Adding 1.6 tag.

Paolo

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH] pc: compat: remove PCLMULQDQ from Westmere on pc-*-1.4 and older
  2013-08-09 14:11 [Qemu-devel] [PATCH] pc: compat: remove PCLMULQDQ from Westmere on pc-*-1.4 and older Eduardo Habkost
  2013-08-09 14:43 ` [Qemu-devel] [PATCH for-1.6] " Paolo Bonzini
@ 2013-08-09 14:47 ` Andreas Färber
  2013-08-09 17:24   ` Eduardo Habkost
  1 sibling, 1 reply; 5+ messages in thread
From: Andreas Färber @ 2013-08-09 14:47 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: qemu-stable, qemu-devel, Paolo Bonzini, Edgar E. Iglesias,
	Aurelien Jarno, Richard Henderson

Am 09.08.2013 16:11, schrieb Eduardo Habkost:
> commit 41cb383f42d0cb51d8e3e25e3ecebc954dd4196f made a guest-visible
> change by adding the PCLMULQDQ bit to Westmere without adding
> compatibility code to keep the ABI older machine-types. This patch fixes
> it by adding the missing compat code.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> Bug detected by the virt-test CPUID-dump comparison test case, available at:
>   https://github.com/autotest/virt-test/pull/714
> ---
>  hw/i386/pc_piix.c | 1 +
>  hw/i386/pc_q35.c  | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index ab25458..2817092 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -259,6 +259,7 @@ static void pc_init_pci_1_4(QEMUMachineInitArgs *args)
>  {
>      has_pvpanic = false;
>      x86_cpu_compat_set_features("n270", FEAT_1_ECX, 0, CPUID_EXT_MOVBE);
> +    x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0, CPUID_EXT_PCLMULQDQ);
>      pc_init_pci_1_5(args);
>  }
>  
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index 2f35d12..25c6b33 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -227,6 +227,7 @@ static void pc_q35_init_1_4(QEMUMachineInitArgs *args)
>  {
>      has_pvpanic = false;
>      x86_cpu_compat_set_features("n270", FEAT_1_ECX, 0, CPUID_EXT_MOVBE);
> +    x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0, CPUID_EXT_PCLMULQDQ);
>      pc_q35_init_1_5(args);
>  }
>  

Looks good to me, still need to test, and I should probably add

Cc: qemu-stable@nongnu.org

for 1.5.3 then.

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH] pc: compat: remove PCLMULQDQ from Westmere on pc-*-1.4 and older
  2013-08-09 14:47 ` [Qemu-devel] [PATCH] " Andreas Färber
@ 2013-08-09 17:24   ` Eduardo Habkost
  2013-08-12 14:34     ` Andreas Färber
  0 siblings, 1 reply; 5+ messages in thread
From: Eduardo Habkost @ 2013-08-09 17:24 UTC (permalink / raw)
  To: Andreas Färber
  Cc: qemu-stable, qemu-devel, Paolo Bonzini, Edgar E. Iglesias,
	Aurelien Jarno, Richard Henderson

On Fri, Aug 09, 2013 at 04:47:53PM +0200, Andreas Färber wrote:
> Am 09.08.2013 16:11, schrieb Eduardo Habkost:
> > commit 41cb383f42d0cb51d8e3e25e3ecebc954dd4196f made a guest-visible
> > change by adding the PCLMULQDQ bit to Westmere without adding
> > compatibility code to keep the ABI older machine-types. This patch fixes
> > it by adding the missing compat code.
> > 
> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > ---
> > Bug detected by the virt-test CPUID-dump comparison test case, available at:
> >   https://github.com/autotest/virt-test/pull/714
> > ---
> >  hw/i386/pc_piix.c | 1 +
> >  hw/i386/pc_q35.c  | 1 +
> >  2 files changed, 2 insertions(+)
> > 
> > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> > index ab25458..2817092 100644
> > --- a/hw/i386/pc_piix.c
> > +++ b/hw/i386/pc_piix.c
> > @@ -259,6 +259,7 @@ static void pc_init_pci_1_4(QEMUMachineInitArgs *args)
> >  {
> >      has_pvpanic = false;
> >      x86_cpu_compat_set_features("n270", FEAT_1_ECX, 0, CPUID_EXT_MOVBE);
> > +    x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0, CPUID_EXT_PCLMULQDQ);
> >      pc_init_pci_1_5(args);
> >  }
> >  
> > diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> > index 2f35d12..25c6b33 100644
> > --- a/hw/i386/pc_q35.c
> > +++ b/hw/i386/pc_q35.c
> > @@ -227,6 +227,7 @@ static void pc_q35_init_1_4(QEMUMachineInitArgs *args)
> >  {
> >      has_pvpanic = false;
> >      x86_cpu_compat_set_features("n270", FEAT_1_ECX, 0, CPUID_EXT_MOVBE);
> > +    x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0, CPUID_EXT_PCLMULQDQ);
> >      pc_q35_init_1_5(args);
> >  }
> >  
> 
> Looks good to me, still need to test, and I should probably add
> 
> Cc: qemu-stable@nongnu.org
> 
> for 1.5.3 then.

The patch doesn't apply cleanly on stable-1.5, but I will send a version
for qemu-stable as well.

-- 
Eduardo

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH] pc: compat: remove PCLMULQDQ from Westmere on pc-*-1.4 and older
  2013-08-09 17:24   ` Eduardo Habkost
@ 2013-08-12 14:34     ` Andreas Färber
  0 siblings, 0 replies; 5+ messages in thread
From: Andreas Färber @ 2013-08-12 14:34 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: qemu-stable, qemu-devel, Edgar E. Iglesias, Paolo Bonzini,
	Aurelien Jarno, Richard Henderson

Am 09.08.2013 19:24, schrieb Eduardo Habkost:
> On Fri, Aug 09, 2013 at 04:47:53PM +0200, Andreas Färber wrote:
>> Am 09.08.2013 16:11, schrieb Eduardo Habkost:
>>> commit 41cb383f42d0cb51d8e3e25e3ecebc954dd4196f made a guest-visible
>>> change by adding the PCLMULQDQ bit to Westmere without adding
>>> compatibility code to keep the ABI older machine-types. This patch fixes
>>> it by adding the missing compat code.
>>>
>>> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
>>> ---
>>> Bug detected by the virt-test CPUID-dump comparison test case, available at:
>>>   https://github.com/autotest/virt-test/pull/714
>>> ---
>>>  hw/i386/pc_piix.c | 1 +
>>>  hw/i386/pc_q35.c  | 1 +
>>>  2 files changed, 2 insertions(+)
>>>
>>> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
>>> index ab25458..2817092 100644
>>> --- a/hw/i386/pc_piix.c
>>> +++ b/hw/i386/pc_piix.c
>>> @@ -259,6 +259,7 @@ static void pc_init_pci_1_4(QEMUMachineInitArgs *args)
>>>  {
>>>      has_pvpanic = false;
>>>      x86_cpu_compat_set_features("n270", FEAT_1_ECX, 0, CPUID_EXT_MOVBE);
>>> +    x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0, CPUID_EXT_PCLMULQDQ);
>>>      pc_init_pci_1_5(args);
>>>  }
>>>  
>>> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
>>> index 2f35d12..25c6b33 100644
>>> --- a/hw/i386/pc_q35.c
>>> +++ b/hw/i386/pc_q35.c
>>> @@ -227,6 +227,7 @@ static void pc_q35_init_1_4(QEMUMachineInitArgs *args)
>>>  {
>>>      has_pvpanic = false;
>>>      x86_cpu_compat_set_features("n270", FEAT_1_ECX, 0, CPUID_EXT_MOVBE);
>>> +    x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0, CPUID_EXT_PCLMULQDQ);
>>>      pc_q35_init_1_5(args);
>>>  }
>>>  
>>
>> Looks good to me, still need to test, and I should probably add
>>
>> Cc: qemu-stable@nongnu.org
>>
>> for 1.5.3 then.
> 
> The patch doesn't apply cleanly on stable-1.5, but I will send a version
> for qemu-stable as well.

It's not required to apply cleanly to a specific stable- branch. :)
We need a commit id to reference in the backported version.

Thanks, applied to qom-cpu, pull coming later today.
https://github.com/afaerber/qemu-cpu/commits/qom-cpu

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-08-12 14:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-09 14:11 [Qemu-devel] [PATCH] pc: compat: remove PCLMULQDQ from Westmere on pc-*-1.4 and older Eduardo Habkost
2013-08-09 14:43 ` [Qemu-devel] [PATCH for-1.6] " Paolo Bonzini
2013-08-09 14:47 ` [Qemu-devel] [PATCH] " Andreas Färber
2013-08-09 17:24   ` Eduardo Habkost
2013-08-12 14:34     ` Andreas Färber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).