Re: New pmap module for m68k
Jason Thorpe <[email protected]> Sun, 9 Nov 2025 14:37:41 -0800
| Newsgroups | gmane.os.netbsd.ports.m68k |
|---|---|
| Message-ID | <[email protected]> |
> On Nov 9, 2025, at 12:07=E2=80=AFPM, Izumi Tsutsui = <[email protected]> wrote: >=20 > One question: do you have any idea how to enable MMU on ports VA!=3DPA, = like > hp300 (as you know) and next68k (currently using TT0 mapping to handle = it)? Well, for now, it=E2=80=99s all still left to machine-dependent code in = locore.s. My plan for hp300 is to treat the MMU trampoline page the = same way as a device page. See below. > I also wonder how "static I/O spaces (like INTIO on hp300)" should be = mapped > (i.e. how MD stuff in current pmap_bootstrap.c should be handled), > but I guess this should be discussed in a separate thread.. My current thinking there is to have a table that gets instantiated if a = port defines a CPP macro that provides the table=E2=80=99s contents. = The table would have: =3D=3D> Variable where to stash the VA for the special range =3D=3D> The PA for the special range =3D=3D> Size of the special range =3D=3D> Flags for the special range (fixed VA? No-cache? Maybe it=E2=80=99= s always no-cache=E2=80=A6) The table gets passed through once to allocate the VAs, then then again = to actually insert the mappings. That should be able to handle both the static I/O device ranges as well = as the MMU trampoline page on hp300. Eventually I might also make it = possible to use a separate fixed VA for kernel_ptes[]; hp300 could = benefit from that because it needs tables to map the end of the kernel = address space for the MMU trampoline anyway, so putting kernel_ptes[] up = there would probably save some PT pages (especially on small memory = machines like the 320 & 350). >> Definitely looking for help in this aspect, so drop me an email if = you're interested >> in helping with the effort and have hardware (or a decently = functioning emulator) >> that can be used for testing. >=20 > I can try (and hopefully help) the following machines here: I was kind of hoping you=E2=80=99d be able to :-). I really need to = spend some time getting Nono set up, as well. -- thorpej