summaryrefslogtreecommitdiff
path: root/src/core/cpu_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/cpu_manager.h')
-rw-r--r--src/core/cpu_manager.h11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/core/cpu_manager.h b/src/core/cpu_manager.h
index aee352245..ddd9691ca 100644
--- a/src/core/cpu_manager.h
+++ b/src/core/cpu_manager.h
@@ -69,13 +69,11 @@ private:
69 void MultiCoreRunGuestLoop(); 69 void MultiCoreRunGuestLoop();
70 void MultiCoreRunIdleThread(); 70 void MultiCoreRunIdleThread();
71 void MultiCoreRunSuspendThread(); 71 void MultiCoreRunSuspendThread();
72 void MultiCorePause(bool paused);
73 72
74 void SingleCoreRunGuestThread(); 73 void SingleCoreRunGuestThread();
75 void SingleCoreRunGuestLoop(); 74 void SingleCoreRunGuestLoop();
76 void SingleCoreRunIdleThread(); 75 void SingleCoreRunIdleThread();
77 void SingleCoreRunSuspendThread(); 76 void SingleCoreRunSuspendThread();
78 void SingleCorePause(bool paused);
79 77
80 static void ThreadStart(std::stop_token stop_token, CpuManager& cpu_manager, std::size_t core); 78 static void ThreadStart(std::stop_token stop_token, CpuManager& cpu_manager, std::size_t core);
81 79
@@ -83,16 +81,13 @@ private:
83 81
84 struct CoreData { 82 struct CoreData {
85 std::shared_ptr<Common::Fiber> host_context; 83 std::shared_ptr<Common::Fiber> host_context;
86 std::unique_ptr<Common::Event> enter_barrier;
87 std::unique_ptr<Common::Event> exit_barrier;
88 std::atomic<bool> is_running;
89 std::atomic<bool> is_paused;
90 std::atomic<bool> initialized;
91 std::jthread host_thread; 84 std::jthread host_thread;
92 }; 85 };
93 86
94 std::atomic<bool> running_mode{}; 87 std::atomic<bool> running_mode{};
95 std::atomic<bool> paused_state{}; 88 std::atomic<bool> pause_state{};
89 std::unique_ptr<Common::Barrier> pause_barrier{};
90 std::mutex pause_lock{};
96 91
97 std::array<CoreData, Core::Hardware::NUM_CPU_CORES> core_data{}; 92 std::array<CoreData, Core::Hardware::NUM_CPU_CORES> core_data{};
98 93