read superblock into &sblock rather than LOADADDR. we can't read

into LOADADDR because it can't be mapped into DVMA space.   this fixes
a dvma panic on a sun4 boot from an xd disk.
This commit is contained in:
chuck 1995-09-18 20:24:53 +00:00
parent 24ba08adca
commit 05f929580f

View File

@ -1,4 +1,4 @@
/* $NetBSD: bootxx.c,v 1.4 1995/09/16 23:20:27 pk Exp $ */ /* $NetBSD: bootxx.c,v 1.5 1995/09/18 20:24:53 chuck Exp $ */
/* /*
* Copyright (c) 1994 Paul Kranenburg * Copyright (c) 1994 Paul Kranenburg
@ -77,10 +77,9 @@ main()
*/ */
if ((io.f_dev->dv_strategy)(io.f_devdata, F_READ, if ((io.f_dev->dv_strategy)(io.f_devdata, F_READ,
btodb(SBOFF), SBSIZE, btodb(SBOFF), SBSIZE,
(char *)LOADADDR, &n) || n != SBSIZE) { (char *)&sblock, &n) || n != SBSIZE) {
panic("%s: can't read superblock", progname); panic("%s: can't read superblock", progname);
} }
bcopy(LOADADDR, sblock, SBSIZE);
fs = (struct fs *)sblock; fs = (struct fs *)sblock;
(void)loadboot(&io, LOADADDR); (void)loadboot(&io, LOADADDR);