PERFORCE change 96141 for review

Kip Macy kmacy at FreeBSD.org
Wed Apr 26 05:56:58 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=96141

Change 96141 by kmacy at kmacy_storage:sun4v_rwbuf on 2006/04/26 05:56:20

	tsb_lookup_tte only called on kernel context anyway remove check
	SCRATCHPAD regs may be RMO - membar #Sync

Affected files ...

.. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/tsb.c#12 edit

Differences ...

==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/tsb.c#12 (text+ko) ====

@@ -168,7 +168,6 @@
 	tsb_index = (va >> tsb_shift) & TSB_MASK(tsb);
 	tsb_store_pa = tsb->hvtsb_pa + 2*tsb_index*sizeof(uint64_t);
 
-
 	store_real(tsb_store_pa, 0); 
 	store_real(tsb_store_pa + sizeof(uint64_t), 0);
 }
@@ -182,7 +181,7 @@
 	
 	tsb_mask = TSB_MASK(tsb);
 	tsb_shift = TTE_PAGE_SHIFT(tsb->hvtsb_idxpgsz);
-	
+
 	for (tva = sva; tva < eva; tva += PAGE_SIZE) {
 		tsb_index = (tva >> tsb_shift) & tsb_mask;
 		tsb_store_pa = tsb->hvtsb_pa + 2*tsb_index*sizeof(uint64_t);
@@ -190,6 +189,7 @@
 		store_real(tsb_store_pa, 0); 
 		store_real(tsb_store_pa + sizeof(uint64_t), 0);
 	}
+
 }
 
 tte_t
@@ -220,12 +220,12 @@
 	tte_t tte_data;
 
 	tte_data = 0;
-	if (ctx == 0) {
-		if ((tte_data = tsb_get_tte(&kernel_td[TSB4M_INDEX], va)) != 0)
-			goto done;
-		if ((tte_data = tsb_get_tte(&kernel_td[TSB8K_INDEX], va)) != 0)
-			goto done;
-	}
+
+	if ((tte_data = tsb_get_tte(&kernel_td[TSB4M_INDEX], va)) != 0)
+		goto done;
+	if ((tte_data = tsb_get_tte(&kernel_td[TSB8K_INDEX], va)) != 0)
+		goto done;
+
 	/*
 	 * handle user data 
 	 */
@@ -241,6 +241,7 @@
 	tsb_scratch = tsb->hvtsb_pa | tsb_pages;
 	
 	set_tsb_kernel_scratchpad(tsb_scratch);
+	membar(Sync);
 	return tsb_scratch;
 }
 
@@ -251,6 +252,6 @@
 	tsb_pages = tsb->hvtsb_ntte >> (PAGE_SHIFT - TTE_SHIFT);
 	tsb_scratch = tsb->hvtsb_pa | tsb_pages;
 	set_tsb_user_scratchpad(tsb_scratch);
-	
+	membar(Sync);
 	return tsb_scratch;
 }


More information about the p4-projects mailing list