Emmanuel Gil Peyrot
5115d0177e
ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types.
11 years ago
aroulin
38c87733d9
arm_disasm: ARMv6 mul/div and abs media instructions
SMLAD, SMUAD, SMLSD, SMUSD, SMLALD, SMLSLD,
SMMLA, SMMUL, SMMLS
USAD8, USADA8
11 years ago
aroulin
4a1db13072
arm_disasm: ARMv6 parallel add/sub media instructions
{S, U, Q, UQ, SH, UH}{ADD16, ASX, SAX, SUB16, ADD8, SUB8}
11 years ago
aroulin
0be8e1bfb6
arm_disasm: ARMv6 reversal media instructions
REV, REV16, REVSH
Only their ARM encoding, Thumb encoding is still missing.
11 years ago
aroulin
e4ff244288
arm_disasm: ARMv6 saturation media instructions
SSAT, SSAT16, USAT, USAT16
11 years ago
aroulin
47657a1817
arm_disasm: ARMv6 packing and sign-extend media instructions
PKH, SEL
SXTAB, SXTAB16, SXTB, SXTB16, SXTH, SXTAH
UXTAB, UXTAB16, UXTB, UXTB16, UXTH, UXTAH
11 years ago
Lioncash
3b457a5876
arm_interface: Implement interface for retrieving VFP registers
11 years ago
Lioncash
59d5358068
arm_disasm: Remove unnecessary code
This part of disassembly only determines the opcode, there's no need for offset calculation here.
11 years ago
aroulin
3425cfe54a
Disassembler: ARMv6K REX instructions
11 years ago
aroulin
5d81a2fd48
Disassembler: ARMv6K hint instructions
11 years ago
Lioncash
46663d657f
dyncom: Remove an unused variable
This was used prior to InterpreterTranslate existing.
11 years ago
Lioncash
2e420aba3c
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
11 years ago
Lioncash
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).
11 years ago
Lioncash
9be4ef3879
dyncom: Remove an unnecessary typedef
11 years ago
Lioncash
89540ea761
dyncom: Use enum class for instruction decoding results
11 years ago
Lioncash
7e4fb4db19
dyncom: Remove code duplication regarding thumb instructions
11 years ago
Lioncash
a507ea23c1
dyncom: Migrate exclusive memory access control into armstate
11 years ago
Lioncash
db4e99c186
dyncom: Remove duplicated typedef and extern
These are already present in arm_dyncom_dec.h.
11 years ago
Lioncash
816b1ca776
dyncom: Use std::array for register arrays
11 years ago
Lioncash
0ecc6e2f04
dyncom: Use ARMul_State as an object
Gets rid of C-like parameter passing.
11 years ago
Lioncash
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.
11 years ago
Lioncash
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.
11 years ago
Lioncash
dfb424b6d1
dyncom: Rename armdefs.h to armstate.h
11 years ago
Lioncash
4bb1a5ca47
dyncom: Get rid of skyeye typedefs
11 years ago
Lioncash
0191c26521
dyncom: Move helper functions to their own header
11 years ago
Lioncash
6b73e4566b
dyncom: Move arminit.cpp and armsupp.cpp into skyeye_common
11 years ago
Lioncash
f7ba683dc3
armdefs: Remove unnecessary extern keywords
11 years ago
Lioncash
c2689b8c2c
dyncom: Pass SVC immediates directly.
Previously it would just re-read the already decoded instruction and extract the immediate value.
11 years ago
Lioncash
a2f0a3d019
dyncom: Properly retrieve the PC value in BX if used.
11 years ago
Yuri Kunde Schlesner
13286903e6
Dyncom: Support for a missing ARMv6 Thumb MOV encoding
11 years ago
Lioncash
23dbbb786a
arm_dyncom_interpreter: Simplify assignment in SMLAW
Also a side-benefit of not having implementation-defined behavior.
11 years ago
Lioncash
e3e8ad48c1
vfp: Change return type of VFPInit from unsigned int to void.
11 years ago
Lioncash
32a6379bc8
vfp: Handle accesses to FPINST/FPINST2 system registers
Also has a side-benefit of correcting access to the FPEXC register.
11 years ago
Emmanuel Gil Peyrot
f48b28ad27
Core, VideoCore: Replace or fix exit() calls.
11 years ago
Emmanuel Gil Peyrot
aea15f5c73
Core: Cleanup core includes.
11 years ago
Emmanuel Gil Peyrot
8cf9eb7f43
Common: Fix FileUtil includes, and everything relying on those.
11 years ago
Lioncash
71858fc7cc
vfp: Handle accesses to the VFP media feature registers
These are able to be accessed in any privilege mode.
11 years ago
Lioncash
e817224f89
vfp: Implement VMOVBCR/VMOVBRC
11 years ago
Lioncash
04f204ed00
arm_dyncom_thumb: Fix handling of writeback for thumb LDMIA
11 years ago
Lioncash
c00781a908
arm_dyncom_thumb: Fix encoding of BKPT's immediate
11 years ago
Lioncash
85b1dddda1
arm_dyncom_thumb: Implement CPS and SETEND
11 years ago
Lioncash
7caef19c89
arm_dyncom_thumb: Implement SXTH, SXTB, UXTH, and UXTB.
11 years ago
Lioncash
b64dea80ce
arm_dyncom_thumb: Implement REV, REV16, and REVSH.
11 years ago
Emmanuel Gil Peyrot
b1503b2020
Remove every trailing whitespace from the project (but externals).
11 years ago
Lioncash
0265d950e6
arm_dyncom_thumb: Merge STR/LDR table subsets.
11 years ago
Lioncash
f62ab75c67
arm_dyncom_interpreter: Remove unused variable
Thum decoding directly checks if the thumb bit is set instead of using a temporary.
11 years ago
Lioncash
8c1ab1c2c4
arm_dyncom_interpreter: Remove unused macro
11 years ago
Lioncash
6278937a28
dyncom: Get rid of armemu.h
11 years ago
Lioncash
92fd2753c5
dyncom: Remove unused cpu parameter from decode_thumb_instr
11 years ago
Lioncash
097d8282a6
dyncom: remove load_r15 from arm_inst
It's entirely unused. Also allows getting rid of more clunky macros.
11 years ago