Commit Graph

37 Commits (b7aef81cb4f82eff002af86dc11e3ac497d34b87)

Author SHA1 Message Date
bunnei b7aef81cb4 dyncom: Use VFP_FPSCR/VFP_FPEXC. 9 years ago
wwylele 2161f52661 ARM: add ClearInstructionCache function 9 years ago
Lioncash 0f941d0245 dyncom: Reset the context into user mode correctly
The other mode was system mode.
9 years ago
mailwl 4630209c4c Update cpsr (T)humb bit while creating thread 9 years ago
MerryMage a06dcfeb61 Common: Remove Common::make_unique, use std::make_unique 9 years ago
Lioncash 3b457a5876 arm_interface: Implement interface for retrieving VFP registers 10 years ago
Lioncash 816b1ca776 dyncom: Use std::array for register arrays 10 years ago
Lioncash 0ecc6e2f04 dyncom: Use ARMul_State as an object
Gets rid of C-like parameter passing.
10 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.
10 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.
10 years ago
Lioncash dfb424b6d1 dyncom: Rename armdefs.h to armstate.h 10 years ago
Lioncash 0191c26521 dyncom: Move helper functions to their own header 10 years ago
Lioncash 6278937a28 dyncom: Get rid of armemu.h 10 years ago
Lioncash ae0c38a333 Remove unnecessary dyncom header files 10 years ago
Yuri Kunde Schlesner e1fbac3ca1 Common: Remove common.h 10 years ago
bunnei bab5abaf46 Dyncom: Move cream cache to ARMul_State. 10 years ago
Lioncash 8b2b620a5e dyncom: Remove more unused/unnecessary code
Gets rid of a sizeable amount of stuff in armdefs.
10 years ago
Lioncash c3ffe8f9c3 arm_interface: Support retrieval/storage to CP15 registers 10 years ago
Lioncash 8cf81643a9 arm_interface: Get rid of GetTicks.
Removes a TODO.
10 years ago
Lioncash b7fac494cd dyncom: Switch the app and system cores into the correct mode at initialization 10 years ago
Lioncash c3211c9c80 dyncom: Clean up the constructor
Some function calls aren't necessary and would be handled by regular initialization routines.
10 years ago
Lioncash e3f5c6366c arm: Remove ARMul_EmulateInit
This was only used for armemu, which has since been removed. Removed components related to this as well.
10 years ago
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.
10 years ago
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 3f00dd9117 arm: Clean up ARMul_State
Remove unnecessary/unused struct variables.
10 years ago
Lioncash 83bc1a3120 arm: Get rid of armcpu.h and skyeye_types.h 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
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 4783133bbd ARM: Add a mechanism for faking CPU time elapsed during HLE.
- Also a few cleanups.
10 years ago
purpasmart96 ebfd831ccb License change 10 years ago
Emmanuel Gil Peyrot f5d38649c7 Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated 11 years ago
bunnei b8e6f52419 ARM: Fixed dyncom to use reg15 for PC (this core doesn't use pc variable).
- Fixes single stepping in debugger.
11 years ago
bunnei 3409790668 ARM: Fixed several dyncom bugs.
- Fixed NZCVT flags to properly save state when function returns.
- Fixed counter to keep track of the actual number of instructions executed.
- Fixed single-step mode to only execute one instruction at a time.
- DefaultIni: Removed comment that no longer applied to dyncom.
11 years ago
bunnei 818ba32746 ARM: Removed unnecessary and unused SkyEye MMU code.
Added license header back in. I originally removed this because I mostly rewrote the file, but meh
11 years ago
bunnei 53a22b84da ARM: Integrate SkyEye faster "dyncom" interpreter.
Fixed typo (make protected member public)

Added license header back in. I originally removed this because I mostly rewrote the file, but meh

ARM: Fixed a type error in dyncom interpreter.

ARM: Updated dyncom to use unique_ptr for internal ARM state.
11 years ago