From fae2e42f8f8f645be500be1c36b72b5f74619844 Mon Sep 17 00:00:00 2001 From: Liam Kerr Date: Sun, 8 Feb 2026 22:15:50 +0000 Subject: [PATCH] remove magic numbers for syscon --- src/syscon/syscon.c | 8 ++++---- src/syscon/syscon.h | 7 +++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/syscon/syscon.c b/src/syscon/syscon.c index 603f5b1..db9120e 100644 --- a/src/syscon/syscon.c +++ b/src/syscon/syscon.c @@ -4,11 +4,11 @@ #include "drivers/uart.h" void poweroff(void) { - kputs("Poweroff requested"); - *(uint32_t *)SYSCON_ADDR = 0x5555; + kputs("Poweroff requested"); + *(volatile uint32_t *)SYSCON_ADDR = SYSCON_POWEROFF; } void reboot(void) { - kputs("Reboot requested"); - *(uint32_t *)SYSCON_ADDR = 0x7777; + kputs("Reboot requested"); + *(volatile uint32_t *)SYSCON_ADDR = SYSCON_REBOOT; } \ No newline at end of file diff --git a/src/syscon/syscon.h b/src/syscon/syscon.h index f842ff7..cda3319 100644 --- a/src/syscon/syscon.h +++ b/src/syscon/syscon.h @@ -1,10 +1,13 @@ #ifndef SYSCON_H #define SYSCON_H -// "test" syscon-compatible device is at memory-mapped address 0x100000 -// according to our device tree +// QEMU Sifive Test device address #define SYSCON_ADDR 0x100000 +// Magic values for the Sifive Test device +#define SYSCON_POWEROFF 0x5555 +#define SYSCON_REBOOT 0x7777 + void poweroff(void); void reboot(void);