On Tue, 2012-09-18 at 15:05 +1000, Benjamin Herrenschmidt wrote: > On Mon, 2012-09-17 at 17:54 +0800, Tiejun Chen wrote: > > -#ifdef CONFIG_PREEMPT > > b restore > > > > /* N.B. the only way to get here is from the beq following > > ret_from_except. */ > > resume_kernel: > > - /* check current_thread_info->preempt_count */ > > + /* check current_thread_info, _TIF_EMULATE_STACK_STORE */ > > CURRENT_THREAD_INFO(r9, r1) > > + lwz r8,TI_FLAGS(r9) > > + andis. r8,r8,_TIF_EMULATE_STACK_STORE@h > > + beq+ 1f > > + > > + addi r8,r1,INT_FRAME_SIZE /* Get the kprobed function entry */ > > + > > + lwz r3,GPR1(r1) > > + subi r3,r3,INT_FRAME_SIZE /* dst: Allocate a trampoline exception > > frame */ > > + mr r4,r1 /* src: current exception frame */ > > + li r5,INT_FRAME_SIZE /* size: INT_FRAME_SIZE */ > > + li r6,0 /* start offset: 0 */ > > + mr r1,r3 /* Reroute the trampoline frame to r1 */ > > + > > + /* Copy from the original to the trampoline. */ > > + li r6,0 > > You just did that li r6,0 2 lines above :-) I'll fix it up manually > while applying.
In fact the srwi can be dropped completely, we can just load r5 with the divided value. Committed, will push later today, please test. Cheers, Ben. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev