Index: kernel/arch/sparc64/src/cpu/cpu.c
===================================================================
--- kernel/arch/sparc64/src/cpu/cpu.c	(revision 45b26dad9e99feac8777a9787b017301df054794)
+++ kernel/arch/sparc64/src/cpu/cpu.c	(revision 8d4a5772bb8975bd74b05c14ebf01c08c7cd18ef)
@@ -51,4 +51,6 @@
 	
 	upa_config.value = upa_config_read();
+	CPU->arch.mid = upa_config.mid;
+	
 	node = ofw_tree_find_child_by_device_type(ofw_tree_lookup("/"), "cpu");
 	while (node) {
@@ -58,5 +60,5 @@
 		if (prop && prop->value) {
 			mid = *((uint32_t *) prop->value);
-			if (mid == upa_config.mid) {
+			if (mid == CPU->arch.mid) {
 				prop = ofw_tree_getprop(node, "clock-frequency");
 				if (prop && prop->value)
@@ -79,4 +81,6 @@
 /** Print version information for a processor.
  *
+ * This function is called by the bootstrap processor.
+ *
  * @param m Processor structure of the CPU for which version information is to be printed.
  */
@@ -85,15 +89,15 @@
 	char *manuf, *impl;
 
-	switch (CPU->arch.ver.manuf) {
-	    case MANUF_FUJITSU:
+	switch (m->arch.ver.manuf) {
+	case MANUF_FUJITSU:
 		manuf = "Fujitsu";
 		break;
-	    case MANUF_ULTRASPARC:
+	case MANUF_ULTRASPARC:
 		manuf = "UltraSPARC";
 		break;
-	    case MANUF_SUN:
+	case MANUF_SUN:
 	    	manuf = "Sun";
 		break;
-	    default:
+	default:
 		manuf = "Unknown";
 		break;
@@ -101,26 +105,26 @@
 	
 	switch (CPU->arch.ver.impl) {
-	    case IMPL_ULTRASPARCI:
+	case IMPL_ULTRASPARCI:
 		impl = "UltraSPARC I";
 		break;
-	    case IMPL_ULTRASPARCII:
+	case IMPL_ULTRASPARCII:
 		impl = "UltraSPARC II";
 		break;
-	    case IMPL_ULTRASPARCII_I:
+	case IMPL_ULTRASPARCII_I:
 		impl = "UltraSPARC IIi";
 		break;
-	    case IMPL_ULTRASPARCII_E:
+	case IMPL_ULTRASPARCII_E:
 		impl = "UltraSPARC IIe";
 		break;
-	    case IMPL_ULTRASPARCIII:
+	case IMPL_ULTRASPARCIII:
 		impl = "UltraSPARC III";
 		break;
-	    case IMPL_ULTRASPARCIV_PLUS:
+	case IMPL_ULTRASPARCIV_PLUS:
 		impl = "UltraSPARC IV+";
 		break;
-	    case IMPL_SPARC64V:
+	case IMPL_SPARC64V:
 		impl = "SPARC 64V";
 		break;
-	    default:
+	default:
 		impl = "Unknown";
 		break;
@@ -128,5 +132,5 @@
 
 	printf("cpu%d: manuf=%s, impl=%s, mask=%d (%dMHz)\n",
-		CPU->id, manuf, impl, CPU->arch.ver.mask, CPU->arch.clock_frequency/1000000);
+		m->id, manuf, impl, m->arch.ver.mask, m->arch.clock_frequency/1000000);
 }
 
