aboutsummaryrefslogtreecommitdiff
path: root/sys/alpha
diff options
context:
space:
mode:
authorAndrew Gallatin <gallatin@FreeBSD.org>2000-05-11 13:31:05 +0000
committerAndrew Gallatin <gallatin@FreeBSD.org>2000-05-11 13:31:05 +0000
commita60dc62ec7443df4a832cf4f8a960a37ee7dafc0 (patch)
treebc7fde194ac9179ef183bfb3a179e0999aef155a /sys/alpha
parent60245e42b0f8eae5d3eac87f1c204ae510b8c547 (diff)
downloadsrc-a60dc62ec7443df4a832cf4f8a960a37ee7dafc0.tar.gz
src-a60dc62ec7443df4a832cf4f8a960a37ee7dafc0.zip
Some white-box (NT) systems have SRM which reports a systype that's
the negative of their blue-box (UNIX/OVMS) counterpart. This was causing us to panic early in the boot process because we weren't expecting a negative index into the cpuinit[] array. Obtained from: NetBSD Reported by: Brett Bump <bbump@mail.enetis.net>
Notes
Notes: svn path=/head/; revision=60377
Diffstat (limited to 'sys/alpha')
-rw-r--r--sys/alpha/alpha/machdep.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/alpha/alpha/machdep.c b/sys/alpha/alpha/machdep.c
index 8855858a52fb..1f94697dd2e1 100644
--- a/sys/alpha/alpha/machdep.c
+++ b/sys/alpha/alpha/machdep.c
@@ -725,6 +725,14 @@ alpha_init(pfn, ptb, bim, bip, biv)
* Find out what hardware we're on, and do basic initialization.
*/
cputype = hwrpb->rpb_type;
+ if (cputype < 0) {
+ /*
+ * At least some white-box (NT) systems have SRM which
+ * reports a systype that's the negative of their
+ * blue-box (UNIX/OVMS) counterpart.
+ */
+ cputype = -cputype;
+ }
if (cputype >= ncpuinit) {
platform_not_supported(cputype);
/* NOTREACHED */