Subject: Re: PowerPC plans
To: None <dhess@CS.Stanford.EDU>
From: Mark P. Gooderum <mark@aggregate.com>
List: current-users
Date: 03/08/1994 19:09:38
> Is anyone looking into a PowerPC port of NetBSD?  Some issues:
> 
> 	a. gcc would have to be upgraded to 2.5.x to get the PPC backend 
> 	   (or could the backend be migrated to 2.4.x?  I don't know enough
> 	   about gcc to say....)

I would think it would be easier to migrate to 2.5.x.  What would be even
better would be something that would (semi at least) automate the 
"importation" of gcc into the src tree (may such a beast exists).

> 	b. it would be nice to port to PReP, but since it's not clear when
> 	   such machines will actually ship (if ever), I guess the initial
> 	   target would be the PowerMacs.  What portion of the MacBSD port
> 	   could be used towards this?  That is, to what extent is the
> 	   MacBSD port tied into the 68k?

Well, for the curious there is what Apple has done.  Basically they've
left much of the OS in 68k assembler.  My understanding is that vast
portions of the MacOS are in 68k assembler that no one really
understands anymore, they just use it.  Rather than port this stuff
they've left it alone.  However, simple emulation doesn't quite do the
trick because MacOS system calls and internal calls seriously (ab)use
the 68k features by generating traps and other seriously processor
specific stuff and much of the OS adjusts for different hardware and
machines by restuffing various function pointers.

So apparently they came up with something like a "universal function
pointer" that includes the type of pointer which is used to generate
the appropriate call sequence (this way the 68k and PowerPC code can
call back and forth without having to worry about what they are calling
or being called by).

There is also a company building PowerPC motherboards here for PCs that
has approached some companies around here to test them.  They just have
a minimal emulation wrapper (only a few 10's of K) and run DOS and
Windows unawares.  I've also heard rumors about someone doing a PPC
chip for Overdrive sockets (doing a multi chip in single package like
POWER2 to handle i86 specific bus stuff).

IBM supposedly already has the current DOS and OS/2 running with a fairly
simple emulator, PPC versions of PC-DOS and OS/2 are due Q2.

IBM's PC boxes are due to ship in April (our sales puke told us...),
RS/6000's are of course already shipping (and backlogged months...).

> 	c. a PPC port could be leveraged onto a POWER/rs6k port; if ever
> 	   there was a nice hardware platform in need of a decent OS....

An interesting question would be "does a PPC port have emulation
support for any non-PPC binaries", ie: Mac or x86?  If you're going to
support PPC Macs or PC's the answer is probably yes since you need at
least minimal ability in jump into the BIOS and other nonPPC driver
code.

In practice you'd probably need two PPC ports.  One would be a PPC/x86
port that assumed a PC/ISA/EISA/(PCI/Microchannel?) hardware environment,
the other would assume a Mac hardware IO/NuBus environment.

The down side is that although there is PPC support coming with gcc there
isn't really a good reference of public source for things like the MMU and
other VM/system code and PPC emulation of other processors.
 
> I would be interested in helping on this port, assuming I could get my hands
> on a machine.

Same here...given the good looking prices on the PPC Macs we're waiting
for one of those for my wife (to be).  I'm holding off on my 386->486 jump
for PPC on the PC end...so by the end of summer there should be 2 PPC boxes
at home.

Further discussion should probably go to "tech-ports"...
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mark P. Gooderum                           USSnail:  Aggregate Computing, Inc.
Software Engineer                                    300 So. Hiway 169 Ste 400
  "Working hard to be hardly working..."             Minneapolis, MN 55426
EMail:       mark@aggregate.com            Voice:    (612) 546-5579 
Interactive: mark@jupiter.aggregate.com    Fax:      (612) 546-9485
	     mark@sol.aggregate.com	   Sales/Sup:(800) 966-1666
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


------------------------------------------------------------------------------