d95c3886 parents 0bcfa62 5cd3f2e 8dd8f00 9378bfe ceedd5f 29fcea89583 files · +20879 −63346Browse filesShowing the changes to include/uapi (8 of 9583 files). Show all
Unified · Split
| @@ -192,6 +192,8 @@ enum bpf_attach_type { · 191 unmodified lines | |||
| 192 | BPF_LIRC_MODE2, | 192 | BPF_LIRC_MODE2, |
| 193 | BPF_FLOW_DISSECTOR, | 193 | BPF_FLOW_DISSECTOR, |
| 194 | BPF_CGROUP_SYSCTL, | 194 | BPF_CGROUP_SYSCTL, |
| 195 | BPF_CGROUP_UDP4_RECVMSG, | ||
| 196 | BPF_CGROUP_UDP6_RECVMSG, | ||
| 195 | __MAX_BPF_ATTACH_TYPE | 197 | __MAX_BPF_ATTACH_TYPE |
| 196 | }; | 198 | }; |
| 197 | 199 | ||
| @@ -3376,8 +3378,8 @@ struct bpf_raw_tracepoint_args { · 3178 unmodified lines | |||
| 3376 | /* DIRECT: Skip the FIB rules and go to FIB table associated with device | 3378 | /* DIRECT: Skip the FIB rules and go to FIB table associated with device |
| 3377 | * OUTPUT: Do lookup from egress perspective; default is ingress | 3379 | * OUTPUT: Do lookup from egress perspective; default is ingress |
| 3378 | */ | 3380 | */ |
| 3379 | #define BPF_FIB_LOOKUP_DIRECT BIT(0) | 3381 | #define BPF_FIB_LOOKUP_DIRECT (1U << 0) |
| 3380 | #define BPF_FIB_LOOKUP_OUTPUT BIT(1) | 3382 | #define BPF_FIB_LOOKUP_OUTPUT (1U << 1) |
| 3381 | 3383 | ||
| 3382 | enum { | 3384 | enum { |
| 3383 | BPF_FIB_LKUP_RET_SUCCESS, /* lookup successful */ | 3385 | BPF_FIB_LKUP_RET_SUCCESS, /* lookup successful */ |
| @@ -130,6 +130,9 @@ · 129 unmodified lines | |||
| 130 | * 7.30 | 130 | * 7.30 |
| 131 | * - add FUSE_EXPLICIT_INVAL_DATA | 131 | * - add FUSE_EXPLICIT_INVAL_DATA |
| 132 | * - add FUSE_IOCTL_COMPAT_X32 | 132 | * - add FUSE_IOCTL_COMPAT_X32 |
| 133 | * | ||
| 134 | * 7.31 | ||
| 135 | * - add FUSE_WRITE_KILL_PRIV flag | ||
| 133 | */ | 136 | */ |
| 134 | 137 | ||
| 135 | #ifndef _LINUX_FUSE_H | 138 | #ifndef _LINUX_FUSE_H |
| @@ -165,7 +168,7 @@ · 29 unmodified lines | |||
| 165 | #define FUSE_KERNEL_VERSION 7 | 168 | #define FUSE_KERNEL_VERSION 7 |
| 166 | 169 | ||
| 167 | /** Minor version number of this interface */ | 170 | /** Minor version number of this interface */ |
| 168 | #define FUSE_KERNEL_MINOR_VERSION 30 | 171 | #define FUSE_KERNEL_MINOR_VERSION 31 |
| 169 | 172 | ||
| 170 | /** The node ID of the root inode */ | 173 | /** The node ID of the root inode */ |
| 171 | #define FUSE_ROOT_ID 1 | 174 | #define FUSE_ROOT_ID 1 |
| @@ -327,9 +330,11 @@ struct fuse_file_lock { · 155 unmodified lines | |||
| 327 | * | 330 | * |
| 328 | * FUSE_WRITE_CACHE: delayed write from page cache, file handle is guessed | 331 | * FUSE_WRITE_CACHE: delayed write from page cache, file handle is guessed |
| 329 | * FUSE_WRITE_LOCKOWNER: lock_owner field is valid | 332 | * FUSE_WRITE_LOCKOWNER: lock_owner field is valid |
| 333 | * FUSE_WRITE_KILL_PRIV: kill suid and sgid bits | ||
| 330 | */ | 334 | */ |
| 331 | #define FUSE_WRITE_CACHE (1 << 0) | 335 | #define FUSE_WRITE_CACHE (1 << 0) |
| 332 | #define FUSE_WRITE_LOCKOWNER (1 << 1) | 336 | #define FUSE_WRITE_LOCKOWNER (1 << 1) |
| 337 | #define FUSE_WRITE_KILL_PRIV (1 << 2) | ||
| 333 | 338 | ||
| 334 | /** | 339 | /** |
| 335 | * Read flags | 340 | * Read flags |
| @@ -0,0 +1,155 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
| 2 | /* | ||
| 3 | * IOMMU user API definitions | ||
| 4 | */ | ||
| 5 | |||
| 6 | #ifndef _UAPI_IOMMU_H | ||
| 7 | #define _UAPI_IOMMU_H | ||
| 8 | |||
| 9 | #include <linux/types.h> | ||
| 10 | |||
| 11 | #define IOMMU_FAULT_PERM_READ (1 << 0) /* read */ | ||
| 12 | #define IOMMU_FAULT_PERM_WRITE (1 << 1) /* write */ | ||
| 13 | #define IOMMU_FAULT_PERM_EXEC (1 << 2) /* exec */ | ||
| 14 | #define IOMMU_FAULT_PERM_PRIV (1 << 3) /* privileged */ | ||
| 15 | |||
| 16 | /* Generic fault types, can be expanded IRQ remapping fault */ | ||
| 17 | enum iommu_fault_type { | ||
| 18 | IOMMU_FAULT_DMA_UNRECOV = 1, /* unrecoverable fault */ | ||
| 19 | IOMMU_FAULT_PAGE_REQ, /* page request fault */ | ||
| 20 | }; | ||
| 21 | |||
| 22 | enum iommu_fault_reason { | ||
| 23 | IOMMU_FAULT_REASON_UNKNOWN = 0, | ||
| 24 | |||
| 25 | /* Could not access the PASID table (fetch caused external abort) */ | ||
| 26 | IOMMU_FAULT_REASON_PASID_FETCH, | ||
| 27 | |||
| 28 | /* PASID entry is invalid or has configuration errors */ | ||
| 29 | IOMMU_FAULT_REASON_BAD_PASID_ENTRY, | ||
| 30 | |||
| 31 | /* | ||
| 32 | * PASID is out of range (e.g. exceeds the maximum PASID | ||
| 33 | * supported by the IOMMU) or disabled. | ||
| 34 | */ | ||
| 35 | IOMMU_FAULT_REASON_PASID_INVALID, | ||
| 36 | |||
| 37 | /* | ||
| 38 | * An external abort occurred fetching (or updating) a translation | ||
| 39 | * table descriptor | ||
| 40 | */ | ||
| 41 | IOMMU_FAULT_REASON_WALK_EABT, | ||
| 42 | |||
| 43 | /* | ||
| 44 | * Could not access the page table entry (Bad address), | ||
| 45 | * actual translation fault | ||
| 46 | */ | ||
| 47 | IOMMU_FAULT_REASON_PTE_FETCH, | ||
| 48 | |||
| 49 | /* Protection flag check failed */ | ||
| 50 | IOMMU_FAULT_REASON_PERMISSION, | ||
| 51 | |||
| 52 | /* access flag check failed */ | ||
| 53 | IOMMU_FAULT_REASON_ACCESS, | ||
| 54 | |||
| 55 | /* Output address of a translation stage caused Address Size fault */ | ||
| 56 | IOMMU_FAULT_REASON_OOR_ADDRESS, | ||
| 57 | }; | ||
| 58 | |||
| 59 | /** | ||
| 60 | * struct iommu_fault_unrecoverable - Unrecoverable fault data | ||
| 61 | * @reason: reason of the fault, from &enum iommu_fault_reason | ||
| 62 | * @flags: parameters of this fault (IOMMU_FAULT_UNRECOV_* values) | ||
| 63 | * @pasid: Process Address Space ID | ||
| 64 | * @perm: requested permission access using by the incoming transaction | ||
| 65 | * (IOMMU_FAULT_PERM_* values) | ||
| 66 | * @addr: offending page address | ||
| 67 | * @fetch_addr: address that caused a fetch abort, if any | ||
| 68 | */ | ||
| 69 | struct iommu_fault_unrecoverable { | ||
| 70 | __u32 reason; | ||
| 71 | #define IOMMU_FAULT_UNRECOV_PASID_VALID (1 << 0) | ||
| 72 | #define IOMMU_FAULT_UNRECOV_ADDR_VALID (1 << 1) | ||
| 73 | #define IOMMU_FAULT_UNRECOV_FETCH_ADDR_VALID (1 << 2) | ||
| 74 | __u32 flags; | ||
| 75 | __u32 pasid; | ||
| 76 | __u32 perm; | ||
| 77 | __u64 addr; | ||
| 78 | __u64 fetch_addr; | ||
| 79 | }; | ||
| 80 | |||
| 81 | /** | ||
| 82 | * struct iommu_fault_page_request - Page Request data | ||
| 83 | * @flags: encodes whether the corresponding fields are valid and whether this | ||
| 84 | * is the last page in group (IOMMU_FAULT_PAGE_REQUEST_* values) | ||
| 85 | * @pasid: Process Address Space ID | ||
| 86 | * @grpid: Page Request Group Index | ||
| 87 | * @perm: requested page permissions (IOMMU_FAULT_PERM_* values) | ||
| 88 | * @addr: page address | ||
| 89 | * @private_data: device-specific private information | ||
| 90 | */ | ||
| 91 | struct iommu_fault_page_request { | ||
| 92 | #define IOMMU_FAULT_PAGE_REQUEST_PASID_VALID (1 << 0) | ||
| 93 | #define IOMMU_FAULT_PAGE_REQUEST_LAST_PAGE (1 << 1) | ||
| 94 | #define IOMMU_FAULT_PAGE_REQUEST_PRIV_DATA (1 << 2) | ||
| 95 | __u32 flags; | ||
| 96 | __u32 pasid; | ||
| 97 | __u32 grpid; | ||
| 98 | __u32 perm; | ||
| 99 | __u64 addr; | ||
| 100 | __u64 private_data[2]; | ||
| 101 | }; | ||
| 102 | |||
| 103 | /** | ||
| 104 | * struct iommu_fault - Generic fault data | ||
| 105 | * @type: fault type from &enum iommu_fault_type | ||
| 106 | * @padding: reserved for future use (should be zero) | ||
| 107 | * @event: fault event, when @type is %IOMMU_FAULT_DMA_UNRECOV | ||
| 108 | * @prm: Page Request message, when @type is %IOMMU_FAULT_PAGE_REQ | ||
| 109 | * @padding2: sets the fault size to allow for future extensions | ||
| 110 | */ | ||
| 111 | struct iommu_fault { | ||
| 112 | __u32 type; | ||
| 113 | __u32 padding; | ||
| 114 | union { | ||
| 115 | struct iommu_fault_unrecoverable event; | ||
| 116 | struct iommu_fault_page_request prm; | ||
| 117 | __u8 padding2[56]; | ||
| 118 | }; | ||
| 119 | }; | ||
| 120 | |||
| 121 | /** | ||
| 122 | * enum iommu_page_response_code - Return status of fault handlers | ||
| 123 | * @IOMMU_PAGE_RESP_SUCCESS: Fault has been handled and the page tables | ||
| 124 | * populated, retry the access. This is "Success" in PCI PRI. | ||
| 125 | * @IOMMU_PAGE_RESP_FAILURE: General error. Drop all subsequent faults from | ||
| 126 | * this device if possible. This is "Response Failure" in PCI PRI. | ||
| 127 | * @IOMMU_PAGE_RESP_INVALID: Could not handle this fault, don't retry the | ||
| 128 | * access. This is "Invalid Request" in PCI PRI. | ||
| 129 | */ | ||
| 130 | enum iommu_page_response_code { | ||
| 131 | IOMMU_PAGE_RESP_SUCCESS = 0, | ||
| 132 | IOMMU_PAGE_RESP_INVALID, | ||
| 133 | IOMMU_PAGE_RESP_FAILURE, | ||
| 134 | }; | ||
| 135 | |||
| 136 | /** | ||
| 137 | * struct iommu_page_response - Generic page response information | ||
| 138 | * @version: API version of this structure | ||
| 139 | * @flags: encodes whether the corresponding fields are valid | ||
| 140 | * (IOMMU_FAULT_PAGE_RESPONSE_* values) | ||
| 141 | * @pasid: Process Address Space ID | ||
| 142 | * @grpid: Page Request Group Index | ||
| 143 | * @code: response code from &enum iommu_page_response_code | ||
| 144 | */ | ||
| 145 | struct iommu_page_response { | ||
| 146 | #define IOMMU_PAGE_RESP_VERSION_1 1 | ||
| 147 | __u32 version; | ||
| 148 | #define IOMMU_PAGE_RESP_PASID_VALID (1 << 0) | ||
| 149 | __u32 flags; | ||
| 150 | __u32 pasid; | ||
| 151 | __u32 grpid; | ||
| 152 | __u32 code; | ||
| 153 | }; | ||
| 154 | |||
| 155 | #endif /* _UAPI_IOMMU_H */ | ||
| @@ -1,3 +1,4 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
| 1 | /* | 2 | /* |
| 2 | * Userspace interface for AMD Secure Encrypted Virtualization (SEV) | 3 | * Userspace interface for AMD Secure Encrypted Virtualization (SEV) |
| 3 | * platform management commands. | 4 | * platform management commands. |
| @@ -7,10 +8,6 @@ · 3 unmodified lines | |||
| 7 | * Author: Brijesh Singh <brijesh.singh@amd.com> | 8 | * Author: Brijesh Singh <brijesh.singh@amd.com> |
| 8 | * | 9 | * |
| 9 | * SEV API specification is available at: https://developer.amd.com/sev/ | 10 | * SEV API specification is available at: https://developer.amd.com/sev/ |
| 10 | * | ||
| 11 | * This program is free software; you can redistribute it and/or modify | ||
| 12 | * it under the terms of the GNU General Public License version 2 as | ||
| 13 | * published by the Free Software Foundation. | ||
| 14 | */ | 11 | */ |
| 15 | 12 | ||
| 16 | #ifndef __PSP_SEV_USER_H__ | 13 | #ifndef __PSP_SEV_USER_H__ |
| @@ -283,6 +283,7 @@ enum · 282 unmodified lines | |||
| 283 | LINUX_MIB_TCPACKCOMPRESSED, /* TCPAckCompressed */ | 283 | LINUX_MIB_TCPACKCOMPRESSED, /* TCPAckCompressed */ |
| 284 | LINUX_MIB_TCPZEROWINDOWDROP, /* TCPZeroWindowDrop */ | 284 | LINUX_MIB_TCPZEROWINDOWDROP, /* TCPZeroWindowDrop */ |
| 285 | LINUX_MIB_TCPRCVQDROP, /* TCPRcvQDrop */ | 285 | LINUX_MIB_TCPRCVQDROP, /* TCPRcvQDrop */ |
| 286 | LINUX_MIB_TCPWQUEUETOOBIG, /* TCPWqueueTooBig */ | ||
| 286 | __LINUX_MIB_MAX | 287 | __LINUX_MIB_MAX |
| 287 | }; | 288 | }; |
| 288 | 289 | ||
| @@ -1,11 +1,8 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
| 1 | /* | 2 | /* |
| 2 | * User API methods for ACPI-WMI mapping driver | 3 | * User API methods for ACPI-WMI mapping driver |
| 3 | * | 4 | * |
| 4 | * Copyright (C) 2017 Dell, Inc. | 5 | * Copyright (C) 2017 Dell, Inc. |
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License version 2 as | ||
| 8 | * published by the Free Software Foundation. | ||
| 9 | */ | 6 | */ |
| 10 | #ifndef _UAPI_LINUX_WMI_H | 7 | #ifndef _UAPI_LINUX_WMI_H |
| 11 | #define _UAPI_LINUX_WMI_H | 8 | #define _UAPI_LINUX_WMI_H |
| @@ -413,6 +413,10 @@ struct hl_debug_params_spmu { · 412 unmodified lines | |||
| 413 | #define HL_DEBUG_OP_SPMU 5 | 413 | #define HL_DEBUG_OP_SPMU 5 |
| 414 | /* Opcode for timestamp */ | 414 | /* Opcode for timestamp */ |
| 415 | #define HL_DEBUG_OP_TIMESTAMP 6 | 415 | #define HL_DEBUG_OP_TIMESTAMP 6 |
| 416 | /* Opcode for setting the device into or out of debug mode. The enable | ||
| 417 | * variable should be 1 for enabling debug mode and 0 for disabling it | ||
| 418 | */ | ||
| 419 | #define HL_DEBUG_OP_SET_MODE 7 | ||
| 416 | 420 | ||
| 417 | struct hl_debug_args { | 421 | struct hl_debug_args { |
| 418 | /* | 422 | /* |
| @@ -574,8 +578,22 @@ struct hl_debug_args { · 155 unmodified lines | |||
| 574 | * | 578 | * |
| 575 | * This IOCTL allows the user to get debug traces from the chip. | 579 | * This IOCTL allows the user to get debug traces from the chip. |
| 576 | * | 580 | * |
| 577 | * The user needs to provide the register index and essential data such as | 581 | * Before the user can send configuration requests of the various |
| 578 | * buffer address and size. | 582 | * debug/profile engines, it needs to set the device into debug mode. |
| 583 | * This is because the debug/profile infrastructure is shared component in the | ||
| 584 | * device and we can't allow multiple users to access it at the same time. | ||
| 585 | * | ||
| 586 | * Once a user set the device into debug mode, the driver won't allow other | ||
| 587 | * users to "work" with the device, i.e. open a FD. If there are multiple users | ||
| 588 | * opened on the device, the driver won't allow any user to debug the device. | ||
| 589 | * | ||
| 590 | * For each configuration request, the user needs to provide the register index | ||
| 591 | * and essential data such as buffer address and size. | ||
| 592 | * | ||
| 593 | * Once the user has finished using the debug/profile engines, he should | ||
| 594 | * set the device into non-debug mode, i.e. disable debug mode. | ||
| 595 | * | ||
| 596 | * The driver can decide to "kick out" the user if he abuses this interface. | ||
| 579 | * | 597 | * |
| 580 | */ | 598 | */ |
| 581 | #define HL_IOCTL_DEBUG \ | 599 | #define HL_IOCTL_DEBUG \ |
| @@ -26,7 +26,7 @@ · 25 unmodified lines | |||
| 26 | 26 | ||
| 27 | /* SOF ABI version major, minor and patch numbers */ | 27 | /* SOF ABI version major, minor and patch numbers */ |
| 28 | #define SOF_ABI_MAJOR 3 | 28 | #define SOF_ABI_MAJOR 3 |
| 29 | #define SOF_ABI_MINOR 4 | 29 | #define SOF_ABI_MINOR 6 |
| 30 | #define SOF_ABI_PATCH 0 | 30 | #define SOF_ABI_PATCH 0 |
| 31 | 31 | ||
| 32 | /* SOF ABI version number. Format within 32bit word is MMmmmppp */ | 32 | /* SOF ABI version number. Format within 32bit word is MMmmmppp */ |