tlb.h (c9f289701540baeef9ac7c9977d67a7259f404db) | tlb.h (03911132aafd6727e59408e497c049402a5a11fa) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* include/asm-generic/tlb.h 3 * 4 * Generic TLB shootdown code 5 * 6 * Copyright 2001 Red Hat, Inc. 7 * Based on code from mm/memory.c Copyright Linus Torvalds and others. 8 * 9 * Copyright 2011 Red Hat, Inc., Peter Zijlstra 10 */ 11#ifndef _ASM_GENERIC__TLB_H 12#define _ASM_GENERIC__TLB_H 13 14#include <linux/mmu_notifier.h> 15#include <linux/swap.h> | 1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* include/asm-generic/tlb.h 3 * 4 * Generic TLB shootdown code 5 * 6 * Copyright 2001 Red Hat, Inc. 7 * Based on code from mm/memory.c Copyright Linus Torvalds and others. 8 * 9 * Copyright 2011 Red Hat, Inc., Peter Zijlstra 10 */ 11#ifndef _ASM_GENERIC__TLB_H 12#define _ASM_GENERIC__TLB_H 13 14#include <linux/mmu_notifier.h> 15#include <linux/swap.h> |
16#include <linux/hugetlb_inline.h> |
|
16#include <asm/pgalloc.h> 17#include <asm/tlbflush.h> 18#include <asm/cacheflush.h> 19 20/* 21 * Blindly accessing user memory from NMI context can be dangerous 22 * if we're in the middle of switching the current user task or switching 23 * the loaded mm. --- 369 unchanged lines hidden (view full) --- 393 * 394 * flush_tlb_range() implementations that flush I-TLB also flush D-TLB 395 * (tile, xtensa, arm), so it's ok to just add VM_EXEC to an existing 396 * range. 397 * 398 * We rely on tlb_end_vma() to issue a flush, such that when we reset 399 * these values the batch is empty. 400 */ | 17#include <asm/pgalloc.h> 18#include <asm/tlbflush.h> 19#include <asm/cacheflush.h> 20 21/* 22 * Blindly accessing user memory from NMI context can be dangerous 23 * if we're in the middle of switching the current user task or switching 24 * the loaded mm. --- 369 unchanged lines hidden (view full) --- 394 * 395 * flush_tlb_range() implementations that flush I-TLB also flush D-TLB 396 * (tile, xtensa, arm), so it's ok to just add VM_EXEC to an existing 397 * range. 398 * 399 * We rely on tlb_end_vma() to issue a flush, such that when we reset 400 * these values the batch is empty. 401 */ |
401 tlb->vma_huge = !!(vma->vm_flags & VM_HUGETLB); | 402 tlb->vma_huge = is_vm_hugetlb_page(vma); |
402 tlb->vma_exec = !!(vma->vm_flags & VM_EXEC); 403} 404 405#else 406 407static inline void 408tlb_update_vma_flags(struct mmu_gather *tlb, struct vm_area_struct *vma) { } 409 --- 223 unchanged lines hidden --- | 403 tlb->vma_exec = !!(vma->vm_flags & VM_EXEC); 404} 405 406#else 407 408static inline void 409tlb_update_vma_flags(struct mmu_gather *tlb, struct vm_area_struct *vma) { } 410 --- 223 unchanged lines hidden --- |