Previous | Contents | Index |
When analyzing a dump, displays information about the state of a CPU at the time of the system failure.SHOW CPU is only valid when you are analyzing a crash dump. It is not a valid command when you are analyzing the running system, because all the CPU-specific information may not be available. If invoked when you are analyzing a running system, SHOW CPU will only list the CPU database address(es) for the specified CPU or all CPUs.
SHOW CPU [cpu-id | /FIRST | /NEXT | /PRIMARY]
cpu-id
Numeric value indicating the identity of the CPU for which context information is to be displayed. If you specify the cpu-id parameter, the SHOW CPU command performs an implicit SET CPU command, making the CPU indicated by cpu-id the current CPU for subsequent SDA commands.If you do not specify a cpu-id, the state of the SDA current CPU is displayed.
If you specify the cpu-id of a CPU that was not active at the time of the system failure, SDA displays the following message:
%SDA-E-CPUNOTVLD, CPU not booted or CPU number out of rangeSee the description of the SET CPU command and Section 2.5 for information on how this can affect the CPU context---and process context---in which SDA commands execute.
/FIRST
The state of the lowest numbered CPU (not necessarily the primary CPU) is displayed./NEXT
The state of the next higher numbered CPU is displayed. SDA skips CPUs not in the configuration at the time of system failure. If there are no further CPUs, SDA returns an error./PRIMARY
The state of the primary CPU is displayed.
The SHOW CPU command displays system failure information about the CPU specified by cpu-id or, by default, the SDA current CPU, as defined in Section 2.5.The SHOW CPU command produces several displays. The first display is a brief description of the system failure and its environment that includes the following:
- Reason for the bugcheck.
- Name of the currently executing process. If no process has been scheduled on this CPU, SDA displays the following message:
Process currently executing: no processes currently scheduled on the processor- File specification of the image executing within the current process (if there is a current process).
- Interrupt priority level (IPL) of the CPU at the time of the system failure.
- The CPU database address.
- The CPU's capability set.
- On Integrity server systems, the Exception Frame Summary.
On Alpha, the register display follows. First the general registers are output, showing the contents of the CPU's integer registers (R0 to R30), and the AI, RA, PV, FP, PC, and PS at the time of the system failure.
The Alpha processor registers display consists of the following parts:
- Common processor registers
- Processor-specific registers
- Stack pointers
The first part of the processor registers display includes registers common to all Alpha processors, which are used by the operating system to maintain the current process virtual address space, system space, or other system functions. This part of the display includes the following registers:
- Hardware privileged context block base register (PCBB)
- System control block base register (SCBB)
- Software interrupt summary register (SISR)
- Address space number register (ASN)
- AST summary register (ASTSR)
- AST enable register (ASTEN)
- Interrupt priority level register (IPL)
- Processor priority level register (PRBR)
- Page table base register (PTBR)
- Virtual page table base register (VPTB)
- Floating-point control register (FPCR)
- Machine check error summary register (MCES)
On Integrity server systems, the register display is in the form of the contents of the exception frame generated by the bugcheck. See SHOW CRASH for more details.
The last part of the display includes the four stack pointers: the pointers of the kernel, executive, supervisor, and user stacks (KSP, ESP, SSP, and USP, respectively). In addition, on Integrity servers, the four register stack pointers are displayed: KBSP, EBSP, SBSP, UBSP.
The SHOW CPU command concludes with a listing of the spinlocks, if any, owned by the CPU at the time of the system failure, reproducing some of the information given by the SHOW SPINLOCKS command. The spinlock display includes the following information:
- Name of the spinlock.
- Address of the spinlock data structure (SPL).
- The owning CPU's CPU ID.
- IPL of the spinlock.
- Indication of the depth of this CPU's ownership of the spinlock. A number greater than 1 indicates that this CPU has nested acquisitions of the spinlock.
- Rank of the spinlock.
- Timeout interval for spinlock acquisition (in terms of 10 milliseconds).
- Shared array (shared spinlock context block pointers)
SDA> SHOW CPU 0 CPU 00 Processor crash information ---------------------------------- CPU 00 reason for Bugcheck: CPUEXIT, Shutdown requested by another CPU Process currently executing on this CPU: None Current IPL: 31 (decimal) CPU database address: 81414000 CPUs Capabilities: PRIMARY,QUORUM,RUN General registers: R0 = FFFFFFFF.81414000 R1 = FFFFFFFF.81414000 R2 = 00000000.00000000 R3 = FFFFFFFF.810AD960 R4 = 00000000.01668E90 R5 = 00000000.00000001 R6 = 66666666.66666666 R7 = 77777777.77777777 R8 = FFFFFFFF.814FB040 R9 = 99999999.99999999 R10 = FFFFFFFF.814FB0C0 R11 = BBBBBBBB.BBBBBBBB R12 = CCCCCCCC.CCCCCCCC R13 = FFFFFFFF.810AD960 R14 = FFFFFFFF.81414018 R15 = 00000000.00000004 R16 = 00000000.000006AC R17 = 00000000.00000047 R18 = 00000000.00000000 R19 = 00000000.00000000 R20 = FFFFFFFF.8051A494 R21 = 00000000.00000000 R22 = 00000000.00000001 R23 = 00000000.00000010 R24 = FFFFFFFF.81414000 AI = FFFFFFFF.81414000 RA = FFFFFFFF.81006000 PV = 00000001.FFFFFFFF R28 = 00000000.00000000 FP = FFFFFFFF.88ABDFD0 PC = FFFFFFFF.8009C95C PS = 18000000.00001F04 Processor Internal Registers: ASN = 00000000.00000000 ASTSR/ASTEN = 00000000 IPL = 0000001F PCBB = 00000000.01014080 PRBR = FFFFFFFF.81414000 PTBR = 00000000.0000FFBF SCBB = 00000000.000001E8 SISR = 00000000.00000100 VPTB = FFFFFEFC.00000000 FPCR = 00000000.00000000 MCES = 00000000.00000000 KSP = FFFFFFFF.88ABDCD8 ESP = FFFFFFFF.88ABF000 SSP = FFFFFFFF.88AB9000 USP = FFFFFFFF.88AB9000 Spinlocks currently owned by CPU 00 SCS Address 810AF300 Owner CPU ID 00000000 IPL 00000008 Ownership Depth 00000000 Rank 0000001A Timeout Interval 002DC6C0 Share Array 00000000 |
This example shows the default output of the SHOW CPU command on an Alpha system.
Provides system information identifying a running system, or displays information about the state of the system at the time of a system failure.
SHOW CRASH [/ALL | /CPU=n]
None.
/ALL
Displays exception data for all CPUs. By default, the registers (on Alpha) or exception frame contents (on Integrity servers) are omitted from the display for any CPUs with CPUEXIT or DBGCPUEXIT bugchecks./CPU=n
Allows exception data to be displayed from CPUs other than the one considered as the crash CPU when more than one CPU crashes simultaneously.
The SHOW CRASH command has two different functions, depending on whether you use it to analyze a running system or a system failure.When used during the analysis of a running system, the SHOW CRASH command produces a display that describes the system and the version of OpenVMS that it is running. The system crash information display contains the following information:
- Name and version number of the operating system
- Major and minor IDs of the operating system
- Identity of the OpenVMS system, including an indication of its cluster membership
- CPU ID of the primary CPU
- Address of all CPU databases
When used during the analysis of a system failure, the SHOW CRASH command produces several displays that identify the system and describe its state at the time of the failure.
If the current CPU context for SDA is not that of the processor that signaled the bugcheck, or the CPU specified with the /CPU=n qualifier, the SHOW CRASH command first performs an implicit SET CPU command to make that processor the current CPU for SDA. (See the description of the SET CPU command and Section 2.5 for a discussion of how this can affect the CPU context---and process context---in which SDA commands execute.)
The system crash information display in this context provides the following information:
- Date and time of the system failure.
- Name and version number of the operating system.
- Major and minor IDs of the operating system.
- Identity of the system.
- CPU IDs of both the primary CPU and the CPU that initiated the bugcheck. In a uniprocessor system, these IDs are identical.
- Bitmask of the active and available CPUs in the system.
- For each active processor in the system, the address of its CPU database and the name of the bugcheck that caused the system failure. Generally, there will be only one significant bugcheck in the system. All other processors typically display the following as their reason for taking a bugcheck:
CPUEXIT, Shutdown requested by another CPUSubsequent screens of the SHOW CRASH command display information about the state of each active processor on the system at the time of the system failure. The information in these screens is identical to that produced by the SHOW CPU command, including the registers (on Alpha), exception frame (on Integrity servers), stack pointers, and records of spinlock ownership. The first such screen presents information about the processor that caused the failure; others follow according to the numeric order of their CPU IDs. For the processor that caused the failure, if an exception bugcheck (INVEXCEPTN, SSRVEXCEPT, FATALEXCEPT, UNXSIGNAL) or, for Integrity servers only, also a KRNLSTAKNV or DEBUGCRASH bugcheck has occurred, SHOW CRASH first displays the exception frame from the original exception. If /ALL is not specified, the registers (on Alpha) or exception frame contents (on Integrity servers) are omitted from the display for any CPUs with CPUEXIT or DBGCPUEXIT bugchecks.
SHOW CRASH displays the original exception in process dumps.
#1 |
---|
SDA> SHOW CRASH Version of system: OpenVMS (TM) Alpha Operating System, Version X901-SSB System Version Major ID/Minor ID: 3/0 VMScluster node: VMSTS6, a Crash CPU ID/Primary CPU ID: 00/00 Bitmask of CPUs active/available: 00000001/00000001 CPU bugcheck codes: CPU 00 -- INVEXCEPTN, Exception while above ASTDEL System State at Time of Exception --------------------------------- Exception Frame: ---------------- R2 = FFFFFFFF.810416C0 SCS$GA_LOCALSB+005C0 R3 = FFFFFFFF.81007E60 EXE$GPL_HWRPB_L R4 = FFFFFFFF.850AEB80 R5 = FFFFFFFF.81041330 SCS$GA_LOCALSB+00230 R6 = FFFFFFFF.81038868 CON$INITLINE R7 = FFFFFFFF.81041330 SCS$GA_LOCALSB+00230 PC = FFFFFFFF.803EF81C SYS$TTDRIVER+0F81C PS = 30000000.00001F04 FFFFFFFF.803EF80C: STL R24,#X0060(R5) FFFFFFFF.803EF810: LDL R28,#X0138(R5) FFFFFFFF.803EF814: BIC R28,R27,R28 FFFFFFFF.803EF818: 00000138 PC => FFFFFFFF.803EF81C: HALT FFFFFFFF.803EF820: HALT FFFFFFFF.803EF824: BR R31,#XFF0000 FFFFFFFF.803EF828: LDL R24,#X0138(R5) FFFFFFFF.803EF82C: BIC R24,#X40,R24 PS => MBZ SPAL MBZ IPL VMM MBZ CURMOD INT PRVMOD de 0 30 00000000000 1F 0 0 KERN 1 KERN Signal Array ------------ Length = 00000003 Type = 0000043C Arg = FFFFFFFF.803EF81C SYS$TTDRIVER+0F81C Arg = 30000000.00001F04 %SYSTEM-F-OPCDEC, opcode reserved to Digital fault at PC=FFFFFFFF803EF81C, PS=00001F04 Saved Scratch Registers in Mechanism Array ------------------------------------------ R0 = 00000000.00000000 R1 = FFFFFFFF.811998B8 R16 = 00000000.00001000 R17 = FFFFFFFF.8119B1F0 R18 = 00000000.00000010 R19 = FFFFFFFF.810194F0 R20 = 00000000.00000000 R21 = 0000000F.00000000 R22 = 00000000.00000000 R23 = 00000000.00004000 R24 = 00000000.00001000 R25 = 00000000.00000000 R26 = FFFFFFFF.81041474 R27 = 00000000.00004000 R28 = 00000000.00001000 . . . (CPU-specific display omitted) . . . |
This long display reflects the output of the SHOW CRASH command within the analysis of a system failure on an OpenVMS Alpha system.
#2 |
---|
SDA> SHOW CRASH System crash information ------------------------ Time of system crash: 12-OCT-2000 11:27:58.02 Version of system: OpenVMS (TM) Alpha Operating System, Version X74B-FT2 System Version Major ID/Minor ID: 3/0 System type: DEC 3000 Model 400 Crash CPU ID/Primary CPU ID: 00/00 Bitmask of CPUs active/available: 00000001/00000001 CPU bugcheck codes: CPU 00 -- PGFIPLHI, Pagefault with IPL too high System State at Time of Page Fault: ----------------------------------- Page fault for address 00000000.00046000 occurred at IPL: 8 Memory management flags: 00000000.00000001 (instruction fetch) Exception Frame: ---------------- R2 = 00000000.00000003 R3 = FFFFFFFF.810B9280 EXCEPTION_MON+39C80 R4 = FFFFFFFF.81564540 PCB R5 = 00000000.00000088 R6 = 00000000.000458B0 R7 = 00000000.7FFA1FC0 PC = 00000000.00046000 PS = 20000000.00000803 00000000.00045FF0: LDQ R2,#X0050(FP) 00000000.00045FF4: LDQ R12,#X0058(FP) 00000000.00045FF8: LDQ R13,#X0060(FP) 00000000.00045FFC: LDQ R14,#X0068(FP) PC => 00000000.00046000: BIS R1,R17,R1 00000000.00046004: BIS R31,#X01,R25 00000000.00046008: STQ_U R1,#X0002(R10) 00000000.0004600C: BSR R26,#X00738C 00000000.00046010: LDQ_U R16,#X0002(R10) PS => MBZ SPAL MBZ IPL VMM MBZ CURMOD INT PRVMOD de 0 20 00000000000 08 0 0 KERN 0 USER . . . (CPU-specific display omitted) . . . |
This display reflects the output of a SHOW CRASH command within the analysis of a PGFIPLHI bugcheck on an OpenVMS Alpha system.
#3 |
---|
SDA> SHOW CRASH /ALL System crash information ------------------------ Time of system crash: 1-DEC-2003 13:31:10.50 Version of system: OpenVMS I64 Operating System, Version XA2T-J2S System Version Major ID/Minor ID: 3/0 System type: HP rx2600 (900MHz/1.5MB) Crash CPU ID/Primary CPU ID: 01/00 Bitmask of CPUs active/available: 00000003/00000003 CPU bugcheck codes: CPU 01 -- database address 8396DD80 -- SSRVEXCEPT, Unexpected system se 1 other -- CPUEXIT, Shutdown requested by another CPU CPU 00 -- database address 83864000 System State at Time of Original Exception ------------------------------------------ Exception Frame at 00000000.7FF43BD0 ------------------------------------ IPL = 00 TRAP_TYPE = 00000008 Access control violation fault IVT_OFFSET = 00000800 Data TLB Fault IIP = 00000000.00020120 SYS$K_VERSION_08+00100 IIPA = 00000000.00020110 SYS$K_VERSION_08+000F0 IFA = 00000000.00000000 IPSR = 00001010.0A0A6010 RT TB LP DB SI DI PP SP DFH DFL DT PK I IC MFH MFL AC BE UP 1 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 IA BN ED RI SS DD DA ID IT MC IS CPL 0 1 0 0 0 0 0 0 1 0 0 0 PREVSTACK = 00 BSP = 00000000.7FF12240 BSPSTORE = 00000000.7FF120C0 BSPBASE = 00000000.7FF120C0 RNAT = 00000000.00000000 RSC = 00000000.00000003 LOADRS BE PL MODE 0000 0 0 Eager PFS = 00000000.00000B9F PPL PEC RRB.PR RRB.FR RRB.GR SOR SOL SOF 0 0. 0. 0. 0. 0. 23. (32-54) 31. (32-62) FLAGS = 00 STKALIGN = 000002D0 PREDS = 00000000.FF562AA3 IHA = FFFFFFFF.7FF3E120 INTERRUPT_DEPTH = 00 ISR = 00000804.00000000 ED EI SO NI IR RS SP NA R W X CODE 1 0 0 0 0 0 0 0 1 0 0 0000 ITIR = 00000000.FFFF0934 KEY PS FFFF09 0D IFS = 80000000.00000593 Valid RRB.PR RRB.FR RRB.GR SOR SOL SOF 1 0. 0. 0. 0. 11. (32-42) 19. (32-50) B0 = FFFFFFFF.80241AE0 AMAC$EMUL_CALL_NATIVE_C+00340 B1 = 80000000.FFD643B0 B2 = 00000000.00000000 B3 = 00000000.00000000 B4 = 00000000.00000000 B5 = 00000000.7FF43E38 B6 = 00000000.00020110 SYS$K_VERSION_08+000F0 B7 = FFFFFFFF.80A28170 NSA$CHECK_PRIVILEGE_C GP = 00000000.00240000 R2 = FFFFFFFF.839B8098 PSB+00058 R3 = E0000000.00000068 R4 = FFFFFFFF.839731C0 PCB R5 = 00000000.00000008 R6 = 00000000.7FF43F40 R7 = 00000000.00000002 R8 = 00000000.00010000 SYS$K_VERSION_07 R9 = 00000000.00000020 R10 = 00000000.0000003E R11 = 00000000.00000001 KSP = 00000000.7FF43EA0 R13 = 00000000.00000000 R14 = 00000000.00040008 UCB$M_SUPMVMSG+00008 R15 = 00000000.00020110 SYS$K_VERSION_08+000F0 R16 = FFFFFFFF.802417A0 AMAC$EMUL_CALL_NATIVE_C R17 = 00000000.00010004 UCB$M_DELETEUCB+00004 R18 = 00000000.00040000 UCB$M_CHAN_TEAR_DOWN R19 = 00000000.00040000 UCB$M_CHAN_TEAR_DOWN R20 = 00000000.7FF43F38 R21 = 00000000.7FF43F80 R22 = 00000000.00040000 UCB$M_CHAN_TEAR_DOWN R23 = 00000000.00000000 R24 = 00000000.00000000 R25 = 00000000.00000000 R26 = 00000000.00000000 R27 = 00000000.FF565663 R28 = 00000000.00000003 R29 = 00000000.7FF43EA0 R30 = 000007FD.C0000300 R31 = FFFFFFFF.806549D0 PROCESS_MANAGEMENT_MON+677D0 R32 = 00000000.7AC9DBC0 R33 = 00000000.00000001 R34 = 00000000.7FFCF88C MMG$IMGHDRBUF+0008C R35 = FFFFFFFF.83973528 ARB+00230 R36 = 00000000.00000000 R37 = 00000000.00000000 R38 = FFFFFFFF.80A28410 NSA$CHECK_PRIVILEGE_C+002A0 R39 = 00000000.00000915 R40 = FFFFFFFF.82D01640 SYSTEM_PRIMITIVES+00221440 R41 = 00000000.00000B9F R42 = 00000000.7FF43EA0 R43/OUT0 = 00000000.7FFCF87C MMG$IMGHDRBUF+0007C R44/OUT1 = E0000000.00000068 R45/OUT2 = 00000000.00000000 R46/OUT3 = 00000000.FF561663 R47/OUT4 = 00000000.7FFCDA68 CTL$AG_CLIDATA R48/OUT5 = 00000000.7FFCDBE8 CTL$AG_CLIDATA+00180 R49/OUT6 = 00000000.00000003 R50/OUT7 = FFFFFFFF.839731C0 PCB NATMASK = 003A NATS = 00000000.00000000 CSD = CFFFFFFF.00000000 SSD = CCCC0BAD.BAD0CCCC LC = 00000000.00000000 EC = 00000000.00000000 FPSR = 0009804C.0270033F SF3 SF2 SF1 SF0 TRAPS 004C 004C 004E 000C 3F F6 = 0FFC9.C0000000.00000000 F7 = 1003E.00000000.00000018 F8 = 1000B.FF000000.00000000 F9 = 10007.A8000000.00000000 F10 = 10003.C2492492.49249249 F11 = 0FFF6.C30C30C3.0C30C30C PPREVMODE = 03 Instruction Stream: ------------------- { .mfb SYS$K_VERSION_08+000E0: nop.m 000000 nop.f 000000 br.ret.sptk.many b0 ;; } { .mii SYS$K_VERSION_08+000F0: alloc r41 = ar.pfs, 0B, 08, 00 mov r29 = r12 mov r42 = r12 } { .mmi PC => SYS$K_VERSION_08+00100: ld4 r24 = [r0] ;; nop.m 000000 sxt4 r24 = r24 ;; } { .mii SYS$K_VERSION_08+00110: nop.m 000000 sxt4 r14 = r24 ;; cmp.eq p6, p7 = r14, r0 } { .mfb SYS$K_VERSION_08+00120: nop.m 000000 nop.f 000000 (p6) br.cond.dpnt.few 0000060 } Signal Array ------------ Length = 00000005 Type = 0000000C Arg = 00000000.00000000 Arg = 00000000.00000000 Arg = 00000000.00020120 Arg = 00000000.00000003 %SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=0000000000000000, PC=0000000000020120, PS=00000003 CPU 01 Processor state at time of SSRVEXCEPT bugcheck ----------------------------------------------------- CPU 01 reason for Bugcheck: SSRVEXCEPT, Unexpected system service exception Process currently executing on this CPU: SYSTEM Current image file: IPFEX3$DKB200:[SYS0.][SYSMGR]X.EXE;2 Current IPL: 0 (decimal) CPU database address: 8396DD80 CPUs Capabilities: QUORUM,RUN Exception Frame at 00000000.7FF435B0 ------------------------------------ IPL = 00 TRAP_TYPE = 00000041 Bugcheck Breakpoint Trap IVT_OFFSET = 00002C00 Break Instruction IIP = FFFFFFFF.80491E90 EXCEPTION_MON+5E690 IIPA = FFFFFFFF.80491E80 EXCEPTION_MON+5E680 IFA = 00000000.00030000 SYS$K_VERSION_01 . . . IIM = 00000000.00100002 BREAK$C_SYS_BUGCHECK PPREVMODE = 00 KR0 = 00000000.00000000 KR1 = 00000000.00000000 KR2 = 00000000.00000000 KR3 = 00000000.00000003 KR4 = 00000000.00000000 KR5 (Next Timer) = 000000BC.DEA95C24 KR6 (CPUdb VA) = FFFFFFFF.8396DD80 KR7 (Slot VA) = FFFFFFFF.86910000 KSP = 00000000.7FF43880 ESP = 00000000.7FF68000 SSP = 00000000.7FFAC000 USP = 00000000.7AC9DB60 No spinlocks currently owned by CPU 01 CPU 00 Processor state at time of CPUEXIT bugcheck -------------------------------------------------- CPU 00 reason for Bugcheck: CPUEXIT, Shutdown requested by another CPU Process currently executing on this CPU: None Current IPL: 31 (decimal) CPU database address: 83864000 CPUs Capabilities: PRIMARY,QUORUM,RUN Exception Frame at FFFFFFFF.8696F9F0 ------------------------------------ IPL = 1F TRAP_TYPE = 00000041 Bugcheck Breakpoint Trap IVT_OFFSET = 00002C00 Break Instruction IIP = FFFFFFFF.802F62F0 SYSTEM_SYNCHRONIZATION+43BF0 IIPA = FFFFFFFF.802F62F0 SYSTEM_SYNCHRONIZATION+43BF0 IFA = FFFFFFFF.86A280C0 . . . IIM = 00000000.00100002 BREAK$C_SYS_BUGCHECK PPREVMODE = 00 KR0 = 00000000.203D0000 KR1 = 00000000.60000000 KR2 = 00000000.00000000 KR3 = 00000000.0001001F KR4 = 00000000.00000000 KR5 (Next Timer) = 000000C4.FDFE03C8 KR6 (CPUdb VA) = FFFFFFFF.83864000 KR7 (Slot VA) = FFFFFFFF.8690F000 KSP = FFFFFFFF.8696FCC0 ESP = FFFFFFFF.86971000 SSP = FFFFFFFF.86957000 USP = FFFFFFFF.86957000 No spinlocks currently owned by CPU 00 |
This example from an OpenVMS Integrity server system shows summary information on the crash: the time it occurred, its OpenVMS version, hardware type, and bugcheck codes. This is followed by the exception frame from the exception that triggered the crash, the instruction stream active at the time of the exception, and the signal array that describes the exception. The exception frame from the bugcheck triggered by the original exception is then displayed (that is, the bugcheck on the crash CPU) followed by the bugcheck exception frame for the other CPU in the system.
Displays a list of all devices in the system and their associated data structures, or displays the data structures associated with a given device or devices.
SHOW DEVICE [ device-name[:] | /ADDRESS=ucb-address | /BITMAP | /CDT=cdt_address | /CHANNELS | /HOMEPAGE | /PDT | /UCB=ucb-address]
device-name
Device or devices for which data structures are to be displayed. The following table lists several uses of the device-name parameter:
To display the structures for: Take the following action: All devices in the system Do not specify a device-name (for example, SHOW DEVICE). A single device Specify an entire device-name (for example, SHOW DEVICE VTA20). All devices of a certain type on a single controller Specify only the device type and controller designation (for example, SHOW DEVICE RTA or SHOW DEVICE RTB). All devices of a certain type on any controller Specify only the devicetype (for example, SHOW DEVICE RT). All devices whose names begin with a certain character or character string Specify the character or character string (for example, SHOW DEVICE D). All devices on a single node or HSC Specify only the node name or HSC name (for example, SHOW DEVICE GREEN$). All devices with a certain allocation class Specify the allocation class including leading and trailing $, for example, SHOW DEVICE $63$. A colon (:) at the end of a device name is optional.
Note
All qualifiers specific to Memory Channel (CHANNELS, HOMEPAGE, and PDT) are disabled for OpenVMS Integrity server systems.
/ADDRESS=ucb-address
Indicates the device for which data structure information is to be displayed by the address of its unit control block (UCB). The /ADDRESS qualifier is an alternate method of supplying a device name to the SHOW DEVICE command. If both the device-name parameter and the /ADDRESS qualifier appear in a single SHOW DEVICE command, SDA responds only to the parameter or qualifier that appears first. /ADDRESS is functionally equivalent to /UCB./BITMAP
Displays information about data structures related to Write Bitmap (WBM). Bitmaps are used by Host-Base Volume Shadowing (HBVS) for the implementation of Mini Copy and Host-Based Minimerge (HBMM). If the /BITMAP qualifier is specified with a device that is not an HBVS virtual unit, the error NOSUCHDEV is returned.A device name must be specified. If SHOW DEVICE/BITMAP DS is entered, bitmaps for all HBVS virtual units are displayed.
/CDT=cdt_address
Identifies the device by the address of its Connector Descriptor Table (CDT). This applies to cluster port devices only./CHANNELS
Displays information on active Memory Channel channel blocks. This qualifier is ignored for devices other than Memory Channel./HOMEPAGE
Displays fields from the Memory Channel Home Page. This qualifier is ignored for devices other than Memory Channel./PDT
Displays the Memory Channel Port Descriptor Table. This qualifier is ignored for devices other than Memory Channel./UCB=ucb-address
See the description of /ADDRESS, which is functionally equivalent to /UCB.
The SHOW DEVICE command produces several displays taken from system data structures that describe the devices in the system configuration.If you use the SHOW DEVICE command to display information for more than one device or one or more controllers, it initially produces the device data block (DDB) list to provide a brief summary of the devices for which it renders information in subsequent screens.
Information in the DDB list appears in five columns, the contents of which are as follows:
- Address of the device data block (DDB)
- Controller name
- Name of the ancillary control process (ACP) associated with the device
- Name of the device driver
- Address of the driver prologue table (DPT)
The SHOW DEVICE command then produces a display of information pertinent to the device controller. This display includes information gathered from the following structures:
- Device data block (DDB)
- Primary channel request block (CRB)
- Interrupt dispatch block (IDB)
- Driver dispatch table (DDT)
If the controller is an HSC controller, SHOW DEVICE also displays information from its system block (SB) and each path block (PB).
Many of these structures contain pointers to other structures and driver routines. Most notably, the DDT display points to various routines located within driver code, such as the start I/O routine, unit initialization routine, and cancel I/O routine.
For each device unit subject to the SHOW DEVICE command, SDA displays information taken from its unit control block, including a list of all I/O request packets (IRPs) in its I/O request queue. For certain mass storage devices, SHOW DEVICE also displays information from the primary class driver data block (CDDB), the volume control block (VCB), and the ACP queue block (AQB). For units that are part of a shadow set, SDA displays a summary of shadow set membership.
As it displays information for a given device unit, SHOW DEVICE defines the symbols of Table 4-4 as appropriate:
Table 4-4 SHOW DEVICE Symbols Symbol Meaning UCB Address of unit control block SB Address of system block ORB Address of object rights block DDB Address of device data block DDT Address of driver dispatch table CRB Address of channel request block SUD Address of supplementary VCB data SHAD Address of host-based shadowing data structure AMB Associated mailbox UCB pointer IRP Address of I/O request packet 2P_UCB Address of alternate UCB for dual-pathed device LNM Address of logical name block for mailbox PDT Address of port descriptor table CDDB Address of class driver descriptor block for MSCP served device 2P_CDDB Address of alternate CDDB for MSCP served device RWAITCNT Resource wait count for MSCP served device VCB Address of volume control block for mounted device 2P_DDB Address of secondary DDB VP_IRP Address of volume processing IRP MMB Address of merge management block CPYLOCK ID of copier lock VU_TO Virtual Unit Timeout (seconds) VU_UCB UCB address of Virtual Unit MPDEV Address of multipath data structure PRIMARY_UCB UCB address for primary path CURRENT_UCB UCB address for current path If you are examining a driver-related system failure, you may find it helpful to issue a SHOW STACK command after the appropriate SHOW DEVICE command, to examine the stack for any of these symbols. Note, however, that although the SHOW DEVICE command defines those symbols relevant to the last device unit it has displayed, and redefines symbols relevant to any subsequently displayed device unit, it does not undefine symbols. (For instance, SHOW DEVICE DUA0 defines the symbol PDT, but SHOW DEVICE MBA0 does not undefine it, even though the PDT structure is not associated with a mailbox device.) To maintain the accuracy of such symbols that appear in the stack listing, use the DEFINE command to modify the symbol name. For example:
SDA> DEFINE DUA0_PDT PDT SDA> DEFINE MBA0_UCB UCBSee the descriptions of the READ and FORMAT commands for additional information on defining and examining the contents of device data structures.
#1 |
---|
SDA> SHOW DEVICE/ADDRESS=8041E540 OPA0 VT300_Series UCB address 8041E540 Device status: 00000010 online Characteristics: 0C040007 rec,ccl,trm,avl,idv,odv 00000200 nnm Owner UIC [000001 ,000004] Operation count 160 ORB address 8041E4E8 PID 00010008 Error count 0 DDB address 8041E3F8 Class/Type 42/70 Reference count 2 DDT address 8041E438 Def. buf. size 80 BOFF 00000001 CRB address 8041E740 DEVDEPEND 180093A0 Byte count 0000012C I/O wait queue 8041E5AC DEVDEPND2 FB101000 SVAPTE 80537B80 DEVDEPND3 00000000 DEVSTS 00000001 FLCK index 3A DLCK address 8041E880 *** I/O request queue is empty *** |
This example reproduces the SHOW DEVICE display for a single device unit, OPA0. Whereas this display lists information from the UCB for OPA0, including some addresses of key data structures and a list of pending I/O requests for the unit, it does not display information about the controller or its device driver. To display the latter information, specify the device-name as OPA (for example, SHOW DEVICE OPA).
#2 |
---|
SDA> SHOW DEVICE DU I/O data structures ------------------- DDB list -------- Address Controller ACP Driver DPT ------- ---------- -------- ------------ --- 80D0B3C0 BLUES$DUA F11XQP SYS$DKDRIVER 807735B0 8000B2B8 RED$DUA F11XQP SYS$DKDRIVER 807735B0 80D08BA0 BIGTOP$DUA F11XQP SYS$DKDRIVER 807735B0 80D08AE0 TIMEIN$DUA F11XQP SYS$DKDRIVER 807735B0 . . . Press RETURN for more. . . . |
This excerpt from the output of the SHOW DEVICE DU command illustrates the format of the DDB list. In this case, the DDB list concerns itself with those devices whose device type begins with DU. It displays devices of these types attached to various HSCs (RED$ and BLUES$) and systems in a cluster (BIGTOP$ and TIMEIN$).
Previous | Next | Contents | Index |