On Mon, Mar 16, 2009 at 07:40:24PM +0200, Juha Yrjola wrote: > Russell King - ARM Linux wrote: > >> Right. You are aware that there is already a mechanism for doing this >> in the generic kernel (obviously not)? > > I am. Unfortunately, glibc fails to support this mechanism, as you say. > I didn't want to start making such intrusive changes for our trivial > need. Yes, glibc sucks with that - they hide the Linux reboot syscall. Luckily, it is accessible via the syscall() interface: #include <linux/reboot.h> int sys_reboot(const char *cmd) { return syscall(SYS_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2C, LINUX_REBOOT_CMD_RESTART2, cmd); } >> sys_reboot() with LINUX_REBOOT_CMD_RESTART2 takes a string in addition >> to the standard parameters. This string is passed into machine_restart() >> which we currently ignore. If LINUX_REBOOT_CMD_RESTART is used, this >> string is NULL. >> >> We could change machine_restart() to pass this parameter through to >> arm_pm_restart() and ultimately down to arch_reset(). > > Sure. With RESTART2, I could've even used the reboot notifier chain with > an OMAP3-specific driver to store the string. The notifier chain is called in any case. > Are you suggesting to get rid of reboot_mode altogether? If not, could > we still have the sysfs mechanism? A one-character reboot_mode would be > plenty enough for us. No, reboot mode tells _how_ to perform the reboot - whether that be by hardware reset, gpio reset or a soft call via the reset address. It's not supposed to tell the boot loader what to do. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html