diff options
| author | Simon Glass <sjg@chromium.org> | 2011-12-10 11:07:58 +0000 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2012-03-18 21:16:22 +0100 | 
| commit | 8ade95063815d8ffca7cededa6c40cddec857d38 (patch) | |
| tree | 824dbabdbbb3687580df631f026af187c9c1e362 | |
| parent | 5e41088364582b6435f6d7a6e6d7a36f3fa94701 (diff) | |
bootstage: Convert progress numbers 20-41 to enums
Signed-off-by: Simon Glass <sjg@chromium.org>
| -rw-r--r-- | arch/powerpc/lib/board.c | 2 | ||||
| -rw-r--r-- | arch/sparc/lib/board.c | 2 | ||||
| -rw-r--r-- | board/hermes/hermes.c | 4 | ||||
| -rw-r--r-- | board/pcs440ep/pcs440ep.c | 3 | ||||
| -rw-r--r-- | include/bootstage.h | 25 | ||||
| -rw-r--r-- | post/post.c | 4 | 
6 files changed, 34 insertions, 6 deletions
| diff --git a/arch/powerpc/lib/board.c b/arch/powerpc/lib/board.c index 36cfe7d832f..dca3fd7d5a6 100644 --- a/arch/powerpc/lib/board.c +++ b/arch/powerpc/lib/board.c @@ -1064,7 +1064,7 @@ void board_init_r(gd_t *id, ulong dest_addr)  void hang(void)  {  	puts("### ERROR ### Please RESET the board ###\n"); -	show_boot_error(30); +	show_boot_error(BOOTSTAGE_ID_NEED_RESET);  	for (;;)  		;  } diff --git a/arch/sparc/lib/board.c b/arch/sparc/lib/board.c index fcbc666b49a..770136b82a2 100644 --- a/arch/sparc/lib/board.c +++ b/arch/sparc/lib/board.c @@ -426,7 +426,7 @@ void hang(void)  {  	puts("### ERROR ### Please RESET the board ###\n");  #ifdef CONFIG_SHOW_BOOT_PROGRESS -	show_boot_error(30); +	show_boot_error(BOOTSTAGE_ID_NEED_RESET);  #endif  	for (;;) ;  } diff --git a/board/hermes/hermes.c b/board/hermes/hermes.c index 1b40ae87085..38bab03e382 100644 --- a/board/hermes/hermes.c +++ b/board/hermes/hermes.c @@ -595,7 +595,9 @@ void show_boot_progress (int status)  {  	volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR; -	if (status < -32) status = -1;	/* let things compatible */ +	/* let things compatible */ +	if (status < -BOOTSTAGE_ID_POST_FAIL_R) +		status = -1;  	status ^= 0x0F;  	status = (status & 0x0F) << 14;  	immr->im_cpm.cp_pbdat = (immr->im_cpm.cp_pbdat & ~PB_LED_ALL) | status; diff --git a/board/pcs440ep/pcs440ep.c b/board/pcs440ep/pcs440ep.c index 118d81c7f29..f67eeddeb7d 100644 --- a/board/pcs440ep/pcs440ep.c +++ b/board/pcs440ep/pcs440ep.c @@ -97,7 +97,8 @@ static void status_led_blink (void)  void show_boot_progress (int val)  {  	/* find all valid Codes for val in README */ -	if (val == -30) return; +	if (val == -BOOTSTAGE_ID_NEED_RESET) +		return;  	if (val < 0) {  		/* smthing goes wrong */  		status_led_blink (); diff --git a/include/bootstage.h b/include/bootstage.h index 29082eb01e2..a828f5c83d4 100644 --- a/include/bootstage.h +++ b/include/bootstage.h @@ -66,6 +66,31 @@ enum bootstage_id {  	BOOTSTAGE_ID_NO_RAMDISK,	/* No ram disk found (not an error) */  	BOOTSTAGE_ID_RUN_OS	= 15,	/* Exiting U-Boot, entering OS */ + +	BOOTSTAGE_ID_NEED_RESET = 30, +	BOOTSTAGE_ID_POST_FAIL,		/* Post failure */ +	BOOTSTAGE_ID_POST_FAIL_R,	/* Post failure reported after reloc */ + +	/* +	 * This set is reported ony by x86, and the meaning is different. In +	 * this case we are reporting completion of a particular stage. +	 * This should probably change in he x86 code (which doesn't report +	 * errors in any case), but discussion this can perhaps wait until we +	 * have a generic board implementation. +	 */ +	BOOTSTAGE_ID_BOARD_INIT_R,	/* We have relocated */ +	BOOTSTAGE_ID_BOARD_GLOBAL_DATA,	/* Global data is set up */ + +	BOOTSTAGE_ID_BOARD_INIT_SEQ,	/* We completed the init sequence */ +	BOOTSTAGE_ID_BOARD_FLASH,	/* We have configured flash banks */ +	BOOTSTAGE_ID_BOARD_FLASH_37,	/* In case you didn't hear... */ +	BOOTSTAGE_ID_BOARD_ENV,		/* Environment is relocated & ready */ +	BOOTSTAGE_ID_BOARD_PCI,		/* PCI is up */ + +	BOOTSTAGE_ID_BOARD_INTERRUPTS,	/* Exceptions / interrupts ready */ +	BOOTSTAGE_ID_BOARD_DONE,	/* Board init done, off to main loop */ +	/* ^^^ here ends the x86 sequence */ +  };  /* diff --git a/post/post.c b/post/post.c index f3830be678e..9579a94b9b1 100644 --- a/post/post.c +++ b/post/post.c @@ -158,7 +158,7 @@ void post_output_backlog(void)  				post_log("PASSED\n");  			else {  				post_log("FAILED\n"); -				show_boot_error(31); +				show_boot_error(BOOTSTAGE_ID_POST_FAIL_R);  			}  		}  	} @@ -295,7 +295,7 @@ static int post_run_single(struct post_test *test,  		} else {  			if ((*test->test)(flags) != 0) {  				post_log("FAILED\n"); -				show_boot_error(32); +				show_boot_error(BOOTSTAGE_ID_POST_FAIL_R);  				show_post_progress(i, POST_AFTER, POST_FAILED);  				if (test_flags & POST_CRITICAL)  					gd->flags |= GD_FLG_POSTFAIL; | 
