diff options
author | Jason Downs <downsj@cvs.openbsd.org> | 1997-02-05 11:16:42 +0000 |
---|---|---|
committer | Jason Downs <downsj@cvs.openbsd.org> | 1997-02-05 11:16:42 +0000 |
commit | 5b889e887219a5c781e612d236c9059501015058 (patch) | |
tree | ddf5de90328cfae15a0b3bd9eefbaac7f6fd8052 /sys/arch/hp300/stand/inst.c | |
parent | 819c1557c21e2d7f9573bb311d52a0d5d1a7765a (diff) |
An 8k kernel may not be loaded at a 4k address, as the ROM supplies.
We align it to the the next 8k address, as per our 8k kernels.
(This ain't NetBSD, baby.)
Fixed with debugging help from niklas.
Diffstat (limited to 'sys/arch/hp300/stand/inst.c')
-rw-r--r-- | sys/arch/hp300/stand/inst.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/arch/hp300/stand/inst.c b/sys/arch/hp300/stand/inst.c index 4d1b1cfcd02..12be80246a1 100644 --- a/sys/arch/hp300/stand/inst.c +++ b/sys/arch/hp300/stand/inst.c @@ -1,4 +1,4 @@ -/* $OpenBSD: inst.c,v 1.1 1997/01/17 08:36:51 downsj Exp $ */ +/* $OpenBSD: inst.c,v 1.2 1997/02/05 11:16:37 downsj Exp $ */ /* $NetBSD: inst.c,v 1.6 1996/12/21 21:23:43 thorpej Exp $ */ /* @@ -60,6 +60,7 @@ #include <sys/param.h> #include <sys/reboot.h> #include <sys/disklabel.h> +#include <machine/exec.h> #include <a.out.h> #include "stand.h" #include "samachdep.h" @@ -109,7 +110,7 @@ main() printf("\n>> OpenBSD MINIROOT INSTALLATION HP9000/%s CPU\n", getmachineid()); - printf(">> $OpenBSD: inst.c,v 1.1 1997/01/17 08:36:51 downsj Exp $\n"); + printf(">> $OpenBSD: inst.c,v 1.2 1997/02/05 11:16:37 downsj Exp $\n"); gethelp(); for (;;) { @@ -630,7 +631,9 @@ bootmini() howto = RB_SINGLE; /* _Always_ */ printf("booting: %s -s\n", bootname); - exec(bootname, lowram, howto); +#define LOADALIGN(_x) ((u_long)_x + ((u_long)_x % __LDPGSZ)) + exec(bootname, (char *)LOADALIGN(lowram), howto); +#undef LOADALIGN printf("boot: %s\n", strerror(errno)); } |