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