* remote.texi (Bootstrapping): Discuss 386 call gates.

This commit is contained in:
Jim Kingdon 1993-09-23 02:25:28 +00:00
parent b083df0877
commit 8d8c5f398a
2 changed files with 7 additions and 5 deletions

View File

@ -1,3 +1,7 @@
Wed Sep 22 21:22:11 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* remote.texi (Bootstrapping): Discuss 386 call gates.
Sat Sep 18 17:10:44 1993 Jim Kingdon (kingdon@poseidon.cygnus.com)
* stabs.texinfo (Based Variables): New node.

View File

@ -166,6 +166,7 @@ It may be identical to @code{putchar} for your target system; a
different name is used to allow you to distinguish the two if you wish.
@item void exceptionHandler (int @var{exception_number}, void *@var{exception_address})
@kindex exceptionHandler
Write this function to install @var{exception_address} in the exception
handling tables. You need to do this because the stub does not have any
way of knowing what the exception handling tables on your target system
@ -180,12 +181,9 @@ etc.) should be just as it is when a processor exception occurs. So if
you want to use a jump instruction to reach @var{exception_address}, it
should be a simple jump, not a jump to subroutine.
@c For the 386, doesn't the interrupt gate contain a privilege level?
@c If so, what should it be set to? I suspect the answer is the
@c privilege level in effect at the time that exceptionHandler is
@c called, but I'm not sure. FIXME.
For the 386, @var{exception_address} should be installed as an interrupt
gate so that interrupts are masked while the handler runs. The
gate so that interrupts are masked while the handler runs. The gate
should be at privilege level 0 (the most privileged level). The
@sc{sparc} and 68k stubs are able to mask interrupts themself without
help from @code{exceptionHandler}.