summaryrefslogtreecommitdiff
path: root/lume-legacy/include/drivers/plic.h
diff options
context:
space:
mode:
Diffstat (limited to 'lume-legacy/include/drivers/plic.h')
-rw-r--r--lume-legacy/include/drivers/plic.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/lume-legacy/include/drivers/plic.h b/lume-legacy/include/drivers/plic.h
new file mode 100644
index 0000000..cdcd0ce
--- /dev/null
+++ b/lume-legacy/include/drivers/plic.h
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (C) 2026 Richard QIn
+ */
+
+#pragma once
+#include "common/types.h"
+
+namespace PLIC
+{
+ // Global initialization (executed only once by hart 0)
+ void init();
+
+ // Per-core initialization (executed when each CPU starts)
+ void inithart();
+
+ // Claim interrupt: Get the currently occurring interrupt number (IRQ)
+ int claim();
+
+ // End of interrupt: notify the PLIC that this IRQ has been handled
+ void complete(int irq);
+} // namespace PILC