Commit graph

285 commits

Author SHA1 Message Date
bunnei
c51b23b052 Merge pull request #559 from lioncash/clean
arm: Some cleanup. Also fixed the initial ARM mode that is emulated.
2015-02-11 12:02:35 -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
archshift
ef24e72b26 Asserts: break/crash program, fit to style guide; log.h->assert.h
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time)
As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing)

Also removed some GEKKO cruft.
2015-02-10 18:30:31 -08:00
bunnei
5b735bdeea Merge pull request #556 from lioncash/clean
arm: Remove TRUE/FALSE defines
2015-02-10 18:28:30 -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
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