Commit 255bc315 authored by Steven Seeger's avatar Steven Seeger
Browse files

handle intret correctly

parent e5164a26
......@@ -349,7 +349,7 @@ no_fastcall:
lwz r0,GPR0(r1)
slow_path:
lwz r11,TI_IPIPE(r10)
slow_path_check:
elow_path_check:
andi. r12,r11,_TIP_NOTIFY
bne pipeline_syscall
cmplwi cr0,r0,NR_syscalls
......@@ -925,6 +925,33 @@ user_exc_return: /* r10 contains MSR_KERNEL here */
bne do_work
restore_user:
#ifdef CONFIG_IPIPE
CURRENT_THREAD_INFO(r9, r1)
lwz r9,TI_IPIPE(r9)
andi. r0,r9,_TIP_USERINTRET
beq skip_intret
/* enable interrupts */
/* TODO: do we care about CONFIG_TRACE_IRQFLAGS? */
LOAD_MSR_KERNEL(r10,MSR_KERNEL)
ori r10,r10,MSR_EE
SYNC
MTMSRD(r10)
bl __ipipe_notify_user_intreturn
cmpwi cr1,r3,0
/* disable interrupts */
LOAD_MSR_KERNEL(r10,MSR_KERNEL) /* doesn't include EE */
SYNC
MTMSRD(r10)
beq cr1,ret_from_except
skip_intret:
#endif
#if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
/* Check whether this process has its own DBCR0 value. The internal
debug mode bit tells us that dbcr0 should be loaded. */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment