aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-i386/pgtable.h
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@shinybook.infradead.org>2006-04-28 20:42:26 -0400
committerDavid Woodhouse <dwmw2@infradead.org>2006-04-28 20:42:26 -0400
commitd6754b401a15eaa16492ea5dbaa4826361d3f411 (patch)
tree032f067d3af458527d903a7653885404ed82431e /include/asm-i386/pgtable.h
parentacc429a517bd11fdcac9bea97d082d26231beb92 (diff)
parent693f7d362055261882659475d2ef022e32edbff1 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'include/asm-i386/pgtable.h')
-rw-r--r--include/asm-i386/pgtable.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/include/asm-i386/pgtable.h b/include/asm-i386/pgtable.h
index 248bd80a69c5..09697fec3d2b 100644
--- a/include/asm-i386/pgtable.h
+++ b/include/asm-i386/pgtable.h
@@ -203,12 +203,10 @@ extern unsigned long long __PAGE_KERNEL, __PAGE_KERNEL_EXEC;
203extern unsigned long pg0[]; 203extern unsigned long pg0[];
204 204
205#define pte_present(x) ((x).pte_low & (_PAGE_PRESENT | _PAGE_PROTNONE)) 205#define pte_present(x) ((x).pte_low & (_PAGE_PRESENT | _PAGE_PROTNONE))
206#define pte_clear(mm,addr,xp) do { set_pte_at(mm, addr, xp, __pte(0)); } while (0)
207 206
208/* To avoid harmful races, pmd_none(x) should check only the lower when PAE */ 207/* To avoid harmful races, pmd_none(x) should check only the lower when PAE */
209#define pmd_none(x) (!(unsigned long)pmd_val(x)) 208#define pmd_none(x) (!(unsigned long)pmd_val(x))
210#define pmd_present(x) (pmd_val(x) & _PAGE_PRESENT) 209#define pmd_present(x) (pmd_val(x) & _PAGE_PRESENT)
211#define pmd_clear(xp) do { set_pmd(xp, __pmd(0)); } while (0)
212#define pmd_bad(x) ((pmd_val(x) & (~PAGE_MASK & ~_PAGE_USER)) != _KERNPG_TABLE) 210#define pmd_bad(x) ((pmd_val(x) & (~PAGE_MASK & ~_PAGE_USER)) != _KERNPG_TABLE)
213 211
214 212
@@ -267,7 +265,7 @@ static inline pte_t ptep_get_and_clear_full(struct mm_struct *mm, unsigned long
267 pte_t pte; 265 pte_t pte;
268 if (full) { 266 if (full) {
269 pte = *ptep; 267 pte = *ptep;
270 *ptep = __pte(0); 268 pte_clear(mm, addr, ptep);
271 } else { 269 } else {
272 pte = ptep_get_and_clear(mm, addr, ptep); 270 pte = ptep_get_and_clear(mm, addr, ptep);
273 } 271 }