summaryrefslogtreecommitdiffstats
path: root/sys/kern/init_main.c
diff options
context:
space:
mode:
authorweingart <weingart@openbsd.org>1999-09-12 19:44:04 +0000
committerweingart <weingart@openbsd.org>1999-09-12 19:44:04 +0000
commit3d7db067cecde07150da1244416a4651f207b022 (patch)
tree8a73d6d6991f32e9913a6229a1e4d331faf47323 /sys/kern/init_main.c
parentregen (diff)
downloadwireguard-openbsd-3d7db067cecde07150da1244416a4651f207b022.tar.xz
wireguard-openbsd-3d7db067cecde07150da1244416a4651f207b022.zip
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())