Kernel Debugging

davis william 26373 wdavis at x102c.harris-atd.com
Sat Feb 3 04:45:11 AEST 1990


Thanks to everyone that sent instructions on using the modem port
and NMI switch to access the debugger.o code when it is built
into the kernel.

With the debugger I was able to track the problem far enough
to guess at what was wrong.  Apparently, there is some problem
with interrupt routines interacting with the floating point
coprocessor.  The panic I wad getting was an unexpected trap.
The trap I was getting was 13 (the 68881 coprocessor interrupt?).
It was coming in during the context switch that follows
an interrupt routine that has done a wakeup() call.
Since I don't use floating point in the driver,
I used the -F option to the C compiler.  This eliminated the
save of floating point state at the front of each function and
its restoration at the end of the function.  I already knew from
previous experience not to use the -O option on a driver.
Perhaps someone at Apple would like to add these options to the
Release Notes for the Device Driver Kit?  Or maybe this
is actually a latent bug in the A/UX support routines?



More information about the Comp.unix.aux mailing list