extern const Addr VGA_(sys_before), VGA_(sys_restarted),
VGA_(sys_after), VGA_(sys_done);
-extern void VGA_(do_thread_syscall)(UWord sys,
- UWord arg1, UWord arg2, UWord arg3,
- UWord arg4, UWord arg5, UWord arg6,
- UWord *result, /*enum PXState*/Int *statep,
- /*enum PXState*/Int poststate);
+extern void VGA_(do_thread_syscall)
+ ( UWord sys,
+ UWord arg1, UWord arg2, UWord arg3,
+ UWord arg4, UWord arg5, UWord arg6,
+ /*OUT*/HWord *resultP,
+ /*enum PXState*/Int *stateP,
+ /*enum PXState*/Int poststate
+ );
/* ---------------------------------------------------------------------
Finally - autoconf-generated settings
Assumes that the only thread state which matters is the contents of
%eax-%ebp and the return value in %eax.
*/
-static void thread_syscall(Int syscallno, ThreadArchState *arch,
+static void thread_syscall(Int syscallno,
+ ThreadArchState *arch,
enum PXState *state , enum PXState poststate)
{
VGA_(do_thread_syscall)(syscallno,
arch->vex.PLATFORM_SYSCALL_ARG4,
arch->vex.PLATFORM_SYSCALL_ARG5,
arch->vex.PLATFORM_SYSCALL_ARG6,
- (UWord*)&arch->vex.PLATFORM_SYSCALL_RET, // result
+ (HWord*)&arch->vex.PLATFORM_SYSCALL_RET, // result
state, // state to update
poststate); // state when syscall has finished
}