x86: add pte accessors for the global bit
Andi Kleen [Wed, 30 Jan 2008 12:33:42 +0000 (13:33 +0100)]
Needed for some test code.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

include/asm-x86/pgtable.h

index 2f3d908..18a5f9e 100644 (file)
@@ -139,6 +139,7 @@ static inline int pte_young(pte_t pte)              { return pte_val(pte) & _PAGE_ACCESSED;
 static inline int pte_write(pte_t pte)         { return pte_val(pte) & _PAGE_RW; }
 static inline int pte_file(pte_t pte)          { return pte_val(pte) & _PAGE_FILE; }
 static inline int pte_huge(pte_t pte)          { return pte_val(pte) & _PAGE_PSE; }
+static inline int pte_global(pte_t pte)        { return pte_val(pte) & _PAGE_GLOBAL; }
 static inline int pte_exec(pte_t pte)          { return !(pte_val(pte) & _PAGE_NX); }
 
 static inline int pmd_large(pmd_t pte) {
@@ -155,6 +156,8 @@ 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_mkglobal(pte_t pte)    { return __pte(pte_val(pte) | _PAGE_GLOBAL); }
+static inline pte_t pte_clrglobal(pte_t pte)   { return __pte(pte_val(pte) & ~_PAGE_GLOBAL); }
 
 extern pteval_t __supported_pte_mask;