Remove macro functions for byte order.
This commit is contained in:
parent
4e258b0c6b
commit
77801190c2
|
@ -31,24 +31,15 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This will help us gradually be able to port Project64 for big-endian CPUs
|
* To do: Have address translation functions here?
|
||||||
* later. Currently it is written to assume 32-bit little-endian, like so:
|
* `return` either the translated address or the mask to XOR by?
|
||||||
|
*
|
||||||
|
* This will help us gradually be able to port Project64 for big-endian CPUs.
|
||||||
|
* Currently it is written to assume 32-bit little-endian, like so:
|
||||||
*
|
*
|
||||||
* 0xAABBCCDD EEFFGGHH --> 0xDDCCBBAA HHGGFFEE
|
* 0xAABBCCDD EEFFGGHH --> 0xDDCCBBAA HHGGFFEE
|
||||||
* GPR bits[63..0] b1b2b3b4 b5b6b7b8
|
* GPR bits[63..0] b1b2b3b4 b5b6b7b8
|
||||||
*/
|
*/
|
||||||
#define BYTE_SWAP_MASK 3u
|
|
||||||
#define HALF_SWAP_MASK ((BYTE_SWAP_MASK) & ~1u)
|
|
||||||
#define WORD_SWAP_MASK ((BYTE_SWAP_MASK) & ~3u)
|
|
||||||
|
|
||||||
// Convert MIPS server-native byte order to client-native endian.
|
|
||||||
#define BES(offset) ((offset) ^ (BYTE_SWAP_MASK))
|
|
||||||
|
|
||||||
// Convert MIPS server-native halfword order to client-native int16_t order.
|
|
||||||
#define HES(offset) ((offset) ^ (HALF_SWAP_MASK))
|
|
||||||
|
|
||||||
// Convert MIPS server-native word order to client-native int32_t order.
|
|
||||||
#define WES(offset) ((offset) ^ (WORD_SWAP_MASK))
|
|
||||||
|
|
||||||
class CMipsMemoryVM :
|
class CMipsMemoryVM :
|
||||||
public CMipsMemory,
|
public CMipsMemory,
|
||||||
|
|
Loading…
Reference in New Issue