Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

boot issue on NetBSD/vax 8.x and 9.x



> On 1/23/23 13:09, Izumi Tsutsui wrote:
> > I've managed to port gpx(4) color framebuffer driver from OpenBSD/vax
> >   https://man.openbsd.org/OpenBSD-5.8/vax/gpx.4
> > and it just works at least on my VAXstation 3100/m30.
> > (just ~4 hours work)
> 
>    Nice!  LSSM just received a small stack of VAXstation-3100s, 
> including a brand new in the box 3100-m38 (!), we'll certainly run this. 

Note there was a report that /boot bootloaders both NetBSD 9.1 and 8.2
didn't work on VAXstation 3100m38:
 https://mail-index.netbsd.org/port-vax/2020/11/15/msg003747.html

I've investigated this problem today, and it turns out
that vax bootloader is too large for 8 MB machines.

In netbsd-8 days, bootloader has been changed to be loaded at 0x7f0000
to make kernels larger than 4 MB work:
 https://mail-index.netbsd.org/source-changes/2018/03/22/msg093548.html

--- src/sys/arch/vax/boot/Makefile.inc	2016/03/13 17:48:53	1.17
+++ src/sys/arch/vax/boot/Makefile.inc	2018/03/22 08:58:56	1.18
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.inc,v 1.17 2016/03/13 17:48:53 christos Exp $
+#	$NetBSD: Makefile.inc,v 1.18 2018/03/22 08:58:56 ragge Exp $
 
 NOSSP=
 NOFORTIFY=
@@ -7,7 +7,7 @@ NODEBUG=
 
 .include <bsd.klinks.mk>
 
-RELOC=0x3f0000
+RELOC=0x7f0000
 .PATH:	${.CURDIR}/../../vax ${.CURDIR}/../common
 
 CPPFLAGS+=-I.
---

But even in netbsd-8 /boot including BSS is larger than 64KB (0x10000):

obj.vax/boot.sym  :
section       size       addr
.text       0xd608   0x7f0000
.rodata     0x18f2   0x7fd608
.data        0x384   0x7feefc
.bss        0x27f0   0x7ff280
.comment      0x21        0x0
.ident        0xa4        0x0
Total      0x11b33

So it has never worked on any VAXen with only 8 MB memory.
Just changing the RELOC value to 0x7e0000 makes bootloader work again
on my 8 MB VS3100/m30.

Is it okay to commit the change?

Thanks,
---
Izumi Tsutsui


Home | Main Index | Thread Index | Old Index