On 23/01/2012, at 13:33, Andrew Davis wrote: >> do you want to sync the disks first? of just hard reset? > > Why would anyone ever want to do that, you're a kernel mod, if you want to > do that just triple-fault.
You can call cpu_reset(). I wrote a KLD which did this because we had a driver issue where the system wouldn't reboot if you did shutdown -r (it would hang). ==== reset.c ==== #include <sys/param.h> #include <sys/kernel.h> #include <sys/module.h> #include <sys/types.h> #include <sys/systm.h> #include <machine/cpu.h> static int reset_handler(module_t mod, int /*modeventtype_t*/ what, void *arg); static moduledata_t mod_data= { "reset", reset_handler, 0 }; MODULE_VERSION(reset, 1); DECLARE_MODULE(reset, mod_data, SI_SUB_EXEC, SI_ORDER_ANY); static int reset_handler(module_t mod, int /*modeventtype_t*/ what, void *arg) { switch (what) { case MOD_LOAD: printf("Forced reboot\n"); DELAY(1000000); /* wait 1 sec for printf's to complete and be read */ /* cpu_boot(howto); */ /* doesn't do anything at the moment */ cpu_reset(); printf("Reset failed!\n"); /* NOTREACHED */ /* assuming reset worked */ break; default: return(EOPNOTSUPP); break; } return(ENXIO); } ==== ==== Makefile ==== KMOD = reset SRCS = reset.c .include <bsd.kmod.mk> ==== > On Sun, Jan 22, 2012 at 9:32 PM, Julian Elischer <jul...@freebsd.org> wrote: > >> On 1/22/12 2:19 AM, geoffrey levand wrote: >> >>> Hi, >>> >>> how would i reboot/halt the system from a kernel module ? >>> >> >> the answer is "that depends".. >> >> do you want to sync the disks first? of just hard reset? >> >> >> >> ______________________________**_________________ >> freebsd-hackers@freebsd.org mailing list >> http://lists.freebsd.org/**mailman/listinfo/freebsd-**hackers<http://lists.freebsd.org/mailman/listinfo/freebsd-hackers> >> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@** >> freebsd.org <freebsd-hackers-unsubscr...@freebsd.org>" >> > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org" > -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"