cebf245504
Merge pull request #1027 from lioncash/debugger
...
debugger: Add the ability to view VFP register contents
2015-08-13 18:13:25 -04:00
5115d0177e
ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types.
2015-08-11 22:38:44 +01:00
38c87733d9
arm_disasm: ARMv6 mul/div and abs media instructions
...
SMLAD, SMUAD, SMLSD, SMUSD, SMLALD, SMLSLD,
SMMLA, SMMUL, SMMLS
USAD8, USADA8
2015-08-11 12:48:28 +02:00
4a1db13072
arm_disasm: ARMv6 parallel add/sub media instructions
...
{S, U, Q, UQ, SH, UH}{ADD16, ASX, SAX, SUB16, ADD8, SUB8}
2015-08-11 12:48:23 +02:00
0be8e1bfb6
arm_disasm: ARMv6 reversal media instructions
...
REV, REV16, REVSH
Only their ARM encoding, Thumb encoding is still missing.
2015-08-09 13:52:51 +02:00
e4ff244288
arm_disasm: ARMv6 saturation media instructions
...
SSAT, SSAT16, USAT, USAT16
2015-08-09 01:31:10 +02:00
47657a1817
arm_disasm: ARMv6 packing and sign-extend media instructions
...
PKH, SEL
SXTAB, SXTAB16, SXTB, SXTB16, SXTH, SXTAH
UXTAB, UXTAB16, UXTB, UXTB16, UXTH, UXTAH
2015-08-09 01:31:03 +02:00
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