# HG changeset patch # User dmick # Date 1130542878 25200 # Node ID 8a222da2fa5b412306f0671c954e12b283d7ab3b # Parent eaf101a818a3566ffcc15b03eea65aab698f09b4 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 diff -r eaf101a818a3 -r 8a222da2fa5b usr/src/uts/i86pc/os/mlsetup.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 */ diff -r eaf101a818a3 -r 8a222da2fa5b usr/src/uts/i86pc/os/pci_cfgspace.c --- 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 -#include #include #include #include @@ -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: /* ?!? */ diff -r eaf101a818a3 -r 8a222da2fa5b usr/src/uts/i86pc/os/startup.c --- 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"); }