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