summaryrefslogtreecommitdiffstats
path: root/src/core/arm/dynarmic/arm_dynarmic.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* kernel/svc: Deglobalize the supervisor call handlersLioncash2019-04-081-7/+3
| | | | | | | | | | | Adjusts the interface of the wrappers to take a system reference, which allows accessing a system instance without using the global accessors. This also allows getting rid of all global accessors within the supervisor call handling code. While this does make the wrappers themselves slightly more noisy, this will be further cleaned up in a follow-up. This eliminates the global system accessors in the current code while preserving the existing interface.
* arm/arm_dynarmic: Remove unnecessary current_page_table memberLioncash2019-04-071-6/+0
| | | | | Given the page table will always be guaranteed to be that of whatever the current process is, we no longer need to keep this around.
* core: Add missing override specifiers where applicableLioncash2019-04-041-2/+2
| | | | | | | | | Applies the override specifier where applicable. In the case of destructors that are defaulted in their definition, they can simply be removed. This also removes the unnecessary inclusions being done in audin_u and audrec_u, given their close proximity.
* core: Move PageTable struct into Common.bunnei2019-03-171-2/+2
|
* core_timing: Convert core timing into a classLioncash2019-02-161-1/+7
| | | | | | | | | | | Gets rid of the largest set of mutable global state within the core. This also paves a way for eliminating usages of GetInstance() on the System class as a follow-up. Note that no behavioral changes have been made, and this simply extracts the functionality into a class. This also has the benefit of making dependencies on the core timing functionality explicit within the relevant interfaces.
* core: Make the exclusive monitor a unique_ptr instead of a shared_ptrLioncash2018-10-151-2/+2
| | | | | | Like the barrier, this is owned entirely by the System and will always outlive the encompassing state, so shared ownership semantics aren't necessary here.
* arm_interface: Replace kernel vm_manager include with a forward declarationLioncash2018-09-211-0/+4
| | | | | | Avoids an unnecessary inclusion and also uncovers three places where indirect inclusions were relied upon, which allows us to also resolve those.
* arm_interface: Remove ARM11-isms from the CPU interfaceLioncash2018-09-181-6/+4
| | | | | | | | | 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.
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-11/+11
|
* core: Namespace all code in the arm subdirectory under the Core namespaceLioncash2018-08-251-0/+4
| | | | Gets all of these types and interfaces out of the global namespace.
* arm_dynarmic: Make MakeJit() a const member functionLioncash2018-07-241-1/+1
| | | | | This functions doesn't modify instance state, so it can be a made a const member function.
* exclusive_monitor: Use consistent type alias for u64Lioncash2018-07-241-7/+6
| | | | | 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.
* Implement exclusive monitorMerryMage2018-07-221-1/+29
|
* CPU: Save and restore the TPIDR_EL0 system register on every context switch.Subv2018-07-211-0/+2
| | | | Note that there's currently a dynarmic bug preventing this register from being written.
* scheduler: Clear exclusive state when switching contextsMerryMage2018-07-161-0/+1
|
* Merge pull request #193 from N00byKing/3184_2_robotic_boogaloobunnei2018-03-191-1/+4
|\ | | | | Implement Pull #3184 from citra: core/arm: Improve timing accuracy before service calls in JIT (Rebased)
| * Implements citra-emu/citra#3184N00byKing2018-02-251-1/+4
| |
* | arm_interface: Support unmapping previously mapped memory.bunnei2018-03-161-1/+1
|/
* dynarmic: Update to 41ae12263MerryMage2018-02-091-1/+1
| | | | Changes: Primarily implementing more A64 instructions
* yuzu: Update license text to be consistent across project.bunnei2018-01-131-1/+1
|
* arm_dynarmic: Implement coreMerryMage2018-01-121-2/+14
|
* arm_dynarmic: More cleanup.bunnei2018-01-041-6/+0
|
* arm_dynarmic: Gut interface until dynarmic is ready for general use.bunnei2018-01-041-8/+3
|
* arm: Remove SkyEye/Dyncom code that is ARMv6-only.bunnei2018-01-031-6/+1
|
* Merge remote-tracking branch 'upstream/master' into nxbunnei2017-10-101-4/+13
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # 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
| * Moved down_count to CoreTimingHuw Pascoe2017-09-301-2/+0
| |
| * ARM_Interface: Implement PageTableChangedMerryMage2017-09-251-1/+9
| |
* | arm_interface: Set TLS address for dynarmic core.bunnei2017-09-301-0/+2
| |
* | arm: Use 64-bit addressing in a bunch of places.bunnei2017-09-301-4/+4
|/
* arm_dynarmic: CP15 supportMerryMage2017-02-031-1/+1
|
* ThreadContext: Move from "core" to "arm_interface".bunnei2016-12-221-6/+2
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-3/+0
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* arm: ResetContext shouldn't be part of ARM_Interface.bunnei2016-09-151-1/+0
|
* arm_dynarmic/arm_dyncom: Remove unnecessary "virtual" keyword.bunnei2016-09-151-1/+1
|
* dynarmic: Implement ARM CPU interface.bunnei2016-09-151-0/+51