linux/tools/perf/perf-sys.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef _PERF_SYS_H
   3#define _PERF_SYS_H
   4
   5#include <unistd.h>
   6#include <sys/types.h>
   7#include <sys/syscall.h>
   8#include <linux/types.h>
   9#include <linux/compiler.h>
  10#include <linux/perf_event.h>
  11#include <asm/barrier.h>
  12
  13#ifdef __powerpc__
  14#define CPUINFO_PROC    {"cpu"}
  15#endif
  16
  17#ifdef __s390__
  18#define CPUINFO_PROC    {"vendor_id"}
  19#endif
  20
  21#ifdef __sh__
  22#define CPUINFO_PROC    {"cpu type"}
  23#endif
  24
  25#ifdef __hppa__
  26#define CPUINFO_PROC    {"cpu"}
  27#endif
  28
  29#ifdef __sparc__
  30#define CPUINFO_PROC    {"cpu"}
  31#endif
  32
  33#ifdef __alpha__
  34#define CPUINFO_PROC    {"cpu model"}
  35#endif
  36
  37#ifdef __arm__
  38#define CPUINFO_PROC    {"model name", "Processor"}
  39#endif
  40
  41#ifdef __mips__
  42#define CPUINFO_PROC    {"cpu model"}
  43#endif
  44
  45#ifdef __arc__
  46#define CPUINFO_PROC    {"Processor"}
  47#endif
  48
  49#ifdef __xtensa__
  50#define CPUINFO_PROC    {"core ID"}
  51#endif
  52
  53#ifndef CPUINFO_PROC
  54#define CPUINFO_PROC    { "model name", }
  55#endif
  56
  57static inline int
  58sys_perf_event_open(struct perf_event_attr *attr,
  59                      pid_t pid, int cpu, int group_fd,
  60                      unsigned long flags)
  61{
  62        int fd;
  63
  64        fd = syscall(__NR_perf_event_open, attr, pid, cpu,
  65                     group_fd, flags);
  66
  67#ifdef HAVE_ATTR_TEST
  68        if (unlikely(test_attr__enabled))
  69                test_attr__open(attr, pid, cpu, fd, group_fd, flags);
  70#endif
  71        return fd;
  72}
  73
  74#endif /* _PERF_SYS_H */
  75