diff options
Diffstat (limited to 'tools/perf/trace/beauty/futex_val3.c')
-rw-r--r-- | tools/perf/trace/beauty/futex_val3.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/perf/trace/beauty/futex_val3.c b/tools/perf/trace/beauty/futex_val3.c new file mode 100644 index 000000000..9114f7620 --- /dev/null +++ b/tools/perf/trace/beauty/futex_val3.c @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: LGPL-2.1 +#include <linux/futex.h> + +#ifndef FUTEX_BITSET_MATCH_ANY +#define FUTEX_BITSET_MATCH_ANY 0xffffffff +#endif + +static size_t syscall_arg__scnprintf_futex_val3(char *bf, size_t size, struct syscall_arg *arg) +{ + const char *prefix = "FUTEX_BITSET_"; + unsigned int bitset = arg->val; + + if (bitset == FUTEX_BITSET_MATCH_ANY) + return scnprintf(bf, size, "%s%s", arg->show_string_prefix ? prefix : "", "MATCH_ANY"); + + return scnprintf(bf, size, "%#xd", bitset); +} + +#define SCA_FUTEX_VAL3 syscall_arg__scnprintf_futex_val3 |