diff options
| author | 3gg <3gg@shellblade.net> | 2025-02-08 17:54:42 -0800 |
|---|---|---|
| committer | 3gg <3gg@shellblade.net> | 2025-02-08 17:54:42 -0800 |
| commit | 6baa60868ac6e76b88c3beff7d863bf3099429c8 (patch) | |
| tree | df9cc94ca8211e5091c43a75c2b016e342e8d23a | |
| parent | 1b5d7cd40eb1c1f55deedf34d3d6324498b5f000 (diff) | |
Halt.
| -rw-r--r-- | src/kernel.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/kernel.c b/src/kernel.c index f1150be..a9a2d11 100644 --- a/src/kernel.c +++ b/src/kernel.c | |||
| @@ -2,6 +2,12 @@ | |||
| 2 | #include <raspi.h> | 2 | #include <raspi.h> |
| 3 | #include <uart.h> | 3 | #include <uart.h> |
| 4 | 4 | ||
| 5 | static void halt() { | ||
| 6 | while (1) { | ||
| 7 | asm volatile("wfi"); // Wait for interrupt. Core enters low-power state. | ||
| 8 | } | ||
| 9 | } | ||
| 10 | |||
| 5 | void main() { | 11 | void main() { |
| 6 | const int raspi = raspi_init(); | 12 | const int raspi = raspi_init(); |
| 7 | mmio_init(raspi); | 13 | mmio_init(raspi); |
| @@ -9,6 +15,6 @@ void main() { | |||
| 9 | 15 | ||
| 10 | uart_print("Hello world!\n"); | 16 | uart_print("Hello world!\n"); |
| 11 | 17 | ||
| 12 | while (1); | 18 | halt(); |
| 13 | } | 19 | } |
| 14 | 20 | ||
