diff options
Diffstat (limited to 'arch/x86/include/asm/tlb.h')
| -rw-r--r-- | arch/x86/include/asm/tlb.h | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/x86/include/asm/tlb.h b/arch/x86/include/asm/tlb.h index 829215fef9e..4fef20773b8 100644 --- a/arch/x86/include/asm/tlb.h +++ b/arch/x86/include/asm/tlb.h @@ -4,7 +4,14 @@  #define tlb_start_vma(tlb, vma) do { } while (0)  #define tlb_end_vma(tlb, vma) do { } while (0)  #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) -#define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) + +#define tlb_flush(tlb)							\ +{									\ +	if (tlb->fullmm == 0)						\ +		flush_tlb_mm_range(tlb->mm, tlb->start, tlb->end, 0UL);	\ +	else								\ +		flush_tlb_mm_range(tlb->mm, 0UL, TLB_FLUSH_ALL, 0UL);	\ +}  #include <asm-generic/tlb.h>  |