Index: kernel/arch/ia64/src/mm/tlb.c
===================================================================
--- kernel/arch/ia64/src/mm/tlb.c	(revision d1e844029e7efa0c93a3a78b306a196e4af6da8f)
+++ kernel/arch/ia64/src/mm/tlb.c	(revision 7ad17dea03bb20f3ef07323ecf1acfc7034c9233)
@@ -113,6 +113,6 @@
 	va = page;
 	
-	rr.word = rr_read(VA2VRN(va));
-	if ((restore_rr = (rr.map.rid != ASID2RID(asid, VA2VRN(va))))) {
+	rr.word = rr_read(VA2VRN(page));
+	if ((restore_rr = (rr.map.rid != ASID2RID(asid, VA2VRN(page))))) {
 		/*
 		 * The selected region register does not contain required RID.
@@ -122,6 +122,6 @@
 		
 		rr0 = rr;
-		rr0.map.rid = ASID2RID(asid, VA2VRN(va));
-		rr_write(VA2VRN(va), rr0.word);
+		rr0.map.rid = ASID2RID(asid, VA2VRN(page));
+		rr_write(VA2VRN(page), rr0.word);
 		srlz_d();
 		srlz_i();
@@ -139,38 +139,38 @@
 	case 1: /* cnt 4 - 15 */
 		ps = PAGE_WIDTH + 2;
-		va &= ~((1 << ps) - 1);
+		va &= ~((1UL << ps) - 1);
 		break;
 	case 2: /* cnt 16 - 63 */
 		ps = PAGE_WIDTH + 4;
-		va &= ~((1 << ps) - 1);
+		va &= ~((1UL << ps) - 1);
 		break;
 	case 3: /* cnt 64 - 255 */
 		ps = PAGE_WIDTH + 6;
-		va &= ~((1 << ps) - 1);
+		va &= ~((1UL << ps) - 1);
 		break;
 	case 4: /* cnt 256 - 1023 */
 		ps = PAGE_WIDTH + 8;
-		va &= ~((1 << ps) - 1);
+		va &= ~((1UL << ps) - 1);
 		break;
 	case 5: /* cnt 1024 - 4095 */
 		ps = PAGE_WIDTH + 10;
-		va &= ~((1 << ps) - 1);
+		va &= ~((1UL << ps) - 1);
 		break;
 	case 6: /* cnt 4096 - 16383 */
 		ps = PAGE_WIDTH + 12;
-		va &= ~((1 << ps) - 1);
+		va &= ~((1UL << ps) - 1);
 		break;
 	case 7: /* cnt 16384 - 65535 */
 	case 8: /* cnt 65536 - (256K - 1) */
 		ps = PAGE_WIDTH + 14;
-		va &= ~((1 << ps) - 1);
+		va &= ~((1UL << ps) - 1);
 		break;
 	default:
 		ps = PAGE_WIDTH + 18;
-		va &= ~((1 << ps) - 1);
+		va &= ~((1UL << ps) - 1);
 		break;
 	}
 	
-	for (; va < (page + cnt * PAGE_SIZE); va += (1 << ps))
+	for (; va < (page + cnt * PAGE_SIZE); va += (1UL << ps))
 		asm volatile (
 			"ptc.l %[va], %[ps] ;;"
@@ -183,5 +183,5 @@
 	
 	if (restore_rr) {
-		rr_write(VA2VRN(va), rr.word);
+		rr_write(VA2VRN(page), rr.word);
 		srlz_d();
 		srlz_i();
