Port-amiga archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: [PATCH] Fixup for Amigas with memory at 0x200000
On Fri Jan 10 2003 at 20:18:22 +0200, Ilpo Ruotsalainen wrote:
> > Just tried booting my '060 A1200 with patched -current, gray screen
> > nothing else... (I know the -current is otherwise good, so it must be
> > this patch.)
>
> I know this much now: It certainly finishes start_c(). It either doesn't
> ever enter start_c_finish() or CUSTOMADDR (or the mappings) are hosed.
After some debugging I've managed to narrow it down to this:
LMMUenable_start:
/* enable the MMU */
#if defined(M68040) || defined(M68060)
RELOC(mmutype, %a0)
cmpl #MMU_68040,%a0@
jne Lenable030
movl #0xdff180,%a0
movw #0xa00,%a0@
pflusha
movl #0xdff180,%a0
movw #0x00a,%a0@
movl #0xc000,%d0
.word 0x4e7b, 0x0003 | movec %d0,%tc
jmp Lunshadow:l
#endif /* M68040 || M68060 */
/* ENABLE, SRP_ENABLE, 8K pages, 8bit A-level, 11bit B-level */
Ltc: .long 0x82d08b00
Lenable030:
movl #0xdff180,%a0
movw #0x0a0,%a0@
lea Ltc,%a0
pmove %a0@,%tc
jmp Lunshadow:l
LMMUenable_end:
With the code looking like this, I end up with RED screen. Which seems
to say it dies on the "pflusha" instruction (unless that instruction
changes MMU mappings or such? I'd think it's the movec that changes them
but I don't know really almost anything about 68k MMUs...).
--
Ilpo Ruotsalainen - <lonewolf%iki.fi@localhost> - http://www.iki.fi/lonewolf/
Home |
Main Index |
Thread Index |
Old Index