Re: Installing ISR implementation for OpenRISC

2014-07-01 Thread Joel Sherrill
On 6/30/2014 6:51 PM, Hesham Moustafa wrote: > Hi, > > I want to implement an API for OpenRISC IRQ. The hardware assumes that > the handlers are installed at addresses 0x100 * N, meaning that every > interrupt handler is starting at a multiple of 0x100, and each of each > is of size 0xFF at maximu

Re: Installing ISR implementation for OpenRISC

2014-07-01 Thread Gedare Bloom
I guess I should clarify further, set_vector usually just calls some function that installs a "template" in the handler, which consists of basically calling a function. You can see some examples in the cpukit/score or the SPARC is at libbsp/sparc/shared/irq/ -Gedare On Tue, Jul 1, 2014 at 8:59 AM,

Re: Installing ISR implementation for OpenRISC

2014-07-01 Thread Gedare Bloom
For a "simple vectored architecture", the usual approach in RTEMS is to implement some "set_vector()" function that will install a function pointer in the IRQ table. This function pointer will either be called in "rtems" mode via trampoline code (ISR_Handler) that sets up a safe C environment, or w

Installing ISR implementation for OpenRISC

2014-06-30 Thread Hesham Moustafa
Hi, I want to implement an API for OpenRISC IRQ. The hardware assumes that the handlers are installed at addresses 0x100 * N, meaning that every interrupt handler is starting at a multiple of 0x100, and each of each is of size 0xFF at maximum. Once an interrupt occurs, the processors jumps to the