diff options
author | bunnei <bunneidev@gmail.com> | 2022-08-08 02:48:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-08 02:48:55 +0200 |
commit | 01bb5d5c4d10424145739e4dd50c0a92547ca240 (patch) | |
tree | 403f5ae1f6ea1d4555a40dbea0f2c44183292aba /src/core/hle/kernel/physical_core.h | |
parent | Merge pull request #8240 from liamwhite/count-cycles (diff) | |
parent | kernel: unlayer CPU interrupt handling (diff) | |
download | yuzu-01bb5d5c4d10424145739e4dd50c0a92547ca240.tar yuzu-01bb5d5c4d10424145739e4dd50c0a92547ca240.tar.gz yuzu-01bb5d5c4d10424145739e4dd50c0a92547ca240.tar.bz2 yuzu-01bb5d5c4d10424145739e4dd50c0a92547ca240.tar.lz yuzu-01bb5d5c4d10424145739e4dd50c0a92547ca240.tar.xz yuzu-01bb5d5c4d10424145739e4dd50c0a92547ca240.tar.zst yuzu-01bb5d5c4d10424145739e4dd50c0a92547ca240.zip |
Diffstat (limited to 'src/core/hle/kernel/physical_core.h')
-rw-r--r-- | src/core/hle/kernel/physical_core.h | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/core/hle/kernel/physical_core.h b/src/core/hle/kernel/physical_core.h index 898d1e5db..2fc8d4be2 100644 --- a/src/core/hle/kernel/physical_core.h +++ b/src/core/hle/kernel/physical_core.h @@ -14,7 +14,6 @@ class KScheduler; } // namespace Kernel namespace Core { -class CPUInterruptHandler; class ExclusiveMonitor; class System; } // namespace Core @@ -23,15 +22,11 @@ namespace Kernel { class PhysicalCore { public: - PhysicalCore(std::size_t core_index_, Core::System& system_, KScheduler& scheduler_, - Core::CPUInterrupts& interrupts_); + PhysicalCore(std::size_t core_index_, Core::System& system_, KScheduler& scheduler_); ~PhysicalCore(); - PhysicalCore(const PhysicalCore&) = delete; - PhysicalCore& operator=(const PhysicalCore&) = delete; - - PhysicalCore(PhysicalCore&&) = default; - PhysicalCore& operator=(PhysicalCore&&) = delete; + YUZU_NON_COPYABLE(PhysicalCore); + YUZU_NON_MOVEABLE(PhysicalCore); /// Initialize the core for the specified parameters. void Initialize(bool is_64_bit); @@ -86,9 +81,11 @@ private: const std::size_t core_index; Core::System& system; Kernel::KScheduler& scheduler; - Core::CPUInterrupts& interrupts; - std::unique_ptr<std::mutex> guard; + + std::mutex guard; + std::condition_variable on_interrupt; std::unique_ptr<Core::ARM_Interface> arm_interface; + bool is_interrupted; }; } // namespace Kernel |