> I'm not sure how to deal with named CPUs suggested by Dan.
Either we need
> to come up with global set of named CPUs and document what they mean or
> let drivers specify their own named CPUs and advertise them through guest
> capabilities:
> <guest>
> ...
> <cpu model="NAME">
> <feature>NAME</feature>
> ...
> </cpu>
> </guest>
[IH] you also need to support removing a feature from the base cpu model,
if it is disabled by bios, like the nx flag).
Indeed, the above XML snippet describes capabilities, that is what features
are turned on by each model name.
...
> And finally, CPU may be configured in domain XML configuration:
>
> <domain>
> ...
> <cpu model="NAME">
> <topology>
> <sockets>NUMBER_OF_SOCKETS</sockets>
> <cores>CORES_PER_SOCKET</cores>
> <threads>THREADS_PER_CORE</threads>
> </topology>
>
> <feature name="NAME" mode="set|check"
value="on|off"/>
> </cpu>
> </domain>
>
> Mode 'check' checks physical CPU for the feature and refuses the domain to
> start if it doesn't match. VCPU feature is set to the same value. Mode
> 'set' just sets the VCPU feature.
While here, when configuring a domain, you would use something like
<cpu model="whatever">
<feature name="sse6" mode="set" value="off"/>
</cpu>
to turn off 'sse6' feature which was turned on by selecting CPU model
'whatever'.
Jirka