[U-boot: v2013.04]
[Author: Bo Shen <voice.shen@gmail.com>]
1. Source Code
<Common/cmd_boot.c>
Two commands are defined in this file. One is the go command and the other is the reset command.
1.1 go command
If config_cmd_go is defined, a go command is provided. Config_cmd_go is defined in <include/config_cmd_defaults.h>. When the <include/config. h> file is generated using mkconfig, the <include/config_cmdults.h> file is automatically included. Therefore, the config_cmd_go command is defined by default, so the go command is available.
1.2 reset command
During compilation of U-boot, cmd_boot directly contains the reset command.
Reset <Common/cmd_boot.c> --->
Do_reset <ARCH/ARM/lib/reset. c> ---> reset_cpu <ARCH/CPU/arm926ejs/at91/reset. c>
Do_reset calls reset_cpu only after three other tasks are done:
---- Print: Resetting...
---- Delay 50 MS
---- Disable_interrupts <include/common. h> <ARCH/ARM/lib/interrupts. c>
---- If the system does not define config_use_irq, do_interrupts returns 0 directly;
---- If the system defines config_use_irq, do the specific task to disable IRQ/FIQ interrupts.