Kernel config for Sun 3/50

Trent McNair <[email protected]> Sun, 8 Jan 2023 10:39:11 -0700
Newsgroups gmane.os.netbsd.ports.sun3
Message-ID <CA+zCTPfndureK5FmtnQFW7yp-y60uEtVpZeEtMCgJMpQk7a0DA@mail.gmail.com>
--00000000000075a17505f1c421a9
Content-Type: text/plain; charset="UTF-8"

I've set up a cross-compile toolchain to build 9.3 for my Sun 3/50. I am
able to build a kernel and userland, but I'm running into the "kernel too
large" error in pmap.c:


        if (cpu_machine_id == ID_SUN3_50) {
                hole_start = m68k_trunc_page(OBMEM_BW50_ADDR);
                hole_size  = m68k_round_page(OBMEM_BW2_SIZE);
                if (avail_start > hole_start) {
                        mon_printf("kernel too large for Sun3/50 %d %d
%d\n", hole_start, hole_size, avail_start);
                        sunmon_abort();
                }
        }

I've looked through old mailing list threads and I guess this limit has to
do with the location of the 3/50's frame buffer. I can't seem to remove
enough functionality to get a small enough kernel to fit below hole_start.
Can a working kernel be built for this machine?

--00000000000075a17505f1c421a9
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I&#39;ve set up a cross-compile toolchain to build 9.3 for=
 my Sun 3/50. I am able to build a kernel and userland, but I&#39;m running=
 into the &quot;kernel too large&quot; error in pmap.c:<div><br></div><div>=
<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (cpu_machine_id =3D=3D ID_SUN3_50) {<br>=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 hole_start =3D m68k=
_trunc_page(OBMEM_BW50_ADDR);<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 hole_size =C2=A0=3D m68k_round_page(OBMEM_BW2_SIZE);<br>=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (avail_start &gt; h=
ole_start) {<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 mon_printf(&quot;kernel too large for Sun3/50 %d %=
d %d\n&quot;, hole_start, hole_size, avail_start);<br>=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 sunmon_abort=
();<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 }<br></div><div><br>I&#39;ve looked through old mailin=
g list threads and I guess this limit has to do with the location of the 3/=
50&#39;s frame buffer. I can&#39;t seem to remove enough functionality to g=
et a small enough kernel to fit below hole_start. Can a working kernel be b=
uilt for this machine?=C2=A0</div></div>

--00000000000075a17505f1c421a9--