diff --git a/arch/xtensa/include/irq.h b/arch/xtensa/include/irq.h index d6808af5b4b..cf99de03d4a 100644 --- a/arch/xtensa/include/irq.h +++ b/arch/xtensa/include/irq.h @@ -37,6 +37,7 @@ #include #include #include +#include #include #include @@ -233,7 +234,7 @@ static inline uint32_t up_irq_save(void) __asm__ __volatile__ ( - "rsil %0, %1" : "=r"(ps) : "i"(XCHAL_EXCM_LEVEL) + "rsil %0, %1" : "=r"(ps) : "i"(XCHAL_IRQ_LEVEL) ); /* Return the previous PS value so that it can be restored with diff --git a/arch/xtensa/include/xtensa/core.h b/arch/xtensa/include/xtensa/core.h index 6efab57b3f0..1385abddb20 100644 --- a/arch/xtensa/include/xtensa/core.h +++ b/arch/xtensa/include/xtensa/core.h @@ -90,6 +90,11 @@ /* Interrupts ***************************************************************/ /* Indexing macros: */ +#ifndef XCHAL_SYSCALL_LEVEL +# define XCHAL_IRQ_LEVEL XCHAL_EXCM_LEVEL +#else +# define XCHAL_IRQ_LEVEL XCHAL_SYSCALL_LEVEL +#endif #define _XCHAL_INTLEVEL_MASK(n) XCHAL_INTLEVEL ## n ## _MASK #define XCHAL_INTLEVEL_MASK(n) _XCHAL_INTLEVEL_MASK(n) /* n = 0 .. 15 */