Port-amiga archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CAS and 020 bus error (was: Amiga 3000 video strangeness - next thing)



Michael van Elst wrote:

> frank%phoenix.owl.de@localhost (Frank Wille) writes:
> 
>> I guess it gets into trouble when running into a bus-fault
>> (MMU-exception) while executing CAS. I don't know if the exception
>> handler is prepared to emulate the entire read-modify-write cycle of this
>> instruction?
> 
> The 68020 (unlike the 68040) is supposed to rerun the complete
> instruction.

That explains it. Code for this special case is obviously missing.

I made a test and compiled sys/arch/m68k/m68k/lock_stubs.s for 68010, and
the kernel booted without problems!

So we have these options:
- add the missing 020-support in the exception handler for CAS and TAS
- make the 68010-code in lock_stubs.s compile for 68020 as well

There are certainly more 020-based systems than my A2500 (some Suns?).
Crossposting to port-m68k because of that.

-- 
    _  Frank Wille (frank%phoenix.owl.de@localhost)
 _ //  http://sun.hasenbraten.de/~frank/
 \X/   Phx @ #AmigaGer




Home | Main Index | Thread Index | Old Index