
On Fri, Aug 28, 2009 at 12:30:14PM +0400, Scaldov M.V. wrote:
Problem is that the images of windows 2003 server, windows 2000 and some other do not start and go to BSOD due to processor mismatch if they were created under either qemu or vmware, or from bare-metal installed OS.
By default libvirt starts kvm with "-cpu=qemu32" option instead of, for example, "-cpu=pentium3".
There is patch for libvirt-0.6.5 to avoid this problem. Now libvirt takes into account <cpumodel> node from .xml domain config, which overrides libvirt's default -cpu option for kvm.
I think, this patch is vital, because of it helps to avoid a waste of time with reinstalling and reconfiguring windows server images.
<domain type='kvm'> <name>w2k3s</name> <uuid>e2725d10-7ada-4f71-eea7-fa6cc1a541ee</uuid> <memory>262144</memory> <currentMemory>262144</currentMemory> <vcpu>1</vcpu> <cpumodel>pentium3</cpumodel> <------ <os> <type arch='i686'>hvm</type> <boot dev='hd'/> </os>
We definitely need to support configuration of the CPU model, but things are a little more complex than just setting a model name. QEMU allows for a model name, along with ability to set named flags to turn on or off features from the model. Xen and VMWare both allow for setting a fully CPUID bitmask. We're still trying i figure out how to reconcile this into an XML format Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|