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
--- 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");
}