Lioncash
2a19de1d09
Merge pull request #741 from Subv/tls
...
Give each emulated thread it's own TLS memory
2015-05-10 20:50:23 -04:00
Lioncash
088f6ae2c6
Merge pull request #736 from yuriks/remove-BIT
...
Common: Remove the BIT macro
2015-05-09 20:16:42 -04:00
Lioncash
cb92817fb0
Merge pull request #733 from yuriks/remove-bin
...
Loader: Remove .bin file support
2015-05-08 22:32:06 -04:00
Lioncash
1622068198
Merge pull request #728 from lioncash/vars
...
dyncom: Remove an unnecessary variable in the interpreter
2015-05-07 21:09:03 -04:00
Lioncash
3effb80f26
Merge pull request #729 from lioncash/garb
...
Remove unnecessary dyncom header files
2015-05-07 21:07:44 -04:00
Lioncash
ae0c38a333
Remove unnecessary dyncom header files
2015-05-07 20:45:28 -04:00
Lioncash
31dc8b8890
dyncom: Remove an unnecessary variable in the interpreter
...
All this was doing was needlessly aliasing a variable.
2015-05-07 19:34:04 -04:00
Lioncash
9adad45b0f
string_util: Get rid of UriDecode/UriEncode
2015-05-07 17:10:55 -04:00
Lioncash
1baab50e7c
ptm_sysm: Add static specifier to IsLegacyPowerOff
2015-04-24 18:23:20 -04:00
Lioncash
8b2b620a5e
dyncom: Remove more unused/unnecessary code
...
Gets rid of a sizeable amount of stuff in armdefs.
2015-04-20 16:30:34 -04:00
Lioncash
d66a12c6f6
dyncom: Remove unused/unnecessary VFP cruft
2015-04-17 20:46:05 -04:00
Lioncash
7da90dee42
gpu: Fix a missing format specifier
2015-04-07 10:38:49 -04:00
Lioncash
a6c9e453b2
dyncom: Remove unnecessary enum and typedef
...
Also fixes descriptions in the process.
2015-04-07 08:05:41 -04:00
Lioncash
29a4b6c7ed
vfp: Make the FPSID values match the MPCore
2015-04-06 16:09:35 -04:00
Lioncash
f9cc6d6484
vfp: Get rid of the VFP_OFFSET macro
2015-04-06 16:09:28 -04:00
Lioncash
8004d35ea1
core: Migrate 3DS-specific CP15 register setting into Init
2015-04-06 13:01:19 -04:00
Lioncash
c3ffe8f9c3
arm_interface: Support retrieval/storage to CP15 registers
2015-04-06 12:57:49 -04:00
Lioncash
b7b8b67620
Move CP15 enum definitions into their own enum.
...
Also gets rid of preprocessor mumbo-jumbo
2015-04-06 12:48:35 -04:00
Lioncash
23dd2ca8a6
dyncom: Properly return the value of the user RO thread register
2015-04-06 09:26:04 -04:00
Lioncash
e628ed4810
dyncom: Set CP15 reset values on initialization
2015-04-06 09:16:42 -04:00
Lioncash
bb7dac022e
dyncom: Suppress uninitialized variable warnings
...
The switch cases will always be hit, but this makes compilers stop complaining.
2015-04-05 23:49:06 -04:00
Lioncash
490df716f3
dyncom: Move CP15 register writing into its own function.
...
Also implements writing to the rest of the ARM11 MPCore CP15 register set.
2015-04-02 00:20:52 -04:00
Lioncash
5e5954c63b
dyncom: Move CP15 register reading into its own function.
...
Keeps everything contained. Added all supported readable registers in an ARM11 MPCore.
2015-04-02 00:19:11 -04:00
Lioncash
e05d6220f5
disassembler: Get rid of a const_cast
2015-03-30 15:37:34 -04:00
Lioncash
0520a3b178
callstack: Remove unnecessary disassembler instantiation
...
Decode is a static function. There's no need to allocate a disassembler instance.
2015-03-30 11:25:02 -04:00
Lioncash
de6eba0288
dyncom: Migrate InAPrivilegedMode to armsupp
...
It's a generic helper function, so it should be here anyway.
2015-03-26 09:22:02 -04:00
Lioncash
a80d93685a
dyncom: Implement SRS
2015-03-24 12:44:31 -04:00
Lioncash
cde671795c
dyncom: Implement RFE
2015-03-24 11:34:48 -04:00
Lioncash
2df10d2284
dyncom: Remove unused/unnecessary macros and macro constants
2015-03-24 09:55:56 -04:00
Lioncash
f23f2a9a42
armmmu: Remove unnecessary enum values
...
We don't need to care about XScale or Intel specific ARM stuff.
2015-03-20 19:35:32 -04:00
Lioncash
9fdb311d6e
dyncom: Make Load/Store instructions support big endian
2015-03-17 15:13:32 -04:00
Lioncash
8cf81643a9
arm_interface: Get rid of GetTicks.
...
Removes a TODO.
2015-03-16 12:18:37 -04:00
Lioncash
f280806214
dyncom: Implement SETEND
2015-03-14 23:08:36 -04:00
Lioncash
e34ba68e1f
dyncom: Minor cleanup
...
Assemblers will exit with an error when trying to assemble instructions with disallowed registers.
2015-03-10 08:13:58 -04:00
Lioncash
386dbab5ea
dyncom: Fix an indexing bug in STM
...
Previously it would write the contents of register 13 for the case where the link register (r14) is supposed to be written.
2015-03-08 22:03:11 -04:00
Lioncash
36dab56c31
dyncom: General cleanup of STM
2015-03-08 22:03:06 -04:00
Lioncash
e37425b380
dyncom: Increment addr when accessing LR in LDM
2015-03-08 21:46:57 -04:00
Lioncash
4b89cf9e43
vfp: Get rid of warnings
2015-03-03 19:13:01 -05:00
Lioncash
9ed3488925
arm_disasm: Show conditional code for BKPT instructions.
...
Changed cond_to_str to take a uint32, since unsigned numbers are only ever passed to it, and this can be a source of warnings for some compilers (also indexing an array without bounds checking a signed number is kind of iffy).
2015-02-27 21:59:30 -05:00
Lioncash
1a70782cda
arm_disasm: Remove unused variable
...
Also declared an array as static, as it's only used in this translation unit.
2015-02-27 21:31:36 -05:00
Lioncash
99ff8bbb0c
result: Make comparison operators take references
...
It's unnecessary to make copies for simple comparisons like this.
2015-02-27 21:16:21 -05:00
Lioncash
8812d2fbdb
arm: The CP15 Main ID register is not writeable
2015-02-26 09:28:31 -05:00
Lioncash
1bb400be1b
arm: Remove unnecessary booleans
...
We don't care about any of these.
2015-02-25 10:55:50 -05:00
Lioncash
4f910bb1a1
vfpinstr: Fix trivial signed/unsigned mismatch warnings
2015-02-17 18:53:50 -05:00
Lioncash
5d2366e1e9
core/video_core: Use in-place construction where possible
2015-02-17 17:57:23 -05:00
Lioncash
a7120662e6
dyncom: Support conditional BKPT instructions
2015-02-17 01:37:22 -05:00
Lioncash
012d1e32ad
dyncom: Actually set the destination register for USAD8/USADA8.
...
Idiotville: Population: 1 - Inhabitant name: Lioncash
2015-02-16 01:03:01 -05:00
Lioncash
f0c4bd629c
vfpdouble: Use %p for printing pointer addresses.
2015-02-15 17:11:02 -05:00
Lioncash
473afa4530
arm: Set the A bit on reset.
...
This enum value is ORed against in ARMul_Reset (and used to refer to all interrupt bits in the CPSR). So simply updating this is enough.
2015-02-15 00:35:50 -05:00
Lioncash
0c6434c379
core: Apply static to local functions
2015-02-13 10:48:32 -05:00
Lioncash
a75e1ff6e6
arm: General cleanup
...
- Remove several typedefs for ARMul_State.
- Remove unused functions
- Remove unused/unnecessary headers
- Removed unused enums, etc.
2015-02-13 09:11:12 -05:00
Lioncash
b7fac494cd
dyncom: Switch the app and system cores into the correct mode at initialization
2015-02-12 21:54:28 -05:00
Lioncash
c3211c9c80
dyncom: Clean up the constructor
...
Some function calls aren't necessary and would be handled by regular initialization routines.
2015-02-12 21:50:51 -05:00
Lioncash
3c474a7d31
backend: Add logging subentry for ldr
...
Fixes an assertion upon executing citra in debug mode.
2015-02-12 20:46:13 -05:00
Lioncash
df9e0c0f81
dyncom: Remove warning for SXTAH
...
This is tested to work correctly.
2015-02-12 20:11:20 -05:00
Lioncash
e3f5c6366c
arm: Remove ARMul_EmulateInit
...
This was only used for armemu, which has since been removed. Removed components related to this as well.
2015-02-12 11:30:28 -05:00
Lioncash
f48b0100a6
armdefs: Remove unnecessary extern C
2015-02-12 08:29:57 -05:00
Lioncash
49a22acd02
arm: Remove ARM26 support.
...
This will never be used. 32-bit is the norm.
2015-02-11 12:23:21 -05:00
Lioncash
c94c41f95a
arm: Get rid of some magic constants. Specify proper ARM mode.
...
Initially, we were starting the emulator in USER26MODE, which is incorrect, this should be USER32MODE.
2015-02-11 10:49:55 -05:00
Lioncash
93cd199633
arm: Change some more constants into enums
2015-02-11 10:14:20 -05:00
Lioncash
088fab743f
arm: Remove TRUE/FALSE defines
...
- Removed the Debug parameter from ARMul_State since it isn't used.
- Changed ARMul_CoProInit to a void function. It always returned true.
2015-02-10 13:09:41 -05:00
Lioncash
8d2fb3bb2b
arm_dyncom_thumb: Make lookup tables static
...
These don't need to be recreated all the time.
2015-02-10 10:42:09 -05:00
Lioncash
3eccc66abf
dyncom: Add more regs to MCR/MRC
...
Adds the registers that were left out of some coprocessor ranges.
2015-02-10 09:34:42 -05:00
Lioncash
a86d5e2752
vfp: Normalize accumulator for multiply accumulate instructions
2015-02-10 08:16:26 -05:00
Lioncash
53fa04f326
vfpdouble: Fix the FTOUI NaN sign setting
...
This was fixed for vfpsingle, but not vfpdouble
2015-02-09 17:18:29 -05:00
Lioncash
a734e9fdca
Throw more unused/unnecessary VFP code out
2015-02-09 11:54:39 -05:00
Lioncash
ca7babe062
vfp_helper: Convert some flags to enums. Throw out more duplicated FPSCR stuff
2015-02-09 09:53:17 -05:00
Lioncash
d832c48864
vfp_helper: Normalize tabs to spaces
2015-02-09 09:32:56 -05:00
Lioncash
1ecd75ea1a
vfp_helper: Remove unnecessary extern C blocks
2015-02-06 14:52:29 -05:00
Lioncash
3e576219c4
vfp: Move FPSID, FPEXC, and FPSCR values over to enums.
...
Also got rid of duplicate definitions of some of these values.
2015-02-06 14:52:05 -05:00
Lioncash
82e8f25fe7
vfp: Fix VCVT
...
These variants exclusively read from the single precision regs and write to double-precision registers
Fixes issues where converted values would be way off from what they should be due to the results being stored in the wrong registers.
2015-02-04 14:06:10 -05:00
Lioncash
7ecedfb970
vfp: Throw out unused code
2015-02-04 13:11:03 -05:00
Lioncash
3a5a39c6aa
dyncom: Remove more unnecessary code
2015-02-03 14:05:53 -05:00
Lioncash
676daef3c7
core: Fix some warnings on OSX
2015-02-03 08:14:42 -05:00
Lioncash
8c944bd1f0
vfp: Get rid of some compile warnings
2015-01-31 22:14:00 -05:00
Lioncash
3f00dd9117
arm: Clean up ARMul_State
...
Remove unnecessary/unused struct variables.
2015-01-31 21:55:34 -05:00
Lioncash
f44781fd7b
arm: Adios armemu
2015-01-31 20:43:03 -05:00
Lioncash
b6cfc48a0b
dyncom: clean up arm_dyncom_dec.h
2015-01-30 16:28:52 -05:00
Lioncash
fc1a9e35fb
arm: Move headers over to pragma once
2015-01-30 16:17:02 -05:00
Lioncash
83bc1a3120
arm: Get rid of armcpu.h and skyeye_types.h
2015-01-30 16:16:58 -05:00
Lioncash
904194c3e8
arm: Clean out armos.h and armmmu.h
2015-01-30 15:48:57 -05:00
Lioncash
09a66860e2
arm: Throw out a lot of unnecessary code
2015-01-30 13:32:03 -05:00
Lioncash
3dfef1701c
armdefs: Move some defines over to enums
2015-01-30 12:43:58 -05:00
Lioncash
96c174aed4
shared_memory: Fix assignments in SharedMemory::Map
2015-01-30 11:37:53 -05:00
Lioncash
0c4685ca12
loader: Add missing printf argument
2015-01-30 11:34:05 -05:00
Lioncash
551264f815
archive: Fix initializer list order for the File class.
2015-01-30 11:30:22 -05:00
Lioncash
0c53cc52bd
apt_u: Fix missing printf specifiers
2015-01-30 11:28:09 -05:00
Lioncash
7a3e371141
dyncom: Minor cleanup
...
Narrow scopes for the instruction variables. Remove unnecessary parentheses.
2015-01-27 08:51:18 -05:00
Lioncash
e09fb7becc
vfp: Clean up vertical alignment for instructions
2015-01-23 13:35:08 -05:00
Lioncash
8810dfe1de
dyncom: Minor cleanup
...
Removes some unused macros and cleans up indentation inconsistencies
2015-01-22 09:39:41 -05:00
Lioncash
a3f5e5605c
core: Fix a few docstrings
2015-01-20 13:52:44 -05:00
Lioncash
bfef0aa07e
core_timing: Mark several variables as static
...
These are only used in this translation unit.
2015-01-20 13:49:10 -05:00
Lioncash
8c6edc680c
dyncom: Clarify precedence for ternary statements
2015-01-19 20:35:55 -05:00
Lioncash
a873f157d0
dyncom: Implement missing shifts in ScaledRegisterPostIndexed, etc
2015-01-18 18:32:02 -05:00
Lioncash
8575010a68
dyncom: Handle the ARM A2 encoding of STRT/LDRT
...
These were also missing the shifted register case.
2015-01-17 13:53:35 -05:00
Lioncash
0a5d450e94
dyncom: Handle the ARM A2 encoding of LDRBT/STRBT.
2015-01-16 21:05:27 -05:00
Lioncash
9288893d29
vfp: Remove dead code
2015-01-12 15:24:57 -05:00
Lioncash
f7770b83d4
dyncom: Fix 32-bit ASR shifts for immediates
2015-01-12 14:15:24 -05:00
Lioncash
e16b35eb53
dyncom: Remove unused flag macros
2015-01-12 12:57:15 -05:00
Lioncash
2843d1b98b
dyncom: Get rid of unnecessary outer-scope variables in InterpreterMainLoop
2015-01-12 01:11:46 -05:00