00001 #ifndef kpbdef_h 00002 #define kpbdef_h 00003 00004 #define KPBDBG_K_PC_VEC_CNT 8 00005 00006 struct _kpbdbg { 00007 unsigned int kpbdbg_is_start_time; 00008 unsigned int kpbdbg_is_start_count; 00009 unsigned int kpbdbg_is_restart_count; 00010 unsigned int kpbdbg_is_vec_index; 00011 int (*kpbdbg_is_pc_vec [8])(); 00012 }; 00013 00014 #define KPBDBG_K_LENGTH 48 00015 #define KPBDBG_S_KPBDBGDEF 48 00016 00017 struct _kpbspl { 00018 void (*kpbspl_ps_spl_stall_rtn)(); 00019 void (*kpbspl_ps_spl_restrt_rtn)(); 00020 }; 00021 #define KPBSPL_K_LENGTH 8 00022 #define KPBSPL_S_KPBSPLDEF 8 00023 00024 struct _kpbsch { 00025 void (*kpbsch_ps_sch_stall_rtn)(); 00026 void (*kpbsch_ps_sch_restrt_rtn)(); 00027 struct _fkb *kpbsch_ps_fkblk; 00028 char kpbsch_t_align_3 [4]; 00029 union { 00030 struct { 00031 struct _fkb *kpbsch_ps_fqfl; 00032 struct _fkb *kpbsch_ps_fqbl; 00033 unsigned short int kpbsch_iw_fkb_size; 00034 unsigned char kpbsch_ib_fkb_type; 00035 unsigned char kpbsch_ib_flck; 00036 void (*kpbsch_ps_fpc)(); 00037 long long kpbsch_q_fr3; 00038 long long kpbsch_q_fr4; 00039 }; 00040 struct { 00041 struct _tqe *kpbsch_ps_tqfl; 00042 struct _tqe *kpbsch_ps_tqbl; 00043 unsigned short int kpbsch_iw_tqe_size; 00044 unsigned char kpbsch_ib_tqe_type; 00045 unsigned char kpbsch_ib_rqtype; 00046 void (*kpbsch_ps_tqe_fpc)(); 00047 long long kpbsch_q_tqe_fr3; 00048 long long kpbsch_q_tqe_fr4; 00049 long long kpbsch_iq_time; 00050 long long kpbsch_q_fill_delta; 00051 int kpbsch_l_fill_rmod; 00052 int kpbsch_l_fill_efn; 00053 int kpbsch_l_fill_rqpid; 00054 int kpbsch_l_fill_cputim; 00055 }; 00056 }; 00057 }; 00058 00059 #define KPBSCH_K_LENGTH 80 00060 #define KPBSCH_S_KPBSCHDEF 80 00061 #define KP_M_VEST 0x4 00062 #define KP_M_SPLOCK 0x20 00063 #define KP_M_DEBUG 0x40 00064 #define KP_M_DEALLOC_AT_END 0x100 00065 #define KP_M_IO 292 00066 #define KP_M_LKMGR 4 00067 00068 struct _kpflags { 00069 union { 00070 int kp_is_flags; 00071 struct { 00072 unsigned kp_v_fill1 : 2; 00073 unsigned kp_v_vest : 1; 00074 unsigned kp_v_fill2 : 2; 00075 unsigned kp_v_splock : 1; 00076 unsigned kp_v_debug : 1; 00077 unsigned kp_v_fill3 : 1; 00078 unsigned kp_v_dealloc_at_end : 1; 00079 unsigned kp_v_fill4 : 3; 00080 unsigned kp_v_fill_2_ : 4; 00081 }; 00082 }; 00083 }; 00084 00085 #define KP_S_KPDEF 4 00086 #define KPB_K_MIN_IO_STACK 8192 00087 #define KPB_K_MAX_MPW_STACK 8192 00088 #define KPB_M_VALID 0x1 00089 #define KPB_M_ACTIVE 0x2 00090 #define KPB_M_VEST 0x4 00091 #define KPB_M_DELETING 0x8 00092 #define KPB_M_SCHED 0x10 00093 #define KPB_M_SPLOCK 0x20 00094 #define KPB_M_DEBUG 0x40 00095 #define KPB_M_PARAM 0x80 00096 #define KPB_M_DEALLOC_AT_END 0x100 00097 #define KPB_M_BYPASS_CACHE 0x200 00098 #define KPB_M_HLL_MASK 0x400 00099 #define KPB_M_RESERVED_CACHE 0x800 00100 #define KPREG_K_MIN_REG_MASK 738258944 00101 #define KPREG_K_MIN_IO_REG_MASK 738259004 00102 #define KPREG_K_ERR_REG_MASK -738263037 00103 #define KPREG_K_HLL_REG_MASK 738263036 00104 #define KPB_K_LENGTH 56 00105 #define KPB_K_TQE_LENGTH 64 00106 00107 #define KPB_K_NON_VEST_LENGTH 136 00108 00109 #define KPB_K_KEEP 1 00110 #define KPB_K_RELEASE 2 00111 #define KPB_K_LOW 3 00112 #define KPB_K_HIGH 4 00113 #define KPB_K_SCH_LENGTH 184 00114 00115 #define KPB_K_SPL_LENGTH 192 00116 #define KPB_S_KPBDEF 192 00117 00118 struct _kpb { 00119 struct _kpb *kpb_ps_flink; 00120 struct _kpb *kpb_ps_blink; 00121 unsigned short int kpb_iw_size; 00122 unsigned char kpb_ib_type; 00123 unsigned char kpb_ib_subtype; 00124 unsigned int kpb_is_stack_size; 00125 union { 00126 union { 00127 unsigned int kpb_is_flags; 00128 struct { 00129 unsigned kpb_v_valid : 1; 00130 unsigned kpb_v_active : 1; 00131 unsigned kpb_v_vest : 1; 00132 unsigned kpb_v_deleting : 1; 00133 unsigned kpb_v_sched : 1; 00134 unsigned kpb_v_splock : 1; 00135 unsigned kpb_v_debug : 1; 00136 unsigned kpb_v_param : 1; 00137 unsigned kpb_v_dealloc_at_end : 1; 00138 unsigned kpb_v_bypass_cache : 1; 00139 unsigned kpb_v_hll_mask : 1; 00140 unsigned kpb_v_reserved_cache : 1; 00141 unsigned kpb_v_fill_5_ : 4; 00142 }; 00143 }; 00144 }; 00145 void *kpb_ps_saved_sp; 00146 unsigned int kpb_is_reg_mask; 00147 void *kpb_ps_stack_base; 00148 void *kpb_ps_stack_sp; 00149 void *kpb_ps_sch_ptr; 00150 void *kpb_ps_spl_ptr; 00151 void *kpb_ps_dbg_ptr; 00152 void *kpb_ps_prm_ptr; 00153 unsigned int kpb_is_prm_length; 00154 00155 void (*kpb_ps_sch_stall_rtn)(); 00156 void (*kpb_ps_sch_restrt_rtn)(); 00157 struct _fkb *kpb_ps_fkblk; 00158 void (*kpb_ps_sch_end_rtn)(); 00159 00160 union { 00161 struct { 00162 struct _fkb *kpb_ps_fqfl; 00163 struct _fkb *kpb_ps_fqbl; 00164 unsigned short int kpb_iw_fkb_size; 00165 unsigned char kpb_ib_fkb_type; 00166 unsigned char kpb_ib_flck; 00167 void (*kpb_ps_fpc)(); 00168 long long kpb_q_fr3; 00169 long long kpb_q_fr4; 00170 }; 00171 struct { 00172 struct _tqe *kpb_ps_tqfl; 00173 struct _tqe *kpb_ps_tqbl; 00174 unsigned short int kpb_iw_tqe_size; 00175 unsigned char kpb_ib_tqe_type; 00176 unsigned char kpb_ib_rqtype; 00177 void (*kpb_ps_tqe_fpc)(); 00178 long long kpb_q_tqe_fr3; 00179 long long kpb_q_tqe_fr4; 00180 long long kpb_iq_time; 00181 long long kpb_q_fill_delta; 00182 int kpb_l_fill_rmod; 00183 int kpb_l_fill_efn; 00184 int kpb_l_fill_rqpid; 00185 int kpb_l_fill_cputim; 00186 }; 00187 }; 00188 00189 union { 00190 struct { 00191 struct _ucb *kpb_ps_ucb; 00192 struct _irp *kpb_ps_irp; 00193 00194 struct { 00195 unsigned int kpb_is_timeout_time; 00196 unsigned int kpb_is_restore_ipl; 00197 unsigned int kpb_is_channel_data; 00198 }; 00199 struct { 00200 void *kpb_ps_scsi_ptr1; 00201 void *kpb_ps_scsi_ptr2; 00202 void *kpb_ps_scsi_scdrp; 00203 }; 00204 struct { 00205 unsigned int kpb_is_timeout; 00206 unsigned int kpb_is_newipl; 00207 struct _spl *kpb_ps_dlck; 00208 }; 00209 }; 00210 00211 struct { 00212 struct _lkb *kpb_ps_lkb; 00213 }; 00214 }; 00215 char kpb_t_align_7 [4]; 00216 void (*kpb_ps_spl_stall_rtn)(); 00217 void (*kpb_ps_spl_restrt_rtn)(); 00218 }; 00219 00220 #endif 00221 00222