Subject: Re: NetBSD-Mach?
To: Wolfgang Solfrank <ws@kurt.tools.de>
From: David Edelsohn <dje@watson.ibm.com>
List: port-powerpc
Date: 12/11/1996 11:41:58
>>>>> Wolfgang Solfrank writes:

>> The 601 is a different-enough chip to make it a little harder.  My
>> understanding of the 601 is that it was a "time to market" sort of
>> thing, and that the differences between the 601 to 603 or 604 are
>> analogous to the differences between the 68020 and the 68040 or 68060.

Wolfgang> While I don't know too much about the 68040 and 68060, I think the difference
Wolfgang> between the 601 and the newer PowerPCs is a bit greater.

Wolfgang> The 601 has quite a few instructions (including user visible ones) that
Wolfgang> are not in the newer chips, and vice versa.  There are even some registers
Wolfgang> (again including user visible ones) in the 601 that aren't in the 603 or
Wolfgang> the 604, and again vice versa.

Wolfgang> While I intend to support 601s (including running newer PowerPC code, but also
Wolfgang> running 601 code on newer processors) at some time, this isn't high on my
Wolfgang> priority list.

	The PPC601 was based on the POWER architecture RSC implementation --
basically taking that POWER architecture chip and ADDING the user-visible
PowerPC instructions including single-precision floating point.  It can and
does run pure PowerPC code, but also can run pure POWER architecture code,
or a mixed set for optimal instruction choice.  The POWER MQ register also
is present but can be ignored if only running PowerPC code.

	The primary difference between the 601 and later, pure-PowerPC chips
(603, 604, etc.) is in the supervisor mode.  The 601 has a real-time clock,
not a time base, plus other supervisor-mode register differences.  The 601
MMU is significantly different from that specified by the PowerPC
architecture.  Imprecise processor exceptions are different, the BAT
registers are different, ....

	In supervisor mode -- areas of concern to OS kernels -- the chip
looks quite different from the PowerPC architecture.  In user mode, if one
ignores the POWER architecture features, it looks like PowerPC.  Basically
the 601 is a POWER architecture chip with a PowerPC veneer.  But MkLinux
soon will have a PPC603 and PPC604 kernel, and already has a PPC601 kernel,
so it should be easy to compare and implement the reversed transform that
MkLinux team used.

David
===============================================================================
David Edelsohn                                      T.J. Watson Research Center
dje@watson.ibm.com                                  P.O. Box 218
+1 914 945 4364 (TL 862)                            Yorktown Heights, NY 10598