// target tapset // Copyright (C) 2019 Red Hat Inc. // // This file is part of systemtap, and is free software. You can // redistribute it and/or modify it under the terms of the GNU General // Public License (GPL); either version 2, or (at your option) any // later version. // TODO: get 'call' instruction to handle the functions below /** * function _set_procfs_value - Used to set the message * from a procfs-like probe. * * Description: This function always returns 0. */ function _set_procfs_value:long (msg:string) %{/* bpf */ 0xbf, 1, $msg, -, -; /* mov r1, $msg */ 0x85, 0, 0, 0, -6; /* call BPF_FUNC_SET_PROCFS_VALUE */ 0xbf, $$, 0, -, -; /* return r0 */ %} /** * function _append_procfs_value - Used to append to * the message for a procfs-like probe. * * Description: This function always returns 0. */ function _append_procfs_value:long (append:string) %{/* bpf */ 0xbf, 1, $append, -, -; /* mov r1, $msg */ 0x85, 0, 0, 0, -7; /* call BPF_FUNC_APPEND_PROCFS_VALUE */ 0xbf, $$, 0, -, -; /* return r0 */ %} /** * function _get_procfs_value - Used to get the message * for a procfs-like probe. * * Description: This function returns a pointer to the * message. */ function _get_procfs_value:string () %{/* bpf */ 0x85, 0, 0, 0, -8; /* call BPF_FUNC_GET_PROCFS_VALUE */ 0xbf, $$, 0, -, -; /* return r0 */ %}