martyl@rocksvax.UUCP (Marty Leisner) (10/19/87)
The following is an illegal opcode trap I hung on interrupt 6 on a 286. It seems to make the system somewhat more robust (at least a process which went bonkers will get caught sooner or later (hopefully sooner). It runs fine in real mode. I'm running my system without stack limit checking, so the splimit field is really meaningless to me. PUBLIC void _undefined_opcode() { printf("undefined opcode in process %x\n", cur_proc); printf("sp = %x, splimit = %x, ip = %x\n", proc_ptr->p_sp, proc_ptr->p_splimit, proc_ptr->p_pcpsw.pc); if(cur_proc > LOW_USER) { cause_sig(cur_proc, SIGILL); unready(proc_ptr); } } marty -- marty leisner xerox corp leisner.henr@xerox.com martyl@rocksvax.uucp