CVS commit: src/sys/arch/sun68k/stand/libsa

"Izumi Tsutsui" <[email protected]>
Newsgroups gmane.os.netbsd.devel.cvs
Message-ID <[email protected]>
Module Name:	src
Committed By:	tsutsui
Date:		Wed Aug 19 18:14:08 UTC 2026

Modified Files:
	src/sys/arch/sun68k/stand/libsa: sun3.c version

Log Message:
sun68k: avoid PROM DVMA map aliasing in sun3 bootloader

NetBSD/sun3 11.0 GENERIC fails to boot from a SCSI disk on
my Sun 3/60 with at least PROM revisions 2.8.3 and 3.0.1.

It looks sun3 PROM SCSI driver allocates internal resources
in DVMA space starting at 0xfff00000. The sun3 standalone
DVMA setup currently aliases its local address range starting
at 0x200000 to that same address.

Since the alias is created by sharing PMEGs, PTE changes made by
the PROM in its DVMA space also change the corresponding standalone
mappings. These mappings are inherited by the loaded kernel.

On Sun3, pmap_bootstrap() derives the first available PA from
(nextva - KERNBASE3), assuming that the kernel bootstrap VA range
is backed by the corresponding contiguous physical addresses.

A leaked alias can instead map part of that range to an unrelated
physical page, leaving that use unaccounted for. Then the page can
be registered as available memory by uvm_page_physload() (via
machine_init_common() in HEAD) even though it is already used for
kernel bootstrap data such as the symbol table and kernel stack etc.
Maybe this is the real reason that also caused PR/54876.

Move the lower end of the standalone alias from 0x200000/0xfff00000
to 0x240000/0xfff40000 to avoid aliasing the PROM DVMA mappings.
Keep the upper limit unchanged, so existing local-to-DVMA address
translations for the remaining range are preserved.

Bump version to denote this fix.

Should be pulled up to netbsd-11 and netbsd-10.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/sun68k/stand/libsa/sun3.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/sun68k/stand/libsa/version

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.