Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/arch/x68k/stand/boot_ustar



Dennis,

while the MC68020 did not have an MMU onboard there where Motorola PMMUs out there (MC68851). In the beginning there was an FPGA solution that emulated a subset of the MC68851 PMMU via the Coprocessor interface. Later when the PMMU became available it was also used in designs. E. g. I put an XC68851 (pre-production sample) into my Mac II around 1988 and could run A/UX (or whatever it was called). Early versions of NetBSD did work too. So there was some 'common' MMU support for the '20 via the PMMU coprocessor support. Sun had it's own MMU, though. The MC68851 came late to the market, that's probably the cause why so many non-Motorola solutions existed for the 68020.

Frank

On 04/15/14 21:43, Dennis Ferguson wrote:
On 15 Apr, 2014, at 05:14 , Izumi Tsutsui <tsutsui%ceres.dti.ne.jp@localhost> 
wrote:
- NetBSD/x68k supports only X680x0 machines with MC68030 and higher
  processors.

- Normal X68000 machines (i.e. all X680x0 except X68030) have MC68000,
  so 030 accelerators are required for the X68000 models, i.e.
  XVI, SUPER, EXPERT, PRO, and ACE.

  (BTW the normal X68030 has MC68EC030 so users also have to replace
   its CPU to with MC68030 to use NetBSD/x68k)

- On the other hand, probably early x68k developers considered
  that some stupid users could try to boot NetBSD/x68k on X68000
  without 030 and bootloaders should have some sanity checks.
I'm pretty sure NetBSD could never run on a 68000 since the 68000
had no memory management unit.  The 68010 and 68020 didn't have memory
management units either, but Sun did proprietary MMUs for both (that's
sun2 and sun3, respectively) and I think other companies may have done
MMUs for the 68020.  The 68030 was the first CPU in the series to come
with an MMU built in.

That generic x68x requires a 68030 makes sense since that's the first
CPU where the code can count on knowing how the MMU works.  A 68020
would have a manufacturer-specific MMU, while for the 68010 there is
only sun2.  There is no reason to restrict the instruction set to
that of the 68000 in any case since NetBSD won't run on that.

I once had a 68000 board that ran a 4.3 BSD kernel, but it was a
4.3 BSD kernel with all the process scheduling hacked out so that
it ran exactly 1 compiled-in "user space" process, without memory
protection.  I used it as an ntp server.

Dennis Ferguson



Home | Main Index | Thread Index | Old Index