dolphin/Source
magumagu d557310371 Support for dynamic BAT modification (dynamic-bat).
Fundamentally, all this does is enforce the invariant that we always
translate effective addresses based on the current BAT registers and
page table before we do anything else with them.

This change can be logically divided into three parts.  The first part is
creating a table to represent the current BAT state, and keeping it up to
date (PowerPC::IBATUpdated, PowerPC::DBATUpdated, etc.).  This does
nothing by itself, but it's necessary for the other parts.

The second part (mostly in MMU.cpp) is simply removing all the hardcoded
checks for specific untranslated addresses, and consistently translating
addresses using the current BAT configuration. Very straightforward, but a
lot of code changes because we hardcoded assumptions all over the place.

The third part (mostly in Memmap.cpp) is making the fastmem arena reflect
the current BAT configuration.  We do this by redoing the mapping (calling
memmap()) based on the BAT table whenever it changes.

One additional minor change is that translation can fail in two ways:
either the segment is a direct store segment, or page table lookup failed.
The difference doesn't usually matter, but the difference affects cache
instructions, like dcbz.
2016-09-06 08:43:22 +02:00
..
Android Fix crash caused by trying to reference touch-screen config UI on devices without touchscreen 2016-07-30 09:33:35 -04:00
Core Support for dynamic BAT modification (dynamic-bat). 2016-09-06 08:43:22 +02:00
DSPSpy Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
DSPTool Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
PCH Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
UnitTests CoreTiming: Fix scheduling into the past 2016-09-03 14:55:44 +10:00
VSProps Windows: Don't include Externals\curl\lib\ everywhere 2016-06-21 10:58:50 +02:00
.clang-format Add new clang-format config. 2016-06-24 10:41:05 +02:00
CMakeLists.txt Strip the Android shared library file. 2016-01-20 10:40:42 -06:00
dolphin-emu.sln Externals: Add glslang from Vulkan SDK v1.0.21.1 2016-08-11 22:40:32 +10:00