diff options
author | Lioncash <mathew1800@gmail.com> | 2015-02-12 15:04:47 -0500 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2015-02-12 21:50:51 -0500 |
commit | c3211c9c802309a1b391d75934cc18cad98cdcb9 (patch) | |
tree | 3646faf4a4d689fc7c438d7142219fafe1eaa0f8 /src/core/arm/dyncom/arm_dyncom.cpp | |
parent | befa556b78c06ad7ed4d7d477a1bbd8c49c87ee2 (diff) |
dyncom: Clean up the constructor
Some function calls aren't necessary and would be handled by regular initialization routines.
Diffstat (limited to 'src/core/arm/dyncom/arm_dyncom.cpp')
-rw-r--r-- | src/core/arm/dyncom/arm_dyncom.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/core/arm/dyncom/arm_dyncom.cpp b/src/core/arm/dyncom/arm_dyncom.cpp index c4af8524..6a95ede2 100644 --- a/src/core/arm/dyncom/arm_dyncom.cpp +++ b/src/core/arm/dyncom/arm_dyncom.cpp @@ -19,25 +19,22 @@ ARM_DynCom::ARM_DynCom() { state = std::unique_ptr<ARMul_State>(new ARMul_State); ARMul_NewState(state.get()); + ARMul_SelectProcessor(state.get(), ARM_v6_Prop | ARM_v5_Prop | ARM_v5e_Prop); state->abort_model = ABORT_BASE_RESTORED; state->cpu = (cpu_config_t*)&s_arm11_cpu_info; - state->bigendSig = LOW; - ARMul_SelectProcessor(state.get(), ARM_v6_Prop | ARM_v5_Prop | ARM_v5e_Prop); + state->bigendSig = LOW; state->lateabtSig = LOW; + state->NirqSig = HIGH; // Reset the core to initial state - ARMul_CoProInit(state.get()); ARMul_Reset(state.get()); state->NextInstr = RESUME; // NOTE: This will be overwritten by LoadContext state->Emulate = RUN; - state->Reg[15] = 0x00000000; state->Reg[13] = 0x10000000; // Set stack pointer to the top of the stack - state->NirqSig = HIGH; - - VFPInit(state.get()); // Initialize the VFP + state->Reg[15] = 0x00000000; } ARM_DynCom::~ARM_DynCom() { |