📄 changelog
字号:
Include <cyg/infra/cyg_ass.h> so that the CYG_FAIL() in some configurations actually compiles (actually: links). combo{22,18,10,6} were thus afflicted.1999-02-11 Hugo Tyson <hmt@cygnus.co.uk> * tests/sparc_ex.c (do_test): Make the test run for much less time when CYG_USE_TRACING and in any case bleat periodically about how successful it is to prevent testing system timeouts. Also move the test routines (those which provoke the exception) to the end so that (ever helpful) -O3 cannot inline them and then "optimize" the result and thus spoil the whole damned test too.1999-02-08 John Dallaway <jld@cygnus.co.uk> * include/pkgconf/hal_sparclite.h: Correct capitalization of 'SPARClite'.1999-02-08 John Dallaway <jld@cygnus.co.uk> * src/sparclite.ld: New MLT-compatible linker script * src/PKGconf.mak: Add build rules for sparclite.ld1999-02-04 Hugo Tyson <hmt@cygnus.co.uk> * src/vec_ivsr.S (hal_default_interrupt_vsr): Preserve global registers over interrupts, and implement support for CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT ie. save a minimal register set rather than a maximal. Create a saved register set whose address is passed to the interrupt handler (though it may well be mostly empty). [also tidied up trailing tabs and long blank lines] * src/vec_xvsr.S (hal_default_exception_vsr): Preserve all registers over interrupts; create a saved register set whose address is passed to the exception handler so it can modify it. [also tidied up trailing tabs and long blank lines] * src/context.S( hal_setjmp, hal_longjmp): (hal_thread_switch_context,hal_thread_load_context): Implement CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM support; ie. save a minimal register set rather than a maximal. * include/hal_arch.h (HAL_FLUSH_REGISTERS_TO_STACK): New macro useful for writing exception handlers, for example. (HAL_GET_GDB_REGISTERS, HAL_SET_GDB_REGISTERS): provided initial dummy versions of these. * tests/sparc_ex.c: A test of the exception mechanism: deliberately cause unaligned accesses of various sizes and check we get exactly one trap and correctly step over it by modifying the saved register set whose address the exception ISR is handed. This test should be regarded as documentation for the exception handler API/ABI. * tests/PKGconf.mak (TESTS): Build sparc_ex.1999-02-01 Hugo Tyson <hmt@cygnus.co.uk> * src/vectors.S (genuine_reset): Include <cyg/hal/halboot.si> to set up RAM controllers, cache and the like - this is rather platform dependant.1999-02-01 Hugo Tyson <hmt@cygnus.co.uk> * include/hal_intr.h (HAL_TRANSLATE_VECTOR): Include a definition of this important macro. Not. It's used when interrupt chaining is selected, BUT we the HAL make no distinction, it's up to the kernel to look after things. So this macro is an assignment.1999-01-28 Hugo Tyson <hmt@cygnus.co.uk> * include/hal_intr.h: Get interrupt controller definitions from a board-specific file: #include <cyg/hal/hal_xpic.h> Get clock control definitions from a board-specific file: #include <cyg/hal/hal_clock.h> Delete the original definitions from this central file. * include/hal_cache.h: REMOVED to the simulator tree in the first instance; more generally to various board-specific files.1999-01-26 Hugo Tyson <hmt@cygnus.co.uk> * include/hal_cache.h (HAL_DCACHE_ENABLE) (and its friends): Define initial empty placeholder versions of these so that cache tests build. Well it's a start. 1999-01-21 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/hal_boot.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 code1999-01-21 Hugo Tyson <hmt@cygnus.co.uk> * src/vectors.S (genuine_reset): Set the RAM size to 4MB in the erc32 simulator. * include/hal_io.h: New file; macros to access IO space, really a place holder at present. * include/hal_intr.h: Do not define WATCHDOG() macro. * src/hal_intr.c (hal_default_isr): Do not mess with the watchdog in the the default interrupt handler. * src/hal_boot.c (hal_zero_bss): use an efficient 8-byte zero. (hal_copy_data): use an efficient 8-byte copy. (cyg_hal_start): turn off the ERC32 watchdog timer before we start anything very time consuming. NB: the 8-byte copy changes require alignment in the linker script: see the Changelog in hal/sparclite/sim/... for details.1999-01-19 Hugo Tyson <hmt@cygnus.co.uk> Modified files in arch: * include/hal_arch.h * include/hal_intr.h * src/PKGconf.mak * src/context.S * src/hal_intr.c * src/vec_ivsr.S * src/vec_xvsr.S * src/vectors.S New files in arch: * src/hal_boot.c (bss initialization, constructors &c) * include/hal_cache.h (empty but required header) Modified files in sim: * include/hal_diag.h Lots more progress; essentially, everything now works. Simulator's treatment of stdio is poor though, it doesn't work under pkgtest. This has been slowing me up.1999-01-14 Hugo Tyson <hmt@cygnus.co.uk> * ecc/ecc/hal/sparclite/...: Initial checkin of SPARClite HAL; it doesn't work yet, except the most trivial of tests - timer and interrupt manipulation stuff is entirely absent. Here's some documentation of the initial checkin tree; this will change, as platform dependent stuff moves correctly into the sim or <board> directories. arch/current/include: basetype.h nothing much here. vectors.h definitions of symbols shared between the various vector code assembler files, can be included in both C and assembler. hal_intr.h various macros for clock and interrupt control plus the eCos vector numbering scheme; we map thus: what SPARC trap type eCos vector numbers ----------------------------------------------- (not used) --- 0 interrupts (17-31) 1-15 user traps (128-255) 16 exceptions (1-9,36==4) 17-25 others (10,?) 26 ----------------------------------------------- Trap types 5 and 6 which would be eCos vectors 21 and 22 are handled in the trampoline code in file src/vectors.S hal_arch.h definition of a thread context, plus macros for thread switching and the like. Some ancillary bit twiddling macros and cache barriers too. arch/current/include/pkgconf: hal_sparclite.h pkgconf config/header file. arch/current/src: vectors.S boot-up stuff, trampoline code that hangs on the interrupt/trap vector, handlers for window under/overflow. Saves some state in registers then jumps to the interrupt or exception VSR respectively. Also instantiates the VSR table. vec_ivsr.S the default interrupt VSR; it establishes a C calling environment (ie. anticipates a window overflow) then locks the scheduler, calls the ISR with appropriate arguments, and then interrupt_end() before undoing that environment, anticipating window underflow and returning to the interrupted instruction. vec_xvsr.S the default exception AKA trap VSR; does the same as the interrupt one but without the scheduler lock or interrupt end. hal_intr.c instantiates the ISR table used by the code above. context.S context switch code, saves and loads up a whole register state, coroutine or longjump-like. icontext.c initializes a context to "jump" to in context.S at the birth of a new thread. sim/current/include: hal_diag.h macros to deal with debugging output via a fake serial device of some kind; initially empty, but definitely board/sim dependent. sim/current/include/pkgconf: hal_sparclite_sim.h pkgconf config/header file. sim/current/src: sim.ld linker script bits for "sim" target.//===========================================================================//####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####//===========================================================================//EOF ChangeLog
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -