Changeset 407 for trunk/kernel/devices/dev_pic.c
- Timestamp:
- Nov 7, 2017, 3:08:12 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/devices/dev_pic.c
r406 r407 36 36 37 37 extern chdev_directory_t chdev_dir; // allocated in kernel_init.c 38 extern iopic_input_t iopic_input; // allocated in kernel_init.c 38 39 39 40 /////////////////////////////////// … … 83 84 xptr_t src_chdev_xp ) 84 85 { 85 irq_dmsg("\n[DMSG] %s : core = [%x,%d] / src_chdev_cxy = %x / src_chdev_ptr = %x\n", 86 __FUNCTION__ , local_cxy , lid , GET_CXY(src_chdev_xp) , GET_PTR(src_chdev_xp) ); 86 87 irq_dmsg("\n[DBG] %s : core = [%x,%d] / src_chdev_cxy = %x / src_chdev_ptr = %x\n", 88 __FUNCTION__ , local_cxy , lid , GET_CXY(src_chdev_xp) , GET_PTR(src_chdev_xp) ); 87 89 88 90 // get pointer on PIC chdev … … 101 103 xptr_t src_chdev_xp ) 102 104 { 103 irq_dmsg("\n[DMSG] %s : core = [%x,%d] / src_chdev_cxy = %x / src_chdev_ptr = %x\n", 104 __FUNCTION__ , local_cxy , lid , GET_CXY(src_chdev_xp) , GET_PTR(src_chdev_xp) ); 105 106 irq_dmsg("\n[DBG] %s : core = [%x,%d] / src_chdev_cxy = %x / src_chdev_ptr = %x\n", 107 __FUNCTION__ , local_cxy , lid , GET_CXY(src_chdev_xp) , GET_PTR(src_chdev_xp) ); 105 108 106 109 // get pointer on PIC chdev … … 118 121 void dev_pic_enable_timer( uint32_t period ) 119 122 { 120 irq_dmsg("\n[DMSG] %s : core = [%x,%d] / period = %d\n", 121 __FUNCTION__ , local_cxy , CURRENT_THREAD->core->lid , period ); 123 124 irq_dmsg("\n[DBG] %s : core = [%x,%d] / period = %d\n", 125 __FUNCTION__ , local_cxy , CURRENT_THREAD->core->lid , period ); 122 126 123 127 // get pointer on PIC chdev … … 135 139 void dev_pic_enable_ipi() 136 140 { 137 irq_dmsg("\n[DMSG] %s : core = [%x,%d]\n", 138 __FUNCTION__ , local_cxy , CURRENT_THREAD->core->lid ); 141 142 irq_dmsg("\n[DBG] %s : core = [%x,%d] / cycle %d\n", 143 __FUNCTION__ , local_cxy , CURRENT_THREAD->core->lid , hal_time_stamp() ); 139 144 140 145 // get pointer on PIC chdev … … 153 158 lid_t lid ) 154 159 { 155 irq_dmsg("\n[DMSG] %s : enter / src_core = [%x,%d] / dst_core = [%x,%d] / cycle %d\n", 156 __FUNCTION__, local_cxy, CURRENT_THREAD->core->lid, cxy, lid, hal_time_stamp() ); 160 161 irq_dmsg("\n[DBG] %s : src_core = [%x,%d] / dst_core = [%x,%d] / cycle %d\n", 162 __FUNCTION__, local_cxy, CURRENT_THREAD->core->lid, cxy, lid, hal_time_stamp() ); 157 163 158 164 // get pointer on PIC chdev … … 165 171 // call relevant driver function 166 172 f( cxy , lid ); 167 168 irq_dmsg("\n[DMSG] %s : exit / src_core = [%x,%d] / dst_core = [%x,%d] / cycle %d\n", 169 __FUNCTION__, local_cxy, CURRENT_THREAD->core->lid, cxy, lid, hal_time_stamp() ); 170 } 171 173 } 174 175 ////////////////////// 176 void dev_pic_ack_ipi() 177 { 178 179 irq_dmsg("\n[DBG] %s : core = [%x,%d] / cycle %d\n", 180 __FUNCTION__, local_cxy, CURRENT_THREAD->core->lid, hal_time_stamp() ); 181 182 // get pointer on PIC chdev 183 chdev_t * pic_ptr = (chdev_t *)GET_PTR( chdev_dir.pic ); 184 cxy_t pic_cxy = GET_CXY( chdev_dir.pic ); 185 186 // get pointer on ack_ipi function 187 ack_ipi_t * f = hal_remote_lpt( XPTR( pic_cxy , &pic_ptr->ext.pic.ack_ipi ) ); 188 189 // call relevant driver function 190 f(); 191 } 192 193 ///////////////////////////// 194 void dev_pic_inputs_display() 195 { 196 uint32_t k; 197 uint32_t save_sr; 198 199 // get pointers on TXT0 chdev 200 xptr_t txt0_xp = chdev_dir.txt_tx[0]; 201 cxy_t txt0_cxy = GET_CXY( txt0_xp ); 202 chdev_t * txt0_ptr = GET_PTR( txt0_xp ); 203 204 // get extended pointer on remote TXT0 chdev lock 205 xptr_t lock_xp = XPTR( txt0_cxy , &txt0_ptr->wait_lock ); 206 207 // get TXT0 lock in busy waiting mode 208 remote_spinlock_lock_busy( lock_xp , &save_sr ); 209 210 nolock_printk("\n***** iopic_inputs\n"); 211 212 for( k = 0 ; k < CONFIG_MAX_IOC_CHANNELS ; k++ ) 213 { 214 nolock_printk(" - IOC[%d] hwi_id = %d\n", k , iopic_input.ioc[k] ); 215 } 216 217 for( k = 0 ; k < CONFIG_MAX_TXT_CHANNELS ; k++ ) 218 { 219 nolock_printk(" - TXT_TX[%d] hwi_id = %d\n", k , iopic_input.txt_tx[k] ); 220 nolock_printk(" - TXT_RX[%d] hwi_id = %d\n", k , iopic_input.txt_rx[k] ); 221 } 222 223 for( k = 0 ; k < CONFIG_MAX_NIC_CHANNELS ; k++ ) 224 { 225 nolock_printk(" - NIC_TX[%d] hwi_id = %d\n", k , iopic_input.nic_tx[k] ); 226 nolock_printk(" - NIC_RX[%d] hwi_id = %d\n", k , iopic_input.nic_rx[k] ); 227 } 228 229 // release TXT0 lock 230 remote_spinlock_unlock_busy( lock_xp , save_sr ); 231 } 232 233
Note: See TracChangeset
for help on using the changeset viewer.