summaryrefslogtreecommitdiffhomepage
path: root/src/neboot-cpu-api.c
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-08-17 07:55:38 +0200
committerGitHub <noreply@github.com>2025-08-17 07:55:38 +0200
commit7802a79f34c6f96f1c1ead72098c449b1a8826d8 (patch)
tree9a1b0ce29eb1bcf7ca443fcd9500d3e54a268eb3 /src/neboot-cpu-api.c
parent31d6c0c1ee8ac790399efc3949a2806dca44d301 (diff)
parent2835bd8b264d52dc922cc303c0c5e5ddb6aedb99 (diff)
Merge pull request #6 from nekernel-org/dev
v0.0.1
Diffstat (limited to 'src/neboot-cpu-api.c')
-rw-r--r--src/neboot-cpu-api.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/neboot-cpu-api.c b/src/neboot-cpu-api.c
new file mode 100644
index 0000000..2491f15
--- /dev/null
+++ b/src/neboot-cpu-api.c
@@ -0,0 +1,20 @@
+/* -------------------------------------------
+
+ Copyright (C) 2024, Amlal EL Mahrouss, all rights reserved.
+
+------------------------------------------- */
+
+#include <lib/boot.h>
+
+/// @brief Restarts the computer.
+/// @param none.
+void cb_restart_machine(void) {
+#ifdef __COMPILE_RISCV__
+ volatile uint32_t* brd_pwr = (volatile uint32_t*) 0x100000;
+ *brd_pwr = 0x7777; // send reboot signal from DMA.
+
+ while (1) {
+ asm volatile("wfi");
+ }
+#endif
+}