Merge branch 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 hyperv update from Ingo Molnar: "Enable PCID support on Hyper-V guests" * 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/hyperv: Stop suppressing X86_FEATURE_PCID
This commit is contained in:
commit
72906f3893
|
@ -137,7 +137,12 @@ static void hyperv_flush_tlb_others(const struct cpumask *cpus,
|
|||
}
|
||||
|
||||
if (info->mm) {
|
||||
/*
|
||||
* AddressSpace argument must match the CR3 with PCID bits
|
||||
* stripped out.
|
||||
*/
|
||||
flush->address_space = virt_to_phys(info->mm->pgd);
|
||||
flush->address_space &= CR3_ADDR_MASK;
|
||||
flush->flags = 0;
|
||||
} else {
|
||||
flush->address_space = 0;
|
||||
|
@ -219,7 +224,12 @@ static void hyperv_flush_tlb_others_ex(const struct cpumask *cpus,
|
|||
}
|
||||
|
||||
if (info->mm) {
|
||||
/*
|
||||
* AddressSpace argument must match the CR3 with PCID bits
|
||||
* stripped out.
|
||||
*/
|
||||
flush->address_space = virt_to_phys(info->mm->pgd);
|
||||
flush->address_space &= CR3_ADDR_MASK;
|
||||
flush->flags = 0;
|
||||
} else {
|
||||
flush->address_space = 0;
|
||||
|
@ -278,8 +288,6 @@ void hyperv_setup_mmu_ops(void)
|
|||
if (!(ms_hyperv.hints & HV_X64_REMOTE_TLB_FLUSH_RECOMMENDED))
|
||||
return;
|
||||
|
||||
setup_clear_cpu_cap(X86_FEATURE_PCID);
|
||||
|
||||
if (!(ms_hyperv.hints & HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED)) {
|
||||
pr_info("Using hypercall for remote TLB flush\n");
|
||||
pv_mmu_ops.flush_tlb_others = hyperv_flush_tlb_others;
|
||||
|
|
Loading…
Reference in New Issue