On 24.12.2008, at 05:18, Todd Deshane wrote:
On Tue, Dec 23, 2008 at 12:04 PM, Alexander Graf <[email protected]> wrote:Your KVM kernel module does not like that the guest writes intoMSR_VM_HSAVE_PA. This is pretty fundamental and should always work if you build current git kvm kernel modules. Are you sure you're using the currentgit modules? Are you using the -enable-nesting option for qemu?Please try to rmmod everything, take a fresh checkout from git, compile it and load the module with insmod kvm-amd.ko nested=1. I can't think of anyway this could fail.OK, so I followed your directions above much more carefully, got the latestcheckout and insmod'd kvm, kvm-amd nested=1 and watched carefully to the syslog (dmesg). When the kvm_amd module was loaded I get: kvm: Nested Virtualization enabled Good sign. So I booted up a guest with: sudo qemu-system-x86_64 -enable-nesting -m 512 -drive file=/dev/storage/deshantm-desktop,if=virtio,boot=on -drive file=/dev/storage/deshantm-temp-space,if=virtio -usb -usbdevice tablet -net nic,macaddr=00:16:3e:16:00:00,model=virtio -net tap,script=/usr/local/share/qemu-ifup -daemonize -vnc :16 I checked /proc/cpuinfo, which showed the svm flag (doesn't show the svm flag without the -enable-nesting) So all looks pretty good.
Yep. That looks all pretty good :-). A lot better than before!
During the guest boot, some normal looking messages. Dec 23 22:42:28 amdbox kernel: [15715.578035] device tap0 entered promiscuous mode Dec 23 22:42:28 amdbox kernel: [15715.578059] br0: port 2(tap0) entering learning state Dec 23 22:42:29 amdbox avahi-daemon[5457]: Registering new address record for fe80::f01d:36ff:fe6f:597 on tap0.*. Dec 23 22:42:37 amdbox kernel: [15724.576010] br0: topology change detected, propagating Dec 23 22:42:37 amdbox kernel: [15724.576014] br0: port 2(tap0) entering forwarding stateDec 23 22:42:38 amdbox kernel: [15725.185009] tap0: no IPv6 routers presentThen, in the guest I run a more simple command: sudo qemu-system-x86_64 -hda ubuntu-server.img -cdrom install_cd.iso which produces dmesg in the base as follows: Dec 23 22:44:05 amdbox kernel: [15812.088706] __ratelimit: 20 callbacks suppressed Dec 23 22:44:05 amdbox kernel: [15812.088710] emulation failed (mmio) rip ffffffffa0370a11 0f 01 da 0f
Ugh. Looks like the emulation part is still broken :-(. Please use the attached patch to disable the emulation optimization for now.
Avi, could you please apply that patch for kvm-82 too, so we get something working out? I'll take a closer look at what's broken exactly later on.
Alex
disable-emulation.patch
Description: Binary data
