summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>1999-08-14 03:17:33 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>1999-08-14 03:17:33 +0000
commite8713b658c97f6b1b033123638be491a422ffcb5 (patch)
treec61d186e8de4f3e64702614127467688ffcd9826 /sys/arch
parentad6ca5ca81bec5c7df594f70dba855513f595e95 (diff)
enable interrupts after device configuration, provide cold_hook() for things like lasi to enable power management
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/hppa/hppa/autoconf.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/arch/hppa/hppa/autoconf.c b/sys/arch/hppa/hppa/autoconf.c
index 059ed92fd22..3b8fc37679e 100644
--- a/sys/arch/hppa/hppa/autoconf.c
+++ b/sys/arch/hppa/hppa/autoconf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: autoconf.c,v 1.4 1999/06/22 23:45:04 mickey Exp $ */
+/* $OpenBSD: autoconf.c,v 1.5 1999/08/14 03:17:32 mickey Exp $ */
/*
* Copyright (c) 1998 Michael Shalayeff
@@ -67,6 +67,7 @@ void dumpconf __P((void));
static int findblkmajor __P((struct device *dv));
+void (*cold_hook) __P((void)); /* see below */
/*
* configure:
@@ -80,13 +81,17 @@ configure()
splhigh();
if (config_rootfound("mainbus", "mainbus") == NULL)
panic("no mainbus found");
+ /* in spl*() we trust */
spl0();
-
+ __asm __volatile("nop\n\tnop\n\tssm %0, %%r0\n\tnop\n\tnop\n\tnop"
+ :: "i" (PSW_I));
setroot();
swapconf();
dumpconf();
cold = 0;
+ if (cold_hook)
+ (*cold_hook)();
}
/*