Re: [PATCH] kprobes for s390 architecture

Martin Schwidefsky
2006-06-27T11:56:20Z

On Wed, 2006-06-21 at 10:15 -0700, Mike Grundy wrote:
> On Wed, Jun 21, 2006 at 06:38:40PM +0200, Martin Schwidefsky wrote:
> > On Tue, 2006-06-20 at 21:28 -0700, Mike Grundy wrote:
> > > Hi Martin - This patch implements the suggestions from your review. There were
> > > a couple points I wanted to go over:
> > > > There are some more instructions missing that need fixup:
> > > > "brxh" 0x84??????, "brxle" 0x85??????, "brc" 0xa7?4????,
> > > > "brct" 0xa7?6????, "brctg" 0xa7?7????, "bctgr" 0xb946????,
> > > > "brxhg" 0xec????????44 and "brxlg" 0xec??????45.
> > > Since all of these are relative branches, and they don't save the psw, the
> > > standard clean up of adjusting the original psw by the offset from the out of
> > > line address after single step. Unless I'm just being dense :-)
> >
> > All of these are conditional branches, if the branch is not taken you
> > have to do a cleanup.
> The reason I have a special cleanup for the other branches is the easy way to
> tell if the branch wasn't taken is the pswa = orig pswa + instruction length.
> The relative branches get cleaned up the same way if the branch was taken or
> not, pswa = probe_addr + (out of line end psw - out of line start psw). These
> are all relative branches and while they need cleanup, they don't get treated
> differently based on the branch status.

So you are always doing a sort of branch cleanup, even for non-branch
instructions. Seems reasonable, since non-branch instructions don't
branch and the standard cleanup logic can deal with.

> > You misunderstood me here. I'm not talking about storing the same piece
> > of data to memory on each processor. I'm talking about isolating all
> > other cpus so that the initiating cpu can store the breakpoint to memory
> Yep, I misunderstood that. The serialization is the point, not the replacement
> of a word in memory.

Exactly.

--
blue skies,
Martin.

Martin Schwidefsky
Linux for zSeries Development & Services
IBM Deutschland Entwicklung GmbH

"Reality continues to ruin my life." - Calvin.