diff options
Diffstat (limited to 'include/asm-i386/pgtable-2level.h')
-rw-r--r-- | include/asm-i386/pgtable-2level.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/asm-i386/pgtable-2level.h b/include/asm-i386/pgtable-2level.h index 2756d4b04c27..8d8d3b9ecdb0 100644 --- a/include/asm-i386/pgtable-2level.h +++ b/include/asm-i386/pgtable-2level.h | |||
@@ -16,13 +16,15 @@ | |||
16 | #define set_pte(pteptr, pteval) (*(pteptr) = pteval) | 16 | #define set_pte(pteptr, pteval) (*(pteptr) = pteval) |
17 | #define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval) | 17 | #define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval) |
18 | #define set_pte_atomic(pteptr, pteval) set_pte(pteptr,pteval) | 18 | #define set_pte_atomic(pteptr, pteval) set_pte(pteptr,pteval) |
19 | #define set_pte_present(mm,addr,ptep,pteval) set_pte_at(mm,addr,ptep,pteval) | ||
19 | #define set_pmd(pmdptr, pmdval) (*(pmdptr) = (pmdval)) | 20 | #define set_pmd(pmdptr, pmdval) (*(pmdptr) = (pmdval)) |
20 | 21 | ||
21 | #define pte_clear(mm,addr,xp) do { set_pte_at(mm, addr, xp, __pte(0)); } while (0) | 22 | #define pte_clear(mm,addr,xp) do { set_pte_at(mm, addr, xp, __pte(0)); } while (0) |
22 | #define pmd_clear(xp) do { set_pmd(xp, __pmd(0)); } while (0) | 23 | #define pmd_clear(xp) do { set_pmd(xp, __pmd(0)); } while (0) |
23 | 24 | ||
25 | #define __HAVE_ARCH_PTEP_GET_AND_CLEAR | ||
24 | #define ptep_get_and_clear(mm,addr,xp) __pte(xchg(&(xp)->pte_low, 0)) | 26 | #define ptep_get_and_clear(mm,addr,xp) __pte(xchg(&(xp)->pte_low, 0)) |
25 | #define pte_same(a, b) ((a).pte_low == (b).pte_low) | 27 | |
26 | #define pte_page(x) pfn_to_page(pte_pfn(x)) | 28 | #define pte_page(x) pfn_to_page(pte_pfn(x)) |
27 | #define pte_none(x) (!(x).pte_low) | 29 | #define pte_none(x) (!(x).pte_low) |
28 | #define pte_pfn(x) ((unsigned long)(((x).pte_low >> PAGE_SHIFT))) | 30 | #define pte_pfn(x) ((unsigned long)(((x).pte_low >> PAGE_SHIFT))) |