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