summaryrefslogtreecommitdiff
path: root/sys/kern/init_main.c
diff options
context:
space:
mode:
authorTobias Weingartner <weingart@cvs.openbsd.org>1999-09-12 19:44:05 +0000
committerTobias Weingartner <weingart@cvs.openbsd.org>1999-09-12 19:44:05 +0000
commit32244ca4856ee717e790f916e1bd1de8d9c56519 (patch)
tree6a7282ff12f33be3faf63824d43b2172adecf93e /sys/kern/init_main.c
parent32a51369368a4f765e6e4ea2d3e323b3d36ee4d8 (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.c16
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())