Просмотр исходного кода

Merge pull request #12004 from liamwhite/fix-hbl

k_capabilities: ignore map region when KTrace is disabled
liamwhite 2 лет назад
Родитель
Сommit
9f1c9599a2
1 измененных файлов с 3 добавлено и 0 удалено
  1. 3 0
      src/core/hle/kernel/k_capabilities.cpp

+ 3 - 0
src/core/hle/kernel/k_capabilities.cpp

@@ -5,6 +5,7 @@
 #include "core/hle/kernel/k_capabilities.h"
 #include "core/hle/kernel/k_capabilities.h"
 #include "core/hle/kernel/k_memory_layout.h"
 #include "core/hle/kernel/k_memory_layout.h"
 #include "core/hle/kernel/k_process_page_table.h"
 #include "core/hle/kernel/k_process_page_table.h"
+#include "core/hle/kernel/k_trace.h"
 #include "core/hle/kernel/kernel.h"
 #include "core/hle/kernel/kernel.h"
 #include "core/hle/kernel/svc_results.h"
 #include "core/hle/kernel/svc_results.h"
 #include "core/hle/kernel/svc_version.h"
 #include "core/hle/kernel/svc_version.h"
@@ -329,6 +330,8 @@ Result KCapabilities::SetCapabilities(std::span<const u32> caps, KProcessPageTab
 
 
             // Map the range.
             // Map the range.
             R_TRY(this->MapRange_(cap, size_cap, page_table));
             R_TRY(this->MapRange_(cap, size_cap, page_table));
+        } else if (GetCapabilityType(cap) == CapabilityType::MapRegion && !IsKTraceEnabled) {
+            continue;
         } else {
         } else {
             R_TRY(this->SetCapability(cap, set_flags, set_svc, page_table));
             R_TRY(this->SetCapability(cap, set_flags, set_svc, page_table));
         }
         }