From 51927bc9dc191165403203a146bd21fecd704691 Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Thu, 30 Jan 2020 18:19:21 -0500
Subject: [PATCH] kernel/physical_core: Remove unused kernel reference member
 variable

This isn't used within the class, so it can be removed to simplify the
overall interface.

While we're in the same area, we can simplify a unique_ptr reset() call.
---
 src/core/hle/kernel/kernel.cpp        | 8 ++++----
 src/core/hle/kernel/physical_core.cpp | 5 ++---
 src/core/hle/kernel/physical_core.h   | 5 +----
 3 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index 0cf3c8f70..edd4c4259 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -101,7 +101,7 @@ struct KernelCore::Impl {
     void Initialize(KernelCore& kernel) {
         Shutdown();
 
-        InitializePhysicalCores(kernel);
+        InitializePhysicalCores();
         InitializeSystemResourceLimit(kernel);
         InitializeThreads();
         InitializePreemption();
@@ -131,14 +131,14 @@ struct KernelCore::Impl {
         }
         cores.clear();
 
-        exclusive_monitor.reset(nullptr);
+        exclusive_monitor.reset();
     }
 
-    void InitializePhysicalCores(KernelCore& kernel) {
+    void InitializePhysicalCores() {
         exclusive_monitor =
             Core::MakeExclusiveMonitor(system.Memory(), global_scheduler.CpuCoresCount());
         for (std::size_t i = 0; i < global_scheduler.CpuCoresCount(); i++) {
-            cores.emplace_back(system, kernel, i, *exclusive_monitor);
+            cores.emplace_back(system, i, *exclusive_monitor);
         }
     }
 
diff --git a/src/core/hle/kernel/physical_core.cpp b/src/core/hle/kernel/physical_core.cpp
index 896a1a87a..e96d063fd 100644
--- a/src/core/hle/kernel/physical_core.cpp
+++ b/src/core/hle/kernel/physical_core.cpp
@@ -10,16 +10,15 @@
 #include "core/arm/exclusive_monitor.h"
 #include "core/arm/unicorn/arm_unicorn.h"
 #include "core/core.h"
-#include "core/hle/kernel/kernel.h"
 #include "core/hle/kernel/physical_core.h"
 #include "core/hle/kernel/scheduler.h"
 #include "core/hle/kernel/thread.h"
 
 namespace Kernel {
 
-PhysicalCore::PhysicalCore(Core::System& system, KernelCore& kernel, std::size_t id,
+PhysicalCore::PhysicalCore(Core::System& system, std::size_t id,
                            Core::ExclusiveMonitor& exclusive_monitor)
-    : core_index{id}, kernel{kernel} {
+    : core_index{id} {
 #ifdef ARCHITECTURE_x86_64
     arm_interface = std::make_shared<Core::ARM_Dynarmic>(system, exclusive_monitor, core_index);
 #else
diff --git a/src/core/hle/kernel/physical_core.h b/src/core/hle/kernel/physical_core.h
index fbef0801f..7dca97d1b 100644
--- a/src/core/hle/kernel/physical_core.h
+++ b/src/core/hle/kernel/physical_core.h
@@ -21,9 +21,7 @@ namespace Kernel {
 
 class PhysicalCore {
 public:
-    PhysicalCore(Core::System& system, KernelCore& kernel, std::size_t id,
-                 Core::ExclusiveMonitor& exclusive_monitor);
-
+    PhysicalCore(Core::System& system, std::size_t id, Core::ExclusiveMonitor& exclusive_monitor);
     ~PhysicalCore();
 
     /// Execute current jit state
@@ -66,7 +64,6 @@ public:
 
 private:
     std::size_t core_index;
-    KernelCore& kernel;
     std::shared_ptr<Core::ARM_Interface> arm_interface;
     std::shared_ptr<Kernel::Scheduler> scheduler;
 };