diff options
Diffstat (limited to 'common/main.c')
| -rw-r--r-- | common/main.c | 55 | 
1 files changed, 33 insertions, 22 deletions
| diff --git a/common/main.c b/common/main.c index 187ef8a3a..a999a5d64 100644 --- a/common/main.c +++ b/common/main.c @@ -34,7 +34,7 @@  #include <malloc.h>		/* for free() prototype */  #endif -#ifdef CFG_HUSH_PARSER +#ifdef CONFIG_SYS_HUSH_PARSER  #include <hush.h>  #endif @@ -56,6 +56,9 @@ extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);		/* fo  extern int do_bootd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]); +#if defined(CONFIG_UPDATE_TFTP) +void update_tftp (void); +#endif /* CONFIG_UPDATE_TFTP */  #define MAX_DELAY_STOP_STR 32 @@ -65,7 +68,7 @@ static int abortboot(int);  #undef DEBUG_PARSER -char        console_buffer[CFG_CBSIZE];		/* console I/O buffer	*/ +char        console_buffer[CONFIG_SYS_CBSIZE];		/* console I/O buffer	*/  static char * delete_char (char *buffer, char *p, int *colp, int *np, int plen);  static char erase_seq[] = "\b \b";		/* erase sequence	*/ @@ -269,8 +272,8 @@ static __inline__ int abortboot(int bootdelay)  void main_loop (void)  { -#ifndef CFG_HUSH_PARSER -	static char lastcommand[CFG_CBSIZE] = { 0, }; +#ifndef CONFIG_SYS_HUSH_PARSER +	static char lastcommand[CONFIG_SYS_CBSIZE] = { 0, };  	int len;  	int rc = 1;  	int flag; @@ -301,6 +304,10 @@ void main_loop (void)  	trab_vfd (bmp);  #endif	/* CONFIG_VFD && VFD_TEST_LOGO */ +#if defined(CONFIG_UPDATE_TFTP) +	update_tftp (); +#endif /* CONFIG_UPDATE_TFTP */ +  #ifdef CONFIG_BOOTCOUNT_LIMIT  	bootcount = bootcount_load();  	bootcount++; @@ -330,10 +337,14 @@ void main_loop (void)  	}  #endif /* CONFIG_VERSION_VARIABLE */ -#ifdef CFG_HUSH_PARSER +#ifdef CONFIG_SYS_HUSH_PARSER  	u_boot_hush_start ();  #endif +#if defined(CONFIG_HUSH_INIT_VAR) +	hush_init_var (); +#endif +  #ifdef CONFIG_AUTO_COMPLETE  	install_auto_complete();  #endif @@ -344,7 +355,7 @@ void main_loop (void)  		int prev = disable_ctrlc(1);	/* disable Control C checking */  # endif -# ifndef CFG_HUSH_PARSER +# ifndef CONFIG_SYS_HUSH_PARSER  		run_command (p, 0);  # else  		parse_string_outer(p, FLAG_PARSE_SEMICOLON | @@ -390,7 +401,7 @@ void main_loop (void)  		int prev = disable_ctrlc(1);	/* disable Control C checking */  # endif -# ifndef CFG_HUSH_PARSER +# ifndef CONFIG_SYS_HUSH_PARSER  		run_command (s, 0);  # else  		parse_string_outer(s, FLAG_PARSE_SEMICOLON | @@ -406,7 +417,7 @@ void main_loop (void)  	if (menukey == CONFIG_MENUKEY) {  	    s = getenv("menucmd");  	    if (s) { -# ifndef CFG_HUSH_PARSER +# ifndef CONFIG_SYS_HUSH_PARSER  		run_command (s, 0);  # else  		parse_string_outer(s, FLAG_PARSE_SEMICOLON | @@ -427,7 +438,7 @@ void main_loop (void)  	/*  	 * Main Loop for Monitor Command Processing  	 */ -#ifdef CFG_HUSH_PARSER +#ifdef CONFIG_SYS_HUSH_PARSER  	parse_file_outer();  	/* This point is never reached */  	for (;;); @@ -441,7 +452,7 @@ void main_loop (void)  			reset_cmd_timeout();  		}  #endif -		len = readline (CFG_PROMPT); +		len = readline (CONFIG_SYS_PROMPT);  		flag = 0;	/* assume no special flags for now */  		if (len > 0) @@ -472,7 +483,7 @@ void main_loop (void)  			lastcommand[0] = 0;  		}  	} -#endif /*CFG_HUSH_PARSER*/ +#endif /*CONFIG_SYS_HUSH_PARSER*/  }  #ifdef CONFIG_BOOT_RETRY_TIME @@ -1031,7 +1042,7 @@ int readline_into_buffer (const char *const prompt, char * buffer)  			/*  			 * Must be a normal character then  			 */ -			if (n < CFG_CBSIZE-2) { +			if (n < CONFIG_SYS_CBSIZE-2) {  				if (c == '\t') {	/* expand TABs		*/  #ifdef CONFIG_AUTO_COMPLETE  					/* if auto completion triggered just continue */ @@ -1100,7 +1111,7 @@ int parse_line (char *line, char *argv[])  #ifdef DEBUG_PARSER  	printf ("parse_line: \"%s\"\n", line);  #endif -	while (nargs < CFG_MAXARGS) { +	while (nargs < CONFIG_SYS_MAXARGS) {  		/* skip any white space */  		while ((*line == ' ') || (*line == '\t')) { @@ -1133,7 +1144,7 @@ int parse_line (char *line, char *argv[])  		*line++ = '\0';		/* terminate current arg	 */  	} -	printf ("** Too many args (max. %d) **\n", CFG_MAXARGS); +	printf ("** Too many args (max. %d) **\n", CONFIG_SYS_MAXARGS);  #ifdef DEBUG_PARSER  	printf ("parse_line: nargs=%d\n", nargs); @@ -1148,7 +1159,7 @@ static void process_macros (const char *input, char *output)  	char c, prev;  	const char *varname_start = NULL;  	int inputcnt = strlen (input); -	int outputcnt = CFG_CBSIZE; +	int outputcnt = CONFIG_SYS_CBSIZE;  	int state = 0;		/* 0 = waiting for '$'  */  	/* 1 = waiting for '(' or '{' */ @@ -1208,7 +1219,7 @@ static void process_macros (const char *input, char *output)  		case 2:	/* Waiting for )        */  			if (c == ')' || c == '}') {  				int i; -				char envname[CFG_CBSIZE], *envval; +				char envname[CONFIG_SYS_CBSIZE], *envval;  				int envcnt = input - varname_start - 1;	/* Varname # of chars */  				/* Get the varname */ @@ -1259,7 +1270,7 @@ static void process_macros (const char *input, char *output)   *	0  - command executed but not repeatable, interrupted commands are   *	     always considered not repeatable   *	-1 - not executed (unrecognized, bootd recursion or too many args) - *           (If cmd is NULL or "" or longer than CFG_CBSIZE-1 it is + *           (If cmd is NULL or "" or longer than CONFIG_SYS_CBSIZE-1 it is   *           considered unrecognized)   *   * WARNING: @@ -1273,12 +1284,12 @@ static void process_macros (const char *input, char *output)  int run_command (const char *cmd, int flag)  {  	cmd_tbl_t *cmdtp; -	char cmdbuf[CFG_CBSIZE];	/* working copy of cmd		*/ +	char cmdbuf[CONFIG_SYS_CBSIZE];	/* working copy of cmd		*/  	char *token;			/* start of token in cmdbuf	*/  	char *sep;			/* end of token (separator) in cmdbuf */ -	char finaltoken[CFG_CBSIZE]; +	char finaltoken[CONFIG_SYS_CBSIZE];  	char *str = cmdbuf; -	char *argv[CFG_MAXARGS + 1];	/* NULL terminated	*/ +	char *argv[CONFIG_SYS_MAXARGS + 1];	/* NULL terminated	*/  	int argc, inquotes;  	int repeatable = 1;  	int rc = 0; @@ -1295,7 +1306,7 @@ int run_command (const char *cmd, int flag)  		return -1;	/* empty command */  	} -	if (strlen(cmd) >= CFG_CBSIZE) { +	if (strlen(cmd) >= CONFIG_SYS_CBSIZE) {  		puts ("## Command too long!\n");  		return -1;  	} @@ -1414,7 +1425,7 @@ int do_run (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])  			printf ("## Error: \"%s\" not defined\n", argv[i]);  			return 1;  		} -#ifndef CFG_HUSH_PARSER +#ifndef CONFIG_SYS_HUSH_PARSER  		if (run_command (arg, flag) == -1)  			return 1;  #else |