diff options
author | Tobias Weingartner <weingart@cvs.openbsd.org> | 1999-09-12 19:44:05 +0000 |
---|---|---|
committer | Tobias Weingartner <weingart@cvs.openbsd.org> | 1999-09-12 19:44:05 +0000 |
commit | 32244ca4856ee717e790f916e1bd1de8d9c56519 (patch) | |
tree | 6a7282ff12f33be3faf63824d43b2172adecf93e /sys/kern/init_main.c | |
parent | 32a51369368a4f765e6e4ea2d3e323b3d36ee4d8 (diff) |
Fix rootdev handling, use disk checksums to find the device we were booted
from. Hopefully this will fix all the hangs/panics where the root device
was not found.
Diffstat (limited to 'sys/kern/init_main.c')
-rw-r--r-- | sys/kern/init_main.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index b27d668fc31..da3da993f9c 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -1,4 +1,4 @@ -/* $OpenBSD: init_main.c,v 1.40 1999/08/17 10:32:18 niklas Exp $ */ +/* $OpenBSD: init_main.c,v 1.41 1999/09/12 19:44:04 weingart Exp $ */ /* $NetBSD: init_main.c,v 1.84.4.1 1996/06/02 09:08:06 mrg Exp $ */ /* @@ -123,6 +123,7 @@ struct proc *initproc; int cmask = CMASK; extern struct user *proc0paddr; +void (*md_diskconf) __P((void)) = NULL; struct vnode *rootvp, *swapdev_vp; int boothowto; struct timeval boottime; @@ -364,16 +365,9 @@ main(framep) roundrobin(NULL); schedcpu(NULL); -#ifdef i386 -#include "bios.h" -#if NBIOS - /* XXX This is only a transient solution */ - { - extern void dkcsumattach __P((void)); - dkcsumattach(); - } -#endif -#endif + /* Configure root/swap devices */ + if (md_diskconf) + (*md_diskconf)(); /* Mount the root file system. */ if (vfs_mountroot()) |