[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 08/13] libs/guest: make a cpu policy compatible with older Xen versions
On 30.04.2021 17:52, Roger Pau Monne wrote: > @@ -1086,3 +1075,42 @@ int xc_cpu_policy_calc_compatible(xc_interface *xch, > > return rc; > } > + > +int xc_cpu_policy_make_compatible(xc_interface *xch, xc_cpu_policy_t policy, > + bool hvm) I'm concerned of the naming, and in particular the two very different meanings of "compatible" for xc_cpu_policy_calc_compatible() and this new one. I'm afraid I don't have a good suggestion though, short of making the name even longer and inserting "backwards". Jan > +{ > + xc_cpu_policy_t host; > + int rc; > + > + host = xc_cpu_policy_init(); > + if ( !host ) > + { > + errno = ENOMEM; > + return -1; > + } > + > + rc = xc_cpu_policy_get_system(xch, XEN_SYSCTL_cpu_policy_host, host); > + if ( rc ) > + { > + ERROR("Failed to get host policy"); > + goto out; > + } > + > + /* > + * Account for features which have been disabled by default since Xen > 4.13, > + * so migrated-in VM's don't risk seeing features disappearing. > + */ > + policy->cpuid.basic.rdrand = host->cpuid.basic.rdrand; > + > + if ( hvm ) > + policy->cpuid.feat.mpx = host->cpuid.feat.mpx; > + > + /* Clamp maximum leaves to the ones supported on 4.12. */ > + policy->cpuid.basic.max_leaf = min(policy->cpuid.basic.max_leaf, 0xdu); > + policy->cpuid.feat.max_subleaf = 0; > + policy->cpuid.extd.max_leaf = min(policy->cpuid.extd.max_leaf, 0x1cu); > + > + out: > + xc_cpu_policy_destroy(host); > + return rc; > +} >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |