This is the mail archive of the systemtap@sources.redhat.com mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Hitachi djprobe mechanism





Masami Hiramatsu <masami.hiramatsu@gmail.com> wrote on 28/07/2005 17:22:46:

> Hi,
>
> 2005/7/28, Karim Yaghmour <karim@opersys.com>:
> > Karim Yaghmour wrote:
> > >From the article's text:
> > > "The springboard approach requires chunks of scratch space
(collectively,
> > > the springboard heap) to be conveniently sprinkled throughout the
kernel,
> > > so that every kernel instruction can reach some chunk when using one
of
> > > the suitable instructions ..."
> >
> > Also, there's this bit I missed from the figure the text refers to as
> > containing the list of instructions that can be used for various
> architectures
> > (figure 4.6):
> >
> > "None of the architectures has an ideal splicing instruction; either
> > displacement is insufficient (RISC architectures), or there is no
> > guarantee that only a single instruction is overwritten when
> splicing (x86)."
> >
> > To the best of my understanding, the latter seems to imply that
springboards
> > have the very same limitations mentioned earlier for djprobe.
>
> I think so. the size of smallest jmp instruction is 2 bytes on i386,
> but the smallest instruction is 1byte on i386 (ex. pushl %esi).
> I will try to add safety check routine in sched() and do_IRQ().

That's why "int3" is not the same as "int 3" i.e. it's one byte instead of
two. Nothing else quite works as well for brekpointing purposes.

>
> --
> Masami Hiramatsu
> mailto:masami.hiramatsu@gmail.com


- -
Richard J Moore
IBM Advanced Linux Response Team - Linux Technology Centre
MOBEX: 264807; Mobile (+44) (0)7739-875237
Office: (+44) (0)1962-817072


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]