diff options
Diffstat (limited to 'tools/include')
| -rw-r--r-- | tools/include/linux/kmemcheck.h | 1 | ||||
| -rw-r--r-- | tools/include/uapi/asm-generic/bpf_perf_event.h | 9 | ||||
| -rw-r--r-- | tools/include/uapi/asm-generic/mman.h | 1 | ||||
| -rw-r--r-- | tools/include/uapi/drm/drm.h | 41 | ||||
| -rw-r--r-- | tools/include/uapi/drm/i915_drm.h | 33 | ||||
| -rw-r--r-- | tools/include/uapi/linux/bpf_perf_event.h | 6 | ||||
| -rw-r--r-- | tools/include/uapi/linux/kcmp.h | 1 | ||||
| -rw-r--r-- | tools/include/uapi/linux/kvm.h | 1 | ||||
| -rw-r--r-- | tools/include/uapi/linux/perf_event.h | 1 | ||||
| -rw-r--r-- | tools/include/uapi/linux/prctl.h | 10 |
10 files changed, 94 insertions, 10 deletions
diff --git a/tools/include/linux/kmemcheck.h b/tools/include/linux/kmemcheck.h deleted file mode 100644 index ea32a7d3cf1b..000000000000 --- a/tools/include/linux/kmemcheck.h +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
diff --git a/tools/include/uapi/asm-generic/bpf_perf_event.h b/tools/include/uapi/asm-generic/bpf_perf_event.h new file mode 100644 index 000000000000..53815d2cd047 --- /dev/null +++ b/tools/include/uapi/asm-generic/bpf_perf_event.h | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | #ifndef _UAPI__ASM_GENERIC_BPF_PERF_EVENT_H__ | ||
| 2 | #define _UAPI__ASM_GENERIC_BPF_PERF_EVENT_H__ | ||
| 3 | |||
| 4 | #include <linux/ptrace.h> | ||
| 5 | |||
| 6 | /* Export kernel pt_regs structure */ | ||
| 7 | typedef struct pt_regs bpf_user_pt_regs_t; | ||
| 8 | |||
| 9 | #endif /* _UAPI__ASM_GENERIC_BPF_PERF_EVENT_H__ */ | ||
diff --git a/tools/include/uapi/asm-generic/mman.h b/tools/include/uapi/asm-generic/mman.h index 2dffcbf705b3..653687d9771b 100644 --- a/tools/include/uapi/asm-generic/mman.h +++ b/tools/include/uapi/asm-generic/mman.h | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | #define MAP_NONBLOCK 0x10000 /* do not block on IO */ | 13 | #define MAP_NONBLOCK 0x10000 /* do not block on IO */ |
| 14 | #define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */ | 14 | #define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */ |
| 15 | #define MAP_HUGETLB 0x40000 /* create a huge page mapping */ | 15 | #define MAP_HUGETLB 0x40000 /* create a huge page mapping */ |
| 16 | #define MAP_SYNC 0x80000 /* perform synchronous page faults for the mapping */ | ||
| 16 | 17 | ||
| 17 | /* Bits [26:31] are reserved, see mman-common.h for MAP_HUGETLB usage */ | 18 | /* Bits [26:31] are reserved, see mman-common.h for MAP_HUGETLB usage */ |
| 18 | 19 | ||
diff --git a/tools/include/uapi/drm/drm.h b/tools/include/uapi/drm/drm.h index 97677cd6964d..6fdff5945c8a 100644 --- a/tools/include/uapi/drm/drm.h +++ b/tools/include/uapi/drm/drm.h | |||
| @@ -737,6 +737,28 @@ struct drm_syncobj_array { | |||
| 737 | __u32 pad; | 737 | __u32 pad; |
| 738 | }; | 738 | }; |
| 739 | 739 | ||
| 740 | /* Query current scanout sequence number */ | ||
| 741 | struct drm_crtc_get_sequence { | ||
| 742 | __u32 crtc_id; /* requested crtc_id */ | ||
| 743 | __u32 active; /* return: crtc output is active */ | ||
| 744 | __u64 sequence; /* return: most recent vblank sequence */ | ||
| 745 | __s64 sequence_ns; /* return: most recent time of first pixel out */ | ||
| 746 | }; | ||
| 747 | |||
| 748 | /* Queue event to be delivered at specified sequence. Time stamp marks | ||
| 749 | * when the first pixel of the refresh cycle leaves the display engine | ||
| 750 | * for the display | ||
| 751 | */ | ||
| 752 | #define DRM_CRTC_SEQUENCE_RELATIVE 0x00000001 /* sequence is relative to current */ | ||
| 753 | #define DRM_CRTC_SEQUENCE_NEXT_ON_MISS 0x00000002 /* Use next sequence if we've missed */ | ||
| 754 | |||
| 755 | struct drm_crtc_queue_sequence { | ||
| 756 | __u32 crtc_id; | ||
| 757 | __u32 flags; | ||
| 758 | __u64 sequence; /* on input, target sequence. on output, actual sequence */ | ||
| 759 | __u64 user_data; /* user data passed to event */ | ||
| 760 | }; | ||
| 761 | |||
| 740 | #if defined(__cplusplus) | 762 | #if defined(__cplusplus) |
| 741 | } | 763 | } |
| 742 | #endif | 764 | #endif |
| @@ -819,6 +841,9 @@ extern "C" { | |||
| 819 | 841 | ||
| 820 | #define DRM_IOCTL_WAIT_VBLANK DRM_IOWR(0x3a, union drm_wait_vblank) | 842 | #define DRM_IOCTL_WAIT_VBLANK DRM_IOWR(0x3a, union drm_wait_vblank) |
| 821 | 843 | ||
| 844 | #define DRM_IOCTL_CRTC_GET_SEQUENCE DRM_IOWR(0x3b, struct drm_crtc_get_sequence) | ||
| 845 | #define DRM_IOCTL_CRTC_QUEUE_SEQUENCE DRM_IOWR(0x3c, struct drm_crtc_queue_sequence) | ||
| 846 | |||
| 822 | #define DRM_IOCTL_UPDATE_DRAW DRM_IOW(0x3f, struct drm_update_draw) | 847 | #define DRM_IOCTL_UPDATE_DRAW DRM_IOW(0x3f, struct drm_update_draw) |
| 823 | 848 | ||
| 824 | #define DRM_IOCTL_MODE_GETRESOURCES DRM_IOWR(0xA0, struct drm_mode_card_res) | 849 | #define DRM_IOCTL_MODE_GETRESOURCES DRM_IOWR(0xA0, struct drm_mode_card_res) |
| @@ -863,6 +888,11 @@ extern "C" { | |||
| 863 | #define DRM_IOCTL_SYNCOBJ_RESET DRM_IOWR(0xC4, struct drm_syncobj_array) | 888 | #define DRM_IOCTL_SYNCOBJ_RESET DRM_IOWR(0xC4, struct drm_syncobj_array) |
| 864 | #define DRM_IOCTL_SYNCOBJ_SIGNAL DRM_IOWR(0xC5, struct drm_syncobj_array) | 889 | #define DRM_IOCTL_SYNCOBJ_SIGNAL DRM_IOWR(0xC5, struct drm_syncobj_array) |
| 865 | 890 | ||
| 891 | #define DRM_IOCTL_MODE_CREATE_LEASE DRM_IOWR(0xC6, struct drm_mode_create_lease) | ||
| 892 | #define DRM_IOCTL_MODE_LIST_LESSEES DRM_IOWR(0xC7, struct drm_mode_list_lessees) | ||
| 893 | #define DRM_IOCTL_MODE_GET_LEASE DRM_IOWR(0xC8, struct drm_mode_get_lease) | ||
| 894 | #define DRM_IOCTL_MODE_REVOKE_LEASE DRM_IOWR(0xC9, struct drm_mode_revoke_lease) | ||
| 895 | |||
| 866 | /** | 896 | /** |
| 867 | * Device specific ioctls should only be in their respective headers | 897 | * Device specific ioctls should only be in their respective headers |
| 868 | * The device specific ioctl range is from 0x40 to 0x9f. | 898 | * The device specific ioctl range is from 0x40 to 0x9f. |
| @@ -893,6 +923,7 @@ struct drm_event { | |||
| 893 | 923 | ||
| 894 | #define DRM_EVENT_VBLANK 0x01 | 924 | #define DRM_EVENT_VBLANK 0x01 |
| 895 | #define DRM_EVENT_FLIP_COMPLETE 0x02 | 925 | #define DRM_EVENT_FLIP_COMPLETE 0x02 |
| 926 | #define DRM_EVENT_CRTC_SEQUENCE 0x03 | ||
| 896 | 927 | ||
| 897 | struct drm_event_vblank { | 928 | struct drm_event_vblank { |
| 898 | struct drm_event base; | 929 | struct drm_event base; |
| @@ -903,6 +934,16 @@ struct drm_event_vblank { | |||
| 903 | __u32 crtc_id; /* 0 on older kernels that do not support this */ | 934 | __u32 crtc_id; /* 0 on older kernels that do not support this */ |
| 904 | }; | 935 | }; |
| 905 | 936 | ||
| 937 | /* Event delivered at sequence. Time stamp marks when the first pixel | ||
| 938 | * of the refresh cycle leaves the display engine for the display | ||
| 939 | */ | ||
| 940 | struct drm_event_crtc_sequence { | ||
| 941 | struct drm_event base; | ||
| 942 | __u64 user_data; | ||
| 943 | __s64 time_ns; | ||
| 944 | __u64 sequence; | ||
| 945 | }; | ||
| 946 | |||
| 906 | /* typedef area */ | 947 | /* typedef area */ |
| 907 | #ifndef __KERNEL__ | 948 | #ifndef __KERNEL__ |
| 908 | typedef struct drm_clip_rect drm_clip_rect_t; | 949 | typedef struct drm_clip_rect drm_clip_rect_t; |
diff --git a/tools/include/uapi/drm/i915_drm.h b/tools/include/uapi/drm/i915_drm.h index 9816590d3ad2..ac3c6503ca27 100644 --- a/tools/include/uapi/drm/i915_drm.h +++ b/tools/include/uapi/drm/i915_drm.h | |||
| @@ -397,10 +397,20 @@ typedef struct drm_i915_irq_wait { | |||
| 397 | #define I915_PARAM_MIN_EU_IN_POOL 39 | 397 | #define I915_PARAM_MIN_EU_IN_POOL 39 |
| 398 | #define I915_PARAM_MMAP_GTT_VERSION 40 | 398 | #define I915_PARAM_MMAP_GTT_VERSION 40 |
| 399 | 399 | ||
| 400 | /* Query whether DRM_I915_GEM_EXECBUFFER2 supports user defined execution | 400 | /* |
| 401 | * Query whether DRM_I915_GEM_EXECBUFFER2 supports user defined execution | ||
| 401 | * priorities and the driver will attempt to execute batches in priority order. | 402 | * priorities and the driver will attempt to execute batches in priority order. |
| 403 | * The param returns a capability bitmask, nonzero implies that the scheduler | ||
| 404 | * is enabled, with different features present according to the mask. | ||
| 405 | * | ||
| 406 | * The initial priority for each batch is supplied by the context and is | ||
| 407 | * controlled via I915_CONTEXT_PARAM_PRIORITY. | ||
| 402 | */ | 408 | */ |
| 403 | #define I915_PARAM_HAS_SCHEDULER 41 | 409 | #define I915_PARAM_HAS_SCHEDULER 41 |
| 410 | #define I915_SCHEDULER_CAP_ENABLED (1ul << 0) | ||
| 411 | #define I915_SCHEDULER_CAP_PRIORITY (1ul << 1) | ||
| 412 | #define I915_SCHEDULER_CAP_PREEMPTION (1ul << 2) | ||
| 413 | |||
| 404 | #define I915_PARAM_HUC_STATUS 42 | 414 | #define I915_PARAM_HUC_STATUS 42 |
| 405 | 415 | ||
| 406 | /* Query whether DRM_I915_GEM_EXECBUFFER2 supports the ability to opt-out of | 416 | /* Query whether DRM_I915_GEM_EXECBUFFER2 supports the ability to opt-out of |
| @@ -1309,14 +1319,16 @@ struct drm_i915_reg_read { | |||
| 1309 | * be specified | 1319 | * be specified |
| 1310 | */ | 1320 | */ |
| 1311 | __u64 offset; | 1321 | __u64 offset; |
| 1322 | #define I915_REG_READ_8B_WA (1ul << 0) | ||
| 1323 | |||
| 1312 | __u64 val; /* Return value */ | 1324 | __u64 val; /* Return value */ |
| 1313 | }; | 1325 | }; |
| 1314 | /* Known registers: | 1326 | /* Known registers: |
| 1315 | * | 1327 | * |
| 1316 | * Render engine timestamp - 0x2358 + 64bit - gen7+ | 1328 | * Render engine timestamp - 0x2358 + 64bit - gen7+ |
| 1317 | * - Note this register returns an invalid value if using the default | 1329 | * - Note this register returns an invalid value if using the default |
| 1318 | * single instruction 8byte read, in order to workaround that use | 1330 | * single instruction 8byte read, in order to workaround that pass |
| 1319 | * offset (0x2538 | 1) instead. | 1331 | * flag I915_REG_READ_8B_WA in offset field. |
| 1320 | * | 1332 | * |
| 1321 | */ | 1333 | */ |
| 1322 | 1334 | ||
| @@ -1359,6 +1371,10 @@ struct drm_i915_gem_context_param { | |||
| 1359 | #define I915_CONTEXT_PARAM_GTT_SIZE 0x3 | 1371 | #define I915_CONTEXT_PARAM_GTT_SIZE 0x3 |
| 1360 | #define I915_CONTEXT_PARAM_NO_ERROR_CAPTURE 0x4 | 1372 | #define I915_CONTEXT_PARAM_NO_ERROR_CAPTURE 0x4 |
| 1361 | #define I915_CONTEXT_PARAM_BANNABLE 0x5 | 1373 | #define I915_CONTEXT_PARAM_BANNABLE 0x5 |
| 1374 | #define I915_CONTEXT_PARAM_PRIORITY 0x6 | ||
| 1375 | #define I915_CONTEXT_MAX_USER_PRIORITY 1023 /* inclusive */ | ||
| 1376 | #define I915_CONTEXT_DEFAULT_PRIORITY 0 | ||
| 1377 | #define I915_CONTEXT_MIN_USER_PRIORITY -1023 /* inclusive */ | ||
| 1362 | __u64 value; | 1378 | __u64 value; |
| 1363 | }; | 1379 | }; |
| 1364 | 1380 | ||
| @@ -1510,9 +1526,14 @@ struct drm_i915_perf_oa_config { | |||
| 1510 | __u32 n_boolean_regs; | 1526 | __u32 n_boolean_regs; |
| 1511 | __u32 n_flex_regs; | 1527 | __u32 n_flex_regs; |
| 1512 | 1528 | ||
| 1513 | __u64 __user mux_regs_ptr; | 1529 | /* |
| 1514 | __u64 __user boolean_regs_ptr; | 1530 | * These fields are pointers to tuples of u32 values (register |
| 1515 | __u64 __user flex_regs_ptr; | 1531 | * address, value). For example the expected length of the buffer |
| 1532 | * pointed by mux_regs_ptr is (2 * sizeof(u32) * n_mux_regs). | ||
| 1533 | */ | ||
| 1534 | __u64 mux_regs_ptr; | ||
| 1535 | __u64 boolean_regs_ptr; | ||
| 1536 | __u64 flex_regs_ptr; | ||
| 1516 | }; | 1537 | }; |
| 1517 | 1538 | ||
| 1518 | #if defined(__cplusplus) | 1539 | #if defined(__cplusplus) |
diff --git a/tools/include/uapi/linux/bpf_perf_event.h b/tools/include/uapi/linux/bpf_perf_event.h index 067427259820..8f95303f9d80 100644 --- a/tools/include/uapi/linux/bpf_perf_event.h +++ b/tools/include/uapi/linux/bpf_perf_event.h | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
| 1 | /* Copyright (c) 2016 Facebook | 2 | /* Copyright (c) 2016 Facebook |
| 2 | * | 3 | * |
| 3 | * This program is free software; you can redistribute it and/or | 4 | * This program is free software; you can redistribute it and/or |
| @@ -7,11 +8,10 @@ | |||
| 7 | #ifndef _UAPI__LINUX_BPF_PERF_EVENT_H__ | 8 | #ifndef _UAPI__LINUX_BPF_PERF_EVENT_H__ |
| 8 | #define _UAPI__LINUX_BPF_PERF_EVENT_H__ | 9 | #define _UAPI__LINUX_BPF_PERF_EVENT_H__ |
| 9 | 10 | ||
| 10 | #include <linux/types.h> | 11 | #include <asm/bpf_perf_event.h> |
| 11 | #include <linux/ptrace.h> | ||
| 12 | 12 | ||
| 13 | struct bpf_perf_event_data { | 13 | struct bpf_perf_event_data { |
| 14 | struct pt_regs regs; | 14 | bpf_user_pt_regs_t regs; |
| 15 | __u64 sample_period; | 15 | __u64 sample_period; |
| 16 | }; | 16 | }; |
| 17 | 17 | ||
diff --git a/tools/include/uapi/linux/kcmp.h b/tools/include/uapi/linux/kcmp.h index 481e103da78e..ef1305010925 100644 --- a/tools/include/uapi/linux/kcmp.h +++ b/tools/include/uapi/linux/kcmp.h | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
| 1 | #ifndef _UAPI_LINUX_KCMP_H | 2 | #ifndef _UAPI_LINUX_KCMP_H |
| 2 | #define _UAPI_LINUX_KCMP_H | 3 | #define _UAPI_LINUX_KCMP_H |
| 3 | 4 | ||
diff --git a/tools/include/uapi/linux/kvm.h b/tools/include/uapi/linux/kvm.h index 7e99999d6236..282d7613fce8 100644 --- a/tools/include/uapi/linux/kvm.h +++ b/tools/include/uapi/linux/kvm.h | |||
| @@ -931,6 +931,7 @@ struct kvm_ppc_resize_hpt { | |||
| 931 | #define KVM_CAP_PPC_SMT_POSSIBLE 147 | 931 | #define KVM_CAP_PPC_SMT_POSSIBLE 147 |
| 932 | #define KVM_CAP_HYPERV_SYNIC2 148 | 932 | #define KVM_CAP_HYPERV_SYNIC2 148 |
| 933 | #define KVM_CAP_HYPERV_VP_INDEX 149 | 933 | #define KVM_CAP_HYPERV_VP_INDEX 149 |
| 934 | #define KVM_CAP_S390_AIS_MIGRATION 150 | ||
| 934 | 935 | ||
| 935 | #ifdef KVM_CAP_IRQ_ROUTING | 936 | #ifdef KVM_CAP_IRQ_ROUTING |
| 936 | 937 | ||
diff --git a/tools/include/uapi/linux/perf_event.h b/tools/include/uapi/linux/perf_event.h index 362493a2f950..b9a4953018ed 100644 --- a/tools/include/uapi/linux/perf_event.h +++ b/tools/include/uapi/linux/perf_event.h | |||
| @@ -942,6 +942,7 @@ enum perf_callchain_context { | |||
| 942 | #define PERF_AUX_FLAG_TRUNCATED 0x01 /* record was truncated to fit */ | 942 | #define PERF_AUX_FLAG_TRUNCATED 0x01 /* record was truncated to fit */ |
| 943 | #define PERF_AUX_FLAG_OVERWRITE 0x02 /* snapshot from overwrite mode */ | 943 | #define PERF_AUX_FLAG_OVERWRITE 0x02 /* snapshot from overwrite mode */ |
| 944 | #define PERF_AUX_FLAG_PARTIAL 0x04 /* record contains gaps */ | 944 | #define PERF_AUX_FLAG_PARTIAL 0x04 /* record contains gaps */ |
| 945 | #define PERF_AUX_FLAG_COLLISION 0x08 /* sample collided with another */ | ||
| 945 | 946 | ||
| 946 | #define PERF_FLAG_FD_NO_GROUP (1UL << 0) | 947 | #define PERF_FLAG_FD_NO_GROUP (1UL << 0) |
| 947 | #define PERF_FLAG_FD_OUTPUT (1UL << 1) | 948 | #define PERF_FLAG_FD_OUTPUT (1UL << 1) |
diff --git a/tools/include/uapi/linux/prctl.h b/tools/include/uapi/linux/prctl.h index a8d0759a9e40..af5f8c2df87a 100644 --- a/tools/include/uapi/linux/prctl.h +++ b/tools/include/uapi/linux/prctl.h | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
| 1 | #ifndef _LINUX_PRCTL_H | 2 | #ifndef _LINUX_PRCTL_H |
| 2 | #define _LINUX_PRCTL_H | 3 | #define _LINUX_PRCTL_H |
| 3 | 4 | ||
| @@ -197,4 +198,13 @@ struct prctl_mm_map { | |||
| 197 | # define PR_CAP_AMBIENT_LOWER 3 | 198 | # define PR_CAP_AMBIENT_LOWER 3 |
| 198 | # define PR_CAP_AMBIENT_CLEAR_ALL 4 | 199 | # define PR_CAP_AMBIENT_CLEAR_ALL 4 |
| 199 | 200 | ||
| 201 | /* arm64 Scalable Vector Extension controls */ | ||
| 202 | /* Flag values must be kept in sync with ptrace NT_ARM_SVE interface */ | ||
| 203 | #define PR_SVE_SET_VL 50 /* set task vector length */ | ||
| 204 | # define PR_SVE_SET_VL_ONEXEC (1 << 18) /* defer effect until exec */ | ||
| 205 | #define PR_SVE_GET_VL 51 /* get task vector length */ | ||
| 206 | /* Bits common to PR_SVE_SET_VL and PR_SVE_GET_VL */ | ||
| 207 | # define PR_SVE_VL_LEN_MASK 0xffff | ||
| 208 | # define PR_SVE_VL_INHERIT (1 << 17) /* inherit across exec */ | ||
| 209 | |||
| 200 | #endif /* _LINUX_PRCTL_H */ | 210 | #endif /* _LINUX_PRCTL_H */ |
