📄 changelog
字号:
2000-02-16 Jesper Skov <jskov@redhat.com> * src/vectors.S: * src/hal_boot.c: CYG_HAL_SPARCLITE_ > CYGPKG_HAL_SPARCELITE_2000-02-16 Jesper Skov <jskov@redhat.com> * cdl/hal_sparclite.cdl: removed fix me2000-01-19 Hugo Tyson <hmt@cygnus.co.uk> * cdl/*.cdl: Add descriptions to a number of options &c which were lacking same, also tidied up other typos as noticed en passant.1999-12-02 John Dallaway <jld@cygnus.co.uk> * cdl/hal_sparclite.cdl: Use the <PACKAGE> token in custom rules.1999-12-01 John Dallaway <jld@cygnus.co.uk> * cdl/hal_sparclite.cdl: Use the <PREFIX> token in custom rules.1999-11-04 John Dallaway <jld@cygnus.co.uk> * cdl/hal_sparclite.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-03 John Dallaway <jld@cygnus.co.uk> * cdl/hal_sparclite.cdl: Define build options.1999-11-01 Jesper Skov <jskov@cygnus.co.uk> * cdl/hal_sparclite.cdl: Addded.1999-10-15 Hugo Tyson <hmt@cygnus.co.uk> * src/vectors.S (not_window_overflow): Actually the dispatcher into exception VSRs. Bugfix: wrong number was placed in %l3 for call to xvsr, so for *some* types of trap, including user traps other than those handled directly in-HAL, a vector way off the end of the array would be used. Apparently those other types of trap never happen, but just in case...1999-10-13 Hugo Tyson <hmt@cygnus.co.uk> * src/vectors.S: Optionally implement Multiple (rather than Single) Vector Trapping. The config options to control this are in the platform HAL because some SPARCs do not support SVT, where it is optional the platform says so. This demands a variable sized region be reserved for trampoline code or the vectors in RAM, which is done via section .ram_vectors, defined herein. * src/sparclite.ld: Define SECTION_ram_vectors(...) to deal with the new .ram_vectors section. This is to provide a variable sized area at the start of RAM to hold either trampoline code when SVT is selected, or a fill 4k + handlers of vectors when MVT is selected. Previously this was bodged by pretending RAM starts at 0x4000200 in ROM startup builds. (comment from the example .ldi files...) The ram_vectors section is to allow some free space to copy vectors into from the ROM. This is required to be variable size to accomodate SVT or MVT; 80 bytes vs 4kB. Copying is not necessary with MVT, but it is optional because it may offer performance gains. Copying is required for SVT because the (aligned) start of ROM contains initialization instructions. RAM copy is used rather than leave a big gap in the ROM to get an aligned address for the trampoline code. For RAM startup, ram_vectors will usually be of size zero, unless MVT and copying are enabled for memory estimation reasons.1999-09-29 Hugo Tyson <hmt@cygnus.co.uk> [src/vectors.S: needed no change!] * include/vectors.h: Potentially accept a register window count from the platform HAL, or according to platform selection. Make more of the dependent macros computed. * src/vec_ivsr.S (hal_default_interrupt_vsr): Handle other register window sizes correctly; particularly when handling underflow trap by hand. * src/vec_xvsr.S (hal_default_exception_vsr): Handle other register window sizes correctly; particularly when handling underflow trap by hand. * src/context.S (hal_thread_load_context): Handle other register window sizes correctly. * src/icontext.c (cyg_hal_sparc_get_gdb_regs): Handle other register window sizes correctly; set up initial context differently.1999-06-07 Hugo Tyson <hmt@cygnus.co.uk> * include/hal_arch.h (hal_jmp_buf): force this to be 64-bit aligned so that std ops in hal_setjmp(), hal_longjmp() work.1999-06-03 Hugo Tyson <hmt@cygnus.co.uk> * src/hal_boot.c: Add a dummy __gccmain() to prevent ctors being called twice. This seems to be a recent compiler change: [from gcc/ChangeLog] Sat May 22 18:18:43 1999 Jason Merrill <jason@yorick.cygnus.com> * sparc/liteelf.h: Handle ctors like MIPS crosses. * sparc/lite.h (STARTFILE_SPEC, LIB_SPEC): Define to "". * configure.in: Don't use libgloss.h on sparclite-elf. Use collect2 on sparclite-aout.1999-05-20 Hugo Tyson <hmt@cygnus.co.uk> * include/hal_intr.h (HAL_INTERRUPT_STACK_CALL_PENDING_DSRS): Define this if CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK; ie. we are running a separate interrupt stack. Also define symbols for it so that we can monitor its usage easily. * src/vec_ivsr.S (hal_interrupt_stack_call_pending_DSRs): Add this function to run DSRs on the interrupt stack (if using it). Switch over to executing on the interrupt stack when needed. * src/vectors.S (cyg_interrupt_stack_base): Define the interrupt stack either if we need it as an interrupt stack or if we need it as a bootup stack (simulator); if it's there, use it as a bootup stack anyway. * src/context.S (hal_thread_load_context): Install the PSR that was saved in its entirety, including the interrupt and trap enable state. This is needed for running a separate interrupt stack, but harmless when not so doing. * src/icontext.c (hal_thread_init_context): Install an initial PSR which includes ET, S and PS (Enable traps, Supermode, prevSuper) and a PIL (processor interrupt level) of 15 (maximum) so that a context switch which preserves interrupt mode will work.1999-05-13 Hugo Tyson <hmt@cygnus.co.uk> * include/hal_arch.h (HAL_THREAD_INIT_CONTEXT): Align stack (rather conservatively) before use.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-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.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -