Changes in uspace/app/trace/trace.c [07b7c48:ce7676c] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/trace/trace.c
r07b7c48 rce7676c 43 43 #include <mem.h> 44 44 #include <str.h> 45 #include < stdbool.h>45 #include <bool.h> 46 46 #include <loader/loader.h> 47 47 #include <io/console.h> … … 136 136 } 137 137 138 free(task_ldr); 138 139 task_ldr = NULL; 139 140 … … 317 318 } 318 319 320 static void sc_ipc_call_sync_fast(sysarg_t *sc_args) 321 { 322 ipc_call_t question, reply; 323 int rc; 324 int phoneid; 325 326 phoneid = sc_args[0]; 327 328 IPC_SET_IMETHOD(question, sc_args[1]); 329 IPC_SET_ARG1(question, sc_args[2]); 330 IPC_SET_ARG2(question, sc_args[3]); 331 IPC_SET_ARG3(question, sc_args[4]); 332 IPC_SET_ARG4(question, 0); 333 IPC_SET_ARG5(question, 0); 334 335 memset(&reply, 0, sizeof(reply)); 336 rc = udebug_mem_read(sess, &reply.args, sc_args[5], sizeof(reply.args)); 337 if (rc < 0) 338 return; 339 340 ipcp_call_sync(phoneid, &question, &reply); 341 } 342 343 static void sc_ipc_call_sync_slow_b(unsigned thread_id, sysarg_t *sc_args) 344 { 345 ipc_call_t question; 346 int rc; 347 348 memset(&question, 0, sizeof(question)); 349 rc = udebug_mem_read(sess, &question.args, sc_args[1], 350 sizeof(question.args)); 351 352 if (rc < 0) { 353 printf("Error: mem_read->%d\n", rc); 354 return; 355 } 356 357 thread_ipc_req[thread_id] = question; 358 } 359 360 static void sc_ipc_call_sync_slow_e(unsigned thread_id, sysarg_t *sc_args) 361 { 362 ipc_call_t reply; 363 int rc; 364 365 memset(&reply, 0, sizeof(reply)); 366 rc = udebug_mem_read(sess, &reply.args, sc_args[2], 367 sizeof(reply.args)); 368 369 if (rc < 0) { 370 printf("Error: mem_read->%d\n", rc); 371 return; 372 } 373 374 ipcp_call_sync(sc_args[0], &thread_ipc_req[thread_id], &reply); 375 } 376 319 377 static void sc_ipc_wait(sysarg_t *sc_args, int sc_rc) 320 378 { … … 347 405 if ((display_mask & DM_SYSCALL) != 0) { 348 406 /* Print syscall name and arguments */ 349 if (syscall_desc_defined(sc_id)) { 350 printf("%s", syscall_desc[sc_id].name); 351 print_sc_args(sc_args, syscall_desc[sc_id].n_args); 352 } 353 else { 354 printf("unknown_syscall<%d>", sc_id); 355 print_sc_args(sc_args, 6); 356 } 407 printf("%s", syscall_desc[sc_id].name); 408 print_sc_args(sc_args, syscall_desc[sc_id].n_args); 409 } 410 411 switch (sc_id) { 412 case SYS_IPC_CALL_SYNC_SLOW: 413 sc_ipc_call_sync_slow_b(thread_id, sc_args); 414 break; 415 default: 416 break; 357 417 } 358 418 } … … 377 437 if ((display_mask & DM_SYSCALL) != 0) { 378 438 /* Print syscall return value */ 379 if (syscall_desc_defined(sc_id)) 380 rv_type = syscall_desc[sc_id].rv_type; 381 else 382 rv_type = V_PTR; 439 rv_type = syscall_desc[sc_id].rv_type; 383 440 print_sc_retval(sc_rc, rv_type); 384 441 } … … 390 447 case SYS_IPC_CALL_ASYNC_SLOW: 391 448 sc_ipc_call_async_slow(sc_args, sc_rc); 449 break; 450 case SYS_IPC_CALL_SYNC_FAST: 451 sc_ipc_call_sync_fast(sc_args); 452 break; 453 case SYS_IPC_CALL_SYNC_SLOW: 454 sc_ipc_call_sync_slow_e(thread_id, sc_args); 392 455 break; 393 456 case SYS_IPC_WAIT: … … 505 568 ldr = loader_connect(); 506 569 if (ldr == NULL) 507 return NULL;570 return 0; 508 571 509 572 /* Get task ID. */ … … 565 628 static int cev_fibril(void *arg) 566 629 { 567 cons_event_t event;568 569 630 (void) arg; 570 631 … … 577 638 fibril_mutex_unlock(&state_lock); 578 639 579 if (!console_get_ event(console, &event))640 if (!console_get_kbd_event(console, &cev)) 580 641 return -1; 581 642 582 if (event.type == CEV_KEY) { 583 fibril_mutex_lock(&state_lock); 584 cev = event.ev.key; 585 cev_valid = true; 586 fibril_condvar_broadcast(&state_cv); 587 fibril_mutex_unlock(&state_lock); 588 } 643 fibril_mutex_lock(&state_lock); 644 cev_valid = true; 645 fibril_condvar_broadcast(&state_cv); 646 fibril_mutex_unlock(&state_lock); 589 647 } 590 648 }
Note:
See TracChangeset
for help on using the changeset viewer.