summaryrefslogtreecommitdiffstats
path: root/src/core/arm/dyncom/arm_dyncom.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner1-1/+1
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot1-7/+4
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-19Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner1-2/+1
2016-09-15arm: ResetContext shouldn't be part of ARM_Interface.bunnei1-9/+0
2016-09-15dyncom: Use VFP_FPSCR/VFP_FPEXC.bunnei1-4/+4
2016-08-27ARM: add ClearInstructionCache functionwwylele1-0/+6
2016-05-09dyncom: Reset the context into user mode correctlyLioncash1-1/+1
The other mode was system mode.
2016-04-08Update cpsr (T)humb bit while creating threadmailwl1-1/+1
2016-04-05Common: Remove Common::make_unique, use std::make_uniqueMerryMage1-3/+2
2015-08-07arm_interface: Implement interface for retrieving VFP registersLioncash1-0/+16
2015-07-26dyncom: Use std::array for register arraysLioncash1-4/+4
2015-07-26dyncom: Use ARMul_State as an objectLioncash1-10/+1
Gets rid of C-like parameter passing.
2015-07-26dyncom: Remove unnecessary initialization code.Lioncash1-7/+0
Targeting ARM version variants was only a thing on armemu. The reset routine also does basically the same thing as NewState.
2015-07-26dyncom: Remove unnecessary abort-related cruftLioncash1-3/+0
Both the MPCore and the ARM9 have the same data abort model (base restored), so differentiating isn't necessary.
2015-07-26dyncom: Rename armdefs.h to armstate.hLioncash1-1/+1
2015-07-26dyncom: Move helper functions to their own headerLioncash1-0/+1
2015-05-24dyncom: Get rid of armemu.hLioncash1-1/+1
2015-05-11fixup! Set the TLS address in the schedulerSubv1-4/+1
2015-05-11Core/Memory: Give every emulated thread it's own TLS area.Subv1-1/+4
The TLS area for thread T with id Ti is located at TLS_AREA_VADDR + (Ti - 1) * 0x200. This allows some games like Mario Kart 7 to continue further.
2015-05-08Remove unnecessary dyncom header filesLioncash1-5/+0
2015-05-07Common: Remove common.hYuri Kunde Schlesner1-0/+2
2015-05-02Dyncom: Move cream cache to ARMul_State.bunnei1-1/+3
2015-04-20dyncom: Remove more unused/unnecessary codeLioncash1-6/+0
Gets rid of a sizeable amount of stuff in armdefs.
2015-04-06arm_interface: Support retrieval/storage to CP15 registersLioncash1-0/+8
2015-03-16arm_interface: Get rid of GetTicks.Lioncash1-5/+0
Removes a TODO.
2015-02-13dyncom: Switch the app and system cores into the correct mode at initializationLioncash1-1/+5
2015-02-13dyncom: Clean up the constructorLioncash1-7/+4
Some function calls aren't necessary and would be handled by regular initialization routines.
2015-02-12arm: Remove ARMul_EmulateInitLioncash1-6/+1
This was only used for armemu, which has since been removed. Removed components related to this as well.
2015-02-11arm: Get rid of some magic constants. Specify proper ARM mode.Lioncash1-2/+2
Initially, we were starting the emulator in USER26MODE, which is incorrect, this should be USER32MODE.
2015-02-10Scheduler refactor Pt. 1Kevin Hartman1-0/+10
* 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-01arm: Clean up ARMul_StateLioncash1-6/+3
Remove unnecessary/unused struct variables.
2015-01-30arm: Get rid of armcpu.h and skyeye_types.hLioncash1-1/+0
2015-01-09Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner1-2/+3
2015-01-09DynCom: Add a comment to GetTicks.Subv1-0/+1
2015-01-09Timing: Use CoreTiming::GetTicks to keep track of ticks.Subv1-3/+2
This will keep track of idle ticks for us, and fixes some tickcount-related issues
2015-01-07CoreTiming: Ported the CoreTiming namespace from PPSSPPSubv1-1/+7
Implemented the required calls to make it work. CoreTiming: Added a new logging class Core_Timing.
2014-12-26ARM: Add a mechanism for faking CPU time elapsed during HLE.bunnei1-45/+4
- Also a few cleanups.
2014-12-21License changepurpasmart961-1/+1
2014-11-19Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot1-2/+2
2014-11-12ARM: Fixed dyncom to use reg15 for PC (this core doesn't use pc variable).bunnei1-2/+2
- Fixes single stepping in debugger.
2014-11-12ARM: Fixed several dyncom bugs.bunnei1-2/+5
- 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.
2014-10-25ARM: Removed unnecessary and unused SkyEye MMU code.bunnei1-1/+0
Added license header back in. I originally removed this because I mostly rewrote the file, but meh
2014-10-25ARM: Integrate SkyEye faster "dyncom" interpreter.bunnei1-26/+36
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.
2014-10-25ARM: Reorganized file structure to move shared SkyEye code to a more common area.bunnei1-2/+2
Removed s_ prefix
2014-08-31Threading: Fix thread starting to execute first instruction correctly.bunnei1-1/+1
2014-08-28Threading: Fix thread starting to execute first instruction correctly.bunnei1-1/+1
2014-07-24ARM: Synchronize Citra's SkyEye core with 3dmoo's.bunnei1-1/+5
2014-06-05arm: fixed a bug where ARM_Interpreter::ExecuteInstructions was actually executing one more instruction than expectedbunnei1-1/+1
2014-06-05arm: fixed bug in how thread context switch occurs with SkyEyebunnei1-2/+5
2014-06-02arm: added option to prepare CPU core (while mid-instruction) for thread reschedulebunnei1-0/+5
2014-05-23arm_interpreter: fixed load context to currently resume a threadbunnei1-1/+4
2014-05-21ARM_Interpreter/ARM_Interface: Fixed member variable naming to be consistent with style guidebunnei1-39/+39
2014-05-21ARM_Interface: added SaveContext and LoadContext functions for HLE thread switchingbunnei1-0/+36
2014-05-17updated how we call ARM core to make things much fasterbunnei1-12/+7
2014-05-16fixed include pathbunnei1-1/+1
2014-05-12added option to set CPSR register to arm_interfacebunnei1-0/+8
2014-04-11cleaned up arm_interface, added a setter to set registers for use with HLE return valuesbunnei1-4/+35
2014-04-09fixed licensing and updated code style naming for arm_interface/arm_interpreter frontend modulebunnei1-55/+38
2014-04-09got rid of 'src' folders in each sub-projectbunnei1-0/+0
2014-04-05added initial support for hw.cpp modulebunnei1-22/+22
2014-04-05- added an interface layer for ARM coresbunnei1-0/+86
- cleaned up core.cpp a bit