X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=common%2Fcmd_load.c;h=749849711a007fcfc6817ddca3144e2e0c0dcfb2;hb=4e3ccd26925e5ada78dd89779838f052dffe3e67;hp=5272b0f2d02a8bc0f746548e14c3ecd6b2e9621b;hpb=b0fce99bfc116c2ddb4506268d6e4a0a7054478d;p=u-boot diff --git a/common/cmd_load.c b/common/cmd_load.c index 5272b0f2d0..749849711a 100644 --- a/common/cmd_load.c +++ b/common/cmd_load.c @@ -1,5 +1,5 @@ /* - * (C) Copyright 2000-2003 + * (C) Copyright 2000-2004 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. * * See file CREDITS for list of people who contributed to this @@ -28,7 +28,7 @@ #include #include #include -#include +#include #if (CONFIG_COMMANDS & CFG_CMD_LOADS) @@ -104,8 +104,8 @@ int do_load_serial (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) * box some time (100 * 1 ms) */ for (i=0; i<100; ++i) { - if (serial_tstc()) { - (void) serial_getc(); + if (tstc()) { + (void) getc(); } udelay(1000); } @@ -166,7 +166,7 @@ load_serial (ulong offset) if (addr2info(store_addr)) { int rc; - rc = flash_write((uchar *)binbuf,store_addr,binlen); + rc = flash_write((char *)binbuf,store_addr,binlen); if (rc != 0) { flash_perror (rc); return (~0); @@ -192,7 +192,7 @@ load_serial (ulong offset) "## Total Size = 0x%08lX = %ld Bytes\n", start_addr, end_addr, size, size ); - flush_cache (addr, size); + flush_cache (start_addr, size); sprintf(buf, "%lX", size); setenv("filesize", buf); return (addr); @@ -213,15 +213,16 @@ load_serial (ulong offset) static int read_record (char *buf, ulong len) { + DECLARE_GLOBAL_DATA_PTR; char *p; char c; --len; /* always leave room for terminating '\0' byte */ for (p=buf; p < buf+len; ++p) { - c = serial_getc(); /* read character */ + c = getc(); /* read character */ if (do_echo) - serial_putc (c); /* ... and echo it */ + putc (c); /* ... and echo it */ switch (c) { case '\r': @@ -236,13 +237,11 @@ read_record (char *buf, ulong len) } /* Check for the console hangup (if any different from serial) */ -#ifdef CONFIG_PPC /* we don't have syscall_tbl anywhere else */ - if (syscall_tbl[SYSCALL_GETC] != serial_getc) { + if (gd->jt[XF_getc] != getc) { if (ctrlc()) { return (-1); } } -#endif } /* line too long - truncate */ @@ -388,7 +387,7 @@ write_record (char *buf) char c; while((c = *buf++)) - serial_putc(c); + putc(c); /* Check for the console hangup (if any different from serial) */ @@ -479,7 +478,7 @@ int do_load_serial_bin (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) printf ("## Ready for binary (kermit) download " "to 0x%08lX at %d bps...\n", offset, - current_baudrate); + load_baudrate); addr = load_serial_bin (offset); if (addr == ~0) { @@ -532,8 +531,8 @@ static ulong load_serial_bin (ulong offset) * box some time (100 * 1 ms) */ for (i=0; i<100; ++i) { - if (serial_tstc()) { - (void) serial_getc(); + if (tstc()) { + (void) getc(); } udelay(1000); } @@ -552,7 +551,7 @@ void send_pad (void) int count = his_pad_count; while (count-- > 0) - serial_putc (his_pad_char); + putc (his_pad_char); } /* converts escaped kermit char to binary char */ @@ -580,7 +579,7 @@ void s1_sendpacket (char *packet) { send_pad (); while (*packet) { - serial_putc (*packet++); + putc (*packet++); } } @@ -842,7 +841,7 @@ static int k_recv (void) /* get a packet */ /* wait for the starting character or ^C */ for (;;) { - switch (serial_getc ()) { + switch (getc ()) { case START_CHAR: /* start packet */ goto START; case ETX_CHAR: /* ^C waiting for packet */ @@ -854,13 +853,13 @@ static int k_recv (void) START: /* get length of packet */ sum = 0; - new_char = serial_getc (); + new_char = getc (); if ((new_char & 0xE0) == 0) goto packet_error; sum += new_char & 0xff; length = untochar (new_char); /* get sequence number */ - new_char = serial_getc (); + new_char = getc (); if ((new_char & 0xE0) == 0) goto packet_error; sum += new_char & 0xff; @@ -887,7 +886,7 @@ START: /* END NEW CODE */ /* get packet type */ - new_char = serial_getc (); + new_char = getc (); if ((new_char & 0xE0) == 0) goto packet_error; sum += new_char & 0xff; @@ -897,19 +896,19 @@ START: if (length == -2) { /* (length byte was 0, decremented twice) */ /* get the two length bytes */ - new_char = serial_getc (); + new_char = getc (); if ((new_char & 0xE0) == 0) goto packet_error; sum += new_char & 0xff; len_hi = untochar (new_char); - new_char = serial_getc (); + new_char = getc (); if ((new_char & 0xE0) == 0) goto packet_error; sum += new_char & 0xff; len_lo = untochar (new_char); length = len_hi * 95 + len_lo; /* check header checksum */ - new_char = serial_getc (); + new_char = getc (); if ((new_char & 0xE0) == 0) goto packet_error; if (new_char != tochar ((sum + ((sum >> 6) & 0x03)) & 0x3f)) @@ -919,7 +918,7 @@ START: } /* bring in rest of packet */ while (length > 1) { - new_char = serial_getc (); + new_char = getc (); if ((new_char & 0xE0) == 0) goto packet_error; sum += new_char & 0xff; @@ -936,13 +935,13 @@ START: } } /* get and validate checksum character */ - new_char = serial_getc (); + new_char = getc (); if ((new_char & 0xE0) == 0) goto packet_error; if (new_char != tochar ((sum + ((sum >> 6) & 0x03)) & 0x3f)) goto packet_error; /* get END_CHAR */ - new_char = serial_getc (); + new_char = getc (); if (new_char != END_CHAR) { packet_error: /* restore state machines */ @@ -971,8 +970,8 @@ START: #if (CONFIG_COMMANDS & CFG_CMD_LOADS) #ifdef CFG_LOADS_BAUD_CHANGE -cmd_tbl_t U_BOOT_CMD(LOADS) = MK_CMD_ENTRY( - "loads", 3, 0, do_load_serial, +U_BOOT_CMD( + loads, 3, 0, do_load_serial, "loads - load S-Record file over serial line\n", "[ off ] [ baud ]\n" " - load S-Record file over serial line" @@ -980,8 +979,8 @@ cmd_tbl_t U_BOOT_CMD(LOADS) = MK_CMD_ENTRY( ); #else /* ! CFG_LOADS_BAUD_CHANGE */ -cmd_tbl_t U_BOOT_CMD(LOADS) = MK_CMD_ENTRY( - "loads", 2, 0, do_load_serial, +U_BOOT_CMD( + loads, 2, 0, do_load_serial, "loads - load S-Record file over serial line\n", "[ off ]\n" " - load S-Record file over serial line with offset 'off'\n" @@ -995,16 +994,16 @@ cmd_tbl_t U_BOOT_CMD(LOADS) = MK_CMD_ENTRY( #if (CONFIG_COMMANDS & CFG_CMD_SAVES) #ifdef CFG_LOADS_BAUD_CHANGE -cmd_tbl_t U_BOOT_CMD(SAVES) = MK_CMD_ENTRY( - "saves", 4, 0, do_save_serial, +U_BOOT_CMD( + saves, 4, 0, do_save_serial, "saves - save S-Record file over serial line\n", "[ off ] [size] [ baud ]\n" " - save S-Record file over serial line" " with offset 'off', size 'size' and baudrate 'baud'\n" ); #else /* ! CFG_LOADS_BAUD_CHANGE */ -cmd_tbl_t U_BOOT_CMD(SAVES) = MK_CMD_ENTRY( - "saves", 3, 0, do_save_serial, +U_BOOT_CMD( + saves, 3, 0, do_save_serial, "saves - save S-Record file over serial line\n", "[ off ] [size]\n" " - save S-Record file over serial line with offset 'off' and size 'size'\n" @@ -1015,8 +1014,8 @@ cmd_tbl_t U_BOOT_CMD(SAVES) = MK_CMD_ENTRY( #if (CONFIG_COMMANDS & CFG_CMD_LOADB) -cmd_tbl_t U_BOOT_CMD(LOADB) = MK_CMD_ENTRY( - "loadb", 3, 0, do_load_serial_bin, +U_BOOT_CMD( + loadb, 3, 0, do_load_serial_bin, "loadb - load binary file over serial line (kermit mode)\n", "[ off ] [ baud ]\n" " - load binary file over serial line" @@ -1047,10 +1046,10 @@ int do_hwflow (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) /* -------------------------------------------------------------------- */ -cmd_tbl_t U_BOOT_CMD(HWFLOW) = MK_CMD_ENTRY( - "hwflow [on|off]", 2, 0, do_hwflow, +U_BOOT_CMD( + hwflow, 2, 0, do_hwflow, "hwflow - turn the harwdare flow control on/off\n", - "\n - change RTS/CTS hardware flow control over serial line\n" + "[on|off]\n - change RTS/CTS hardware flow control over serial line\n" ); #endif /* CFG_CMD_HWFLOW */