summaryrefslogtreecommitdiff
path: root/usr/src/uts/i86pc/os/mp_implfuncs.c
diff options
context:
space:
mode:
authorsmaybe <none@none>2007-11-27 17:41:22 -0800
committersmaybe <none@none>2007-11-27 17:41:22 -0800
commitb9bc7f7832704fda46b4d6b04f3f7be1227dc644 (patch)
treeb86d3afeba77cb1a12542e52ba2491fff6498678 /usr/src/uts/i86pc/os/mp_implfuncs.c
parent2aa4e9fd68943c3be9683b3d1a453ff1ed9258e5 (diff)
downloadillumos-gate-b9bc7f7832704fda46b4d6b04f3f7be1227dc644.tar.gz
6603803 assertion failed: !contig_pfnlist_locked, 2
6611846 after boot, all dom0 interrupts are targeting CPU 0 in a MP system 6612343 The fix for 6292092 and xvm dom0 not getting along 6616943 Attempting to boot the xVM kernel after installation panics b1600 blade 6634526 ::interrupts gives wrong info on i86xpv platform
Diffstat (limited to 'usr/src/uts/i86pc/os/mp_implfuncs.c')
-rw-r--r--usr/src/uts/i86pc/os/mp_implfuncs.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/usr/src/uts/i86pc/os/mp_implfuncs.c b/usr/src/uts/i86pc/os/mp_implfuncs.c
index 5ffbd7502a..ce96e0960f 100644
--- a/usr/src/uts/i86pc/os/mp_implfuncs.c
+++ b/usr/src/uts/i86pc/os/mp_implfuncs.c
@@ -393,19 +393,26 @@ psm_modload(void)
close_mach_list();
}
+#if defined(__xpv)
+#define NOTSUP_MSG "This version of Solaris xVM does not support this hardware"
+#else
+#define NOTSUP_MSG "This version of Solaris does not support this hardware"
+#endif /* __xpv */
+
void
psm_install(void)
{
struct psm_sw *swp, *cswp;
struct psm_ops *opsp;
char machstring[15];
- int err;
+ int err, psmcnt = 0;
mutex_enter(&psmsw_lock);
for (swp = psmsw->psw_forw; swp != psmsw; ) {
opsp = swp->psw_infop->p_ops;
if (opsp->psm_probe) {
if ((*opsp->psm_probe)() == PSM_SUCCESS) {
+ psmcnt++;
swp->psw_flag |= PSM_MOD_IDENTIFY;
swp = swp->psw_forw;
continue;
@@ -424,6 +431,8 @@ psm_install(void)
mutex_enter(&psmsw_lock);
}
mutex_exit(&psmsw_lock);
+ if (psmcnt == 0)
+ halt(NOTSUP_MSG);
(*psminitf)();
}