diff options
| author | bunnei <bunneidev@gmail.com> | 2020-06-28 12:37:50 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-06-28 12:37:50 -0400 |
| commit | b05795d704e0c194215f815a5703db09e524b59a (patch) | |
| tree | ecf4023b4ee0c91555c1d8263762fcb9dcb04a17 /src/core/arm/cpu_interrupt_handler.h | |
| parent | 8596a127724e9d7e27c4d7d9becd323c8d6d4f8e (diff) | |
| parent | 2f8947583f2f0af4058600243d6c1d244e3c4890 (diff) | |
Merge pull request #3955 from FernandoS27/prometheus-2b
Remake Kernel Scheduling, CPU Management & Boot Management (Prometheus)
Diffstat (limited to 'src/core/arm/cpu_interrupt_handler.h')
| -rw-r--r-- | src/core/arm/cpu_interrupt_handler.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/core/arm/cpu_interrupt_handler.h b/src/core/arm/cpu_interrupt_handler.h new file mode 100644 index 000000000..3d062d326 --- /dev/null +++ b/src/core/arm/cpu_interrupt_handler.h @@ -0,0 +1,39 @@ +// Copyright 2020 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <memory> + +namespace Common { +class Event; +} + +namespace Core { + +class CPUInterruptHandler { +public: + CPUInterruptHandler(); + ~CPUInterruptHandler(); + + CPUInterruptHandler(const CPUInterruptHandler&) = delete; + CPUInterruptHandler& operator=(const CPUInterruptHandler&) = delete; + + CPUInterruptHandler(CPUInterruptHandler&&) = default; + CPUInterruptHandler& operator=(CPUInterruptHandler&&) = default; + + bool IsInterrupted() const { + return is_interrupted; + } + + void SetInterrupt(bool is_interrupted); + + void AwaitInterrupt(); + +private: + bool is_interrupted{}; + std::unique_ptr<Common::Event> interrupt_event; +}; + +} // namespace Core |
