[comp.os.minix] 680x0 compatibility. Was: Re: AmigaMINIX developments?

klamer@mi.eltn.utwente.nl (Klamer Schutte -- Universiteit Twente) (01/07/91)

tsarna@POLAR.BOWDOIN.EDU (Tyler Sarna) writes:

>Also, when (if?) I get this driver up and running, I will next work on
>680x0 compatibility. Does anyone have any ideas as to where the
>problem(s) lie? The methods for making 680x0-incompatible code are, as
>far as I know:

>a) using "unused" 68000 instructions that are used on the 0x0. This
>sounds like it might be one of the problems (does AmigaMINIX perhaps use
>one of these codes or FPU traps to implement systems calls?)

Not a problem

>b) timed instruction loops. Seems unlikely, but it might be used in
>keyboard or floppy routines. Anyone have MINIX running on a faster
>68000? If so, that proves that this is not the problem.

I think i have heard of a 16 Mhz 68000, working OK.
But all I/O in minix is interrupt based (expect perhaps for some HD
code deep in ST-Minix -- no problem for Amiga users).

>c) hosing the 0x0 VBR (vector base register) or other 0x0-only
>registers, or not saving extra 680x0 registers (if they need to be
>saved?)

You almost have the problem overhere.

>d) using the high 8 bits of pointers as "free" data storage. The 68000
>doesn't use these 8 bits, but the 0x0 do. Does MINIX use these bits?

It should not -- and i don't think so.

>e) self-modifying code. writing over code in causes discrepencies
>between the instruction cache and what's in memory. The CPU may try to
>execute wierd combinations of new and old code. This doesn't sound like
>a problem in AmigaMINIX.

This is a problem (and will be in all OS's): after an exec(2) there will
be some modified code. (Also because of relocation). And what about
shadowing?
This certainly needs fixing on a 6803+0 (IMHO).

But there is one item you missed: the 6801+0 uses a different exception
format. And (at least) minix-st has hard-wired 68000 code for the
exceptions (trap, interrupts, (do i miss something))
I think these two points need fixing. 

Note that i am >>not<< a minix 68k author!

Klamer.
-- 
Klamer Schutte
Faculty of electrical engineering -- University of Twente, The Netherlands
klamer@mi.eltn.utwente.nl	{backbone}!mcsun!utrcu1!utep!utelmi01!klamer