On Mon, Oct 25, 2004 at 09:23:50AM +0200, Andreas Kleen wrote: > 4level support for sh > > Converted, but doesn't compile for other reasons > > Signed-off-by: Andi Kleen > I'll see about fixing up the build. On another note, it looks like these got grouped in accidentally: > diff -urpN -X ../KDIFX linux-2.6.10rc1/drivers/macintosh/via-pmu.c linux-2.6.10rc1-4level/drivers/macintosh/via-pmu.c > --- linux-2.6.10rc1/drivers/macintosh/via-pmu.c 2004-10-19 01:55:14.000000000 +0200 > +++ linux-2.6.10rc1-4level/drivers/macintosh/via-pmu.c 2004-10-25 04:48:10.000000000 +0200 > @@ -2504,7 +2504,7 @@ powerbook_sleep_grackle(void) > _set_L2CR(save_l2cr); > > /* Restore userland MMU context */ > - set_context(current->active_mm->context, current->active_mm->pgd); > + set_context(current->active_mm->context, (pml4_t *)current->active_mm->pml4); > > /* Power things up */ > pmu_unlock(); > @@ -2604,7 +2604,7 @@ powerbook_sleep_Core99(void) > _set_L3CR(save_l3cr); > > /* Restore userland MMU context */ > - set_context(current->active_mm->context, current->active_mm->pgd); > + set_context(current->active_mm->context, (pgd_t *)current->active_mm->pml4); > > /* Tell PMU we are ready */ > pmu_unlock(); > diff -urpN -X ../KDIFX linux-2.6.10rc1/include/asm-parisc/cacheflush.h linux-2.6.10rc1-4level/include/asm-parisc/cacheflush.h > --- linux-2.6.10rc1/include/asm-parisc/cacheflush.h 2004-10-19 01:55:33.000000000 +0200 > +++ linux-2.6.10rc1-4level/include/asm-parisc/cacheflush.h 2004-10-25 04:48:10.000000000 +0200 > @@ -113,7 +113,7 @@ static inline void flush_cache_range(str > static inline pte_t *__translation_exists(struct mm_struct *mm, > unsigned long addr) > { > - pgd_t *pgd = pgd_offset(mm, addr); > + pgd_t *pgd = pml4_pgd_offset(pml4_offset(mm, addr), addr); > pmd_t *pmd; > pte_t *pte; > > @@ -155,7 +155,7 @@ flush_user_cache_page_non_current(struct > preempt_disable(); > > /* make us current */ > - mtctl(__pa(vma->vm_mm->pgd), 25); > + mtctl(__pa(vma->vm_mm->pml4), 25); > mtsp(vma->vm_mm->context, 3); > > flush_user_dcache_page(vmaddr); > diff -urpN -X ../KDIFX linux-2.6.10rc1/include/asm-s390/tlbflush.h linux-2.6.10rc1-4level/include/asm-s390/tlbflush.h > --- linux-2.6.10rc1/include/asm-s390/tlbflush.h 2004-03-21 21:11:56.000000000 +0100 > +++ linux-2.6.10rc1-4level/include/asm-s390/tlbflush.h 2004-10-25 04:48:10.000000000 +0200 > @@ -105,7 +105,7 @@ static inline void __flush_tlb_mm(struct > if (MACHINE_HAS_IDTE) { > asm volatile (".insn rrf,0xb98e0000,0,%0,%1,0" > : : "a" (2048), > - "a" (__pa(mm->pgd)&PAGE_MASK) : "cc" ); > + "a" (__pa(mm->pml4)&PAGE_MASK) : "cc" ); > return; > } > preempt_disable();