From fa317910d0a1d2fa28aad00a643a24ecaf52ff8c Mon Sep 17 00:00:00 2001 From: Martine Lenders Date: Sun, 20 Oct 2019 23:56:03 +0200 Subject: [PATCH] native: allow for native to be resetable via SIGUSR1 --- cpu/native/startup.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cpu/native/startup.c b/cpu/native/startup.c index d9a69d780f..ad43f19ca8 100644 --- a/cpu/native/startup.c +++ b/cpu/native/startup.c @@ -44,6 +44,7 @@ #include "tty_uart.h" #include "periph/init.h" +#include "periph/pm.h" #define ENABLE_DEBUG (0) #include "debug.h" @@ -390,6 +391,11 @@ extern init_func_t __init_array_start; extern init_func_t __init_array_end; #endif +static void _reset_handler(void) +{ + pm_reboot(); +} + __attribute__((constructor)) static void startup(int argc, char **argv, char **envp) { _native_init_syscalls(); @@ -577,6 +583,8 @@ __attribute__((constructor)) static void startup(int argc, char **argv, char **e periph_init(); board_init(); + register_interrupt(SIGUSR1, _reset_handler); + puts("RIOT native hardware initialization complete.\n"); irq_enable(); kernel_init();