Christoph Lameter wrote: > Changelog > * Provide atomic pte operations for x86_64 > > Signed-off-by: Christoph Lameter <clameter@sgi.com> > > Index: linux-2.6.10/include/asm-x86_64/pgalloc.h > =================================================================== > --- linux-2.6.10.orig/include/asm-x86_64/pgalloc.h 2005-01-03 10:31:31.000000000 -0800 > +++ linux-2.6.10/include/asm-x86_64/pgalloc.h 2005-01-03 12:21:28.000000000 -0800 > @@ -7,6 +7,10 @@ > #include <linux/threads.h> > #include <linux/mm.h> > > +#define PMD_NONE 0 > +#define PUD_NONE 0 > +#define PGD_NONE 0 > + > #define pmd_populate_kernel(mm, pmd, pte) \ > set_pmd(pmd, __pmd(_PAGE_TABLE | __pa(pte))) > #define pud_populate(mm, pud, pmd) \ > @@ -14,11 +18,24 @@ > #define pgd_populate(mm, pgd, pud) \ > set_pgd(pgd, __pgd(_PAGE_TABLE | __pa(pud))) > > +#define pmd_test_and_populate(mm, pmd, pte) \ > + (cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | __pa(pte)) == PMD_NONE) > +#define pud_test_and_populate(mm, pud, pmd) \ > + (cmpxchg((int *)pgd, PUD_NONE, _PAGE_TABLE | __pa(pmd)) == PUD_NONE) ^^^ Shouldn't this be pud? > +#define pgd_test_and_populate(mm, pgd, pud) \ > + (cmpxchg((int *)pgd, PGD_NONE, _PAGE_TABLE | __pa(pud)) == PGD_NONE) > + > + -- Brian Gerst - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Tue Jan 4 19:21:41 2005
This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:34 EST