Subject: Re: 060 Support (request for comments)
To: David Jones <dej@eecg.toronto.edu>
From: Daniel Widenfalk <t94dwi@student.tdb.uu.se>
List: amiga-dev
Date: 03/16/1995 21:28:24
David Jones wrote as a comment to me:
>> 1) The state of locore.s and amiga_init.c is somewhat messy. I'm not calling
>>    it bad or anything, just messy. I would like to make a real clean-up of
>>    those two files, perhaps splitting them into 020, 030, 040, 060, 881, 851
>>    specific files. This will allow clearer code and, in the case of the
>>    assembler files, cpu specific commands to be written as mnemonics rather
>>    than .word statements.
> 
> This will be difficult - there are parts that are applicable to more than
> one CPU.  e.g. the 851 and 030 MMUs are sufficiently similar that there
> is common code.
My suggestion is that the 030 init function would reference to the 851
functions. This should be true for many 060 functions which would ref.
to 040 functions. Also, both 020 and 030 code would use the 881 funcs. 
And so on. There is no need to write the same function twice.

> Also, how do you propose to allow commands to be written as mnemonics?
> If gas doesn't support the '060 instructions (if there are any) then they
> won't assemble, period.
There are 7 functions that behave diffrently and there are two new control-
registers (buscr - bus control register and pcr - processor control register)

I made a fast patch to gas, which took me ~1h to complete+compile+test (I
don't have a 060 yet, but the hexdumps exist ;-)

>> 4) What is the state of gas/gcc/g++? Does it support the 060 at all or do I
>>    have to add 060 support there too?
> 
> The user-level code should be compatible with older chips.  '040 code should
> run.  GCC may want to implement instruction scheduling (useful on '060)
> and not use the new addressing modes that were introduced starting with the
> '020 (now trapped and emulated in software, so doing it using pre-020 is
> faster), but it should work fine unoptimized.
I think (I/you) (wrote unclearly/missunderstod). I ment: Is anybody adding
060 support to gas/gcc officially? I know that the 060 will run 040 code if
the 68060sp is implemented.

/Daniel Widenfalk
t94dwi@student.tdb.uu.se