Alexander Graf wrote:

I guess I didn't express myself correctly, sorry for that :-). I think that kvm kernel module capabilities should be masked out in the kernel module, while "other" stuff, like migration masking or additional CPUIDs (do these work atm?) should of course reside in the userspace.

But then userspace needs to know when capabilities userspace actually sees.


The code I was referring to was the removal of the NX bit and the SVM bit. These are definitely kernel capabilities. If the kernel module doesn't implement these, it should just mask them out instead of having userspace figure out what's there and what isn't.

The flow I have in mind is:

- kernel exports which cpuid bits it supports (global information; not tied to a guest; this way it can be used to calculate g-c-d)
- userspace merges this information with its own ideas
- userspace tells the kernel what cpuid bits to present to the guest (lying is allowed)

This gives the maximum flexibility and visibility.

NX and SVM are masked for backward compatibility with older userspace; we could probably remove this masking now.

I hope I didn't completely confuse everybody now :-). On a sidenote: We really need to switch to the newer cpuid kernel<->userspace interface. The way it currently is, CPUID 4 is severely broken.

There is a new interface in place (quite old by now), unfortunately it isn't used by qemu.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to