arch_prctl.c 1.2 KB

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