diff options
| author | 2014-04-27 21:25:16 -0400 | |
|---|---|---|
| committer | 2014-04-27 21:25:16 -0400 | |
| commit | 438dba40c1def91e9de252ef05f8650464e5c0c2 (patch) | |
| tree | 8f323d6095dfefe9d00f34cc4d7229be58a9f409 /src/core/arm | |
| parent | Merge pull request #4 from cpp3ds/master (diff) | |
| parent | removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable class (diff) | |
| download | yuzu-438dba40c1def91e9de252ef05f8650464e5c0c2.tar.gz yuzu-438dba40c1def91e9de252ef05f8650464e5c0c2.tar.xz yuzu-438dba40c1def91e9de252ef05f8650464e5c0c2.zip | |
Merge branch 'hle-interface-updates'
Diffstat (limited to 'src/core/arm')
| -rw-r--r-- | src/core/arm/arm_interface.h | 3 | ||||
| -rw-r--r-- | src/core/arm/interpreter/arm_interpreter.h | 1 | ||||
| -rw-r--r-- | src/core/arm/interpreter/armemu.cpp | 2 | ||||
| -rw-r--r-- | src/core/arm/interpreter/armsupp.cpp | 12 |
4 files changed, 11 insertions, 7 deletions
diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h index eee4726db..4dfe0570b 100644 --- a/src/core/arm/arm_interface.h +++ b/src/core/arm/arm_interface.h | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | #include "common/common_types.h" | 8 | #include "common/common_types.h" |
| 9 | 9 | ||
| 10 | /// Generic ARM11 CPU interface | 10 | /// Generic ARM11 CPU interface |
| 11 | class ARM_Interface { | 11 | class ARM_Interface : NonCopyable { |
| 12 | public: | 12 | public: |
| 13 | ARM_Interface() { | 13 | ARM_Interface() { |
| 14 | m_num_instructions = 0; | 14 | m_num_instructions = 0; |
| @@ -75,5 +75,4 @@ private: | |||
| 75 | 75 | ||
| 76 | u64 m_num_instructions; ///< Number of instructions executed | 76 | u64 m_num_instructions; ///< Number of instructions executed |
| 77 | 77 | ||
| 78 | DISALLOW_COPY_AND_ASSIGN(ARM_Interface); | ||
| 79 | }; | 78 | }; |
diff --git a/src/core/arm/interpreter/arm_interpreter.h b/src/core/arm/interpreter/arm_interpreter.h index f3c86f8dd..625c0c652 100644 --- a/src/core/arm/interpreter/arm_interpreter.h +++ b/src/core/arm/interpreter/arm_interpreter.h | |||
| @@ -63,5 +63,4 @@ private: | |||
| 63 | 63 | ||
| 64 | ARMul_State* m_state; | 64 | ARMul_State* m_state; |
| 65 | 65 | ||
| 66 | DISALLOW_COPY_AND_ASSIGN(ARM_Interpreter); | ||
| 67 | }; | 66 | }; |
diff --git a/src/core/arm/interpreter/armemu.cpp b/src/core/arm/interpreter/armemu.cpp index 6074ff480..a35c5c8dc 100644 --- a/src/core/arm/interpreter/armemu.cpp +++ b/src/core/arm/interpreter/armemu.cpp | |||
| @@ -4467,7 +4467,6 @@ ARMul_Emulate26 (ARMul_State * state) | |||
| 4467 | } | 4467 | } |
| 4468 | /* Drop through. */ | 4468 | /* Drop through. */ |
| 4469 | 4469 | ||
| 4470 | case 0xe0: | ||
| 4471 | case 0xe4: | 4470 | case 0xe4: |
| 4472 | case 0xe6: | 4471 | case 0xe6: |
| 4473 | case 0xe8: | 4472 | case 0xe8: |
| @@ -4502,6 +4501,7 @@ ARMul_Emulate26 (ARMul_State * state) | |||
| 4502 | 4501 | ||
| 4503 | 4502 | ||
| 4504 | /* Co-Processor Register Transfers (MRC) and Data Ops. */ | 4503 | /* Co-Processor Register Transfers (MRC) and Data Ops. */ |
| 4504 | case 0xe0: | ||
| 4505 | case 0xe1: | 4505 | case 0xe1: |
| 4506 | case 0xe3: | 4506 | case 0xe3: |
| 4507 | case 0xe5: | 4507 | case 0xe5: |
diff --git a/src/core/arm/interpreter/armsupp.cpp b/src/core/arm/interpreter/armsupp.cpp index 101b9807a..b2bbedc18 100644 --- a/src/core/arm/interpreter/armsupp.cpp +++ b/src/core/arm/interpreter/armsupp.cpp | |||
| @@ -17,9 +17,11 @@ | |||
| 17 | 17 | ||
| 18 | #include "armdefs.h" | 18 | #include "armdefs.h" |
| 19 | #include "armemu.h" | 19 | #include "armemu.h" |
| 20 | |||
| 20 | //#include "ansidecl.h" | 21 | //#include "ansidecl.h" |
| 21 | #include "skyeye_defs.h" | 22 | #include "skyeye_defs.h" |
| 22 | #include "core/hle/hle.h" | 23 | #include "core/hle/mrc.h" |
| 24 | #include "core/arm/disassembler/arm_disasm.h" | ||
| 23 | 25 | ||
| 24 | unsigned xscale_cp15_cp_access_allowed (ARMul_State * state, unsigned reg, | 26 | unsigned xscale_cp15_cp_access_allowed (ARMul_State * state, unsigned reg, |
| 25 | unsigned cpnum); | 27 | unsigned cpnum); |
| @@ -736,7 +738,8 @@ ARMword | |||
| 736 | ARMul_MRC (ARMul_State * state, ARMword instr) | 738 | ARMul_MRC (ARMul_State * state, ARMword instr) |
| 737 | { | 739 | { |
| 738 | unsigned cpab; | 740 | unsigned cpab; |
| 739 | ARMword result = HLE::CallGetThreadCommandBuffer(); | 741 | |
| 742 | ARMword result = HLE::CallMRC((HLE::ARM11_MRC_OPERATION)BITS(20, 27)); | ||
| 740 | 743 | ||
| 741 | ////printf("SKYEYE ARMul_MRC, CPnum is %x, instr %x\n",CPNum, instr); | 744 | ////printf("SKYEYE ARMul_MRC, CPnum is %x, instr %x\n",CPNum, instr); |
| 742 | //if (!CP_ACCESS_ALLOWED (state, CPNum)) { | 745 | //if (!CP_ACCESS_ALLOWED (state, CPNum)) { |
| @@ -846,7 +849,10 @@ ARMul_CDP (ARMul_State * state, ARMword instr) | |||
| 846 | void | 849 | void |
| 847 | ARMul_UndefInstr (ARMul_State * state, ARMword instr) | 850 | ARMul_UndefInstr (ARMul_State * state, ARMword instr) |
| 848 | { | 851 | { |
| 849 | ERROR_LOG(ARM11, "Undefined instruction!! Instr: 0x%x", instr); | 852 | char buff[512]; |
| 853 | ARM_Disasm disasm = ARM_Disasm(); | ||
| 854 | disasm.disasm(state->pc, instr, buff); | ||
| 855 | ERROR_LOG(ARM11, "Undefined instruction!! Disasm: %s Opcode: 0x%x", buff, instr); | ||
| 850 | ARMul_Abort (state, ARMul_UndefinedInstrV); | 856 | ARMul_Abort (state, ARMul_UndefinedInstrV); |
| 851 | } | 857 | } |
| 852 | 858 | ||