aboutsummaryrefslogtreecommitdiff
path: root/riscv
diff options
context:
space:
mode:
Diffstat (limited to 'riscv')
-rw-r--r--riscv/abstract_interrupt_controller.h14
-rw-r--r--riscv/devices.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/riscv/abstract_interrupt_controller.h b/riscv/abstract_interrupt_controller.h
new file mode 100644
index 0000000..946b079
--- /dev/null
+++ b/riscv/abstract_interrupt_controller.h
@@ -0,0 +1,14 @@
+#ifndef _RISCV_ABSTRACT_INTERRUPT_CONTROLLER_H
+#define _RISCV_ABSTRACT_INTERRUPT_CONTROLLER_H
+
+#include "decode.h"
+#include <cstdint>
+#include <cstddef>
+
+class abstract_interrupt_controller_t {
+ public:
+ virtual void set_interrupt_level(uint32_t interrupt_id, int level) = 0;
+ virtual ~abstract_interrupt_controller_t() {}
+};
+
+#endif
diff --git a/riscv/devices.h b/riscv/devices.h
index 9200f29..934904a 100644
--- a/riscv/devices.h
+++ b/riscv/devices.h
@@ -4,6 +4,7 @@
#include "decode.h"
#include "mmio_plugin.h"
#include "abstract_device.h"
+#include "abstract_interrupt_controller.h"
#include "platform.h"
#include <map>
#include <vector>