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

	* src/vectors.S (UNMAPPED()): Handle CYGHWR_HAL_ROM_VADDR if so
	defined; this is used when compiling for a different location from
	the base of ROM.  hal_platform_setup.h might define it.  For
	example, if flash is from 0x50000000 upwards (as on SA11x0), and
	we are to execute at 0x50040000, then we want the reset vector to
	point to 0x0004pqrs - the unmapped ROM address of the code -
	rather than 0x0000pqrs, which is the offset into our flash block.
	But usually it's not defined, so the behaviour is the obvious.

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

	* include/arm_vv.h: Removed again, compiler does magic to thumb
	function pointers.
	* include/hal_arch.h: Same.

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

	* include/arm_vv.h: Added virtual vector accessor macros that will
	properly mangle function pointers in thumb mode.
	* include/hal_arch.h: Include arm_vv.h
	* src/vectors.S: ctrlc_init can be called for thumb now (but
	requires ROM monitor to be built with -mthumb-interwork)

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

	* src/arm_stub.c (__arm_breakinst): New ARM breakpoint insn.
	(__thumb_breakinst): New thumb breakpoint insn.
	(__is_bsp_syscall): Check for actual SWI number and support
	thumb.

	* include/hal_arch.h (HAL_BREAKINST_ADDR): New macro to provide
	address of correct breakpoint insn of the given length.

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

	* src/hal_misc.c: Don't use diag_printf directly (rely on tracing
	macros).

2001-01-31  Mark Salter  <msalter@redhat.com>

	* src/vectors.S (FIQ): Fix broken fiq handling.

2001-01-31  Jesper Skov  <jskov@redhat.com>

	* cdl/hal_arm.cdl:  Get rid of CYGDBG_HAL_DIAG_DISABLE_GDB_PROTOCOL
	options. They are replaced by the
	CYGSEM_HAL_DIAG_MANGLER option.

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

	* src/vectors.S (init_flag): Add explicit alignment, just in case.
	From Ilko Iliev <iliev@caretec.at>

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

	* src/vectors.S (hal_dram_size): Create hal_dram_type in memory at
	0x44, right after hal_dram_size.

	* include/hal_intr.h: Add an extern for the word at 0x44, named
	hal_dram_type (as in hal_dram_size).  This can be used for
	platform HALs to know how to decode VIRT_TO_PHYS addresses and
	vice versa.

2000-12-13  Hugo Tyson  <hmt@redhat.com>

	* include/hal_intr.h: Handle variant-, and possible overriding
	platform-, specific interrupt files <cyg/hal/hal_platform_ints.h>.
	This is to simplify the multiple SA11x0 targets which have no
	variation there.	

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

	* src/vectors.S (warm_reset): 'hal_dram_size' is now only set in
	platform code - no need to mess with (pure pollution) it here.

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

	* include/hal_io.h: Use CYGBLD_HAL_PLATFORM_IO_H for those platforms
	which define it (relieves this file of messy includes).

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

	* include/basetype.h: Define LABEL mangling macros.

	* include/arch.inc: Added.

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

	* src/hal_syscall.c: New file. Arm interface to redboot's
	handler for GNUPro based application library syscalls.

	* src/arm_stub.c (__is_bsp_syscall): New function. Return
	true if exception caused by bsp SWI.

	* include/arm_stub.h: Add declaration for __is_bp_syscall.

	* cdl/hal_arm.cdl: Add hal_syscall.c to compile list.

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

	* src/arm_stub.c (__computeSignal): New interface for
	HAL_STUB_IS_STOPPED_BY_HARDWARE

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

	* src/arm_stub.c: Removed uneccesary include.

	* src/vectors.S (start): Fix use of registers which may have
	been destroyed by an LED macro.

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

	* src/arm_stub.c (__computeSignal): Add hook for platforms to
	check for hw watchpoint/breakpoint events.
	(__install_breakpoints): Support HAL breakpoint list.
	(__clear_breakpoints): Ditto.

	* include/hal_arch.h (HAL_BREAKINST_TYPE): Define. Needed by
	hw watchpoint/breakpoint support in stub.

2000-10-20  Jesper Skov  <jskov@redhat.com>

	* src/hal_misc.c: Update __mem_fault_handler declaration.

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

	* include/basetype.h: Override the alignment macros for the ARM
	architecture. The ARM compiler only alows a maximum of 4 bytes
	of alignment where as the default is 8
	
2000-08-15  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/arm.ld (SECTION_text): Change it back so that
	infra/... range checking can see them.  _stext and _etext as seen
	from C are the eventual destination, so this is a step in the
	right direction.  You must hack if building redboot, for now.

2000-08-14  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/arm.ld (SECTION_text): Change to stext and etext unadorned
	with underlines so that RedBoot can see them.

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

	* include/hal_arch.h: 
	* src/arm.ld: Changes to support new [anonymous] tables.

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

	* src/vectors.S (start): Hack to allow thumb tests to run in farm
	until vector table Thumb/ARM API is fixed.

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

	* src/arm_stub.c: Changes to support CygMon changes.

	* src/hal_misc.c: Fix warnings.

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

	* src/hal_misc.c: 
	* src/vectors.S:
	All platforms now has VECTOR_SUPPORT (or provide alternative
	implementations). Removed checks for the option.

2000-07-04  Jonathan Larmour  <jlarmour@redhat.co.uk>

	* cdl/hal_arm.cdl: Add CYGINT_HAL_ARM_MEM_REAL_REGION_TOP
	interface

	* include/hal_intr.h: If the platform implements the
	CYGINT_HAL_ARM_MEM_REAL_REGION_TOP interface, define a new
	HAL_MEM_REAL_REGION_TOP macro appropriately

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

	* src/hal_mk_defs.c:
	* src/arm_stub.c: 
	Fix compiler warnings.

2000-06-21  Nick Garnett  <nickg@cygnus.co.uk>

	* include/hal_arch.h:
	Added local variants of CYG_HAL_TABLE_BEGIN() and
	CYG_HAL_TABLE_END() since the ARM assembler implements some of
	this code with a slightly different syntax to all the other
	targets.

	* include/basetype.h:
	Removed definition of CYG_LABEL_NAME(). Now dealt with by default
	definition in cyg_type.h.
	
	* src/hal_misc.c: 
	* src/arm_stub.c:
	Removed use of CYG_LABEL_NAME(), added underscore to _breakinst.

	* src/arm.ld:
	Added extra underscores to _stext and _etext.
	Switched over to new table creation mechanism.	

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

	* src/vectors.S: Changes for virtual vector support.
	(hal_virtual_vector_table): Need to protect if virtual vector
	stuff not defined.

	* src/hal_mk_defs.c: Add symbols for virtual vector table.

	* src/hal_misc.c (hal_arch_default_isr): New function.  Used in
	place of 'hal_default_isr' if virtual vector support is enabled.

	* include/hal_intr.h: "Fixed" items now exported in 'vectors.S'

	* src/vectors.S: Add notion of "fixed vectors" to all platforms.

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

	* include/hal_arch.h (CYGARC_HAL_SAVE_GP, CYGARC_HAL_RESTORE_GP):
	Added.

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

	* src/vectors.S: Add support for platform specific "vectors"
	which may need to end up in predefined memory locations.
	* src/arm.ld: Add separate 'fixed_vectors' section.

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

	* include/hal_mmu.h (MMU_Control_I): Added for StrongARM support.

2000-04-10  Hugo Tyson  <hmt@cygnus.co.uk>

	* include/arm_stub.h (CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION): Only
	use this complex version if we have
	CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT ie. the place_break &c routines
	existed anyway.  This is an artificial limitation, somewhat, but
	not so painful in reality.

2000-04-04  Jesper Skov  <jskov@redhat.com>

	* src/context.S: 
	* src/vectors.S: 
	Wrap the trivial thumb stuff in macros so the important bits stand
	out.
	Fix dumb bug.
	
2000-03-24  Jesper Skov  <jskov@redhat.com>

	* src/arm_stub.c: Make place_break thumb-aware.

	* include/arm_stub.h (CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION): 
	Thumb-aware definition.
	
2000-03-01  Gary Thomas  <gthomas@cygnus.co.uk>

	* cdl/hal_arm.cdl: 
	Implement CYGINT_HAL_DIAG_DISABLE_GDB_PROTOCOL_SUPPORTED.
	
2000-02-29  Jonathan Larmour  <jlarmour@redhat.co.uk>

	* include/arm_stub.h: Make header C++ safe

2000-02-28  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/hal_misc.c: Use standard 'diag_dump_buf()' instead of
	private version.

2000-02-16  Jesper Skov  <jskov@redhat.com>

	* src/arm_stub.c: CYG_HAL_ARM -> CYGPKG_HAL_ARM

2000-02-10  Jesper Skov  <jskov@redhat.com>

	* src/vectors.S (reset_platform):
	Removed handling of stubs startup type.

2000-02-09  Jesper Skov  <jskov@redhat.com>

	* cdl/hal_arm.cdl: Removed some fix mes.

2000-02-01  Jonathan Larmour  <jlarmour@redhat.co.uk>

	* cdl/hal_arm.cdl: Add missing CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS
	options from include/pkgconf/hal_arm.h

2000-02-01  Jesper Skov  <jskov@redhat.com>

	* src/vectors.S: Treat ROM startup+ROM monitor as STUBS startup.

	* src/arm.ld: Changed PID BE workaround to work with ROM startup.
	Not just when building stubs.
	
2000-01-28  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm.ld: Add new section 'netdevtab' used to support
	network device initialization.

2000-01-26  Jonathan Larmour  <jlarmour@redhat.co.uk>

	* src/hal_misc.c (exception_handler): Replace CYGDAT_CYGMON_ENABLE
	dependency with just CYGPKG_CYGMON
	* src/arm_stub.c (__clear_breakpoints): Likewise

1999-12-16  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm.ld: Include all SRAM (*.sram*) sections.

1999-12-09  John Dallaway  <jld@cygnus.co.uk>

	* cdl/hal_arm.cdl: Add big-endian option.

1999-12-08  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm.ld: Add ".sram" section support (used by platforms
	that have separate SRAM and DRAM).

1999-12-07  Jesper Skov  <jskov@cygnus.co.uk>

	* cdl/hal_arm.cdl: Added ARM7/ARM9 family option.

1999-12-06  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S (software_interrupt): Context save was incorrect
	for this mode.  Note that when entering from supervisor mode, the
	link register (LR) is destroyed.

1999-12-02  John Dallaway  <jld@cygnus.co.uk>

	* cdl/hal_arm.cdl:

	Use the <PACKAGE> token in custom rules.

1999-12-01  John Dallaway  <jld@cygnus.co.uk>

	* cdl/hal_arm.cdl:

	Use the <PREFIX> token in custom rules.

1999-11-22  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm.ld: Add section for definining static MMU tables.

	* src/vectors.S: Introduce PLATFORM_EXTRAS, which if defined provides
	a hook to include platform code in the "vectors.S" file.  In particular,
	some platforms will define this to be <cyg/hal/hal_platform_extras.h> 
	and define static MMU tables there.

1999-11-19  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* include/basetype.h (CYG_BYTEORDER): If the toolchain tells us to be
	big-endian, be big-endian
	Reported by Grant Edwards

1999-11-12  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S (reset_platform): New function used to reset board
	in the absense of real hardware reset (not possible on all boards).

1999-11-11  John Dallaway  <jld@cygnus.co.uk>

	* cdl/hal_arm.cdl:

	Generate 'arm.inc' in the build tree.

1999-11-05  John Dallaway  <jld@cygnus.co.uk>

	* cdl/hal_arm.cdl:

	Add complete dependency analysis to the custom
	rule for 'arm.inc'.

1999-11-04  John Dallaway  <jld@cygnus.co.uk>

	* cdl/hal_arm.cdl:

	Tidy up custom rules.

1999-11-04  John Dallaway  <jld@cygnus.co.uk>

	* cdl/hal_arm.cdl:

	Output custom rule dependency information to .deps files in
	the current directory.

	Dispense with the need to create a 'src' sub-directory.

1999-11-01  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* src/hal_misc.c (exception_handler): Check for CYGDAT_CYGMON_ENABLE
	rather than just CYGPKG_CYGMON
	Include <pkgconf/cygmon.h> to get this define

1999-10-29 Simon FitzMaurice <sdf@cygnus.co.uk>

	* cdl/hal_arm.cdl:

	Use fgrep instead of grep in custom rules.  The latter seems
	to behave weirdly under win32.

1999-10-27  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm_stub.c: Fix typo (CYGDAT_CYGMON_ENABLE).  Also need
	to include <pkgconf/cygmon.h>

1999-10-27  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm_stub.c: Add explicit enable for CygMon package.

1999-10-27  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/arm_stub.c (cyg_hal_gdb_interrupt): Bugfix to previous: ^Cs
	were being ignored when received by the diag output code, because
	there was already a break in place.  Solution is to let
	cyg_hal_gdb_interrupt() override any previous break, and tidy up
	state of course.

1999-10-26  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/arm_stub.c (cyg_hal_gdb_place_break): Add this to the
	ARM-specific GDB stub code.  See hal/common/.../hal_stub for
	details.

1999-10-26  John Dallaway  <jld@cygnus.co.uk>

	* cdl/hal_arm.cdl:

	Invoke 'sh' version of 'mkdir' explicitly in custom rules.

1999-10-26  Jesper Skov  <jskov@cygnus.co.uk>

	* src/vectors.S: Cleaned up LED code a bit.

1999-10-25  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/hal_misc.c (exception_handler): If building for CygMon, defer
	exception processing to it, not here.

	* src/arm_stub.c (__install_breakpoints, __clear_breakpoints): 
	Leave out these [dummy] functions if building CygMon.

	* include/pkgconf/hal_arm.h: Add new configuration option to let
	programs which do not include GDB stubs still process "illegal
	instruction" exceptions.

	* src/vectors.S: Reorder context restore so stack changes are
	protected (interrupts off).

1999-10-26  Jesper Skov  <jskov@cygnus.co.uk>

	* src/arm.ld: Added support for merging RODATA sections into DATA
	* include/hal_io.h: Added BE support.
	
	* src/vectors.S (LED): Added definition for PID board.

1999-10-26  John Dallaway  <jld@cygnus.co.uk>

	* cdl/hal_arm.cdl:

	Modify custom make rules to specify file paths relative
	to the package version directory.

1999-10-22  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/arm_stub.c (cyg_hal_gdb_running_step):
	(cyg_hal_gdb_break_is_set): Provide dummies for these two for now.
	See changelog for hal/common/ hal_stub and generic_stub for info.

1999-10-21  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* include/hal_arch.h: Tidy a bit so the breakpoint instruction is only
	defined in one place
	Change thumb breakpoint instruction to 0xbebe

1999-10-18  John Dallaway  <jld@cygnus.co.uk>

	* cdl/hal_arm.cdl:

	Add cdl_option CYGHWR_THUMB.

1999-10-14  Jesper Skov  <jskov@cygnus.co.uk>
        From James Ingham <jingham@cygnus.com>:
	* src/PKGconf.mak: Make sed invocation Solaris safe.

1999-10-11  Jesper Skov  <jskov@cygnus.co.uk>

	* src/vectors.S (reset_vector): Always execute PLATFORM_SETUP1.

1999-10-08  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* src/arm.ld (SECTION_bss): Make *(.bss*) rather than just .bss, to
	cater for nickc's BSS gc improvements.

1999-10-06  Jesper Skov  <jskov@cygnus.co.uk>

	* include/basetype.h: Set endian to BE if required.

1999-10-05  Jesper Skov  <jskov@cygnus.co.uk>

	* src/arm.ld: Force output format to BE if required.

1999-09-30  Jesper Skov  <jskov@cygnus.co.uk>

	* src/vectors.S: Add thumb_func before thumb code where switching
	so GDB/objdump knows how to disassemble it.
	* include/hal_arch.h: Change thumb breakpoint to undefined
	instruction.
	* src/arm_stub.c (target_thumb_ins): Corrected branch offsets.

1999-09-23  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S (call_exception_handler): Change on 09-19 messed up
	status register wrt breakpoints, single stepping, etc.

1999-09-21  Gary Thomas  <gthomas@cygnus.co.uk>

	* include/hal_arch.h: Remove FIXME about GDB register layout.

	* src/context.S (hal_thread_save_context): Change function prologue
	to match APCS more closely (keeps GDB happier).

1999-09-19  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S (spurious_IRQ): Make sure interrupts are masked
	when switching to IRQ mode.

	* src/hal_misc.c (exception_handler): GDB stubs only take over
	memory exceptions.  This allows proper handling when an application
	has it's own IRQ/FIQ VSR.

1999-09-16  Jesper Skov  <jskov@cygnus.co.uk>

	* src/arm.ld: Handle thumb glue sections.

1999-09-16  Jesper Skov  <jskov@cygnus.co.uk>

	* src/vectors.S: Always include thumb exception support.

1999-09-15  Jesper Skov  <jskov@cygnus.co.uk>

	* src/context.S: Don't trash r0 which holds the thread's initial
	argument.

	* include/hal_arch.h: 
	* src/arm_stub.c: 
	Added thumb-aware GDB interrupt functions.
	
1999-09-14  Jesper Skov  <jskov@cygnus.co.uk>

	* src/vectors.S (undefined_instruction): Adjusted wrong register.
	* src/arm_stub.c (target_thumb_ins): Set thumb flag when required.
	(target_ins): Added BX handling.

	* src/vectors.S:
	* include/hal_arch.h: 
	* src/hal_mk_defs.c:
	* src/arm_stub.c (__single_step): 
	Determine thumb mode by looking at T bit.

1999-09-10  Jesper Skov  <jskov@cygnus.co.uk>

	* src/arm_stub.c (target_thumb_ins): BL is a double instruction.

1999-09-13  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S (handle_IRQ_or_FIQ): Allow spurious interrupts
	to be ignored.  Some platforms (CL7xxx) have non-debounced 
	interrupt sources which can vanish before the hardware can be
	queried.

1999-09-11  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* src/arm_stub.c (__computeSignal): Synchronise return value with
	what libbsp does and GDB expects
	(__get_trap_number): Don't shift right 8 - it's already the right number

1999-09-10  Jesper Skov  <jskov@cygnus.co.uk>

	* src/vectors.S (start): Moved stub vector changeover to after
	stub init.

1999-09-09  Jesper Skov  <jskov@cygnus.co.uk>

	* include/hal_arch.h (HAL_BREAKPOINT):
	* src/arm_stub.c:
	* src/vectors.S:
	Added thumb stub support (except C-c support).
	
1999-08-24  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S: Fix misc THUMB procedures.

1999-08-24  Hugo Tyson  <hmt@masala.cygnus.co.uk>

	* src/vectors.S (handle_IRQ_or_FIQ): Set up the pointer-to-regset
	in r2 for calling the ISR as well as the DSR.  This is needed for
	the cyg_hal_gdb_isr() for those platforms that handle ^C's
	incoming that way - the ISR needs a regset to know where to plant
	a breakpoint to stop the system in the interrupted context.

1999-08-24  Jesper Skov  <jskov@cygnus.co.uk>

	* src/vectors.S (LED): Check XBUS setting jumper and behave
	accordingly.

1999-08-23  Jesper Skov  <jskov@cygnus.co.uk>

	* src/arm_stub.c 
	(target_ins): Check whether branches execute.
	(ins_will_execute): Fixed HI and LS.

1999-08-13  John Dallaway  <jld@cygnus.co.uk>

	* cdl/hal_arm.cdl: Add path to CYGBLD_LINKER_SCRIPT value.

1999-08-12  John Dallaway  <jld@cygnus.co.uk>

	* cdl/hal_arm.cdl: Define CYGBLD_LINKER_SCRIPT.

1999-08-12  Jesper Skov  <jskov@cygnus.co.uk>

	* include/hal_io.h: Include plf_io.h when appropriate.

1999-08-06  Jesper Skov  <jskov@cygnus.co.uk>
        CR 101032
        * src/vectors.S (handle_IRQ_or_FIQ): Moved setup of register_frame
        argument to just before the interrupt_end call.

1999-07-28  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/vectors.S (_eCos_id): Remove bogus version string.

1999-07-26  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/hal_misc.c (hal_default_isr): Call the special platform HAL
	routine to see whether there is a ^C lurking in the serial device
	through a macro, if it's defined.  Problem is that
	CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT *is* defined for platforms that
	do not support it.

1999-07-23  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/hal_misc.c (hal_default_isr): If we are including
	CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT, then poll a special platform
	HAL routine to see whether there is a ^C lurking in the serial
	device.  This has to be done from the default ISR so that others
	(which must know about ^Cs is they are still to be handled) can
	install over the top.  Not all platforms support this, so enabling
	CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT will not necessarily work.

1999-07-21  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/vectors.S (vectors): Re-organize startup a little to support
	ROMming of the image and stubrom creation.  Withdraw publication
	of cyg_startup_stack; it's necessary to do this a different way,
	using...

	* include/hal_intr.h (hal_dram_size): reserve location 0x40 for
	communicating DRAM size between boot ROMs and app during startup,
	and remembering it within ROM startup.  Platforms that don't need
	this should zero the location.

1999-07-19  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/vectors.S (cyg_startup_stack): Publish this object for
	passing some DRAM size info around during startup.
	Remove the unused [well, ignored] array hal_vsr_table - the VSR
	table is defined to be at 0x20 by the code here in vectors.S

	* include/hal_intr.h (HAL_VSR_SET): define hal_vsr_table to be at
	0x20 where the hardware vectors actually read VSR entries from.
	Renumber VSR symbols to match.  Do not use the external
	"hal_vsr_table" symbol.

1999-07-15  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/vectors.S (reset_vector): Invalidate and disable caches for
	EBSA-285 startup is now in PLATFORM_SETUP1 as intended.  Cache
	enabling is in hal_hardware_init; so, same results as before, but
	tidier.

1999-07-14  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/vectors.S: Add some startup debug via a LED macro - which
	has different content depending on platform, of course.
	For the EBSA-285, flush caches when writing vectors and the like,
	since RAM startup occurs with caches enabled, otherwise you get
	mysterious traps as CygMon is entered regardless at the first
	clock tick, for example.  This may be taken out again as ROM
	startup is dealt with via PLATFORM_SETUP1, but for now...

1999-06-22  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S: Fix names of 'report' functions (debug dumps
	for various exceptions).  These needed changes for two reasons:
	name pollution and naming clashes after new ABI adopted.
	Improve support for FIQ interrupts.

1999-06-16  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S: Add ".pool" directives which cause assembler 
	to dump it's literal pool early.  This is necessary because
	of the limited addressing available in THUMB mode.

1999-06-15  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S (vectors): Some boards have an MMU, but the
	reset vector needs to have an unmapped address!

1999-06-09  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S (reset_vector): Streamline ROM/STUBS code.

1999-05-25  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S (_eCos_id): Add version string.  Useful for
	tracking when a system was configured (especially ROMs).
	Add initial pure-thumb support - only for kernel+application
	in thumb mode.
	
	* include/hal_intr.h: Update interrupt support macros for
	thumb mode system.

	* src/context.S: Add initial pure-thumb mode support.

1999-05-21  Hugo Tyson  <hmt@cygnus.co.uk>

	* include/hal_intr.h: Define HAL_INTERRUPT_STACK_BASE and
	HAL_INTERRUPT_STACK_TOP so that stack usage macros in
	kernel/.../stackmon.hxx can work.

	* src/vectors.S (cyg_interrupt_stack_base): Define this symbol for
	the interrupt stack and its friend for the stack top so that we
	can publish them with nice names.

1999-05-19  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm.ld: Change symbols to match new no-underscore ABI.

1999-05-19  Gary Thomas  <gthomas@cygnus.co.uk>

	* include/hal_intr.h: Define interrupt support functions for 
	Thumb mode.

1999-05-16  Gary Thomas  <gthomas@cygnus.co.uk>

	* include/hal_intr.h (HAL_INTERRUPT_STACK_CALL_PENDING_DSRS): 
	Add macro for new DSR handling mechanism (was override of a
	"weak" symbol in kernel).	

1999-05-13  Hugo Tyson  <hmt@cygnus.co.uk>

	* include/hal_arch.h (HAL_THREAD_INIT_CONTEXT): Align stack
	(rather conservatively) before use.

1999-05-11  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S: No separate interrupt stack if no kernel.

1999-05-10  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S: 
	* src/hal_mk_defs.c: 
	* include/hal_arch.h: Fix up machine states, initialize stacks.

1999-04-28  Bart Veer  <bartv@cygnus.co.uk>

	* src/PKGconf.mak:
	Remove the -n argument to tail, it does not appear to be required
	on any supported host and causes problems with some
	implementations of tail.

1999-04-25  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S: Fix use of 'RAISE_INTR' which cannot be used in 'mov'
	instruction (doesn't fit). PR 19906

1999-04-23  John Dallaway  <jld@cygnus.co.uk>

	* src/PKGconf.mak: Avoid backslash in grep search pattern to
	workaround PR 19923.

1999-04-15  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* src/arm.ld: Define __bss_end at the end of the BSS
	* src/vectors.S (start): Use __bss_end rather than _end when clearing
	BSS
	These fix PR 19750

1999-04-14  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* src/PKGconf.mak (EXTRAS): Don't generate extras.o here any more
	But do define EXTRAS every time for the linker script
	
1999-04-13  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S: Use new include <cyg/hal/hal_platform_setup.h>
	which includes macros and definitions for platform specifics.
	This keeps 'ifdef's out of "vectors.S" and makes cleaner code.
	Major restructuring of interrupt handling to support full use
	of a separate interrupt stack.

1999-04-09  Jesper Skov  <jskov@cygnus.co.uk>

	* src/arm_stub.c: 
	Moved get_register and put_register to hal_stub.c.

1999-04-08  John Dallaway  <jld@cygnus.co.uk>

	* src/*.ld: Revised SECTION_* macro arguments to
	avoid padded output sections (PR 19787)

1999-03-22  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* include/arm_stub.h: Update copyright

	* src/arm_stub.c: Update copyright

1999-03-22  Hugo Tyson  <hmt@cygnus.co.uk>

	* include/hal_arch.h: 
	Use CYGNUM_HAL_STACK_SIZE_TYPICAL for the stack size instead of
	CYGNUM_HAL_MINIMUM_STACK_SIZE.

1999-03-16  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/hal_misc.c: Change how breakpoint is described (just a long).

	* src/vectors.S: Pass registers to ISR for GDB break support.

1999-03-17  John Dallaway  <jld@cygnus.co.uk>

	* src/PKGconf.mak: Remove dependence on echo '-e' switch.

1999-03-12  Gary Thomas  <gthomas@cygnus.co.uk>

	* include/hal_arch.h: Add definition of 'CYGNUM_HAL_MINIMUM_STACK_SIZE'

1999-03-11  Gary Thomas  <gthomas@cygnus.co.uk>

	* include/pkgconf/hal_arm.h: Fix comment (name was incorrect)

1999-03-10  Jesper Skov  <jskov@cygnus.co.uk>

	* include/hal_intr.h (HAL_INTERRUPT_ATTACH): Added.

1999-03-09  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/hal_misc.c: Move declaration of __CTOR_LIST__ to avoid warning.

1999-03-09  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S: Remove warning on stack size redefine.

1999-03-08  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S: Override default stack size on AEB.

1999-03-05  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S: 
	* include/pkgconf/hal_arm.h: DOn't print exception info if GDB stubs enabled.

	* src/PKGconf.mak: 
	* src/arm.ld: Clean up I/O package changes.	

1999-03-04  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* src/arm.ld: 
	Unconditionalize use of libextras.a and add libextras.a to GROUP()

1999-03-04  Gary Thomas  <gthomas@cygnus.co.uk>

	These changes merged from 'ecos-new_devs-19990216-branch'

	(1999-02-18  Gary Thomas  <gthomas@cygnus.co.uk>)

	* src/PKGconf.mak (DRIVERS): 
	* src/arm.ld: Support special linking requirements for I/O drivers.

	(1999-02-16  Gary Thomas  <gthomas@cygnus.co.uk>)

	* src/arm.ld: Changes for new I/O [device drivers] subsystem.

1999-02-26  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S: Add separate interrupt stack handling.

	Fix memory region layouts for AEB allowing better error detection.

1999-02-25  Nick Garnett  <nickg@cygnus.co.uk>

	* src/vectors.S:
	Changed label used to access scheduler lock to one that is not
	mangled by C++. This is intended to make support for interrupt
	handling in non-kernel configurations easier.

1999-02-20  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* include/hal_arch.h: 
	Rename deliver_exception -> cyg_hal_deliver_exception
	QA improvements

	* include/hal_intr.h:
	Reorganise vector/interrupt/exception names according to purpose
	QA improvements

	* arch/current/src/hal_misc.c:
	Rename deliver_exception -> cyg_hal_deliver_exception
	Rename vectors due to hal_intr.h changes
	QA improvements

	* arch/current/src/hal_mk_defs.c:
	* arch/current/src/vectors.S
	Rename vectors due to hal_intr.h changes
	QA improvements	

1999-02-16  Jesper Skov  <jskov@cygnus.co.uk>

	* src/vectors.S: Changed set_debug_traps to initialize_stub.

	* src/arm_stub.c:
	* include/arm_stub.h: 
	Cleaned up to only include arch specific stub code.

1999-02-16  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm.ld: Changes for new I/O [device drivers] subsystem.

1999-02-10  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/hal_misc.c (hal_default_isr): Add diagnostic message for PR 19145-19147

1999-02-05  John Dallaway  <jld@cygnus.co.uk>

	* src/arm.ld: Add LMA_EQ_VMA macro definition.

1999-02-04  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S: Use symbolic 'raise interrupt' instead of hard coded value.
	Better GDB stubs stack handling.
	
	* src/hal_mk_defs.c: Add symbolic symbol for 'raise interrupt' instrumentation.

1999-02-03  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/hal_misc.c (cyg_hal_invoke_constructors): 
	* src/vectors.S (start): Use C coded 'cyg_hal_invoke_constructors()'

	* src/hal_misc.c (exception_handler): Remove debug message ...oops!

	* include/hal_arch.h (HAL_SET_GDB_REGISTERS): Restore PSR.

	* src/vectors.S: Use separate stack for GDB stubs exception handlers.

1999-02-01  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/hal_misc.c: Need <pkgconf/hal_arm.h> for 'dump exception' option.

	* src/vectors.S: Fix ROM startup machine initialization.

1999-01-25  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm.ld: Add Copyright

1999-01-25  Jesper Skov  <jskov@cygnus.co.uk>

	* src/arm_stub.c (__build_t_packet): Rewrote fix me text. Added PR
	number, but otherwise left the note.

1999-01-21  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm_stub.c (ins_will_execute): Computation of LS/HI
	was incorrect.

1999-01-20  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm.ld: Change "etext" to "__etext".

1999-01-19  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S: Rework exception handlers.
	(start): Fix for new startup type (STUBS)

	* src/hal_misc.c (exception_handler): Allow GDB stubs to take over all
	exceptions while the stubs are executing.  Also move some common stubs
	initialization into this file.

1999-01-18  Gary Thomas  <gthomas@cygnus.co.uk>

	* include/pkgconf/hal_arm.h: Add configurations for GDB stubs/normal ROM.

	* src/arm.ld: Include HAL/ARM specifics.

	* include/pkgconf/hal_arm.h: 
	* src/hal_misc.c: 
	* src/vectors.S: Add configure option 'CYGHWR_HAL_ARM_DUMP_EXCEPTIONS'
	which is used to chose whether to print diagnostic exception dumps
	or not.

1999-01-15  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/hal_misc.c: Clean up warnings

	* include/hal_arch.h: 
	* include/hal_intr.h: Add function prototypes to avoid warnings.

	* src/arm.ld: Add definition of _stext.  Take out
	GLOBAL_OFFSET_TABLE.

1999-01-14  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/PKGconf.mak: Set up for MLT based linker scripts.

	* src/arm.ld: New file

	* include/hal_intr.h (HAL_QUERY_INTERRUPTS): Test was backwards

1999-01-13  Gary Thomas  <gthomas@cygnus.co.uk>

	* include/hal_intr.h (HAL_TRANSLATE_VECTOR): Add new macro

1999-01-12  Gary Thomas  <gthomas@cygnus.co.uk>

	* include/basetype.h (CYG_DOUBLE_BYTEORDER): Define ordering
	of words within doubles.

1999-01-05  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S: Force AEB-1 memory configuration.
	
1998-12-16  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm_stub.c (ins_will_execute): Fix warning.

	* include/hal_intr.h: Add <hal/hal_platform_ints.h>
	for platform specifics.

1998-12-15  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/hal_mk_defs.c: 
	* include/hal_io.h: 
	* src/vectors.S: Changes to support kernel-less configuration.
	(___gccmain): Add new dummy function.

	* src/hal_misc.c: Merge in platform independent code from
	old "pid/.../hal_misc.c"

1998-12-15  Jesper Skov  <jskov@cygnus.co.uk>

	* include/hal_arch.h: Changed HAL_JMP_BUF_SIZE to
	CYGARC_JMP_BUF_SIZE.

1998-12-14  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/hal_misc.c (exception_handler): Change config option
	to be consistent "CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS"

	* include/hal_arch.h (HAL_THREAD_INIT_CONTEXT): Set initial
	PC for GDB thread info.

	* src/arm_stub.c (__build_t_packet): Fix thread id's which
	must be send to GDB in big-endian.

1998-12-10  Jesper Skov  <jskov@cygnus.co.uk>

	* include/hal_cache.h (HAL_DCACHE_UNLOCK_ALL,
	HAL_ICACHE_UNLOCK_ALL): Added.

1998-12-09  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S (abort_prefetch): Clean up all exception
	handlers (some were just broken).

	* src/hal_misc.c (exception_handler): Improved exception
	handling for GDB stubs while accessing memory.

1998-12-04  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm_stub.c (target_ins): Finish single step support.

1998-12-03  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S (_name): Add undefined instruction handling
	(for breakpoint/single step support).  Plus some rework and
	general cleanup.

	* src/arm_stub.c (single_step): 
	* include/hal_arch.h (HAL_BREAKPOINT): Make breakpoint use
	an illegal instruction rather than SWI.

1998-12-02  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm_stub.c (ins_will_execute): Take out debug messages

	* include/pkgconf/hal_arm.h: New file

	* include/arm_stub.h: Add PSR register definitions

	* src/arm_stub.c (single_step): Support single stepping

1998-12-01  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S (reset_vector): Rework exception handing to leave
	vectors in place unless GDB stubs are included (or started in
	user mode via Angel)

1998-11-26  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/vectors.S (_vectors): Rework to handle SWI exception
	Changes to make GDB stubs work.

	* src/hal_misc.c (exception_handler): 
	Save registers in global "_hal_registers"

	* src/PKGconf.mak (COMPILE): Add arm_stub.c

	* include/hal_io.h: Need to include <pkgconf/kernel.h>

	* include/hal_arch.h (HAL_THREAD_INIT_CONTEXT): 
	Clean up stack usage - no need for 56 byte padding (PPC holdover)
	(HAL_BREAKPOINT): 
	(HAL_GET_GDB_REGISTERS): 
	(HAL_SET_GDB_REGISTERS): Clean up for working stubs

	* src/arm_stub.c: New file, GDB stubs support

1998-11-18  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/hal_mk_defs.c: Add define for 'HAL_SavedRegisters'

	* include/hal_arch.h: cleanup comments

	* include/basetype.h: cleanup comments

	* src/vectors.S: Improved interrupt stack handling.

	* include/hal_intr.h: Add support for interrupt latency
	measurement, controlled by CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY.

1998-10-16  Bart Veer  <bartv@cygnus.co.uk>

	* src/vectors.S (__interrupt_stack):
	Made the interrupt stack size configurable.

//===========================================================================
//####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####
//===========================================================================
