[MIPS] local_irq_restore wasn't safe to be used in other macros mode.

It always left the assembler in reorder mode possibly causing disaster.
    
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
Ralf Baechle 2006-01-30 16:48:26 +00:00
parent 75bdb426a1
commit 2e66fe24d6

View File

@ -114,6 +114,7 @@ __asm__ __volatile__( \
__asm__ ( __asm__ (
" .macro local_irq_restore flags \n" " .macro local_irq_restore flags \n"
" .set push \n"
" .set noreorder \n" " .set noreorder \n"
" .set noat \n" " .set noat \n"
#if defined(CONFIG_CPU_MIPSR2) && defined(CONFIG_IRQ_CPU) #if defined(CONFIG_CPU_MIPSR2) && defined(CONFIG_IRQ_CPU)
@ -141,8 +142,7 @@ __asm__ (
" mtc0 \\flags, $12 \n" " mtc0 \\flags, $12 \n"
#endif #endif
" irq_disable_hazard \n" " irq_disable_hazard \n"
" .set at \n" " .set pop \n"
" .set reorder \n"
" .endm \n"); " .endm \n");
#define local_irq_restore(flags) \ #define local_irq_restore(flags) \