Obtain and install a Quick Interrupt vector
Source position: exec.pas line 1252
function ObtainQuickVector( |
interruptCode: POINTER |
):LongWord; |
interruptCode |
|
A pointer to your interrupt code. This code is not an EXEC interrupt but is dirrectly connected to the hardware interrupt. |
If it returns 0, no quick interrupt was allocatable. The device should at this point switch to using the shared interrupt server method.
This function will install the code pointer into the quick interrupt vector it allocates and returns to you the interrupt vector that your Quick Interrupt system needs to use.
This function may also return 0 if no vectors are available. Your hardware should be able to then fall back to using the shared interrupt server chain should this happen.
The interrupt code is a direct connect to the physical interrupt. This means that it is the responsibility of your code to do all of the context saving/restoring required by interrupt code.
Also, due to the performance of the interrupt controller, you may need to also watch for "false" interrupts. These are interrupts that come in just after a DISABLE. The reason this happens is because the interrupt may have been posted before the DISABLE hardware access is completed.