[comp.os.minix] Porting Minix to unusual architectures

hardin@eecea.eece.ksu.edu (David Hardin) (11/09/88)

A couple of friends and I have been doing a port of Minix to a PC coprocessor 
board of our own design based on the Rockwell AAMP processor.  AAMP is a 
16-bit stack-oriented micro that is quite similar to EM (thus the interest in 
Minix).  AAMP was designed by the folks here in the Collins Government Avionics
Division in Cedar Rapids (my comrades and I work at CGAD, and are doing this 
port in our "spare" time).

AAMP is one of the few micros in the universe that does not yet have a C 
compiler targeted to it.  Almost all code written for AAMP is written in Ada, 
using a validated compiler written by CGAD.  In addition to government 
avionics, the chip is also used in the avionics for Boeing commercial jets.
(Did you know you were trusting your life to a stack machine running Ada?)

We have Minix running on a PC, and have purchased the Minix C compiler from 
UniPress.  I have been writing the code generator for the C compiler, which 
is about 80% complete.  I have done this despite the documentation from 
UniPress, which is horrid.  I found additional EM info in some articles done 
by AST in the early 80's, although that EM does not much resemble the Minix EM.

So here, finally, are my questions: 

What are other folks doing for code generators?  Have people been using ACK?
(Sorry, I don't have the bucks to purchase it, and none of my university 
friends has it.)

What are you doing for asld?  The asld sources from UniPress are fairly useless
for porting, seeing as how they are mostly machine-generated, and the generator
is not included.  One expects assemblers to be fairly non-portable, but 
not this bad...

Does anyone have a complete description of the EM used in Minix?  I have 
been able to puzzle most of it out myself from the one-line descriptions 
found in the UniPress docs, but a few instructions remain mysterious.  A 
set of semantics such as can be found in AST's "Using Peephole Optimization on 
Intermediate Code" (ACM TOPLAS, vol.3, no. 1) would be a great help.

Please, don't anyone suggest the GNU C compiler or assembler!  As everyone 
should know by now, much of GNU is just plain unsuitable for 16-bit machines.
Plus, the gas code is pretty nasty (don't think RMS had much to do with it).

Thanks in advance,

David Hardin
















-- 
David Hardin				Rockwell International 
                                       	M/S 124-211, 400 Collins Rd. NE
INTERNET: hardin@eecea.eece.ksu.edu     Cedar Rapids, IA  52498
UUCP: {pyramid,ucsd}!ncr-sd!ncrwic!ksuvax1!eecea!hardin