aboutsummaryrefslogtreecommitdiff
path: root/src/core/arm/dynarmic
AgeCommit message (Collapse)Author
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-16dynarmic: Add unsafe optimizationsMerryMage
2020-07-11configure_cpu: Show/Hide debugging optionsMerryMage
2020-07-11configuration: Add settings to enable/disable specific CPU optimizationsMerryMage
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-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-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-27Core: Correct rebase.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-20dynarmic: Add option to disable CPU JIT optimizationsMerryMage
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-03-02core: Implement separate A32/A64 ARM interfaces.bunnei
2020-03-02core: dynarmic: Add CP15 from Citra.bunnei
2020-02-26ARM_Interface: Cache the JITs instead of deleting/recreating.Fernando Sahmkow
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.
2020-02-11Core: Set all hardware emulation constants in a single file.Fernando Sahmkow
2020-01-30core/arm: Remove usage of global GetCurrentThread()Lioncash
Now both CPU backends go through their referenced system instance to obtain the current thread.
2020-01-26Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.Fernando Sahmkow
This commit instends on better naming the new purpose of this classes.
2020-01-01core/memory + arm/dynarmic: Use a global offset within our arm page table.Markus Wick
This saves us two x64 instructions per load/store instruction. TODO: Clean up our memory code. We can use this optimization here as well.
2019-11-26core/memory: Migrate over Write{8, 16, 32, 64, Block} to the Memory classLioncash
The Write functions are used slightly less than the Read functions, which make these a bit nicer to move over. The only adjustments we really need to make here are to Dynarmic's exclusive monitor instance. We need to keep a reference to the currently active memory instance to perform exclusive read/write operations.
2019-11-26core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory classLioncash
With all of the trivial parts of the memory interface moved over, we can get right into moving over the bits that are used. Note that this does require the use of GetInstance from the global system instance to be used within hle_ipc.cpp and the gdbstub. This is fine for the time being, as they both already rely on the global system instance in other functions. These will be removed in a change directed at both of these respectively. For now, it's sufficient, as it still accomplishes the goal of de-globalizing the memory code.
2019-11-26core: Prepare various classes for memory read/write migrationLioncash
Amends a few interfaces to be able to handle the migration over to the new Memory class by passing the class by reference as a function parameter where necessary. Notably, within the filesystem services, this eliminates two ReadBlock() calls by using the helper functions of HLERequestContext to do that for us.
2019-11-12arm_unicorn: Resolve sign conversion warningsLioncash
While we're at it, this also resolves a type truncation warning as well, given the code was truncating from a 64-bit value to a 32-bit one.
2019-10-11Core_Timing: Address Feedback and suppress warnings.Fernando Sahmkow
2019-10-09Core Timing: Rework Core Timing to run all cores evenly.Fernando Sahmkow
2019-09-29Revert "arm_dynarmic: Check if jit is nullptr when preparing reschedule"bunnei
2019-09-29Merge pull request #2574 from DarkLordZach/dynarmic-jit-nullptrbunnei
arm_dynarmic: Check if jit is nullptr when preparing reschedule