|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC v1 02/74] x86: Common cpuid faulting support
>>> On 04.01.18 at 14:05, <wei.liu2@xxxxxxxxxx> wrote:
> @@ -518,7 +522,7 @@ static void early_init_amd(struct cpuinfo_x86 *c)
> if (c == &boot_cpu_data)
> amd_init_levelling();
>
> - amd_ctxt_switch_levelling(NULL);
> + ctxt_switch_levelling(NULL);
> }
I don't really understand this change: Why don't you call
amd_ctxt_switch_masking() instead? ctxt_switch_levelling(NULL)
doesn't do anything else (assuming the call here is wrapped by a
"if (!cpu_has_cpuid_faulting)"). Same for the Intel variant then.
> +static void set_cpuid_faulting(bool enable)
> +{
> + uint64_t *this_misc_features = &this_cpu(msr_misc_features);
> + uint64_t val = *this_misc_features;
> +
> + if (!!(val & MSR_MISC_FEATURES_CPUID_FAULTING) == enable)
> + return;
> +
> + val ^= MSR_MISC_FEATURES_CPUID_FAULTING;
> +
> + wrmsrl(MSR_INTEL_MISC_FEATURES_ENABLES, val);
> + *this_misc_features = val;
If you maintain a cache for the full MSR, then I think you'd better
create wrappers to do reads and writes, just like we have for
EFER.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |