MMU work-in-progress
* Move SDRAM out into separate sdram.c
* Move all page-table management into mmu.c
* Convert UTLB management to use the new page-tables
* Rip out all calls to mmu_vma_to_phys_* and replace with direct access
src/Makefile.am
src/Makefile.in
src/lxdream.h
src/mem.c
src/mem.h
src/sdram.c
src/sh4/cache.c
src/sh4/ia32abi.h
src/sh4/ia64abi.h
src/sh4/mmu.c
...
* Move SDRAM out into separate sdram.c
* Move all page-table management into mmu.c
* Convert UTLB management to use the new page-tables
* Rip out all calls to mmu_vma_to_phys_* and replace with direct access
src/Makefile.am
src/Makefile.in
src/lxdream.h
src/mem.c
src/mem.h
src/sdram.c
src/sh4/cache.c
src/sh4/ia32abi.h
src/sh4/ia64abi.h
src/sh4/mmu.c
...
Replace fpscr_mask/fpscr flags in xlat_cache_block with a single xlat_sh4_mode,
which tracks the field of the same name in sh4r - actually a little faster this way.
Now depends on SR.MD, FPSCR.PR and FPSCR.SZ (although it doesn't benefit from the SR
flag yet).
Also fixed the failure to check the flags in the common case (code address returned
by previous block) which took away the performance benefits, but oh well.
src/sh4/sh4.c
src/sh4/sh4.h
src/sh4/sh4trans.c
src/sh4/sh4x86.in
src/sh4/x86op.h
src/sh4/xltcache.h
which tracks the field of the same name in sh4r - actually a little faster this way.
Now depends on SR.MD, FPSCR.PR and FPSCR.SZ (although it doesn't benefit from the SR
flag yet).
Also fixed the failure to check the flags in the common case (code address returned
by previous block) which took away the performance benefits, but oh well.
src/sh4/sh4.c
src/sh4/sh4.h
src/sh4/sh4trans.c
src/sh4/sh4x86.in
src/sh4/x86op.h
src/sh4/xltcache.h
Simplify xlat_lut slightly (cache now always initialized even if we're not
translating, just for efficiency)
src/sh4/sh4.c
src/sh4/xltcache.c
translating, just for efficiency)
src/sh4/sh4.c
src/sh4/xltcache.c
Change RAM regions to use static arrays rather than mmap regions, for a 2-3% performance gain.
General mem cleanups, including some save state fixes that break states again.
src/aica/aica.c
src/aica/aica.h
src/aica/armcore.h
src/aica/armmem.c
src/aica/audio.c
src/dreamcast.c
src/dreamcast.h
src/mem.c
src/mem.h
src/pvr2/glrender.c
...
General mem cleanups, including some save state fixes that break states again.
src/aica/aica.c
src/aica/aica.h
src/aica/armcore.h
src/aica/armmem.c
src/aica/audio.c
src/dreamcast.c
src/dreamcast.h
src/mem.c
src/mem.h
src/pvr2/glrender.c
...
More refactoring and general cleanup. Most things should be working again now.
Split off cache and start real implementation, breaking save states in the process
Makefile.in
src/Makefile.am
src/Makefile.in
src/aica/armmem.c
src/dreamcast.c
src/dreamcast.h
src/mem.c
src/mem.h
src/pvr2/pvr2.c
src/pvr2/pvr2.h
...
Split off cache and start real implementation, breaking save states in the process
Makefile.in
src/Makefile.am
src/Makefile.in
src/aica/armmem.c
src/dreamcast.c
src/dreamcast.h
src/mem.c
src/mem.h
src/pvr2/pvr2.c
src/pvr2/pvr2.h
...
Remove pointer cache and add full address-space map. Much better
src/dreamcast.c
src/mem.c
src/sh4/ia32abi.h
src/sh4/ia64abi.h
src/sh4/sh4.c
src/sh4/sh4.h
src/sh4/sh4core.h
src/sh4/sh4mem.c
src/sh4/sh4x86.in
src/sh4/x86op.h
...
src/dreamcast.c
src/mem.c
src/sh4/ia32abi.h
src/sh4/ia64abi.h
src/sh4/sh4.c
src/sh4/sh4.h
src/sh4/sh4core.h
src/sh4/sh4mem.c
src/sh4/sh4x86.in
src/sh4/x86op.h
...
.