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>
index | next in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199804251540.IAA07447>
