summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authordmick <none@none>2005-10-28 16:41:18 -0700
committerdmick <none@none>2005-10-28 16:41:18 -0700
commit4961a63314eebd4f18c6cd68a7c33b9e16a38882 (patch)
tree1cf998277f0079c7e4c6937e277e98a7712c16aa /usr/src
parentdb194e27210d166c10116b0681469ae6aa0fdb64 (diff)
downloadillumos-gate-4961a63314eebd4f18c6cd68a7c33b9e16a38882.tar.gz
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
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/i86pc/os/mlsetup.c15
-rw-r--r--usr/src/uts/i86pc/os/pci_cfgspace.c6
-rw-r--r--usr/src/uts/i86pc/os/startup.c13
3 files changed, 15 insertions, 19 deletions
diff --git a/usr/src/uts/i86pc/os/mlsetup.c b/usr/src/uts/i86pc/os/mlsetup.c
index 070ac0331c..5118e61495 100644
--- a/usr/src/uts/i86pc/os/mlsetup.c
+++ b/usr/src/uts/i86pc/os/mlsetup.c
@@ -88,6 +88,14 @@ extern uint32_t cpuid_feature_edx_include;
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 @@ mlsetup(struct regs *rp)
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
*/
diff --git a/usr/src/uts/i86pc/os/pci_cfgspace.c b/usr/src/uts/i86pc/os/pci_cfgspace.c
index fdd9f83ec5..cc811bbc63 100644
--- a/usr/src/uts/i86pc/os/pci_cfgspace.c
+++ b/usr/src/uts/i86pc/os/pci_cfgspace.c
@@ -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 @@ pci_check(void)
break;
default:
- /* Not sure what to do here. */
- cmn_err(CE_WARN, "pci: Unknown configuration type");
return (FALSE);
}
@@ -195,9 +192,6 @@ pci_check_bios(void)
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: /* ?!? */
diff --git a/usr/src/uts/i86pc/os/startup.c b/usr/src/uts/i86pc/os/startup.c
index 09d63c7d8c..bb2bff8438 100644
--- a/usr/src/uts/i86pc/os/startup.c
+++ b/usr/src/uts/i86pc/os/startup.c
@@ -429,14 +429,6 @@ static pgcnt_t kphysm_init(page_t *, struct memseg *, pgcnt_t, pgcnt_t);
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 @@ startup_init()
"of Solaris.");
}
- /*
- * Set up dummy values till psm spl code installed
- */
- CPU->cpu_pri_data = dummy_cpu_pri;
-
PRM_POINT("startup_init() done");
}