summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/mips/include/asm/u-boot-mips.h11
-rw-r--r--arch/mips/lib/board.c7
-rw-r--r--arch/mips/lib/bootm.c102
-rw-r--r--arch/mips/lib/bootm_qemu_mips.c26
-rw-r--r--include/common.h3
5 files changed, 79 insertions, 70 deletions
diff --git a/arch/mips/include/asm/u-boot-mips.h b/arch/mips/include/asm/u-boot-mips.h
new file mode 100644
index 0000000..6f26dfa
--- /dev/null
+++ b/arch/mips/include/asm/u-boot-mips.h
@@ -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);
diff --git a/arch/mips/lib/board.c b/arch/mips/lib/board.c
index 59a8001..62d47a8 100644
--- a/arch/mips/lib/board.c
+++ b/arch/mips/lib/board.c
@@ -38,13 +38,6 @@
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;
static char *failed = "*** failed ***\n";
diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
index 9930abf..608c1a7 100644
--- a/arch/mips/lib/bootm.c
+++ b/arch/mips/lib/bootm.c
@@ -33,22 +33,23 @@ DECLARE_GLOBAL_DATA_PTR;
#define LINUX_MAX_ENVS 256
#define LINUX_MAX_ARGS 256
-static int linux_argc;
-static char ** linux_argv;
+static int linux_argc;
+static char **linux_argv;
-static char ** linux_env;
-static char * linux_env_p;
-static int linux_env_idx;
+static char **linux_env;
+static char *linux_env_p;
+static int linux_env_idx;
-static void linux_params_init (ulong start, char * commandline);
-static void linux_env_set (char * env_name, char * env_val);
+static void linux_params_init(ulong start, char *commandline);
+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 *);
- char *commandline = getenv ("bootargs");
- char env_buf[12];
- char *cp;
+ void (*theKernel) (int, char **, char **, int *);
+ char *commandline = getenv("bootargs");
+ char env_buf[12];
+ char *cp;
if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
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);
#ifdef DEBUG
- printf ("## Transferring control to Linux (at address %08lx) ...\n",
+ printf("## Transferring control to Linux (at address %08lx) ...\n",
(ulong) theKernel);
#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
- sprintf (env_buf, "%lu", (ulong)gd->ram_size);
- debug ("## Giving linux memsize in bytes, %lu\n", (ulong)gd->ram_size);
+ sprintf(env_buf, "%lu", (ulong)gd->ram_size);
+ debug("## Giving linux memsize in bytes, %lu\n", (ulong)gd->ram_size);
#else
- sprintf (env_buf, "%lu", (ulong)(gd->ram_size >> 20));
- debug ("## Giving linux memsize in MB, %lu\n", (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));
#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));
- linux_env_set ("initrd_start", env_buf);
+ sprintf(env_buf, "0x%08X", (uint) UNCACHED_SDRAM(images->rd_start));
+ linux_env_set("initrd_start", env_buf);
- sprintf (env_buf, "0x%X", (uint) (images->rd_end - images->rd_start));
- linux_env_set ("initrd_size", env_buf);
+ sprintf(env_buf, "0x%X", (uint) (images->rd_end - images->rd_start));
+ linux_env_set("initrd_size", env_buf);
- sprintf (env_buf, "0x%08X", (uint) (gd->bd->bi_flashstart));
- linux_env_set ("flash_start", env_buf);
+ sprintf(env_buf, "0x%08X", (uint) (gd->bd->bi_flashstart));
+ linux_env_set("flash_start", env_buf);
- sprintf (env_buf, "0x%X", (uint) (gd->bd->bi_flashsize));
- linux_env_set ("flash_size", env_buf);
+ sprintf(env_buf, "0x%X", (uint) (gd->bd->bi_flashsize));
+ linux_env_set("flash_size", env_buf);
cp = getenv("ethaddr");
- if (cp != NULL) {
+ if (cp)
linux_env_set("ethaddr", cp);
- }
cp = getenv("eth1addr");
- if (cp != NULL) {
+ if (cp)
linux_env_set("eth1addr", cp);
- }
/* 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 */
return 1;
}
-static void linux_params_init (ulong start, char *line)
+static void linux_params_init(ulong start, char *line)
{
char *next, *quote, *argp;
@@ -117,26 +118,25 @@ static void linux_params_init (ulong start, char *line)
next = line;
while (line && *line && linux_argc < LINUX_MAX_ARGS) {
- quote = strchr (line, '"');
- next = strchr (line, ' ');
+ quote = 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
* now we have to find the matching right quote
*/
- next = strchr (quote + 1, '"');
- if (next != NULL) {
- quote = strchr (next + 1, '"');
- next = strchr (next + 1, ' ');
+ next = strchr(quote + 1, '"');
+ if (next) {
+ quote = strchr(next + 1, '"');
+ next = strchr(next + 1, ' ');
}
}
- if (next == NULL) {
- next = line + strlen (line);
- }
+ if (!next)
+ next = line + strlen(line);
linux_argv[linux_argc] = argp;
- memcpy (argp, line, next - line);
+ memcpy(argp, line, next - line);
argp[next - line] = 0;
argp += next - line + 1;
@@ -154,19 +154,19 @@ static void linux_params_init (ulong start, char *line)
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) {
linux_env[linux_env_idx] = linux_env_p;
- strcpy (linux_env_p, env_name);
- linux_env_p += strlen (env_name);
+ strcpy(linux_env_p, env_name);
+ linux_env_p += strlen(env_name);
- strcpy (linux_env_p, "=");
+ strcpy(linux_env_p, "=");
linux_env_p += 1;
- strcpy (linux_env_p, env_val);
- linux_env_p += strlen (env_val);
+ strcpy(linux_env_p, env_val);
+ linux_env_p += strlen(env_val);
linux_env_p++;
linux_env[++linux_env_idx] = 0;
diff --git a/arch/mips/lib/bootm_qemu_mips.c b/arch/mips/lib/bootm_qemu_mips.c
index bb6442a..0815c9c 100644
--- a/arch/mips/lib/bootm_qemu_mips.c
+++ b/arch/mips/lib/bootm_qemu_mips.c
@@ -29,30 +29,31 @@
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 *);
- char *bootargs = getenv ("bootargs");
- char *start;
- uint len;
+ void (*theKernel) (int, char **, char **, int *);
+ char *bootargs = getenv("bootargs");
+ char *start;
+ uint len;
/* find kernel entry point */
theKernel = (void (*)(int, char **, char **, int *))images->ep;
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);
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 */
*(int32_t *)(gd->bd->bi_boot_params - 4) = 0x12345678;
/* set 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);
@@ -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;
if (len > 0) {
- start += sprintf(start," rd_start=0x%08X rd_size=0x%0X",
- (uint) UNCACHED_SDRAM (images->rd_start),
+ start += sprintf(start, " rd_start=0x%08X rd_size=0x%0X",
+ (uint) UNCACHED_SDRAM(images->rd_start),
(uint) len);
}
/* 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 */
return 1;
}
diff --git a/include/common.h b/include/common.h
index 8564a65..ecfa6c4 100644
--- a/include/common.h
+++ b/include/common.h
@@ -355,6 +355,9 @@ int setenv_addr(const char *varname, const void *addr);
# include <asm/mach-types.h>
# include <asm/u-boot-nds32.h>
#endif /* CONFIG_NDS32 */
+#ifdef CONFIG_MIPS
+# include <asm/u-boot-mips.h>
+#endif /* CONFIG_MIPS */
#ifdef CONFIG_AUTO_COMPLETE
int env_complete(char *var, int maxv, char *cmdv[], int maxsz, char *buf);