Technical data
SDA Description
For access violations, the signal array is set up as follows:
Value Meaning
00000005 Number of longwords that follow. For access violations, this
value is always 5.
0000000C Exception code. The value 0C
16
represents an access violation.
You can identify the exception code by using the SDA command
EVALUATE/CONDITION.
Reason mask Longword mask. If bit 0 of this longword is set, the failing
instruction (at the PC saved below) caused a length violation.
If bit 1 is set, it referred to a location whose page table entry is
in a ‘‘no access’’ page. Bit 2 indicates the type of access used by
the failing instruction: it is set for write and modify operations
and clear for read operations.
Virtual address Virtual address that the failing instruction tried to reference.
PC PC whose execution resulted in the exception.
PSL PSL at the time of the exception.
In the case of a fatal exception, you can find the code that signaled it by
examining the PC in the signal array. Use the SHOW STACK command to
display the stack in use when the failure occurred and then locate the mechanism
and signal arrays. Once you obtain the PC, which points to the instruction that
signaled the exception, you can identify the module where the instruction is
located by following the instructions in Section 9.3.
8.2.2 Illegal Page Faults
A PGFIPLHI bugcheck occurs when a page fault occurs while the interrupt
priority level (IPL) is greater than 2 (IPL$_ASTDEL). When the system fails
because of an illegal page fault, the following message appears on the console
terminal:
PGFIPLHI, page fault with IPL too high
When an illegal page fault occurs, the stack appears as shown in Figure SDA–4.
SDA–23