From 6985582e0b339fc43d82b6a3d9aaaaf1d385a08b Mon Sep 17 00:00:00 2001 From: Nick Chan Date: Mon, 19 Jun 2023 11:36:55 +0800 Subject: [PATCH] Make crash command actually crash --- src/kernel/lowlevel.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/kernel/lowlevel.c b/src/kernel/lowlevel.c index 696a8ca7..4e9554fc 100644 --- a/src/kernel/lowlevel.c +++ b/src/kernel/lowlevel.c @@ -608,6 +608,12 @@ static pmgr_reg_t *gPMGRreg = NULL; static pmgr_map_t *gPMGRmap = NULL; static pmgr_dev_t *gPMGRdev = NULL; +void crash_cmd() { + disable_interrupts(); + ((void (*)(void))0x41414141)(); + panic("didn't crash?!"); +} + void pmgr_init() { dt_node_t *pmgr = dt_get("/arm-io/pmgr"); @@ -620,7 +626,7 @@ void pmgr_init() gPMGRBase = gIOBase + gPMGRreg[0].addr; gWDTBase = gIOBase + dt_get_u64_prop("wdt", "reg"); command_register("reset", "resets the device", wdt_reset); - command_register("crash", "branches to an invalid address", (void*)0x41414141); + command_register("crash", "branches to an invalid address", crash_cmd); } void interrupt_init() { gInterruptBase = dt_get_u32_prop("aic", "reg");