Subject: Re: [v5][PATCH 2/3] powerpc/kprobe: complete kprobe and migrate exception frame

From: Benjamin Herrenschmidt <[email-masked]>
Date: Tue, 18 Sep 2012 15:09:58 +1000

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.