|
@@ -89,30 +89,11 @@ struct ARMul_State
|
|
|
unsigned bigendSig;
|
|
unsigned bigendSig;
|
|
|
unsigned syscallSig;
|
|
unsigned syscallSig;
|
|
|
|
|
|
|
|
- // For differentiating ARM core emulation.
|
|
|
|
|
- bool is_v4; // Are we emulating a v4 architecture (or higher)?
|
|
|
|
|
- bool is_v5; // Are we emulating a v5 architecture?
|
|
|
|
|
- bool is_v5e; // Are we emulating a v5e architecture?
|
|
|
|
|
- bool is_v6; // Are we emulating a v6 architecture?
|
|
|
|
|
- bool is_v7; // Are we emulating a v7 architecture?
|
|
|
|
|
-
|
|
|
|
|
// TODO(bunnei): Move this cache to a better place - it should be per codeset (likely per
|
|
// TODO(bunnei): Move this cache to a better place - it should be per codeset (likely per
|
|
|
// process for our purposes), not per ARMul_State (which tracks CPU core state).
|
|
// process for our purposes), not per ARMul_State (which tracks CPU core state).
|
|
|
std::unordered_map<u32, int> instruction_cache;
|
|
std::unordered_map<u32, int> instruction_cache;
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/***************************************************************************\
|
|
|
|
|
-* Types of ARM we know about *
|
|
|
|
|
-\***************************************************************************/
|
|
|
|
|
-
|
|
|
|
|
-enum {
|
|
|
|
|
- ARM_v4_Prop = 0x01,
|
|
|
|
|
- ARM_v5_Prop = 0x02,
|
|
|
|
|
- ARM_v5e_Prop = 0x04,
|
|
|
|
|
- ARM_v6_Prop = 0x08,
|
|
|
|
|
- ARM_v7_Prop = 0x10,
|
|
|
|
|
-};
|
|
|
|
|
-
|
|
|
|
|
/***************************************************************************\
|
|
/***************************************************************************\
|
|
|
* The hardware vector addresses *
|
|
* The hardware vector addresses *
|
|
|
\***************************************************************************/
|
|
\***************************************************************************/
|
|
@@ -167,7 +148,6 @@ enum {
|
|
|
* Definitions of things in the emulator *
|
|
* Definitions of things in the emulator *
|
|
|
\***************************************************************************/
|
|
\***************************************************************************/
|
|
|
void ARMul_Reset(ARMul_State* state);
|
|
void ARMul_Reset(ARMul_State* state);
|
|
|
-ARMul_State* ARMul_NewState(ARMul_State* state);
|
|
|
|
|
|
|
|
|
|
/***************************************************************************\
|
|
/***************************************************************************\
|
|
|
* Definitions of things in the co-processor interface *
|
|
* Definitions of things in the co-processor interface *
|