URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 499 |
Rev 600 |
Line 22... |
Line 22... |
|
|
return 0;
|
return 0;
|
}
|
}
|
|
|
/* Add interrupt handler */
|
/* Add interrupt handler */
|
int int_add(unsigned long vect, void (* handler)(void *), void *arg, int priority)
|
int int_add(unsigned long vect, void (* handler)(void *), void *arg)
|
{
|
{
|
if(vect >= MAX_INT_HANDLERS)
|
if(vect >= MAX_INT_HANDLERS)
|
return -1;
|
return -1;
|
|
|
int_handlers[vect].handler = handler;
|
int_handlers[vect].handler = handler;
|
int_handlers[vect].arg = arg;
|
int_handlers[vect].arg = arg;
|
|
|
mtspr(SPR_PICMR, mfspr(SPR_PICMR) | (0x00000001L << vect));
|
mtspr(SPR_PICMR, mfspr(SPR_PICMR) | (0x00000001L << vect));
|
if(priority == INT_HIGH_PRI)
|
|
mtspr(SPR_PICPR, mfspr(SPR_PICPR) | (0x00000001L << vect));
|
|
else
|
|
mtspr(SPR_PICPR, mfspr(SPR_PICPR) & ~(0x00000001L << vect));
|
|
|
|
return 0;
|
return 0;
|
}
|
}
|
|
|
/* Disable interrupt */
|
/* Disable interrupt */
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.