[parisc-linux] Single-stepping
law@redhat.com
law@redhat.com
Wed, 15 Nov 2000 13:30:59 -0700
In message <200011151949.OAA22929@hiauly1.hia.nrc.ca>you write:
> > I've been helping Alan Modra out with kernel changes to support
> > single stepping for gdb. Paul Bame suggested I bounced our ideas
> > off you in case you (or anyone else) had any comments. I havn't
> > actually committed my changes yet.
> >
> > The basic approach is to use the recovery counter to generate
> > a trap every instruction. The scheme is complicated because a
> > suspended process may or may not return to user space via an RFI.
>
> I really don't know enough to comment on the implementation choice. Why
> did you decide on this approach as opposed to inserting breaks and
> enabling the taken branch branch trap (T)? It would appear that the recove
> ry
> counter was intended to provide software recovery from hardware faults
> in fault tolerant systems. Possibly, Grant could comment on whether
> it is actually useful for this purpose.
Err, we tried that at the UofU in our mach port to the PA -- there's a problem
with that scheme, though I don't remember precisely what it was. I believe
there were cases where the recovery counter doesn't trigger a trap, possibly
due to nullified instructions.
You might look at the UofU BSD code, which I believe used breakpoints and
branch taken traps instad.
jeff