Fix alignment when incrementing the invalidation map
We also eliminate the endian-branch because endian differences are already taken care of in the host_add* functions.
This commit is contained in:
parent
0d004f4c60
commit
94c404577d
2 changed files with 8 additions and 28 deletions
|
@ -151,7 +151,7 @@ public:
|
|||
}
|
||||
memset(invalidation_map,0,4096);
|
||||
}
|
||||
(*(Bit16u*)&invalidation_map[addr])+=0x101;
|
||||
host_addw(invalidation_map + addr, 0x101);
|
||||
InvalidateRange(addr,addr+1);
|
||||
}
|
||||
void writed(PhysPt addr,Bitu val){
|
||||
|
@ -176,7 +176,7 @@ public:
|
|||
}
|
||||
memset(invalidation_map,0,4096);
|
||||
}
|
||||
(*(Bit32u*)&invalidation_map[addr])+=0x1010101;
|
||||
host_addd(invalidation_map + addr, 0x1010101);
|
||||
InvalidateRange(addr,addr+3);
|
||||
}
|
||||
bool writeb_checked(PhysPt addr,Bitu val) {
|
||||
|
@ -230,7 +230,7 @@ public:
|
|||
}
|
||||
memset(invalidation_map,0,4096);
|
||||
}
|
||||
(*(Bit16u*)&invalidation_map[addr])+=0x101;
|
||||
host_addw(invalidation_map + addr, 0x101);
|
||||
if (InvalidateRange(addr,addr+1)) {
|
||||
cpu.exception.which=SMC_CURRENT_BLOCK;
|
||||
return true;
|
||||
|
@ -261,7 +261,7 @@ public:
|
|||
}
|
||||
memset(invalidation_map,0,4096);
|
||||
}
|
||||
(*(Bit32u*)&invalidation_map[addr])+=0x1010101;
|
||||
host_addd(invalidation_map + addr, 0x1010101);
|
||||
if (InvalidateRange(addr,addr+3)) {
|
||||
cpu.exception.which=SMC_CURRENT_BLOCK;
|
||||
return true;
|
||||
|
|
|
@ -171,12 +171,7 @@ public:
|
|||
invalidation_map=(Bit8u*)malloc(4096);
|
||||
memset(invalidation_map,0,4096);
|
||||
}
|
||||
#if defined(WORDS_BIGENDIAN) || !defined(C_UNALIGNED_MEMORY)
|
||||
host_writew(&invalidation_map[addr],
|
||||
host_readw(&invalidation_map[addr])+0x101);
|
||||
#else
|
||||
(*(Bit16u*)&invalidation_map[addr])+=0x101;
|
||||
#endif
|
||||
host_addw(invalidation_map + addr, 0x101);
|
||||
InvalidateRange(addr,addr+1);
|
||||
}
|
||||
void writed(PhysPt addr,Bitu val){
|
||||
|
@ -193,12 +188,7 @@ public:
|
|||
invalidation_map=(Bit8u*)malloc(4096);
|
||||
memset(invalidation_map,0,4096);
|
||||
}
|
||||
#if defined(WORDS_BIGENDIAN) || !defined(C_UNALIGNED_MEMORY)
|
||||
host_writed(&invalidation_map[addr],
|
||||
host_readd(&invalidation_map[addr])+0x1010101);
|
||||
#else
|
||||
(*(Bit32u*)&invalidation_map[addr])+=0x1010101;
|
||||
#endif
|
||||
host_addd(invalidation_map + addr, 0x1010101);
|
||||
InvalidateRange(addr,addr+3);
|
||||
}
|
||||
bool writeb_checked(PhysPt addr,Bitu val) {
|
||||
|
@ -240,12 +230,7 @@ public:
|
|||
invalidation_map=(Bit8u*)malloc(4096);
|
||||
memset(invalidation_map,0,4096);
|
||||
}
|
||||
#if defined(WORDS_BIGENDIAN) || !defined(C_UNALIGNED_MEMORY)
|
||||
host_writew(&invalidation_map[addr],
|
||||
host_readw(&invalidation_map[addr])+0x101);
|
||||
#else
|
||||
(*(Bit16u*)&invalidation_map[addr])+=0x101;
|
||||
#endif
|
||||
host_addw(invalidation_map + addr, 0x101);
|
||||
if (InvalidateRange(addr,addr+1)) {
|
||||
cpu.exception.which=SMC_CURRENT_BLOCK;
|
||||
return true;
|
||||
|
@ -269,12 +254,7 @@ public:
|
|||
invalidation_map=(Bit8u*)malloc(4096);
|
||||
memset(invalidation_map,0,4096);
|
||||
}
|
||||
#if defined(WORDS_BIGENDIAN) || !defined(C_UNALIGNED_MEMORY)
|
||||
host_writed(&invalidation_map[addr],
|
||||
host_readd(&invalidation_map[addr])+0x1010101);
|
||||
#else
|
||||
(*(Bit32u*)&invalidation_map[addr])+=0x1010101;
|
||||
#endif
|
||||
host_addd(invalidation_map + addr, 0x1010101);
|
||||
if (InvalidateRange(addr,addr+3)) {
|
||||
cpu.exception.which=SMC_CURRENT_BLOCK;
|
||||
return true;
|
||||
|
|
Loading…
Add table
Reference in a new issue