ReinUsesLisp
ea7bda25ba
cpu_interrupt_handler: Make is_interrupted an atomic
Fixes a race condition detected from tsan
6 years ago
MerryMage
836ec9176a
dynarmic: Add unsafe optimizations
6 years ago
MerryMage
505aa3a4c1
configure_cpu: Show/Hide debugging options
6 years ago
MerryMage
0193202964
configuration: Add settings to enable/disable specific CPU optimizations
6 years ago
MerryMage
e7c77b90c4
cpu_interrupt_handler: Remove #pragma once from .cpp file
6 years ago
Fernando Sahmkow
2f8947583f
Core/Common: Address Feedback.
6 years ago
Fernando Sahmkow
4105f38022
SVC: Implement 32-bits wrappers and update Dynarmic.
6 years ago
Fernando Sahmkow
b8df61c642
ARM: Update Dynarmic and Setup A32 according to latest interface.
6 years ago
Fernando Sahmkow
ec11918323
ArmDynarmic32: Setup CNTPCT correctly
6 years ago
Fernando Sahmkow
0a8013d71e
ARMDynarmicInterface: Correct GCC Build Errors.
6 years ago
Fernando Sahmkow
467d43570e
Clang Format.
6 years ago
Fernando Sahmkow
3714f2e471
ARMInterface/Externals: Update dynarmic and fit to latest version.
6 years ago
Fernando Sahmkow
dda6147b0d
ARMInterface: Correct rebase errors.
6 years ago
Fernando Sahmkow
7b44187fd2
Dynarmic Interface: don't clear cache if JIT has not been created.
6 years ago
Fernando Sahmkow
48fa3b7a0f
General: Cleanup legacy code.
6 years ago
Fernando Sahmkow
f5e32935ca
SingleCore: Use Cycle Timing instead of Host Timing.
6 years ago
Fernando Sahmkow
1567824d2d
General: Move ARM_Interface into Threads.
6 years ago
Fernando Sahmkow
1b82ccec22
Core: Refactor ARM Interface.
6 years ago
Fernando Sahmkow
534466754f
X64 Clock: Reduce accuracy to be less or equal to guest accuracy.
6 years ago
Fernando Sahmkow
7b18174eef
ARM/WaitTree: Better track the CallStack for each thread.
6 years ago
Fernando Sahmkow
87c49aa7be
SVC/ARM: Correct svcSendSyncRequest and cache ticks on arm interface.
6 years ago
Fernando Sahmkow
25565dffd5
ARM: Addapt to new Exclusive Monitor Interface.
6 years ago
Fernando Sahmkow
7020d498c5
General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.
6 years ago
Fernando Sahmkow
cd1c38be8d
ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.
6 years ago
Fernando Sahmkow
725bac1404
Scheduler: Remove arm_interface lock and a few corrections.
6 years ago
Fernando Sahmkow
a33fbaddec
Core: Correct rebase.
6 years ago
Fernando Sahmkow
04e0f8776c
General: Add better safety for JIT use.
6 years ago
Fernando Sahmkow
e31425df38
General: Recover Prometheus project from harddrive failure
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.
6 years ago
Morph
f2df941e8d
arm_dynarmic_64: Log the instruction when an exception is raised
6 years ago
Morph
e0af4cdf98
arm_dynarmic_32: Log under Core_ARM instead of HW_GPU
6 years ago
ReinUsesLisp
778043a44c
arm_dynarmic_32: Fix implicit conversion error in SetTPIDR_EL0
On MSVC builds we treat conversion warnings as errors.
6 years ago
MerryMage
52bcfac116
arm_dynarmic_cp15: Implement CNTPCT
6 years ago
MerryMage
109df7705f
arm_dynarmic_cp15: Update CP15
6 years ago
MerryMage
32a127faaa
arm_dynarmic_32: InterpreterFallback should never happen
6 years ago
Lioncash
cc84b48ce5
physical_core: Make use of std::make_unique instead of std::make_shared in ctor
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.
6 years ago
MerryMage
a3a12deecc
dynarmic: Add option to disable CPU JIT optimizations
6 years ago
bunnei
74c27fd1b5
core: arm_unicorn: Fix interpret fallback by temporarily mapping instruction page.
6 years ago
bunnei
f1b607829e
dynarmic: Enable strict alignment checks.
- Also add a missing include.
6 years ago
bunnei
4caff51710
core: memory: Move to Core::Memory namespace.
- helpful to disambiguate Kernel::Memory namespace.
6 years ago
bunnei
82d457af37
core: kernel: Move SVC to its own namesapce.
6 years ago
bunnei
0f4f90cd04
arm_interface: Ensure ThreadContext is zero'd out.
6 years ago
Lioncash
1c340c6efa
CMakeLists: Specify -Wextra on linux builds
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.
6 years ago
bunnei
c083ea7d78
core: Implement separate A32/A64 ARM interfaces.
6 years ago
bunnei
64facb403e
core: dynarmic: Add CP15 from Citra.
6 years ago
Fernando Sahmkow
f3d4d4eaa8
ARM_Interface: Cache the JITs instead of deleting/recreating.
This was a bug inherited from citra which was fixed by then at some
time. This commit corrects such bug and ensures JITs are correctly
recycled.
6 years ago
Fernando Sahmkow
1e6f8aba04
Core: Set all hardware emulation constants in a single file.
6 years ago
Lioncash
472319e573
core/arm: Remove usage of global GetCurrentThread()
Now both CPU backends go through their referenced system instance to
obtain the current thread.
6 years ago
Fernando Sahmkow
2d1984c20c
System: Address Feedback
6 years ago
Fernando Sahmkow
e4a1ead897
Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.
This commit instends on better naming the new purpose of this classes.
6 years ago
Fernando Sahmkow
450341b397
ArmInterface: Delegate Exclusive monitor factory to exclusive monitor interfasce.
6 years ago