On 16.11.2010, at 18:27, Anthony Liguori wrote: > On 11/16/2010 11:24 AM, Alexander Graf wrote: >> On 16.11.2010, at 18:20, Anthony Liguori wrote: >> >> >>> On 11/16/2010 10:59 AM, Alexander Graf wrote: >>> >>>> >>>>> Surely, only if it is running on a Xen Dom0. If you use -M xenpv on a KVM >>>>> host, then -M xenpv should imply -machine accel=kvm (ie it would be using >>>>> xenner) >>>>> >>>>> >>>> Actually, it should imply -machine accel=kvm,tcg :). Accelerators really >>>> are not a machine property. In an ideal world, -M pc would just work with >>>> xen hvm if -accel xen is given. >>>> >>>> >>> No, an accelerator is both a CPU selection and a machine characteristic. >>> For KVM, we overload -cpu to modify both the KVM CPU and the TCG CPU both >>> this won't work with accel=xen. We probably shouldn't do this with KVM >>> either because there's a significant different between trying to do cpuid >>> masking with KVM and modifying the TCG cpu emulation support. >>> >>> Both KVM and Xen have other impacts on the platform devices though. KVM >>> does not support SMM so it disables that in the i440fx. KVM prefers to use >>> it's own in-kernel local APIC (and IOAPIC). That makes it a property of >>> the machine. >>> >> So you're saying the machine should define an accel mask of accels it >> supports? >> >> However all this ends up internally, giving the user an easy option to >> choose accels would still be nice. Users don't use -device or -machine. They >> want shortcuts :). >> > > User's want things to just work. > > That's why -M xenpv should imply -machine accel=xen.
No, it should imply -machine accel=xen,kvm,tcg. Which should be the default anyways. For machines that don't work with specific accels, I'd agree that a machine should be able to mask those out. But in general, we'll always get back to defaulting to xen,kvm,tcg. > A user should never have to specify and accelerator option IMHO. If things don't work out, he should be able to do things like -no-kvm for bug hunting. In normal use cases, I tend to agree. Things should just work automatically. Alex