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
bunnei
67db6aa4ce
Merge pull request #553 from lioncash/denorm
...
vfp: Normalize accumulator for multiply accumulate instructions
2015-02-10 10:09:45 -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
Kevin Hartman
5fcbfc06eb
Scheduler refactor Pt. 1
...
* Simplifies scheduling logic, specifically regarding thread status. It should be much clearer which statuses are valid
for a thread at any given point in the system.
* Removes dead code from thread.cpp.
* Moves the implementation of resetting a ThreadContext to the corresponding core's implementation.
Other changes:
* Fixed comments in arm interfaces.
* Updated comments in thread.cpp
* Removed confusing, useless, functions like MakeReady() and ChangeStatus() from thread.cpp.
* Removed stack_size from Thread. In the CTR kernel, the thread's stack would be allocated before thread creation.
2015-02-09 21:47:12 -08: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
bunnei
7f900ac68e
Merge pull request #537 from lioncash/vfp
...
vfp: Fix VCVT
2015-02-04 14:58:36 -05:00
bunnei
4d36a6a255
Merge pull request #536 from lioncash/dead
...
vfp: Throw out unused code
2015-02-04 14:57:00 -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
bunnei
c8628f5d56
Merge pull request #525 from lioncash/armwarn
...
vfp: Get rid of some compile warnings
2015-02-01 00:28:50 -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
7a3e371141
dyncom: Minor cleanup
...
Narrow scopes for the instruction variables. Remove unnecessary parentheses.
2015-01-27 08:51:18 -05:00
bunnei
547737f720
Update vfp.cpp
...
VFP: Changed a debug log to trace.
2015-01-26 21:38:53 -05:00
bunnei
cc34462b71
Merge pull request #410 from chinhodado/cleanup
...
Cleanup: Logging in Core
2015-01-24 00:41:10 -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
8c6edc680c
dyncom: Clarify precedence for ternary statements
2015-01-19 20:35:55 -05:00
Chin
fa8e6272c8
Cleanup: Logging in Core
2015-01-19 16:01:06 -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
Lioncash
3ace75a49f
dyncom: Fix overflow flag setting for ADD/RSB/RSC/SUB/SBC
...
Also cleans up CMN, and CMP.
2015-01-12 01:03:58 -05:00
Lioncash
9c2c89b7e1
dyncom: Add a helper function for addition with a carry
2015-01-12 00:44:28 -05:00
Lioncash
d2a05bbbc6
dyncom: Fix ADC overflow flag setting
2015-01-11 22:27:09 -05:00
Lioncash
eabfa5cf43
dyncom: Fix conditional execution of MSR
2015-01-11 18:45:45 -05:00
Yuri Kunde Schlesner
7b3452c730
Move ThreadContext to core/core.h and deal with the fallout
2015-01-09 03:51:55 -02:00
Subv
fc842963c8
DynCom: Add a comment to GetTicks.
2015-01-08 19:46:00 -05:00
Subv
620d77b7e3
Timing: Use CoreTiming::GetTicks to keep track of ticks.
...
This will keep track of idle ticks for us, and fixes some tickcount-related issues
2015-01-08 19:39:14 -05:00