diff options
| author | 2015-03-05 20:46:13 +0000 | |
|---|---|---|
| committer | 2015-03-05 20:46:13 +0000 | |
| commit | f7a56517ca307b98e3f230654c34a7574a357c78 (patch) | |
| tree | 47f4298ee1b0d3fdea250058c7b165c6aaf4caf4 | |
| parent | Do not use sha512-parisc for now, as it is subtly bugged - passes the sha (diff) | |
| download | wireguard-openbsd-f7a56517ca307b98e3f230654c34a7574a357c78.tar.xz wireguard-openbsd-f7a56517ca307b98e3f230654c34a7574a357c78.zip | |
When running on a sun4d or sun4m system, have the bootblocks ask for one
more megabyte of virtual memory beyond the kernel image; this is safe to do
as you can't find any such system with less than 8MB of contiguous memory.
While nothing in the kernel has a need for that extra memory to be available
to the kernel for its bootstrap needs, forthcoming changes (post-5.7) will
need it, and these kernels won't work when booted from boot loaders prior to
this change. By shipping 5.7 with updated boot blocks, we'll make upgrading
to 5.7-CURRENT easier for sun4m owners, when the time comes.
Crank boot blocks version.
ok deraadt@
| -rw-r--r-- | sys/arch/sparc/stand/boot/boot.c | 8 | ||||
| -rw-r--r-- | sys/arch/sparc/stand/common/version.c | 6 |
2 files changed, 9 insertions, 5 deletions
diff --git a/sys/arch/sparc/stand/boot/boot.c b/sys/arch/sparc/stand/boot/boot.c index a5f80f0268d..35a41cd5a8d 100644 --- a/sys/arch/sparc/stand/boot/boot.c +++ b/sys/arch/sparc/stand/boot/boot.c @@ -1,4 +1,4 @@ -/* $OpenBSD: boot.c,v 1.12 2014/03/30 19:48:04 miod Exp $ */ +/* $OpenBSD: boot.c,v 1.13 2015/03/05 20:46:13 miod Exp $ */ /* $NetBSD: boot.c,v 1.2 1997/09/14 19:27:21 pk Exp $ */ /*- @@ -161,7 +161,7 @@ loadk(char *file, u_long *marks) /* * Regardless of the address where we load the kernel, we need to * make sure it has enough valid space to use during pmap_bootstrap. - * locore.s tries to map the 512KB following the kernel image, and + * locore.s tries to use the 512KB following the kernel image, and * we need to make sure this extra room does not overwrite PROM data * (such as the PROM page tables which are immediately below 4MB on * most sun4c). @@ -242,8 +242,10 @@ loadk(char *file, u_long *marks) * breathing room after it. */ size = minsize + extra; + if (CPU_ISSUN4M || CPU_ISSUN4D) + size += 1024 * 1024; if (compat != 0) { - if (minsize + extra <= RELOC2 - LOWSTACK) + if (size <= RELOC2 - LOWSTACK) size = RELOC2 - LOWSTACK; else compat = 0; diff --git a/sys/arch/sparc/stand/common/version.c b/sys/arch/sparc/stand/common/version.c index 177a2d3c4a9..a65f48c19aa 100644 --- a/sys/arch/sparc/stand/common/version.c +++ b/sys/arch/sparc/stand/common/version.c @@ -1,4 +1,4 @@ -/* $OpenBSD: version.c,v 1.10 2015/01/11 18:10:33 miod Exp $ */ +/* $OpenBSD: version.c,v 1.11 2015/03/05 20:46:13 miod Exp $ */ /* $NetBSD: version.c,v 1.4 1995/09/16 23:20:39 pk Exp $ */ /* @@ -50,6 +50,8 @@ * 2.7 /etc/random.seed support * 2.8 Fix network boot broken on some PROM by the 2.7 changes * 2.9 Cope with DMA transfer size limits of old sun4 PROMs + * 2.10 Allocate more memory beyond the kernel image on sun4d/sun4m + * systems to allow for larger kernel page tables */ -char *version = "2.9"; +char *version = "2.10"; |
