Changeset 664 for trunk/kernel/syscalls/sys_display.c
- Timestamp:
- Oct 10, 2020, 5:11:27 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/syscalls/sys_display.c
r657 r664 35 35 #include <vfs.h> 36 36 #include <mapper.h> 37 37 #include <ksocket.h> 38 38 #include <syscalls.h> 39 39 … … 57 57 else if( type == DISPLAY_BARRIER ) return "BARRIER"; 58 58 else if( type == DISPLAY_FAT ) return "FAT"; 59 else if( type == DISPLAY_SOCKET ) return "SOCKET"; 59 60 else return "undefined"; 60 61 } … … 81 82 tm_start = hal_get_cycles(); 82 83 if( DEBUG_SYS_DISPLAY < tm_start ) 83 printk("\n[%s] thread[%x,%x] enter / type %s / cycle = %d\n", 84 __FUNCTION__, process->pid, this->trdid, display_type_str(type), (uint32_t)tm_start ); 84 printk("\n[%s] thread[%x,%x] enter / type %s / arg0 %x / arg1 %x / arg2 %x / cycle = %d\n", 85 __FUNCTION__, process->pid, this->trdid, display_type_str(type), 86 (uint32_t)arg0, (uint32_t)arg1, (uint32_t)arg2, (uint32_t)tm_start ); 85 87 #endif 86 88 … … 114 116 115 117 #if DEBUG_SYSCALLS_ERROR 116 printk("\n[ERROR] in %s forSTRING : string length %d too large\n",118 printk("\n[ERROR] in %s STRING : string length %d too large\n", 117 119 __FUNCTION__ , length ); 118 120 #endif … … 143 145 144 146 #if DEBUG_SYSCALLS_ERROR 145 printk("\n[ERROR] in %s forVMM : process %x in cluster %x not found\n",147 printk("\n[ERROR] in %s VMM : process %x in cluster %x not found\n", 146 148 __FUNCTION__ , pid , cxy ); 147 149 #endif … … 156 158 157 159 #if DEBUG_SYSCALLS_ERROR 158 printk("\n[ERROR] in %s forVMM : process %x in cluster %x not found\n",160 printk("\n[ERROR] in %s VMM : process %x in cluster %x not found\n", 159 161 __FUNCTION__ , pid , cxy ); 160 162 #endif … … 179 181 180 182 #if DEBUG_SYSCALLS_ERROR 181 printk("\n[ERROR] in %s forSCHED : illegal cxy argument %x\n",183 printk("\n[ERROR] in %s SCHED : illegal cxy argument %x\n", 182 184 __FUNCTION__ , cxy ); 183 185 #endif … … 191 193 192 194 #if DEBUG_SYSCALLS_ERROR 193 printk("\n[ERROR] in %s forSCHED : illegal lid argument %x\n",195 printk("\n[ERROR] in %s SCHED : illegal lid argument %x\n", 194 196 __FUNCTION__ , lid ); 195 197 #endif … … 214 216 215 217 #if DEBUG_SYSCALLS_ERROR 216 printk("\n[ERROR] in %s forCLUSTER_PROCESSES : illegal cxy argument %x\n",218 printk("\n[ERROR] in %s CLUSTER_PROCESSES : illegal cxy argument %x\n", 217 219 __FUNCTION__ , cxy ); 218 220 #endif … … 249 251 250 252 #if DEBUG_SYSCALLS_ERROR 251 printk("\n[ERROR] in %s forTXT_PROCESSES : illegal txt_id argument %d\n",253 printk("\n[ERROR] in %s TXT_PROCESSES : illegal txt_id argument %d\n", 252 254 __FUNCTION__ , txt_id ); 253 255 #endif … … 280 282 281 283 #if DEBUG_SYSCALLS_ERROR 282 printk("\n[ERROR] in %s forBUSYLOCKS : thread[%x,%x] not found\n",284 printk("\n[ERROR] in %s BUSYLOCKS : thread[%x,%x] not found\n", 283 285 __FUNCTION__ , pid, trdid ); 284 286 #endif … … 313 315 314 316 #if DEBUG_SYSCALLS_ERROR 315 printk("\n[ERROR] in %s forMAPPER : pathname too long\n",317 printk("\n[ERROR] in %s MAPPER : pathname too long\n", 316 318 __FUNCTION__ ); 317 319 #endif … … 325 327 326 328 #if DEBUG_SYSCALLS_ERROR 327 printk("\n[ERROR] in %s forMAPPER : nbytes cannot be larger than 4096\n",329 printk("\n[ERROR] in %s MAPPER : nbytes cannot be larger than 4096\n", 328 330 __FUNCTION__ ); 329 331 #endif … … 386 388 387 389 #if DEBUG_SYSCALLS_ERROR 388 printk("\n[ERROR] in %s forMAPPER : cannot get page %d\n",390 printk("\n[ERROR] in %s MAPPER : cannot get page %d\n", 389 391 __FUNCTION__ , page_id ); 390 392 #endif … … 414 416 415 417 #if DEBUG_SYSCALLS_ERROR 416 printk("\n[ERROR] in %s forBARRIER : process %x not found\n",418 printk("\n[ERROR] in %s BARRIER : process %x not found\n", 417 419 __FUNCTION__ , pid ); 418 420 #endif … … 428 430 429 431 #if DEBUG_SYSCALLS_ERROR 430 printk("\n[ERROR] in %s forBARRIER : no registered barrier in process %x\n",432 printk("\n[ERROR] in %s BARRIER : no registered barrier in process %x\n", 431 433 __FUNCTION__ , pid ); 432 434 #endif … … 452 454 453 455 #if DEBUG_SYSCALLS_ERROR 454 printk("\n[ERROR] in %s forFAT : nb_slots larger than 1024\n",456 printk("\n[ERROR] in %s FAT : nb_slots larger than 1024\n", 455 457 __FUNCTION__ ); 456 458 #endif … … 467 469 468 470 #if DEBUG_SYSCALLS_ERROR 469 printk("\n[ERROR] in %s forFAT : illegal cxy argument %x\n",471 printk("\n[ERROR] in %s FAT : illegal cxy argument %x\n", 470 472 __FUNCTION__ , cxy ); 471 473 #endif … … 482 484 fatfs_display_fat( min , slots ); 483 485 } 486 487 break; 488 } 489 //////////////////// 490 case DISPLAY_SOCKET: 491 { 492 pid_t pid = (pid_t)arg0; 493 trdid_t fdid = (trdid_t)arg1; 494 495 // get extended pointer on owner process descriptor 496 xptr_t owner_xp = cluster_get_owner_process_from_pid( pid ); 497 498 if( owner_xp == XPTR_NULL ) 499 { 500 501 #if DEBUG_SYSCALLS_ERROR 502 printk("\n[ERROR] in %s SOCKET : pid %x not found\n", __FUNCTION__ , pid ); 503 #endif 504 this->errno = EINVAL; 505 return -1; 506 } 507 508 // get extended pointer on file descriptor 509 xptr_t file_xp = process_fd_get_xptr_from_owner( owner_xp , fdid ); 510 511 if( file_xp == XPTR_NULL ) 512 { 513 514 #if DEBUG_SYSCALLS_ERROR 515 printk("\n[ERROR] in %s SOCKET : fdid %d not found\n", __FUNCTION__ , fdid ); 516 #endif 517 this->errno = EINVAL; 518 return -1; 519 } 520 521 // get local pointer and cluster for file 522 vfs_file_t * file_ptr = GET_PTR( file_xp ); 523 cxy_t file_cxy = GET_CXY( file_xp ); 524 525 // get local pointer on socket descriptor 526 socket_t * socket = hal_remote_lpt( XPTR( file_cxy , &file_ptr->socket ) ); 527 528 // display socket descriptor on TXT0 529 socket_display( XPTR( file_cxy , socket ), NULL ); 484 530 485 531 break;
Note: See TracChangeset
for help on using the changeset viewer.