|
HP OpenVMS Version 8.3 New Features and
Documentation Overview
VALIDATE POOL
Checks all free pool packets for POOLCHECK-style corruption, using the
same algorithm as the system pool allocation routines when generating a
POOLCHECK bugcheck and system dump.
Format
VALIDATE POOL { /ALL (d) | /BAP | /NONPAGED | /PAGED } [ /HEADER |
/MAXIMUM_BYTES [ = n ] /SUMMARY ]
Parameters
None
Qualifiers
/ALL
Checks free packets for all pool types (nonpaged pool, paged pool, and
bus-addressable pool). This is the default.
/BAP
Checks free packets in bus-addressable pool.
/HEADER
Displays only the first 16 bytes of any corrupted free packets found.
/MAXIMUM_BYTES[=n]
Displays only the first n bytes of any corrupted free packets
found. If you specify /MAXIMUM_BYTES without a value, the default is 64
bytes.
/NONPAGED
Checks free packets in nonpaged pool.
/PAGED
Checks free packets in paged pool.
/SUMMARY
Displays only a summary of corrupted pool packets found.
Description
The VALIDATE POOL command displays information about corrupted free
pool packets. It is useful only if pool checking is enabled using
either the POOLCHECK or the SYSTEM_CHECK system parameters. (For
information about these system parameters, see the HP OpenVMS System Management Utilities Reference Manual).
VALIDATE PROCESS
Performs validation of process data structures. Currently, the only
validation available is to check free process pool packets for
POOLCHECK-style corruption, using the same algorithm as the system pool
allocation routines when generating a POOLCHECK bugcheck and system
dump.
Format
VALIDATE PROCESS/POOL [ = { P0 | P1 | IMGACT | ALL (d) } ] [ /ADDRESS =
pcb-address | process name | ALL | /ID = nn | /INDEX = nn | /NEXT |
/SYSTEM ] [ /HEADER | /MAXIMUM_BYTES [ = n ]/SUMMARY ]
Parameters
ALL
Indicates that all processes in the system are to be validated.
process-name
Name of the process to be validated. The process name can contain up to
15 uppercase letters, numerals, an underscore (_), dollar sign ($),
colon (:), and some other printable characters. If it contains any
other characters (including lowercase letters), you might need to
enclose the process name in quotation marks (" ").
Qualifiers
/ADDRESS = pcb-address
Specifies the process control block (PCB) address of the process to be
validated.
/HEADER
Displays only the first 16 bytes of any corrupted free packets found.
/ID = nn/INDEX = nn
Specifies the process to be validated by its index into the system's
list of software PCBs, or by its process identification. You can supply
the following values for nn:
- Process index itself.
- Process identification (PID) or extended PID longword, from which
SDA extracts the correct index. The PID or extended PID of any thread
of a process with multiple kernel threads can be specified. Any
thread-specific data displayed by further commands is for the given
thread.
To obtain these values for any given process, issue the SDA command
SHOW SUMMARY/THREADS. The /ID=nn and /INDEX=nn
qualifiers can be used interchangeably.
/MAXIMUM_BYTES[=n]
Displays only the first n bytes of any corrupted free packets
found. If you specify /MAXIMUM_BYTES without a value, the default is 64
bytes.
/NEXT
Causes SDA to locate the next process in the process list and validate
that process. If there are no further processes in the process list,
SDA returns an error.
/POOL[ = { P0 | P1 | IMGACT | ALL (d) } ]
Process pool validation is to be performed. This qualifier is required.
Use of a keyword on the /POOL qualifier allows the user to specify
which process pool is to be validated (P0, P1, or Image Activator
Pool). The default is to validate all process pools.
/SUMMARY
Displays only a summary of corrupted pool packets found.
/SYSTEM
This qualifier is provided for compatibility with SET PROCESS/SYSTEM
and SHOW PROCESS/SYSTEM. There is no pool associated with the system
process that can be validated. SDA sets its current process context to
the system process and outputs the following text:
Options ignored for System process: POOL
|
Description
The VALIDATE PROCESS command validates the process specified by
process-name, the process specified in the /ID or /INDEX qualifier, the
next process in the system's process list, the system process, or all
processes. The VALIDATE PROCESS command performs an implicit SET
PROCESS command under certain uses of its qualifiers and parameters, as
noted previously. By default, the VALIDATE PROCESS command validates
the SDA current process, as defined in HP OpenVMS System Analysis Tools Manual.
Currently, the only validation available is to check free pool packets
for POOLCHECK-style corruption. The command is useful only if pool
checking is enabled using either the POOLCHECK or the SYSTEM_CHECK
system parameters. (For information on these system parameters, see the
HP OpenVMS System Management Utilities Reference Manual.
If a process is specified using process-name, /ADDRESS, /ID,
/INDEX, /NEXT, or /SYSTEM, that process becomes the SDA current process
for future commands.
CLUE REGISTER
Displays the active register set for the crash CPU. The CLUE REGISTER
command is valid only for analyzing crash dumps.
Format
CLUE REGISTER [/CPU [cpu-id|ALL] |/PROCESS
[/ADDRESS=n|INDEX=n
|/IDENTIFICATION=n|process-name|ALL]]
Parameters
ALL
When used with /CPU, it requests information about all CPUs in the
system. When used with /PROCESS, it requests information about all
processes that exist in the system.
cpu-id
When used with /CPU, it gives the number of the CPU for which
information is to be displayed. Use of the cpu-id parameter
causes the CLUE REGISTER command to perform an implicit SET CPU
command, making the indicated CPU the current CPU for subsequent SDA
commands.
process-name
When used with /PROCESS, it gives the name of the process for which
information is to be displayed. Use of the process-name
parameter, the /ADDRESS qualifier, the /INDEX qualifier, or the
/IDENTIFICATION qualifier causes the CLUE REGISTER command to perform
an implicit SET PROCESS command, making the indicated process the
current process for subsequent SDA commands. You can determine the
names of the processes in the system by issuing the SHOW SUMMARY
command.
The process-name can contain up to 15 letters and numerals,
including the underscore (_) and dollar sign ($). If it contains any
other characters, you must enclose the process-name in
quotation marks (" ").
Qualifiers
/ADDRESS=n
Specifies the PCB address of the desired process when used with CLUE
REGISTER/PROCESS.
/CPU [cpu-id|ALL]
Indicates that the registers for a CPU are required. Specify the CPU by
its number or use ALL to indicate all CPUs.
/IDENTIFICATION=n
Specifies the identification of the desired process when used with CLUE
REGISTER/PROCESS.
/INDEX=n
Specifies the index of the desired process when used with CLUE
REGISTER/PROCESS.
/PROCESS [process-name|ALL]
Indicates that the registers for a process are required. The process
should be specified with either one of the qualifiers /ADDRESS,
/IDENTIFICATION, or /INDEX, or by its name, or by using ALL to indicate
all processes.
Description
The CLUE REGISTER command displays the active register set of the crash
CPU. It also identifies any known data structures, symbolizes any
system virtual addresses, interprets the processor status (PS), and
attempts to interpret R0 as a condition code.
If neither /CPU nor /PROCESS is specified, the parameter
(cpu-id or process-name) is ignored and the registers
for the SDA current process are displayed.
CLUE SCSI
Displays information related to SCSI and Fibre Channel.
Format
CLUE SCSI {/CONNECTION=n
|/PORT=n|/REQUEST=n|/SUMMARY}
Qualifiers
/CONNECTION=scdt-address
Displays information about SCSI connections and decodes the SCSI
connection descriptor data structure identified by the SCDT address.
/PORT=spdt-address
Displays all or a specific port descriptor identified by its SPDT
address.
/REQUEST=scdrp-address
Displays information about SCSI requests and decodes the SCSI class
driver request packet identified by the SCDRP address.
/SUMMARY
Displays a summary of all SCSI and FC ports and devices and their type
and revisions.
SDA$CBB_BOOLEAN_OPER
Performs a Boolean operation on a pair of CBBs.
Format
int sda$cbb_boolean_oper (CBB_PQ input_cbb, CBB_PQ output_cbb, int
operation);
Arguments
input_cbb
OpenVMS usage |
address |
type |
CBB structure |
access |
read only |
mechanism |
by reference |
The address of the first (input) CBB structure.
output_cbb
OpenVMS usage |
address |
type |
CBB structure |
access |
read/write |
mechanism |
by reference |
The address of the second (output) CBB structure.
operation
OpenVMS usage |
longword |
type |
longword (unsigned) |
access |
read only |
mechanism |
by value |
The desired operation from the following list:
- CBB$C_OR---The logical sum of the two CBBs is performed and the
result (B = A | B) is written to the output CBB.
- CBB$C_BIC---The logical product with complement of the two CBBs is
performed and the result (B = B & ~A) is written to the output CBB.
Description
The desired Boolean operation is performed on the two CBB structures,
and the result is written to the second (output) structure.
Condition Values Returned
SS$_WASCLR
|
The value 0 is returned if no bits are set in the resulting output CBB.
|
SS$_WASSET
|
The value 1 is returned if any bit is set in the resulting output CBB.
|
SS$_BADPARAM
|
The number of valid bits in the input and output CBBs are different.
|
SDA$CBB_CLEAR_BIT
Clears the specified bit in a CBB.
Format
int sda$cbb_clear_bit (CBB_PQ cbb, int bit);
Arguments
cbb
OpenVMS usage |
address |
type |
CBB structure |
access |
read/write |
mechanism |
by reference |
The address of the CBB structure to be modified.
bit
OpenVMS usage |
longword |
type |
longword (unsigned) |
access |
read only |
mechanism |
by value |
The bit in the CBB to be cleared. If the bit number is -1, clears all
bits.
Description
The specified bit (or all bits) in the CBB is cleared.
Condition Values Returned
SS$_NORMAL
|
Successful completion
|
SS$_BADPARAM
|
The bit number is out of range
|
SDA$CBB_COPY
Copies the contents of one CBB to another.
Format
int sda$cbb_copy (CBB_PQ input_cbb, CBB_PQ output_cbb);
Arguments
input_cbb
OpenVMS usage |
address |
type |
CBB structure |
access |
read only |
mechanism |
by reference |
The address of the CBB structure to be copied.
output_cbb
OpenVMS usage |
address |
type |
CBB structure |
access |
write only |
mechanism |
by reference |
The address of the CBB structure to receive the copy.
Description
The specified CBB is copied.
Condition Values Returned
SDA$CBB_FFC
Locates the first clear bit in a CBB.
Format
int sda$cbb_ffc (CBB_PQ cbb, int start_bit);
Arguments
cbb
OpenVMS usage |
address |
type |
CBB structure |
access |
read only |
mechanism |
by reference |
The address of the CBB structure to be searched.
start_bit
OpenVMS usage |
longword |
type |
longword (unsigned) |
access |
read only |
mechanism |
by value |
The first bit in the CBB to be checked.
Description
The CBB structure is searched, starting at the specified bit, for a
clear bit.
Condition Values Returned
Bit_number
|
If a clear bit is found, its bit number is returned. If no clear bit is
found (all bits from start_bit to cbb->cbb$l_valid_bits are set),
then the number of valid bits is returned.
|
SDA$CBB_FFS
Locates the first set bit in a CBB.
Format
int sda$cbb_ffs (CBB_PQ cbb, int start_bit);
Arguments
cbb
OpenVMS usage |
address |
type |
CBB structure |
access |
read only |
mechanism |
by reference |
The address of the CBB structure to be searched.
start_bit
OpenVMS usage |
longword |
type |
longword (unsigned) |
access |
read only |
mechanism |
by value |
The first bit in the CBB to be checked.
Description
The CBB structure is searched, starting at the specified bit, for a set
bit.
Condition Values Returned
Bit_number
|
If a set bit is found, its bit number is returned. If no set bit is
found (all bits from start_bit to cbb->cbb$l_valid_bits are clear),
then the number of valid bits is returned.
|
SDA$CBB_INIT
Initializes a CBB structure to a known state.
Format
void sda$cbb_init (CBB_PQ cbb);
Arguments
cbb
OpenVMS usage |
address |
type |
CBB structure |
access |
read only |
mechanism |
by reference |
The address of the CBB structure to be initialized.
Description
The fields of the CBB that describe its layout are initialized as
necessary for a CPU CBB. The actual bitmask is zeroed.
Condition Values Returned
SDA$CBB_SET_BIT
Sets the specified bit in a CBB.
Format
int sda$cbb_set_bit (CBB_PQ cbb,int bit);
Arguments
cbb
OpenVMS usage |
address |
type |
CBB structure |
access |
read/write |
mechanism |
by reference |
The address of the CBB structure to be modified.
bit
OpenVMS usage |
longword |
type |
longword (unsigned) |
access |
read only |
mechanism |
by value |
The bit in the CBB to be set. If the bit number is -1, set all bits.
Description
The specified bit (or all bits) in the CBB is set.
Condition Values Returned
SS$_NORMAL
|
Successful completion.
|
SS$_BADPARAM
|
The bit number is out of range.
|
SDA$CBB_TEST_BIT
Tests the specified bit in a CBB.
Format
int sda$cbb_test_bit (CBB_PQ cbb,int bit);
Arguments
cbb
OpenVMS usage |
address |
type |
CBB structure |
access |
read only |
mechanism |
by reference |
The address of the CBB structure to be tested.
bit
OpenVMS usage |
longword |
type |
longword (unsigned) |
access |
read only |
mechanism |
by value |
The bit in the CBB to be tested.
Description
The specified bit in the CBB is tested and its value returned.
Condition Values Returned
SS$_WASSET
|
The specified bit was set.
|
SS$_WASCLR
|
The specified bit was clear.
|
SS$_BADPARAM
|
The bit number is out of range.
|
SDA$DELETE_PREFIX
Deletes all symbols with the specified prefix.
Format
void sda$delete_prefix (char *prefix);
Arguments
prefix
OpenVMS usage |
char_string |
type |
character string |
access |
read only |
mechanism |
by reference |
The address of the prefix string.
Description
This routine searches the SDA symbol table and deletes all symbols that
begin with the specified string.
Condition Values Returned
|