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();