History

Merge branches 'x86/vt-d', 'x86/amd', 'arm/smmu', 'arm/omap', 'generic-dma-ops' and 'core' into next

Joerg Roedel committed 7 years ago

Commit d95c3886 parents 0bcfa62 5cd3f2e 8dd8f00 9378bfe ceedd5f 29fcea89583 files · +20879 −63346Browse files

Showing the changes to include/uapi/linux (6 of 9583 files). Show all

Unified · Split

6 files
  1. include/uapi/linux/bpf.h +4 −2
  2. include/uapi/linux/fuse.h +6 −1
  3. include/uapi/linux/iommu.h +155 −0
  4. include/uapi/linux/psp-sev.h +1 −4
  5. include/uapi/linux/snmp.h +1 −0
  6. include/uapi/linux/wmi.h +1 −4
include/uapi/linux/bpf.h+4−2
@@ -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_TYPE197 __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 device3378/* DIRECT: Skip the FIB rules and go to FIB table associated with device
3377 * OUTPUT: Do lookup from egress perspective; default is ingress3379 * 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
3382enum {3384enum {
3383 BPF_FIB_LKUP_RET_SUCCESS, /* lookup successful */3385 BPF_FIB_LKUP_RET_SUCCESS, /* lookup successful */
include/uapi/linux/fuse.h+6−1
@@ -130,6 +130,9 @@ · 129 unmodified lines
130 * 7.30130 * 7.30
131 * - add FUSE_EXPLICIT_INVAL_DATA131 * - add FUSE_EXPLICIT_INVAL_DATA
132 * - add FUSE_IOCTL_COMPAT_X32132 * - add FUSE_IOCTL_COMPAT_X32
133 *
134 * 7.31
135 * - add FUSE_WRITE_KILL_PRIV flag
133 */136 */
134 137
135#ifndef _LINUX_FUSE_H138#ifndef _LINUX_FUSE_H
@@ -165,7 +168,7 @@ · 29 unmodified lines
165#define FUSE_KERNEL_VERSION 7168#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 30171#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 1174#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 guessed331 * FUSE_WRITE_CACHE: delayed write from page cache, file handle is guessed
329 * FUSE_WRITE_LOCKOWNER: lock_owner field is valid332 * 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 flags340 * Read flags
include/uapi/linux/iommu.h+155−0
@@ -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 */
17enum iommu_fault_type {
18 IOMMU_FAULT_DMA_UNRECOV = 1, /* unrecoverable fault */
19 IOMMU_FAULT_PAGE_REQ, /* page request fault */
20};
21
22enum 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 */
69struct 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 */
91struct 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 */
111struct 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 */
130enum 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 */
145struct 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 */
include/uapi/linux/psp-sev.h+1−4
@@ -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__
include/uapi/linux/snmp.h+1−0
@@ -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_MAX287 __LINUX_MIB_MAX
287};288};
288 289
include/uapi/linux/wmi.h+1−4
@@ -1,11 +1,8 @@
1/* SPDX-License-Identifier: GPL-2.0-only */
1/*2/*
2 * User API methods for ACPI-WMI mapping driver3 * 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_H7#ifndef _UAPI_LINUX_WMI_H
11#define _UAPI_LINUX_WMI_H8#define _UAPI_LINUX_WMI_H