Prepare for 0.3.0 release
[platform/kernel/u-boot.git] / common / cmd_boot.c
index 1c9a41d..2fc0729 100644 (file)
@@ -71,7 +71,7 @@ int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
        print_num ("flashoffset",   bd->bi_flashoffset  );
        print_num ("sramstart",     bd->bi_sramstart    );
        print_num ("sramsize",      bd->bi_sramsize     );
-#if defined(CONFIG_8xx) || defined(CONFIG_8260)
+#if defined(CONFIG_5xx) || defined(CONFIG_8xx) || defined(CONFIG_8260)
        print_num ("immr_base",     bd->bi_immr_base    );
 #endif
        print_num ("bootflags",     bd->bi_bootflags    );
@@ -163,10 +163,10 @@ int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
                printf ("%c%02X", i ? ':' : ' ', bd->bi_enetaddr[i]);
        }
        printf ("\n"
-               "ip_addr       = ");
+               "ip_addr     = ");
        print_IPaddr (bd->bi_ip_addr);
        printf ("\n"
-               "baudrate      = %d bps\n", bd->bi_baudrate);
+               "baudrate    = %d bps\n", bd->bi_baudrate);
 
        return 0;
 }
@@ -575,6 +575,7 @@ write_record (char *buf)
 #define XON_CHAR        17
 #define XOFF_CHAR       19
 #define START_CHAR      0x01
+#define ETX_CHAR       0x03
 #define END_CHAR        0x0D
 #define SPACE           0x20
 #define K_ESCAPE        0x23
@@ -995,8 +996,18 @@ static int k_recv (void)
 #endif
 
                /* get a packet */
-               /* wait for the starting character */
-               while (serial_getc () != START_CHAR);
+               /* wait for the starting character or ^C */
+               for (;;) {
+                       switch (serial_getc ()) {
+                       case START_CHAR:        /* start packet */
+                               goto START;
+                       case ETX_CHAR:          /* ^C waiting for packet */
+                               return (0);
+                       default:
+                               ;
+                       }
+               }
+START:
                /* get length of packet */
                sum = 0;
                new_char = serial_getc ();