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