diff options
author | Lioncash <mathew1800@gmail.com> | 2015-02-12 21:04:47 +0100 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2015-02-13 03:50:51 +0100 |
commit | c3211c9c802309a1b391d75934cc18cad98cdcb9 (patch) | |
tree | 3646faf4a4d689fc7c438d7142219fafe1eaa0f8 /src/core/arm | |
parent | Merge pull request #567 from lioncash/warn (diff) | |
download | yuzu-c3211c9c802309a1b391d75934cc18cad98cdcb9.tar yuzu-c3211c9c802309a1b391d75934cc18cad98cdcb9.tar.gz yuzu-c3211c9c802309a1b391d75934cc18cad98cdcb9.tar.bz2 yuzu-c3211c9c802309a1b391d75934cc18cad98cdcb9.tar.lz yuzu-c3211c9c802309a1b391d75934cc18cad98cdcb9.tar.xz yuzu-c3211c9c802309a1b391d75934cc18cad98cdcb9.tar.zst yuzu-c3211c9c802309a1b391d75934cc18cad98cdcb9.zip |
Diffstat (limited to 'src/core/arm')
-rw-r--r-- | src/core/arm/dyncom/arm_dyncom.cpp | 11 | ||||
-rw-r--r-- | src/core/arm/interpreter/arminit.cpp | 7 | ||||
-rw-r--r-- | src/core/arm/skyeye_common/vfp/vfp.cpp | 5 |
3 files changed, 7 insertions, 16 deletions
diff --git a/src/core/arm/dyncom/arm_dyncom.cpp b/src/core/arm/dyncom/arm_dyncom.cpp index c4af85242..6a95ede24 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() { diff --git a/src/core/arm/interpreter/arminit.cpp b/src/core/arm/interpreter/arminit.cpp index 0c0ce6c91..d3174c9a0 100644 --- a/src/core/arm/interpreter/arminit.cpp +++ b/src/core/arm/interpreter/arminit.cpp @@ -64,10 +64,9 @@ void ARMul_SelectProcessor(ARMul_State* state, unsigned properties) state->is_pxa27x = (properties & ARM_PXA27X_Prop) != 0; state->is_v7 = (properties & ARM_v7_Prop) != 0; - /* Only initialse the coprocessor support once we - know what kind of chip we are dealing with. */ - //ARMul_CoProInit (state); - + // Only initialse the coprocessor support once we + // know what kind of chip we are dealing with. + ARMul_CoProInit(state); } /***************************************************************************\ diff --git a/src/core/arm/skyeye_common/vfp/vfp.cpp b/src/core/arm/skyeye_common/vfp/vfp.cpp index 1cf146c53..6f22923bb 100644 --- a/src/core/arm/skyeye_common/vfp/vfp.cpp +++ b/src/core/arm/skyeye_common/vfp/vfp.cpp @@ -26,8 +26,6 @@ #include "core/arm/skyeye_common/vfp/asm_vfp.h" #include "core/arm/skyeye_common/vfp/vfp.h" -//ARMul_State* persistent_state; /* function calls from SoftFloat lib don't have an access to ARMul_state. */ - unsigned VFPInit(ARMul_State* state) { state->VFP[VFP_OFFSET(VFP_FPSID)] = VFP_FPSID_IMPLMEN<<24 | VFP_FPSID_SW<<23 | VFP_FPSID_SUBARCH<<16 | @@ -35,9 +33,6 @@ unsigned VFPInit(ARMul_State* state) state->VFP[VFP_OFFSET(VFP_FPEXC)] = 0; state->VFP[VFP_OFFSET(VFP_FPSCR)] = 0; - //persistent_state = state; - /* Reset only specify VFP_FPEXC_EN = '0' */ - return 0; } |