summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/kernel.cpp
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-03-31 21:12:41 +0200
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-06-27 17:36:04 +0200
commitc8bf47dcfbd43f3e7835d2e45b4704e056d8e9ee (patch)
treedfd5bbcb4a0d025b7d77537dec23e70c57052717 /src/core/hle/kernel/kernel.cpp
parentBootmanager/CPU_Manager: Correct shader caches and sync GPU on OpenGL. (diff)
downloadyuzu-c8bf47dcfbd43f3e7835d2e45b4704e056d8e9ee.tar
yuzu-c8bf47dcfbd43f3e7835d2e45b4704e056d8e9ee.tar.gz
yuzu-c8bf47dcfbd43f3e7835d2e45b4704e056d8e9ee.tar.bz2
yuzu-c8bf47dcfbd43f3e7835d2e45b4704e056d8e9ee.tar.lz
yuzu-c8bf47dcfbd43f3e7835d2e45b4704e056d8e9ee.tar.xz
yuzu-c8bf47dcfbd43f3e7835d2e45b4704e056d8e9ee.tar.zst
yuzu-c8bf47dcfbd43f3e7835d2e45b4704e056d8e9ee.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/kernel.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index 739205eca..1f230fc4a 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -545,7 +545,17 @@ const Core::ExclusiveMonitor& KernelCore::GetExclusiveMonitor() const {
}
void KernelCore::InvalidateAllInstructionCaches() {
- //TODO: Reimplement, this
+ if (!IsMulticore()) {
+ auto& threads = GlobalScheduler().GetThreadList();
+ for (auto& thread : threads) {
+ if (!thread->IsHLEThread()) {
+ auto& arm_interface = thread->ArmInterface();
+ arm_interface.ClearInstructionCache();
+ }
+ }
+ } else {
+ UNIMPLEMENTED_MSG("Cache Invalidation unimplemented for multicore");
+ }
}
void KernelCore::PrepareReschedule(std::size_t id) {