[ Bottom of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]

Kernel Extensions and Device Support Programming Concepts

SCSI Subcommands

asc Subcommand

The asc subcommand prints adapter information.

Syntax

 

asc [slot | symbol | Address]

If no argument is specified the asc subcommand loads the slot numbers with addresses from the adp_ctrl structure. If the symbol adp_ctrl cannot be located to load these values, the user is prompted for the address of the structure. This address may be obtained by locating the data address for the ascsiddpin kernel extension and adding the offset to the adp_ctrl structure (obtained from a map) to that value.

A specific adapter_info structure may be displayed by specifying either a slot number or the effective address of the entry. To use a slot number, the slots must have previously been loaded by executing the asc subcommand with no arguments.

Aliases: ascsi

Example

   KDB(4)> lke 88 print kernel extension information
        ADDRESS     FILE FILESIZE    FLAGS MODULE NAME
   
    88 05630600 01A2A640 00008680 00000262  /etc/drivers/ascsiddpin
   le_flags........ TEXT DATAINTEXT DATA DATAEXISTS 
   le_fp........... 00000000
   le_loadcount.... 00000000
   le_usecount..... 00000001
   le_data/le_tid.. 01A32760 <--- this address and the offset to
   le_datasize..... 00000560         the adp_ctrl structure (from a map)
   le_exports...... 0BC6B800         are used to initialize the slots for
   le_lex.......... 00000000         the asc subcommand.
   le_defered...... 00000000
   le_filename..... 05630644
   le_ndepend...... 00000001
   le_maxdepend.... 00000001
   le_de........... 00000000
   KDB(4)> d 01A32760 80 print data
   01A32760: 01A3 175C  01A3 1758  01A3 1754  01A3 1750   ...\...X...T...P
   01A32770: 01A3 174C  01A3 1748  01A3 1744  01A3 1740   ...L...H...D...@
   01A32780: 01A3 17A0  01A3 17E0  01A3 1820  01A3 1860   ........... ...`
   01A32790: 01A3 18A0  01A3 18E0  01A3 1920  01A3 1960   ........... ...`
   01A327A0: 01A3 19A0  01A3 19E0  01A3 1A20  01A3 1A60   ........... ...`
   01A327B0: 01A3 1AA0  01A3 1AE0  01A3 1B20  01A3 1B60   ........... ...`
   01A327C0: 0000 0000  0000 0002  0000 0002  0564 6000   .............d`.
   01A327D0: 0564 7000  0000 0000  0000 0000  0000 0000   .dp.............
   KDB(4)> asc print adapter scsi table
   Unable to find <adp_ctrl>
   Enter the adp_ctrl address (in hex): 01A327C0
   Adapter control [01A327C0]
   semaphore............00000000
   num_of_opens.........00000002
   num_of_cfgs..........00000002
   ap_ptr[ 0]...........05646000
   ap_ptr[ 1]...........05647000
   ap_ptr[ 2]...........00000000
   ap_ptr[ 3]...........00000000
   ap_ptr[ 4]...........00000000
   ap_ptr[ 5]...........00000000
   ap_ptr[ 6]...........00000000
   ap_ptr[ 7]...........00000000
   ap_ptr[ 8]...........00000000
   ap_ptr[ 9]...........00000000
   ap_ptr[10]...........00000000
   ap_ptr[11]...........00000000
   ap_ptr[12]...........00000000
   ap_ptr[13]...........00000000
   ap_ptr[14]...........00000000
   ap_ptr[15]...........00000000
   KDB(4)> asc 0 print adapter slot 0
   Adapter info [05646000]
   ddi.resource_name.....          ascsi0
   intr.next.............00000000 intr.handler..........01A329EC
   intr.bus_type.........00000001 intr.flags............00000050
   intr.level............0000000E intr.priority.........00000003
   intr.bid..............820C0020 intr.i_count..........00129C8D
   ndd...................0564701C
   seq_number............00000000
   next..................00000000
   local.eq_sf...........0565871C local.eq_ef...........05658FF7
   local.eq_se...........056586E8 local.eq_top..........05658FF7
   local.eq_end..........05658FFF local.dq_ee...........056591B0
   local.dq_se...........056591B0 local.dq_top..........05659FF7
   local.eq_wrap.........00000000 local.dq_wrap.........00000000
   local.eq_status.......00000000 local.dq_status.......00000200
   ddi.bus_id............820C0020 ddi.bus_type..........00000001
   ddi.slot..............00000004 ddi.base_addr.........00003540
   ddi.battery_backed....00000000 ddi.dma_lvl...........00000003
   ddi.int_lvl...........0000000E ddi.int_prior.........00000003
   ddi.ext_bus_data_rate.0000000A ddi.tcw_start_addr....00150000
   ddi.tcw_length........00202000 ddi.tm_tcw_length.....00010000
   ddi.tm_tcw_start_addr.00352000 ddi.i_card_scsi_id....00000007
   ddi.e_card_scsi_id....00000007 ddi.int_wide_ena......00000001
   (4)> more (^C to quit) ?  continue
   ddi.ext_wide_ena......00000001
   active_head...........00000000 active_tail...........00000000
   wait_head.............00000000 wait_tail.............00000000
   num_cmds_queued.......00000000 num_cmds_active.......00000000
   adp_pool..............0565B128
   surr_ctl.eq_ssf.......0565B000 surr_ctl.eq_ssf_IO....00153000
   surr_ctl.eq_ses.......0565B002 surr_ctl.eq_ses_IO....00153002
   surr_ctl.dq_sse.......0565B004 surr_ctl.dq_sse_IO....00153004
   surr_ctl.dq_sds.......0565B006 surr_ctl.dq_sds_IO....00153006
   surr_ctl.dq_ssf.......0565B080 surr_ctl.dq_ssf_IO....00153080
   surr_ctl.dq_ses.......0565B082 surr_ctl.dq_ses_IO....00153082
   surr_ctl.eq_sse.......0565B084 surr_ctl.eq_sse_IO....00153084
   surr_ctl.eq_sds.......0565B086 surr_ctl.eq_sds_IO....00153086
   surr_ctl.pusa.........0565B100 surr_ctl.pusa_IO......00153100
   surr_ctl.ausa.........0565B104 surr_ctl.ausa_IO......00153104
   sta.in_use[ 0]........00000000 sta.stap[ 0]..........0565A000
   sta.in_use[ 1]........00000000 sta.stap[ 1]..........0565A100
   sta.in_use[ 2]........00000000 sta.stap[ 2]..........0565A200
   sta.in_use[ 3]........00000000 sta.stap[ 3]..........0565A300
   sta.in_use[ 4]........00000000 sta.stap[ 4]..........0565A400
   sta.in_use[ 5]........00000000 sta.stap[ 5]..........0565A500
   sta.in_use[ 6]........00000000 sta.stap[ 6]..........0565A600
   (4)> more (^C to quit) ?  continue
   sta.in_use[ 7]........00000000 sta.stap[ 7]..........0565A700
   sta.in_use[ 8]........00000000 sta.stap[ 8]..........0565A800
   sta.in_use[ 9]........00000000 sta.stap[ 9]..........0565A900
   sta.in_use[10]........00000000 sta.stap[10]..........0565AA00
   sta.in_use[11]........00000000 sta.stap[11]..........0565AB00
   sta.in_use[12]........00000000 sta.stap[12]..........0565AC00
   sta.in_use[13]........00000000 sta.stap[13]..........0565AD00
   sta.in_use[14]........00000000 sta.stap[14]..........0565AE00
   sta.in_use[15]........00000000 sta.stap[15]..........0565AF00
   time_s.tv_sec.........00000000 time_s.tv_nsec........00000000
   tcw_table.............0565BF9C
   opened................00000001
   adapter_mode..........00000001
   adp_uid...............00000004 peer_uid..............00000000
   sysmem................05658000 sysmem_end............0565BFAD
   busmem................00150000 busmem_end............00154000
   tm_tcw_table..........00000000
   eq_raddr..............00150000 dq_raddr..............00151000
   eq_vaddr..............05658000 dq_vaddr..............05659000
   sta_raddr.............00152000 sta_vaddr.............0565A000
   bufs..................00154000
   tm_sysmem.............00000000
   (4)> more (^C to quit) ?  continue
   wdog.dog.next.........05646360 wdog.dog.prev.........0009A5C4
   wdog.dog.func.........01A32B28 wdog.dog.count........00000000
   wdog.dog.restart......0000001E wdog.ap...............05646000
   wdog.reason...........00000004
   tm.dog.next...........05647344 tm.dog.prev...........05646344
   tm.dog.func...........01A32B28 tm.dog.count..........00000000
   tm.dog.restart........00000000 tm.ap.................05646000
   tm.reason.............00000004
   delay_trb.to_next.....00000000 delay_trb.knext.......00000000
   delay_trb.kprev.......00000000 delay_trb.id..........00000000
   delay_trb.cpunum......00000000 delay_trb.flags.......00000000
   delay_trb.timerid.....00000000 delay_trb.eventlist...00000000
   delay_trb.timeout.it_interval.tv_sec....00000000 tv_nsec...00000000
   delay_trb.timeout.it_value.tv_sec.......00000000 tv_nsec...00000000
   delay_trb.func........00000000 delay_trb.func_data...00000000
   delay_trb.ipri........00000000 delay_trb.tof.........00000000
   xmem.aspace_id........FFFFFFFF xmem.xm_flag..........FFFFFFFF
   xmem.xm_version.......FFFFFFFF dma_channel...........10001000
   mtu...................00141000 num_tcw_words.........00000011
   shift.................0000001C tcw_word..............00000002
   resvd1................00000000 cfg_close.............00000000
   vpd_close.............00000000 locate_state..........00000004
   (4)> more (^C to quit) ?  continue
   locate_event..........FFFFFFFF rir_event.............FFFFFFFF
   vpd_event.............FFFFFFFF eid_event.............FFFFFFFF
   ebp_event.............FFFFFFFF eid_lock..............FFFFFFFF
   recv_fn...............01A3C54C tm_recv_fn............00000000
   tm_buf_info...........00000000 tm_head...............00000000
   tm_tail...............00000000 tm_recv_buf...........00000000
   tm_bufs_tot...........00000000 tm_bufs_at_adp........00000000
   tm_buf................00000000 tm_raddr..............00000000
   proto_tag_e...........0565D000 proto_tag_i...........00000000
   adapter_check.........00000000 eid@..................0564642C
   limbo_start_time......00000000 dev_eid.@.............056464B0
   tm_dev_eid@...........056468B0 pipe_full_cnt.........00000000
   dump_state............00000000 pad...................00000000
   adp_cmd_pending.......00000000 reset_pending.........00000000
   epow_state............00000000 mm_reset_in_prog......00000000
   sleep_pending.........00000000 bus_reset_in_prog.....00000000
   first_try.............00000001 devs_in_use_I.........00000000
   devs_in_use_E.........00000002 num_buf_cmds..........00000000
   next_id...............000000D4 next_id_tm............00000000
   resvd4................00000000 ebp_flag..............00000000
   tm_bufs_blocked.......00000000 tm_enable_threshold...00000000
   limbo.................00000000

vsc Subcommand

The vsc subcommand prints virtual SCSI information.

Syntax

 

vsc [slot | symbol | Address]

If no argument is specified, the vsc subcommand loads the slot numbers with addresses from the vsc_scsi_ptrs structure. If the symbol vsc_scsi_ptrs cannot be located to load these values, the user is prompted for the address of the structure. This address can be obtained by locating the data address for the vscsiddpin kernel extension and adding the offset to the vsc_scsi_ptrs structure (obtained from a map) to that value.

A specific scsi_info entry can be displayed by specifying either a slot number or the effective address of the entry. To use a slot number, the slots must have previously been loaded by executing the vsc subcommand with no arguments.

Aliases: vscsi

Example

   KDB(4)> lke 84 print kernel extension information
        ADDRESS     FILE FILESIZE    FLAGS MODULE NAME
   
    84 05630780 01A36C00 00005A04 00000262  /etc/drivers/vscsiddpin
   le_flags........ TEXT DATAINTEXT DATA DATAEXISTS 
   le_fp........... 00000000
   le_loadcount.... 00000000
   le_usecount..... 00000001
   le_data/le_tid.. 01A3C3A0 <--- this address plus the offset to
   le_datasize..... 00000264         the vsc_scsi_ptrs array (from a map)
   le_exports...... 0565E000         are used to initialize the slots for
   le_lex.......... 00000000         the vsc subcommand.
   le_defered...... 00000000
   le_filename..... 056307C4
   le_ndepend...... 00000001
   le_maxdepend.... 00000001
   le_de........... 00000000
   KDB(4)> d 01A3C3A0 100 print data
   01A3C3A0: 01A3 B9DC  01A3 B9D8  01A3 B9D4  01A3 B9D0   ................
   01A3C3B0: 01A3 B9CC  01A3 B9C8  01A3 B9C4  01A3 B9C0   ................
   01A3C3C0: 01A3 BA20  01A3 BA60  01A3 BAA0  01A3 BAE0   ... ...`........
   01A3C3D0: 01A3 BB20  01A3 BB60  01A3 BBA0  01A3 BBE0   ... ...`........
   01A3C3E0: 01A3 BC20  01A3 BC60  01A3 BCA0  01A3 BCE0   ... ...`........
   01A3C3F0: 01A3 BD20  01A3 BD60  01A3 BDA0  01A3 BDE0   ... ...`........
   01A3C400: 7673 6373  6900 0000  0000 0000  4028 2329   vscsi.......@(#)
   01A3C410: 3434 0931  2E31 3620  2073 7263  2F62 6F73   44.1.16  src/bos
   01A3C420: 2F6B 6572  6E65 7874  2F73 6373  692F 7673   /kernext/scsi/vs
   01A3C430: 6373 6964  6462 2E63  2C20 7379  7378 7363   csiddb.c, sysxsc
   01A3C440: 7369 2C20  626F 7334  3230 2C20  3936 3133   si, bos420, 9613
   01A3C450: 5420 332F  322F 3935  2031 313A  3030 3A30   T 3/2/95 11:00:0
   01A3C460: 3500 0000  0000 0000  0564 F000  0565 D000   5........d...e..
   01A3C470: 0565 F000  0566 5000  0000 0000  0000 0000   .e...fP.........
   01A3C480: 0000 0000  0000 0000  0000 0000  0000 0000   ................
   01A3C490: 0000 0000  0000 0000  0000 0000  0000 0000   ................
   KDB(4)> vsc print virtual scsi table
   Unable to find <vsc_scsi_ptrs>
   Enter the vsc_scsi_ptrs address (in hex): 01A3C468
   Scsi pointer [01A3C468]
   slot  0...........0564F000
   slot  1...........0565D000
   slot  2...........0565F000
   slot  3...........05665000
   slot  4...........00000000
   slot  5...........00000000
   slot  6...........00000000
   slot  7...........00000000
   slot  8...........00000000
   slot  9...........00000000
   slot 10...........00000000
   slot 11...........00000000
   slot 12...........00000000
   slot 13...........00000000
   slot 14...........00000000
   slot 15...........00000000
   slot 16...........00000000
   slot 17...........00000000
   slot 18...........00000000
   slot 19...........00000000
   slot 20...........00000000
   (4)> more (^C to quit) ? continue
   slot 21...........00000000
   slot 22...........00000000
   slot 23...........00000000
   slot 24...........00000000
   slot 25...........00000000
   slot 26...........00000000
   slot 27...........00000000
   slot 28...........00000000
   slot 29...........00000000
   slot 30...........00000000
   slot 31...........00000000
   KDB(4)> vsc 1 print virtual scsi slot 1
   Scsi info [0565D000]
   ddi.resource_name.....           vscsi1
   ddi.parent_lname......           ascsi0
   ddi.cmd_delay.........00000007 ddi.num_tm_bufs.......00000010
   ddi.parent_unit_no....00000000 ddi.intr_priority.....00000003
   ddi.sc_im_entity_id...00000008 ddi.sc_tm_entity_id...00000009
   ddi.bus_scsi_id.......00000007 ddi.wide_enabled......00000001
   ddi.location..........00000001 ddi.num_cmd_elems.....00000028
   cdar_wdog.dog.next....0C3AB264 cdar_wdog.dog.prev....0009AE64
   cdar_wdog.dog.func....01A3C534 cdar_wdog.dog.count...00000000
   cdar_wdog.dog.restart.00000007 cdar_wdog.scsi........0565D000
   cdar_wdog.index.......00000000 cdar_wdog.timer_id....00000001
   cdar_wdog.save_time...00000000
   reset_wdog.dog.next...0C50F000 reset_wdog.dog.prev...0009AB84
   reset_wdog.dog.func...01A3C534 reset_wdog.dog.count..00000000
   reset_wdog.dog.restart00000008 reset_wdog.scsi.......0565D000
   reset_wdog.index......00000000 reset_wdog.timer_id...00000004
   reset_wdog.save_time..00000000
   RESET_CMD_ELEM.REPLY.
   header.format.........00000000 header.length.........00000000
   header.options........00000000 header.reserved.......00000000
   header.src_unit.......00000000 header.src_entity.....00000000
   header.dest_unit......00000000 header.dest_entity....00000000
   (4)> more (^C to quit) ?  continue
   header.correlation_id.00000000 adap_status...........00000000
   resid_count...........00000000 resid_addr............00000000
   cmd_status............00000000 scsi_status...........00000000
   cmd_error_code........00000000 device_error_code.....00000000
   RESET_CMD_ELEM.CTL_ELEM
   next..................00000000 prev..................00000000
   flags.................00000003 key...................00000000
   status................00000000 num_pd_info...........00000000
   pds_data_len..........00000000 reply_elem............0565D07C
   reply_elem_len........0000002C ctl_elem..............0565D0D4
   pd_info...............00000000
   RESET_CMD_ELEM.REQUEST.
   header.format.........00000000 header.length.........00000054
   header.options........00000046 header.reserved.......00000000
   header.src_unit.......00000000 header.src_entity.....00000000
   header.dest_unit......00000000 header.dest_entity....00000000
   header.correlation_id.0565D0A8 type2_pd.desc_number..00000000
   type2_pd.ctl_info.....00008280 type2_pd.word1........00000001
   type2_pd.word2........00000000 type2_pd.word3........00000000
   type1_pd.desc_number..00000000 type1_pd.ctl_info.....00000180
   type1_pd.word1........00000054 type1_pd.word2........00000000
   type1_pd.word3........00000000 scsi_cdb.next_addr1...00000000
   (4)> more (^C to quit) ?  continue
   scsi_cdb.next_addr2...00000000 scsi_cdb.scsi_id......00000000
   scsi_cdb.scsi_lun.....00000000 scsi_cdb.media_flags..0000C400
   RESET_CMD_ELEM.REQUEST.SCSI_CDB.
   scsi_cmd_blk.scsi_op_code..00000000 scsi_cmd_blk.lun...........00000000
   scsi_cmd_blk.scsi_bytes@...0565D116 scsi_extra.................00000000
   scsi_data_length...........00000000
   RESET_CMD_ELEM.PD_INFO1.
   next..................00000000 buf_type..............00000000
   pd_ctl_info...........00000000 mapped_addr...........00000000
   total_len.............00000000 num_tcws..............00000000
   p_buf_list............00000000
   RESET_CMD_ELEM.
   bp....................00000000 scsi..................0565D000
   cmd_type..............00000004 cmd_state.............00000000
   preempt...............00000000 tag...................00000000
   
   status_filter.type....00000129 status_filter.mask....0565D001
   status_filter.sid.....00000000
   scsi_lock.............FFFFFFFF ioctl_lock............E801AD40
   devno.................00110001 open_event............00000000
   ioctl_event...........FFFFFFFF free_cmd_list@........0565D170
   shared................05628100 dev@..................0565D194
   (4)> more (^C to quit) ?  continue
   tm@...................0565D994 head_free.............00000000
   b_pool................00000000 read_bufs.............00000000
   cmd_pool..............0C6CC000 next..................00000000
   head_gw_free..........00000000 tail_gw_free..........00000000
   proc_results..........00000000 proc_sleep_id.........00000000
   dump_state............00000000 opened................00000001
   num_tm_devices........00000000 any_waiting...........00000000
   pending_err...........00000000
   DEV_INFO  0 [0C7A5600]
   head_act..............00000000 tail_act..............00000000
   head_pend.............00000000 tail_pend.............00000000
   cmd_save_ptr..........00000000 async_func............00000000
   async_correlator......00000000 dev_event.............FFFFFFFF
   num_act_cmds..........00000000 trace_enabled.........00000000
   qstate................00000000 stop_pending..........00000000
   dev_queuing...........00000001 need_resume_set.......00000000
   cc_error_state........00000000 waiting...............00000000
   need_to_resume_queue..00000000
   DEV_INFO 96 [0C50F000]
   head_act..............0A048960 tail_act..............0A0488B0
   head_pend.............00000000 tail_pend.............00000000
   cmd_save_ptr..........00000000 async_func............00000000
   (4)> more (^C to quit) ?  continue
   async_correlator......00000000 dev_event.............FFFFFFFF
   num_act_cmds..........00000000 trace_enabled.........00000000
   qstate................00000000 stop_pending..........00000000
   dev_queuing...........00000001 need_resume_set.......00000000
   cc_error_state........00000000 waiting...............00000000
   need_to_resume_queue..00000000
   KDB(4)> buf 0A048960 print head buffer (head_act)
                     DEV    VNODE    BLKNO FLAGS
   
     0 0A048960 00100001 00000000 000DA850 MPSAFE MPSAFE_INITIAL
   
   forw     00000000 back     00000000 av_forw  0A048800 av_back  00000000
   blkno    000DA850 addr     00000000 bcount   00001000 resid    00000000
   error    00000000 work     0A057424 options  00000000 event    FFFFFFFF
   iodone:  018F371C
   start.tv_sec       00000000 start.tv_nsec      00000000
   xmemd.aspace_id    00000000 xmemd.xm_flag      00000000 xmemd.xm_version   00000000
   xmemd.subspace_id  00803D0F xmemd.subspace_id2 00000000 xmemd.uaddr        00000000
   
   KDB(4)> buf 0A048800 print next buffer (av_forw)
                     DEV    VNODE    BLKNO FLAGS
   
     0 0A048800 00100001 00000000 000DAC38 MPSAFE MPSAFE_INITIAL
   
   forw     00000000 back     00000000 av_forw  0A0488B0 av_back  0A048960
   blkno    000DAC38 addr     0003A000 bcount   00001000 resid    00000000
   error    00000000 work     0A0574F8 options  00000000 event    FFFFFFFF
   iodone:  018F371C
   start.tv_sec       00000000 start.tv_nsec      00000000
   xmemd.aspace_id    00000000 xmemd.xm_flag      00000000 xmemd.xm_version   00000000
   xmemd.subspace_id  00803D0F xmemd.subspace_id2 00000000 xmemd.uaddr        00000000
   
   KDB(4)> buf 0A0488B0 print next buffer (av_forw)
                     DEV    VNODE    BLKNO FLAGS
   
     0 0A0488B0 00100001 00000000 00069AE0 READ SPLIT MPSAFE MPSAFE_INITIAL

   forw     00000000 back     00000000 av_forw  00000000 av_back  0A048800
   blkno    00069AE0 addr     003E5000 bcount   00001000 resid    00000000
   error    00000000 work     0A0575CC options  00000000 event    FFFFFFFF
   iodone:  018F371C
   start.tv_sec       00000000 start.tv_nsec      00000000
   xmemd.aspace_id    00000000 xmemd.xm_flag      00000000 xmemd.xm_version   00000000
   xmemd.subspace_id  00800802 xmemd.subspace_id2 00000000 xmemd.uaddr        00000000
   KDB(4)> buf 0A0480B0 print next buffer (av_forw)
                     DEV    VNODE    BLKNO FLAGS
   
     0 0A0480B0 00100001 00000000 0010BBB8 READ SPLIT MPSAFE MPSAFE_INITIAL
   
   forw     00000000 back     00000000 av_forw  0A048160 av_back  00000000
   blkno    0010BBB8 addr     0029C000 bcount   00001000 resid    00000000
   error    00000000 work     0A0570D4 options  00000000 event    FFFFFFFF
   iodone:  018F371C
   start.tv_sec       00000000 start.tv_nsec      00000000
   xmemd.aspace_id    00000000 xmemd.xm_flag      00000000 xmemd.xm_version   00000000
   xmemd.subspace_id  008052D0 xmemd.subspace_id2 00000000 xmemd.uaddr        00000000
   
   KDB(4)> buf 0A048160 print next buffer (av_forw)
                     DEV    VNODE    BLKNO FLAGS
   
     0 0A048160 00100001 00000000 000ECE70 READ SPLIT MPSAFE MPSAFE_INITIAL
   
   forw     00000000 back     00000000 av_forw  0A048000 av_back  0A0480B0
   blkno    000ECE70 addr     00388000 bcount   00001000 resid    00000000
   error    00000000 work     0A05727C options  00000000 event    FFFFFFFF
   iodone:  018F371C
   start.tv_sec       00000000 start.tv_nsec      00000000
   xmemd.aspace_id    00000000 xmemd.xm_flag      00000000 xmemd.xm_version   00000000
   xmemd.subspace_id  00800802 xmemd.subspace_id2 00000000 xmemd.uaddr        00000000
   
   KDB(4)> buf 0A048000 print next buffer (av_forw)
                     DEV    VNODE    BLKNO FLAGS
   
     0 0A048000 00100001 00000000 000F4D68 READ SPLIT MPSAFE MPSAFE_INITIAL
   
   forw     00000000 back     00000000 av_forw  00000000 av_back  0A048160
   blkno    000F4D68 addr     002D3000 bcount   00001000 resid    00000000
   error    00000000 work     0A057350 options  00000000 event    FFFFFFFF
   iodone:  018F371C
   start.tv_sec       00000000 start.tv_nsec      00000000
   xmemd.aspace_id    00000000 xmemd.xm_flag      00000000 xmemd.xm_version   00000000
   xmemd.subspace_id  00800802 xmemd.subspace_id2 00000000 xmemd.uaddr        00000000
   
   KDB(4)> buf 0A04F560 print next buffer (av_forw)
                     DEV    VNODE    BLKNO FLAGS
      
     0 0A04F560 00100001 00000000 0017E7C0 READ SPLIT MPSAFE MPSAFE_INITIAL
   
   forw     00000000 back     00000000 av_forw  0A04F400 av_back  00000000
   blkno    0017E7C0 addr     0029C000 bcount   00001000 resid    00000000
   error    00000000 work     0A057000 options  00000000 event    FFFFFFFF
   iodone:  018F371C
   start.tv_sec       00000000 start.tv_nsec      00000000
   xmemd.aspace_id    00000000 xmemd.xm_flag      00000000 xmemd.xm_version   00000000
   xmemd.subspace_id  00807F5F xmemd.subspace_id2 00000000 xmemd.uaddr        00000000
   
   KDB(4)> buf 0A04F560 print next buffer (av_forw)
                     DEV    VNODE    BLKNO FLAGS
   
     0 0A04F560 00100001 00000000 0017E7C0 READ SPLIT MPSAFE MPSAFE_INITIAL
   
   forw     00000000 back     00000000 av_forw  0A04F400 av_back  00000000
   blkno    0017E7C0 addr     0029C000 bcount   00001000 resid    00000000
   error    00000000 work     0A057000 options  00000000 event    FFFFFFFF
   iodone:  018F371C
   start.tv_sec       00000000 start.tv_nsec      00000000
   xmemd.aspace_id    00000000 xmemd.xm_flag      00000000 xmemd.xm_version   00000000
   xmemd.subspace_id  00807F5F xmemd.subspace_id2 00000000 xmemd.uaddr        00000000
   
   KDB(4)> buf 0A04F400 print next buffer (av_forw)
                     DEV    VNODE    BLKNO FLAGS
   
     0 0A04F400 00100001 00000000 00172CC0 READ SPLIT MPSAFE MPSAFE_INITIAL
   
   forw     00000000 back     00000000 av_forw  00000000 av_back  0A04F560
   blkno    00172CC0 addr     0029C000 bcount   00001000 resid    00000000
   error    00000000 work     0A0571A8 options  00000000 event    FFFFFFFF
   iodone:  018F371C
   start.tv_sec       00000000 start.tv_nsec      00000000
   xmemd.aspace_id    00000000 xmemd.xm_flag      00000000 xmemd.xm_version   00000000
   xmemd.subspace_id  00802CAC xmemd.subspace_id2 00000000 xmemd.uaddr        00000000

scd Subcommand

scd [slot | symbol | Address]

Syntax

 

scd

If no argument is specified, the scd subcommand loads the slot numbers with addresses from the scdisk_list array. If the symbol scdisk_list cannot be located to load these values, the user is prompted for the address of the scdisk_list array. This address can be obtained by locating the data address for the scdiskpin kernel extension and adding the offset to the scdisk_list array (obtained from a map) to that value.

A specific scdisk_list entry can be displayed by specifying either a slot number or the effective address of the entry. To use a slot number, the slots must have previously been loaded by executing the scd subcommand with no arguments.

Aliases: scdisk

Example

   KDB(4)> lke 80 print kernel extension information
        ADDRESS     FILE FILESIZE    FLAGS MODULE NAME
   
    80 05630900 01A57E60 0000979C 00000262  /etc/drivers/scdiskpin
   le_flags........ TEXT DATAINTEXT DATA DATAEXISTS 
   le_fp........... 00000000
   le_loadcount.... 00000000
   le_usecount..... 00000001
   le_data/le_tid.. 01A61320 <--- this address plus the offset to
   le_datasize..... 000002DC         the scdisk_list array (from a map)
   le_exports...... 0565E400         are used to initialize the slots for
   le_lex.......... 00000000         the scd subcommand.
   le_defered...... 00000000
   le_filename..... 05630944
   le_ndepend...... 00000001
   le_maxdepend.... 00000001
   le_de........... 00000000
   KDB(4)> d 01A61320 100 print data
   01A61320: 0000 000B  0000 0006  FFFF FFFF  0562 7C00   .............b|.
   01A61330: 0000 0000  0000 0000  0000 0000  0000 0000   ................
   01A61340: 01A6 08DC  01A6 08D8  01A6 08D4  01A6 08D0   ................
   01A61350: 01A6 08CC  01A6 08C8  01A6 08C4  01A6 08C0   ................
   01A61360: 01A6 0920  01A6 0960  01A6 09A0  01A6 09E0   ... ...`........
   01A61370: 01A6 0A20  01A6 0A60  01A6 0AA0  01A6 0AE0   ... ...`........
   01A61380: 01A6 0B20  01A6 0B60  01A6 0BA0  01A6 0BE0   ... ...`........
   01A61390: 01A6 0C20  01A6 0C60  01A6 0CA0  01A6 0CE0   ... ...`........
   01A613A0: 7363 696E  666F 0000  6366 676C  6973 7400   scinfo..cfglist.
   01A613B0: 6F70 6C69  7374 0000  4028 2329  3435 2020   oplist..@(#)45  
   01A613C0: 312E 3139  2E36 2E31  3620 2073  7263 2F62   1.19.6.16  src/b
   01A613D0: 6F73 2F6B  6572 6E65  7874 2F64  6973 6B2F   os/kernext/disk/
   01A613E0: 7363 6469  736B 622E  632C 2073  7973 7864   scdiskb.c, sysxd
   01A613F0: 6973 6B2C  2062 6F73  3432 302C  2039 3631   isk, bos420, 961
   01A61400: 3354 2031  2F38 2F39  3620 3233  3A34 313A   3T 1/8/96 23:41:
   01A61410: 3538 0000  0000 0000  0567 4000  0567 5000   58.......g@..gP.
   KDB(4)> scd print scsi disk table
   Unable to find <scdisk_list>
   Enter the scdisk_list address (in hex): 01A61418
   Scsi pointer [01A61418]
   slot  0...........05674000
   slot  1...........05675000
   slot  2...........0566C000
   slot  3...........0566D000
   slot  4...........0566E000
   slot  5...........0566F000
   slot  6...........05670000
   slot  7...........05671000
   slot  8...........05672000
   slot  9...........05673000
   slot 10...........0C40D000
   slot 11...........00000000
   slot 12...........00000000
   slot 13...........00000000
   slot 14...........00000000
   slot 15...........00000000

   KDB(4)> scd 0 print scsi disk slot 0
   Scdisk info [05674000]
   next......................00000000 next_open.................00000000
   devno.....................00120000 adapter_devno.............00100000
   watchdog_timer.watch.@....05674010 watchdog_timer.pointer....05674000
   scsi_id...................00000000 lun_id....................00000000
   reset_count...............00000000 dk_cmd_q_head.............00000000
   dk_cmd_q_tail.............00000000 ioctl_cmd@................05674034
   cmd_pool..................05628400 pool_index................00000000
   open_event................FFFFFFFF checked_cmd...............00000000
   writev_err_cmd............00000000 reassign_err_cmd..........00000000
   reset_cmd@................056740FC reqsns_cmd@...............056741AC
   writev_cmd@...............0567425C q_recov_cmd@..............0567430C
   reassign_cmd@.............056743BC dmp_cmd@..................0567446C
   dk_bp_queue@..............0567451C mode......................00000001
   disk_intrpt...............00000000 raw_io_intrpt.............00000000
   ioctl_chg_mode_flg........00000000 m_sense_status............00000000
   opened....................00000001 cmd_pending...............00000000
   errno.....................00000000 retain_reservation........00000000
   q_type....................00000000 q_err_value...............00000001
   clr_q_on_error............00000001 buffer_ratio..............00000000
   cmd_tag_q.................00000000 q_status..................00000000
   q_clr.....................00000000 timer_status..............00000000
   restart_unit..............00000000 retry_flag................00000000
   (4)> more (^C to quit) ?  continue
   safe_relocate.............00000000 async_flag................00000000
   dump_inited...............00000001 extended_rw...............00000001
   reset_delay...............00000002 starting_close............00000000
   reset_failures............00000000 wprotected................00000000
   reserve_lock..............00000001 prevent_eject.............00000000
   cfg_prevent_ej............00000000 cfg_reserve_lck...........00000001
   load_eject_alt............00000000 pm_susp_bdr...............00000000
   dev_type..................00000001 ioctl_pending.............00000000
   play_audio................00000000 overide_pg_e..............00000000
   cd_mode1_code.............00000000 cd_mode2_form1_code.......00000000
   cd_mode2_form2_code.......00000000 cd_da_code................00000000
   current_cd_code...........00000000 current_cd_mode...........00000001
   multi_session.............00000000 valid_cd_modes............00000000
   mult_of_blksize...........00000001 play_audio_started........00000000
   rw_timeout................0000001E fmt_timeout...............00000000
   start_timeout.............0000003C reassign_timeout..........00000078
   queue_depth...............00000001 cmds_out..................00000000
   raw_io_cmd................00000000 currbuf...................0A0546E0
   low.......................0A14E3C0 block_size................00000200
   cfg_block_size............00000200 last_ses_pvd_lba..........00000000
   max_request...............00040000 max_coalesce..............00010000
   lock......................FFFFFFFF fp........................00414348
   (4)> more (^C to quit) ?  continue
   error_rec@................05674598 stats@....................05674648
   mode_data_length..........0000003D disc_info@................0567465C
   mode_buf@.................05674660 sense_buf@................05674760
   ch_data@..................05674860 df_data@..................05674960
   def_list_header@..........05674A60 ioctl_buf@................05674A64
   mode_page_e@..............05674B63 dd@.......................05674B6C
   df@.......................05674BB4 ch@.......................05674BFC
   cd@.......................05674C44 ioctl_req_sense@..........05674C8C
   capacity@.................05674CA4 def_list@.................05674CAC
   dkstat@...................05674CB4
   spin_lock@................05674CF8 spin_lock.................E80039A0
   pmh@......................05674CFC pm_pending................00000000
   pm_reserve@...............05674D41 pm_device_id..............00100000
   pm_event..................FFFFFFFF pm_timer@.................05674D4C
   KDB(4)> file 00414348 print file (fp)
                    COUNT           OFFSET     DATA TYPE   FLAGS
   
     18 file+000330     1 0000000000000000 0BC4A950 GNODE  WRITE
   
   f_flag......... 00000002 f_count........ 00000001
   f_msgcount......... 0000 f_type............. 0003
   f_data......... 0BC4A950 f_offset... 0000000000000000
   f_dir_off...... 00000000 f_cred......... 00000000
   f_lock@........ 00414368 f_lock......... E88007C0
   f_offset_lock@. 0041436C f_offset_lock.. E88007E0
   f_vinfo........ 00000000 f_ops.......... 001F3CD0 gno_fops+000000
   GNODE.......... 0BC4A950
   gn_seg....... 007FFFFF gn_mwrcnt.... 00000000 gn_mrdcnt.... 00000000
   gn_rdcnt..... 00000000 gn_wrcnt..... 00000002 gn_excnt..... 00000000
   gn_rshcnt.... 00000000 gn_ops....... 00000000 gn_vnode..... 00000000
   gn_reclk..... 00000000 gn_rdev...... 00100000
   gn_chan...... 00000000 gn_filocks... 00000000 gn_data...... 0BC4A940
   gn_type...... BLK      gn_flags.....
   KDB(4)> buf 0A0546E0 print current buffer (currbuf)
                     DEV    VNODE    BLKNO FLAGS
   
     0 0A0546E0 00120000 00000000 00070A58 READ SPLIT MPSAFE MPSAFE_INITIAL
   
   forw     00000000 back     00000000 av_forw  0A05DC60 av_back  0A14E3C0
   blkno    00070A58 addr     00626000 bcount   00001000 resid    00000000
   error    00000000 work     00000000 options  00000000 event    FFFFFFFF
   iodone:  019057D4
   start.tv_sec       00000000 start.tv_nsec      00000000
   xmemd.aspace_id    00000000 xmemd.xm_flag      00000000 xmemd.xm_version   00000000
   xmemd.subspace_id  00800802 xmemd.subspace_id2 00000000 xmemd.uaddr        00000000

[ Top of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]