📄 changelog
字号:
1999-04-15 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/sparclite.ld: Define __bss_end at the end of the BSS * src/hal_boot.c (hal_zero_bss): Stop at __bss_end rather than _end when clearing BSS These fix PR 197501999-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-09 Hugo Tyson <hmt@cygnus.co.uk> * include/hal_intr.h (HAL_RESTORE_INTERRUPTS et al): Put in 3 nops after any writes to the psr; TBH I don't think they're strictly necessary when not altering the window state, but for complete safety and adherence to the book of words....1999-04-08 John Dallaway <jld@cygnus.co.uk> * src/*.ld: Revised SECTION_* macro arguments to avoid padded output sections (PR 19787)1999-04-07 Hugo Tyson <hmt@cygnus.co.uk> * include/hal_io.h: If not the simulator, get hal_hwio.h too - which describes board-and-CPUvariant-specific IO needs.1999-04-07 Hugo Tyson <hmt@cygnus.co.uk> * include/hal_intr.h (HAL_VSR_SET_TO_ECOS_HANDLER): Define this macro for use in tests that are interested in exception diddling. Redefine CYGNUM_HAL_ISR_MIN to describe the number of interrupt sources; while there are XSRs too, this definition is better for the error checking in kernel interrupt stuff. Changed the symbols used for defining tables sizes to match, since there are still 27 VSRs and ISRs/XSRs and their data. * src/hal_intr.c: Use the correct symbol for the size of the isr/vsr/their-data tables.1999-03-26 Hugo Tyson <hmt@cygnus.co.uk> * tests/sparc_ex.c (cyg_[user_]start): If there is no kernel, cyg_user_start() is never called, main gets in and steals the CPU. So we hang. So if there is no kernel, define cyg_start() instead to wrest control.1999-03-22 Hugo Tyson <hmt@cygnus.co.uk> * include/hal_arch.h (CYGNUM_HAL_STACK_SIZE_TYPICAL): And this time make the edit correctly ;-/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 Hugo Tyson <hmt@cygnus.co.uk> * src/vectors.S (rom_vectors_end, rom_vectors): Add two new symbols for copying trampoline code into RAM in ROM startup. This keeps ROM startup as similar as possible to RAM, for simplicity; no re-ordering of vectors.S's contents. * src/hal_boot.c (hal_copy_data): Copy in long sized units rather than long longs, better to cope with ROM data alignment. Also add some LED output (if SLEB hardware) for startup to help with debugging ROM start.1999-03-17 John Dallaway <jld@cygnus.co.uk> * src/PKGconf.mak: Remove dependence on echo '-e' switch.1999-03-16 Hugo Tyson <hmt@cygnus.co.uk> * src/vectors.S (genuine_reset): Add a little extra debug to SLEB LEDs, and use the genuine top-of-memory stack when running on hardware; only define cyg_bootup_stack in the simulator case. * src/sparclite.ld: Define rom_data_start, regardless of start type, no harm is done.1999-03-12 Gary Thomas <gthomas@cygnus.co.uk> * include/pkgconf/hal_sparclite.h: * include/hal_arch.h: Moved definition of 'CYGNUM_HAL_MINIMUM_STACK_SIZE'1999-03-11 Hugo Tyson <hmt@cygnus.co.uk> * src/icontext.c (cyg_hal_sparc_[gs]et_gdb_regs): Two new routines to communicate our nice, optimized stack save states to a reg list for GDB. My maximal register saves are not really suitable for passing to GDB in any case, they're for humans to debug the interrupt code more than anything else, and my minimal save sets naturally contain pointers and ways of finding the rest of the reg set, but it depends on whether it's an interrupt save or a synchronous one, and given the SPARClite's stack layout, it's a bit hairy. * src/vec_ivsr.S (hal_default_interrupt_vsr): Do save %g0 even in a minimal context, so that the code for communicating register state with GDB can tell it's a minimum context. Costs one store cycle per interrupt. * include/hal_arch.h (HAL_[GS]ET_GDB_REGISTERS): Define and call routines cyg_hal_sparc_[gs]et_gdb_regs for communicating register state of a thread to GDB. * src/vectors.S (real_vector): Reinstate the anullment of the instructions that were blamed for register corruption earlier; they are correct and safe.1999-03-10 Jesper Skov <jskov@cygnus.co.uk> * include/hal_intr.h (HAL_INTERRUPT_IN_USE): Added.1999-03-09 Gary Thomas <gthomas@cygnus.co.uk> * src/hal_boot.c: Added missing <cyg/infra/cyg_type.h> include file.1999-03-05 Gary Thomas <gthomas@cygnus.co.uk> * src/sparclite.ld: * src/PKGconf.mak: Clean up I/O package changes.1999-03-04 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/sparclite.ld: Unconditionalize use of libextras.a and add to GROUP()1999-03-04 Gary Thomas <gthomas@cygnus.co.uk> * src/PKGconf.mak: * src/sparclite.ld: New I/O package support. * src/vectors.S: Fix register corruption problem - stems from use of annulled instructions in window overflow/underflow code.1999-02-25 Hugo Tyson <hmt@cygnus.co.uk> These log entries from 1999-02-22 to 1999-02-24 were executed in a branch; this change is a merge of that branch into the trunk. (1999-02-24 Hugo Tyson <hmt@cygnus.co.uk>) * tests/sparc_ex.c (sparc_ex_main): For all traps except the USER_TRAP, install the default VSR hal_default_exception_vsr(); this is so that this test catches exception ie. is able to work, even when we are playing nice with CygMon and GDB. The USER_TRAP is left so that breakpoints work, for the test infrastructure. (1999-02-22 Hugo Tyson <hmt@cygnus.co.uk>) * src/vectors.S (real_vector): Remove old testing code. Add delay NOPs after writes to %wim and %psr for safety. Leave installing the trap vector to platform-specific code, along with RAM control and cache initialization. * src/vec_ivsr.S (hal_default_interrupt_vsr): Add delay NOPs after writing the %wim before doing a restore; that was a bug that was. * src/vec_xvsr.S (hal_default_exception_vsr): same change. * src/hal_intr.c: Remove platform-specific clock period variable; it happens that both platforms sim and sleb have one, but it's not a requirement of the target architecture. * src/hal_boot.c (cyg_hal_start): Move diddling the sim-specific watchdog into platform-specific startup code viz. new routines hal_board_{pre/post}start(). * src/context.S: a couple of extra NOPs to ensure that %wim and %psr changes work on real hardware. (1999-02-22 Hugo Tyson <hmt@cygnus.co.uk>) * include/hal_arch.h (HAL_SET_GDB_REGISTERS): Remove warning about unused var 'cos of the incompleteness of these macros; gdb interworking is not yet supported.1999-02-25 Nick Garnett <nickg@cygnus.co.uk> * include/vectors.h: 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 Rename exception_handler() -> cyg_hal_exception_handler() QA improvements * src/hal_intr.c: Rename exception_handler() -> cyg_hal_exception_handler() Rename deliver_exception() -> cyg_hal_deliver_exception() Rename CYG_ISR_COUNT -> CYGNUM_HAL_ISR_COUNT QA improvements * src/vec_ivsr.S: * src/vec_xvsr.S: Rename CYG_ISR_COUNT -> CYGNUM_HAL_ISR_COUNT QA improvements * tests/sparc_ex.c: Rename CYG_EXCEPTION_* -> CYGNUM_HAL_EXCEPTION_* Rename CYG_VECTOR_UNALIGNED -> CYGNUM_HAL_VECTOR_UNALIGNED1999-02-12 Hugo Tyson <hmt@cygnus.co.uk> * src/context.S (hal_thread_load_context, hal_setjmp): Disable interrupts (but not traps) while doing the flush of all my callers and their callers' callers register sets to the stack. There is evidence that the inconsistency in the stack during this is a bad thing, though I have to admit that I don't see exactly how it goes wrong. Partly, it's impossible to debug, so if the problem I saw (a SEGV in instrumentation of interrupt_end()) is reproduced with this change, I'll have more to go on. This is a conservative change in that sense. * include/hal_arch.h (HAL_FLUSH_REGISTERS_TO_STACK): Disable interrupts but not traps while doing this. Ditto.1999-02-12 Hugo Tyson <hmt@cygnus.co.uk> * include/pkgconf/hal_sparclite.h (CYGNUM_HAL_MINIMUM_STACK_SIZE): Define a minimal sensible stack size for apps to use. Note that this file is included by hal_arch.h and so is available to all HAL users, and in fact almost everyone by default.1999-02-12 Hugo Tyson <hmt@cygnus.co.uk> * src/hal_intr.c (exception_handler):
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -