2001-06-28  Jonathan Larmour  <jlarmour@redhat.com>

	* cdl/redboot.cdl: Don't have a configured default IP address by
	default if we have fconfig.
	* src/net/ip.c: Provide a default ip addr if not defined.

2001-06-28  Jesper Skov  <jskov@redhat.com>

	* src/load.c (do_load): Don't allow verbose to be used with serial
	downloads.

	* src/main.c (do_reset): Reset via VV function.

2001-06-27  Hugo Tyson  <hmt@redhat.com>

	* src/io.c: Provide proto for do_channel() to reduce warning.

2001-06-27  Jonathan Larmour  <jlarmour@redhat.com>

	* cdl/redboot.cdl (CYGDAT_REDBOOT_DEFAULT_IP_ADDR): Provide a compiled
	in default IP address.
	* src/net/ip.c: Initialize __local_ip_addr with it.
	* src/net/bootp.c: Restore the previous __local_ip_addr if BOOTP fails.

	* include/redboot.h: Fix another VARIBLE_BAUD_RATE typo. Fun this.

2001-06-26  Jonathan Larmour  <jlarmour@redhat.com>

	* src/io.c (do_channel): New function to display/switch console
	channel

	* src/main.c: Move define of CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS to
	* include/redboot.h: ...here

2001-06-26  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c (load_flash_config): Fix another VARIBLE_BAUD_RATE typo.

	* src/xyzModem.c (xyzModem_get_hdr): ACK on EOT was missing.

2001-06-22  Gary Thomas  <gthomas@redhat.com>

	* src/load.c (do_load): Move [static] data used by decompression
	code into this routine where it is used - no longer static.

2001-06-14  Gary Thomas  <gthomas@redhat.com>

	* src/xyzModem.c (xyzModem_get_hdr): More resilient header scan,
	improves error handling capability by avoiding "early" aborts.

	* src/load.c (do_load): Only check TFTP arguments if networking.

	* src/flash.c: Reorg to support new config option (below).

	* cdl/redboot.cdl: New option CYGOPT_REDBOOT_FIS used to enable
	FIS oriented commands.  Other flash commands, e.g. 'fis write',
	still exist even if disabled.

	* src/main.c (do_dump): 'dump' with no arguments will now "continue"
	dumping from where the last command left off.

2001-06-13  Gary Thomas  <gthomas@redhat.com>

	* src/main.c (cyg_start): 
	* src/io.c (gets): 
	* cdl/redboot.cdl: Support RedBoot without GDB stubs.  Later
	versions may also support alternate debug environments.

2001-06-12  Gary Thomas  <gthomas@redhat.com>

	* src/net/net_io.c (net_io_putc): Flush data on '\n'.

2001-06-11  Jonathan Larmour  <jlarmour@redhat.com>

	* doc/redboot.ebsa285: Remove, obsolete.
	* doc/redboot.edb7xxx: Ditto.
	* doc/users_guide: Ditto.

2001-06-11  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c (fis_create): Remove default for "-s" - too dangerous!

	* include/net/tftp.h: Make sure packet size is valid (was one byte
	too long).

	* src/net/tftp_client.c (tftp_stream_open): Fix problem when using
	Windows (3Com at least) servers.

	* src/flash.c: Remove dependency on printf() via user function
	in flash drivers, provided at 'init' time.

2001-06-08  Gary Thomas  <gthomas@redhat.com>

	* src/parse.c (parse): Check for 'argv[]' overruns.

	* src/main.c (ZLIB_COMPRESSION_OVERHEAD): Update - based on observations.

	* src/net/tftp_client.c: 
	* src/net/net_io.c: 
	* src/net/enet.c: 
	* include/redboot.h (MAX_ARGV): Minor memory reduction/tightening.

2001-06-08  Jonathan Larmour  <jlarmour@redhat.com>

	* src/main.c (do_caches): HAL_DCACHE_IS_ENABLED is not present
	on all arch's, so conditionalize. Ditto HAL_ICACHE_IS_ENABLED.

2001-06-08  Nick Garnett  <nickg@cygnus.co.uk>

	* src/main.c (cyg_start): Added code to disable interrupts on all
	comm channels before entering GDB. If this is not done then stray
	interrupts from an otherwise idle ethernet controller can cause
	mayhem in the application. 

	* src/net/net_io.c (net_io_control): Added code to set static
	vector number in disable case as well as enable case. 
	(net_io_init): Added call to net_io_control() to disable network
	interrupts initially. Mainly to get current disable state
	correctly set.

2001-06-07  Jonathan Larmour  <jlarmour@redhat.com>

	* src/load.c (do_load): Ask confirmation of RAM write addr, rather
	than automatically denying.
	(load_srec_image): Ditto.

	* src/io.c (verify_action): Don't ask if we're executing a script.

2001-06-07  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c (expand_aliases): Allow aliases/macros to be nested.

	* src/main.c (set_console_baud_rate): 
	* src/flash.c (do_alias): Force 'fconfig' updates.

	* include/flash_config.h (flash_add_config): New signature.
	Parameter 'update' controls whether the Flash is updated.

2001-06-07    <gthomas@redhat.com>

	* src/load.c (do_load): Tidy some messages.

	* src/flash.c (fis_load): Print image limits (memory range) when
	loading a compressed image.

2001-06-06  Mark Salter  <msalter@redhat.com>

	* include/net/tftp_support.h (TFTP_TIMEOUT_PERIOD): Increase to 5.

	* src/net/udp.c (__udp_recvfrom): Initialize server source port
	to zero.
	(__udp_recvfrom_handler): Validate server source port before
	accepting packet.

2001-05-29  Jesper Skov  <jskov@redhat.com>

	* src/flash.c (fis_load): Fix compiler warning.

2001-05-25  Gary Thomas  <gthomas@redhat.com>

	* src/main.c (set_console_baud_rate): Couldn't restore baud
	rate to default value!
	(do_baud_rate): Update baud rate in flash config database.

	* src/flash.c (do_flash_config): Add "-i" option to force 
	initialization of entire configuration database.
	(do_alias): Improve handling of existing aliases.

2001-05-24  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c (get_config): 
	(do_alias): Be more careful about length of strings accepted.

	* cdl/redboot.cdl: Make 'fconfig' data space and strings larger.

	* src/main.c (cyg_start): Expand aliases on input commands.

	* src/flash.c: Add support for aliases (macros).  Also update
	support for 'fconfig' strings.

	* include/flash_config.h (MAX_STRING_LENGTH): Infer from CDL.

	* cdl/redboot.cdl: Add options for [FLASH based] aliases.
	Also, 'fconfig' now supports strings.

2001-05-23  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c: Fixed typo as below.

2001-05-22  Jonathan Larmour  <jlarmour@redhat.com>

	* cdl/redboot.cdl: Fix typo: CYGSEM_REDBOOT_VARIBLE_BAUD_RATE ->
	CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
	* src/main.c: Ditto.

2001-05-17  Jonathan Larmour  <jlarmour@redhat.com>

	* src/net/tftp_client.c: include redboot.h for have_net.

2001-05-17  Dennis Ehlin  <Dennis.Ehlin@ecs.ericsson.se>
	(with minor mods by jlarmour@redhat.com)
	
	* cdl/redboot.cdl: Split boot script functionality into separate
	component. Rename some options not to be specific to FLASH.
	Add default boot script option.
	* src/main.c (cyg_start): Use default boot script if none provided
	in FLASH (or indeed no FLASH). Support renamed CDL options.
	* src/io.c (gets): Support renamed CDL options.
	(verify_action): Ditto.
	* src/flash.c: Ditto.
	* include/redboot.h: Ditto.

2001-05-17  Gary Thomas  <gthomas@redhat.com>

	* src/crc.c (crc32): Remove unused variable/warning.

	* src/main.c (set_console_baud_rate, do_baud_rate): 
	* src/flash.c: 
	* include/redboot.h: 
	* cdl/redboot.cdl: Add support for variable, settable, console
	baud rate.

	* src/net/tftp_client.c (tftp_stream_open): Don't try if no network.

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

	* cdl/redboot.cdl: Can't build RedBoot without virtual vectors.

2001-05-09  Mark Salter  <msalter@redhat.com>

	* src/main.c (cyg_start): Cast CYGACC_CALL_IF_DELAY_US argument
	to a cyg_int32. Needed when sizeof(int) < sizeof(cyg_int32).

2001-05-07  Gary Thomas  <gthomas@redhat.com>

	* src/net/net_io.c (net_io_isr): Interrupt acknowledgement
	should rightly be done by the driver 'delivery' routine, not here.

2001-04-26  Gary Thomas  <gthomas@redhat.com>

	* src/main.c (do_caches): Display cache state if no arguments.

2001-04-13  Gary Thomas  <gthomas@redhat.com>

	* src/net/ping.c (do_ping): Tidy message.

2001-04-12  Robin Farine  <acnrf@dial.eunet.ch>
2001-04-12  Jonathan Larmour  <jlarmour@redhat.com>

        * src/io.c (gets): Checks for buffer overflow and returns buflen
        if it reaches the end of the buffer.
	* src/main.c (cyg_start): Cope with gets() return being the
	buffer length.

2001-04-12  Mark Salter  <msalter@redhat.com>
2001-04-12  Robin Farine  <acnrf@dial.eunet.ch>

	* src/net/enet.c (__eth_install_listener): Does not accept a
	handler for an eth_type less than 0x800.
	(__enet_poll): Only scan the handlers for a frame type greater
	than 0x800.

2001-04-09  Mark Salter  <msalter@redhat.com>

	* src/printf.c (_vprintf): Fixed some portability problems where
	sizeof(int) != sizeof(long).

2001-04-09  Hugo Tyson	<hmt@redhat.com>

	* src/main.c (do_cksum): Reduce warning absent posix_crc32().

	* src/main.c (cyg_start): Compare ram_end against workspace_end to
	see if there is *less* SDRAM than the MLT suggested, and shorten
	workspace et al accordingly.  This is needed if some SDRAM is
	"stolen" for use by eg. a PCI window, and mapped far away.

2001-04-03  Gary Thomas  <gthomas@redhat.com>

	* src/load.c (do_load): Fix 'raw' loading to check for valid
	base address _before_ trying to load anything.  Also, some
	reorg to make raw vs non-raw cleaner.

2001-04-02  Hugo Tyson  <hmt@redhat.com>

	* src/flash.c (get_config): Update to support some new syntax:
	fco -l -n        ... lists showing nicknames instead of titles.
	fco -l -n -f     ... lists showing both nicknames and titles.
	fco nickname     ... goes straight to editing only nickname.
	fco nick value   ... sets nickname to value.
	All then follow the usual flow out, including the question
	Update RedBoot non-volatile configuration - are you sure (y/n)
	as it should be if you made a change.

2001-03-29  Mark Salter  <msalter@redhat.com>

	* cdl/redboot.cdl (CYGSEM_REDBOOT_FIS_CRC_CHECK): New option to 
	enable (default) or disable CRC checks in FIS images.
	* src/flash.c: Use CYGSEM_REDBOOT_FIS_CRC_CHECK to decide whether
	to provide CRC for flash images.

2001-03-28  Mark Salter  <msalter@redhat.com>

	* src/net/tcp.c (__tcp_handler): Don't send ACK from TIME_WAIT state
	unless the FIN comes in again.

2000-03-27  Grant Edwards <grante@visi.com>

        * src/net/tcp.c (__tcp_handler): Fixed sequence number bug seen when
        doing an active close.

2001-03-23  Gary Thomas  <gthomas@redhat.com>

	* src/printf.c (_vprintf): Support %u (unsigned) descriptor.

	* src/main.c (do_cksum): New command to compute and print a POSIX
	checksum on a range of memory.

	* src/crc.c (posix_crc32): New routine - matches POSIX algorithm.

2001-03-21  Gary Thomas  <gthomas@redhat.com>

	* cdl/redboot.cdl: Back off previous change in number of packets.
	Also change minimum - below this, network debugging fails.

	* src/flash.c (fis_write): New function - support raw writes to FLASH.

	* src/net/enet.c (__enet_poll): Try to continue if out of packets.

	* src/main.c: 
	* src/load.c: 
	* src/flash.c: 
	* include/redboot.h: Keep track of available "user" RAM.

	* cdl/redboot.cdl: Reduce default number of [network] packets.

2001-03-20  Gary Thomas  <gthomas@redhat.com>

	* src/net/net_io.c (net_io_test): Change for new calling convention.

	* src/main.c (cyg_start): Idle processing now in I/O routines.

	* src/io.c (gets): Move idle processing into this function.

	* include/net/net.h (net_io_test): Needs idle parameter.

	* include/redboot.h: Change 'idle' functions to take state (idle/not).

2001-03-19  Jesper Skov  <jskov@redhat.com>

	* cdl/redboot.cdl: Put version.o file in the public lib directory
	so other packages can get at it and link redboot.

2001-03-16  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c (fis_create): Preserve memory [load/exec] address 
	when making assumptions [rewriting existing image].

2001-03-16  Mark Salter  <msalter@redhat.com>

	* src/main.c (cyg_start): Restore console channel after returning
	from stub.

2001-03-15  Gary Thomas  <gthomas@redhat.com>
2001-03-15  Grant Edwards <grante@visi.com>

	* src/net/bootp.c (bootp_handler): Guard against buffer overflow.

2001-03-15  Hugo Tyson  <hmt@redhat.com>

	* src/flash.c (fis_create): The code was installing a default for
	img_size from data_length of an extant record.  That's zero, so,
	so whilst the flash was erased, no data was copied in!
	(fis_list): Added a -d to get the data length field displayed.

2001-03-15  Jesper Skov  <jskov@redhat.com>

	* src/main.c: Make use of script variable conditional on flash.

	* include/redboot.h: Changed type of workspace_end to silence
	warning.

	* src/net/ping.c (do_ping): Fix warning.
	* src/net/pktbuf.c (__pktbuf_dump): Fix warnings.

2001-03-14  Gary Thomas  <gthomas@redhat.com>

	* src/main.c (do_go): Make timeout code consistent with other
	versions, e.g. script timeout.  Also, allow a script to continue
	if it was in effect when 'go' was called and ^C was typed.

	* src/flash.c (fis_create): Ask for additional user verification
	if any [important] parameters are being assumed [left out by user].
	This just adds a level of safety in the presence of assumptions.

2001-03-13  Gary Thomas  <gthomas@redhat.com>

	* src/main.c: Define 'workspace' based on MLT files, rather than
	simply using end of RAM area.

	* src/flash.c: Use 'workspace' for scratch area.

	* include/redboot.h: Define new variables 'workspace_XXX' to specify
	ares used by RedBoot for scratch, etc.

2001-03-12  Jesper Skov  <jskov@redhat.com>

	* src/decompress.c: Removed Z_BAD_CRC hack. zlib does CRC checking
	now.

2001-03-09  Jesper Skov  <jskov@redhat.com>

	* src/misc_funs.c: Added strncpy.
	* include/redboot.h: And declaration.

2001-03-08  Jesper Skov  <jskov@redhat.com>

	* src/load.c (do_load): Added decompression support.
	* src/flash.c (fis_load): Same.

	* src/decompress.c: Added. Interfaces the zlib API.

	* include/redboot.h: Added some definitions used by decompression
	code.

	* cdl/redboot.cdl: Added option to control size of zlib bounce
	buffer.

2001-03-05  Jesper Skov  <jskov@redhat.com>

	* src/main.c (cyg_start): Make sure communication channels are
	initialized.

2001-03-03  Gary Thomas  <gthomas@redhat.com>

	* src/main.c (do_idle): New function - all 'idle' handling is here.

	* src/io.c (mon_read_char_with_timeout): Improve timeout handling
	when scanning for a console by applying the minimum possible value
	(1 ms) to each channel, accumulating the total value.  The previous
	algorithm was quite poor on systems where there is no buffering,
	i.e. serial channels with no FIFOs, because each channel would 
	wait for T/N (t = total timeout, N = number channels).  This might
	possibly have been much longer than the devices could tolerate and
	still return valid data.

2001-03-01  Gary Thomas  <gthomas@redhat.com>

	* src/version.c: Add 'bootstrap' to banner so the world can see
	more of what RedBoot's all about.

2001-02-28  Gary Thomas  <gthomas@redhat.com>

	* include/redboot.h: Fix prioritization of 'init' table entries.

2001-02-26  Gary Thomas  <gthomas@redhat.com>

	* include/redboot.h (RedBoot_INIT_PRIO): Slight change - avoid
	arithmetic which C preprocessor doesn't handle anyway.  This also
	fixes prioritizing init entries.

	* src/flash.c (fis_load): Only load actual data [length] when loading
	an image.  

	* cdl/redboot.cdl: Change build rule to always rebuild 'version.o'
	whenever the application is relinked.  Thus the version string will
	always accurately reflect the actual build date/time.

2001-02-22  Hugo Tyson  <hmt@redhat.com>

	* cdl/redboot.cdl: New config options to control default creation
	of various FIS image files.  Also opt for a reserved area at the
	base of flash, eg. for user's POST or other pre-RedBoot code that
	we must not interfere with.  This isn't the same as the extant
	boot_offset option, so the two are made to work together.
	Likewise an offset for the start of a POST-cooperative RedBoot
	image, if any; the value is of course platform dependent, not
	simply after the first RedBoot image, if there is one.

	Clarification: a POST-cooperative RedBoot image is a ROM-start
	image that runs at a higher address in ROM, and which omits some
	of the hardware initialization because it's already done by
	whatever came before.  Most targets do not have such a thing;
	those that do, it is created by a config export file, not by a new
	startup type.  A POST Redboot can be tested from a plain ROM
	redboot by just calling its entrypoint once it is installed in
	flash; eg. by "go 0x50040044" at the RedBoot prompt.

	* src/flash.c (fis_init): Create additional optional entries for
	  o (reserved) reserved area at start, for preboot or post code.
	  o RedBoot itself now optional
	  o RedBoot[post]
	  o RedBoot[backup]
	Also initialize their addresses, sizes, accordingly.
	The default behaviour is unchanged.
	The flash erase is moved to after the fis table init because the
	fis table init most conveniently calculates the high water mark of
	built-in default objects.
	(fis_create): If creating a file which already exists (most likely
	one of the preconfigured defaults) pick up Flash address and
	length (the two required parameters) from there.  They're required
	to be the same to it's no loss of generality, and saves typing,
	makes the default entries far more useful and so on.
	(fis_delete): Skip those entries which were
	preconfigured; we want nobody to be able to delete these.
	(fis_free): Start searching for free space to list only after the
	reserved base area - if there is one.
	(fis_find_free): Start searching for free space only after the
	reserved base area...

2001-02-22  Jesper Skov  <jskov@redhat.com>

	* src/flash.c: Added default case to switch statement.

2001-02-20  Gary Thomas  <gthomas@redhat.com>

	* src/load.c: Remove unnecessary \r from usage message.

	* src/printf.c (_vprintf): Ensure CR/LF sequence, not LFCR.

	* src/net/ping.c: 
	* src/flash.c: Better usage messages [no naked linefeeds].

	* src/net/ping.c: Tidy up usage message.  Check for reasonable
	packet lengths.

	* src/load.c: Tidy up usage message.

2001-02-16  Nick Garnett  <nickg@cygnus.co.uk>

	* src/flash.c (load_flash_config): Move setting of config_ok to
	true to before we look for a script to run. Otherwise scripts just
	don't work.

2001-02-14  Hugo Tyson  <hmt@redhat.com>

	* src/load.c (do_load): Wrap the help message at < 80 cols and fix
	a coupla warnings.

2001-02-13  Hugo Tyson  <hmt@redhat.com>

	* src/flash.c: Fix token/string pasting thinko: ## operators are
	not needed and do confuse some compilers.

2001-02-12  Jesper Skov  <jskov@redhat.com>

	* src/main.c: Use CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL instead
	of CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL.

2001-02-11  Gary Thomas  <gthomas@redhat.com>

	* src/net/ping.c (do_ping): Accomodate new MS_TICKS scheme.

2001-02-09  Grant Edwards  <grante@visi.com>

	* include/net/net.h (MS_TICKS_DELAY): New macro, different from
	MS_TICKS() so that MS_TICKS() gets the current tick count, and
	MS_TICKS_DELAY is used in a delay loop to actually do a delay.

	* src/ticks.c (get_ms_ticks): New function imlementing rework of
	MS_TICKS

	* src/net/net_io.c (net_io_getc): Use MS_TICKS_DELAY() instead of
	CYGACC_CALL_IF_DELAY_US() directly
	(net_io_getc_timeout): Likewise

	* src/net/udp.c (__udp_recvfrom): MS_TICKS -> MS_TICKS_DELAY
	* src/net/bootp.c (__bootp_find_local_ip): Likewise

2001-02-09  Jonathan Larmour  <jlarmour@redhat.com>
2001-02-09  Grant Edwards  <grante@visi.com>

	* src/net/net_io.c (net_io_getc_nonblock): Silence compiler warning

2001-01-31  Gary Thomas  <gthomas@redhat.com>

	* include/redboot.h: 
	* cdl/redboot.cdl: 
	* src/flash.c: Use new CRC functions.

	* src/crc.c: New file - supports 16 and 32 bit CRC functions.

2001-01-31  Grant Edwards <grante@visi.com>

	* src/net/net_io.c (net_io_test): Use new idle function to
	poll for incoming network connections.  Removes #if requirements
	from the main CLI loop.

	* src/main.c (cyg_start): 
	* include/redboot.h (RedBoot_idle): Add new tables to support
	user defined functions to be called when idle (during command input).

2001-01-31  Gary Thomas  <gthomas@redhat.com>

	* include/redboot.h: 
	* src/main.c (cyg_start): 
	* src/net/net_io.c (net_io_getc_nonblock): Forgo TELNET escape
	processing if GDB is active (requires 8-bit clean connection).

2001-01-31  Nick Garnett  <nickg@cygnus.co.uk>

	* src/syscall.c (__do_syscall):
	Added SYS_meminfo syscall.
	This is used by the MIPS3264 GNUPro runtime.

	* src/net/net_io.c (net_io_getc_nonblock):
	Telnet escape processing temporarily disabled because it does not
	work.

2001-01-31  Grant Edwards <grante@visi.com>

	* include/net/net.h: 
	* src/net/enet.c (__eth_install_listener, __eth_remove_listener): 
	New functions - allow user registerable callout to handle 
	non-standard ethernet packets.

2001-01-30  Gary Thomas  <gthomas@redhat.com>

	* src/main.c (do_reset): HAL macro name changed.

	* src/net/ping.c (do_ping): Remove warning.

	* src/main.c (do_help): Only display help for selected topic
	if provided.

2001-01-24  Jonathan Larmour  <jlarmour@redhat.com>

	* src/main.c (cyg_start): Rework last change to use more generic
	HAL_MEM_REAL_REGION_TOP macro.

2001-01-24  Hugo Tyson  <hmt@redhat.com>

	* src/main.c (cyg_start): Take notice of the hal_dram_size
	variable (only supported on ARMs) to set ram_end.  The symbols
	given by the CYGMEM_REGION_ram symbols are minima or defaults.

2001-01-22  Gary Thomas  <gthomas@redhat.com>

	* src/net/inet_addr.c (inet_aton): Fix byte order on big endian 
	systems.

	* src/net/icmp.c (__icmp_install_listener): 
	(__icmp_remove_listener): New functions.
	(__icmp_handler): Call listener for unhandled packets.

	* include/net/net.h: Add handler for ICMP [incoming] data.

	* cdl/redboot.cdl: 
	* src/net/ping.c: New CLI command - ping a host.

2001-01-18  Gary Thomas  <gthomas@redhat.com>

	* include/net/net.h: 
	* src/net/pktbuf.c (__pktbuf_alloc): 
	* src/net/tcp.c (__tcp_listen): Remove obsolete code regarding
	'eth_hdr' stored with packet buffer.

2001-01-17  Hugo Tyson  <hmt@redhat.com>

	* src/io.c (dump_buf_with_offset): Fix previous change so it
	compiles; variable names used not same as parm names in func.

2001-01-16  Gary Thomas  <gthomas@redhat.com>

	* src/xyzModem.c: Improved debug support - now allows debug 
	trace to be kept in memory and dumped at completion.

	* src/io.c (vdump_buf_with_offset): New function which allows
	dumping via any generic "print" function.

	* include/redboot.h: Export new print/dump functions.

2001-01-08  Gary Thomas  <gthomas@redhat.com>

	* src/net/arp.c: Add special case handling for ARP(self).

2001-01-03  Gary Thomas  <gthomas@redhat.com>

	* src/main.c (do_version): Update copyright for 2001.

	* src/io.c (gets): Use timeout provided [was hardcoded to 50ms!]

2000-12-21  Mark Salter  <msalter@redhat.com>

	* src/flash.c (fis_init): Use CYGBLD_REDBOOT_FLASH_BOOT_OFFSET to
	decide where to create default images.

	* cdl/redboot.cdl (CYGBLD_REDBOOT_FLASH_BOOT_OFFSET): Use this
	to define offset from start of FLASH to start of boot image.

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 global 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, 2001 Red Hat, Inc.
// All Rights Reserved.                                                     
// -------------------------------------------                              
//                                                                          
//####COPYRIGHTEND####
//===========================================================================
