summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/or1k/or1k-exception-handler-low.S (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score/cpu/or1k: Follow no_cpu ISR_Handler algorithm.Hesham ALMatary2014-09-161-0/+10
| | | | | | | | This patch adjusts ISR_Handler to exactly follow the pseudo code introduced in http://rtems.org/onlinedocs/doc-current/share/rtems/html/porting/Interrupts-Interrupt-Dispatching.html It adds two new checkings on _Thread_Dispatch_disable_level and _ISR_Nest_level after returning from the C handler.
* OpenRISC: Account for red-zone (fixup printf bug).Hesham ALMatary2014-09-161-18/+20
| | | | | | | | | | | | | | This patch allocate a space in the stack to account for red-zone that gcc may utilize for the use of leaf functions. Care must be taken to handle this red-zone from many places: 1- Upon creation of a new thread stack. 2- Once an interrupt entred. Also moving the enable-thread-dispach() and increment ISR level before checking if dispatch needed was required. The previous modifications solved the printf bug which disabled ticker to output strings after context switches that arise from Thread_Delay_ended.
* Add missing r31 load instruction _ISR_HandlerHesham ALMatary2014-09-021-0/+1
| | | | | _ISR_Handler: r31 was not loaded in restore function. This patch adds this load.
* Add support for OpenRISC - Fixed issuesHesham ALMatary2014-08-121-0/+216
This work is based on the old or32 port (that has been removed back in 2005) authored by Chris Ziomkowski. The patch includes the basic functions every port should implement like: context switch, exception handling, OpenRISC ABI and machine definitions and configurations.