Ben Smithurst wrote: > A kernel from the latest sources gets a page fault in sched_ithd. DDB says: > > Stopped at: sched_ithd+0x3c: movl $0x01,0x14(%edi) > > Any ideas what's wrong? After poking around a bit with remote GDB, this seems to be caused by a stray IRQ 7, since irq == 7, ir == ithds[irq] == NULL, ir->foo == BOOM. The attached rather crude patch has "fixed" the problem for now, but does anyone have any suggestions for a real fix? -- Ben Smithurst / [EMAIL PROTECTED] / PGP: 0x99392F7D
Index: ithread.c =================================================================== RCS file: /usr/cvs/src/sys/i386/isa/ithread.c,v retrieving revision 1.1 diff -u -r1.1 ithread.c --- ithread.c 2000/09/07 01:32:48 1.1 +++ ithread.c 2000/09/09 19:58:46 @@ -144,6 +144,9 @@ } #endif + if (ir == NULL) + return; + /* * Set it_need so that if the thread is already running but close * to done, it will do another go-round. Then get the sched lock