summaryrefslogtreecommitdiffstats
path: root/src/core/arm/dynarmic/arm_dynarmic_32.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-01-29arm: arm_dynarmic: Skip calls when JIT is invalid.bunnei1-0/+12
- This can happen if called from an idle or suspension thread.
2021-01-09core: Silence unhandled enum in switch warningsReinUsesLisp1-8/+1
2021-01-02dynarmic: Add Unsafe_InaccurateNaN optimizationMerryMage1-0/+3
2020-12-30core/memory: Read and write page table atomicallyReinUsesLisp1-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]
2020-12-06hle: kernel: physical_core: Clear exclusive state after each run.bunnei1-0/+3
- This is closer to pre-multicore behavior, and works a bit better.
2020-11-29core: arm: Implement InvalidateCacheRange for CPU cache invalidation.bunnei1-0/+7
2020-11-29hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.bunnei1-0/+4
2020-11-04core: Remove usage of unicornLioncash1-0/+1
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.
2020-10-21Revert "core: Fix clang build"bunnei1-5/+5
2020-10-18core: Fix clang buildLioncash1-5/+5
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-08-16dynarmic: Add unsafe optimizationsMerryMage1-1/+12
2020-07-11configure_cpu: Show/Hide debugging optionsMerryMage1-23/+25
2020-07-11configuration: Add settings to enable/disable specific CPU optimizationsMerryMage1-4/+24
2020-06-28Core/Common: Address Feedback.Fernando Sahmkow1-2/+3
2020-06-27SVC: Implement 32-bits wrappers and update Dynarmic.Fernando Sahmkow1-1/+7
2020-06-27ARM: Update Dynarmic and Setup A32 according to latest interface.Fernando Sahmkow1-2/+39
2020-06-27ARMDynarmicInterface: Correct GCC Build Errors.Fernando Sahmkow1-3/+3
2020-06-27Dynarmic Interface: don't clear cache if JIT has not been created.Fernando Sahmkow1-0/+3
2020-06-27General: Cleanup legacy code.Fernando Sahmkow1-1/+0
2020-06-27SingleCore: Use Cycle Timing instead of Host Timing.Fernando Sahmkow1-12/+25
2020-06-27General: Move ARM_Interface into Threads.Fernando Sahmkow1-0/+4
2020-06-27Core: Refactor ARM Interface.Fernando Sahmkow1-3/+3
2020-06-27SVC/ARM: Correct svcSendSyncRequest and cache ticks on arm interface.Fernando Sahmkow1-2/+9
2020-06-27General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.Fernando Sahmkow1-4/+0
2020-06-27Core: Correct rebase.Fernando Sahmkow1-12/+6
2020-06-27General: Recover Prometheus project from harddrive failure Fernando Sahmkow1-3/+3
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.
2020-06-22arm_dynarmic_32: Log under Core_ARM instead of HW_GPUMorph1-1/+1
2020-06-18arm_dynarmic_32: Fix implicit conversion error in SetTPIDR_EL0ReinUsesLisp1-1/+1
On MSVC builds we treat conversion warnings as errors.
2020-06-17arm_dynarmic_cp15: Update CP15MerryMage1-9/+7
2020-06-17arm_dynarmic_32: InterpreterFallback should never happenMerryMage1-2/+3
2020-04-17core: kernel: Move SVC to its own namesapce.bunnei1-1/+1
2020-03-03core: Implement separate A32/A64 ARM interfaces.bunnei1-0/+208