mx53 reboot 流程分析

当在终端里输入reboot命令时,会在终端里打印出printk(KERN_EMERG "Restarting system.\n");这句话。

  它是在void kernel_restart(char *cmd)函数里面定义的。


1  调用 kernel/sys.c里面的 SYSCALL_DEFINE4(reboot, int, magic1, int, magic2, unsigned int, cmd, void __user *, arg)函数。

2  调用kernel/sys.c里面的void kernel_restart(char *cmd)函数。

3  调用arch/arm/kernel/process.c里面的 machine_restart(char *cmd)函数。

4  调用 arch/arm/kernel/process.c里面的arm_machine_restart(char mode, const char *cmd)函数。

5  调用arch/arm/plat-mxc/system.c里面的void arch_reset(char mode, const char *cmd)函数。

你可能感兴趣的:(mx53 reboot 流程分析)