Commit Graph

275 Commits (dab0b5cefbadd8616515dba2babdb79edfce1a17)

Author SHA1 Message Date
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.
10 years ago
Lioncash 53fa04f326 vfpdouble: Fix the FTOUI NaN sign setting
This was fixed for vfpsingle, but not vfpdouble
10 years ago
Lioncash a734e9fdca Throw more unused/unnecessary VFP code out 10 years ago
Lioncash ca7babe062 vfp_helper: Convert some flags to enums. Throw out more duplicated FPSCR stuff 10 years ago
Lioncash d832c48864 vfp_helper: Normalize tabs to spaces 10 years ago
Lioncash 1ecd75ea1a vfp_helper: Remove unnecessary extern C blocks 10 years ago
Lioncash 3e576219c4 vfp: Move FPSID, FPEXC, and FPSCR values over to enums.
Also got rid of duplicate definitions of some of these values.
10 years ago
bunnei 7f900ac68e Merge pull request #537 from lioncash/vfp
vfp: Fix VCVT
10 years ago
bunnei 4d36a6a255 Merge pull request #536 from lioncash/dead
vfp: Throw out unused code
10 years ago
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.
10 years ago
Lioncash 7ecedfb970 vfp: Throw out unused code 10 years ago
Lioncash 3a5a39c6aa dyncom: Remove more unnecessary code 10 years ago
Lioncash 676daef3c7 core: Fix some warnings on OSX 10 years ago
bunnei c8628f5d56 Merge pull request #525 from lioncash/armwarn
vfp: Get rid of some compile warnings
10 years ago
Lioncash 8c944bd1f0 vfp: Get rid of some compile warnings 10 years ago
Lioncash 3f00dd9117 arm: Clean up ARMul_State
Remove unnecessary/unused struct variables.
10 years ago
Lioncash f44781fd7b arm: Adios armemu 10 years ago
Lioncash b6cfc48a0b dyncom: clean up arm_dyncom_dec.h 10 years ago
Lioncash fc1a9e35fb arm: Move headers over to pragma once 10 years ago
Lioncash 83bc1a3120 arm: Get rid of armcpu.h and skyeye_types.h 10 years ago
Lioncash 904194c3e8 arm: Clean out armos.h and armmmu.h 10 years ago
Lioncash 09a66860e2 arm: Throw out a lot of unnecessary code 10 years ago
Lioncash 3dfef1701c armdefs: Move some defines over to enums 10 years ago
Lioncash 7a3e371141 dyncom: Minor cleanup
Narrow scopes for the instruction variables. Remove unnecessary parentheses.
10 years ago
bunnei 547737f720 Update vfp.cpp
VFP: Changed a debug log to trace.
10 years ago
bunnei cc34462b71 Merge pull request #410 from chinhodado/cleanup
Cleanup: Logging in Core
10 years ago
Lioncash e09fb7becc vfp: Clean up vertical alignment for instructions 10 years ago
Lioncash 8810dfe1de dyncom: Minor cleanup
Removes some unused macros and cleans up indentation inconsistencies
10 years ago
Lioncash 8c6edc680c dyncom: Clarify precedence for ternary statements 10 years ago
Chin fa8e6272c8 Cleanup: Logging in Core 10 years ago
Lioncash a873f157d0 dyncom: Implement missing shifts in ScaledRegisterPostIndexed, etc 10 years ago
Lioncash 8575010a68 dyncom: Handle the ARM A2 encoding of STRT/LDRT
These were also missing the shifted register case.
10 years ago
Lioncash 0a5d450e94 dyncom: Handle the ARM A2 encoding of LDRBT/STRBT. 10 years ago
Lioncash 9288893d29 vfp: Remove dead code 10 years ago
Lioncash f7770b83d4 dyncom: Fix 32-bit ASR shifts for immediates 10 years ago
Lioncash e16b35eb53 dyncom: Remove unused flag macros 10 years ago
Lioncash 2843d1b98b dyncom: Get rid of unnecessary outer-scope variables in InterpreterMainLoop 10 years ago
Lioncash 3ace75a49f dyncom: Fix overflow flag setting for ADD/RSB/RSC/SUB/SBC
Also cleans up CMN, and CMP.
10 years ago
Lioncash 9c2c89b7e1 dyncom: Add a helper function for addition with a carry 10 years ago
Lioncash d2a05bbbc6 dyncom: Fix ADC overflow flag setting 10 years ago
Lioncash eabfa5cf43 dyncom: Fix conditional execution of MSR 10 years ago
Yuri Kunde Schlesner 7b3452c730 Move ThreadContext to core/core.h and deal with the fallout 10 years ago
Subv fc842963c8 DynCom: Add a comment to GetTicks. 10 years ago
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
10 years ago
Lioncash 1cef6e92d5 dyncom: Fix UMAAL
These need to be done as a 64-bit operation.
10 years ago
bunnei 4c583732f2 Merge pull request #442 from lioncash/smul
dyncom: Fix SMULWB/SMULWT
10 years ago
Lioncash df5e0f9f28 dyncom: Fix SMULWB/SMULWT
Wasn't doing proper sign-extension
10 years ago
bunnei 3eca33c6a4 Merge pull request #425 from Subv/coretiming
Ported the CoreTiming namespace from PPSSPP
10 years ago
Subv 9bf82beb4c CoreTiming: Ported the CoreTiming namespace from PPSSPP
Implemented the required calls to make it work.

CoreTiming: Added a new logging class Core_Timing.
10 years ago
bunnei 317fe1e528 Merge pull request #438 from lioncash/swp
dyncom: Fix SWPB
10 years ago