Bug 691638

Summary: x2apic is not exported to guest when boot guest with -cpu host
Product: Red Hat Enterprise Linux 6 Reporter: Suqin Huang <shuang>
Component: qemu-kvmAssignee: Eduardo Habkost <ehabkost>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.1CC: acathrow, areis, dfediuck, dyuan, ehabkost, flang, honzhang, juzhang, mkenneth, mzhan, rwu, tburke, virt-maint, xfu
Target Milestone: rcKeywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-0.12.1.2-2.333.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 07:30:47 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 832486    
Bug Blocks: 580954, 833129    

Description Suqin Huang 2011-03-29 05:44:21 UTC
Description of problem:
x2apic is not exported to guest when boot guest with -cpu host

Version-Release number of selected component (if applicable):
qemu-kvm-0.12.1.2-2.152.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1. cmd
/usr/libexec/qemu-kvm -monitor stdio -drive file=/home/images/winXP-32-virtio.qcow2,index=0,if=none,id=drive-virtio-disk1,media=disk,cache=none,format=qcow2,aio=native -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,id=virtio-disk1 -device virtio-net-pci,netdev=idOpKnu6,mac=9a:c7:11:c1:0e:1a,netdev=idOpKnu6,id=ndev00idOpKnu6,bus=pci.0,addr=0x3 -netdev tap,id=idOpKnu6,vhost=on,script='/etc/qemu-ifup-switch',downscript='no' -m 2048 -smp 2,cores=2,threads=1,sockets=1 -cpu host -spice port=8001,disable-ticketing -vga qxl -rtc base=localtime,clock=host,driftfix=none  -boot order=cdn,once=c,menu=off   -usbdevice tablet -enable-kvm
2.
3.
  
Actual results:


Expected results:


Additional info:
1. host info:

processor	: 3
vendor_id	: GenuineIntel
cpu family	: 6
model		: 23
model name	: Intel(R) Core(TM)2 Quad CPU    Q9400  @ 2.66GHz
stepping	: 10
cpu MHz		: 1998.000
cache size	: 3072 KB
physical id	: 0
siblings	: 4
core id		: 1
cpu cores	: 4
apicid		: 1
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic 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 aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority
bogomips	: 5333.29
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual

2. x86info:
Found 2 CPUs
--------------------------------------------------------------------------
CPU #1
eax in: 0x00000000, eax = 0000000d ebx = 756e6547 ecx = 6c65746e edx = 49656e69
eax in: 0x00000001, eax = 0001067a ebx = 01020800 ecx = 80082201 edx = 1f8bfbff
eax in: 0x00000002, eax = 00000001 ebx = 00000000 ecx = 00000000 edx = 002c307d
eax in: 0x00000003, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000004, eax = 00000003 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000005, eax = 00000000 ebx = 00000000 ecx = 00000003 edx = 00000000
eax in: 0x00000006, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000007, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000008, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000009, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x0000000a, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x0000000b, eax = 00000003 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x0000000c, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x0000000d, eax = 00000003 ebx = 00000000 ecx = 00000000 edx = 00000000

eax in: 0x80000000, eax = 80000008 ebx = 756e6547 ecx = 6c65746e edx = 49656e69
eax in: 0x80000001, eax = 0001067a ebx = 00000000 ecx = 00000001 edx = 20100800
eax in: 0x80000002, eax = 65746e49 ebx = 2952286c ecx = 726f4320 edx = 4d542865
eax in: 0x80000003, eax = 51203229 ebx = 20646175 ecx = 20555043 edx = 51202020
eax in: 0x80000004, eax = 30303439 ebx = 20402020 ecx = 36362e32 edx = 007a4847
eax in: 0x80000005, eax = 01ff01ff ebx = 01ff01ff ecx = 40020140 edx = 40020140
eax in: 0x80000006, eax = 00000000 ebx = 42004200 ecx = 02008140 edx = 00000000
eax in: 0x80000007, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000008, eax = 00003028 ebx = 00000000 ecx = 00000001 edx = 00000000

Family: 6 Model: 7 Stepping: 10 Type: 0 Brand: 0
CPU Model: Pentium III/Pentium III Xeon Original OEM
Feature flags:
 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflsh mmx fxsr sse sse2 ss ht
Extended feature flags:
 sse3 ssse3 cx16 [19] [31]
 SYSCALL xd em64t lahf_lm
Cache info
 L1 Instruction cache: 32KB, 8-way associative. 64 byte line size.
 L1 Data cache: 32KB, 8-way associative. 64 byte line size.
 L2 unified cache: 2MB, sectored, 8-way associative. 64 byte line size.
TLB info
Processor serial: 0001-067A-0000-0000-0000-0000
The physical package supports 2 logical processors 

Connector type: Slot 1 (242 Contact Cartridge)


MTRR registers:
MTRRcap (0xfe): MTRRphysBase0 (0x200): MTRRphysMask0 (0x201): MTRRphysBase1 (0x202): MTRRphysMask1 (0x203): MTRRphysBase2 (0x204): MTRRphysMask2 (0x205): MTRRphysBase3 (0x206): MTRRphysMask3 (0x207): MTRRphysBase4 (0x208): MTRRphysMask4 (0x209): MTRRphysBase5 (0x20a): MTRRphysMask5 (0x20b): MTRRphysBase6 (0x20c): MTRRphysMask6 (0x20d): MTRRphysBase7 (0x20e): MTRRphysMask7 (0x20f): MTRRfix64K_00000 (0x250): MTRRfix16K_80000 (0x258): MTRRfix16K_A0000 (0x259): MTRRfix4K_C8000 (0x269): MTRRfix4K_D0000 0x26a: MTRRfix4K_D8000 0x26b: MTRRfix4K_E0000 0x26c: MTRRfix4K_E8000 0x26d: MTRRfix4K_F0000 0x26e: MTRRfix4K_F8000 0x26f: MTRRdefType (0x2ff): 

2.65GHz processor (estimate).

3. guest:
All guests

Comment 2 Dor Laor 2011-03-29 09:03:07 UTC
Of course it is not supported, x2apix exists only for virtualization while -cpu host should expose the physical cpu capabilities.

Comment 3 Suqin Huang 2011-04-22 02:10:17 UTC
reopen this bug according to  bug 697053

Comment 5 Eduardo Habkost 2011-05-30 14:27:45 UTC
Moving to NEW, bugs assigned to virt-maint shouldn't be on ASSIGNED.

Comment 17 FuXiangChun 2012-11-05 02:35:03 UTC
verify this issue with qemu-kvm-0.12.1.2-2.334.el6 and kernel 2.6.32-338.el6.x86_64(because bug 869216,so kernel need to update 2.6.32-338).

verify to steps:
1.boot guest with -cpu host

2.check cpuinfo in guest
fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc arch_perfmon unfair_spinlock pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm xsaveopt

register:
eax in: 0x00000001, eax = 000206a7 ebx = 01020800 ecx = 9fba2203 edx = 1f8bfbff

so this bug is fixed.

Comment 19 Andrew Cathrow 2013-01-02 14:09:16 UTC
*** Bug 891015 has been marked as a duplicate of this bug. ***

Comment 20 errata-xmlrpc 2013-02-21 07:30:47 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-0527.html