aboutsummaryrefslogtreecommitdiff
path: root/src/core/arm
AgeCommit message (Collapse)Author
2020-11-03core: Remove usage of unicornLioncash
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-20Revert "core: Fix clang build"bunnei
2020-10-17core: Fix clang buildLioncash
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-09-22General: Make use of std::nullopt where applicableLioncash
Allows some implementations to avoid completely zeroing out the internal buffer of the optional, and instead only set the validity byte within the structure. This also makes it consistent how we return empty optionals.
2020-09-17arm_dynarmic_cp15: Initialize member variablesLioncash
Ensures that the member variables are always initialized to a deterministic value on creation.
2020-08-26cpu_interrupt_handler: Misc style changesReinUsesLisp
2020-08-26cpu_interrupt_handler: Make is_interrupted an atomicReinUsesLisp
Fixes a race condition detected from tsan
2020-08-16dynarmic: Add unsafe optimizationsMerryMage
2020-07-11configure_cpu: Show/Hide debugging optionsMerryMage
2020-07-11configuration: Add settings to enable/disable specific CPU optimizationsMerryMage
2020-07-07cpu_interrupt_handler: Remove #pragma once from .cpp fileMerryMage
2020-06-27Core/Common: Address Feedback.Fernando Sahmkow
2020-06-27SVC: Implement 32-bits wrappers and update Dynarmic.Fernando Sahmkow
2020-06-27ARM: Update Dynarmic and Setup A32 according to latest interface.Fernando Sahmkow
2020-06-27ArmDynarmic32: Setup CNTPCT correctlyFernando Sahmkow
2020-06-27ARMDynarmicInterface: Correct GCC Build Errors.Fernando Sahmkow
2020-06-27Clang Format.Fernando Sahmkow
2020-06-27ARMInterface/Externals: Update dynarmic and fit to latest version.Fernando Sahmkow
2020-06-27ARMInterface: Correct rebase errors.Fernando Sahmkow
2020-06-27Dynarmic Interface: don't clear cache if JIT has not been created.Fernando Sahmkow
2020-06-27General: Cleanup legacy code.Fernando Sahmkow
2020-06-27SingleCore: Use Cycle Timing instead of Host Timing.Fernando Sahmkow
2020-06-27General: Move ARM_Interface into Threads.Fernando Sahmkow
2020-06-27Core: Refactor ARM Interface.Fernando Sahmkow
2020-06-27X64 Clock: Reduce accuracy to be less or equal to guest accuracy.Fernando Sahmkow
2020-06-27ARM/WaitTree: Better track the CallStack for each thread.Fernando Sahmkow
2020-06-27SVC/ARM: Correct svcSendSyncRequest and cache ticks on arm interface.Fernando Sahmkow
2020-06-27ARM: Addapt to new Exclusive Monitor Interface.Fernando Sahmkow
2020-06-27General: Fix microprofile on dynarmic/svc, fix wait tree showing which ↵Fernando Sahmkow
threads were running.
2020-06-27ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.Fernando Sahmkow
2020-06-27Scheduler: Remove arm_interface lock and a few corrections.Fernando Sahmkow
2020-06-27Core: Correct rebase.Fernando Sahmkow
2020-06-27General: Add better safety for JIT use.Fernando Sahmkow
2020-06-27General: Recover Prometheus project from harddrive failure Fernando Sahmkow
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_64: Log the instruction when an exception is raisedMorph
2020-06-22arm_dynarmic_32: Log under Core_ARM instead of HW_GPUMorph
2020-06-18arm_dynarmic_32: Fix implicit conversion error in SetTPIDR_EL0ReinUsesLisp
On MSVC builds we treat conversion warnings as errors.
2020-06-17arm_dynarmic_cp15: Implement CNTPCTMerryMage
2020-06-17arm_dynarmic_cp15: Update CP15MerryMage
2020-06-17arm_dynarmic_32: InterpreterFallback should never happenMerryMage
2020-04-24physical_core: Make use of std::make_unique instead of std::make_shared in ctorLioncash
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.
2020-04-20Merge pull request #3724 from bunnei/fix-unicornbunnei
core: arm_unicorn: Fix interpret fallback by temporarily mapping instruction page.
2020-04-20dynarmic: Add option to disable CPU JIT optimizationsMerryMage
2020-04-19core: arm_unicorn: Fix interpret fallback by temporarily mapping instruction ↵bunnei
page.
2020-04-17dynarmic: Enable strict alignment checks.bunnei
- Also add a missing include.
2020-04-17core: memory: Move to Core::Memory namespace.bunnei
- helpful to disambiguate Kernel::Memory namespace.
2020-04-17core: kernel: Move SVC to its own namesapce.bunnei
2020-04-17arm_interface: Ensure ThreadContext is zero'd out.bunnei
2020-04-15CMakeLists: Specify -Wextra on linux buildsLioncash
Allows reporting more cases where logic errors may exist, such as implicit fallthrough cases, etc. We currently ignore unused parameters, since we currently have many cases where this is intentional (virtual interfaces). While we're at it, we can also tidy up any existing code that causes warnings. This also uncovered a few bugs as well.
2020-03-02core: Implement separate A32/A64 ARM interfaces.bunnei