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
Lioncash
8617938441
dyncom: Remove unnecessary parameter for load/store operations
11 years ago
bunnei
3a348a90fd
VFP: Log as trace to get rid of spamming.
11 years ago
Lioncash
572c91a024
dyncom: Eliminate clang warnings
Gets rid of a whole load of missing brace initialization warnings.
11 years ago
Yuri Kunde Schlesner
7ada357b2d
Memmap: Re-organize memory function in two files
memory.cpp/h contains definitions related to acessing memory and
configuring the address space
mem_map.cpp/h contains higher-level definitions related to configuring
the address space accoording to the kernel and allocating memory.
11 years ago
Lioncash
8cd72428c9
dyncom: Add ARMv6K NOP and hint instructions to the decoding table
11 years ago
Lioncash
699b67d7cf
dyncom: Handle some MSR variants individually
This is necessary, as hint instructions will be recognized as MSR, which is pretty bad.
11 years ago
Lioncash
be0119be08
dyncom: Move exclusive load/stores above bbl and swi in the decoding table
11 years ago
Lioncash
1e0255364c
dyncom: Remove duplicate enums/prototypes
These are already defined in arm_dyncom_interpreter_dec.cpp.
11 years ago
Lioncash
f4921d0f9d
dyncom: Remove unnecessary defines
These can simply be const vars.
11 years ago
Lioncash
0530fd2499
dyncom: Make translation-unit functions and variables static
11 years ago
Lioncash
773b1ef6bf
vfp: Get rid of warnings
- Unary minus operator applied to unsigned type.
- Unsafe use of bool.
11 years ago
Lioncash
f3c4de4ce4
dyncom: Remove unnecessary typedefs
11 years ago
Lioncash
a48b4ec583
dyncom: Remove unused structs
11 years ago