summaryrefslogtreecommitdiffhomepage
path: root/src/neboot-cpu-api.c
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-07-31 08:57:14 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-07-31 08:57:14 +0100
commit1891d7343a9ac25ab157c4495581a0fcbd7fbcbf (patch)
treec6da72fdf5db30c67c28e968883f869ee57600d0 /src/neboot-cpu-api.c
parent18d33e155d2f56e59eb49dadbb30ab2f7ac3e852 (diff)
feat! refactor NeBoot for NeKernel.org v1.0.0
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
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
+}