diff options
author | dmick <none@none> | 2005-10-28 16:41:18 -0700 |
---|---|---|
committer | dmick <none@none> | 2005-10-28 16:41:18 -0700 |
commit | 4961a63314eebd4f18c6cd68a7c33b9e16a38882 (patch) | |
tree | 1cf998277f0079c7e4c6937e277e98a7712c16aa /usr/src | |
parent | db194e27210d166c10116b0681469ae6aa0fdb64 (diff) | |
download | illumos-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.c | 15 | ||||
-rw-r--r-- | usr/src/uts/i86pc/os/pci_cfgspace.c | 6 | ||||
-rw-r--r-- | usr/src/uts/i86pc/os/startup.c | 13 |
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"); } |