summaryrefslogtreecommitdiff
path: root/src/core/arm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* core: Remove usage of unicornGravatar Lioncash2020-11-035-381/+9
| | | | | | | | 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"Gravatar bunnei2020-10-209-69/+53
|
* core: Fix clang buildGravatar Lioncash2020-10-179-53/+69
| | | | | | | Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
* General: Make use of std::nullopt where applicableGravatar Lioncash2020-09-221-3/+3
| | | | | | | | 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.
* arm_dynarmic_cp15: Initialize member variablesGravatar Lioncash2020-09-171-2/+2
| | | | | Ensures that the member variables are always initialized to a deterministic value on creation.
* cpu_interrupt_handler: Misc style changesGravatar ReinUsesLisp2020-08-262-5/+3
|
* cpu_interrupt_handler: Make is_interrupted an atomicGravatar ReinUsesLisp2020-08-262-2/+3
| | | | Fixes a race condition detected from tsan
* dynarmic: Add unsafe optimizationsGravatar MerryMage2020-08-162-2/+24
|
* configure_cpu: Show/Hide debugging optionsGravatar MerryMage2020-07-112-46/+50
|
* configuration: Add settings to enable/disable specific CPU optimizationsGravatar MerryMage2020-07-112-10/+50
|
* cpu_interrupt_handler: Remove #pragma once from .cpp fileGravatar MerryMage2020-07-071-2/+0
|
* Core/Common: Address Feedback.Gravatar Fernando Sahmkow2020-06-278-10/+12
|
* SVC: Implement 32-bits wrappers and update Dynarmic.Gravatar Fernando Sahmkow2020-06-272-4/+9
|
* ARM: Update Dynarmic and Setup A32 according to latest interface.Gravatar Fernando Sahmkow2020-06-277-93/+166
|
* ArmDynarmic32: Setup CNTPCT correctlyGravatar Fernando Sahmkow2020-06-271-1/+1
|
* ARMDynarmicInterface: Correct GCC Build Errors.Gravatar Fernando Sahmkow2020-06-272-6/+6
|
* Clang Format.Gravatar Fernando Sahmkow2020-06-272-4/+4
|
* ARMInterface/Externals: Update dynarmic and fit to latest version.Gravatar Fernando Sahmkow2020-06-271-7/+7
|
* ARMInterface: Correct rebase errors.Gravatar Fernando Sahmkow2020-06-273-5/+5
|
* Dynarmic Interface: don't clear cache if JIT has not been created.Gravatar Fernando Sahmkow2020-06-272-0/+6
|
* General: Cleanup legacy code.Gravatar Fernando Sahmkow2020-06-272-2/+0
|
* SingleCore: Use Cycle Timing instead of Host Timing.Gravatar Fernando Sahmkow2020-06-277-34/+62
|
* General: Move ARM_Interface into Threads.Gravatar Fernando Sahmkow2020-06-277-0/+17
|
* Core: Refactor ARM Interface.Gravatar Fernando Sahmkow2020-06-277-18/+26
|
* X64 Clock: Reduce accuracy to be less or equal to guest accuracy.Gravatar Fernando Sahmkow2020-06-271-0/+3
|
* ARM/WaitTree: Better track the CallStack for each thread.Gravatar Fernando Sahmkow2020-06-272-0/+60
|
* SVC/ARM: Correct svcSendSyncRequest and cache ticks on arm interface.Gravatar Fernando Sahmkow2020-06-272-4/+19
|
* ARM: Addapt to new Exclusive Monitor Interface.Gravatar Fernando Sahmkow2020-06-273-22/+20
|
* General: Fix microprofile on dynarmic/svc, fix wait tree showing which ↵Gravatar Fernando Sahmkow2020-06-272-8/+1
| | | | threads were running.
* ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.Gravatar Fernando Sahmkow2020-06-273-15/+63
|
* Scheduler: Remove arm_interface lock and a few corrections.Gravatar Fernando Sahmkow2020-06-271-10/+0
|
* Core: Correct rebase.Gravatar Fernando Sahmkow2020-06-271-12/+6
|
* General: Add better safety for JIT use.Gravatar Fernando Sahmkow2020-06-271-0/+10
|
* General: Recover Prometheus project from harddrive failure Gravatar Fernando Sahmkow2020-06-279-29/+103
| | | | | | | 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 raisedGravatar Morph2020-06-221-2/+2
|
* arm_dynarmic_32: Log under Core_ARM instead of HW_GPUGravatar Morph2020-06-221-1/+1
|
* arm_dynarmic_32: Fix implicit conversion error in SetTPIDR_EL0Gravatar ReinUsesLisp2020-06-181-1/+1
| | | | On MSVC builds we treat conversion warnings as errors.
* arm_dynarmic_cp15: Implement CNTPCTGravatar MerryMage2020-06-171-0/+13
|
* arm_dynarmic_cp15: Update CP15Gravatar MerryMage2020-06-174-142/+73
|
* arm_dynarmic_32: InterpreterFallback should never happenGravatar MerryMage2020-06-171-2/+3
|
* physical_core: Make use of std::make_unique instead of std::make_shared in ctorGravatar Lioncash2020-04-243-7/+12
| | | | | | | 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.
* Merge pull request #3724 from bunnei/fix-unicornGravatar bunnei2020-04-201-0/+11
|\ | | | | core: arm_unicorn: Fix interpret fallback by temporarily mapping instruction page.
| * core: arm_unicorn: Fix interpret fallback by temporarily mapping instruction ↵Gravatar bunnei2020-04-191-0/+11
| | | | | | | | page.
* | dynarmic: Add option to disable CPU JIT optimizationsGravatar MerryMage2020-04-201-2/+8
|/
* dynarmic: Enable strict alignment checks.Gravatar bunnei2020-04-171-1/+4
| | | | - Also add a missing include.
* core: memory: Move to Core::Memory namespace.Gravatar bunnei2020-04-174-5/+5
| | | | - helpful to disambiguate Kernel::Memory namespace.
* core: kernel: Move SVC to its own namesapce.Gravatar bunnei2020-04-173-3/+3
|
* arm_interface: Ensure ThreadContext is zero'd out.Gravatar bunnei2020-04-171-16/+16
|
* CMakeLists: Specify -Wextra on linux buildsGravatar Lioncash2020-04-151-2/+2
| | | | | | | | | | | 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.
* core: Implement separate A32/A64 ARM interfaces.Gravatar bunnei2020-03-028-71/+367
|