diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2015-11-29 13:19:10 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2015-11-29 13:19:10 +0100 |
| commit | 81de33fab197a1df741ae6dc660238c78603a72f (patch) | |
| tree | 173e3c74e0fe0a706be0ed9f229341d39d9e4fe5 /sys | |
| parent | b94cd3038a6b1841d008690a83ed14cc0f3ff89c (diff) | |
add perf ioctl's
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/sys.go | 9 | ||||
| -rw-r--r-- | sys/sys.txt | 11 |
2 files changed, 20 insertions, 0 deletions
diff --git a/sys/sys.go b/sys/sys.go index e1163bb19..e87912941 100644 --- a/sys/sys.go +++ b/sys/sys.go @@ -532,4 +532,13 @@ var Calls = []*Call{ &Call{ID: 527, Name: "bpf$OBJ_GET_MAP", CallName: "bpf", Ret: ResourceType{TypeCommon: TypeCommon{TypeName: "ret", IsOptional: false}, Kind: ResFD, Subkind: FdBpfMap}, Args: []Type{ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(7)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Type: StructType{TypeCommon: TypeCommon{TypeName: "bpf_obj_get", IsOptional: false}, Fields: []Type{PtrType{TypeCommon: TypeCommon{TypeName: "path", IsOptional: false}, Dir: DirIn, Type: FilenameType{TypeCommon: TypeCommon{TypeName: "path", IsOptional: false}}}, ConstType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, TypeSize: 4, Val: uintptr(0)}}}, Dir: DirIn}, LenType{TypeCommon: TypeCommon{TypeName: "size", IsOptional: false}, Buf: "arg", TypeSize: 0}}}, &Call{ID: 528, Name: "bpf$OBJ_GET_PROG", CallName: "bpf", Ret: ResourceType{TypeCommon: TypeCommon{TypeName: "ret", IsOptional: false}, Kind: ResFD, Subkind: FdBpfProg}, Args: []Type{ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(7)}, PtrType{TypeCommon: TypeCommon{TypeName: "arg", IsOptional: false}, Type: StructType{TypeCommon: TypeCommon{TypeName: "bpf_obj_get", IsOptional: false}, Fields: []Type{PtrType{TypeCommon: TypeCommon{TypeName: "path", IsOptional: false}, Dir: DirIn, Type: FilenameType{TypeCommon: TypeCommon{TypeName: "path", IsOptional: false}}}, ConstType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, TypeSize: 4, Val: uintptr(0)}}}, Dir: DirIn}, LenType{TypeCommon: TypeCommon{TypeName: "size", IsOptional: false}, Buf: "arg", TypeSize: 0}}}, &Call{ID: 529, Name: "perf_event_open", CallName: "perf_event_open", Ret: ResourceType{TypeCommon: TypeCommon{TypeName: "ret", IsOptional: false}, Kind: ResFD, Subkind: FdPerf}, Args: []Type{PtrType{TypeCommon: TypeCommon{TypeName: "attr", IsOptional: false}, Type: StructType{TypeCommon: TypeCommon{TypeName: "perf_event_attr", IsOptional: false}, Fields: []Type{FlagsType{TypeCommon: TypeCommon{TypeName: "type", IsOptional: false}, TypeSize: 4, Vals: []uintptr{0, 1, 2, 3, 4, 5}}, LenType{TypeCommon: TypeCommon{TypeName: "size", IsOptional: false}, Buf: "parent", TypeSize: 4}, IntType{TypeCommon: TypeCommon{TypeName: "config", IsOptional: false}, TypeSize: 8}, IntType{TypeCommon: TypeCommon{TypeName: "freq", IsOptional: false}, TypeSize: 8}, IntType{TypeCommon: TypeCommon{TypeName: "sample", IsOptional: false}, TypeSize: 8}, IntType{TypeCommon: TypeCommon{TypeName: "format", IsOptional: false}, TypeSize: 8}, IntType{TypeCommon: TypeCommon{TypeName: "flags0", IsOptional: false}, TypeSize: 1}, IntType{TypeCommon: TypeCommon{TypeName: "flags1", IsOptional: false}, TypeSize: 1}, IntType{TypeCommon: TypeCommon{TypeName: "flags2", IsOptional: false}, TypeSize: 1}, IntType{TypeCommon: TypeCommon{TypeName: "flags3", IsOptional: false}, TypeSize: 1}, IntType{TypeCommon: TypeCommon{TypeName: "flags4", IsOptional: false}, TypeSize: 1}, IntType{TypeCommon: TypeCommon{TypeName: "flags5", IsOptional: false}, TypeSize: 1}, IntType{TypeCommon: TypeCommon{TypeName: "flags6", IsOptional: false}, TypeSize: 1}, IntType{TypeCommon: TypeCommon{TypeName: "flags7", IsOptional: false}, TypeSize: 1}, IntType{TypeCommon: TypeCommon{TypeName: "wakeup", IsOptional: false}, TypeSize: 4}, FlagsType{TypeCommon: TypeCommon{TypeName: "bptype", IsOptional: false}, TypeSize: 4, Vals: []uintptr{0, 1, 2, 4}}, IntType{TypeCommon: TypeCommon{TypeName: "config1", IsOptional: false}, TypeSize: 8}, IntType{TypeCommon: TypeCommon{TypeName: "config2", IsOptional: false}, TypeSize: 8}, IntType{TypeCommon: TypeCommon{TypeName: "bsample", IsOptional: false}, TypeSize: 8}, IntType{TypeCommon: TypeCommon{TypeName: "regs", IsOptional: false}, TypeSize: 8}, IntType{TypeCommon: TypeCommon{TypeName: "stack", IsOptional: false}, TypeSize: 8}, FlagsType{TypeCommon: TypeCommon{TypeName: "clockid", IsOptional: false}, TypeSize: 4, Vals: []uintptr{0, 5, 1, 6, 4, 7, 2, 3}}, ConstType{TypeCommon: TypeCommon{TypeName: "pad", IsOptional: false}, TypeSize: 4, Val: uintptr(0)}, IntType{TypeCommon: TypeCommon{TypeName: "regs2", IsOptional: false}, TypeSize: 8}, IntType{TypeCommon: TypeCommon{TypeName: "auxwm", IsOptional: false}, TypeSize: 4}, ConstType{TypeCommon: TypeCommon{TypeName: "pad", IsOptional: false}, TypeSize: 4, Val: uintptr(0)}}}, Dir: DirIn}, ResourceType{TypeCommon: TypeCommon{TypeName: "pid", IsOptional: false}, Kind: ResPid}, IntType{TypeCommon: TypeCommon{TypeName: "cpu", IsOptional: false}, TypeSize: 8}, ResourceType{TypeCommon: TypeCommon{TypeName: "group", IsOptional: false}, Kind: ResFD, Subkind: FdPerf}, FlagsType{TypeCommon: TypeCommon{TypeName: "flags", IsOptional: false}, TypeSize: 0, Vals: []uintptr{1, 2, 4, 8}}}}, + &Call{ID: 530, Name: "ioctl$PERF_EVENT_IOC_ENABLE", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdPerf}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(9216)}, IntType{TypeCommon: TypeCommon{TypeName: "flags", IsOptional: false}, TypeSize: 8}}}, + &Call{ID: 531, Name: "ioctl$PERF_EVENT_IOC_DISABLE", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdPerf}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(9217)}, IntType{TypeCommon: TypeCommon{TypeName: "flags", IsOptional: false}, TypeSize: 8}}}, + &Call{ID: 532, Name: "ioctl$PERF_EVENT_IOC_RESET", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdPerf}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(9219)}, IntType{TypeCommon: TypeCommon{TypeName: "flags", IsOptional: false}, TypeSize: 8}}}, + &Call{ID: 533, Name: "ioctl$PERF_EVENT_IOC_REFRESH", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdPerf}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(9218)}, IntType{TypeCommon: TypeCommon{TypeName: "refresh", IsOptional: false}, TypeSize: 8}}}, + &Call{ID: 534, Name: "ioctl$PERF_EVENT_IOC_PERIOD", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdPerf}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1074275332)}, PtrType{TypeCommon: TypeCommon{TypeName: "period", IsOptional: false}, Type: IntType{TypeCommon: TypeCommon{TypeName: "", IsOptional: false}, TypeSize: 8}, Dir: DirIn}}}, + &Call{ID: 535, Name: "ioctl$PERF_EVENT_IOC_ID", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdPerf}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(2148017159)}, PtrType{TypeCommon: TypeCommon{TypeName: "id", IsOptional: false}, Type: IntType{TypeCommon: TypeCommon{TypeName: "", IsOptional: false}, TypeSize: 8}, Dir: DirOut}}}, + &Call{ID: 536, Name: "ioctl$PERF_EVENT_IOC_SET_OUTPUT", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdPerf}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(9221)}, ResourceType{TypeCommon: TypeCommon{TypeName: "other", IsOptional: false}, Kind: ResFD, Subkind: FdPerf}}}, + &Call{ID: 537, Name: "ioctl$PERF_EVENT_IOC_SET_FILTER", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdPerf}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1074275334)}, PtrType{TypeCommon: TypeCommon{TypeName: "filter", IsOptional: false}, Dir: DirIn, Type: BufferType{TypeCommon: TypeCommon{TypeName: "filter", IsOptional: false}, Kind: BufferString}}}}, + &Call{ID: 538, Name: "ioctl$PERF_EVENT_IOC_SET_BPF", CallName: "ioctl", Args: []Type{ResourceType{TypeCommon: TypeCommon{TypeName: "fd", IsOptional: false}, Kind: ResFD, Subkind: FdPerf}, ConstType{TypeCommon: TypeCommon{TypeName: "cmd", IsOptional: false}, TypeSize: 0, Val: uintptr(1074013192)}, ResourceType{TypeCommon: TypeCommon{TypeName: "prog", IsOptional: false}, Kind: ResFD, Subkind: FdBpfProg}}}, } diff --git a/sys/sys.txt b/sys/sys.txt index 4f28c9efe..8cf1b49a8 100644 --- a/sys/sys.txt +++ b/sys/sys.txt @@ -2451,6 +2451,16 @@ define SO_ATTACH_BPF 50 perf_event_open(attr ptr[in, perf_event_attr], pid pid, cpu intptr, group fd[perf], flags flags[perf_flags]) fd[perf] +ioctl$PERF_EVENT_IOC_ENABLE(fd fd[perf], cmd const[PERF_EVENT_IOC_ENABLE], flags intptr) +ioctl$PERF_EVENT_IOC_DISABLE(fd fd[perf], cmd const[PERF_EVENT_IOC_DISABLE], flags intptr) +ioctl$PERF_EVENT_IOC_RESET(fd fd[perf], cmd const[PERF_EVENT_IOC_RESET], flags intptr) +ioctl$PERF_EVENT_IOC_REFRESH(fd fd[perf], cmd const[PERF_EVENT_IOC_REFRESH], refresh intptr) +ioctl$PERF_EVENT_IOC_PERIOD(fd fd[perf], cmd const[PERF_EVENT_IOC_PERIOD], period ptr[in, int64]) +ioctl$PERF_EVENT_IOC_ID(fd fd[perf], cmd const[PERF_EVENT_IOC_ID], id ptr[out, int64]) +ioctl$PERF_EVENT_IOC_SET_OUTPUT(fd fd[perf], cmd const[PERF_EVENT_IOC_SET_OUTPUT], other fd[perf]) +ioctl$PERF_EVENT_IOC_SET_FILTER(fd fd[perf], cmd const[PERF_EVENT_IOC_SET_FILTER], filter string) +ioctl$PERF_EVENT_IOC_SET_BPF(fd fd[perf], cmd const[PERF_EVENT_IOC_SET_BPF], prog fd[bpf_prog]) + perf_flags = PERF_FLAG_FD_NO_GROUP, PERF_FLAG_FD_OUTPUT, PERF_FLAG_PID_CGROUP, PERF_FLAG_FD_CLOEXEC perf_event_type = PERF_TYPE_HARDWARE, PERF_TYPE_SOFTWARE, PERF_TYPE_TRACEPOINT, PERF_TYPE_HW_CACHE, PERF_TYPE_RAW, PERF_TYPE_BREAKPOINT perf_bp_type = HW_BREAKPOINT_EMPTY, HW_BREAKPOINT_R, HW_BREAKPOINT_W, HW_BREAKPOINT_X @@ -2487,3 +2497,4 @@ perf_event_attr { } define PERF_FLAG_FD_CLOEXEC (1UL << 3) +define PERF_EVENT_IOC_SET_BPF _IOW('$', 8, __u32) |
