On real hardware, the bulk of CPUID data is system-specific and constant.
Hold the toolstack to the same behaviour when constructing domains.
Values which are expected to change dynamically (e.g. OSXSAVE) are unaffected
and continue to function as before.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
case XEN_DOMCTL_set_cpuid:
if ( d == currd ) /* no domain_pause() */
ret = -EINVAL;
+ else if ( d->creation_finished )
+ ret = -EEXIST; /* No changing once the domain is running. */
else
{
domain_pause(d);