Thread (22 messages) 22 messages, 7 authors, 2012-06-12

Re: [PATCH 2/2] [POWERPC] uprobes: powerpc port

flat view

From: Ananth N Mavinakayanahalli <hidden>
Date: 2012-06-08 09:21:13
Also in: lkml

On Fri, Jun 08, 2012 at 04:38:17PM +1000, Michael Ellerman wrote:
On Fri, 2012-06-08 at 11:49 +0530, Ananth N Mavinakayanahalli wrote:
quoted
On Fri, Jun 08, 2012 at 04:17:44PM +1000, Michael Ellerman wrote:
quoted
On Fri, 2012-06-08 at 11:31 +0530, Ananth N Mavinakayanahalli wrote:
quoted
On Fri, Jun 08, 2012 at 03:51:54PM +1000, Michael Ellerman wrote:
quoted
On Fri, 2012-06-08 at 10:06 +0530, Ananth N Mavinakayanahalli wrote:
But MSR_PR=1 and hence emulate_step() will return -1 and hence we will
end up single-stepping using user_enable_single_step(). Same with rfid.
Right. But that was exactly Jim's point, you may be asked to emulate
those instructions even though you wouldn't expect to see them in
userspace code, so you need to handle it.

Luckily it looks like emulate_step() will do the right thing for you.
It'd be good to test it to make 100% sure.
Sure. Will add that check and send v2.
Sorry I didn't mean add a test in the code, I meant construct a test
case to confirm that it works as expected.
Michael,

I just hand-coded the instr to emulate_step() and here are the results:

MSR_PR is set
insn = 7c600124, ret = 0 /* mtmsr */
insn = 7c600164, ret = 0 /* mtmsrd */
insn = 4c000024, ret = -1 /* rfid */
insn = 4c000064, ret = 0 /* rfi */

Also verified that standalone programs with those instructions in inline
asm will die with a SIGILL.

So, for mtmsr, mtmsrd and rfi, we have to single-step them which will
result in a SIGILL in turn.

Ananth
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help