Use the interrupt level in patmos enable and disable interrupts routines

This commit is contained in:
afpr
2014-03-27 16:00:53 +00:00
parent b36bd54edb
commit 92e9ed137a
2 changed files with 7 additions and 5 deletions

View File

@@ -25,15 +25,17 @@
/* /*
* Enable interrupts * Enable interrupts
*/ */
void patmos_enable_interrupts(void){ void patmos_enable_interrupts(uint32_t level){
EXC_STATUS |= 1; EXC_STATUS = level;
} }
/* /*
* Disable interrupts * Disable interrupts
*/ */
void patmos_disable_interrupts(void){ uint32_t patmos_disable_interrupts(void){
uint32_t level = EXC_STATUS;
EXC_STATUS &= ~1; EXC_STATUS &= ~1;
return level;
} }
/* /*

View File

@@ -32,9 +32,9 @@ typedef void (*exc_handler_t)(void);
#define EXC_INTR_CLOCK 16 #define EXC_INTR_CLOCK 16
#define EXC_INTR_USEC 17 #define EXC_INTR_USEC 17
void patmos_enable_interrupts(void); void patmos_enable_interrupts(uint32_t level);
void patmos_disable_interrupts(void); uint32_t patmos_disable_interrupts(void);
void set_exc_handler(unsigned n, exc_handler_t fun); void set_exc_handler(unsigned n, exc_handler_t fun);