* remote.texi (Bootstrapping): Discuss 386 call gates.
This commit is contained in:
parent
b083df0877
commit
8d8c5f398a
2 changed files with 7 additions and 5 deletions
|
@ -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.
|
||||
|
|
|
@ -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}.
|
||||
|
||||
|
|
Loading…
Reference in a new issue