3 # Patch managed by http://www.holgerschurig.de/patcher.html
6 --- u-boot-1.1.2/include/cmd_confdefs.h~cmd-arm-linux
7 +++ u-boot-1.1.2/include/cmd_confdefs.h
9 #define CFG_CMD_XIMG 0x0400000000000000ULL /* Load part of Multi Image */
10 #define CFG_CMD_UNIVERSE 0x0800000000000000ULL /* Tundra Universe Support */
11 #define CFG_CMD_EXT2 0x1000000000000000ULL /* EXT2 Support */
12 +#define CFG_CMD_LINUX 0x2000000000000000ULL /* boot zImage directly */
14 #define CFG_CMD_ALL 0xFFFFFFFFFFFFFFFFULL /* ALL commands */
16 --- u-boot-1.1.2/lib_arm/armlinux.c~cmd-arm-linux
17 +++ u-boot-1.1.2/lib_arm/armlinux.c
22 +#if (CONFIG_COMMANDS & CFG_CMD_LINUX)
23 +void do_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
25 + DECLARE_GLOBAL_DATA_PTR;
27 + ulong initrd_start = 0;
28 + ulong initrd_end = 0;
30 + void (*theKernel)(int zero, int arch, uint params);
34 +#ifdef CONFIG_CMDLINE_TAG
39 +#ifdef CONFIG_CMDLINE_TAG
44 + for (i=1, len=0 ; i<argc ; i+=1) {
46 + cmdline[len++] = ' ';
47 + strcpy (&cmdline[len], argv[i]);
48 + len += strlen(argv[i]);
51 + if ((s = getenv("bootargs")) != NULL) {
54 + strcpy(cmdline, "");
58 + theKernel = (void (*)(int, int, uint))load_addr;
60 + SHOW_BOOT_PROGRESS (14);
63 + printf ("## Transferring control to Linux (at address %08lx) ...\n",
67 +#if defined (CONFIG_SETUP_MEMORY_TAGS) || \
68 + defined (CONFIG_CMDLINE_TAG) || \
69 + defined (CONFIG_INITRD_TAG) || \
70 + defined (CONFIG_SERIAL_TAG) || \
71 + defined (CONFIG_REVISION_TAG) || \
72 + defined (CONFIG_LCD) || \
73 + defined (CONFIG_VFD)
74 + setup_start_tag(bd);
75 +#ifdef CONFIG_SERIAL_TAG
76 + setup_serial_tag(¶ms);
78 +#ifdef CONFIG_REVISION_TAG
79 + setup_revision_tag(¶ms);
81 +#ifdef CONFIG_SETUP_MEMORY_TAGS
82 + setup_memory_tags(bd);
84 +#ifdef CONFIG_CMDLINE_TAG
85 + setup_commandline_tag(bd, cmdline);
87 +#ifdef CONFIG_INITRD_TAG
88 + setup_initrd_tag(bd, initrd_start, initrd_end);
90 +#if defined (CONFIG_VFD) || defined (CONFIG_LCD)
91 + setup_videolfb_tag ((gd_t *) gd);
96 + /* we assume that the kernel is in place */
97 + printf("\nStarting kernel ...\n");
99 +#ifdef CONFIG_USB_DEVICE
101 + extern void udc_disconnect (void);
105 + cleanup_before_linux();
107 + //TODO: CONFIG_TAG_ADDR is now bd->bi_boot_params ?
108 + theKernel(0, bd->bi_arch_number, bd->bi_boot_params);
113 + linux, CFG_MAXARGS, 0, do_linux,
114 + "linux - boot Linux zImage directly\n",
115 + "[arg ...]\n - boot Linux zImage, passing arguments 'arg ...'\n"
120 #if defined (CONFIG_SETUP_MEMORY_TAGS) || \
121 defined (CONFIG_CMDLINE_TAG) || \
122 defined (CONFIG_INITRD_TAG) || \