Validates the specified item (process, queue, and so forth).
1 – PFN_LIST
Validates that the page counts on lists are correct. Format VALIDATE PFN_LIST {/ALL (d) | [/BAD | /FREE | /MODIFIED | /PRIVATE | /UNTESTED | /ZERO]}
1.1 – Qualifiers
1.1.1 /ALL
Validates all the PFN lists: bad, free, modified, untested, zeroed free pages, and private pages.
1.1.2 /BAD
Validates the bad page list.
1.1.3 /FREE
Validates the free page list.
1.1.4 /MODIFIED
Validates the modified page list.
1.1.5 /PRIVATE
Validates all private page lists.
1.1.6 /UNTESTED
Validates the untested page list that was set up for deferred memory testing.
1.1.7 /ZERO
Validates the zeroed free page list.
2 – 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 ]
2.1 – Qualifiers
2.1.1 /ALL
Checks free packets for all pool types (nonpaged pool, paged pool, and bus addressable pool). This is the default.
2.1.2 /BAP
Checks free packets in bus addressable pool.
2.1.3 /HEADER
Displays only the first 16 bytes of any corrupted free packets found.
2.1.4 /MAXIMUM_BYTES
/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.
2.1.5 /NONPAGED
Checks free packets in nonpaged pool.
2.1.6 /PAGED
Checks free packets in paged pool.
2.1.7 /SUMMARY
Displays only a summary of corrupted pool packets found.
3 – 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]
3.1 – 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, 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 (" ").
3.2 – Qualifiers
3.2.1 /ADDRESS
/ADDRESS = pcb address Specifies the process control block (PCB) address of the process to be validated.
3.2.2 /HEADER
Displays only the first 16 bytes of any corrupted free packets found.
3.2.3 /ID
/ID = nn /INDEX = nn Specifies the process to be validated by its index into the system's list of software process control blocks (PCBs), or by its process identification. You can supply the following values for nn: o The process index itself. o A 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.
3.2.4 /MAXIMUM_BYTES
/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.
3.2.5 /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.
3.2.6 /POOL
/POOL [= {P0 | P1 | IMGACT | ALL (d)} ] (Required) Causes process pool validation to be performed. Use of a keyword on the /POOL qualifier allows the user to specify which process pool is to be validated (P0, P1, Image Activator Pool, or ALL). Default: ALL
3.2.7 /SUMMARY
Displays only a summary of the corrupted pool packets found.
3.2.8 /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 text: Options ignored for System process: POOL
4 – QUEUE
Validates the integrity of the specified queue by checking the pointers in the queue. Format VALIDATE QUEUE [address] [/BACKLINK | /LIST | /PHYSICAL | /QUADWORD | /SELF_RELATIVE | /SINGLY_LINKED]
4.1 – Parameter
address Address of an element in a queue. If you specify the period (.) as the address, SDA uses the last evaluated expression as the queue element's address. If you do not specify an address, the VALIDATE QUEUE command determines the address from the last issued VALIDATE QUEUE command in the current SDA session. If you do not specify an address, and no queue has previously been specified, SDA displays the following error message: %SDA-E-NOQUEUE, no queue has been specified for validation
4.2 – Qualifiers
4.2.1 /BACKLINK
Allows doubly linked lists to be validated from the tail of the queue. If the queue is found to be broken when validated from the head of the queue, you can use /BACKLINK to narrow the list of corrupted entries.
4.2.2 /LIST
Displays the address of each element in the queue.
4.2.3 /PHYSICAL
Allows validation of queues whose header and links are physical addresses.
4.2.4 /QUADWORD
Allows the validate operation to occur on queues with linked lists of quadword addresses.
4.2.5 /SELF_RELATIVE
Specifies that the selected queue is a self-relative queue.
4.2.6 /SINGLY_LINKED
Allows validation of queues that have no backward pointers.
5 – SHM_CPP
Validates all the shared memory common property partitions (CPPs) and the counts and ranges of attached PFNs; optionally, it can validate the contents of the database for each PFN. Format VALIDATE SHM_CPP [/qualifiers]
5.1 – Qualifiers
5.1.1 /ADDRESS
/ADDRESS=n Validates the counts and ranges for a single shared memory CPP given the address of the SHM_CPP structure.
5.1.2 /ALL
Validates all the shared memory CPPs. This is the default.
5.1.3 /IDENT
/IDENT=n Validates the counts and ranges for a single shared memory CPP.
5.1.4 /PFN
Validates the PFN database contents for each attached PFN. The default is all lists (free, bad, untested) plus the PFN database pages and the complete range of PFNs in the CPP. You can limit which lists are validated by specifying one or more keywords from the following table. If you specify multiple keywords, enclose them in parentheses and separate keywords with a comma. ALL_FRAGMENTS Validates the complete range of PFNs in the CPP. BAD Validates only the bad page list. FREE Validates only the free page list. PFNDB Validates the PFNs containing the PFN database. UNTESTED Validates only the untested page list. If you specify the /PFN without /ALL, /IDENT, or /ADDRESS, the system validates the PFN lists from the last shared memory CPP.
6 – TQEIDX
Validates all the data structures associated with timer queue entry index (TQEIDX) structures. Format VALIDATE TQEIDX