one more try (at SMP)
Ethan Solomita
ethan at cs.columbia.edu
Wed May 8 20:13:23 PDT 2002
I decided to get my hands on an SMP i386 so I could play with it too. I
believe I've got something that works. There were a few issues with
setting and clearing of the single-step flags. kdba_clearsinglestep()
for some reason wasn't actually clearing EF_TF. It was being cleared
automagically in the kdba_db_trap() code, which I hadn't anticipated.
So I cleaned up a few things. Here's the summary:
kdb_bp.c: redundantly setting DOING_SS and DOING_SSB. removed.
kdb_io.c: kdb_printf didn't handle recursion correctly. Also fixed
sparc64 issues.
kdbmain.c: call kdba_setsinglestep in exactly one place: before exiting
kdb() if DOING_SS.
kdba_bp.c: fixes as discussed already. do not clear single-step EF_TF
flag manually.
kdbasupport.c: have setsinglestep and clearsinglestep check whether
EF_TF is already set/clear. Make clearsinglestep actually do what it's
name implies.
Diffs are attached. They are on top of everything already sent out,
including the two line fix I emailed out. Once this all seems good and
solid, I'll make a single diff.
-- Ethan
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: diffs.txt
Url: http://oss.sgi.com/pipermail/kdb/attachments/20020508/e9a8f243/attachment.txt
More information about the kdb
mailing list