Revision ee999a88 darwin-user/syscall.c
b/darwin-user/syscall.c | ||
---|---|---|
53 | 53 |
#include <mach/ndr.h> |
54 | 54 |
#include <mach/mig_errors.h> |
55 | 55 |
|
56 |
#include <sys/xattr.h> |
|
57 |
|
|
56 | 58 |
#include "qemu.h" |
57 | 59 |
|
58 | 60 |
//#define DEBUG_SYSCALL |
... | ... | |
451 | 453 |
case -31: |
452 | 454 |
DPRINTF("mach_msg_trap(0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x)\n", |
453 | 455 |
arg1, arg2, arg3, arg4, arg5, arg6, arg7); |
454 |
|
|
455 | 456 |
ret = target_mach_msg_trap((mach_msg_header_t *)arg1, arg2, arg3, arg4, arg5, arg6, arg7); |
456 |
|
|
457 | 457 |
break; |
458 |
/* may need more translation if target arch is different from host */ |
|
459 |
#if (defined(TARGET_I386) && defined(__i386__)) || (defined(TARGET_PPC) && defined(__ppc__)) |
|
460 |
case -33: |
|
461 |
DPRINTF("semaphore_signal_trap(0x%x)\n", arg1); |
|
462 |
ret = semaphore_signal_trap(arg1); |
|
463 |
break; |
|
464 |
case -34: |
|
465 |
DPRINTF("semaphore_signal_all_trap(0x%x)\n", arg1); |
|
466 |
ret = semaphore_signal_all_trap(arg1); |
|
467 |
break; |
|
468 |
case -35: |
|
469 |
DPRINTF("semaphore_signal_thread_trap(0x%x)\n", arg1, arg2); |
|
470 |
ret = semaphore_signal_thread_trap(arg1,arg2); |
|
471 |
break; |
|
472 |
#endif |
|
458 | 473 |
case -36: |
459 | 474 |
DPRINTF("semaphore_wait_trap(0x%x)\n", arg1); |
460 | 475 |
extern int semaphore_wait_trap(int); // XXX: is there any header for that? |
461 | 476 |
ret = semaphore_wait_trap(arg1); |
462 | 477 |
break; |
478 |
/* may need more translation if target arch is different from host */ |
|
479 |
#if (defined(TARGET_I386) && defined(__i386__)) || (defined(TARGET_PPC) && defined(__ppc__)) |
|
480 |
case -37: |
|
481 |
DPRINTF("semaphore_wait_signal_trap(0x%x, 0x%x)\n", arg1, arg2); |
|
482 |
ret = semaphore_wait_signal_trap(arg1,arg2); |
|
483 |
break; |
|
484 |
#endif |
|
463 | 485 |
case -43: |
464 | 486 |
DPRINTF("map_fd(0x%x, 0x%x, 0x%x, 0x%x, 0x%x)\n", |
465 | 487 |
arg1, arg2, arg3, arg4, arg5); |
466 | 488 |
ret = map_fd(arg1, arg2, (void*)arg3, arg4, arg5); |
467 | 489 |
tswap32s((uint32_t*)arg3); |
468 | 490 |
break; |
491 |
/* may need more translation if target arch is different from host */ |
|
492 |
#if (defined(TARGET_I386) && defined(__i386__)) || (defined(TARGET_PPC) && defined(__ppc__)) |
|
493 |
case -61: |
|
494 |
DPRINTF("syscall_thread_switch(0x%x, 0x%x, 0x%x)\n", |
|
495 |
arg1, arg2, arg3); |
|
496 |
ret = syscall_thread_switch(arg1, arg2, arg3); // just a hint to the scheduler; can drop? |
|
497 |
break; |
|
498 |
#endif |
|
469 | 499 |
case -89: |
470 | 500 |
DPRINTF("mach_timebase_info(0x%x)\n", arg1); |
471 | 501 |
struct mach_timebase_info info; |
Also available in: Unified diff