Lioncash
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.
7 years ago
fearlessTobi
63c2e32e20
Port #4182 from Citra: "Prefix all size_t with std::"
7 years ago
Lioncash
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.
7 years ago
Lioncash
7d124ec82b
arm_dynarmic: Make MakeJit() a const member function
This functions doesn't modify instance state, so it can be a made a
const member function.
8 years ago
Lioncash
e12c84d5c5
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
0b1c2e5505
Implement exclusive monitor
8 years ago
Subv
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.
8 years ago
MerryMage
56cc1c11ec
scheduler: Clear exclusive state when switching contexts
8 years ago
bunnei
403f8e79ea
arm_interface: Support unmapping previously mapped memory.
8 years ago
N00byKing
bc88cae0c7
Implements citra-emu/citra#3184
8 years ago
MerryMage
d3bbed5e78
dynarmic: Update to 41ae12263
Changes: Primarily implementing more A64 instructions
8 years ago
bunnei
1247c53786
yuzu: Update license text to be consistent across project.
8 years ago
MerryMage
d2fbc78320
arm_dynarmic: Implement core
8 years ago
bunnei
6e9d66fd3a
arm_dynarmic: More cleanup.
8 years ago
bunnei
aa7e061e71
arm_dynarmic: Gut interface until dynarmic is ready for general use.
8 years ago
bunnei
b172f0d770
arm: Remove SkyEye/Dyncom code that is ARMv6-only.
8 years ago
bunnei
6377585edb
arm_interface: Set TLS address for dynarmic core.
8 years ago
bunnei
3411883fe3
arm: Use 64-bit addressing in a bunch of places.
8 years ago
Huw Pascoe
529f4a0131
Moved down_count to CoreTiming
8 years ago
MerryMage
67a70bd9e1
ARM_Interface: Implement PageTableChanged
8 years ago
MerryMage
2b36d4c9d7
arm_dynarmic: CP15 support
9 years ago
bunnei
8b1e269e58
ThreadContext: Move from "core" to "arm_interface".
9 years ago
Emmanuel Gil Peyrot
ebdae19fd2
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
05e120a4cc
arm: ResetContext shouldn't be part of ARM_Interface.
9 years ago
bunnei
85861d44b7
arm_dynarmic/arm_dyncom: Remove unnecessary "virtual" keyword.
9 years ago
bunnei
1976a2d773
dynarmic: Implement ARM CPU interface.
9 years ago
wwylele
2161f52661
ARM: add ClearInstructionCache function
10 years ago
Lioncash
3b457a5876
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.
11 years ago
bunnei
b5e6524594
ARM: Reorganized file structure to move shared SkyEye code to a more common area.
Removed s_ prefix
11 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