Ralf, __pte is broken when pte_t is a 64bit type. I did this to fix the 36 bit IO support for the Alchemy boards, but it also affects the 64 bit mips port. Apparently it fixed a Xfree problem someone was having. Pete --- include/asm-mips/pgtable.h.old Fri Jul 12 17:25:19 2002 +++ include/asm-mips/pgtable.h Fri Jul 12 17:25:36 2002 @@ -332,7 +332,9 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) { - return __pte(((pte).pte_low & _PAGE_CHG_MASK) | pgprot_val(newprot)); + pte.pte_low &= _PAGE_CHG_MASK; + pte.pte_low |= pgprot_val(newprot); + return pte; } /*