Date: Sat, 25 Apr 1998 08:40:01 -0700 (PDT) From: Fred Gilham <gilham@csl.sri.com> To: freebsd-bugs Subject: Re: kern/6389: Need to be able to access trap-to-signal mapping to for Linux emulation to allow Allegro Common Lisp (and maybe other apps) to run. Message-ID: <199804251540.IAA07447@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/6389; it has been noted by GNATS. From: Fred Gilham <gilham@csl.sri.com> To: Eivind Eklund <eivind@yes.no>, Mike Smith <mike@smith.net.au>, freebsd-gnats-submit@FreeBSD.ORG Cc: dg@root.com Subject: Re: kern/6389: Need to be able to access trap-to-signal mapping to for Linux emulation to allow Allegro Common Lisp (and maybe other apps) to run. Date: Sat, 25 Apr 1998 08:36:01 -0700 David Greenman wrote: > I haven't been following this thread, but the kernel branch is only for >traps that occur within the kernel. You would not want any translation to >occur there. If this is the case, then the lines if(*p->p_sysent->sv_trantrap != 0) i = (*p->p_sysent->sv_trantrap)(i, type); in trap.c should be moved up before the } else { #ifdef VM86 kernel_trap: #endif /* kernel trap */ E.g. apply this patch: *** trap.c.old Sat Apr 25 08:32:46 1998 --- trap.c Sat Apr 25 08:33:41 1998 *************** *** 385,390 **** --- 385,394 ---- i = SIGILL; break; } + + if(*p->p_sysent->sv_trantrap != 0) + i = (*p->p_sysent->sv_trantrap)(i, type); + } else { #ifdef VM86 kernel_trap: *************** *** 544,552 **** trap_fatal(&frame); return; } - - if(*p->p_sysent->sv_trantrap != 0) - i = (*p->p_sysent->sv_trantrap)(i, type); trapsignal(p, i, ucode); --- 548,553 ---- This will avoid any strange problems with translating kernel traps by accident. -Fred Gilham gilham@csl.sri.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199804251540.IAA07447>