summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/erc32/startup/spurious.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsps: Move startup files to bspsSebastian Huber2018-04-201-194/+0
| | | | | | | | Adjust build support files to new directory layout. This patch is a part of the BSP source reorganization. Update #3285.
* sparc: Add lazy floating point switchSebastian Huber2017-07-251-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The SPARC ABI is a bit special with respect to the floating point context. The complete floating point context is volatile. Thus, from an ABI point of view nothing needs to be saved and restored during a context switch. Instead the floating point context must be saved and restored during interrupt processing. Historically, the deferred floating point switch was used for SPARC and the complete floating point context is saved and restored during a context switch to the new floating point unit owner. This is a bit dangerous since post-switch actions (e.g. signal handlers) and context switch extensions may silently corrupt the floating point context. The floating point unit is disabled for interrupt handlers. Thus, in case an interrupt handler uses the floating point unit then this will result in a trap (INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT). In uniprocessor configurations, a lazy floating point context switch is used. In case an active floating point thread is interrupted (PSR[EF] == 1) and a thread dispatch is carried out, then this thread is registered as the floating point owner. When a floating point owner is present during a context switch, the floating point unit is disabled for the heir thread (PSR[EF] == 0). The floating point disabled trap checks that the use of the floating point unit is allowed and saves/restores the floating point context on demand. Update #3077.
* INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNITSebastian Huber2017-07-251-0/+4
| | | | | | Add new fatal error INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT. Update #3077.
* bsps/sparc: Fix warningsSebastian Huber2017-02-151-2/+7
|
* sparc: Optimize _ISR_Handler()Sebastian Huber2016-11-281-0/+3
| | | | | | Use _Thread_Do_dispatch() instead of _Thread_Dispatch(). Restore the PSR[EF] state of the interrupted context via new system call syscall_irqdis_fp in case floating-point support is enabled.
* bsps/sparc: Fix trap table initializationSebastian Huber2014-12-051-4/+6
| | | | Fixes bug introduced with dff1803cfbec3775fff1b9c34cc707c05494dc3b.
* score: Rename _BSP_Exception_frame_print()Sebastian Huber2014-09-111-1/+1
| | | | | Rename _BSP_Exception_frame_print() to _CPU_Exception_frame_print() to be in line with other CPU port functions.
* bsps/sparc: Change tabs to spaces.Daniel Cederman2014-05-271-3/+3
|
* bsps/sparc: Make spurious trap handler function static.Daniel Cederman2014-03-211-1/+1
|
* score: Add CPU_Exception_frameSebastian Huber2012-11-271-16/+21
| | | | | | | | | | | | | | | | | | | | | Add CPU port type CPU_Exception_frame and function _CPU_Exception_frame_print(). The CPU ports of avr, bfin, h8300, lm32, m32c, m32r, m68k, nios2, sh, sparc64, and v850 use an empty default implementation of _CPU_Exception_frame_print(). Add rtems_exception_frame and rtems_exception_frame_print(). Add RTEMS_FATAL_SOURCE_EXCEPTION for CPU exceptions. Use rtems_fatal() with source RTEMS_FATAL_SOURCE_EXCEPTION in CPU ports of i386, powerpc, and sparc for unexpected exceptions. Add third parameter to RTEMS_BSP_CLEANUP_OPTIONS() which controls the BSP_PRINT_EXCEPTION_CONTEXT define used in the default bsp_fatal_extension(). Add test sptests/spfatal26.
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-111-2/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* 2011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-02-111-1/+1
| | | | | * include/tm27.h, startup/spurious.c: Use "__asm__" instead of "asm" for improved c99-compliance.
* Whitespace removal.Ralf Corsepius2009-11-291-1/+1
|
* 2009-03-09 Antoine Lacroix <antoine.lacroix at sodern.fr>Joel Sherrill2009-03-091-1/+1
| | | | | PR 1391/bsps * startup/spurious.c: Format was %d but had leading 0x.
* 2008-08-05 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2008-08-051-1/+1
| | | | | | PR 1294/bsps * startup/spurious.c: Correct prototype and usage of sparc_disable_interrupts.
* 2008-08-04 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2008-08-041-1/+1
| | | | | | PR 1294/bsps * startup/spurious.c: Correct prototype and usage of sparc_disable_interrupts.
* 2007-05-09 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-05-091-47/+27
| | | | | | * console/debugputs.c, include/bsp.h, startup/spurious.c: Remove debug print methods that are redundant with prntk and replace their use with printk.
* Remove stray white spaces.Ralf Corsepius2004-04-211-13/+13
|
* 2004-03-31 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-03-311-5/+5
| | | | | | | * clock/ckinit.c, console/console.c, console/debugputs.c, erc32sonic/erc32sonic.c, include/bsp.h, include/erc32.h, startup/setvec.c, startup/spurious.c, timer/timer.c: Convert to using c99 fixed size types.
* Merged from 4.5.0-beta3aJoel Sherrill2000-06-121-1/+2
|
* Patch from Jiri Gaisler <jgais@ws.estec.esa.nl>:Joel Sherrill1999-07-091-3/+4
| | | | | | + interrupt masking correction + FPU rev.B workaround + minor erc32 related fixes
* Patch from Jiri Gaisler <jgais@ce.chalmers.se>:Joel Sherrill1999-01-191-13/+39
| | | | | | | | getting the spurious trap handling to work required a couple more fixes - I have attached a patch against rtems-4.0.0 with the necessary changes. I also added functionality so that the address of the trapped instruction is reported and in case of a data access error, the data address is also reported.
* erc32 bsp supercedes sisJoel Sherrill1997-01-291-0/+164