| /**************************************************************************** |
| **************************************************************************** |
| *** |
| *** This header was automatically generated from a Linux kernel header |
| *** of the same name, to make information necessary for userspace to |
| *** call into the kernel available to libc. It contains only constants, |
| *** structures, and macros generated from the original header, and thus, |
| *** contains no copyrightable information. |
| *** |
| **************************************************************************** |
| ****************************************************************************/ |
| #ifndef _ASM_GENERIC__TLB_H |
| #define _ASM_GENERIC__TLB_H |
| |
| #include <linux/swap.h> |
| #include <asm/pgalloc.h> |
| #include <asm/tlbflush.h> |
| |
| #define FREE_PTE_NR 1 |
| #define tlb_fast_mode(tlb) 1 |
| |
| struct mmu_gather { |
| struct mm_struct *mm; |
| unsigned int nr; |
| unsigned int need_flush; |
| unsigned int fullmm; |
| struct page * pages[FREE_PTE_NR]; |
| }; |
| |
| #define tlb_remove_tlb_entry(tlb, ptep, address) do { tlb->need_flush = 1; __tlb_remove_tlb_entry(tlb, ptep, address); } while (0) |
| #define pte_free_tlb(tlb, ptep) do { tlb->need_flush = 1; __pte_free_tlb(tlb, ptep); } while (0) |
| #ifndef __ARCH_HAS_4LEVEL_HACK |
| #define pud_free_tlb(tlb, pudp) do { tlb->need_flush = 1; __pud_free_tlb(tlb, pudp); } while (0) |
| #endif |
| #define pmd_free_tlb(tlb, pmdp) do { tlb->need_flush = 1; __pmd_free_tlb(tlb, pmdp); } while (0) |
| #define tlb_migrate_finish(mm) do {} while (0) |
| #endif |