The var subcommand prints the var structure and the system configuration of the machine.
KDB(7)> var print var information var_hdr.var_vers..... 00000000 var_hdr.var_gen...... 00000045 var_hdr.var_size..... 00000030 v_iostrun............ 00000001 v_leastpriv.......... 00000000 v_autost............. 00000001 v_memscrub........... 00000000 v_maxup.............. 200 v_bufhw.............. 20 v_mbufhw............. 32768 v_maxpout............ 0 v_minpout............ 0 v_clist.............. 16384 v_fullcore........... 00000000 v_ncpus.............. 8 v_ncpus_cfg.......... 8 v_initlvl............ 0 0 0 0 v_lock............... 200 ve_lock.............. 00D3FA18 flox+003200 v_file............... 2303 ve_file.............. 0042EFE8 file+01AFD0 v_proc............... 131072 ve_proc.............. E305D000 proc+05D000 vb_proc.............. E3000000 proc+000000 v_thread............. 262144 ve_thread............ E6046F80 thread+046F80 vb_thread............ E6000000 thread+000000 VMM Tunable Variables: minfree.............. 120 maxfree.............. 128 minperm.............. 12872 maxperm.............. 51488 pfrsvdblks........... 13076 (7)> more (^C to quit) ? continue npswarn.............. 512 npskill.............. 128 minpgahead........... 2 maxpgahead........... 8 maxpdtblks........... 4 numsched............. 4 htabscale............ FFFFFFFF aptscale............. 00000000 pd_npages............ 00080000 _SYSTEM_CONFIGURATION: architecture..... 00000002 POWER_PC implementation... 00000010 POWER_604 version.......... 00040004 width............ 00000020 ncpus............ 00000008 cache_attrib..... 00000001 CACHE separate I and D icache_size...... 00004000 dcache_size...... 00004000 icache_asc....... 00000004 dcache_asc....... 00000004 icache_block..... 00000020 dcache_block..... 00000020 icache_line...... 00000040 dcache_line...... 00000040 L2_cache_size.... 00100000 L2_cache_asc..... 00000001 tlb_attrib....... 00000001 TLB separate I and D itlb_size........ 00000040 dtlb_size........ 00000040 itlb_asc......... 00000002 dtlb_asc......... 00000002 priv_lck_cnt..... 00000000 prob_lck_cnt..... 00000000 resv_size........ 00000020 rtc_type......... 00000002 virt_alias....... 00000000 cach_cong........ 00000000 model_arch....... 00000001 model_impl....... 00000002 Xint............. 000000A0 Xfrac............ 00000003
The dev subcommand shows the device switch table ala lldb.
KDB(0)> dev
Slot address 054F5040
MAJ#001 OPEN CLOSE READ WRITE
.syopen .nulldev .syread .sywrite
IOCTL STRATEGY TTY SELECT
.syioctl .nodev 00000000 .syselect
CONFIG PRINT DUMP MPX
.nodev .nodev .nodev .nodev
REVOKE DSDPTR SELPTR OPTS
.nodev 00000000 00000000 00000002
Slot address 054F5080
MAJ#002 OPEN CLOSE READ WRITE
.nulldev .nulldev .mmread .mmwrite
IOCTL STRATEGY TTY SELECT
.nodev .nodev 00000000 .nodev
CONFIG PRINT DUMP MPX
.nodev .nodev .nodev .nodev
REVOKE DSDPTR SELPTR OPTS
.nodev 00000000 00000000 00000002
(0)> more (^C to quit) ? ^C quit
KDB(0)> devsw 4 device switch of major 0x4
Slot address 05640100
MAJ#004 OPEN CLOSE READ WRITE
.conopen .conclose .conread .conwrite
IOCTL STRATEGY TTY SELECT
.conioctl .nodev 00000000 .conselect
CONFIG PRINT DUMP MPX
.conconfig .nodev .nodev .conmpx
REVOKE DSDPTR SELPTR OPTS
.conrevoke 00000000 00000000 00000006
The trb subcommand displays timer request block ala lldb. Subcommand option are selected thru the menu, or directly entered.
KDB(4)> trb timer request block subcommand usage
Usage: trb [CPU selector] [1-9]
CPU selector is '*' for all CPUs, 'cpu n' for CPU n, default is current CPU
Timer Request Block Information Menu
1. TRB Maintenance Structure - Routine Addresses
2. System TRB
3. Thread Specified TRB
4. Current Thread TRB's
5. Address Specified TRB
6. Active TRB Chain
7. Free TRB Chain
8. Clock Interrupt Handler Information
9. Current System Time - System Timer Constants
Please enter an option number: <CR/LF>
KDB(4)> trb * 6 print all active timer request blocks
CPU #0 Active List
CPU PRI ID SECS NSECS DATA FUNC
05689080 0000 0005 FFFFFFFE 00003BBA 23C3B080 05689080 sys_timer+000000
05689600 0000 0003 FFFFFFFE 00003BBA 27DAC680 00000000 pffastsched+000000
05689580 0000 0003 FFFFFFFE 00003BBA 2911BD80 00000000 pfslowsched+000000
0B05A600 0000 0005 00001751 00003BBA 2ADBC480 0B05A618 rtsleep_end+000000
05689500 0000 0003 FFFFFFFE 00003BBB 23186B00 00000000 if_slowsched+000000
0B05A480 0000 0003 FFFFFFFE 00003BBF 2D5B4980 00000000 01B633F0
CPU #1 Active List
CPU PRI ID SECS NSECS DATA FUNC
05689100 0001 0005 FFFFFFFE 00003BBA 23C38E80 05689100 sys_timer+000000
CPU #2 Active List
CPU PRI ID SECS NSECS DATA FUNC
05689180 0002 0005 FFFFFFFE 00003BBA 23C37380 05689180 sys_timer+000000
0B05A500 0002 0005 00001525 00003BE6 0CFF9500 0B05A518 rtsleep_end+000000
CPU #3 Active List
CPU PRI ID SECS NSECS DATA FUNC
05689200 0003 0005 FFFFFFFE 00003BBA 23C39F80 05689200 sys_timer+000000
(4)> more (^C to quit) ? continue
05689880 0003 0005 00000003 00003BBB 01B73180 00000000 sched_timer_post+000000
0B05A580 0003 0005 00000001 00003BBB 0BCA7300 0000000E interval_end+000000
CPU #4 Active List
CPU PRI ID SECS NSECS DATA FUNC
05689280 0004 0005 FFFFFFFE 00003BBA 23C3A980 05689280 sys_timer+000000
CPU #5 Active List
CPU PRI ID SECS NSECS DATA FUNC
05689300 0005 0005 FFFFFFFE 00003BBA 23C39800 05689300 sys_timer+000000
05689780 0005 0005 FFFFFFFF 00003BBF 1B052C00 05C62C40 01ADD6FC
CPU #6 Active List
CPU PRI ID SECS NSECS DATA FUNC
05689380 0006 0005 FFFFFFFE 00003BBA 23C3C200 05689380 sys_timer+000000
CPU #7 Active List
CPU PRI ID SECS NSECS DATA FUNC
05689400 0007 0005 FFFFFFFE 00003BBA 23C38180 05689400 sys_timer+000000
05689680 0007 0003 FFFFFFFE 00003BBA 2DDD3480 00000000 threadtimer+000000
KDB(4)> trb cpu 1 6 print active list of processor 1
CPU #1 TRB #1 on Active List
Timer address......................05689100
trb->to_next.......................00000000
trb->knext.........................00000000
trb->kprev.........................00000000
Owner id (-1 for dev drv)..........FFFFFFFE
Owning processor...................00000001
Timer flags........................00000013 PENDING ACTIVE INCINTERVAL
trb->timerid.......................00000000
trb->eventlist.....................FFFFFFFF
trb->timeout.it_interval.tv_sec....00000000
trb->timeout.it_interval.tv_nsec...00000000
Next scheduled timeout (secs)......00003BBA
Next scheduled timeout (nanosecs)..23C38E80
Completion handler.................000B3BA4 sys_timer+000000
Completion handler data............05689100
Int. priority .....................00000005
Timeout function...................00000000 00000000
KDB(4)>
The slk and clk subcommands print the specified simple or complex lock. If instrumentation is set at boot time, intrumentation information are displayed.
KDB(1)> slk B69F2DF0 print simple lock
Simple Lock Instrumented: vmmdseg+69F2DF0
_slock: 00011C99 thread_owner: 0011C99
.....acquisitions number: 16
...........misses number: 0
..sleeping misses number: 0
................lockname: 00FA097D flox+206165
...link register of lock: 0007CFCC .pfget+00023C
..........caller of lock: 00011C99
..........cpu id of lock: 00000002
.link register of unlock: 0007D8EC .pfget+000B5C
........caller of unlock: 00011C99
........cpu id of unlock: 00000002
KDB(0)> clk ndd_lock print complex lock
Complex Lock Instrumented: ndd_lock
...._clock.status: 20001553 _clock.flags 0000 _clock.rdepth 0000
...........status: WANT_WRITE
.....thread_owner: 0001553
.....acquisitions number: 2
...........misses number: 0
..sleeping misses number: 0
................lockname: 00D2FFFF file+8BDFE7
...link register of lock: 00047874 .ns_init+00002C
..........caller of lock: 00000003
..........cpu id of lock: 00000000
.link register of unlock: 00000000 00000000
........caller of unlock: 00000000
........cpu id of unlock: 00000000
KDB(1)>
The ipl subcommand prints processor info tables, or the specified one.
KDB(4)> ipl * print ipl control blocks
INDEX PHYS_ID INT_AREA ARCHITEC IMPLEMEN VERSION
0038ECD0 0 00000000 FF100000 00000002 00000008 00010005
0038ED98 1 00000001 FF100080 00000002 00000008 00010005
0038EE60 2 00000002 FF100100 00000002 00000008 00010005
0038EF28 3 00000003 FF100180 00000002 00000008 00010005
0038EFF0 4 00000004 FF100200 00000002 00000008 00010005
0038F0B8 5 00000005 FF100280 00000002 00000008 00010005
0038F180 6 00000006 FF100300 00000002 00000008 00010005
0038F248 7 00000007 FF100380 00000002 00000008 00010005
KDB(4)> ipl print current processor information
Processor Info 4 [0038EFF0]
num_of_structs.........00000008 index..................00000004
struct_size............000000C8 per_buc_info_offset....0001D5D0
proc_int_area..........FF100200 proc_int_area_size.....00000010
processor_present......00000001 test_run...............0000006A
test_stat..............00000000 link...................00000000
link_address...........00000000 phys_id................00000004
architecture...........00000002 implementation.........00000008
version................00010005 width..................00000020
cache_attrib...........00000003 coherency_size.........00000020
resv_size..............00000020 icache_block...........00000020
dcache_block...........00000020 icache_size............00008000
dcache_size............00008000 icache_line............00000040
dcache_line............00000040 icache_asc.............00000008
dcache_asc.............00000008 L2_cache_size..........00100000
L2_cache_asc...........00000001 tlb_attrib.............00000003
itlb_size..............00000100 dtlb_size..............00000100
itlb_asc...............00000002 dtlb_asc...............00000002
slb_attrib.............00000000 islb_size..............00000000
dslb_size..............00000000 islb_asc...............00000000
(4)> more (^C to quit) ? continue
dslb_asc...............00000000 priv_lck_cnt...........00000000
prob_lck_cnt...........00000000 rtc_type...............00000001
rtcXint................00000000 rtcXfrac...............00000000
busCfreq_HZ............00000000 tbCfreq_HZ.............00000000
System info [0038E534]
num_of_procs...........00000008 coherency_size.........00000020
resv_size..............00000020 arb_cr_addr............00000000
phys_id_reg_addr.......00000000 num_of_bsrr............00000000
bsrr_addr..............00000000 tod_type...............00000000
todr_addr..............FF0000C0 rsr_addr...............FF62006C
pksr_addr..............FF620064 prcr_addr..............FF620060
sssr_addr..............FF001000 sir_addr...............FF100000
scr_addr...............00000000 dscr_addr..............00000000
nvram_size.............00022000 nvram_addr.............FF600000
vpd_rom_addr...........00000000 ipl_rom_size...........00100000
ipl_rom_addr...........07F00000 g_mfrr_addr............FF107F80
g_tb_addr..............00000000 g_tb_type..............00000000
g_tb_mult..............00000000 SP_Error_Log_Table.....0001C000
pcccr_addr.............00000000 spocr_addr.............FF620068
pfeivr_addr............FF00100C access_id_waddr........00000000
loc_waddr..............00000000 access_id_raddr........00000000
(4)> more (^C to quit) ? continue
loc_raddr..............00000000 architecture...........00000001
implementation.........00000002 pkg_descriptor.........rs6ksmp
KDB(4)>
This displays data in the kernel trace buffers. Data is entered into these buffers via the shell subcommand "trace", if the shell subcommand has not been invoked prior to using the debugger subcommand then the trace buffers will be empty.
A search facility has been added to trace which allows specification of certain search criteria which will be used to restrict the set of displayed trace entries. The subcommand line to trace now has the form:
trace [-h] [hook[:subhook]]... [#data]... [-c channel]
Where:
The trace subcommand displays the contents of the specified channel, based on any search criteria which was entered on the subcommand line.
KDB(0)> trace -c 0 1b0 1b1 1b2 1b3 1b4 1b5 1b6 1b7 1b8 1b9
trace VMM hooks only
Trace Channel 0 (253 entries)
Current queue starts at 0x0A919000 and ends at 0x0A939000
Current entry is #128 of 128 at 0x0A92CDB4
Hook ID: VMM_DELETE (0x000001B1) Hook Type: HKTY_GT (0x0000000E)
ThreadIdent: 0x0000ECE5
Subhook ID/HookData: 0x0000
D0: 0x0000DD1B
D1: 0xA0801020
D2: 0x000000D3
D3: 0x00019AC0
D4: 0x00000000
Current queue starts at 0x0A919000 and ends at 0x0A939000
Current entry is #127 of 128 at 0x0A92CD84
Hook ID: VMM_DELETE (0x000001B1) Hook Type: HKTY_GT (0x0000000E)
ThreadIdent: 0x0000ECE5
Subhook ID/HookData: 0x0000
D0: 0x0000DD1B
D1: 0xA0801020
D2: 0x000000D6
D3: 0x0001BF3A
(0)> more (^C to quit) ? continue
D4: 0x00000000
Current queue starts at 0x0A919000 and ends at 0x0A939000
Current entry is #126 of 128 at 0x0A92CD04
Hook ID: VMM_DELETE (0x000001B1) Hook Type: HKTY_GT (0x0000000E)
ThreadIdent: 0x0000ECE5
Subhook ID/HookData: 0x0000
D0: 0x0000DD1B
D1: 0xA0801020
D2: 0x000000D8
D3: 0x00019AA2
D4: 0x00000000
Current queue starts at 0x0A919000 and ends at 0x0A939000
Current entry is #125 of 128 at 0x0A92CC74
Hook ID: VMM_DELETE (0x000001B1) Hook Type: HKTY_GT (0x0000000E)
ThreadIdent: 0x0000ECE5
Subhook ID/HookData: 0x0000
D0: 0x0000DD1B
D1: 0xA0801020
D2: 0x000000D7
D3: 0x0001A643
(0)> more (^C to quit) ? continue
D4: 0x00000000
Current queue starts at 0x0A919000 and ends at 0x0A939000
Current entry is #124 of 128 at 0x0A92CBF4
Hook ID: VMM_DELETE (0x000001B1) Hook Type: HKTY_GT (0x0000000E)
ThreadIdent: 0x0000ECE5
Subhook ID/HookData: 0x0000
D0: 0x0000DD1B
D1: 0xA0801020
D2: 0x000000BA
D3: 0x0001A947
D4: 0x00000000
Current queue starts at 0x0A919000 and ends at 0x0A939000
Current entry is #123 of 128 at 0x0A92CBD4
Hook ID: VMM_GETPARENT (0x000001B6) Hook Type: HKTY_GT (0x0000000E)
ThreadIdent: 0x0000CE27
Subhook ID/HookData: 0x0000
D0: 0x000023A4
D1: 0xA0801020
D2: 0x000000E0
D3: 0x0001D42E
(0)> more (^C to quit) ? continue
D4: 0x00000000
Current queue starts at 0x0A919000 and ends at 0x0A939000
Current entry is #122 of 128 at 0x0A92CBB4
Hook ID: VMM (0x000001B0) Hook Type: HKTY_GT (0x0000000E)
ThreadIdent: 0x0000CE27
Subhook ID/HookData: 0x0000
D0: 0x000023A4
D1: 0xA0801020
D2: 0x000000E0
D3: 0x0001D42E
D4: 0x00000000
Current queue starts at 0x0A919000 and ends at 0x0A939000
Current entry is #121 of 128 at 0x0A92CB94
Hook ID: VMM_DELETE (0x000001B1) Hook Type: HKTY_GT (0x0000000E)
ThreadIdent: 0x0000ECE5
Subhook ID/HookData: 0x0000
D0: 0x0000DD1B
D1: 0xA0801020
D2: 0x000000B9
D3: 0x000181B4
...
Hook ID: VMM_PGEXCT (0x000001B2) Hook Type: HKTY_GT (0x0000000E)
ThreadIdent: 0x000114ED
Subhook ID/HookData: 0x0000
D0: 0x00009D93
D1: 0xA1801000
D2: 0x0000FF99
D3: 0x00000000
(0)> more (^C to quit) ? continue
D4: 0x00000000
End of Trace