9cef9d4c58
code: Address more compiler warnings
2022-10-28 23:02:23 +03:00
fbe06234b1
Core: Port Exclusive memory impl from yuzu
...
core\arm\dynarmic\arm_dynarmic.cpp: fix build
core\arm\dynarmic\arm_dynarmic.cpp: Fixes
CPP 20
2022-10-23 13:19:33 +05:30
da908a9ed1
core: Remove unnecessary enum casts in log calls
...
Follows the video core PR. fmt doesn't require casts for enum classes
anymore, so we can remove quite a few casts.
Co-Authored-By: LC <712067+lioncash@users.noreply.github.com >
2020-12-29 06:39:21 +01:00
1128f5f8ee
Silence some noisy switch case warning
2020-09-06 16:22:48 -04:00
39463f1f6d
ArmInterface: return ref instead of copy for GetTimer ( #5227 )
...
* ArmInterface: return ref instead of copy for GetTimer
* ArmInterface: add const ref GetTimer
* ArmInterface: return raw pointer instead of shared_ptr in GetTimer
* remove more unnecessary shared_ptr usage
* Fix save states
* fix unit tests
2020-04-22 07:44:58 +02:00
915c426dc9
Merge remote-tracking branch 'upstream/master' into feature/savestates-2
2020-04-12 22:26:24 +01:00
8b7b6e9f74
arm_dynarmic: Remove dependence on interpreter
2020-04-07 19:07:59 +01:00
e04590a06d
externals: Update dynarmic to b58048a
2020-04-06 17:31:30 +01:00
da3ab3d56e
Merge branch 'master' into feature/savestates-2
2020-03-07 21:23:08 +00:00
55ec7031cc
Core timing 2.0 ( #4913 )
...
* Core::Timing: Add multiple timer, one for each core
* revert clang-format; work on tests for CoreTiming
* Kernel:: Add support for multiple cores, asserts in HandleSyncRequest because Thread->status == WaitIPC
* Add some TRACE_LOGs
* fix tests
* make some adjustments to qt-debugger, cheats and gdbstub(probably still broken)
* Make ARM_Interface::id private, rework ARM_Interface ctor
* ReRename TimingManager to Timing for smaler diff
* addressed review comments
2020-02-21 19:31:32 +01:00
246ae84a52
Pretty sure ARM/Thread serialization works now
2020-02-13 17:42:12 +08:00
35c3ca995c
Fixed a bug (??) in arm_dynarmic where PageTableChanged could reset the CPU context
2020-02-13 17:42:10 +08:00
65d96bf6c1
Changed u8* to MemoryRef
2020-02-13 17:42:00 +08:00
f557d26b40
Added CPU, mutex, process, thread, timer
2020-02-13 17:38:16 +08:00
64f6e5e597
ARM: pass MemorySystem separately in the constructor and make System optional
...
So that unit test can test CPU without constructing the entire system. Also remove hacks in the System class
2019-02-14 14:04:46 -05:00
e87dc17da2
Pass system into arm interpreter; fix tests
2018-12-05 20:21:14 -05:00
323990d402
Memory: move Read/Write8/16/32/64 and ReadCString into class
2018-12-05 20:21:14 -05:00
8c618c3fc3
Memory: move PageTable functions into class
2018-12-05 20:16:42 -05:00
c57ee36222
SVC: hide details in pimpl
2018-11-12 13:59:34 -05:00
aec8b1e375
SVC: use context and generic templates
2018-11-12 13:59:34 -05:00
9458e4d8ec
CoreTiming: wrap into class
2018-11-04 10:26:38 -05:00
0478bc3dee
Kernel/Thread: move thread queue, current thread, and scheduling related function into the manager
...
As we touched it, remove IPC::GetCommandBuffer
2018-10-26 16:07:11 -04:00
b4d9d9661a
arm_dynarmic: Pass breakpoints to gdbstub
...
Allow gdbstub to handle execution breakpoints
2018-09-30 19:40:49 +01:00
7d8f115185
Prefix all size_t with std::
...
done automatically by executing regex replace `([^:0-9a-zA-Z_])size_t([^0-9a-zA-Z_])` -> `$1std::size_t$2`
2018-09-06 16:03:28 -04:00
1817e30eff
arm_dynarmic: Print current instruction when ExceptionRaised
2018-08-26 00:50:40 +01:00
75f3d2ba31
externals: Update dynarmic to 7a2a4c8
2018-08-26 00:50:38 +01:00
bd658a8801
GDB Modernization:
...
- Can be used in either DynCom or Dynarmic mode
- Added support for threads
- Proper support for FPU registers
- Fix for NibbleToHex conversion that used to produce false error codes
- Fix for clang-format failing under Windows
2018-08-16 10:40:52 +01:00
74cd98ecad
core: clean up warnings
2018-08-01 14:10:23 -05:00
fb2d34997e
core/arm: Backend-specific context implementations
2017-12-12 19:12:03 +00:00
7d5c3b00a8
dynarmic: Update to d1d4705
2017-12-12 19:08:53 +00:00
21188f5683
HLE: Move SVC handlers to the Kernel namespace
2017-12-09 20:32:58 -08:00
ad71e23f23
HLE: Move svc.{cpp,h} to kernel/
2017-12-09 18:10:47 -08:00
647e553f64
ARM_Interface: Allow for partial invalidation of instruction cache
2017-12-06 20:57:55 +00:00
7cd8b437aa
core/arm: Improve timing accuracy before service calls in JIT
...
We also correct the CPU JIT's implementation of Step.
2017-12-03 16:06:46 +00:00
2d917f8ca0
arm_dynarmic: ClearInstructionCache should clear all instruction caches
...
Bugfix of 67a70bd
.
2017-11-19 14:47:14 +00:00
529f4a0131
Moved down_count to CoreTiming
2017-09-30 17:38:14 +01:00
67a70bd9e1
ARM_Interface: Implement PageTableChanged
2017-09-24 23:08:25 +01:00
813837c5cf
Merge pull request #2842 from Subv/switchable_page_table
...
Kernel/Memory: Give each process its own page table and allow switching the current page table upon reschedule
2017-09-15 22:41:45 +02:00
7a3ab7c63d
CPU/Dynarmic: Disable the fast page-table access in dynarmic until it supports switching page tables at runtime.
2017-09-15 14:26:22 -05:00
d237a89048
CPU/Dynarmic: Fixed a warning when incrementing the number of ticks in ExecuteInstructions.
2017-08-21 08:34:25 -05:00
e2815408fd
arm_dynarmic: Update memory interface
2017-02-03 17:32:51 +00:00
2b36d4c9d7
arm_dynarmic: CP15 support
2017-02-03 17:32:47 +00:00
76890672a0
Merge pull request #2366 from MerryMage/MemoryReadCode
...
arm_dynarmic: Provide MemoryReadCode callback
2016-12-22 14:25:15 -05:00
f8cf87ce34
arm_dynarmic: Provide MemoryReadCode callback
...
Change of interface in dynarmic 36082087ded632079b16d24137fdd0c450ce82ea
2016-12-22 16:07:14 +00:00
8b1e269e58
ThreadContext: Move from "core" to "arm_interface".
2016-12-22 00:27:49 -05:00
643e590b5c
Core: Add a forgotten #include <cstring> for memcpy.
2016-12-11 01:20:45 +00:00
27be446049
dynarmic: Add ticks based on ticks executed, not ticks requested
2016-11-26 20:32:33 +00:00
bbe57a66ca
Expose page table to dynarmic for optimized reads and writes to the JIT
2016-11-24 20:41:18 -07:00
84fbbe2629
Use negative priorities to avoid special-casing the self-include
2016-09-21 00:15:56 -07:00
ebdae19fd2
Remove empty newlines in #include blocks.
...
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00