diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 1999-08-14 03:17:33 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 1999-08-14 03:17:33 +0000 |
commit | e8713b658c97f6b1b033123638be491a422ffcb5 (patch) | |
tree | c61d186e8de4f3e64702614127467688ffcd9826 /sys/arch | |
parent | ad6ca5ca81bec5c7df594f70dba855513f595e95 (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.c | 9 |
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)(); } /* |