summaryrefslogtreecommitdiffstats
path: root/include/asm-x86/pgtable_32.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-01-30 13:32:56 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-30 13:32:56 +0100
commit7d00a1ae54779db1bec03fa575cf53d99cb6cc48 (patch)
tree8c7029119d1a845f8935f93e64a0bec59faea144 /include/asm-x86/pgtable_32.h
parentx86/pgtable: unify pagetable accessors, #3 (diff)
downloadlinux-7d00a1ae54779db1bec03fa575cf53d99cb6cc48.tar.xz
linux-7d00a1ae54779db1bec03fa575cf53d99cb6cc48.zip
x86/pgtable: unify pagetable accessors, #4
add new ops to 32-bit. based on: Subject: x86/pgtable: unify pagetable accessors From: Jeremy Fitzhardinge <jeremy@goop.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/pgtable_32.h')
-rw-r--r--include/asm-x86/pgtable_32.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/asm-x86/pgtable_32.h b/include/asm-x86/pgtable_32.h
index c1e855fdf60e..b3e92124fc3f 100644
--- a/include/asm-x86/pgtable_32.h
+++ b/include/asm-x86/pgtable_32.h
@@ -123,6 +123,14 @@ static inline pte_t pte_mkyoung(pte_t pte) { return __pte(pte_val(pte) | _PAGE_A
static inline pte_t pte_mkwrite(pte_t pte) { return __pte(pte_val(pte) | _PAGE_RW); }
static inline pte_t pte_mkhuge(pte_t pte) { return __pte(pte_val(pte) | _PAGE_PSE); }
+static inline pte_t pte_clrhuge(pte_t pte) { return __pte(pte_val(pte) & ~_PAGE_PSE); }
+static inline pte_t pte_mkexec(pte_t pte) { return __pte(pte_val(pte) & ~_PAGE_NX); }
+
+static inline int pmd_large(pmd_t pte) {
+ return (pmd_val(pte) & (_PAGE_PSE|_PAGE_PRESENT)) ==
+ (_PAGE_PSE|_PAGE_PRESENT);
+}
+
#ifdef CONFIG_X86_PAE
# include <asm/pgtable-3level.h>
#else