* Code cleanup:
  - remove trailing white space, trailing empty lines, C++ comments, etc.
  - split cmd_boot.c (separate cmd_bdinfo.c and cmd_load.c)

* Patches by Kenneth Johansson, 25 Jun 2003:
  - major rework of command structure
    (work done mostly by Michal Cendrowski and Joakim Kristiansen)
diff --git a/board/shannon/Makefile b/board/shannon/Makefile
index ac5bf81..86098a3 100644
--- a/board/shannon/Makefile
+++ b/board/shannon/Makefile
@@ -29,7 +29,7 @@
 SOBJS	:= memsetup.o
 
 $(LIB):	$(OBJS) $(SOBJS)
-	$(AR) crv $@ $^
+	$(AR) crv $@ $(OBJS) $(SOBJS)
 
 clean:
 	rm -f $(SOBJS) $(OBJS)
diff --git a/board/shannon/flash.c b/board/shannon/flash.c
index c340fea..74f5f69 100644
--- a/board/shannon/flash.c
+++ b/board/shannon/flash.c
@@ -327,7 +327,7 @@
      */
     result = *addr;
     if ((result & data) != data)
-        return ERR_NOT_ERASED;
+	return ERR_NOT_ERASED;
 
 
     /*
@@ -393,7 +393,7 @@
     *addr = CMD_READ_ARRAY;
 
     if (chip1 == ERR || chip2 == ERR || *addr != data)
-        rc = ERR_PROG_ERROR;
+	rc = ERR_PROG_ERROR;
 
     if (iflag)
       enable_interrupts();
diff --git a/board/shannon/memsetup.S b/board/shannon/memsetup.S
index 4f0c464..a9a8777 100644
--- a/board/shannon/memsetup.S
+++ b/board/shannon/memsetup.S
@@ -24,7 +24,6 @@
  */
 
 
-
 #include <config.h>
 #include <version.h>
 
@@ -91,4 +90,3 @@
 
 	/* everything is fine now */
 	mov	pc, lr
-
diff --git a/board/shannon/shannon.c b/board/shannon/shannon.c
index a55626d..1876e3e 100644
--- a/board/shannon/shannon.c
+++ b/board/shannon/shannon.c
@@ -40,24 +40,24 @@
 
 #ifdef CONFIG_INFERNO
 	{
-        unsigned long temp;
-        __asm__ __volatile__(/* disable MMU, enable icache */
-                             "mrc p15, 0, %0, c1, c0\n"
-                             "bic %0, %0, #0x00002000\n"
-                             "bic %0, %0, #0x0000000f\n"
-                             "orr %0, %0, #0x00001000\n"
-                             "orr %0, %0, #0x00000002\n"
-                             "mcr p15, 0, %0, c1, c0\n"
-                             /* flush caches */
-                             "mov %0, #0\n"
-                             "mcr p15, 0, %0, c7, c7, 0\n"
-                             "mcr p15, 0, %0, c8, c7, 0\n"
-                             : "=r" (temp)
-                             :
-                             : "memory");
-        /* setup PCMCIA timing */
-        temp = 0xa0000018;
-        *(unsigned long *)temp = 0x00060006;
+	unsigned long temp;
+	__asm__ __volatile__(/* disable MMU, enable icache */
+			     "mrc p15, 0, %0, c1, c0\n"
+			     "bic %0, %0, #0x00002000\n"
+			     "bic %0, %0, #0x0000000f\n"
+			     "orr %0, %0, #0x00001000\n"
+			     "orr %0, %0, #0x00000002\n"
+			     "mcr p15, 0, %0, c1, c0\n"
+			     /* flush caches */
+			     "mov %0, #0\n"
+			     "mcr p15, 0, %0, c7, c7, 0\n"
+			     "mcr p15, 0, %0, c8, c7, 0\n"
+			     : "=r" (temp)
+			     :
+			     : "memory");
+	/* setup PCMCIA timing */
+	temp = 0xa0000018;
+	*(unsigned long *)temp = 0x00060006;
 
 	}
 #endif /* CONFIG_INIT_CRITICAL */
diff --git a/board/shannon/u-boot.lds b/board/shannon/u-boot.lds
index f4b0ade..d1fe8aa 100644
--- a/board/shannon/u-boot.lds
+++ b/board/shannon/u-boot.lds
@@ -26,28 +26,33 @@
 ENTRY(_start)
 SECTIONS
 {
-        . = 0x00000000;
+	. = 0x00000000;
 
-        . = ALIGN(4);
+	. = ALIGN(4);
 	.text      :
 	{
 	  cpu/sa1100/start.o	(.text)
 	  *(.text)
 	}
 
-        . = ALIGN(4);
-        .rodata : { *(.rodata) }
+	. = ALIGN(4);
+	.rodata : { *(.rodata) }
 
-        . = ALIGN(4);
-        .data : { *(.data) }
+	. = ALIGN(4);
+	.data : { *(.data) }
 
-        . = ALIGN(4);
-        .got : { *(.got) }
+	. = ALIGN(4);
+	.got : { *(.got) }
+
+  __u_boot_cmd_start = .;
+  .u_boot_cmd : { *(.u_boot_cmd) }
+  __u_boot_cmd_end = .;
 
 	armboot_end_data = .;
 
-        . = ALIGN(4);
-        .bss : { *(.bss) }
+	. = ALIGN(4);
+	.bss : { *(.bss) }
 
 	armboot_end = .;
+
 }