aboutsummaryrefslogtreecommitdiff
path: root/src/core/arm/cpu_interrupt_handler.cpp
diff options
context:
space:
mode:
authorAmeer <aj662@drexel.edu>2020-07-04 00:59:40 -0400
committerAmeer <aj662@drexel.edu>2020-07-04 00:59:40 -0400
commit5c4f797cab941665838a9bfa3c84c60d4b7df241 (patch)
tree0ae185ce3ef43ef9b085aae7b9ad5abb04e3d239 /src/core/arm/cpu_interrupt_handler.cpp
parente081fb07183f33707f974f5ad244c2f64365b58d (diff)
parent08a0a98e5db7850ded6cfb8fdbc93cdf7b9539ae (diff)
Fix merge conflicts?
Diffstat (limited to 'src/core/arm/cpu_interrupt_handler.cpp')
-rw-r--r--src/core/arm/cpu_interrupt_handler.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/core/arm/cpu_interrupt_handler.cpp b/src/core/arm/cpu_interrupt_handler.cpp
new file mode 100644
index 0000000000..2f1a1a269b
--- /dev/null
+++ b/src/core/arm/cpu_interrupt_handler.cpp
@@ -0,0 +1,29 @@
+// Copyright 2020 yuzu emulator team
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "common/thread.h"
+#include "core/arm/cpu_interrupt_handler.h"
+
+namespace Core {
+
+CPUInterruptHandler::CPUInterruptHandler() : is_interrupted{} {
+ interrupt_event = std::make_unique<Common::Event>();
+}
+
+CPUInterruptHandler::~CPUInterruptHandler() = default;
+
+void CPUInterruptHandler::SetInterrupt(bool is_interrupted_) {
+ if (is_interrupted_) {
+ interrupt_event->Set();
+ }
+ this->is_interrupted = is_interrupted_;
+}
+
+void CPUInterruptHandler::AwaitInterrupt() {
+ interrupt_event->Wait();
+}
+
+} // namespace Core