Mercurial > flash_v2
view packages/hal/mips/arch/current/ChangeLog @ 90:70190fa0fe10 ecos-sw-2000-05-19
Merge from eCos master repository on 2000-05-19-07:47:03-BST
| author | jlarmour |
|---|---|
| date | Fri, 19 May 2000 12:47:51 +0000 |
| parents | afdeb44241de |
| children | 08ffab08d2ee |
line wrap: on
line source
2000-05-18 Jesper Skov <jskov@redhat.com> * include/hal_io.h: Allow platforms to override IO macro definitions. 2000-05-16 Jesper Skov <jskov@redhat.com> * include/hal_intr.h: * src/vectors.S: Filter 'break 0x7' (GCC division-by-zero) exceptions out into a new vector. Fix typo. 2000-05-15 Jesper Skov <jskov@redhat.com> * src/vectors.S: Allow warm-start to be treated like cold-start if platform requires it. 2000-05-10 Jesper Skov <jskov@redhat.com> * include/arch.inc: Force assembler into MIPS3 mode before using eret. * include/basetype.h: Fix comments. 2000-03-20 Jonathan Larmour <jlarmour@redhat.co.uk> * include/mips-stub.h: Make C++ safe * include/hal_cache.h (_hal_asm_mips_cpp_stringize): Add as a separate macro because the compiler has got more picky 2000-03-16 Jonathan Larmour <jlarmour@redhat.co.uk> * src/vectors.S (_start): Set return address to 0 and unconditionally jump to cyg_start, so that GDB doesn't get confused with backtraces 2000-03-13 Nick Garnett <nickg@cygnus.co.uk> * src/context.S : Added jmpbuf_regsize to insulate jumb buffer from changes in mips_regsize. This will need extra work if we go to a full 64 bit variant, but for now is the simplest solution to this problem. 2000-02-25 Jonathan Larmour <jlarmour@redhat.co.uk> * include/arch.inc: Add lpc and spc macros to save and restore PC * src/context.S (hal_thread_switch_context): Restore RA into PC location in context so that thread debugging works 2000-02-23 Jonathan Larmour <jlarmour@redhat.co.uk> * src/hal_misc.c (hal_idle_thread_action): CYG_HAL_MIPS_SIM -> CYGPKG_HAL_MIPS_SIM CYG_HAL_MIPS_JMR3904 -> CYGPKG_HAL_MIPS_TX39_JMR3904 * include/arch.inc: CYG_HAL_MIPS_SIM -> CYGPKG_HAL_MIPS_SIM 2000-02-16 Jesper Skov <jskov@redhat.com> * cdl/hal_mips.cdl: removed fix me. 2000-01-14 Nick Garnett <nickg@cygnus.co.uk> * include/hal_arch.h: * include/arch.inc: * src/vectors.S: * src/context.S: Several fixes to allow the GPRs to be saved and restored as 64 bit values on some architectures. This is not full 64 bit support since it only covers the GPRs, HI and LO, there is more to be done in the CP0 registers (however it is a start). 1999-12-21 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/vectors.S (__default_exception_vsr): Rename CYG_HAL_USE_ROM_MONITOR_CYGMON -> CYGSEM_HAL_USE_ROM_MONITOR_CygMon Rename CYG_HAL_ROM_MONITOR -> CYGSEM_HAL_ROM_MONITOR * src/hal_misc.c (hal_default_isr): Rename CYG_HAL_USE_ROM_MONITOR_CYGMON -> CYGSEM_HAL_USE_ROM_MONITOR_CygMon * include/arch.inc: Rename CYG_HAL_USE_ROM_MONITOR -> CYGSEM_HAL_USE_ROM_MONITOR 1999-12-20 John Dallaway <jld@cygnus.co.uk> * cdl/hal_mips.cdl: Fix syntax error. 1999-12-17 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/mipsfp.c (flt2reg): New inline function to convert between float union and register type (reg2flt): Likewise in reverse (cyg_hal_mips_process_fpe): Handle endianness correctly using the above functions. Avoid possible aliasing problems with the compiler. Ensure values are zeroed with the correct sign. Check for denormalized operands for all remaining FPU opcodes. * src/hal_misc.c (cyg_hal_exception_handler): Allow handling of unimplemented operation FPU exceptions to be configurable * include/pkgconf/hal_mips.h: Provide CYGSEM_HAL_MIPS_EMULATE_UNIMPLEMENTED_FPU_OPS to do this * cdl/hal_mips.cdl: Likewise All the above required for cases 102817 and 102820 1999-12-15 Jonathan Larmour <jlarmour@cygnus.co.uk> * include/hal_intr.h (CYGNUM_HAL_EXCEPTION_COUNT): Ensure you can handle FPU exceptions if present Reported in case 102817 1999-12-02 John Dallaway <jld@cygnus.co.uk> * cdl/hal_mips.cdl: Use the <PACKAGE> token in custom rules. 1999-12-01 John Dallaway <jld@cygnus.co.uk> * cdl/hal_mips.cdl: Use the <PREFIX> token in custom rules. 1999-11-04 John Dallaway <jld@cygnus.co.uk> * cdl/hal_mips.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-04 Nick Garnett <nickg@cygnus.co.uk> * src/vectors.S: Added code in reset vector to reset the config0 register to a known state. This is because on some MIPS variants the K0 field comes up in an undefined state. [Later] Moved this code to just work in the case of a cold boot. NMIs and warm boots should leave it as it was. 1999-11-02 Jesper Skov <jskov@cygnus.co.uk> * cdl/hal_mips.cdl: Added. 1999-10-29 Nick Garnett <nickg@cygnus.co.uk> * include/pkgconf/hal_mips.h: Added condition to set a MIPS-private option (CYGDBG_HAL_MIPS_DEBUG_GDB_CTRLC_SUPPORT) if either CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT or CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT are defined. In the MIPS HAL these are implmented with the same code. * src/hal_misc.c: Changed CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT to CYGDBG_HAL_MIPS_DEBUG_GDB_CTRLC_SUPPORT. * src/vectors.S: Space for old SP after switching to interrupt stack must be 8 bytes to preserve alignment of SP. Otherwise any nested interrupts or exceptions will get an address error exception if the FP regs are saved, which then recurses. Changed CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT to CYGDBG_HAL_MIPS_DEBUG_GDB_CTRLC_SUPPORT. * src/mips-stub.c (__is_breakpoint_function): Fixed comparison between PC register and label. On 64 bit CPUs these are both 32 bit values in 64 bit types, but the way that they are generated, the PC is zero extended and the label is sign extended. This caused them to always differ. Fixed by casting label to unsigned long before widening. 1999-10-22 Nick Garnett <nickg@cygnus.co.uk> * src/vectors.S: Replaced ifdef with call to hal_intc_translate macro so the behaviour here may be customized by variant or platform HALs. * include/arch.inc: Added default implementations of hal_intc_translate macro. 1999-10-05 Nick Garnett <nickg@cygnus.co.uk> * include/basetype.h: Made definition of CYG_BYTEORDER dependent on definition of CYGPKG_HAL_MIPS_[L|M]SBFIRST. 1999-09-17 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/vectors.S (__default_exception_vsr): Rename exception_handler()->cyg_hal_exception_handler() After all, we will just do a jump rather than a jal into cyg_hal_exception_handler() (restore_state): Make the change below (by Hugo) be conditional on CYG_HAL_USE_ROM_MONITOR_CYGMON. Add explanatory comment about the additions for Cygmon * src/hal_misc.c (hal_default_isr): Use new format HAL_DIAG_IRQ_CHECK() and check return code is negative; if so, return (cyg_hal_exception_handler): Rename from exception_handler() Now return cyg_uint32, but default to returning 0 always 1999-09-16 Hugo Tyson <hmt@cygnus.co.uk> This set of changes with matching ones in jmr3904 comes from Mark Salter's work to make jmr3904 CygMon talk Ethernet. * src/vectors.S (restore_state): Call CygMon for exceptions or unhandled interrupts if CYG_HAL_USE_ROM_MONITOR. This is why the return value from the ISR is preserved. Don't fully understand this. * src/hal_misc.c (hal_default_isr): Call into hal_diag via HAL_DIAG_IRQ_CHECK if it's defined and CYG_HAL_USE_ROM_MONITOR. This lets CygMon check for network interrupts &c. 1999-09-09 Nick Garnett <nickg@cygnus.co.uk> * include/arch.inc: Moved code to initialize cache out to variant header since it is variant specific. 1999-09-08 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/hal_misc.c (exception_handler): Catch exceptions that come from within GDB stubs and return if that's what the stubs intend 1999-08-19 Nick Garnett <nickg@cygnus.co.uk> * include/hal_io.h: Added include of plf_io.h. 1999-08-10 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/mipsfp.c (cyg_hal_mips_process_fpe): CYG_REPORT_FUNCNAMETYPE() must be first in a C file 1999-07-15 Jonathan Larmour <jlarmour@cygnus.co.uk> * include/arch.inc (hal_fpu_save_caller): Save fcr31 first as recommended by user's manual (hal_fpu_load_caller): Similarly restore fcr31 last Rename CYG_HAL_MIPS_FSR_INIT to CYG_HAL_MIPS_FCSR_INIT since that's closer to its documented name * include/mips-regs.h: Add floating point register definitions, and bitfields/masks for FCR31 in particular * src/mips-stub.c (__single_step): Enable FP branch support if the hardware has an FPU. Change register access to FCR using HAL macro names from mips-regs.h When comparing branch tests with 0, cast the result of get_register() to int so that it works on 64-bit MIPS targets even in 32-bit mode, when GDB still insists REG_SIZE must be 8 (in which case negative results would otherwise go positive) * src/mipsfp.c: New file to emulate unimplemented MIPS FP operations * src/PKGconf.mak (COMPILE): compile it * src/hal_misc.c (exception_handler): If we have an FPU and get an FP exception, call cyg_hal_mips_process_fpe() from mipsfp.c to process it 1999-07-09 Jonathan Larmour <jlarmour@cygnus.co.uk> * include/mips.inc: * include/arch.inc: * src/vectors.S: Rename "cache" register to "cachectrl" to prevent confusion with the "cache" instruction. For symmetry therefore also rename mipsreg_cache to mipsreg_cachectrl * include/arch.inc (hal_cache_init): Invalidate caches at startup * include/hal_cache.h: Allow cache invalidation when cache disabled Add _HAL_ASM_SET_MIPS_ISA() to allow use of cache macros in code compiled with a MIPS ISA below 3 1999-06-25 Nick Garnett <nickg@cygnus.co.uk> * include/arch.inc: * include/hal_arch.h: Added initializer for FPU FSR register. 1999-06-22 Nick Garnett <nickg@cygnus.co.uk> * src/hal_misc.c (hal_default_isr): When chaining, always try the ctrlc ISR, the passed-in vector number can be bogus. 1999-06-18 Nick Garnett <nickg@cygnus.co.uk> * src/hal_misc.c: Added cyg_hal_clock_period variable. * include/hal_intr.h: Modified HAL_CLOCK_LATENCY() macro to do the right thing. Added cyg_hal_clock_period variable. * include/hal_cache.h: Modified implementations of cache macros to only do anything if the appropriate cache is enabled. 1999-06-17 Nick Garnett <nickg@cygnus.co.uk> * src/vectors.S: Added code to discriminate different entry conditions to the reset vector. Added code to translate an NMI into a standard exception and added a new vector in the VSR table for it. Made above code not be present in RAM. Tidied away some debug code. 1999-06-11 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/hal_misc.c: Make sure all symbol addresses are given an appropriate type that they won't be relocated relative to $gp Fix for CR 100800 1999-06-10 Nick Garnett <nickg@cygnus.co.uk> * include/hal_arch.h: Added macros to copy FPU registers between HAL and GDB register save states. 1999-06-08 Nick Garnett <nickg@cygnus.co.uk> * src/vectors.S: Dummy __gccmain did not have a delay slot after the "jr ra". * include/hal_arch.h: Make value of CYGNUM_HAL_STACK_SIZE_TYPICAL always be greater than CYGNUM_HAL_STACK_SIZE_MINIMUM. 1999-06-02 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/hal_misc.c (cyg_hal_invoke_constructors): Rework for new constructor scheme for new compilers. Should work with old compilers too. 1999-05-28 Nick Garnett <nickg@cygnus.co.uk> * src/vectors.S: Removed references to CYG_HAL_STARTUP_STUBS. Removed some defunct code. * include/hal_cache.h (HAL_ICACHE_INVALIDATE_ALL): Fixed typo. 1999-05-27 Nick Garnett <nickg@cygnus.co.uk> * src/vectors.S: Move call to hal_diag_intr_start to a more useful place. Added a save of the current state pointer to memory for ctrl-c support. Ensure that exceptions are enabled before calling the ISR to allow breakpoints to function. * src/mips-stub.c: Imported asynchronous interrupt support from libstub/cygmon. * include/hal_intr.h: Added HAL_DEFAULT_ISR to contain the name of the default ISR. * src/hal_misc.c: Added code to call HAL_CTRLC_ISR to default ISR if it is enabled. Added some (disabled) debug code. * include/hal_cache.h: Added default implementation of HAL_DCACHE_IS_ENABLED(). Made use of it in some cache macros. Also fixed some typos in some macros. 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-21 Nick Garnett <nickg@cygnus.co.uk> * src/vectors.S: Rationalized use of "at" and "noat" setting. Made use of "lar" where necessary. * src/mips-stub.c (__install_breakpoints): Added cache flushes to ensure that the just-set breakpoint is migrated to main memory and will be fetched by the instruction cache. * src/context.S: Rationalized use of "at" and "noat" setting. * include/arch.inc: Added initial value for the config0 register and added code to set it to hal_cpu_init. Added default "lar" macro. 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 Nick Garnett <nickg@cygnus.co.uk> The following have been merged from a branch: 1999-05-11 Nick Garnett <nickg@cygnus.co.uk> * include/hal_arch.h: * include/hal_intr.h: * include/hal_cache.h: * include/arch.inc: Changed references to "imp" and "implementation" to "var" and "variant" respectively. These are better names for these files and functions. * src/vectors.S: Removed or disabled some development/debug code. Same imp->var changes as above. 1999-05-06 Nick Garnett <nickg@cygnus.co.uk> * src/vectors.S: Added call to hal_cpu_except_enable in __default_exception_vsr to re-enable nested exceptions. * src/mips-stub.c: Use _registers[X] rather that register[X] for accessing CPU registers, since the former may point to per-thread register sets while the latter only refers to the current trap register set. * include/arch.inc: Added hal_cpu_except_enable macro to (re-)enable exception processing and disable interrupts. This is necessary if we are to allow nested exceptions (like breakpoints in exception handlers). 1999-04-29 Nick Garnett <nickg@cygnus.co.uk> * src/vectors.S: Reenable interrupts while processing exceptions. Several temporary kludges to permit us to test ROM code from RAM under PMON. * include/mips.inc: Extended list of CP0 register aliases. * include/mips-stub.h: The stubs must behave as if we are on a 64 bit processor when debugging the VR4300, since that is what GDB expects. * include/arch.inc: Added generic version of hal_cache_init to disable kseg0 caching in config0 register. * include/hal_cache.h: Moved dummy addresses used in index operations to 0x80000000, zero caused MMU exceptions. Fixed looping bugs in all macros that use them. 1999-04-28 Gary Thomas <gthomas@cygnus.co.uk> [v1_2_2_beta branch] * src/vectors.S: Add dummy "__gccmain()" 1999-04-27 Gary Thomas <gthomas@cygnus.co.uk> * include/hal_arch.h: Make minimum stack sizes more realistic. Also fix size of interrupt stack frame when FPU present. 1999-04-23 Nick Garnett <nickg@cygnus.co.uk> * src/vectors.S: Added support for floating point register save and restore. Fixed hal_interrupt_stack_call_pending_DSRs to use hal_cpu_int_merge macro. * src/context.S: Added support for floating point register save and restore. Started some preparations for 64 bit processor support. * include/mips.inc: Added floating point register aliases. Moved saved state to arch.inc. * include/hal_arch.h: Completed support for floating point state save and restore. Parameterized GDB support macros a little to enable GDB to work properly. * include/arch.inc: Added support for floating point state save and restore. Moved assembler version of saved state layout here from mips.inc. 1999-04-22 Nick Garnett <nickg@cygnus.co.uk> * src/context.S (hal_thread_load_context): Substituted explicit code to reload the interrupt enable state with a macro. * include/hal_cache.h: Removed default implementations of HAL_[D/I]CACHE_[EN/DIS]ABLE since these were actually TX39 specific. There is aparrently no standard way of implementing these function in the MIPS architecture. * include/mips.inc: Added a comment to point out a TX39-only register. * src/vectors.S: Modified hal_interrupt_stack_call_pending_DSRs() to also call DSRs with interrupts enabled. Returns interrupt state to original value when finished. Use hal_cpu_int_ensable macro in place of explicit code in hal_interrupt_stack_call_pending_DSRs(). 1999-04-21 Nick Garnett <nickg@cygnus.co.uk> * include/arch.inc: Ifdeffed definition of hal_intc_init macro to allow it to be defined elsewhere. Added default versions of diag macros. * src/vectors.S: Added some low-level diagnostic macros to show HAL events if there is adequate hardware (such as leds). Removed interrupt enable/disables in interrupt processing since we can now go through a thread switch with interrupts disabled. Ifdeffed ISR tables so they can be defined elsewhere. Added implementation of hal_interrupt_stack_call_pending_DSRs. Added calls to implementation and platform init routines. * src/hal_misc.c: Many changes to hal_idle_thread_action() to print or instrument various CPU registers. Left with code to wiggle an led in the idle loop. Stripped out TX39 specific code and moved it to plf_misc.c. * src/context.S: Added code to save and restore the interrupt mask state in thread contexts. * include/hal_intr.h: Renamed default interrupts to match the hardware more closely. Added ifdef around HAL_TRANSLATE_VECTOR() so it can be made platform/variant specific. Added implementation of HAL_INTERRUPT_ACKNOWLEDGE(). * include/hal_arch.h (HAL_THREAD_INIT_CONTEXT): Aligned the intitial stack pointer to 16 byte boundary, added an initial value for the status register. * include/arch.inc: Added some nops to eret macros. 1999-04-13 John Dallaway <jld@cygnus.co.uk> * src/mips.ld: Migrate global MIPS linker script to individual MIPS variant directories 1999-04-30 Hugo Tyson <hmt@cygnus.co.uk> Merge the following changes from the 1.2.1 release branch, but without any CDL for CYGDBG_HAL_MIPS_INSTALL_CTRL_C_ISR, it is always on. 1999-04-30 Jesper Skov <jskov@cygnus.co.uk> * src/hal_misc.c: Added vector decoding to the below. 1999-04-30 Hugo Tyson <hmt@masala.cygnus.co.uk> * src/hal_misc.c (hal_init_ctrlc_intr): Chain onto the old value of the ISR when attaching the ctrl-c ISR; this allows chained interrupts to work (otherwise a stack-wrecking interrupt loop occurs). 1999-04-29 Hugo Tyson <hmt@cygnus.co.uk> * include/pkgconf/hal_tx39.h (CYGDBG_HAL_MIPS_INSTALL_CTRL_C_ISR): New config option, on by default. * src/hal_misc.c (hal_ctrlc_isr): Enable these features on CYGDBG_HAL_MIPS_INSTALL_CTRL_C_ISR new config option. 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-20 Jonathan Larmour <jlarmour@cygnus.co.uk> * include/hal_intr.h: Don't sync TRR if platform sim - it doesn't need it * include/pkgconf/hal_tx39.h: Allow CYGARC_TX39_PR19846 to override CYGHWR_HAL_MIPS_TX3904_TRR_REQUIRES_SYNC so that we can do something sensible in the simulators Related to PR 19846 1999-04-15 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/tx39.ld: Define __bss_end at the end of the BSS * src/hal_misc.c (hal_zero_bss): Stop at __bss_end rather than _end when clearing BSS These fix PR 19750 1999-04-15 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/hal_misc.c: * src/vectors.S: Separate parts of cyg_hal_invoke_constructors() out into new functions cyg_hal_enable_caches() and cyg_hal_debug_init() so that cyg_hal_invoke_constructors() can be called again safely if necessary Related fix to that of PR19642 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 Jonathan Larmour <jlarmour@cygnus.co.uk> * include/hal_intr.h (HAL_CLOCK_READ): Add workaround for tx39 bug - needs to sync and wait for the write buffer to clear before reading the clock. Submitted by akira.yokosawa@toshiba.co.jp * include/pkgconf/hal_tx39.h (CYGHWR_HAL_MIPS_TX3904_TRR_REQUIRES_SYNC): Define this by default to implement above 1999-04-12 Jonathan Larmour <jlarmour@cygnus.co.uk> * include/hal_intr.h (HAL_VSR_SET_TO_ECOS_HANDLER): Added. (HAL_VSR_SET): Cast types to CYG_ADDRESS to prevent warnings Part of fix for PRs 19731/19607 1999-04-09 Jesper Skov <jskov@cygnus.co.uk> * src/mips-stub.c: Moved get_register and put_register to hal_stub.c. 1999-04-08 John Dallaway <jld@cygnus.co.uk> * src/*.ld: Use double underscore substitution for period character in SECTION_* macro names (PR 19787) 1999-04-08 John Dallaway <jld@cygnus.co.uk> * src/*.ld: Revised SECTION_* macro arguments to avoid padded output sections (PR 19787) 1999-03-31 Nick Garnett <nickg@cygnus.co.uk> * include/hal_cache.h: Added include of hal.h and a test that a valid set of macros have been added. Also moved address used in HAL_DCACHE_INVALIDATE_ALL() to 0x9fc00000, which is the cached ROM space. 1999-03-24 Nick Garnett <nickg@cygnus.co.uk> * src/vectors.S: Added options to allow different settings for DRAM initialization. Fixed some ifdef bugs. * src/hal_misc.c (cyg_hal_invoke_constructors): Added ifdefs to control enabling and disabling of timeout exceptions. * include/pkgconf/hal_tx39.h: Added translations from the user friendly CPU speed settings into the real CPU frequencies in Hz. * include/hal_intr.h: Added HAL_TX39_DEBUG_TOE_ENABLE() and ...DISABLE, to switch timeout exceptions on and off. 1999-03-23 Nick Garnett <nickg@cygnus.co.uk> * include/hal_arch.h: Modified stack size definitions to be more accurate. 1999-03-22 Jonathan Larmour <jlarmour@cygnus.co.uk> * include/mips-regs.h: Update copyright * include/mips-stub.h: Update copyright * src/mips-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-17 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/hal_misc.c (cyg_hal_user_break): Remove #warning - it doesn't really provide any useful info, and may unnecessarily worry a user since it fires in normal situations 1999-03-17 John Dallaway <jld@cygnus.co.uk> * src/PKGconf.mak: Remove dependence on echo '-e' switch. 1999-03-16 Nick Garnett <nickg@cygnus.co.uk> * src/vectors.S: Removed definition of idle thread stack. 1999-03-15 Nick Garnett <nickg@cygnus.co.uk> * include/hal_cache.h: Changed implementation of HAL_DCACHE_INVALIDATE_ALL() to read from ROM space rather than RAM. This fixes PR 19510. 1999-03-12 Nick Garnett <nickg@cygnus.co.uk> * src/vectors.S: Modified ROMC and SCS settings in line with Toshiba's suggestions for compatibility with other CPU variants. 1999-03-12 Gary Thomas <gthomas@cygnus.co.uk> * include/hal_arch.h: Add definition for 'CYGNUM_HAL_MINIMUM_STACK_SIZE' 1999-03-11 Nick Garnett <nickg@cygnus.co.uk> * src/hal_misc.c: Disabled use of stand-alone ^C detection interrupt. This is now done in the serial driver. Added cyg_hal_is_break() and cyg_hal_user_break() to detect and provoke ^C processing. These are used by the serial driver and will one day interact with the BSP/Cygmon/GDB stubs to do the right thing. 1999-03-10 Jesper Skov <jskov@cygnus.co.uk> * include/hal_intr.h (HAL_INTERRUPT_IN_USE): Added. 1999-03-10 Nick Garnett <nickg@cygnus.co.uk> * include/pkgconf/hal_tx39.h: * src/vectors.S: Changed names used to control CPU frequency into something more generic. Moved definition into hal_tx39.h from hal_tx39_jmr3904.h. 1999-03-09 Jesper Skov <jskov@cygnus.co.uk> PR 19370 * src/hal_misc.c (cyg_hal_invoke_constructors): Changed constructor loop. 1999-03-05 Gary Thomas <gthomas@cygnus.co.uk> * src/tx39.ld: * src/PKGconf.mak: Clean up I/O package changes. 1999-03-04 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/tx39.ld: Add INPUT(libextras.a), include libextras.a in GROUP() and include new __DEVTAB__ section for new device drivers 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. Added some code to initialize DRAM in ROM-only configurations. 1999-02-23 Nick Garnett <nickg@cygnus.co.uk> * src/hal_misc.c: Added support for SIGINT-causing magic breakpoint. This involves passing a third, hidden argument to hal_ctrlc_isr() which is a pointer to the saved CPU state. * src/vectors.S: Added support for 66MHz part (untested). Added support for SIGINT-causing magic breakpoint to allow continuation after ^C. This also relies on CYGMON changes. 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 * src/hal_misc.c: Rename deliver_exception() -> cyg_hal_deliver_exception() Rename CYG_VECTOR_SIO_0 -> CYGNUM_HAL_INTERRUPT_SIO_0 1999-02-16 Jesper Skov <jskov@cygnus.co.uk> * src/vectors.S: Added call to initialize_stub. * src/mips-stub.c: * include/mips-stub.h: Cleaned up to only include arch specific stub code. * include/hal_arch.h (HAL_BREAKPOINT): Added SIM breakpoint code from (now dead) jmr3904/.../hal_stub.c. 1999-02-05 John Dallaway <jld@cygnus.co.uk> * src/mips.ld: Rename to tx39.ld since this is the target name * src/PKGconf.mak: Process tx39.ld instead of mips.ld 1999-02-05 John Dallaway <jld@cygnus.co.uk> * src/mips.ld: Add LMA_EQ_VMA macro definition. 1999-02-03 Jesper Skov <jskov@cygnus.co.uk> * src/hal_misc.c: * include/hal_cache.h: Moved nested external declarations into top-level scope to avoid compiler warnings. 1999-02-02 Nick Garnett <nickg@cygnus.co.uk> * include/hal_cache.h : In HAL_ICACHE_INVALIDATE_ALL() and HAL_ICACHE_INVALIDATE(), fixed typos in passing arguments to asm sections. Fixes PR 18951. 1999-01-26 Hugo Tyson <hmt@masala.cygnus.co.uk> * src/mips.ld: Add copyright notice. (Though these files will later be generated by a tool and so not copyright, these default setups are.) 1999-01-21 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/hal_misc.c (cyg_hal_invoke_constructors): Add code to deal with CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG Tidy up and update description header Shorten needlessly long lines Remove all traces of non-CYG_KERNEL_USE_INIT_PRIORITY code 1999-01-15 Hugo Tyson <hmt@cygnus.co.uk> * src/mips.ld: Provide alternate definition of macro SECTION_rom_vectors() for RAM startup (CYG_HAL_STARTUP_RAM) so that minimal sim testing works. Note: this is an instance where two definitions (of identical "API") of a macro occur in the prototype <target>.ld file; the MLT is required not to be confused by this. 1999-01-15 John Dallaway <jld@cygnus.co.uk> * src/mips.ld: add section macro for .vsr_table 1999-01-13 John Dallaway <jld@cygnus.co.uk> * src/mips.ld: add section macro for .rel.dyn 1999-01-13 John Dallaway <jld@cygnus.co.uk> * src/mips.ld: new linker script for MLT * src/PKGconf.mak: add mips.ld rules for MLT 1999-01-13 Gary Thomas <gthomas@cygnus.co.uk> * include/basetype.h: CYG_DOUBLE_BYTEORDER now in <infra/cyg_type.h> 1999-01-12 Gary Thomas <gthomas@cygnus.co.uk> * include/basetype.h (CYG_DOUBLE_BYTEORDER): Define ordering for words within doubles. 1999-01-12 Nick Garnett <nickg@cygnus.co.uk> * include/hal_cache.h: Modified HAL_DCACHE_INVALIDATE_ALL() to correctly touch all cache lines twice to ensure that the cache and memory are consistent. This is the best we can do without direct support for invalidation. * src/hal_misc.c: Altered call to patch_dbg_syscalls() to pass pointer to base of vector rather than a single vector entry. 1998-12-15 Jesper Skov <jskov@cygnus.co.uk> PR 18543 * include/hal_cache.h (HAL_DCACHE_INVALIDATE): Fixed variable name. 1998-12-15 Jesper Skov <jskov@cygnus.co.uk> * include/hal_arch.h: * src/context.S (hal_setjmp, hal_longjump): Added CYGARC definitions for jmpbuf entries. Corrected jmpbuf size. 1998-12-10 Jesper Skov <jskov@cygnus.co.uk> * include/hal_cache.h (HAL_DCACHE_UNLOCK_ALL, HAL_ICACHE_UNLOCK_ALL): Added. 1998-11-26 Jesper Skov <jskov@cygnus.co.uk> * include/mips-regs.h: * src/mips-stub.c: Added use of CYGARC_HAL_COMMON_EXPORT_CPU_MACROS. 1998-11-18 Gary Thomas <gthomas@cygnus.co.uk> * include/hal_intr.h: Add support for interrupt latency measurements, controlled by CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY. 1998-10-27 Jesper Skov <jskov@cygnus.co.uk> PR 18033 * include/hal_intr.h: Replaced CYGIMP_HAL_INTERRUPTS_CHAIN with the correct CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN. 1998-10-27 Jesper Skov <jskov@cygnus.co.uk> PR 18021 * src/hal_misc.c (hal_ctrlc_isr): Removed break; to prevent compiler error. 1998-10-25 Jesper Skov <jskov@cygnus.co.uk> * src/mips-stub.c (__build_t_packet): Replaced CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT with CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT. Fixed #endif comment. * src/hal_misc.c (hal_ctrlc_isr): Replaced CYGDBG_KERNEL_DEBUG_GDB_INCLUDE_STUBS with CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS. * include/hal_intr.h: Replaced CYGIMP_KERNEL_INTERRUPTS_CHAIN with CYGIMP_HAL_INTERRUPTS_CHAIN. 1998-10-23 Jesper Skov <jskov@cygnus.co.uk> * include/hal_intr.h: Include pkgconf/hal.h. 1998-10-16 Bart Veer <bartv@cygnus.co.uk> * src/vectors.S (__interrupt_stack): Made the interrupt stack size configurable. 1998-10-16 Nick Garnett <nickg@cygnus.co.uk> * src/hal_misc.c: Enabled caches by default. 1998-10-14 Nick Garnett <nickg@cygnus.co.uk> * src/context.S (hal_thread_switch_context): Store copy of R31(RA) in PC slot in register state to keep GDB happy. * include/hal_arch.h (HAL_THREAD_INIT_CONTEXT): Intialize PC slot in register state. * src/hal_misc.c: Altered ifdefs to allow building without kernel present. * include/mips-stub.h: Include generic-stub.h from HAL rather than from kernel. * src/mips-stub.c: Added signal definitions to avoid including signal.h. * include/hal_intr.h: Added implementations of HAL_INTERRUPT_ACKNOWLEDGE() and HAL_INTERRUPT_SET_LEVEL(). 1998-10-13 Jesper Skov <jskov@cygnus.co.uk> * src/hal_misc.c: Use GDB array rather than HAL_SavedRegisters structure. Rely on generic stub to pack/unpack the array. * include/hal_arch.h (HAL_GET_GDB_REGISTERS, HAL_SET_GDB_REGISTERS): get/set full register set. 1998-10-13 Jesper Skov <jskov@cygnus.co.uk> * include/mips-stub.h: Moved first use of regnames below definition. Sun Sep 27 12:17:42 1998 Jesper Skov <jskov@cygnus.co.uk> * include/hal_cache.h (HAL_DCACHE_LOCK): Terminate asm string. 1998-09-26 Nick Garnett <nickg@cygnus.co.uk> * include/hal_cache.h: Cleaned up some compilation errors. Tue Sep 15 19:13:43 1998 David Moore <dsm@keema.cygnus.co.uk> * src/vectors.S: Cleaned up comments. 1998-09-15 Nick Garnett <nickg@cygnus.co.uk> * include/hal_arch.h (HAL_GET_GDB_REGISTERS): Initialized R30 to a copy of SP to avoid GDB making bogus memory references. * src/hal_misc.c: Added support for Ctrl-C processing when running under Cygmon. Fixed a compiler warning. 1998-09-14 Bart Veer <bartv@cygnus.co.uk> * src/PKGconf.mak: Made vectors.o dependent on the various files that can contain makefile variables or rules. This is needed after changes to pkgconf.tcl for PRs 17195 and 17286. Mon Sep 14 11:10:20 1998 Jesper Skov <jskov@lassi.cygnus.co.uk> PR 17230 * src/vectors.S: Replaced CYGIMP_KERNEL_INTERRUPTS_CHAIN with new CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN. 1998-09-14 Nick Garnett <nickg@cygnus.co.uk> PR 17230 * include/hal_intr.h: Added HAL_TRANSLATE_VECTOR() to translate a supplied vector number into one that can be used in the HAL. Added calls to it in HAL_INTERRUPT_ATTACH() and HAL_INTERRUPT_DETACH(). 1998-09-12 Bart Veer <bartv@cygnus.co.uk> * include/pkgconf/hal_tx39.h: Added missing descriptions (PR 17184) * src/vectors.S: <pkgconf/kernel.h> was being included without properly checking that the kernel package was enabled. * src/hal_misc.c (exception_handler): Sort out exception handling options (PR 16953) 1998-09-11 Nick Garnett <nickg@cygnus.co.uk> PR 17230 * src/vectors.S (__default_interrupt_vsr): Modified interrupt decode code to preserve raising interrupt number to pass to ISR, even when using chained interrupts. 1998-09-03 Bart Veer <bartv@cygnus.co.uk> * src/mips-stub.c: Fixed type in config option name. 1998-09-02 Bart Veer <bartv@cygnus.co.uk> * include/pkgconf/hal_tx39.h: New header file for architecture-specific configuration options * tests/PKGconf.mak: * src/PKGconf.mak: Sort out package naming conventions. Tue Sep 1 19:26:45 1998 Hugo Tyson <hmt@cygnus.co.uk> * src/hal_misc.c: Use CYGDBG_INFRA_DIAG_USE_DEVICE (from infra.h) instead of CYG_DIAG_USE_DEVICE (badly named, from kernel.h). 1998-09-01 Nick Garnett <nickg@cygnus.co.uk> * include/hal_intr.h: Added CYG_EXCEPTION_COUNT. 1998-08-28 Bart Veer <bartv@cygnus.co.uk> * src/vectors.S, src/context.S, src/hal_misc.c, src/mips-stub.c: Updated for new kernel configuration option symbol names Fri Aug 28 10:01:24 1998 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/hal_misc.c: Rename __main() to cyg_hal_invoke_constructors() to prevent the implied link with things called, or related to main(). Remove static initialised variable as we can now guarantee it is only called once. * src/vectors.S: Instead of calling main(), call cyg_start() which lives in the infra package. Explicitly invoke constructors as it isn't done magically for us any more, now that main() is no longer used. 1998-08-25 Nick Garnett <nickg@cygnus.co.uk> * src/vectors.S: Now pass pointer to saved registers as third argument to interrupt_end(). * include/hal_arch.h: Added macros to support GDB. Tue Aug 25 02:33:59 1998 Jonathan Larmour <jlarmour@cygnus.co.uk> * include/mips_stub.h, src/hal_misc.c: Add void to prototypes and typedefs that want it to silence warnings 1998-08-21 Nick Garnett <nickg@cygnus.co.uk> * include/hal_cache.h: Now includes cyg_type.h rather than ktypes.h. 1998-08-18 Nick Garnett <nickg@cygnus.co.uk> * src/context.S: * include/hal_arch.h: * include/hal_io.h: * include/hal_intr.h: Now uses cyg_type.h rather than ktypes.h. * src/hal_misc.c: * src/vectors.S: Now uses hal.h rather than kernel.h. 1998-07-23 Nick Garnett <nickg@cygnus.co.uk> * include/hal_intr.h: Fixed some issues raised bt code review. * src/context.S: * include/hal_arch.h: Fixed some typos raised by code review. * include/hal_intr.h (HAL_INTERRUPT_MASK): * src/vectors.S (hal_interrupt_level): Added hal_interrupt_level to allow for interaction between HAL_INTERRUPT_UNMASK() and HAL_INTERRUPT_SET_LEVEL(). //=========================================================================== //####COPYRIGHTBEGIN#### // // ------------------------------------------- // The contents of this file are subject to the Red Hat eCos Public License // Version 1.1 (the "License"); you may not use this file except in // compliance with the License. You may obtain a copy of the License at // http://www.redhat.com/ // // Software distributed under the License is distributed on an "AS IS" // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the // License for the specific language governing rights and limitations under // the License. // // The Original Code is eCos - Embedded Configurable Operating System, // released September 30, 1998. // // The Initial Developer of the Original Code is Red Hat. // Portions created by Red Hat are // Copyright (C) 1998, 1999, 2000 Red Hat, Inc. // All Rights Reserved. // ------------------------------------------- // //####COPYRIGHTEND#### //===========================================================================
