summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_asm_macros.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsps/powerpc: Add PPC_EXC_CONFIG_BOOKE_ONLYSebastian Huber2012-12-031-0/+20
| | | | | | | In combination with the PPC_EXC_CONFIG_USE_FIXED_HANDLER option this removes all dependencies on valid read-write data. The exception handling must be statically configured and all components reside in read-only sections.
* bsps/powerpc: Add PPC_EXC_CONFIG_USE_FIXED_HANDLERSebastian Huber2012-12-031-1/+10
| | | | | | | | | In case a BSP enables this option, then fixed high level exception handler will be used. For normal asynchronous exceptions this is bsp_interrupt_dispatch() and for other exceptions this is the handler from the read-only ppc_exc_handler_table. The global handler is C_exception_handler(). This avoids some dependencies on valid read-write data.
* 2011-07-21 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-07-211-0/+40
| | | | | | | | | | | | PR 1799/bsps * new-exceptions/bspsupport/ppc_exc_async_normal.S: New file. * new-exceptions/cpu.c, new-exceptions/cpu_asm.S, new-exceptions/bspsupport/ppc_exc_asm_macros.h, new-exceptions/bspsupport/ppc_exc_global_handler.c, new-exceptions/bspsupport/ppc_exc_prologue.c, new-exceptions/bspsupport/vectors.h: Added support for SPE. * configure.ac, preinstall.am, Makefile.am: Added support for qoriq BSPs.
* 2011-01-31 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-01-311-5/+15
| | | | | | | | | * new-exceptions/bspsupport/ppc_exc.S, new-exceptions/bspsupport/ppc_exc_asm_macros.h, new-exceptions/bspsupport/ppc_exc_naked.S, new-exceptions/bspsupport/ppc_exc_prologue.c: Branch targets are now global for all minimal prologues. Generate branch instruction in minimal prologues.
* 2010-06-29 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2010-06-291-0/+1
| | | | | * new-exceptions/bspsupport/ppc_exc_asm_macros.h: Added include of bspopts to resolve compilation problem.
* 2010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-06-291-4/+6
| | | | | | | | | | | PR 1573/cpukit * mpc5xx/irq/irq.c, mpc5xx/irq/irq_asm.S, new-exceptions/bspsupport/ppc_exc.S, new-exceptions/bspsupport/ppc_exc_asm_macros.h, new-exceptions/bspsupport/ppc_exc_hdl.c: Add a per cpu data structure which contains the information required by RTEMS for each CPU core. This encapsulates information such as thread executing, heir, idle and dispatch needed.
* 2009-12-01 Till Straumann <strauman@slac.stanford.edu>Till Straumann2009-12-021-0/+28
| | | | | | | | | * new-exceptions/cpu.c, new-exceptions/cpu_asm.S, new-exceptions/bspsupport/ppc_exc_asm_macros.h, new-exceptions/bspsupport/ppc_exc_initialize.c, new-exceptions/bspsupport/vectors.h: Added AltiVec support (save/restore volatile vregs across exceptions).
* Whitespace removal.Ralf Corsepius2009-11-301-10/+10
|
* Update for exception support changes.Thomas Doerfler2009-10-231-4/+1
|
* 2008-07-16 Till Straumann <strauman@slac.stanford.edu>Till Straumann2008-07-161-10/+26
| | | | | | | | | * new-exceptions/bspsupport/ppc_exc_asm_macros.h: Added a test to TEST_LOCK_crit so that a context switch is always prevented if MSR_CE is not set in the interrupt mask. (Support mode where the user wants to leave MSR_CE always enabled but abstains from calling OS primitives from the exception handler.)
* adapted powerpc exception codeThomas Doerfler2008-07-111-333/+581
|
* 2008-07-10 Till Straumann <strauman@slac.stanford.edu>Till Straumann2008-07-101-7/+41
| | | | | | | | | | | | | | | | | | | | | | | | | * new-exceptions/bspsupport/ppc_exc_asm_macros.S, new-exceptions/bspsupport/ppc_exc_bspsupp.h, new-exceptions/bspsupport/ppc_exc_hdl.c, new-exceptions/bspsupport/vectors_init.c: fixed and enabled stack-switching algorithm which figures out if we already run on the ISR stack rather than relying on the _ISR_Nest_level. Added 'ppc_exc_crit_always_enabled' variable which defines the semantics of critical interrupts. Added a test to TEST_LOCK_crit so that calling ppc_exc_wrapup() (and possibly the dispatcher) is always skipped if the BSP/user wants to leave critical interrupts always enabled (at the expense of having no OS support). changed TEST_LOCK_mchk so that asynchronous machine-check handlers never call ppc_exc_wrapup() (and the dispatcher). We don't want to disable MSR_ME ever (to avoid checkstops) and hence asynchronous MEs must not use OS services anyways. added and commented new variables 'ppc_exc_intr_stack_size' 'ppc_exc_crit_always_enabled'.
* 2008-03-13 Till Straumann <strauman@slac.stanford.edu>Till Straumann2008-03-131-24/+211
| | | | | | | | | | | | | | | * new-exceptions/bspsupport/ppc_exc_asm_macros.h, new-exceptions/bspsupport/ppc_exc.S, new-exceptions/bspsupport/README, new-exceptions/bspsupport/ppc_exc_hdl.c: Thomas Doerfler clarified (thanks!) that raising an exception and executing the 1st instruction is not an atomical operation. I added a fix to the code that checks if a lower-priority interrupt is under way: we now not only test if the 'lock' variable was set but also check if the interrupted PC points to the 'write lock' instruction. Added more comments and updated README.
* 2008-03-11 Till Straumann <strauman@slac.stanford.edu>Till Straumann2008-03-121-1/+1
| | | | | | * new-exceptions/bspsupport/ppc_exc_asm_macros.h: bugfix; need to crand not cror when testing lower priority locks during machine-check handling.
* 2008-03-05 Till Straumann <strauman@slac.stanford.edu>Till Straumann2008-03-061-1/+1
| | | | | * new-exceptions/bspsupport/ppc_exc_asm_macros.h: bugfix; need to andc with irq mask when disabling interrupts.
* 2007-12-08 Till Straumann <strauman@slac.stanford.edu>Till Straumann2007-12-081-0/+278
* new-exceptions/bspsupport/, new-exceptions/bspsupport/ppc_exc.S, new-exceptions/bspsupport/ppc_exc_test.c, new-exceptions/bspsupport/vectors.h, new-exceptions/bspsupport/vectors_init.c, new-exceptions/bspsupport/irq.c, new-exceptions/bspsupport/ppc_exc_bspsupp.h, new-exceptions/bspsupport/ppc_exc_hdl.c, new-exceptions/bspsupport/ppc_exc_asm_macros.h, new-exceptions/bspsupport/nested_irq_test.c: New files. Added 'middleware' code for helping BSPs implement exception and interrupt handling and implementing the 'new' RTEMS IRQ API (which I personally dislike).