Lioncash
78051d5378
exclusive_monitor: Use consistent type alias for u64
Uses the same type aliases we use for virtual addresses, and converts
one lingering usage of std::array<uint64_t, 2> to u128 for consistency.
8 years ago
MerryMage
34bf2dbf68
Implement exclusive monitor
8 years ago
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.
8 years ago
MerryMage
bd97579188
scheduler: Clear exclusive state when switching contexts
8 years ago
bunnei
256153c50c
arm_interface: Support unmapping previously mapped memory.
8 years ago
N00byKing
3660aa9318
Implements citra-emu/citra#3184
8 years ago
MerryMage
9eb03cb8ef
dynarmic: Update to 41ae12263
Changes: Primarily implementing more A64 instructions
8 years ago
bunnei
182548ec86
yuzu: Update license text to be consistent across project.
8 years ago
MerryMage
ced9768819
arm_dynarmic: Implement core
8 years ago
bunnei
c3ee3f9d76
arm_dynarmic: More cleanup.
8 years ago
bunnei
20165180ea
arm_dynarmic: Gut interface until dynarmic is ready for general use.
8 years ago
bunnei
b055ea2699
arm: Remove SkyEye/Dyncom code that is ARMv6-only.
8 years ago
bunnei
47d0206ac7
arm_interface: Set TLS address for dynarmic core.
8 years ago
bunnei
7f1ce2cf68
arm: Use 64-bit addressing in a bunch of places.
9 years ago
Huw Pascoe
ed9e0618c9
Moved down_count to CoreTiming
8 years ago
MerryMage
0e49bffe03
ARM_Interface: Implement PageTableChanged
8 years ago
MerryMage
c2717d3302
arm_dynarmic: CP15 support
9 years ago
bunnei
d445aad022
ThreadContext: Move from "core" to "arm_interface".
9 years ago
Emmanuel Gil Peyrot
1138ec0d49
Remove empty newlines in #include blocks.
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
9 years ago
bunnei
acdc361fc0
arm: ResetContext shouldn't be part of ARM_Interface.
10 years ago
bunnei
5a7c1e9b5d
arm_dynarmic/arm_dyncom: Remove unnecessary "virtual" keyword.
10 years ago
bunnei
f1072aa569
dynarmic: Implement ARM CPU interface.
10 years ago
wwylele
913472e010
ARM: add ClearInstructionCache function
10 years ago
Lioncash
daabb4fab3
arm_interface: Implement interface for retrieving VFP registers
11 years ago
Lioncash
dfb424b6d1
dyncom: Rename armdefs.h to armstate.h
11 years ago
Emmanuel Gil Peyrot
aea15f5c73
Core: Cleanup core includes.
11 years ago
Subv
115ad8e16a
fixup! Set the TLS address in the scheduler
11 years ago
Subv
000876858d
Core/Memory: Give every emulated thread it's own TLS area.
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.
11 years ago
Emmanuel Gil Peyrot
bdcf28e3bc
Headers: Add some forgotten overrides, thanks clang!
11 years ago
Lioncash
c3ffe8f9c3
arm_interface: Support retrieval/storage to CP15 registers
11 years ago
Lioncash
8cf81643a9
arm_interface: Get rid of GetTicks.
Removes a TODO.
11 years ago
Lioncash
b7fac494cd
dyncom: Switch the app and system cores into the correct mode at initialization
11 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.
11 years ago
Yuri Kunde Schlesner
7b3452c730
Move ThreadContext to core/core.h and deal with the fallout
11 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
11 years ago
bunnei
4783133bbd
ARM: Add a mechanism for faking CPU time elapsed during HLE.
- Also a few cleanups.
11 years ago
purpasmart96
ebfd831ccb
License change
11 years ago
Emmanuel Gil Peyrot
f5d38649c7
Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated
11 years ago
Lioncash
64cc6cb6cf
Fix documentation of parameters
11 years ago
Yuri Kunde Schlesner
d72708c1f5
Add `override` keyword through the code.
This was automated using `clang-modernize`.
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.
12 years ago
bunnei
b5e6524594
ARM: Reorganized file structure to move shared SkyEye code to a more common area.
Removed s_ prefix
12 years ago
bunnei
e8a17ee6fd
arm: added option to prepare CPU core (while mid-instruction) for thread reschedule
12 years ago
bunnei
0012802456
ARM_Interpreter/ARM_Interface: Fixed member variable naming to be consistent with style guide
12 years ago
bunnei
49dc2ce8ac
ARM_Interface: added SaveContext and LoadContext functions for HLE thread switching
12 years ago
bunnei
265c770a9d
updated how we call ARM core to make things much faster
12 years ago
bunnei
ce4d271a53
added option to set CPSR register to arm_interface
12 years ago
bunnei
a48c6b947d
removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable class
12 years ago
bunnei
95e5436f41
cleaned up arm_interface, added a setter to set registers for use with HLE return values
12 years ago
bunnei
d0674cc98b
fixed licensing and updated code style naming for arm_interface/arm_interpreter frontend module
12 years ago