Lioncash
b051082129
arm_interface: Replace kernel vm_manager include with a forward declaration
...
Avoids an unnecessary inclusion and also uncovers three places where
indirect inclusions were relied upon, which allows us to also resolve
those.
2018-09-20 19:35:36 -04:00
Lioncash
aa531b9abe
arm_interface: Remove ARM11-isms from the CPU interface
...
This modifies the CPU interface to more accurately match an
AArch64-supporting CPU as opposed to an ARM11 one. Two of the methods
don't even make sense to keep around for this interface, as Adv Simd is
used, rather than the VFP in the primary execution state. This is
essentially a modernization change that should have occurred from the
get-go.
2018-09-18 03:20:04 -04:00
fearlessTobi
1190ea6ddb
Port #4182 from Citra: "Prefix all size_t with std::"
2018-09-15 15:21:06 +02:00
Lioncash
e46ac56321
core: Namespace all code in the arm subdirectory under the Core namespace
...
Gets all of these types and interfaces out of the global namespace.
2018-08-24 21:50:39 -04:00
bunnei
51ba7c8827
Merge pull request #750 from lioncash/ctx
...
arm_interface: Remove unused tls_address member of ThreadContext
2018-07-21 11:38:16 -07:00
Subv
196a689d20
CPU: Save and restore the TPIDR_EL0 system register on every context switch.
...
Note that there's currently a dynarmic bug preventing this register from being written.
2018-07-20 19:57:45 -05:00
Lioncash
f4047ccd48
arm_interface: Remove unused tls_address member of ThreadContext
...
Currently, the TLS address is set within the scheduler, making this
member unused.
2018-07-20 18:57:40 -04:00
MerryMage
bd97579188
scheduler: Clear exclusive state when switching contexts
2018-07-16 11:24:00 +01:00
bunnei
8d9b2cb438
Merge pull request #193 from N00byKing/3184_2_robotic_boogaloo
...
Implement Pull #3184 from citra: core/arm: Improve timing accuracy before service calls in JIT (Rebased)
2018-03-18 22:35:47 -04:00
bunnei
256153c50c
arm_interface: Support unmapping previously mapped memory.
2018-03-16 18:32:24 -04:00
N00byKing
3660aa9318
Implements citra-emu/citra#3184
2018-02-25 11:44:21 +01:00
MerryMage
41bfd994f6
clang-format
2018-01-16 18:05:21 +00:00
MerryMage
ced9768819
arm_dynarmic: Implement core
2018-01-12 17:48:29 -05:00
bunnei
b055ea2699
arm: Remove SkyEye/Dyncom code that is ARMv6-only.
2018-01-02 22:24:12 -05:00
bunnei
775cf60729
Merge remote-tracking branch 'upstream/master' into nx
...
# Conflicts:
# src/core/CMakeLists.txt
# src/core/arm/dynarmic/arm_dynarmic.cpp
# src/core/arm/dyncom/arm_dyncom.cpp
# src/core/hle/kernel/process.cpp
# src/core/hle/kernel/thread.cpp
# src/core/hle/kernel/thread.h
# src/core/hle/kernel/vm_manager.cpp
# src/core/loader/3dsx.cpp
# src/core/loader/elf.cpp
# src/core/loader/ncch.cpp
# src/core/memory.cpp
# src/core/memory.h
# src/core/memory_setup.h
2017-10-09 23:56:20 -04:00
bunnei
47d0206ac7
arm_interface: Set TLS address for dynarmic core.
2017-09-30 14:34:03 -04:00
bunnei
7f1ce2cf68
arm: Use 64-bit addressing in a bunch of places.
2017-09-30 14:28:53 -04:00
Huw Pascoe
ed9e0618c9
Moved down_count to CoreTiming
2017-09-30 17:38:14 +01:00
MerryMage
0e49bffe03
ARM_Interface: Implement PageTableChanged
2017-09-24 23:08:25 +01:00
bunnei
d445aad022
ThreadContext: Move from "core" to "arm_interface".
2016-12-22 00:27:49 -05:00
Yuri Kunde Schlesner
1e4a5da9f4
Manually tweak source formatting and then re-run clang-format
2016-09-18 21:14:25 -07:00
Emmanuel Gil Peyrot
628ed4376a
Sources: Run clang-format on everything.
2016-09-18 09:38:01 +09:00
bunnei
acdc361fc0
arm: ResetContext shouldn't be part of ARM_Interface.
2016-09-15 17:49:30 -04:00
wwylele
913472e010
ARM: add ClearInstructionCache function
2016-08-27 21:38:06 +08:00
Jannik Vogel
f39adfffe7
Set fpscr for new threads
2016-05-17 08:59:52 +02:00
Lioncash
0f083bdf0f
arm_interface: Make GetNumInstructions const
2015-12-06 15:07:59 -05:00
Lioncash
dd441a3dd6
arm_interface: directly initialize class members
2015-12-06 15:07:00 -05:00
Lioncash
daabb4fab3
arm_interface: Implement interface for retrieving VFP registers
2015-08-06 21:24:25 -04:00
Yuri Kunde Schlesner
e1fbac3ca1
Common: Remove common.h
2015-05-07 15:45:22 -03:00
Lioncash
c3ffe8f9c3
arm_interface: Support retrieval/storage to CP15 registers
2015-04-06 12:57:49 -04:00
Lioncash
8cf81643a9
arm_interface: Get rid of GetTicks.
...
Removes a TODO.
2015-03-16 12:18:37 -04: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
Yuri Kunde Schlesner
7b3452c730
Move ThreadContext to core/core.h and deal with the fallout
2015-01-09 03:51:55 -02:00
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.
2015-01-07 15:08:35 -05:00
bunnei
4783133bbd
ARM: Add a mechanism for faking CPU time elapsed during HLE.
...
- Also a few cleanups.
2014-12-25 22:46:44 -05:00
purpasmart96
ebfd831ccb
License change
2014-12-20 21:20:24 -08:00
Emmanuel Gil Peyrot
f5d38649c7
Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated
2014-11-19 09:03:07 +00:00
Lioncash
e8f4361d76
ARM_Interface: Make destructor virtual
...
Fixes some warnings on OSX.
2014-11-14 12:10:35 -05:00
bunnei
004df76795
Merge branch 'threading' of https://github.com/bunnei/citra
...
Conflicts:
src/core/hle/function_wrappers.h
src/core/hle/service/gsp.cpp
2014-06-14 12:13:16 -04:00
bunnei
e8a17ee6fd
arm: added option to prepare CPU core (while mid-instruction) for thread reschedule
2014-06-01 21:40:10 -04:00
Disruption
0be75c13ee
Added 'this' reference to num_instructions field so it's properly updated,as before the method was affecting the local method parameter rather than the class field
2014-06-01 21:08:26 +02:00
bunnei
0012802456
ARM_Interpreter/ARM_Interface: Fixed member variable naming to be consistent with style guide
2014-05-20 18:52:54 -04:00
bunnei
49dc2ce8ac
ARM_Interface: added SaveContext and LoadContext functions for HLE thread switching
2014-05-20 18:50:16 -04:00
bunnei
3fac6dc39e
Merge branch 'master' into threading
2014-05-17 13:35:20 -04:00
bunnei
265c770a9d
updated how we call ARM core to make things much faster
2014-05-17 11:59:18 -04:00
bunnei
ce4d271a53
added option to set CPSR register to arm_interface
2014-05-11 22:14:13 -04:00
bunnei
a48c6b947d
removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable class
2014-04-27 18:29:51 -04:00
bunnei
fccbfc208c
missed this file with commit 95e5436f
2014-04-10 19:57:56 -04:00
bunnei
d0674cc98b
fixed licensing and updated code style naming for arm_interface/arm_interpreter frontend module
2014-04-08 20:38:33 -04:00
bunnei
de0a034a84
fixed project includes to use new directory structure
2014-04-08 20:15:08 -04:00