Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (H-K)
Guardian Procedure Calls Reference Manual—522629-013
7-15
HIST_FORMAT_ Procedure
•
The default FormatSelect value set by the HIST_INIT_ procedure is HF_trace
unless the HO_OneLine or HO_Init_address bit is set in the
options parameter of
the HIST_INIT_ procedure call; in that case, the default value is HF_base +
HF_Parent.
•
HF_withContext causes the full context to be displayed whenever a new context is
available, such as at the invocation of a signal handler. HF_full causes all
available state information to be displayed for native frames.
•
Typically, the name, offset, and code space are displayed on one line, but that can
spill onto multiple lines when necessary. Individual procedure names,
subprocedure names, and SRL names longer than 65 characters are truncated.
Truncated names have a greater-than sign (>) shown as the last character.
•
Any output generated by the HF_LocLineTNS or HF_LocLineRISC option appears
on a separate line, unless the HO_OneLine bit is set in the
options parameter of
the HIST_INIT_ call. Register displays occupy the last three to ten lines,
depending upon the registers available.
•
Protected contexts
When a run-time event that requires immediate attention, such as a hardware trap,
causes a signal to be generated, the uContext structure presented to the signal
handler contains either one or two contexts. The primary context is a complete
record of the procedure context at the site of the event. If that site was in protected
code, a secondary context contains part of the state at the site of transition into
protected code.
A context is protected if the process was privileged when the signal was generated
but the signal handler was installed from nonprivileged code.
For example, if a user program invokes a CALLABLE procedure (switching into
privileged mode) and an attempt to access an invalid address occurs within the
privileged code, the primary context is that of the invalid operation, and the
secondary context is that of the user procedure at the site of the call to the
CALLABLE procedure.
The secondary context is limited to those registers that, by convention, are saved
and restored by all subsequent callers. Registers used as temporary values
(including procedure parameters and return values) are not available; see the
earlier discussion of the HF_Registers literal.
If the signal handler in the previous example performed a stack trace, calling the
HIST_INIT_ procedure and specifying the options HO_Init_Here,