Hi,
I’m trying to get kvm running on Lenovo Ideapad S12 via nano version. I’m using latest vanilla 2.6.30.5 and 2.6.31-rc8 kernels with 0.10.50 qemu-kvm running on arch x86_64.
# cat /proc/cpuinfo
processor : 0
vendor_id : CentaurHauls
cpu family : 6
model : 15
model name : VIA Nano processor U2250 (1.6GHz Capable)
stepping : 3
cpu MHz : 1600.000
cache size : 1024 KB
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 clflush acpi mmx fxsr sse sse2 ss tm pbe syscall nx lm constant_tsc rep_good pni monitor **vmx** est tm2 ssse3 cx16 xtpr rng rng_en ace ace_en ace2 phe phe_en lahf_lm
bogomips : 3191.83
clflush size : 64
cache_alignment : 128
address sizes : 36 bits physical, 48 bits virtual
power management:
Processor has Intel hardware virtualization extension. Bios that is phoenix donkey poo has no configuration for anything except boot device priority. Anyway kvm and kvm-intel modules load successfully without “kvm: disabled by bios” message. qemu-kvm starts perfectly without any warning messages. But just after VM execution starts, qemu-kvm falls in poll loop utilizing CPU by 100%. There is no even “Press F12 for boot menu” message appears. If I disable hardware virtualization with -no-kvm option VM runs normally.
Here is an piece of strace (note EAGAINs, I didn’t have a look with gdb yet). (fd 8 stands for evenfd(0) and fd 4 for a pipe (near /dev/kvm open))
select(11, [0 4 8 10], ], ], {1, 0}) = 2 (in [4 8], left {0, 999990})
read(8, "\1\0\0\0\0\0\0\0"..., 8) = 8
read(4, "\0"..., 512) = 1
read(4, 0x7fff7755f550, 512) = -1 EAGAIN (Resource temporarily unavailable)
select(11, [0 4 8 10], ], ], {1, 0}) = 1 (in [10], left {0, 971451})
read(10, "\16\0\0\0\0\0\0\0\376\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 128) = 128
rt_sigaction(SIGALRM, NULL, {0x40b830, ~[KILL STOP RTMIN RT_1], SA_RESTORER, 0x7f993c320790}, 8) = 0
write(5, "\0"..., 1) = 1
write(9, "\1\0\0\0\0\0\0\0"..., 8) = 8
read(10, 0x7fff7755f6c0, 128) = -1 EAGAIN (Resource temporarily unavailable)
timer_gettime(0, {it_interval={0, 0}, it_value={0, 0}}) = 0
timer_settime(0, 0, {it_interval={0, 0}, it_value={0, 250000}}, NULL) = 0
timer_gettime(0, {it_interval={0, 0}, it_value={0, 178343}}) = 0
select(11, [0 4 8 10], ], ], {1, 0}) = 2 (in [4 8], left {0, 999990})
This calls loops forever.
Nothing in qemu-kvm and kernel log in 2.6.30.5. And there is pretty heavy logging with 2.6.31-rc8
6585.687869] handle_exception: unexpected, vectoring info 0x8000000d intr info 0x80000b0d
6585.687894] handle_exception: unexpected, vectoring info 0x8000000d intr info 0x80000b0d
6585.687919] handle_exception: unexpected, vectoring info 0x8000000d intr info 0x80000b0d
6585.687944] handle_exception: unexpected, vectoring info 0x8000000d intr info 0x80000b0d
6585.687970] handle_exception: unexpected, vectoring info 0x8000000d intr info 0x80000b0d
6585.687995] handle_exception: unexpected, vectoring info 0x8000000d intr info 0x80000b0d
So, the question is - whose issue is this? Bios or KVM? Any tips on how I can perform dipper view on this issue?