Re: [Qemu-devel] kvm_intel fails to load on Conroe CPUs running Linux 4.12

2017-09-27 Thread Gerhard Wiesinger

On 15.09.2017 19:07, Paolo Bonzini wrote:

On 15/09/2017 16:43, Gerhard Wiesinger wrote:

On 27.08.2017 20:55, Paolo Bonzini wrote:


Il 27 ago 2017 4:48 PM, "Gerhard Wiesinger" mailto:li...@wiesinger.com>> ha scritto:

 On 27.08.2017 14 :03, Paolo Bonzini wrote:


 We will revert the patch, but 4.13.0 will not have the fix.
 Expect it in later stable kernels (because vacations).


 Thnx. Why will 4.13.0 NOT have the fix?


Because maintainers are on vacation! :-)



Hello Paolo,

Any update on this for 4.12 and 4.13 kernels?

A late fix is better than a wrong fix.  Hope to get to it next week!


Hello Paolo,

Any update? Thnx.

Ciao,
Gerhard


Re: [Qemu-devel] kvm_intel fails to load on Conroe CPUs running Linux 4.12

2017-09-15 Thread Paolo Bonzini
On 15/09/2017 16:43, Gerhard Wiesinger wrote:
> On 27.08.2017 20:55, Paolo Bonzini wrote:
>>
>>
>> Il 27 ago 2017 4:48 PM, "Gerhard Wiesinger" > > ha scritto:
>>
>> On 27.08.2017 14 :03, Paolo Bonzini wrote:
>>
>>
>> We will revert the patch, but 4.13.0 will not have the fix.
>> Expect it in later stable kernels (because vacations).
>>
>>
>> Thnx. Why will 4.13.0 NOT have the fix?
>>
>>
>> Because maintainers are on vacation! :-)
>>
>>
> 
> Hello Paolo,
> 
> Any update on this for 4.12 and 4.13 kernels?

A late fix is better than a wrong fix.  Hope to get to it next week!

Paolo


Re: [Qemu-devel] kvm_intel fails to load on Conroe CPUs running Linux 4.12

2017-08-27 Thread Gerhard Wiesinger

On 27.08.2017 14:03, Paolo Bonzini wrote:

Il 27 ago 2017 9:49 AM, "Gerhard Wiesinger"  ha
scritto:

On 17.08.2017 23:14, Gerhard Wiesinger wrote:


On 17.08.2017 22:58, Gerhard Wiesinger wrote:

On 07.08.2017 19:50, Paolo Bonzini wrote:


Not much to say, unfortunately. It's pretty much the same capabilities
as a Prescott/Cedar Mill processor, except that it has MSR bitmaps. It
also lacks FlexPriority compared to the Conroe I had checked.

It's not great that even the revert patch doesn't apply cleanly---this
is *not* necessarily a boring area of the hypervisor...

Given the rarity of your machine I'm currently leaning towards _not_
reverting the change. I'll check another non-Xeon Core 2 tomorrow that
is from December 2008 (IIRC). If that one also lacks vNMI, or if I get
other reports, I suppose I will have to reconsider that.

Hello Paolo,

Can you please revert the patch.

CPU is a Core 2 Extreme QX6700: SL9UL (B3) running VERY stable with ECC
RAM for years now.
https://ark.intel.com/products/28028/Intel-Core2-Extreme-
Processor-QX6700-8M-Cache-2_66-GHz-1066-MHz-FSB?q=Core%
202%20Extreme%20QX6700
https://en.wikipedia.org/wiki/List_of_Intel_Core_2_microprocessors

CPU details below.

Thank you.

Ciao,
Gerhard


Hello Paolo,

Any update on this major issue?


We will revert the patch, but 4.13.0 will not have the fix. Expect it in
later stable kernels (because vacations).

Thnx. Why will 4.13.0 NOT have the fix?

Thnx.

Ciao,
Gerhard


Re: [Qemu-devel] kvm_intel fails to load on Conroe CPUs running Linux 4.12

2017-08-27 Thread Gerhard Wiesinger

On 17.08.2017 23:14, Gerhard Wiesinger wrote:

On 17.08.2017 22:58, Gerhard Wiesinger wrote:
>
> On 07.08.2017 19:50, Paolo Bonzini wrote:
>
> >Not much to say, unfortunately. It's pretty much the same capabilities
> >as a Prescott/Cedar Mill processor, except that it has MSR bitmaps. It
> >also lacks FlexPriority compared to the Conroe I had checked.
> >
> >It's not great that even the revert patch doesn't apply cleanly---this
> >is *not* necessarily a boring area of the hypervisor...
> >
> >Given the rarity of your machine I'm currently leaning towards _not_
> >reverting the change. I'll check another non-Xeon Core 2 tomorrow that
> >is from December 2008 (IIRC). If that one also lacks vNMI, or if I get
> >other reports, I suppose I will have to reconsider that.

Hello Paolo,

Can you please revert the patch.

CPU is a Core 2 Extreme QX6700: SL9UL (B3) running VERY stable with 
ECC RAM for years now.
https://ark.intel.com/products/28028/Intel-Core2-Extreme-Processor-QX6700-8M-Cache-2_66-GHz-1066-MHz-FSB?q=Core%202%20Extreme%20QX6700 


https://en.wikipedia.org/wiki/List_of_Intel_Core_2_microprocessors

CPU details below.

Thank you.

Ciao,
Gerhard 


Hello Paolo,

Any update on this major issue?

Thnx.

Ciao,
Gerhard


Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12

2017-08-17 Thread Gerhard Wiesinger

On 17.08.2017 22:58, Gerhard Wiesinger wrote:
>
> On 07.08.2017 19:50, Paolo Bonzini wrote:
>
> >Not much to say, unfortunately. It's pretty much the same capabilities
> >as a Prescott/Cedar Mill processor, except that it has MSR bitmaps. It
> >also lacks FlexPriority compared to the Conroe I had checked.
> >
> >It's not great that even the revert patch doesn't apply cleanly---this
> >is *not* necessarily a boring area of the hypervisor...
> >
> >Given the rarity of your machine I'm currently leaning towards _not_
> >reverting the change. I'll check another non-Xeon Core 2 tomorrow that
> >is from December 2008 (IIRC). If that one also lacks vNMI, or if I get
> >other reports, I suppose I will have to reconsider that.

Hello Paolo,

Can you please revert the patch.

CPU is a Core 2 Extreme QX6700: SL9UL (B3) running VERY stable with ECC 
RAM for years now.

https://ark.intel.com/products/28028/Intel-Core2-Extreme-Processor-QX6700-8M-Cache-2_66-GHz-1066-MHz-FSB?q=Core%202%20Extreme%20QX6700
https://en.wikipedia.org/wiki/List_of_Intel_Core_2_microprocessors

CPU details below.

Thank you.

Ciao,
Gerhard

cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model   : 15
model name  : Intel(R) Core(TM)2 Quad CPU   @ 2.66GHz
stepping    : 7
microcode   : 0x6a
cpu MHz : 1596.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id : 0
cpu cores   : 4
apicid  : 0
initial apicid  : 0
fpu : yes
fpu_exception   : yes
cpuid level : 10
wp  : yes
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge 
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe 
syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid
aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm 
lahf_lm tpr_shadow dtherm

bugs    :
bogomips    : 5333.45
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

Script output:
Basic VMX Information
  Hex: 0x1a0407
  Revision 7
  VMCS size    1024
  VMCS restricted to 32 bit addresses  no
  Dual-monitor support yes
  VMCS memory type 6
  INS/OUTS instruction information no
  IA32_VMX_TRUE_*_CTLS support no
pin-based controls
  External interrupt exiting   yes
  NMI exiting  yes
  Virtual NMIs no
  Activate VMX-preemption timer    no
  Process posted interrupts    no
primary processor-based controls
  Interrupt window exiting yes
  Use TSC offsetting   yes
  HLT exiting  yes
  INVLPG exiting   yes
  MWAIT exiting    yes
  RDPMC exiting    yes
  RDTSC exiting    yes
  CR3-load exiting forced
  CR3-store exiting    forced
  CR8-load exiting yes
  CR8-store exiting    yes
  Use TPR shadow   yes
  NMI-window exiting   no
  MOV-DR exiting   yes
  Unconditional I/O exiting    yes
  Use I/O bitmaps  yes
  Monitor trap flag    no
  Use MSR bitmaps  yes
  MONITOR exiting  yes
  PAUSE exiting    yes
  Activate secondary control   no
secondary processor-based controls
  Virtualize APIC accesses no
  Enable EPT   no
  Descriptor-table exiting no
  Enable RDTSCP    no
  Virtualize x2APIC mode   no
  Enable VPID  no
  WBINVD exiting   no
  Unrestricted guest   no
  APIC register emulation  no
  Virtual interrupt delivery   no
  PAUSE-loop exiting   no
  RDRAND exiting   no
  Enable INVPCID   no
  Enable VM functions  no
  VMCS shadowing   no
  Enable ENCLS exiting no
  RDSEED exiting   no
  Enable PML   no
  EPT-violation #VE    no
  Conceal non-root operation from PT   no
  Enable XSAVES/XRSTORS    no
  Mode-based execute control (XS/XU)   no
  TSC scaling  no
VM-Exit controls
  Save debug controls  forced
  Host address-space size  yes
  Load IA32_PERF_GLOBAL_CTRL   no
  Acknowledge interrupt 

Re: Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12

2017-08-08 Thread Niall Walsh

Hi,

On 07/08/17 18:50, Paolo Bonzini wrote:

Given the rarity of your machine I'm currently leaning towards _not_
reverting the change.  I'll check another non-Xeon Core 2 tomorrow that
is from December 2008 (IIRC).  If that one also lacks vNMI, or if I get
other reports, I suppose I will have to reconsider that.


afraid I've the same issue with 4.12, kvm_intel doesn't load and won't 
(but does on 4.11) on my Dell XPS M1210 with a Core 2 Duo T7200 from 
April 2007.


cpuinfo and vmxcap output attached

Thanks,

Niall
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model   : 15
model name  : Intel(R) Core(TM)2 CPU T7200  @ 2.00GHz
stepping: 6
microcode   : 0xc7
cpu MHz : 1000.000
cache size  : 4096 KB
physical id : 0
siblings: 2
core id : 0
cpu cores   : 2
apicid  : 0
initial apicid  : 0
fpu : yes
fpu_exception   : yes
cpuid level : 10
wp  : yes
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm 
constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 
monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow dtherm
bugs:
bogomips: 3994.63
clflush size: 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model   : 15
model name  : Intel(R) Core(TM)2 CPU T7200  @ 2.00GHz
stepping: 6
microcode   : 0xc7
cpu MHz : 1000.000
cache size  : 4096 KB
physical id : 0
siblings: 2
core id : 1
cpu cores   : 2
apicid  : 1
initial apicid  : 1
fpu : yes
fpu_exception   : yes
cpuid level : 10
wp  : yes
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm 
constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 
monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow dtherm
bugs:
bogomips: 3994.45
clflush size: 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

Basic VMX Information
  Hex: 0x1a0407
  Revision 7
  VMCS size1024
  VMCS restricted to 32 bit addresses  no
  Dual-monitor support yes
  VMCS memory type 6
  INS/OUTS instruction information no
  IA32_VMX_TRUE_*_CTLS support no
pin-based controls
  External interrupt exiting   yes
  NMI exiting  yes
  Virtual NMIs no
  Activate VMX-preemption timerno
  Process posted interruptsno
primary processor-based controls
  Interrupt window exiting yes
  Use TSC offsetting   yes
  HLT exiting  yes
  INVLPG exiting   yes
  MWAIT exitingyes
  RDPMC exitingyes
  RDTSC exitingyes
  CR3-load exiting forced
  CR3-store exitingforced
  CR8-load exiting yes
  CR8-store exitingyes
  Use TPR shadow   yes
  NMI-window exiting   no
  MOV-DR exiting   yes
  Unconditional I/O exitingyes
  Use I/O bitmaps  yes
  Monitor trap flagno
  Use MSR bitmaps  yes
  MONITOR exiting  yes
  PAUSE exitingyes
  Activate secondary control   no
secondary processor-based controls
  Virtualize APIC accesses no
  Enable EPT   no
  Descriptor-table exiting no
  Enable RDTSCPno
  Virtualize x2APIC mode   no
  Enable VPID  no
  WBINVD exiting   no
  Unrestricted guest   no
  APIC register emulation  no
  Virtual interrupt delivery   no
  PAUSE-loop exiting   no
  RDRAND exiting   no
  Enable INVPCID   no
  Enable VM functions  no
  VMCS shadowing   no
  Enable ENCLS exiting no
  RDSEED exiting   no
  Enable PML   no
  EPT-violation #VEno
  Conceal non-root operation from PT   no
  Enable XSAVES/XRSTORS

Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12

2017-08-07 Thread Sebastian Rachuj

On 07.08.2017 19:50, Paolo Bonzini wrote:

On 07/08/2017 19:17, Sebastian Rachuj wrote:


Thank you for looking into the issue. My cpuinfo is as follows:


Looks like Intel was already differentiating virtualization features
across SKUs.  Please run the attached script as root to see what other
things are different (apparently) between non-Xeon and Xeon Conroes.


Here you are, I hope it helps:


Not much to say, unfortunately.  It's pretty much the same capabilities
as a Prescott/Cedar Mill processor, except that it has MSR bitmaps.  It
also lacks FlexPriority compared to the Conroe I had checked.

It's not great that even the revert patch doesn't apply cleanly---this
is *not* necessarily a boring area of the hypervisor...

Given the rarity of your machine I'm currently leaning towards _not_
reverting the change.  I'll check another non-Xeon Core 2 tomorrow that
is from December 2008 (IIRC).  If that one also lacks vNMI, or if I get
other reports, I suppose I will have to reconsider that.


That's unfortunate to hear. Just for completeness, I want to mention a 
thread in the Archlinux forum, I created, where two other people (Sadar 
and losko) also complained about not working KVM [1]. Additionally, 
Linux 4.12 has not reached yet reached distributions with a greater 
amount of users.


If supporting these chips is too much of a hassle, I will probably have 
to buy a new CPU to enjoy KVM support with a current linux kernel.


Anyway, thanks again for figuring this out!


[1]: https://bbs.archlinux.org/viewtopic.php?id=228645


Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12

2017-08-07 Thread Paolo Bonzini
On 07/08/2017 19:17, Sebastian Rachuj wrote:
>>>
>>> Thank you for looking into the issue. My cpuinfo is as follows:
>>
>> Looks like Intel was already differentiating virtualization features
>> across SKUs.  Please run the attached script as root to see what other
>> things are different (apparently) between non-Xeon and Xeon Conroes.
> 
> Here you are, I hope it helps:

Not much to say, unfortunately.  It's pretty much the same capabilities
as a Prescott/Cedar Mill processor, except that it has MSR bitmaps.  It
also lacks FlexPriority compared to the Conroe I had checked.

It's not great that even the revert patch doesn't apply cleanly---this
is *not* necessarily a boring area of the hypervisor...

Given the rarity of your machine I'm currently leaning towards _not_
reverting the change.  I'll check another non-Xeon Core 2 tomorrow that
is from December 2008 (IIRC).  If that one also lacks vNMI, or if I get
other reports, I suppose I will have to reconsider that.

Paolo


Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12

2017-08-07 Thread Sebastian Rachuj

On 07.08.2017 11:43, Paolo Bonzini wrote:

On 06/08/2017 23:23, Sebastian Rachuj wrote:

On 06.08.2017 23:10, Paolo Bonzini wrote:

On 05/08/2017 21:26, Sebastian Rachuj wrote:

Dear linux developers,

since my upgrade from linux 4.11 to linux 4.12 the "kvm_intel" module
does not load correctly anymore. "Modprobing" the kernel module gives an
Input/Output error. It seems to be related to the CPU architecture and
(to my knowledge) affects Conroe CPUs. I did a bisect and found the
following commit as the guilty one:


What is your cpuinfo?  I tested on a Conroe Xeon X3220 (family 6,
model 15, stepping 11) when I posted that patch, and it did have virtual
NMIs.


Thank you for looking into the issue. My cpuinfo is as follows:


Looks like Intel was already differentiating virtualization features
across SKUs.  Please run the attached script as root to see what other
things are different (apparently) between non-Xeon and Xeon Conroes.


Here you are, I hope it helps:

# python vmxcap
Basic VMX Information
  Hex: 0x1a0407
  Revision 7
  VMCS size1024
  VMCS restricted to 32 bit addresses  no
  Dual-monitor support yes
  VMCS memory type 6
  INS/OUTS instruction information no
  IA32_VMX_TRUE_*_CTLS support no
pin-based controls
  External interrupt exiting   yes
  NMI exiting  yes
  Virtual NMIs no
  Activate VMX-preemption timerno
  Process posted interruptsno
primary processor-based controls
  Interrupt window exiting yes
  Use TSC offsetting   yes
  HLT exiting  yes
  INVLPG exiting   yes
  MWAIT exitingyes
  RDPMC exitingyes
  RDTSC exitingyes
  CR3-load exiting forced
  CR3-store exitingforced
  CR8-load exiting yes
  CR8-store exitingyes
  Use TPR shadow   yes
  NMI-window exiting   no
  MOV-DR exiting   yes
  Unconditional I/O exitingyes
  Use I/O bitmaps  yes
  Monitor trap flagno
  Use MSR bitmaps  yes
  MONITOR exiting  yes
  PAUSE exitingyes
  Activate secondary control   no
secondary processor-based controls
  Virtualize APIC accesses no
  Enable EPT   no
  Descriptor-table exiting no
  Enable RDTSCPno
  Virtualize x2APIC mode   no
  Enable VPID  no
  WBINVD exiting   no
  Unrestricted guest   no
  APIC register emulation  no
  Virtual interrupt delivery   no
  PAUSE-loop exiting   no
  RDRAND exiting   no
  Enable INVPCID   no
  Enable VM functions  no
  VMCS shadowing   no
  Enable ENCLS exiting no
  RDSEED exiting   no
  Enable PML   no
  EPT-violation #VEno
  Conceal non-root operation from PT   no
  Enable XSAVES/XRSTORSno
  Mode-based execute control (XS/XU)   no
  TSC scaling  no
VM-Exit controls
  Save debug controls  forced
  Host address-space size  yes
  Load IA32_PERF_GLOBAL_CTRL   no
  Acknowledge interrupt on exityes
  Save IA32_PATno
  Load IA32_PATno
  Save IA32_EFER   no
  Load IA32_EFER   no
  Save VMX-preemption timer value  no
  Clear IA32_BNDCFGS   no
  Conceal VM exits from PT no
VM-Entry controls
  Load debug controls  forced
  IA-32e mode guestyes
  Entry to SMM yes
  Deactivate dual-monitor treatmentyes
  Load IA32_PERF_GLOBAL_CTRL   no
  Load IA32_PATno
  Load IA32_EFER   no
  Load IA32_BNDCFGSno
  Conceal VM entries from PT   no
Miscellaneous data
  Hex: 0x403c0
  VMX-preemption timer scale (log2)0
  Store EFER.LMA into IA-32e mode guest control no
  HLT activity state   yes
  Shutdown activity state  yes
  Wait-for-SIPI activity state yes
  IA32_SMBASE support

Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12

2017-08-07 Thread Nadav Amit
Paolo Bonzini  wrote:

> On 06/08/2017 23:23, Sebastian Rachuj wrote:
>> On 06.08.2017 23:10, Paolo Bonzini wrote:
>>> On 05/08/2017 21:26, Sebastian Rachuj wrote:
 Dear linux developers,
 
 since my upgrade from linux 4.11 to linux 4.12 the "kvm_intel" module
 does not load correctly anymore. "Modprobing" the kernel module gives an
 Input/Output error. It seems to be related to the CPU architecture and
 (to my knowledge) affects Conroe CPUs. I did a bisect and found the
 following commit as the guilty one:
>>> 
>>> What is your cpuinfo?  I tested on a Conroe Xeon X3220 (family 6,
>>> model 15, stepping 11) when I posted that patch, and it did have virtual
>>> NMIs.
>> 
>> Thank you for looking into the issue. My cpuinfo is as follows:
> 
> Looks like Intel was already differentiating virtualization features
> across SKUs.  Please run the attached script as root to see what other
> things are different (apparently) between non-Xeon and Xeon Conroes.

There may be another explanation. If I remember correctly from my days in
Intel, Intel initially sold CMWA (Conroe) B-step. The next step, E-step,
introduced a couple of new features, which may have included vNMI.

The CPU of Sebastian appears to be B1 according to cpuinfo.

Nadav



Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12

2017-08-07 Thread Paolo Bonzini
On 06/08/2017 23:23, Sebastian Rachuj wrote:
> On 06.08.2017 23:10, Paolo Bonzini wrote:
>> On 05/08/2017 21:26, Sebastian Rachuj wrote:
>>> Dear linux developers,
>>>
>>> since my upgrade from linux 4.11 to linux 4.12 the "kvm_intel" module
>>> does not load correctly anymore. "Modprobing" the kernel module gives an
>>> Input/Output error. It seems to be related to the CPU architecture and
>>> (to my knowledge) affects Conroe CPUs. I did a bisect and found the
>>> following commit as the guilty one:
>>
>> What is your cpuinfo?  I tested on a Conroe Xeon X3220 (family 6,
>> model 15, stepping 11) when I posted that patch, and it did have virtual
>> NMIs.
> 
> Thank you for looking into the issue. My cpuinfo is as follows:

Looks like Intel was already differentiating virtualization features
across SKUs.  Please run the attached script as root to see what other
things are different (apparently) between non-Xeon and Xeon Conroes.

Thanks,

Paolo

> $ cat /proc/cpuinfo
> processor: 0
> vendor_id: GenuineIntel
> cpu family: 6
> model: 15
> model name: Intel(R) Core(TM)2 CPU  6420  @ 2.13GHz
> stepping: 6
> microcode: 0xc6
> cpu MHz: 2128.000
> cache size: 4096 KB
> physical id: 0
> siblings: 2
> core id: 0
> cpu cores: 2
> apicid: 0
> initial apicid: 0
> fpu: yes
> fpu_exception: yes
> cpuid level: 10
> wp: yes
> flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
> cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall
> nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf
> pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm
> tpr_shadow dtherm
> bugs:
> bogomips: 4275.23
> clflush size: 64
> cache_alignment: 64
> address sizes: 36 bits physical, 48 bits virtual
> power management:
> 
> processor: 1
> vendor_id: GenuineIntel
> cpu family: 6
> model: 15
> model name: Intel(R) Core(TM)2 CPU  6420  @ 2.13GHz
> stepping: 6
> microcode: 0xc6
> cpu MHz: 2128.000
> cache size: 4096 KB
> physical id: 0
> siblings: 2
> core id: 1
> cpu cores: 2
> apicid: 1
> initial apicid: 1
> fpu: yes
> fpu_exception: yes
> cpuid level: 10
> wp: yes
> flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
> cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall
> nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf
> pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm
> tpr_shadow dtherm
> bugs:
> bogomips: 4275.05
> clflush size: 64
> cache_alignment: 64
> address sizes: 36 bits physical, 48 bits virtual
> power management:

#!/usr/bin/python
#
# tool for querying VMX capabilities
#
# Copyright 2009-2010 Red Hat, Inc.
#
# Authors:
#  Avi Kivity 
#
# This work is licensed under the terms of the GNU GPL, version 2.  See
# the COPYING file in the top-level directory.

MSR_IA32_VMX_BASIC = 0x480
MSR_IA32_VMX_PINBASED_CTLS = 0x481
MSR_IA32_VMX_PROCBASED_CTLS = 0x482
MSR_IA32_VMX_EXIT_CTLS = 0x483
MSR_IA32_VMX_ENTRY_CTLS = 0x484
MSR_IA32_VMX_MISC_CTLS = 0x485
MSR_IA32_VMX_PROCBASED_CTLS2 = 0x48B
MSR_IA32_VMX_EPT_VPID_CAP = 0x48C
MSR_IA32_VMX_TRUE_PINBASED_CTLS = 0x48D
MSR_IA32_VMX_TRUE_PROCBASED_CTLS = 0x48E
MSR_IA32_VMX_TRUE_EXIT_CTLS = 0x48F
MSR_IA32_VMX_TRUE_ENTRY_CTLS = 0x490
MSR_IA32_VMX_VMFUNC = 0x491

class msr(object):
def __init__(self):
try:
self.f = open('/dev/cpu/0/msr', 'rb', 0)
except:
self.f = open('/dev/msr0', 'rb', 0)
def read(self, index, default = None):
import struct
self.f.seek(index)
try:
return struct.unpack('Q', self.f.read(8))[0]
except:
return default

class Control(object):
def __init__(self, name, bits, cap_msr, true_cap_msr = None):
self.name = name
self.bits = bits
self.cap_msr = cap_msr
self.true_cap_msr = true_cap_msr
def read2(self, nr):
m = msr()
val = m.read(nr, 0)
return (val & 0x, val >> 32)
def show(self):
print(self.name)
mbz, mb1 = self.read2(self.cap_msr)
tmbz, tmb1 = 0, 0
if self.true_cap_msr:
tmbz, tmb1 = self.read2(self.true_cap_msr)
for bit in sorted(self.bits.keys()):
zero = not (mbz & (1 << bit))
one = mb1 & (1 << bit)
true_zero = not (tmbz & (1 << bit))
true_one = tmb1 & (1 << bit)
s= '?'
if (self.true_cap_msr and true_zero and true_one
and one and not zero):
s = 'default'
elif zero and not one:
s = 'no'
elif one and not zero:
s = 'forced'
elif one and zero:
s = 'yes'
prin

Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12

2017-08-06 Thread Sebastian Rachuj

On 06.08.2017 23:10, Paolo Bonzini wrote:

On 05/08/2017 21:26, Sebastian Rachuj wrote:

Dear linux developers,

since my upgrade from linux 4.11 to linux 4.12 the "kvm_intel" module
does not load correctly anymore. "Modprobing" the kernel module gives an
Input/Output error. It seems to be related to the CPU architecture and
(to my knowledge) affects Conroe CPUs. I did a bisect and found the
following commit as the guilty one:


What is your cpuinfo?  I tested on a Conroe Xeon X3220 (family 6,
model 15, stepping 11) when I posted that patch, and it did have virtual
NMIs.


Thank you for looking into the issue. My cpuinfo is as follows:

$ cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model   : 15
model name  : Intel(R) Core(TM)2 CPU  6420  @ 2.13GHz
stepping: 6
microcode   : 0xc6
cpu MHz : 2128.000
cache size  : 4096 KB
physical id : 0
siblings: 2
core id : 0
cpu cores   : 2
apicid  : 0
initial apicid  : 0
fpu : yes
fpu_exception   : yes
cpuid level : 10
wp  : yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm 
constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni 
dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm 
tpr_shadow dtherm

bugs:
bogomips: 4275.23
clflush size: 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model   : 15
model name  : Intel(R) Core(TM)2 CPU  6420  @ 2.13GHz
stepping: 6
microcode   : 0xc6
cpu MHz : 2128.000
cache size  : 4096 KB
physical id : 0
siblings: 2
core id : 1
cpu cores   : 2
apicid  : 1
initial apicid  : 1
fpu : yes
fpu_exception   : yes
cpuid level : 10
wp  : yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm 
constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni 
dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm 
tpr_shadow dtherm

bugs:
bogomips: 4275.05
clflush size: 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:


Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12

2017-08-06 Thread Paolo Bonzini
On 05/08/2017 21:26, Sebastian Rachuj wrote:
> Dear linux developers,
> 
> since my upgrade from linux 4.11 to linux 4.12 the "kvm_intel" module
> does not load correctly anymore. "Modprobing" the kernel module gives an
> Input/Output error. It seems to be related to the CPU architecture and
> (to my knowledge) affects Conroe CPUs. I did a bisect and found the
> following commit as the guilty one:

What is your cpuinfo?  I tested on a Conroe Xeon X3220 (family 6,
model 15, stepping 11) when I posted that patch, and it did have virtual
NMIs.

Paolo


kvm_intel fails to load on Conroe CPUs running Linux 4.12

2017-08-05 Thread Sebastian Rachuj
Dear linux developers,

since my upgrade from linux 4.11 to linux 4.12 the "kvm_intel" module does not 
load correctly anymore. "Modprobing" the kernel module gives an Input/Output 
error. It seems to be related to the CPU architecture and (to my knowledge) 
affects Conroe CPUs. I did a bisect and found the following commit as the 
guilty one:

commit 2c82878b0cb38fd516fd612c67852a6bbf282003
Author: Paolo Bonzini 
Date:   Mon Mar 27 14:37:28 2017 +0200

KVM: VMX: require virtual NMI support

Virtual NMIs are only missing in Prescott and Yonah chips.  Both are 
obsolete
for virtualization usage---Yonah is 32-bit only even---so drop vNMI 
emulation.

Signed-off-by: Paolo Bonzini 

Since the commit message only mentions Prescott and Yonah chips, I wanted to 
ask whether this commit is also intended to affect Conroe CPUs (which are 
probably still a bit more widespread). Do you see a solution to bring back 
support for Conroe chips?

Thank you for your hard work on the kernel!

Best regards,
Sebastian Rachuj