1 // SPDX-License-Identifier: LGPL-2.1
3 * trace/beauty/arch_prctl.c
5 * Copyright (C) 2018, Red Hat Inc, Arnaldo Carvalho de Melo <acme@redhat.com>
8 #include "trace/beauty/beauty.h"
9 #include <linux/kernel.h>
11 #include "trace/beauty/generated/x86_arch_prctl_code_array.c"
13 static DEFINE_STRARRAY_OFFSET(x86_arch_prctl_codes_1
, "ARCH_", x86_arch_prctl_codes_1_offset
);
14 static DEFINE_STRARRAY_OFFSET(x86_arch_prctl_codes_2
, "ARCH_", x86_arch_prctl_codes_2_offset
);
15 static DEFINE_STRARRAY_OFFSET(x86_arch_prctl_codes_3
, "ARCH_", x86_arch_prctl_codes_3_offset
);
17 static struct strarray
*x86_arch_prctl_codes
[] = {
18 &strarray__x86_arch_prctl_codes_1
,
19 &strarray__x86_arch_prctl_codes_2
,
20 &strarray__x86_arch_prctl_codes_3
,
23 static DEFINE_STRARRAYS(x86_arch_prctl_codes
);
25 static size_t x86_arch_prctl__scnprintf_code(int option
, char *bf
, size_t size
, bool show_prefix
)
27 return strarrays__scnprintf(&strarrays__x86_arch_prctl_codes
, bf
, size
, "%#x", show_prefix
, option
);
30 size_t syscall_arg__scnprintf_x86_arch_prctl_code(char *bf
, size_t size
, struct syscall_arg
*arg
)
32 unsigned long code
= arg
->val
;
34 return x86_arch_prctl__scnprintf_code(code
, bf
, size
, arg
->show_string_prefix
);