22d4e10664
Moved log backtrace to arm_interface.cpp. Added printing of error code to fatal
2018-12-29 12:55:19 +11:00
08d5663cb8
Moved backtrace to ArmInterface
2018-12-19 14:10:51 +11:00
5102c91256
Moved backtrace to ArmInterface
...
Added to both dynarmic and unicorn
2018-12-03 20:13:48 +11:00
16145e2f21
arm_interface: Add missing fpsr/tpidr members to the ThreadContext struct
...
Internally within the kernel, it also includes a member variable for the
floating-point status register, and TPIDR, so we should do the same here to match
it.
While we're at it, also fix up the size of the struct and add a static
assertion to ensure it always stays the correct size.
2018-09-30 02:29:57 -04:00
9b8fc2b689
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
b51e7e0288
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
63c2e32e20
Port #4182 from Citra: "Prefix all size_t with std::"
2018-09-15 15:21:06 +02:00
43e0d865fa
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
de7cb91995
Merge pull request #750 from lioncash/ctx
...
arm_interface: Remove unused tls_address member of ThreadContext
2018-07-21 11:38:16 -07:00
d84eb9dac6
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
ae09adfcb3
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
56cc1c11ec
scheduler: Clear exclusive state when switching contexts
2018-07-16 11:24:00 +01:00
23a0d2d7b7
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
403f8e79ea
arm_interface: Support unmapping previously mapped memory.
2018-03-16 18:32:24 -04:00
bc88cae0c7
Implements citra-emu/citra#3184
2018-02-25 11:44:21 +01:00
e35644c005
clang-format
2018-01-16 18:05:21 +00:00
d2fbc78320
arm_dynarmic: Implement core
2018-01-12 17:48:29 -05:00
b172f0d770
arm: Remove SkyEye/Dyncom code that is ARMv6-only.
2018-01-02 22:24:12 -05:00
b1d5db1cf6
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
6377585edb
arm_interface: Set TLS address for dynarmic core.
2017-09-30 14:34:03 -04:00
3411883fe3
arm: Use 64-bit addressing in a bunch of places.
2017-09-30 14:28:53 -04:00
529f4a0131
Moved down_count to CoreTiming
2017-09-30 17:38:14 +01:00
67a70bd9e1
ARM_Interface: Implement PageTableChanged
2017-09-24 23:08:25 +01:00
8b1e269e58
ThreadContext: Move from "core" to "arm_interface".
2016-12-22 00:27:49 -05:00
396a8d91a4
Manually tweak source formatting and then re-run clang-format
2016-09-18 21:14:25 -07:00
dc8479928c
Sources: Run clang-format on everything.
2016-09-18 09:38:01 +09:00
05e120a4cc
arm: ResetContext shouldn't be part of ARM_Interface.
2016-09-15 17:49:30 -04:00
2161f52661
ARM: add ClearInstructionCache function
2016-08-27 21:38:06 +08:00
af37dd0d52
Set fpscr for new threads
2016-05-17 08:59:52 +02:00
1ea0702eaa
arm_interface: Make GetNumInstructions const
2015-12-06 15:07:59 -05:00
de9a625c7e
arm_interface: directly initialize class members
2015-12-06 15:07:00 -05:00
3b457a5876
arm_interface: Implement interface for retrieving VFP registers
2015-08-06 21:24:25 -04:00
e1fbac3ca1
Common: Remove common.h
2015-05-07 15:45:22 -03:00
c3ffe8f9c3
arm_interface: Support retrieval/storage to CP15 registers
2015-04-06 12:57:49 -04:00
8cf81643a9
arm_interface: Get rid of GetTicks.
...
Removes a TODO.
2015-03-16 12:18:37 -04:00
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
7b3452c730
Move ThreadContext to core/core.h and deal with the fallout
2015-01-09 03:51:55 -02:00
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
4783133bbd
ARM: Add a mechanism for faking CPU time elapsed during HLE.
...
- Also a few cleanups.
2014-12-25 22:46:44 -05:00
ebfd831ccb
License change
2014-12-20 21:20:24 -08:00
f5d38649c7
Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated
2014-11-19 09:03:07 +00:00
e8f4361d76
ARM_Interface: Make destructor virtual
...
Fixes some warnings on OSX.
2014-11-14 12:10:35 -05:00
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
e8a17ee6fd
arm: added option to prepare CPU core (while mid-instruction) for thread reschedule
2014-06-01 21:40:10 -04:00
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
0012802456
ARM_Interpreter/ARM_Interface: Fixed member variable naming to be consistent with style guide
2014-05-20 18:52:54 -04:00
49dc2ce8ac
ARM_Interface: added SaveContext and LoadContext functions for HLE thread switching
2014-05-20 18:50:16 -04:00
3fac6dc39e
Merge branch 'master' into threading
2014-05-17 13:35:20 -04:00
265c770a9d
updated how we call ARM core to make things much faster
2014-05-17 11:59:18 -04:00
ce4d271a53
added option to set CPSR register to arm_interface
2014-05-11 22:14:13 -04:00