6343446 Very early calls to cmn_err() can cause problems
authordmick
Fri, 28 Oct 2005 16:41:18 -0700
changeset 783 8a222da2fa5b
parent 782 eaf101a818a3
child 784 0b5569508ac8
6343446 Very early calls to cmn_err() can cause problems 6343055 cpu_pri_data is not set until startup_init(); means amd64 can't splx() until then
usr/src/uts/i86pc/os/mlsetup.c
usr/src/uts/i86pc/os/pci_cfgspace.c
usr/src/uts/i86pc/os/startup.c
--- a/usr/src/uts/i86pc/os/mlsetup.c	Fri Oct 28 16:32:14 2005 -0700
+++ b/usr/src/uts/i86pc/os/mlsetup.c	Fri Oct 28 16:41:18 2005 -0700
@@ -88,6 +88,14 @@
 extern uint32_t cpuid_feature_edx_exclude;
 
 /*
+ * Dummy spl priority masks
+ */
+static unsigned char	dummy_cpu_pri[MAXIPL + 1] = {
+	0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
+	0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf
+};
+
+/*
  * External Routines:
  */
 
@@ -150,6 +158,13 @@
 	cpu[0]->cpu_self = cpu[0];
 
 	/*
+	 * Set up dummy cpu_pri_data values till psm spl code is
+	 * installed.  This allows splx() to work on amd64.
+	 */
+
+	cpu[0]->cpu_pri_data = dummy_cpu_pri;
+
+	/*
 	 * check if we've got special bits to clear or set
 	 * when checking cpu features
 	 */
--- a/usr/src/uts/i86pc/os/pci_cfgspace.c	Fri Oct 28 16:32:14 2005 -0700
+++ b/usr/src/uts/i86pc/os/pci_cfgspace.c	Fri Oct 28 16:41:18 2005 -0700
@@ -31,7 +31,6 @@
  */
 
 #include <sys/systm.h>
-#include <sys/cmn_err.h>
 #include <sys/psw.h>
 #include <sys/bootconf.h>
 #include <sys/reboot.h>
@@ -157,8 +156,6 @@
 		break;
 
 	default:
-		/* Not sure what to do here. */
-		cmn_err(CE_WARN, "pci:  Unknown configuration type");
 		return (FALSE);
 	}
 
@@ -195,9 +192,6 @@
 	pci_bios_mech = (ax & 0x3);
 	pci_bios_vers = regs.ebx.word.bx;
 	pci_bios_nbus = (regs.ecx.word.cx & 0xff);
-	if (boothowto & RB_VERBOSE)
-		cmn_err(CE_CONT, "PCI probe mech %x, version 0x%x, # busses %d",
-		    pci_bios_mech, pci_bios_vers, pci_bios_nbus);
 
 	switch (pci_bios_mech) {
 	default:	/* ?!? */
--- a/usr/src/uts/i86pc/os/startup.c	Fri Oct 28 16:32:14 2005 -0700
+++ b/usr/src/uts/i86pc/os/startup.c	Fri Oct 28 16:41:18 2005 -0700
@@ -429,14 +429,6 @@
 
 void init_intr_threads(struct cpu *);
 
-/*
- * Dummy spl priority masks
- */
-static unsigned char	dummy_cpu_pri[MAXIPL + 1] = {
-	0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
-	0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf
-};
-
 /* real-time-clock initialization parameters */
 long gmt_lag;		/* offset in seconds of gmt to local time */
 extern long process_rtc_config_file(void);
@@ -650,11 +642,6 @@
 		    "of Solaris.");
 	}
 
-	/*
-	 * Set up dummy values till psm spl code installed
-	 */
-	CPU->cpu_pri_data = dummy_cpu_pri;
-
 	PRM_POINT("startup_init() done");
 }