Index: linux-2.6.17-rc1/include/asm-ia64/pgtable.h =================================================================== --- linux-2.6.17-rc1.orig/include/asm-ia64/pgtable.h 2006-04-02 20:22:10.000000000 -0700 +++ linux-2.6.17-rc1/include/asm-ia64/pgtable.h 2006-04-06 10:46:45.000000000 -0700 @@ -267,8 +267,9 @@ ia64_phys_addr_valid (unsigned long addr (__pte((pte_val(_pte) & ~_PAGE_CHG_MASK) | (pgprot_val(newprot) & _PAGE_CHG_MASK))) #define pte_none(pte) (!pte_val(pte)) -#define pte_present(pte) (pte_val(pte) & (_PAGE_P | _PAGE_PROTNONE)) +#define pte_present(pte) (pte_val(pte) & _PAGE_PROTNONE) #define pte_clear(mm,addr,pte) (pte_val(*(pte)) = 0UL) +#define pte_disabled(pte) ((pte_val(pte) & (_PAGE_P | _PAGE_PROTNONE) == _PAGE_PROTNONE) /* pte_page() returns the "struct page *" corresponding to the PTE: */ #define pte_page(pte) virt_to_page(((pte_val(pte) & _PFN_MASK) + PAGE_OFFSET)) @@ -443,6 +444,16 @@ ptep_set_wrprotect(struct mm_struct *mm, #endif } +static inline ptep_disable(pte_t *ptep) +{ + clear_bit(ptep, _PAGE_P); +} + +static inline ptep_enable(pte_t *ptep) +{ + set_bit(ptep, _PAGE_P); +} + static inline int pte_same (pte_t a, pte_t b) { Index: linux-2.6.17-rc1/arch/ia64/Kconfig =================================================================== --- linux-2.6.17-rc1.orig/arch/ia64/Kconfig 2006-04-02 20:22:10.000000000 -0700 +++ linux-2.6.17-rc1/arch/ia64/Kconfig 2006-04-06 10:46:45.000000000 -0700 @@ -373,6 +373,9 @@ config HAVE_ARCH_EARLY_PFN_TO_NID def_bool y depends on NEED_MULTIPLE_NODES +config HAVE_PTE_OFF + def_bool y + config IA32_SUPPORT bool "Support for Linux/x86 binaries" help