Re: 9.0 stable failing to build for sun2 in X11

Erik Fair <[email protected]> Wed, 9 Sep 2020 21:45:42 -0700
Newsgroups gmane.os.netbsd.ports.m68k,gmane.os.netbsd.ports.sun3
Message-ID <[email protected]>
Long ago, I worked for Dual Systems of Berkeley, which manufactured =
mc68000-based Unix systems starting in November of 1981 (I joined them =
in March 1983 - my first job out of UCB), and the MMU of =E2=80=A6 =
necessity was the mc68451.

It=E2=80=99s OK for a swapping system (which is what Version 7 Unix =
was), but too few descriptor registers (and no RAM-based page tables at =
all) for demand-paging small-size pages - you=E2=80=99ll end up needing =
to use monster-sized pages if they=E2=80=99re uniform-size because of =
the descriptor register limitations of the =E2=80=98451. Basically, the =
reason why Sun and many others rolled their own, proprietary MMUs with =
the plethora of 68k-based Unix boxes being shipped in the 1980s was that =
the =E2=80=98451 sucks, and Motorola was very, very, very late with its =
PMMU successor, the mc68851 which was to be paired with the mc68020.

I remember reading this paper which describes the device:

=
http://bitsavers.trailing-edge.com/components/motorola/68000/68451_Memory_=
Management_Unit_Apr83.pdf

and you might find wikipedia of use: =
https://en.wikipedia.org/wiki/Buddy_memory_allocation

As I recall, I don=E2=80=99t think anyone shipped a demand-paged Unix =
with the mc68451; it can be done (Dual did it for System III or System V =
- I forget which, but never shipped it) but I suspect you=E2=80=99ll =
find other memory management techniques perform better.

Watch out for context-switch overhead.

	Erik Fair


> On Sep 9, 2020, at 14:05, Chris Hanson <[email protected]> =
wrote:
>=20
> On Sep 9, 2020, at 7:07 AM, David Brownlee <[email protected]> wrote:
>>=20
>>> Now to start thinking about a 68451 pmap implementation=E2=80=A6
>>=20
>> So... how *many* 68451s? :-p
>=20
>=20
> The MVME121 only has one.
>=20
> Isn't the Sun-2 MMU also a segmented MMU, or did it support paging? I =
thought segmented MMUs were typical in 68000/68010/68012 UNIX systems.
>=20
> I figured that with such an MMU we'd have a couple permanent mappings =
and just load other mappings as tasks are switched. I'll admit to not =
having looked at it at all really=E2=80=A6
>=20
>  -- Chris
>=20