|
@@ -278,7 +278,8 @@ sysc_return:
|
|
|
bnz BASED(sysc_work) # there is work to do (signals etc.)
|
|
|
sysc_restore:
|
|
|
#ifdef CONFIG_TRACE_IRQFLAGS
|
|
|
- la %r1,BASED(sysc_restore_trace_psw)
|
|
|
+ la %r1,BASED(sysc_restore_trace_psw_addr)
|
|
|
+ l %r1,0(%r1)
|
|
|
lpsw 0(%r1)
|
|
|
sysc_restore_trace:
|
|
|
TRACE_IRQS_CHECK
|
|
@@ -289,10 +290,15 @@ sysc_leave:
|
|
|
sysc_done:
|
|
|
|
|
|
#ifdef CONFIG_TRACE_IRQFLAGS
|
|
|
+sysc_restore_trace_psw_addr:
|
|
|
+ .long sysc_restore_trace_psw
|
|
|
+
|
|
|
+ .section .data,"aw",@progbits
|
|
|
.align 8
|
|
|
.globl sysc_restore_trace_psw
|
|
|
sysc_restore_trace_psw:
|
|
|
.long 0, sysc_restore_trace + 0x80000000
|
|
|
+ .previous
|
|
|
#endif
|
|
|
|
|
|
#
|
|
@@ -606,7 +612,8 @@ io_return:
|
|
|
bnz BASED(io_work) # there is work to do (signals etc.)
|
|
|
io_restore:
|
|
|
#ifdef CONFIG_TRACE_IRQFLAGS
|
|
|
- la %r1,BASED(io_restore_trace_psw)
|
|
|
+ la %r1,BASED(io_restore_trace_psw_addr)
|
|
|
+ l %r1,0(%r1)
|
|
|
lpsw 0(%r1)
|
|
|
io_restore_trace:
|
|
|
TRACE_IRQS_CHECK
|
|
@@ -617,10 +624,15 @@ io_leave:
|
|
|
io_done:
|
|
|
|
|
|
#ifdef CONFIG_TRACE_IRQFLAGS
|
|
|
+io_restore_trace_psw_addr:
|
|
|
+ .long io_restore_trace_psw
|
|
|
+
|
|
|
+ .section .data,"aw",@progbits
|
|
|
.align 8
|
|
|
.globl io_restore_trace_psw
|
|
|
io_restore_trace_psw:
|
|
|
.long 0, io_restore_trace + 0x80000000
|
|
|
+ .previous
|
|
|
#endif
|
|
|
|
|
|
#
|