4960249 sun4u startup code abuses cmn_err() in places
authorjesusm
Mon, 09 Jul 2007 09:05:11 -0700
changeset 4610 9a1f29e24fe7
parent 4609 ff56a60c640d
child 4611 0960c3336815
4960249 sun4u startup code abuses cmn_err() in places
usr/src/uts/sun4/vm/sfmmu.c
--- a/usr/src/uts/sun4/vm/sfmmu.c	Mon Jul 09 01:55:54 2007 -0700
+++ b/usr/src/uts/sun4/vm/sfmmu.c	Mon Jul 09 09:05:11 2007 -0700
@@ -259,6 +259,7 @@
 	uint_t	attr;
 	page_t *pp;
 	extern struct memlist *virt_avail;
+	char buf[256];
 
 	ttep = &tte;
 	for (i = 0, promt = trans_root; i < ntrans_root; i++, promt++) {
@@ -283,7 +284,8 @@
 			 * because a user process might use the same
 			 * virtual addresses
 			 */
-			cmn_err(CE_PANIC, "map_prom: global translation");
+			prom_panic("sfmmu_map_prom_mappings: global"
+			    " translation");
 			TTE_SET_LOFLAGS(ttep, TTE_GLB_INT, 0);
 		}
 #endif
@@ -309,20 +311,21 @@
 			 */
 			if (address_in_memlist(virt_avail, (uint64_t)vaddr,
 			    size)) {
-				cmn_err(CE_PANIC, "map_prom: inconsistent "
-				    "translation/avail lists");
+				prom_panic("sfmmu_map_prom_mappings:"
+				    " inconsistent translation/avail lists");
 			}
 
 			pfn = basepfn + mmu_btop(offset);
 			if (pf_is_memory(pfn)) {
 				if (attr & SFMMU_UNCACHEPTTE) {
-					cmn_err(CE_PANIC, "map_prom: "
-					    "uncached prom memory page");
+					prom_panic("sfmmu_map_prom_mappings:"
+					    " uncached prom memory page");
 				}
 			} else {
 				if (!(attr & SFMMU_SIDEFFECT)) {
-					cmn_err(CE_PANIC, "map_prom: prom "
-					    "i/o page without side-effect");
+					prom_panic("sfmmu_map_prom_mappings:"
+					    " prom i/o page without"
+					    " side-effect");
 				}
 			}
 
@@ -332,15 +335,15 @@
 			if (vaddr >= kmem64_base &&
 			    vaddr < kmem64_aligned_end) {
 #if !defined(C_OBP)
-				cmn_err(CE_PANIC,
-				    "unexpected kmem64 prom mapping\n");
+				prom_panic("sfmmu_map_prom_mappings:"
+				    " unexpected kmem64 prom mapping");
 #else	/* !C_OBP */
 				size_t mapsz;
 
 				if (ptob(pfn) !=
 				    kmem64_pabase + (vaddr - kmem64_base)) {
-					cmn_err(CE_PANIC,
-					    "unexpected kmem64 prom mapping\n");
+					prom_panic("sfmmu_map_prom_mappings:"
+					    " unexpected kmem64 prom mapping");
 				}
 
 				mapsz = kmem64_aligned_end - vaddr;
@@ -363,11 +366,12 @@
 				 * Verify they are equal
 				 */
 				if (pfn != oldpfn) {
-					cmn_err(CE_PANIC, "map_prom: mapping "
-					    "conflict (va=0x%p pfn=%p, "
-					    "oldpfn=%p)",
-					    (void *)vaddr, (void *)pfn,
-					    (void *)oldpfn);
+					(void) snprintf(buf, sizeof (buf),
+					"sfmmu_map_prom_mappings: mapping"
+					" conflict (va = 0x%p, pfn = 0x%p,"
+					" oldpfn = 0x%p)", (void *)vaddr,
+					    (void *)pfn, (void *)oldpfn);
+					prom_panic(buf);
 				}
 				size -= MMU_PAGESIZE;
 				offset += MMU_PAGESIZE;
@@ -376,9 +380,11 @@
 
 			pp = page_numtopp_nolock(pfn);
 			if ((pp != NULL) && PP_ISFREE((page_t *)pp)) {
-				cmn_err(CE_PANIC, "map_prom: "
-				    "prom-mapped page (va 0x%p, pfn 0x%p) "
-				    "on free list", (void *)vaddr, (void *)pfn);
+				(void) snprintf(buf, sizeof (buf),
+				"sfmmu_map_prom_mappings: prom-mapped"
+				" page (va = 0x%p, pfn = 0x%p) on free list",
+				    (void *)vaddr, (void *)pfn);
+				prom_panic(buf);
 			}
 
 			sfmmu_memtte(ttep, pfn, attr, TTE8K);
@@ -417,7 +423,7 @@
 		}
 		map_prom_lpcount[pszc] =
 		    ((caddr_t)P2ROUNDUP((uintptr_t)kmem64_end, psize) -
-			kmem64_base) >> TTE_PAGE_SHIFT(pszc);
+		    kmem64_base) >> TTE_PAGE_SHIFT(pszc);
 	}
 }