Avoid pushing the region id into the PGD offset. Signed-off-by: Christoph Lameter Index: linux-2.6.18-mm3/arch/ia64/kernel/ivt.S =================================================================== --- linux-2.6.18-mm3.orig/arch/ia64/kernel/ivt.S 2006-10-09 13:40:26.320584078 -0700 +++ linux-2.6.18-mm3/arch/ia64/kernel/ivt.S 2006-10-09 13:44:13.213823817 -0700 @@ -435,10 +435,10 @@ ENTRY(nested_dtlb_miss) cmp.eq p6,p7=5,r17 // is faulting address in region 5? ;; add r22=-PAGE_SHIFT,r18 // adjustment for hugetlb address - add r18=PGDIR_SHIFT-PAGE_SHIFT,r18 + add r18=PGDIR_SHIFT-PAGE_SHIFT+3,r18 ;; shr.u r22=r16,r22 - shr.u r18=r16,r18 + shr.u r18=r21,r18 (p7) dep r17=r17,r19,(PAGE_SHIFT-3),3 // put region number bits in place srlz.d