Changeset 435 for trunk/kernel/syscalls/sys_read.c
- Timestamp:
- Feb 20, 2018, 5:32:17 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/syscalls/sys_read.c
r433 r435 36 36 // TODO: concurrent user page(s) munmap need to be handled [AG] 37 37 38 // TODO : remove these debug variables39 38 extern uint32_t enter_sys_read; 40 39 extern uint32_t enter_devfs_move; … … 64 63 reg_t save_sr; // required to enable IRQs during syscall 65 64 66 #if CONFIG_READ_DEBUG65 #if (CONFIG_DEBUG_SYS_READ & 1) 67 66 enter_sys_read = (uint32_t)tm_start; 68 67 #endif … … 76 75 tm_start = hal_get_cycles(); 77 76 if( CONFIG_DEBUG_SYS_READ < tm_start ) 78 printk("\n[DBG] %s : thread % denter / process %x / vaddr = %x / count %d / cycle %d\n",77 printk("\n[DBG] %s : thread %x enter / process %x / vaddr = %x / count %d / cycle %d\n", 79 78 __FUNCTION__, this, process->pid, vaddr, count, (uint32_t)tm_start ); 80 79 #endif … … 83 82 if( file_id >= CONFIG_PROCESS_FILE_MAX_NR ) 84 83 { 85 printk("\n[ERROR] in %s : illegal file descriptor index = %d\n", 86 __FUNCTION__ , file_id ); 84 85 #if CONFIG_DEBUG_SYSCALLS_ERROR 86 printk("\n[ERROR] in %s : illegal file descriptor index = %d\n", __FUNCTION__ , file_id ); 87 #endif 87 88 this->errno = EBADFD; 88 89 return -1; … … 94 95 if ( error ) 95 96 { 96 printk("\n[ERROR] in %s : user buffer unmapped = %x\n", 97 __FUNCTION__ , (intptr_t)vaddr ); 97 98 #if CONFIG_DEBUG_SYSCALLS_ERROR 99 printk("\n[ERROR] in %s : user buffer unmapped = %x\n", 100 __FUNCTION__ , (intptr_t)vaddr ); 101 #endif 98 102 this->errno = EINVAL; 99 103 return -1; … … 108 112 if( file_xp == XPTR_NULL ) 109 113 { 110 printk("\n[ERROR] in %s : undefined file descriptor index = %d in process %x\n", 111 __FUNCTION__ , file_id , process->pid ); 114 115 #if CONFIG_DEBUG_SYSCALLS_ERROR 116 printk("\n[ERROR] in %s : undefined fd_id %d in process %x\n", 117 __FUNCTION__ , file_id , process->pid ); 118 #endif 112 119 this->errno = EBADFD; 113 120 return -1; … … 122 129 if( (attr & FD_ATTR_READ_ENABLE) == 0 ) 123 130 { 124 printk("\n[ERROR] in %s : file %d not readable in process %x\n", 125 __FUNCTION__ , file_id , process->pid ); 131 132 #if CONFIG_DEBUG_SYSCALLS_ERROR 133 printk("\n[ERROR] in %s : file %d not readable in process %x\n", 134 __FUNCTION__ , file_id , process->pid ); 135 #endif 126 136 this->errno = EBADFD; 127 137 return -1; … … 138 148 if( (attr & FD_ATTR_READ_ENABLE) == 0 ) 139 149 { 140 printk("\n[ERROR] in %s : file %d not readable in process %x\n", 141 __FUNCTION__ , file_id , process->pid ); 150 151 #if CONFIG_DEBUG_SYSCALLS_ERROR 152 printk("\n[ERROR] in %s : file %d not readable in process %x\n", 153 __FUNCTION__ , file_id , process->pid ); 154 #endif 142 155 this->errno = EBADFD; 143 156 return -1; … … 166 179 if( XPTR( local_cxy , process ) != owner_xp ) 167 180 { 168 printk("\n[ERROR] in %s : process %x not in foreground for TXT%d\n", 169 __FUNCTION__, process->pid, hal_remote_lw( XPTR(chdev_cxy,&chdev_ptr->channel) ) ); 181 182 #if CONFIG_DEBUG_SYSCALLS_ERROR 183 printk("\n[ERROR] in %s : process %x not in foreground for TXT%d\n", 184 __FUNCTION__, process->pid, hal_remote_lw( XPTR(chdev_cxy,&chdev_ptr->channel) ) ); 185 #endif 170 186 this->errno = EBADFD; 171 187 return -1; … … 180 196 if( nbytes != count ) 181 197 { 182 printk("\n[ERROR] in %s cannot read data from file %d in process %x\n", 183 __FUNCTION__ , file_id , process->pid ); 198 199 #if CONFIG_DEBUG_SYSCALLS_ERROR 200 printk("\n[ERROR] in %s cannot read data from file %d in process %x\n", 201 __FUNCTION__ , file_id , process->pid ); 202 #endif 184 203 this->errno = error; 185 204 return -1; … … 194 213 tm_end = hal_get_cycles(); 195 214 if( CONFIG_DEBUG_SYS_READ < tm_end ) 196 printk("\n[DBG] %s : thread %x / process %x / cycle %d\n"215 printk("\n[DBG] %s : thread %x exit / process %x / cycle %d\n" 197 216 "nbytes = %d / first byte = %c / file_id = %d / cost = %d\n", 198 217 __FUNCTION__ , local_cxy , this->core->lid , this->trdid , this->process->pid , … … 201 220 #endif 202 221 203 #if (CONFIG_ READ_DEBUG & 0x1)222 #if (CONFIG_DEBUG_SYS_READ & 1) 204 223 exit_sys_read = (uint32_t)tm_end; 205 224 206 225 printk("\n@@@@@@@@@@@@ timing to read character %c\n" 207 " - enter_sys_read = %d / delta %d\n"208 " - enter_devfs_ move= %d / delta %d\n"209 " - enter_txt_read = %d / delta %d\n"210 " - enter_chdev_cmd = %d / delta %d\n"211 " - enter_chdev_server = %d / delta %d\n"212 " - enter_tty_cmd = %d / delta %d\n"213 " - enter_tty_isr = %d / delta %d\n"214 " - exit_tty_isr = %d / delta %d\n"215 " - exit_tty_cmd = %d / delta %d\n"216 " - exit_chdev_server = %d / delta %d\n"217 " - exit_chdev_cmd = %d / delta %d\n"218 " - exit_txt_read = %d / delta %d\n"219 " - exit_devfs_ move= %d / delta %d\n"220 " - exit_sys_read = %d / delta %d\n",226 " - enter_sys_read = %d / delta %d\n" 227 " - enter_devfs_read = %d / delta %d\n" 228 " - enter_txt_read = %d / delta %d\n" 229 " - enter_chdev_cmd_read = %d / delta %d\n" 230 " - enter_chdev_server_read = %d / delta %d\n" 231 " - enter_tty_cmd_read = %d / delta %d\n" 232 " - enter_tty_isr_read = %d / delta %d\n" 233 " - exit_tty_isr_read = %d / delta %d\n" 234 " - exit_tty_cmd_read = %d / delta %d\n" 235 " - exit_chdev_server_read = %d / delta %d\n" 236 " - exit_chdev_cmd_read = %d / delta %d\n" 237 " - exit_txt_read = %d / delta %d\n" 238 " - exit_devfs_read = %d / delta %d\n" 239 " - exit_sys_read = %d / delta %d\n", 221 240 *((char *)(intptr_t)paddr) , 222 enter_sys_read , 0 ,223 enter_devfs_ move , enter_devfs_move - enter_sys_read,224 enter_txt_read , enter_txt_read - enter_devfs_move,225 enter_chdev_cmd , enter_chdev_cmd - enter_txt_read,226 enter_chdev_server , enter_chdev_server - enter_chdev_cmd ,227 enter_tty_cmd , enter_tty_cmd - enter_chdev_server,228 enter_tty_isr , enter_tty_isr - enter_tty_cmd ,229 exit_tty_isr , exit_tty_isr - enter_tty_isr,230 exit_tty_cmd , exit_tty_cmd - exit_tty_isr,231 exit_chdev_server , exit_chdev_server - exit_tty_cmd ,232 exit_chdev_cmd , exit_chdev_cmd - exit_chdev_server,233 exit_txt_read , exit_txt_read - exit_chdev_cmd ,234 exit_devfs_ move , exit_devfs_move - exit_txt_read,235 exit_sys_read , exit_sys_read - exit_devfs_move);241 enter_sys_read , 0 , 242 enter_devfs_read , enter_devfs_read - enter_sys_read , 243 enter_txt_read , enter_txt_read - enter_devfs_read , 244 enter_chdev_cmd_read , enter_chdev_cmd_read - enter_txt_read , 245 enter_chdev_server_read , enter_chdev_server_read - enter_chdev_cmd_read , 246 enter_tty_cmd_read , enter_tty_cmd_read - enter_chdev_server_read , 247 enter_tty_isr_read , enter_tty_isr_read - enter_tty_cmd_read , 248 exit_tty_isr_read , exit_tty_isr_read - enter_tty_isr_read , 249 exit_tty_cmd_read , exit_tty_cmd_read - exit_tty_isr_read , 250 exit_chdev_server_read , exit_chdev_server_read - exit_tty_cmd_read , 251 exit_chdev_cmd_read , exit_chdev_cmd_read - exit_chdev_server_read , 252 exit_txt_read , exit_txt_read - exit_chdev_cmd_read , 253 exit_devfs_read , exit_devfs_read - exit_txt_read , 254 exit_sys_read , exit_sys_read - exit_devfs_read ); 236 255 #endif 237 256
Note: See TracChangeset
for help on using the changeset viewer.