Comment 5 for bug 1920784

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

qemu calls this ioctl on ppc64 as:
  sysdeps/unix/sysv/linux/powerpc/ioctl.c
result = INLINE_SYSCALL (ioctl, 3, fd, request, arg);

The mapping of macros in sysdeps/unix/sysv/linux/powerpc/sysdep.h seems to be:
INTERNAL_SYSCALL -> INTERNAL_SYSCALL_NCS -> TRY_SYSCALL_SCV -> SYSCALL_SCV

 76 #define SYSCALL_SCV(nr) \
 77 ({ \
 78 __asm__ __volatile__ \
 79 (".machine \"push\"\n\t" \
 80 ".machine \"power9\"\n\t" \
 81 "scv 0\n\t" \
 82 ".machine \"pop\"\n\t" \
 83 "0:" \
 84 : "=&r" (r0), \
 85 "=&r" (r3), "=&r" (r4), "=&r" (r5), \
 86 "=&r" (r6), "=&r" (r7), "=&r" (r8) \
 87 : ASM_INPUT_##nr \
 88 : "r9", "r10", "r11", "r12", \
 89 "lr", "ctr", "memory"); \
 90 r3; \
 91 })