# ppc64_sys_stime ________________________________________
#
# long ppc64_sys_stime(long __user * tptr)
#

@define _SYSCALL_PPC64_SYS_STIME_NAME
%(
	name = "ppc64_sys_stime"
%)

@define _SYSCALL_PPC64_SYS_STIME_ARGSTR
%(
	argstr = sprintf("%p", t_uaddr)
%)

probe syscall.ppc64_sys_stime = dw_syscall.ppc64_sys_stime !,
                                nd_syscall.ppc64_sys_stime ? {}
probe syscall.ppc64_sys_stime.return = dw_syscall.ppc64_sys_stime.return !,
                                       nd_syscall.ppc64_sys_stime.return ? {}

# dw_ppc64_sys_stime _____________________________________________________

probe dw_syscall.ppc64_sys_stime = kernel.function("ppc64_sys_stime") ?
{
	@_SYSCALL_PPC64_SYS_STIME_NAME
	/* FIXME */
	t_uaddr = $tptr
	@_SYSCALL_PPC64_SYS_STIME_ARGSTR
}
probe dw_syscall.ppc64_sys_stime.return = kernel.function("ppc64_sys_stime").return ?
{
	@_SYSCALL_PPC64_SYS_STIME_NAME
	@SYSC_RETVALSTR($return)
}

# nd_ppc64_sys_stime _____________________________________________________

probe nd_syscall.ppc64_sys_stime = kprobe.function("ppc64_sys_stime") ?
{
	@_SYSCALL_PPC64_SYS_STIME_NAME
	asmlinkage()
	/* FIXME */
	t_uaddr = pointer_arg(1)
	@_SYSCALL_PPC64_SYS_STIME_ARGSTR
}
probe nd_syscall.ppc64_sys_stime.return = kprobe.function("ppc64_sys_stime").return ?
{
	@_SYSCALL_PPC64_SYS_STIME_NAME
	@SYSC_RETVALSTR(returnval())
}
