관리-도구
편집 파일: sysc_ppc_rtas.stp
# ppc_rtas ________________________________________ # # int ppc_rtas(struct rtas_args __user *uargs) # @define _SYSCALL_PPC_RTAS_NAME %( name = "ppc_rtas" %) @define _SYSCALL_PPC_RTAS_ARGSTR %( argstr = sprintf("%p", uargs_uaddr) %) probe syscall.ppc_rtas = dw_syscall.ppc_rtas !, nd_syscall.ppc_rtas ? {} probe syscall.ppc_rtas.return = dw_syscall.ppc_rtas.return !, nd_syscall.ppc_rtas.return ? {} # dw_ppc_rtas _____________________________________________________ probe dw_syscall.ppc_rtas = kernel.function("ppc_rtas") ? { @_SYSCALL_PPC_RTAS_NAME uargs_uaddr = $uargs @_SYSCALL_PPC_RTAS_ARGSTR } probe dw_syscall.ppc_rtas.return = kernel.function("ppc_rtas").return ? { @_SYSCALL_PPC_RTAS_NAME @SYSC_RETVALSTR($return) } # nd_ppc_rtas _____________________________________________________ probe nd_syscall.ppc_rtas = kprobe.function("ppc_rtas") ? { @_SYSCALL_PPC_RTAS_NAME asmlinkage() uargs_uaddr = pointer_arg(1) @_SYSCALL_PPC_RTAS_ARGSTR } probe nd_syscall.ppc_rtas.return = kprobe.function("ppc_rtas").return ? { @_SYSCALL_PPC_RTAS_NAME @SYSC_RETVALSTR(returnval()) }