mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 05:50:17 +00:00 
			
		
		
		
	Merge branch 'master' of git://git.denx.de/u-boot-mips
* 'master' of git://git.denx.de/u-boot-mips: MIPS: board.c: move extern declarations to u-boot-mips.h MIPS: bootm_qemu_mips.c: make checkpatch.pl clean MIPS: bootm.c: make checkpatch.pl clean Signed-off-by: Wolfgang Denk <wd@denx.de>
This commit is contained in:
		
						commit
						d1c6e9e44a
					
				
							
								
								
									
										11
									
								
								arch/mips/include/asm/u-boot-mips.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								arch/mips/include/asm/u-boot-mips.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * This file is released under the terms of GPL v2 and any later version.
 | 
				
			||||||
 | 
					 * See the file COPYING in the root directory of the source tree for details.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Copyright (C) 2003 Wolfgang Denk, DENX Software Engineering, wd@denx.de
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern ulong uboot_end_data;
 | 
				
			||||||
 | 
					extern ulong uboot_end;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern int incaip_set_cpuclk(void);
 | 
				
			||||||
@ -38,13 +38,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
DECLARE_GLOBAL_DATA_PTR;
 | 
					DECLARE_GLOBAL_DATA_PTR;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern int timer_init(void);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern int incaip_set_cpuclk(void);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern ulong uboot_end_data;
 | 
					 | 
				
			||||||
extern ulong uboot_end;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ulong monitor_flash_len;
 | 
					ulong monitor_flash_len;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static char *failed = "*** failed ***\n";
 | 
					static char *failed = "*** failed ***\n";
 | 
				
			||||||
 | 
				
			|||||||
@ -33,22 +33,23 @@ DECLARE_GLOBAL_DATA_PTR;
 | 
				
			|||||||
#define	LINUX_MAX_ENVS		256
 | 
					#define	LINUX_MAX_ENVS		256
 | 
				
			||||||
#define	LINUX_MAX_ARGS		256
 | 
					#define	LINUX_MAX_ARGS		256
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int	linux_argc;
 | 
					static int linux_argc;
 | 
				
			||||||
static char **	linux_argv;
 | 
					static char **linux_argv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static char **	linux_env;
 | 
					static char **linux_env;
 | 
				
			||||||
static char *	linux_env_p;
 | 
					static char *linux_env_p;
 | 
				
			||||||
static int	linux_env_idx;
 | 
					static int linux_env_idx;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void linux_params_init (ulong start, char * commandline);
 | 
					static void linux_params_init(ulong start, char *commandline);
 | 
				
			||||||
static void linux_env_set (char * env_name, char * env_val);
 | 
					static void linux_env_set(char *env_name, char *env_val);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *images)
 | 
					int do_bootm_linux(int flag, int argc, char * const argv[],
 | 
				
			||||||
 | 
								bootm_headers_t *images)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	void	(*theKernel) (int, char **, char **, int *);
 | 
						void (*theKernel) (int, char **, char **, int *);
 | 
				
			||||||
	char	*commandline = getenv ("bootargs");
 | 
						char *commandline = getenv("bootargs");
 | 
				
			||||||
	char	env_buf[12];
 | 
						char env_buf[12];
 | 
				
			||||||
	char	*cp;
 | 
						char *cp;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
 | 
						if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
 | 
				
			||||||
		return 1;
 | 
							return 1;
 | 
				
			||||||
@ -59,53 +60,53 @@ int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *ima
 | 
				
			|||||||
	bootstage_mark(BOOTSTAGE_ID_RUN_OS);
 | 
						bootstage_mark(BOOTSTAGE_ID_RUN_OS);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef DEBUG
 | 
					#ifdef DEBUG
 | 
				
			||||||
	printf ("## Transferring control to Linux (at address %08lx) ...\n",
 | 
						printf("## Transferring control to Linux (at address %08lx) ...\n",
 | 
				
			||||||
		(ulong) theKernel);
 | 
							(ulong) theKernel);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	linux_params_init (UNCACHED_SDRAM (gd->bd->bi_boot_params), commandline);
 | 
						linux_params_init(UNCACHED_SDRAM(gd->bd->bi_boot_params), commandline);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef CONFIG_MEMSIZE_IN_BYTES
 | 
					#ifdef CONFIG_MEMSIZE_IN_BYTES
 | 
				
			||||||
	sprintf (env_buf, "%lu", (ulong)gd->ram_size);
 | 
						sprintf(env_buf, "%lu", (ulong)gd->ram_size);
 | 
				
			||||||
	debug ("## Giving linux memsize in bytes, %lu\n", (ulong)gd->ram_size);
 | 
						debug("## Giving linux memsize in bytes, %lu\n", (ulong)gd->ram_size);
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
	sprintf (env_buf, "%lu", (ulong)(gd->ram_size >> 20));
 | 
						sprintf(env_buf, "%lu", (ulong)(gd->ram_size >> 20));
 | 
				
			||||||
	debug ("## Giving linux memsize in MB, %lu\n", (ulong)(gd->ram_size >> 20));
 | 
						debug("## Giving linux memsize in MB, %lu\n",
 | 
				
			||||||
 | 
							(ulong)(gd->ram_size >> 20));
 | 
				
			||||||
#endif /* CONFIG_MEMSIZE_IN_BYTES */
 | 
					#endif /* CONFIG_MEMSIZE_IN_BYTES */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	linux_env_set ("memsize", env_buf);
 | 
						linux_env_set("memsize", env_buf);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	sprintf (env_buf, "0x%08X", (uint) UNCACHED_SDRAM (images->rd_start));
 | 
						sprintf(env_buf, "0x%08X", (uint) UNCACHED_SDRAM(images->rd_start));
 | 
				
			||||||
	linux_env_set ("initrd_start", env_buf);
 | 
						linux_env_set("initrd_start", env_buf);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	sprintf (env_buf, "0x%X", (uint) (images->rd_end - images->rd_start));
 | 
						sprintf(env_buf, "0x%X", (uint) (images->rd_end - images->rd_start));
 | 
				
			||||||
	linux_env_set ("initrd_size", env_buf);
 | 
						linux_env_set("initrd_size", env_buf);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	sprintf (env_buf, "0x%08X", (uint) (gd->bd->bi_flashstart));
 | 
						sprintf(env_buf, "0x%08X", (uint) (gd->bd->bi_flashstart));
 | 
				
			||||||
	linux_env_set ("flash_start", env_buf);
 | 
						linux_env_set("flash_start", env_buf);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	sprintf (env_buf, "0x%X", (uint) (gd->bd->bi_flashsize));
 | 
						sprintf(env_buf, "0x%X", (uint) (gd->bd->bi_flashsize));
 | 
				
			||||||
	linux_env_set ("flash_size", env_buf);
 | 
						linux_env_set("flash_size", env_buf);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	cp = getenv("ethaddr");
 | 
						cp = getenv("ethaddr");
 | 
				
			||||||
	if (cp != NULL) {
 | 
						if (cp)
 | 
				
			||||||
		linux_env_set("ethaddr", cp);
 | 
							linux_env_set("ethaddr", cp);
 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	cp = getenv("eth1addr");
 | 
						cp = getenv("eth1addr");
 | 
				
			||||||
	if (cp != NULL) {
 | 
						if (cp)
 | 
				
			||||||
		linux_env_set("eth1addr", cp);
 | 
							linux_env_set("eth1addr", cp);
 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* we assume that the kernel is in place */
 | 
						/* we assume that the kernel is in place */
 | 
				
			||||||
	printf ("\nStarting kernel ...\n\n");
 | 
						printf("\nStarting kernel ...\n\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						theKernel(linux_argc, linux_argv, linux_env, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	theKernel (linux_argc, linux_argv, linux_env, 0);
 | 
					 | 
				
			||||||
	/* does not return */
 | 
						/* does not return */
 | 
				
			||||||
	return 1;
 | 
						return 1;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void linux_params_init (ulong start, char *line)
 | 
					static void linux_params_init(ulong start, char *line)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	char *next, *quote, *argp;
 | 
						char *next, *quote, *argp;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -117,26 +118,25 @@ static void linux_params_init (ulong start, char *line)
 | 
				
			|||||||
	next = line;
 | 
						next = line;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	while (line && *line && linux_argc < LINUX_MAX_ARGS) {
 | 
						while (line && *line && linux_argc < LINUX_MAX_ARGS) {
 | 
				
			||||||
		quote = strchr (line, '"');
 | 
							quote = strchr(line, '"');
 | 
				
			||||||
		next = strchr (line, ' ');
 | 
							next = strchr(line, ' ');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		while (next != NULL && quote != NULL && quote < next) {
 | 
							while (next && quote && quote < next) {
 | 
				
			||||||
			/* we found a left quote before the next blank
 | 
								/* we found a left quote before the next blank
 | 
				
			||||||
			 * now we have to find the matching right quote
 | 
								 * now we have to find the matching right quote
 | 
				
			||||||
			 */
 | 
								 */
 | 
				
			||||||
			next = strchr (quote + 1, '"');
 | 
								next = strchr(quote + 1, '"');
 | 
				
			||||||
			if (next != NULL) {
 | 
								if (next) {
 | 
				
			||||||
				quote = strchr (next + 1, '"');
 | 
									quote = strchr(next + 1, '"');
 | 
				
			||||||
				next = strchr (next + 1, ' ');
 | 
									next = strchr(next + 1, ' ');
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (next == NULL) {
 | 
							if (!next)
 | 
				
			||||||
			next = line + strlen (line);
 | 
								next = line + strlen(line);
 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
		linux_argv[linux_argc] = argp;
 | 
							linux_argv[linux_argc] = argp;
 | 
				
			||||||
		memcpy (argp, line, next - line);
 | 
							memcpy(argp, line, next - line);
 | 
				
			||||||
		argp[next - line] = 0;
 | 
							argp[next - line] = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		argp += next - line + 1;
 | 
							argp += next - line + 1;
 | 
				
			||||||
@ -154,19 +154,19 @@ static void linux_params_init (ulong start, char *line)
 | 
				
			|||||||
	linux_env_idx = 0;
 | 
						linux_env_idx = 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void linux_env_set (char *env_name, char *env_val)
 | 
					static void linux_env_set(char *env_name, char *env_val)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if (linux_env_idx < LINUX_MAX_ENVS - 1) {
 | 
						if (linux_env_idx < LINUX_MAX_ENVS - 1) {
 | 
				
			||||||
		linux_env[linux_env_idx] = linux_env_p;
 | 
							linux_env[linux_env_idx] = linux_env_p;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		strcpy (linux_env_p, env_name);
 | 
							strcpy(linux_env_p, env_name);
 | 
				
			||||||
		linux_env_p += strlen (env_name);
 | 
							linux_env_p += strlen(env_name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		strcpy (linux_env_p, "=");
 | 
							strcpy(linux_env_p, "=");
 | 
				
			||||||
		linux_env_p += 1;
 | 
							linux_env_p += 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		strcpy (linux_env_p, env_val);
 | 
							strcpy(linux_env_p, env_val);
 | 
				
			||||||
		linux_env_p += strlen (env_val);
 | 
							linux_env_p += strlen(env_val);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		linux_env_p++;
 | 
							linux_env_p++;
 | 
				
			||||||
		linux_env[++linux_env_idx] = 0;
 | 
							linux_env[++linux_env_idx] = 0;
 | 
				
			||||||
 | 
				
			|||||||
@ -29,30 +29,31 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
DECLARE_GLOBAL_DATA_PTR;
 | 
					DECLARE_GLOBAL_DATA_PTR;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *images)
 | 
					int do_bootm_linux(int flag, int argc, char * const argv[],
 | 
				
			||||||
 | 
								bootm_headers_t *images)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	void	(*theKernel) (int, char **, char **, int *);
 | 
						void (*theKernel) (int, char **, char **, int *);
 | 
				
			||||||
	char	*bootargs = getenv ("bootargs");
 | 
						char *bootargs = getenv("bootargs");
 | 
				
			||||||
	char	*start;
 | 
						char *start;
 | 
				
			||||||
	uint	len;
 | 
						uint len;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* find kernel entry point */
 | 
						/* find kernel entry point */
 | 
				
			||||||
	theKernel = (void (*)(int, char **, char **, int *))images->ep;
 | 
						theKernel = (void (*)(int, char **, char **, int *))images->ep;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	bootstage_mark(BOOTSTAGE_ID_RUN_OS);
 | 
						bootstage_mark(BOOTSTAGE_ID_RUN_OS);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	debug ("## Transferring control to Linux (at address %08lx) ...\n",
 | 
						debug("## Transferring control to Linux (at address %08lx) ...\n",
 | 
				
			||||||
		(ulong) theKernel);
 | 
							(ulong) theKernel);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	gd->bd->bi_boot_params = gd->bd->bi_memstart + (16 << 20) - 256;
 | 
						gd->bd->bi_boot_params = gd->bd->bi_memstart + (16 << 20) - 256;
 | 
				
			||||||
	debug ("%-12s= 0x%08lX\n", "boot_params", (ulong)gd->bd->bi_boot_params);
 | 
						debug("%-12s= 0x%08lX\n", "boot_params", (ulong)gd->bd->bi_boot_params);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* set Magic */
 | 
						/* set Magic */
 | 
				
			||||||
	*(int32_t *)(gd->bd->bi_boot_params - 4) = 0x12345678;
 | 
						*(int32_t *)(gd->bd->bi_boot_params - 4) = 0x12345678;
 | 
				
			||||||
	/* set ram_size */
 | 
						/* set ram_size */
 | 
				
			||||||
	*(int32_t *)(gd->bd->bi_boot_params - 8) = gd->ram_size;
 | 
						*(int32_t *)(gd->bd->bi_boot_params - 8) = gd->ram_size;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	start = (char*)gd->bd->bi_boot_params;
 | 
						start = (char *)gd->bd->bi_boot_params;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	len = strlen(bootargs);
 | 
						len = strlen(bootargs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -62,15 +63,16 @@ int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *ima
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	len = images->rd_end - images->rd_start;
 | 
						len = images->rd_end - images->rd_start;
 | 
				
			||||||
	if (len > 0) {
 | 
						if (len > 0) {
 | 
				
			||||||
		start += sprintf(start," rd_start=0x%08X rd_size=0x%0X",
 | 
							start += sprintf(start, " rd_start=0x%08X rd_size=0x%0X",
 | 
				
			||||||
		(uint) UNCACHED_SDRAM (images->rd_start),
 | 
							(uint) UNCACHED_SDRAM(images->rd_start),
 | 
				
			||||||
		(uint) len);
 | 
							(uint) len);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* we assume that the kernel is in place */
 | 
						/* we assume that the kernel is in place */
 | 
				
			||||||
	printf ("\nStarting kernel ...\n\n");
 | 
						printf("\nStarting kernel ...\n\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						theKernel(0, NULL, NULL, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	theKernel (0, NULL, NULL, 0);
 | 
					 | 
				
			||||||
	/* does not return */
 | 
						/* does not return */
 | 
				
			||||||
	return 1;
 | 
						return 1;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -355,6 +355,9 @@ int setenv_addr(const char *varname, const void *addr);
 | 
				
			|||||||
# include <asm/mach-types.h>
 | 
					# include <asm/mach-types.h>
 | 
				
			||||||
# include <asm/u-boot-nds32.h>
 | 
					# include <asm/u-boot-nds32.h>
 | 
				
			||||||
#endif /* CONFIG_NDS32 */
 | 
					#endif /* CONFIG_NDS32 */
 | 
				
			||||||
 | 
					#ifdef CONFIG_MIPS
 | 
				
			||||||
 | 
					# include <asm/u-boot-mips.h>
 | 
				
			||||||
 | 
					#endif /* CONFIG_MIPS */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef CONFIG_AUTO_COMPLETE
 | 
					#ifdef CONFIG_AUTO_COMPLETE
 | 
				
			||||||
int env_complete(char *var, int maxv, char *cmdv[], int maxsz, char *buf);
 | 
					int env_complete(char *var, int maxv, char *cmdv[], int maxsz, char *buf);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user