Port-amiga archive

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

Re: pmap vs. large Zorro III space



On Jul 23, 2011, at 8:27 AM, Michael van Elst wrote:

> Why does it not panic here?

I don't know... but I think the panic is strictly related to having large Zorro 
III I/O space. And having large amounts of RAM does not count as having I/O 
space, at least not in amiga_init.c.

Look at amiga_init.c around lines 329-348, you'll see the code that is 
responsible for determining amount of VM needed for Z III I/O (ERTF_MEMLIST is 
ignored). The result is saved in ZBUSAVAIL, which is later used in line 408:

        ptextra = NCHIPMEMPG + NCIAPG + NZTWOROMPG + RELOC(NZTWOMEMPG, u_int) + 
btoc(RELOC(ZBUSAVAIL, u_int)) + NPCMCIAPG;
        ptsize = (RELOC(Sysptsize, u_int) + howmany(ptextra, NPTEPG)) << 
PGSHIFT;

Then MMU magic happens, based on the ptsize value.

Could you try creating large (512MB) Z III I/O board in your emulated 
environment? It should trigger the panic.

Hmm… I think it should be possible to trigger it just by increasing ZBUSAVAIL, 
i.e. doing something like:

RELOC(ZBUSAVAIL, u_int) += m68k_round_page(0x20000000)

--
Best regards,
Radosław Kujawa



Home | Main Index | Thread Index | Old Index