Index: kernel/arch/sparc64/src/mm/tsb.c
===================================================================
--- kernel/arch/sparc64/src/mm/tsb.c	(revision 7e2432b13acde1860669f1993aa5f12c4bbd72df)
+++ kernel/arch/sparc64/src/mm/tsb.c	(revision 563c2ddc4c2e228951de3522875152bb1cf8dc51)
@@ -62,5 +62,8 @@
 	
 	i0 = (page >> MMU_PAGE_WIDTH) & TSB_INDEX_MASK;
-	cnt = min(pages * MMU_PAGES_PER_PAGE, ITSB_ENTRY_COUNT);
+	if (pages == (count_t) -1 || (pages * 2) > ITSB_ENTRY_COUNT)
+		cnt = ITSB_ENTRY_COUNT;
+	else
+		cnt = pages * 2;
 	
 	for (i = 0; i < cnt; i++) {
@@ -158,5 +161,5 @@
 	write_barrier();
 	
-	tsb->tag.invalid = true;	/* mark the entry as valid */
+	tsb->tag.invalid = false;	/* mark the entry as valid */
 }
 
