citra/src/core
Sebastian Valle 9ae37da292
Kernel/Process: Fixed scheduling multiple processes in the SysCore using Dynarmic (#5193)
* Kernel/Process: Notify the CPUs that a new pagetable has been set every time the process they're executing changes.

Previously the page table would only be changed when the current CPU's page table was changed, this lead to stale JIT states and the PC going to 0 when context-switching a different core inside the ThreadManager::SwitchContext function because the JIT for a new pagetable is only constructed upon receiving the change notification.

* Kernel/Process: Use the relevant CPU's last process to determine when to switch its current process.

Previously it was checking the kernel's current_process variable, which gets overwritten every time a CPU runs its slice. The rescheduling happens after all CPUs have run their slice so the code was effectively only checking the last CPU's process.
2020-04-15 14:35:19 +02:00
..
arm Kernel/Process: Fixed scheduling multiple processes in the SysCore using Dynarmic (#5193) 2020-04-15 14:35:19 +02:00
cheats Core timing 2.0 (#4913) 2020-02-21 19:31:32 +01:00
dumping ffmpeg: Misc fixes 2020-03-21 12:02:21 +08:00
file_sys core: Add support for N3DS memory mappings (#5103) 2020-02-29 19:48:27 +01:00
frontend Merge pull request #5069 from vitor-k/min-window2 2020-02-08 12:46:20 -07:00
gdbstub gdbstub: small logic bug fix with defer_start 2020-02-24 14:30:24 +01:00
hle Kernel/Process: Fixed scheduling multiple processes in the SysCore using Dynarmic (#5193) 2020-04-15 14:35:19 +02:00
hw core: Remove outdated MSVC workarounds (#5099) 2020-02-20 13:40:21 -06:00
loader core: Add support for N3DS memory mappings (#5103) 2020-02-29 19:48:27 +01:00
rpc Core timing 2.0 (#4913) 2020-02-21 19:31:32 +01:00
tracer Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
3ds.h Move screen size constants from video_core to core 2017-05-27 18:41:24 -07:00
announce_multiplayer_session.cpp core, citra_qt: Allow credentials update in multiplayer announce session 2019-04-20 12:50:24 +08:00
announce_multiplayer_session.h core, citra_qt: Allow credentials update in multiplayer announce session 2019-04-20 12:50:24 +08:00
CMakeLists.txt ffmpeg: Add ListFormats and ListEncoders 2020-02-27 16:55:14 +08:00
core_timing.cpp Add CPU Clock Frequency slider 2020-02-21 16:03:07 -07:00
core_timing.h Add CPU Clock Frequency slider 2020-02-21 16:03:07 -07:00
core.cpp arm_dynarmic: Remove dependence on interpreter 2020-04-07 19:07:59 +01:00
core.h core: Add support for N3DS memory mappings (#5103) 2020-02-29 19:48:27 +01:00
custom_tex_cache.cpp specify size of buffer and use openglstate in getteximageoes 2019-11-09 12:58:17 -07:00
custom_tex_cache.h specify size of buffer and use openglstate in getteximageoes 2019-11-09 12:58:17 -07:00
memory.cpp cpu_core: Separate cpu_core and memory 2019-06-22 18:21:50 +02:00
memory.h cpu_core: Separate cpu_core and memory 2019-06-22 18:21:50 +02:00
mmio.h Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
movie.cpp remove all occurance of specifying endianness inside BitField 2019-01-28 22:09:43 -05:00
movie.h new-line that clang-format didn't fix 2019-11-09 12:56:17 -07:00
perf_stats.cpp Backport changes from yuzu-emu/yuzu#2806 2019-09-22 17:40:04 +02:00
perf_stats.h Backport changes from yuzu-emu/yuzu#2806 2019-09-22 17:40:04 +02:00
settings.cpp Texture Filtering v2 (#5166) 2020-04-02 22:42:50 -05:00
settings.h Merge pull request #5083 from zhaowenlan1779/video-dumping-update 2020-04-03 21:15:32 -05:00
telemetry_session.cpp Merge pull request #5021 from ccawley2011/cpu_detect 2020-01-17 20:30:29 -07:00
telemetry_session.h core/telemetry_session: Remove usages of the global system accessor 2019-06-09 16:34:46 +02:00