2000-12-15  Gary Thomas  <gthomas@redhat.com>

	* src/version.c: Define GDB stubs version here as well.  Also
	add warnings and informationabout how all of this works.

2000-12-13  Gary Thomas  <gthomas@redhat.com>

	* src/version.c: New file.

	* src/main.c: 
	* cdl/redboot.cdl: Reorg - main.c is now treated like all other
	files.  New file 'version.c' holds the special stuff used at
	build time to get interesting version information into the
	final product.

2000-12-12  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c (get_config): Increase size of input buffer used
	during 'fconfig' command.

2000-12-11  Gary Thomas  <gthomas@redhat.com>

	* src/main.c: Change in HAL layering - need to include proper
	file to get 'reset' definition.

2000-12-08  Jonathan Larmour  <jlarmour@redhat.com>

	* cdl/redboot.cdl: Tweak CYGPKG_REDBOOT_MAX_CMD_LINE description.

2000-12-07  Gary Thomas  <gthomas@redhat.com>

	* src/main.c (cyg_start): Make CLI command buffer static.
	(do_reset): New command - reset platform from CLI.

	* src/io.c (dump_buf_with_offset): Change signature for 
	more generic export.

	* include/redboot.h: Export 'dump_buf_with_offset' function.

	* cdl/redboot.cdl: Define CLI command buffer - static with
	user specified length - to accomodate some environments which
	may want excrutiatingly long commands.

2000-12-07  Jesper Skov  <jskov@redhat.com>

	* src/misc_funs.c (strlen): NULL ptr string has length 0.

	* src/load.c (load_srec_image): Refuse to load data to a location
	not in RAM.

	* src/flash.c (fis_create): Hack around another MIPS compiler bug.

2000-12-06  Jesper Skov  <jskov@redhat.com>

	* src/load.c: Suppress verbosity when using xyz modem download.
	
	* src/main.c: Fix warnings.
	* src/load.c: Fix warnings.

	* src/parse.c (parse_num): Hack around MIPS compiler bug.

2000-12-01  Gary Thomas  <gthomas@redhat.com>

	* src/xyzModem.h: 
	* src/xyzModem.c (xyzModem_stream_close): New function - tidy up
	and print some statistics about the download.  Better handling
	of CAN (cancel) function.

	* src/load.c (load_srec_image): Consume all data, not just to
	final record.  This makes Ymodem happier.  Also, call xyzModem_close().

2000-11-30  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c (fis_create): Add new option '-n' which suppresses
	the copy from RAM to FLASH.  Used to simply update the FIS directory.
	Also misc printf() changes - add 0x everywhere hex is used.

	* src/net/net_io.c (_net_io_getc_nonblock): Abstract function.
	(net_io_getc_nonblock): Add minimal handling of telnet escape
	sequences - required to properly handle ^C.

	* src/main.c (cyg_start): Support network connection during
	boot/startup script.  Use new codes from 'gets()'.

	* src/flash.c (fis_create): Cleanup to remove warnings.

	* include/net/net.h (BSPLOG): Update for new start/end_console().

	* src/io.c (gets): 
	* include/redboot.h (_GETS_xxx): Define result codes from 
	'gets()' function.

2000-11-28  Gary Thomas  <gthomas@redhat.com>

	* src/parse.c (parse): Support escaped quote marks inside of
	quoted string.  "ab\"c\"" is 'ab"c"'.

	* src/net/tftp_client.c (tftp_stream_open): Read first datum from
	file during open to ensure that errors are reported.

2000-11-27  Drew Moseley  <dmoseley@redhat.com>

	* src/main.c: Switch to an application stack before running a
	user-downloaded app.

2000-11-20  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c: Use CYGBLD_REDBOOT_MIN_IMAGE_SIZE.

	* cdl/redboot.cdl(CYGBLD_REDBOOT_MIN_IMAGE_SIZE): Define this to
	be the minimum size allowed for FIS images.

	* src/xyzModem.c: Tidy up debug support.  Fix some synch problems 
	so that X/Y modem protocols now work properly with Windows/Hyperterm.

2000-11-20  Mark Salter  <msalter@redhat.com>

	* src/net/net_io.c (net_io_flush): Add __tcp_drain to make sure
	everything is successfully sent out.
	(net_io_control): Call net_io_flush for __COMMCTL_FLUSH_OUTPUT.

2000-11-19  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c (fis_create): Print more info when length check fails.

	* src/main.c: Split version display into separate command.

2000-11-06  Mark Salter  <msalter@redhat.com>

	* src/syscall.c: New file. Common handling for bsp syscalls.

	* cdl/redboot.cdl: Add CYGSEM_REDBOOT_BSP_SYSCALLS option to
	turn on BSP syscall support.

2000-11-06  Jesper Skov  <jskov@redhat.com>

	* src/net/net_io.c (net_io_flush): Clear interrupt flag before
	setting breakpoint.

2000-10-30  Gary Thomas  <gthomas@redhat.com>

	* src/net/udp.c: 
	* src/net/pktbuf.c: 
	* src/net/net_io.c: 
	* src/net/enet.c: 
	* include/net/net.h: Minor cleanups to remove warnings.

	* cdl/redboot.cdl: Support threads in all but RAM mode.  Note:
	this should allow thread support in ROM and FLOPPY startup mode.

2000-10-27  Gary Thomas  <gthomas@redhat.com>

	* src/xyzModem.c (xyzModem_stream_open): Add extra delay during
	startup - to give the sender time to get started.

	* src/flash.c (fis_load): Add "-c" option to show checksum of
	image after loading.
	(fis_list): Add "-c" to display stored checksums.

2000-10-26  Mark Salter  <msalter@redhat.com>

	* src/load.c (do_load): Move some local variable declarations
	needed by xyzmodem support so they can be used when redboot
	networking not enabled.

2000-10-26  Gary Thomas  <gthomas@redhat.com>

	* cdl/redboot.cdl: Improve CDL so CYGSEM_HAL_ROM_MONITOR can
	be correctly infered (when building ROM versions).	

	* cdl/redboot.cdl:
	* src/load.c: Add support for xyzModem serial download.

	* src/xyzModem.h: 
	* src/xyzModem.c: New file(s).

2000-10-24  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c: 
	* cdl/redboot.cdl: Add new option which supports keeping all
	important RedBoot data "locked" in FLASH.

2000-10-23  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c (fis_lookup): New exported function.
	(fis_load): Add memory load option. Also checksum data after copy.

	* include/fis.h: Add 'data_length' member.  
	Prototype for 'fis_lookup()'.

	* src/main.c (bist): New [weak] function.  Provide hook for
	platform specific "builtin tests".  This will be overridden by
	platform based functions.

	* cdl/redboot.cdl: 
	* src/main.c (cyg_start): 
	* src/flash.c: Script timeout now has a configurable resolution.

2000-10-21  Gary Thomas  <gthomas@redhat.com>

	* src/net/eth_drv.c: Removed obsolete file - now provided by
	standard IO/ETH package.

2000-10-20  Gary Thomas  <gthomas@redhat.com>

	* src/net/pktbuf.c: Diagnostc - add buffer [list] dumper.

	* src/net/enet.c: Diagnostic - dump when run out of buffers.

	* src/flash.c: Make sure RedBoot flash image size meets
	certain minimums - currently at least 128K.

2000-10-19  Gary Thomas  <gthomas@redhat.com>

	* cdl/redboot.cdl: Add dependency on 'vectors.o'.

	* include/redboot.h: 
	* src/misc_funs.c (strcpy, memcmp): 
	Make function signature [prototype] conform to standards.
	(memmove, memset): Remove.

2000-10-18  Gary Thomas  <gthomas@redhat.com>

	* cdl/redboot.cdl: Improve dependency checking in make rules.

2000-10-17  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c (fis_create): Add new "-s" option to support padded
	images (data size not the same as image size in FLASH).

	* include/fis.h: New file - make structure available for export.

	* src/parse.c: New file.

	* include/redboot.h: 
	* src/main.c: 
	* cdl/redboot.cdl: Split command line parsing functions to separate 
	file.

2000-10-05  Gary Thomas  <gthomas@redhat.com>

	* src/net/net_io.c (net_io_revert_console): 
	(net_io_assume_console): 
	* src/main.c (cyg_start): 
	* src/io.c (gets): 
	* include/redboot.h: Add notion of "console_echo" so that telnet 
	connections don't echo doubly.  Note: there is no telnet negotiation
	at this time, so some things are still not perfect.

2000-09-17  Gary Thomas  <gthomas@redhat.com>

	* src/main.c: Display platform/cpu identification strings if available.

	* cdl/redboot.cdl: Improve CDL to include thread support if
	built in ROM mode.  Also, better handling of network option.

2000-09-15  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c (fis_create): Length (and flash address) must match
	exactly when replacing an image.
	Only warn of invalid memory addresses, not fail.

2000-09-13  Gary Thomas  <gthomas@redhat.com>

	* src/load.c: Better handling of bad data / checksum errors.

	* src/flash.c: Handle case of replacing an image, even if no flash
	address was given.

	* include/net/tftp_support.h: Modify timeouts, etc, for better response.

2000-09-12  Gary Thomas  <gthomas@redhat.com>

	* src/io.c (mon_read_char_with_timeout): Only "select" a console
	when real data (non-zero) arrives.

2000-09-10  Gary Thomas  <gthomas@redhat.com>

	* src/load.c:
	* src/flash.c: Remove warnings if built without networking.

2000-09-11  Jonathan Larmour  <jlarmour@redhat.com>

	* include/redboot.h (_RedBoot_init): Define tables entries as structs
	with one member rather than just func ptrs, to enforce alignment rules
	* src/main.c (cyg_start): Change to use struct init_tab_entry per above

2000-09-07 Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/load.c, include/redboot.h: renamed the getc functions to
 	redboot_getc and made them globel so custom boot loaders can use
 	them.

2000-09-06  Gary Thomas  <gthomas@redhat.com>

	* doc/users_guide: Add info about region locking/unlocking.

2000-09-04  Jonathan Larmour  <jlarmour@redhat.com>

	* include/flash_config.h (struct config_option): Apply
	CYG_HAL_TABLE_TYPE
	* include/redboot.h: Ditto for struct cmd and void_fun_ptr	

2000-09-01  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/flash.c: CYGHWR_IO_FLASH_BLOCK_LOCKING is an interface, so
	it's always defined; look for > 0 instead.

2000-08-28  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c: Support block locking if available.

2000-08-25  Gary Thomas  <gthomas@redhat.com>

	* src/load.c (getc): Fix edge condition when file is an exact multiple
	of internal buffer size (got stuck at end of file).

2000-08-24  Gary Thomas  <gthomas@redhat.com>

	* src/load.c: Fix some prints.  Also use command line parse functions
	instead of ad hoc code.

	* src/flash.c: Better configuration control.

2000-08-23  Gary Thomas  <gthomas@redhat.com>

	* src/load.c (do_load): Use paramterized command line parser.

	* include/redboot.h: 
	* src/main.c (scan_opts): Better support for simple flags.

	* src/flash.c: Add "-l" (list only) option to 'fconfig'.

	* src/net/net_io.c: Add handling of ^C via network connections.

	* include/flash_config.h: 

	* include/redboot.h: Fully qualify table entries (for proper
	sorting and order control).

	* cdl/redboot.cdl: Update requirements to support ^C and thread
	debugging.

2000-08-21  Gary Thomas  <gthomas@redhat.com>

	* cdl/redboot.cdl: 
	* src/net/pktbuf.c (MAX_PKTBUF): Add CDL configury for number
	of network packet buffers.

	* src/net/net_io.c: Change config param names to enforce
	layout (config fields are sorted by name).

	* src/load.c: Adapt to changes in 'parse_num'.

	* src/main.c (parse_num): Now takes additional arguments which
	allow a delimiter set and returning the end of number string.

	* include/redboot.h: Augment 'parse_num' to handle strings
	with more than one number, delimiters, etc.

	* src/flash.c: 
	* include/flash_config.h: Add support for ethernet hardware
	addresses.

2000-08-20  Gary Thomas  <gthomas@redhat.com>

	* include/flash_config.h: New file - configuration data layout.

	* src/flash.c: Restructure config data to be 100% table driven.

	* include/redboot.h: 
	* include/net/bootp.h: 
	* include/net/net.h: 
	* include/net/tftp.h: 
	* include/net/tftp_support.h: New location.

	* src/printf.c: 
	* src/net/arp.c: 
	* src/net/bootp.c: 
	* src/net/cksum.c: 
	* src/net/enet.c: 
	* src/net/icmp.c: 
	* src/net/inet_addr.c: 
	* src/net/ip.c: 
	* src/net/net_io.c: 
	* src/net/pktbuf.c: 
	* src/net/tcp.c: 
	* src/net/tftp_client.c: 
	* src/net/timers.c: 
	* src/net/udp.c: Include files moved.

	* src/redboot.h: 
	* src/net/bootp.h: 
	* src/net/net.h: 
	* src/net/tftp.h: 
	* src/net/tftp_support.h: Files moved.
	
	* cdl/redboot.cdl: Move .h files to include directory.

2000-08-16  Gary Thomas  <gthomas@redhat.com>

	* src/io.c (dump_buf_with_offset): Clean up warnings.

	* src/net/net_io.c: Cosmetic - clean up TCP debug code.

	* src/main.c (cmd_search): Search for ambiguous commands was
	wrong since layout change (only know the limits, don't rely
	on "null" entry).

2000-08-14  Gary Thomas  <gthomas@redhat.com>

	* cdl/redboot.cdl: Support for plugin (table driven) modules.

	* src/flash.c: Lots of warning cleanups.

	* src/io.c: Fix some flash configury.

	* src/load.c: Make internal buffer unsigned so 'raw' mode
	works properly.  Also, support as a plugin command.

	* src/main.c: 
	* src/redboot.h: Add support for "tableized" entries.  In
	particular, commands and platform initializations can now
	be handled via anonymous tables.

	* src/net/net.h: Update for changes in network init setup.

	* src/net/net_io.c: Move network initialization here.

2000-08-07  Gary Thomas  <gthomas@redhat.com>

	* src/net/net.h: 
	* src/redboot.h: 
	* src/main.c: Cosmetic [warnings] cleanups.

2000-08-03  Gary Thomas  <gthomas@redhat.com>

	* cdl/redboot.cdl: Ethernet driver now comes from common
	I/O package.

	* src/io.c (verify_action): Force normal I/O (no script) 
	to get response.

	* src/main.c: Add script timeout to allow user to abort before
	script is run on boot.

	* src/printf.c: '%p' implies zero filled long format.

	* src/flash.c: 
	* src/redboot.h: Add TCP socket and script timeouts.

	* src/net/net_io.c: TCP socket for debug is now configurable
	and settable in FLASH.  Better handling of GDB $O packets (less
	latency).  Additional small changes to support network debug.

2000-07-30  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c: Make config data safer with a 'key'.  Also, don't
	erase the config data when doing a full FIS initialization.
	Finally, ensure that the commands which erase data are not going
	to erase the current code!

	* src/io.c (gets): Treat 'delete' char like ^H.

2000-07-30  Gary Thomas  <gthomas@redhat.com>

	* cdl/redboot.cdl: Add option for FLASH based configuration data.

	* src/flash.c: Lots of changes to support FLASH based configuration
	data, including routines to read and maintain this data.

	* src/main.c: 
	* src/redboot.h: Many changes for FLASH configuration data support.
	Also split out table driven option/parameter parsing.

	* src/io.c: Allow ^C to abort input.  Fix timeout stuff to
	work better while waiting for console to be discovered.
	Add support for boot-time script.

	* src/load.c: Use new IP/INET address functions.

	* src/net/bootp.c: Remove force of net_debug and result print.

	* src/net/inet_addr.c: IP/INET address conversion routines.

	* src/net/net.h: Make 'net_debug' be boolean.  Add IP/INET
	address conversion routine prototypes.

2000-07-29  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c: Misc little cleanups.

	* src/load.c: Print address range of loaded image/file.

2000-07-29  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c: Add 'load' command which loads an image into RAM.

	* src/load.c: Add '-raw' switch to allow loading a file without
	trying to interpret it as an executable image.

	* src/main.c: 
	* src/redboot.h: Make command parsing functions public.

2000-07-29  Gary Thomas  <gthomas@redhat.com>

	* src/net/bootp.c: Turn on network debug during address discovery.
	(Note: this will be optional/configurable in the future).

	* src/net/eth_drv.c: Use 'net_debug' for diagnostic dumps.

	* src/redboot.h: Prototypes for new functions.

	* src/printf.c (vprintf): New function.

	* src/io.c (verify_action): New function.

	* cdl/redboot.cdl: Make FLASH support optional.

	* src/flash.c: New file - implements simple FLASH Image System.

	* src/misc_funs.c (memset): 
	(strcpy): New functions.

	* src/main.c: Split flash functions to separate file.

2000-07-28  Gary Thomas  <gthomas@redhat.com>

	* src/load.c: Add "-v" switch to turn on a little 'spinner' while
	downloading to provide some feedback to the user.

	* src/printf.c: Use only RedBoot I/O to allow console to "float."

	* src/net/bootp.c: Force hardware type to be "original" ethernet.

	* cdl/redboot.cdl: 
	* src/redboot.h: 
	* src/main.c: 
	* src/io.c: 
	* src/net/net_io.c: Support "floating" console, chosen from
	available serial I/O channels.

2000-07-26  Gary Thomas  <gthomas@redhat.com>

	* src/net/tftp_support.h: 
	* src/net/tftp_client.c: Add new stream oriented functions.

	* src/net/net.h: More prototypes.

	* src/redboot.h: Move support functions here.  Update interfaces.

	* src/printf.c: Support %l (long) qualifier.

	* src/misc_funs.c: Misc cleanups.  Add case insensitive routines.

	* src/main.c: FLASH functionality is now in it's own package.

	* src/net/eth_drv.c: 
	* include/eth_drv.h: Update to new interface conventions.

	* cdl/redboot.cdl: Changes for new files(s).

2000-07-24  Gary Thomas  <gthomas@redhat.com>

	* src/net/inet_addr.c: New file.  Support for IP address parsing.

	* src/load.c: New file.  Split out download functionality.
	Restructured to support download via stream (zmodem).

	* src/misc_funs.c: Add case insensitive compare functions.

2000-07-22  Gary Thomas  <gthomas@redhat.com>

	* src/main.c (do_load): Add proper argument parsing.

2000-07-21  Gary Thomas  <gthomas@redhat.com>

	* src/io.c (gets): Treat "\n\r" and "\r\n" as exactluy "\n".  This
	solves problems of simply ignoring "\n" on terminals which can only
	send that character while still working with telnet/TCP connections.

	* src/net/net_io.c: New file.  Supports local I/O via a TCP channel.
	Additional changes to support TCP channel for GDB debug I/O.

	* cdl/redboot.cdl: Clean up dependencies.  Extend network configuration.

	* src/io.c (gets): Ignore blank lines which contain only '\n'.
	This works fine for terminal I/O since they will have '\r' and it
	allows reasonable handling when connected via telnet/TCP.

	* src/main.c: Better support for network connections.  
	Also some reworking of FLASH routines [will be moved later].  
	More error checking and better error messages in download code.

	* src/net/net.h: Reorder 'tcp_socket' fields to enforce proper
	alignment of data buffer [needs to be on dword boundary].

	* src/net/tcp.c: Many small changes getting 'endian'-ness correct.

	* src/net/tftp_client.c (tftp_error): New function - returns a
	string representing the error code [for humans].

2000-07-16  Gary Thomas  <gthomas@redhat.com>

	* cdl/redboot.cdl: Make network support configurable/optional.

	* src/io.c: Add command line input function.

	* src/main.c: Lots of new functions, command line processing, etc.

	* src/misc_funs.c (strcmp, strncmp): New function(s).	

	* src/printf.c: Add support for "%p" (pointers).

	* src/redboot.h: Expand, move global vars, here, etc.

	* src/net/eth_drv.c: Make quieter, change "no interface" string.

	* src/net/net.h (__LITTLE_ENDIAN__): Avoid redefining this on platforms
	where GCC does it for us.

2000-07-12  Gary Thomas  <gthomas@redhat.com>

	* cdl/redboot.cdl: New file(s).

//===========================================================================
//####COPYRIGHTBEGIN####
//                                                                          
// -------------------------------------------                              
// The contents of this file are subject to the Red Hat eCos Public License 
// Version 1.1 (the "License"); you may not use this file except in         
// compliance with the License.  You may obtain a copy of the License at    
// http://www.redhat.com/                                                   
//                                                                          
// Software distributed under the License is distributed on an "AS IS"      
// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the 
// License for the specific language governing rights and limitations under 
// the License.                                                             
//                                                                          
// The Original Code is eCos - Embedded Configurable Operating System,      
// released September 30, 1998.                                             
//                                                                          
// The Initial Developer of the Original Code is Red Hat.                   
// Portions created by Red Hat are                                          
// Copyright (C) 1998, 1999, 2000 Red Hat, Inc.                             
// All Rights Reserved.                                                     
// -------------------------------------------                              
//                                                                          
//####COPYRIGHTEND####
//===========================================================================
