Linus,

Please pull the latest x86-hyperv-for-linus git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 
x86-hyperv-for-linus

   # HEAD: 617ab45c9a8900e64a78b43696c02598b8cad68b x86/hyperv: Stop 
suppressing X86_FEATURE_PCID

Enable PCID support on Hyper-V guests.

 Thanks,

        Ingo

------------------>
Vitaly Kuznetsov (1):
      x86/hyperv: Stop suppressing X86_FEATURE_PCID


 arch/x86/hyperv/mmu.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/arch/x86/hyperv/mmu.c b/arch/x86/hyperv/mmu.c
index 9cc9e1c1e2db..56c9ebac946f 100644
--- a/arch/x86/hyperv/mmu.c
+++ b/arch/x86/hyperv/mmu.c
@@ -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;

Reply via email to