Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | core: add option to break on unmapped access | Liam | 2022-12-02 | 1 | -2/+19 |
| | |||||
* | Dynarmic: Remove inaccurate NaN from Auto CPU settings. | Fernando Sahmkow | 2022-11-17 | 1 | -1/+0 |
| | |||||
* | arm_interface: curb infinite recursion in stacktrace generation | Liam | 2022-10-27 | 1 | -1/+1 |
| | |||||
* | k_server_session: preliminary support for userspace server sessions | Liam | 2022-10-12 | 1 | -0/+1 |
| | |||||
* | arm_dynarmic: Fix nullptr fastmem arenas | Merry | 2022-08-09 | 1 | -1/+2 |
| | | | | Unable to enable fastmem of exclusive access without a valid fastmem arena. | ||||
* | core/arm: fix build error | Liam | 2022-08-08 | 1 | -1/+5 |
| | |||||
* | Merge pull request #8637 from liamwhite/bad-interrupts | bunnei | 2022-08-08 | 1 | -5/+7 |
|\ | | | | | kernel: unlayer CPU interrupt handling | ||||
| * | kernel: unlayer CPU interrupt handling | Liam | 2022-07-25 | 1 | -5/+7 |
| | | |||||
* | | Merge pull request #8240 from liamwhite/count-cycles | Morph | 2022-08-08 | 1 | -4/+11 |
|\ \ | |/ |/| | core/arm: re-enable cycle counting | ||||
| * | core/arm: increase minimum_run_cycles | Liam | 2022-06-22 | 1 | -1/+1 |
| | | |||||
| * | core/arm: re-enable cycle counting | merry | 2022-06-22 | 1 | -3/+10 |
| | | |||||
* | | Merge pull request #8569 from merryhime/watchpoints | merry | 2022-07-17 | 1 | -3/+1 |
|\ \ | | | | | | | dynarmic: Abort watchpoints ASAP | ||||
| * | | dynarmic: Abort watchpoints ASAP | Merry | 2022-07-15 | 1 | -3/+1 |
| | | | |||||
* | | | core/arm: skip watchpoint checks when reading instructions | Liam | 2022-07-16 | 1 | -3/+3 |
|/ / | |||||
* | | Merge pull request #8501 from liamwhite/backtrace-again | Mai | 2022-07-08 | 1 | -8/+9 |
|\ \ | | | | | | | core/arm: better support for backtrace generation | ||||
| * | | core/arm: better support for backtrace generation | Liam | 2022-06-25 | 1 | -8/+9 |
| |/ | |||||
* / | dynarmic: Stop ReadCode callbacks to unmapped addresses | Liam | 2022-06-22 | 1 | -7/+21 |
|/ | |||||
* | core/debugger: memory breakpoint support | Liam | 2022-06-16 | 1 | -14/+65 |
| | |||||
* | core/debugger: Improved stepping mechanism and misc fixes | Liam | 2022-06-01 | 1 | -34/+11 |
| | |||||
* | core/debugger: Implement new GDB stub debugger | Liam | 2022-06-01 | 1 | -5/+27 |
| | |||||
* | Remove unused PrepareReschedule function | Merry | 2022-04-24 | 1 | -4/+0 |
| | |||||
* | general: Convert source file copyright comments over to SPDX | Morph | 2022-04-23 | 1 | -3/+2 |
| | | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later. | ||||
* | core/arm: separate backtrace collection | Liam | 2022-04-21 | 1 | -0/+38 |
| | |||||
* | Merge pull request #8188 from merryhime/jit-race-page-table-changed | bunnei | 2022-04-16 | 1 | -35/+45 |
|\ | | | | | dynarmic: Fix race when switching page tables | ||||
| * | dynarmic: Fix race when switching page tables | merry | 2022-04-10 | 1 | -35/+45 |
| | | |||||
* | | dynarmic: Fix single core mode | merry | 2022-04-13 | 1 | -1/+1 |
|/ | | | | Regression introduced in a5d040df3d. Closes #8201. | ||||
* | Merge pull request #8148 from merryhime/interrupts | Fernando S | 2022-04-07 | 1 | -20/+18 |
|\ | | | | | dynarmic: Better interrupts | ||||
| * | arm_dynarmic: Use HaltReason for svc calls and reschedules | merry | 2022-04-03 | 1 | -11/+10 |
| | | |||||
| * | dynarmic: Better interrupts | merry | 2022-04-03 | 1 | -11/+10 |
| | | |||||
* | | dynarmic: Print stack trace on unrecognised instruction or other exception | merry | 2022-04-05 | 1 | -0/+2 |
| | | |||||
* | | Merge pull request #8089 from merryhime/paranoia | bunnei | 2022-04-04 | 1 | -22/+28 |
|\ \ | |/ |/| | configuration: Add Paranoid CPU accuracy level | ||||
| * | configuration: Add Paranoid CPU accuracy level | merry | 2022-03-26 | 1 | -22/+28 |
| | | | | | | | | Disables most optimizations for the paranoid. | ||||
* | | arm_dynarmic_64: Invalidate on all cores | merry | 2022-03-27 | 1 | -2/+4 |
|/ | |||||
* | Revert "dynarmic: Reduce size of code caches" | bunnei | 2022-03-23 | 1 | -2/+2 |
| | |||||
* | dynarmic: Reduce size of code caches | Merry | 2022-03-13 | 1 | -2/+2 |
| | |||||
* | dynarmic: Inline exclusive memory accesses | merry | 2022-02-27 | 1 | -0/+13 |
| | | | | | | | | | | | | | | | Inlines implementation of exclusive instructions into JITted code, improving performance of applications relying heavily on these instructions. We also fastmem these instructions for additional speed, with support for appropriate recompilation on fastmem failure. An unsafe optimization to disable the intercore global_monitor is also provided, should one wish to rely solely on cmpxchg semantics for safety. See also: merryhime/dynarmic#664 | ||||
* | arm: dynarmic: Cleanup icache op handling | jam1garner | 2021-11-22 | 1 | -10/+9 |
| | |||||
* | arm: dynarmic: Implement icache op handling for 'ic iallu' instruction | jam1garner | 2021-11-22 | 1 | -0/+3 |
| | |||||
* | arm: dynarmic: Implement icache op handling for 'ic ivau' instruction | jam1garner | 2021-11-22 | 1 | -0/+18 |
| | |||||
* | core: Remove unused includes | ameerj | 2021-11-04 | 1 | -1/+0 |
| | |||||
* | Fixed ARM_Dynamic_64 Step | Andrew Strelsky | 2021-10-24 | 1 | -1/+1 |
| | |||||
* | settings, arm_dynarmic, yuzu qt: Move CPU debugging option | lat9nq | 2021-07-08 | 1 | -1/+1 |
| | | | | | | Decouples the CPU debugging mode from the enumeration to its own boolean. After this, it moves the CPU Debugging tab over to a sub tab underneath the Debug tab in the configuration UI. | ||||
* | arm_dynarmic_64: Re-add fastmem_address_space_bits to Auto setting | lat9nq | 2021-07-08 | 1 | -0/+1 |
| | |||||
* | arm_dynarmic{32,64}: Fixes from test build | lat9nq | 2021-07-08 | 1 | -9/+2 |
| | | | | | Now sets optimizations regardless of the Settings. Drops unsafe fastmem optimization. | ||||
* | core,common,yuzu qt: Add CPU accuracy option 'Auto' | lat9nq | 2021-07-08 | 1 | -4/+18 |
| | | | | | | | The current CPU accuracy settings in yuzu are fairly polarized and require more than common knowledge to know what the optimal settings for yuzu would be. This adds a curated option called 'Auto' that applies a few at the moment known-good unsafe optimizations to Dynarmic. | ||||
* | common: Replace common_sizes into user-literals | Wunkolo | 2021-06-24 | 1 | -2/+4 |
| | | | | | | | | | | | | | Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc user-literals within literals.h. To keep the global namespace clean, users will have to use: ``` using namespace Common::Literals; ``` to access these literals. | ||||
* | General: Add settings for fastmem and disabling adress space check. | FernandoS27 | 2021-06-11 | 1 | -1/+7 |
| | |||||
* | core: Make use of fastmem | Markus Wick | 2021-06-11 | 1 | -0/+4 |
| | |||||
* | Merge pull request #6385 from degasus/save_memory_access | bunnei | 2021-05-31 | 1 | -16/+16 |
|\ | | | | | core/memory: Check our memory fallbacks for out-of-bound behavior. | ||||
| * | core/arm_interface: Improve the performance of memory fallbacks. | Markus Wick | 2021-05-29 | 1 | -16/+16 |
| | | | | | | | | | | We just create one memory subsystem. This is a constant all the time. So there is no need to call the non-inlined parent.Memory() helper on every callback. | ||||
* | | externals: Update dynarmic. | Markus Wick | 2021-05-29 | 1 | -2/+2 |
|/ | | | | The new version supports fastmem on a64. | ||||
* | core/arm_interface: Call SVC after end of dynarmic block. | Markus Wick | 2021-05-27 | 1 | -6/+15 |
| | | | | | | So we can modify all of dynarmic states within SVC without ExceptionalExit. Especially as the ExceptionalExit hack is dropped on upstream dynarmic. | ||||
* | core/arm: Drop ChangeProcessorID. | Markus Wick | 2021-05-26 | 1 | -4/+0 |
| | | | | | | This code was used to switch the CPU ID on thread switches. However since "hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.", the CPU ID is not a constant. This has been dead code since this rewrite, and dropped in dynarmic as well. So there is no need to keep it. | ||||
* | Merge pull request #6321 from lat9nq/per-game-cpu | bunnei | 2021-05-21 | 1 | -5/+5 |
|\ | | | | | configuration: Add CPU tab to game properties and slight per-game settings rework | ||||
| * | general: Make CPU accuracy and related a Settings::Setting | lat9nq | 2021-05-16 | 1 | -5/+5 |
| | | | | | | | | | | Required to make CPU accuracy and unsafe settings available to use as a per-game setting. | ||||
* | | core: Make variable shadowing a compile-time error | Lioncash | 2021-05-16 | 1 | -1/+1 |
|/ | | | | | | Now that we have most of core free of shadowing, we can enable the warning as an error to catch anything that may be remaining and also eliminate this class of logic bug entirely. | ||||
* | hle: kernel: Rename Process to KProcess. | bunnei | 2021-05-06 | 1 | -1/+1 |
| | |||||
* | service: Resolve cases of member field shadowing | Lioncash | 2021-05-04 | 1 | -6/+6 |
| | | | | | Now all that remains is for kernel code to be 'shadow-free' and then -Wshadow can be turned into an error. | ||||
* | common: Move settings to common from core. | bunnei | 2021-04-15 | 1 | -1/+1 |
| | | | | - Removes a dependency on core and input_common from common. | ||||
* | arm_dynarmic: Increase size of code cache | MerryMage | 2021-04-02 | 1 | -0/+4 |
| | |||||
* | arm_dynarmic: Always have a 'valid' jit instance | MerryMage | 2021-03-24 | 1 | -25/+13 |
| | |||||
* | core: arm_dynarmic: Ensure JIT state is saved/restored on page table changes. | bunnei | 2021-03-21 | 1 | -0/+5 |
| | | | | - We re-create the JIT here without preserving any state. | ||||
* | arm: dynarmic: Reintroduce JIT checks on SaveContext/LoadContext. | bunnei | 2021-01-29 | 1 | -0/+6 |
| | |||||
* | core: arm: Remove unnecessary JIT checks. | bunnei | 2021-01-29 | 1 | -12/+0 |
| | |||||
* | arm: arm_dynarmic: Skip calls when JIT is invalid. | bunnei | 2021-01-29 | 1 | -0/+12 |
| | | | | - This can happen if called from an idle or suspension thread. | ||||
* | dynarmic: Add Unsafe_InaccurateNaN optimization | MerryMage | 2021-01-02 | 1 | -0/+3 |
| | |||||
* | core/memory: Read and write page table atomically | ReinUsesLisp | 2020-12-30 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | Squash attributes into the pointer's integer, making them an uintptr_t pair containing 2 bits at the bottom and then the pointer. These bits are currently unused thanks to alignment requirements. Configure Dynarmic to mask out these bits on pointer reads. While we are at it, remove some unused attributes carried over from Citra. Read/Write and other hot functions use a two step unpacking process that is less readable to stop MSVC from emitting an extra AND instruction in the hot path: mov rdi,rcx shr rdx,0Ch mov r8,qword ptr [rax+8] mov rax,qword ptr [r8+rdx*8] mov rdx,rax -and al,3 and rdx,0FFFFFFFFFFFFFFFCh je Core::Memory::Memory::Impl::Read<unsigned char> mov rax,qword ptr [vaddr] movzx eax,byte ptr [rdx+rax] | ||||
* | hle: kernel: Rewrite scheduler implementation based on Mesopshere. | bunnei | 2020-12-06 | 1 | -1/+1 |
| | |||||
* | hle: kernel: physical_core: Clear exclusive state after each run. | bunnei | 2020-12-06 | 1 | -0/+3 |
| | | | | - This is closer to pre-multicore behavior, and works a bit better. | ||||
* | core: arm: Implement InvalidateCacheRange for CPU cache invalidation. | bunnei | 2020-11-29 | 1 | -0/+7 |
| | |||||
* | hle: kernel: multicore: Replace n-JITs impl. with 4 JITs. | bunnei | 2020-11-29 | 1 | -0/+4 |
| | |||||
* | core: Eliminate remaining usages of the global system instance | Lioncash | 2020-11-27 | 1 | -11/+0 |
| | | | | | | Removes all remaining usages of the global system instance. After this, migration can begin to migrate to being constructed and managed entirely by the various frontends. | ||||
* | core: Remove usage of unicorn | Lioncash | 2020-11-04 | 1 | -21/+8 |
| | | | | | | | | Unicorn long-since lost most of its use, due to dynarmic gaining support for handling most instructions. At this point any further issues encountered should be used to make dynarmic better. This also allows us to remove our dependency on Python. | ||||
* | Revert "core: Fix clang build" | bunnei | 2020-10-21 | 1 | -5/+5 |
| | |||||
* | core: Fix clang build | Lioncash | 2020-10-18 | 1 | -5/+5 |
| | | | | | | | Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795 | ||||
* | dynarmic: Add unsafe optimizations | MerryMage | 2020-08-16 | 1 | -1/+12 |
| | |||||
* | configure_cpu: Show/Hide debugging options | MerryMage | 2020-07-11 | 1 | -23/+25 |
| | |||||
* | configuration: Add settings to enable/disable specific CPU optimizations | MerryMage | 2020-07-11 | 1 | -6/+26 |
| | |||||
* | Core/Common: Address Feedback. | Fernando Sahmkow | 2020-06-28 | 1 | -2/+3 |
| | |||||
* | ARM: Update Dynarmic and Setup A32 according to latest interface. | Fernando Sahmkow | 2020-06-27 | 1 | -64/+1 |
| | |||||
* | ARMDynarmicInterface: Correct GCC Build Errors. | Fernando Sahmkow | 2020-06-27 | 1 | -3/+3 |
| | |||||
* | ARMInterface/Externals: Update dynarmic and fit to latest version. | Fernando Sahmkow | 2020-06-27 | 1 | -7/+7 |
| | |||||
* | ARMInterface: Correct rebase errors. | Fernando Sahmkow | 2020-06-27 | 1 | -2/+2 |
| | |||||
* | Dynarmic Interface: don't clear cache if JIT has not been created. | Fernando Sahmkow | 2020-06-27 | 1 | -0/+3 |
| | |||||
* | General: Cleanup legacy code. | Fernando Sahmkow | 2020-06-27 | 1 | -1/+0 |
| | |||||
* | SingleCore: Use Cycle Timing instead of Host Timing. | Fernando Sahmkow | 2020-06-27 | 1 | -13/+26 |
| | |||||
* | General: Move ARM_Interface into Threads. | Fernando Sahmkow | 2020-06-27 | 1 | -0/+4 |
| | |||||
* | Core: Refactor ARM Interface. | Fernando Sahmkow | 2020-06-27 | 1 | -5/+8 |
| | |||||
* | X64 Clock: Reduce accuracy to be less or equal to guest accuracy. | Fernando Sahmkow | 2020-06-27 | 1 | -0/+3 |
| | |||||
* | SVC/ARM: Correct svcSendSyncRequest and cache ticks on arm interface. | Fernando Sahmkow | 2020-06-27 | 1 | -2/+10 |
| | |||||
* | ARM: Addapt to new Exclusive Monitor Interface. | Fernando Sahmkow | 2020-06-27 | 1 | -12/+10 |
| | |||||
* | General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running. | Fernando Sahmkow | 2020-06-27 | 1 | -4/+1 |
| | |||||
* | ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes. | Fernando Sahmkow | 2020-06-27 | 1 | -13/+53 |
| | |||||
* | General: Recover Prometheus project from harddrive failure | Fernando Sahmkow | 2020-06-27 | 1 | -17/+11 |
| | | | | | | | This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host Timing, Reworks the Kernel's Scheduler, Introduce Idle State and Suspended State, Recreates the bootmanager, Initializes Multicore system. | ||||
* | arm_dynarmic_64: Log the instruction when an exception is raised | Morph | 2020-06-22 | 1 | -2/+2 |
| | |||||
* | physical_core: Make use of std::make_unique instead of std::make_shared in ctor | Lioncash | 2020-04-24 | 1 | -4/+3 |
| | | | | | | | We can also allow unicorn to be constructed in 32-bit mode or 64-bit mode to satisfy the need for both interpreter instances. Allows this code to compile successfully of non x86-64 architectures. | ||||
* | dynarmic: Add option to disable CPU JIT optimizations | MerryMage | 2020-04-20 | 1 | -2/+8 |
| | |||||
* | dynarmic: Enable strict alignment checks. | bunnei | 2020-04-17 | 1 | -1/+4 |
| | | | | - Also add a missing include. | ||||
* | core: kernel: Move SVC to its own namesapce. | bunnei | 2020-04-17 | 1 | -1/+1 |
| | |||||
* | core: Implement separate A32/A64 ARM interfaces. | bunnei | 2020-03-03 | 1 | -0/+320 |