summaryrefslogtreecommitdiff
path: root/sys/arch/hp300/stand/inst.c
diff options
context:
space:
mode:
authorJason Downs <downsj@cvs.openbsd.org>1997-02-05 11:16:42 +0000
committerJason Downs <downsj@cvs.openbsd.org>1997-02-05 11:16:42 +0000
commit5b889e887219a5c781e612d236c9059501015058 (patch)
treeddf5de90328cfae15a0b3bd9eefbaac7f6fd8052 /sys/arch/hp300/stand/inst.c
parent819c1557c21e2d7f9573bb311d52a0d5d1a7765a (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.c9
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));
}