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
corresponding 0x100 * N address according to the interrupt type.

There are some solutions I propose for the implementation of Install_ISR
function:

First, the ISR code text can be copied to the correct 0x100 * N address,
but this will fail if the code text is longer than 0xFF.

Second, the interrupt handlers at 0x100 * N can have the first instruction
to always jumps to the next word (or any other address in the range of
0x100 * N : 0x100 * (N+1) - 1, which is the address of the ISR that the
installer would write.

I would appreciate any other suggestions.

Regards,
Hesham
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to