[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] x86/pv: Use per-domain policy information when calculating the cpumasks
commit 53be78aeff4e685a052b6a69b2a6eec8c4f267eb Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> AuthorDate: Wed Jan 11 11:59:02 2017 +0000 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Wed Jan 11 11:59:02 2017 +0000 x86/pv: Use per-domain policy information when calculating the cpumasks ... rather than dynamically clamping against the PV maximum policy. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> --- xen/arch/x86/domctl.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c index a37a6a1..b01a1f9 100644 --- a/xen/arch/x86/domctl.c +++ b/xen/arch/x86/domctl.c @@ -100,8 +100,8 @@ static void update_domain_cpuid_info(struct domain *d, if ( is_pv_domain(d) && ((levelling_caps & LCAP_1cd) == LCAP_1cd) ) { uint64_t mask = cpuidmask_defaults._1cd; - uint32_t ecx = ctl->ecx & pv_featureset[FEATURESET_1c]; - uint32_t edx = ctl->edx & pv_featureset[FEATURESET_1d]; + uint32_t ecx = p->basic._1c; + uint32_t edx = p->basic._1d; /* * Must expose hosts HTT and X2APIC value so a guest using native @@ -175,7 +175,7 @@ static void update_domain_cpuid_info(struct domain *d, { uint64_t mask = cpuidmask_defaults._7ab0; uint32_t eax = ctl->eax; - uint32_t ebx = ctl->ebx & pv_featureset[FEATURESET_7b0]; + uint32_t ebx = p->feat._7b0; if ( boot_cpu_data.x86_vendor == X86_VENDOR_AMD ) mask &= ((uint64_t)eax << 32) | ebx; @@ -191,7 +191,7 @@ static void update_domain_cpuid_info(struct domain *d, if ( is_pv_domain(d) && ((levelling_caps & LCAP_Da1) == LCAP_Da1) ) { uint64_t mask = cpuidmask_defaults.Da1; - uint32_t eax = ctl->eax & pv_featureset[FEATURESET_Da1]; + uint32_t eax = p->xstate.Da1; if ( boot_cpu_data.x86_vendor == X86_VENDOR_INTEL ) mask &= (~0ULL << 32) | eax; @@ -204,8 +204,8 @@ static void update_domain_cpuid_info(struct domain *d, if ( is_pv_domain(d) && ((levelling_caps & LCAP_e1cd) == LCAP_e1cd) ) { uint64_t mask = cpuidmask_defaults.e1cd; - uint32_t ecx = ctl->ecx & pv_featureset[FEATURESET_e1c]; - uint32_t edx = ctl->edx & pv_featureset[FEATURESET_e1d]; + uint32_t ecx = p->extd.e1c; + uint32_t edx = p->extd.e1d; /* * Must expose hosts CMP_LEGACY value so a guest using native -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |