Fix paired loadstore to use correct load/store calls.

psq_st performs one store, and psq_ld one load, from the perspective of the
MMU; getting this wrong leads to potentially incorrect behavior (incorrect page
faults, weirdness with the gather pipe, etc.).  Fix this, and stop masking
the address when checking for gather pipe writes.

Also a bunch of cleanup.
This commit is contained in:
magumagu committed 2015-03-11 17:06:18 -07:00
1 parent 647cd3c8e0
commit dda5e610eb
5 files changed
+205 -253

No files matched your search

+1 -1
View File
@@ -238,7 +238,7 @@ __forceinline static void WriteToHardware(u32 em_address, const T data)
{
// First, let's check for FIFO writes, since they are probably the most common
// reason we end up in this function:
if (flag == FLAG_WRITE && (em_address & 0xFFFFF000) == 0xCC008000)
if (flag == FLAG_WRITE && em_address == 0xCC008000)
{
switch (sizeof(T))
{