Skip to contentSkip to conversation

kvm-82 doesn't boot 64bit (?) [cpu0 unhandled wrmsr]

DISCUSSION Paolo Pedaletti 2 participants 5 messages Jan 11, 2009 – Jan 16, 2009 KVM

lore
Share & tools
lore
#0 lore raw

ciao,
I have a problem to run a 64 bit intel guest inside a 64 bit intel host. It doesn' boot.

host: Intel(R) Core(TM)2 CPU 6420 @ 2.13GHz
OS: ubuntu 8.10 64 bit

	($ file /bin/ls>/bin/ls: ELF 64-bit LSB xecutable, x86-64,...)

kvm-82

$ modinfo kvm
filename:       /lib/modules/2.6.27-9-server/extra/kvm.ko
license:        GPL
author:         Qumranet
version:        kvm-82
srcversion:     26E72577C6F752FF6FCE2AE
depends:
vermagic:       2.6.27-9-server SMP mod_unload modversions
parm:           oos_shadow:bool
parm:           msi2intx:bool
$ modinfo kvm_intel
filename:       /lib/modules/2.6.27-9-server/extra/kvm-intel.ko
license:        GPL
author:         Qumranet
version:        kvm-82
srcversion:     6F53E897CA902DDC25AC326
depends:        kvm
vermagic:       2.6.27-9-server SMP mod_unload modversions
parm:           bypass_guest_pf:bool
parm:           enable_vpid:bool
parm:           flexpriority_enabled:bool
parm:           enable_ept:bool
parm:           emulate_invalid_guest_state:bool

trying to boot the guest:
/usr/local/bin/qemu-system-x86_64 -cpu core2duo

	-hda ./ubuntu-server-8.10_64bit.root
	-cdrom /home/vm/iso/ubuntu/ubuntu-8.10-server-i386.iso
	-k it -usbdevice tablet -boot d

as soon as I run this command, in syslog appear:
cpu0: unhandled wrmsr: 0xc0010117 data 0
(always the same address)

and in the guest window, the latest 3 lines:
Initializing cgroup subsys ns
Initializing cgroup subsys cpuacct
Initializing cgroup subsys memory

(screendump in attachment)

the same with -cpu: coreduo

no problem (but still appear "unhandled wrmsr" error) with all the other cpu

questions:
1) with -cpu qemu64 I obtain in the guest:
cat /proc/cpuinfo
vendor_id: GenuineIntel
but it doesn't seem a 64 bit cpu (?)

2) can I do some deeper debug to provide more useful info? (or suggest me a different command-line)

3) what does "logfile" command (should) do?
CTRL-ALT-2
logfile /tmp/logfile
but there is no /tmp/logfile on host

thank you.

Signature · 2 lines
/* Paolo Pedaletti,
 * [email protected] www.pedaletti.it */
#1 lore raw
Quoted 3 lines · Paolo Pedaletti

ciao,
I have a problem to run a 64 bit intel guest inside a 64 bit intel host. It doesn' boot.

Looks like the core2duo CPU type has the problem.

Quoted 9 lines

trying to boot the guest:
/usr/local/bin/qemu-system-x86_64 -cpu core2duo

	-hda ./ubuntu-server-8.10_64bit.root
	-cdrom /home/vm/iso/ubuntu/ubuntu-8.10-server-i386.iso
	-k it -usbdevice tablet -boot d

as soon as I run this command, in syslog appear:
cpu0: unhandled wrmsr: 0xc0010117 data 0
(always the same address)

This is harmless and has been fixed for the upcoming release.

Quoted 1 line

the same with -cpu: coreduo

This is a 32-bit CPU type. A 64-bit kernel won't boot on this.

Quoted 5 lines

questions:
1) with -cpu qemu64 I obtain in the guest:
cat /proc/cpuinfo
vendor_id: GenuineIntel
but it doesn't seem a 64 bit cpu (?)

Check for the 'lm' flag in cpuinfo output.

Have you used 'core2duo' in a previous version without problems?

I could reproduce this with 32-bit and 64-bit guests. It works fine with -no-kvm. I looked at this briefly; it's a problem in cpuid function 4 which has the Intel cache identification bits. We need updated info there.

Just for the refernce, kvm_stat shows this and CPU usage goes beyond 95%:

$ ./kvm_stat -1
efer_reload                   27         0
exits                    2652516    591716
fpu_reload                276172         0
halt_exits                    55         0
halt_wakeup                    0         0
host_state_reload         306818       143
hypercalls                     0         0
insn_emulation            579255         0
insn_emulation_fail            0         0
invlpg                         5         0
io_exits                  313047      1000
irq_exits                   4616       918
irq_injections               878       250
irq_window                    80         0
kvm_request_irq                0         0
largepages                     0         0
mmio_exits                  9140         0
mmu_cache_miss               281         0
mmu_flooded                  170         0
mmu_pde_zapped               373         0
mmu_pte_updated                3         0
mmu_pte_write               5531         0
mmu_recycled                   0         0
mmu_shadow_zapped            302         0
mmu_unsync                     1         0
mmu_unsync_global              1         0
nmi_injections                 0         0
nmi_window                     0         0
pf_fixed                    8615         0
pf_guest                       0         0
remote_tlb_flush               0         0
request_nmi                    0         0
signal_exits                   1         0
tlb_flush                 333740         0
#2 lore raw

Ciao Amit,

Quoted 6 lines
Quoted 4 lines

1) with -cpu qemu64 I obtain in the guest:
cat /proc/cpuinfo
vendor_id: GenuineIntel
but it doesn't seem a 64 bit cpu (?)

Check for the 'lm' flag in cpuinfo output.

with -cpu qemu64:

cat /proc/cpuinfo | grep flags
flags : fpu de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse6 clflush mmx fxsr sse sse2 syscall nx lm up pni

http://www.linuxquestions.org/questions/linux-general-1/proccpuinfo-flag-lm-358563/?s=58094402abd82d488b3daf02e520f6bf

ok, it's 64 bit

Quoted 1 line

Have you used 'core2duo' in a previous version without problems?

no, it's the first time, the hardware is new

Quoted 3 lines

I could reproduce this with 32-bit and 64-bit guests. It works fine with -no-kvm. I looked at this briefly; it's a problem in cpuid function 4 which has the Intel cache identification bits. We need updated info there.

can I provide you this information?
How?

Quoted 7 lines

Just for the refernce, kvm_stat shows this and CPU usage goes beyond 95%:

$ ./kvm_stat -1
efer_reload                   27         0
exits                    2652516    591716
fpu_reload                276172         0
halt_exits                    55         0

the meaning of the two columns is .... ?

thank you.

Signature · 1 line
Paolo Pedaletti
#3 lore raw
Quoted 7 lines · paolo pedaletti

Ciao Amit,

Quoted 5 lines
Quoted 4 lines

1) with -cpu qemu64 I obtain in the guest:
cat /proc/cpuinfo
vendor_id: GenuineIntel
but it doesn't seem a 64 bit cpu (?)

Quoted 7 lines
Quoted 1 line

Check for the 'lm' flag in cpuinfo output.

ok, it's 64 bit

Quoted 1 line

Have you used 'core2duo' in a previous version without problems?

no, it's the first time, the hardware is new

I've sent out fixes for this; the next kvm release will let you use the core2duo cpu type.

Amit

#4 lore raw

Ciao Amit Shah,

Quoted 2 lines

I've sent out fixes for this; the next kvm release will let you use the core2duo cpu type.

perfect
thank you.

Signature · 1 line
Paolo Pedaletti