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

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

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

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-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-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-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-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-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-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.

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-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).

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-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 Cygnus eCos Public License
// Version 1.0 (the "License"); you may not use this file except in
// compliance with the License.  You may obtain a copy of the License at
// http://sourceware.cygnus.com/ecos
// 
// 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 Cygnus Operating System, released
// September 30, 1998.
// 
// The Initial Developer of the Original Code is Cygnus.  Portions created
// by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions.  All Rights Reserved.
// -------------------------------------------
//
//####COPYRIGHTEND####
//===========================================================================
