Lioncash
08147474cb
general: Silence some warnings when using clang
10 years ago
Lioncash
5c77b656b8
General: Replace NULL and '0' usages with nullptr where applicable
10 years ago
archshift
358f54fa1d
DynCom: Converted all 0xE condition code checks to ConditionCode::AL
10 years ago
Lioncash
3fb10e8f62
dyncom: Simplify some comparisons in CondPassed
11 years ago
Lioncash
f8425c3dad
dyncom: Change return type of CondPassed to bool
11 years ago
Yuri Kunde Schlesner
424b0fa646
Integrate the MicroProfile profiling library
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
11 years ago
Yuri Kunde Schlesner
168d376c67
Memory: Move address type conversion routines to memory.cpp/h
These helpers aren't really part of the kernel, and mem_map.cpp/h is
going to be moved there next.
11 years ago
Lioncash
d7335fa5f0
vfp: use std::swap where applicable
11 years ago
Emmanuel Gil Peyrot
fe83e1f777
ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types.
11 years ago
aroulin
1af26ea3d8
arm_disasm: ARMv6 mul/div and abs media instructions
SMLAD, SMUAD, SMLSD, SMUSD, SMLALD, SMLSLD,
SMMLA, SMMUL, SMMLS
USAD8, USADA8
11 years ago
aroulin
0e37ee5692
arm_disasm: ARMv6 parallel add/sub media instructions
{S, U, Q, UQ, SH, UH}{ADD16, ASX, SAX, SUB16, ADD8, SUB8}
11 years ago
aroulin
e752fd5728
arm_disasm: ARMv6 reversal media instructions
REV, REV16, REVSH
Only their ARM encoding, Thumb encoding is still missing.
11 years ago
aroulin
86d63d8fd8
arm_disasm: ARMv6 saturation media instructions
SSAT, SSAT16, USAT, USAT16
11 years ago
aroulin
aecd0de63e
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
daabb4fab3
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
4721ff6747
Disassembler: ARMv6K REX instructions
11 years ago
aroulin
0d4ad676e9
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