Commit Graph

816 Commits

Author SHA1 Message Date
f48a89af8b Merge pull request #1026 from lioncash/disasm
arm_disasm: Remove unnecessary code
2015-08-07 07:29:27 -04:00
3b457a5876 arm_interface: Implement interface for retrieving VFP registers 2015-08-06 21:24:25 -04:00
59d5358068 arm_disasm: Remove unnecessary code
This part of disassembly only determines the opcode, there's no need for offset calculation here.
2015-08-06 19:55:41 -04:00
3425cfe54a Disassembler: ARMv6K REX instructions 2015-08-06 15:50:54 +02:00
5d81a2fd48 Disassembler: ARMv6K hint instructions 2015-08-06 15:25:08 +02:00
ce65925bc3 Merge pull request #1008 from lioncash/pc
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
2015-07-30 10:44:50 -04:00
46663d657f dyncom: Remove an unused variable
This was used prior to InterpreterTranslate existing.
2015-07-29 12:21:16 -04:00
2e420aba3c dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM 2015-07-29 10:57:47 -04:00
2182adff9e dyncom: Handle left-operand PC correctly for data-processing ops
This is considered deprecated in the ARM manual (using PC as an operand),
however, this is still able to be executed on the MPCore (which I'm quite
sure would be rare to begin with).
2015-07-28 20:14:08 -04:00
9be4ef3879 dyncom: Remove an unnecessary typedef 2015-07-28 03:41:25 -04:00
89540ea761 dyncom: Use enum class for instruction decoding results 2015-07-28 02:27:57 -04:00
7e4fb4db19 dyncom: Remove code duplication regarding thumb instructions 2015-07-27 22:22:00 -04:00
a507ea23c1 dyncom: Migrate exclusive memory access control into armstate 2015-07-27 22:06:59 -04:00
db4e99c186 dyncom: Remove duplicated typedef and extern
These are already present in arm_dyncom_dec.h.
2015-07-27 22:06:51 -04:00
816b1ca776 dyncom: Use std::array for register arrays 2015-07-26 13:21:04 -04:00
0ecc6e2f04 dyncom: Use ARMul_State as an object
Gets rid of C-like parameter passing.
2015-07-26 13:18:32 -04:00
03213f893e dyncom: Remove unnecessary initialization code.
Targeting ARM version variants was only a thing on armemu.

The reset routine also does basically the same thing as NewState.
2015-07-25 22:10:54 -04:00
3257d797e1 dyncom: Remove unnecessary abort-related cruft
Both the MPCore and the ARM9 have the same data abort model (base restored), so differentiating isn't necessary.
2015-07-25 22:10:53 -04:00
dfb424b6d1 dyncom: Rename armdefs.h to armstate.h 2015-07-25 22:10:44 -04:00
4bb1a5ca47 dyncom: Get rid of skyeye typedefs 2015-07-25 20:52:10 -04:00
0191c26521 dyncom: Move helper functions to their own header 2015-07-25 20:35:18 -04:00
6b73e4566b dyncom: Move arminit.cpp and armsupp.cpp into skyeye_common 2015-07-25 20:01:44 -04:00
f7ba683dc3 armdefs: Remove unnecessary extern keywords 2015-07-25 18:32:57 -04:00
c2689b8c2c dyncom: Pass SVC immediates directly.
Previously it would just re-read the already decoded instruction and extract the immediate value.
2015-07-21 03:56:29 -04:00
a2f0a3d019 dyncom: Properly retrieve the PC value in BX if used. 2015-07-19 22:20:14 -04:00
13286903e6 Dyncom: Support for a missing ARMv6 Thumb MOV encoding 2015-07-18 03:41:49 -03:00
23dbbb786a arm_dyncom_interpreter: Simplify assignment in SMLAW
Also a side-benefit of not having implementation-defined behavior.
2015-07-16 22:08:12 -04:00
867c28ae03 Merge pull request #876 from linkmauve/include-cleanups
Cleanup includes, mostly in common
2015-07-10 16:36:12 -07:00
e3e8ad48c1 vfp: Change return type of VFPInit from unsigned int to void. 2015-06-29 14:51:38 -04:00
32a6379bc8 vfp: Handle accesses to FPINST/FPINST2 system registers
Also has a side-benefit of correcting access to the FPEXC register.
2015-06-29 03:27:26 -04:00
f48b28ad27 Core, VideoCore: Replace or fix exit() calls. 2015-06-28 00:36:55 +01:00
aea15f5c73 Core: Cleanup core includes. 2015-06-28 00:36:54 +01:00
8cf9eb7f43 Common: Fix FileUtil includes, and everything relying on those. 2015-06-28 00:36:53 +01:00
71858fc7cc vfp: Handle accesses to the VFP media feature registers
These are able to be accessed in any privilege mode.
2015-06-12 20:21:51 -04:00
e817224f89 vfp: Implement VMOVBCR/VMOVBRC 2015-06-12 02:47:10 -04:00
04f204ed00 arm_dyncom_thumb: Fix handling of writeback for thumb LDMIA 2015-06-04 08:42:14 -04:00
c00781a908 arm_dyncom_thumb: Fix encoding of BKPT's immediate 2015-05-31 21:51:46 -04:00
85b1dddda1 arm_dyncom_thumb: Implement CPS and SETEND 2015-05-31 21:51:25 -04:00
7caef19c89 arm_dyncom_thumb: Implement SXTH, SXTB, UXTH, and UXTB. 2015-05-31 21:50:57 -04:00
b64dea80ce arm_dyncom_thumb: Implement REV, REV16, and REVSH. 2015-05-31 21:50:18 -04:00
b1503b2020 Remove every trailing whitespace from the project (but externals). 2015-05-29 21:59:29 +01:00
ad883db7a9 Merge pull request #826 from lioncash/tables
arm_dyncom_thumb: Merge STR/LDR table subsets.
2015-05-26 22:05:13 -07:00
0265d950e6 arm_dyncom_thumb: Merge STR/LDR table subsets. 2015-05-26 21:15:29 -04:00
f62ab75c67 arm_dyncom_interpreter: Remove unused variable
Thum decoding directly checks if the thumb bit is set instead of using a temporary.
2015-05-26 17:43:08 -04:00
8c1ab1c2c4 arm_dyncom_interpreter: Remove unused macro 2015-05-24 19:21:05 -04:00
6278937a28 dyncom: Get rid of armemu.h 2015-05-23 20:51:02 -04:00
92fd2753c5 dyncom: Remove unused cpu parameter from decode_thumb_instr 2015-05-22 23:42:23 -04:00
097d8282a6 dyncom: remove load_r15 from arm_inst
It's entirely unused. Also allows getting rid of more clunky macros.
2015-05-22 23:38:00 -04:00
8617938441 dyncom: Remove unnecessary parameter for load/store operations 2015-05-22 23:14:22 -04:00
3a348a90fd VFP: Log as trace to get rid of spamming. 2015-05-22 19:42:44 -04:00