Merge v5.3-rc1 into drm-misc-next
Noralf needs some SPI patches in 5.3 to merge some work on tinydrm. Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
This commit is contained in:
@@ -1,14 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
ifeq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/a.out.h),)
|
||||
no-export-headers += a.out.h
|
||||
endif
|
||||
|
||||
ifeq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm.h),)
|
||||
no-export-headers += kvm.h
|
||||
endif
|
||||
|
||||
ifeq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm_para.h),)
|
||||
ifeq ($(wildcard $(objtree)/arch/$(SRCARCH)/include/generated/uapi/asm/kvm_para.h),)
|
||||
no-export-headers += kvm_para.h
|
||||
endif
|
||||
endif
|
@@ -29,17 +29,17 @@ struct adfs_discrecord {
|
||||
__u8 log2sharesize:4;
|
||||
__u8 unused40:4;
|
||||
__u8 big_flag:1;
|
||||
__u8 unused41:1;
|
||||
__u8 unused41:7;
|
||||
__u8 nzones_high;
|
||||
__u8 reserved43;
|
||||
__le32 format_version;
|
||||
__le32 root_size;
|
||||
__u8 unused52[60 - 52];
|
||||
};
|
||||
} __attribute__((packed, aligned(4)));
|
||||
|
||||
#define ADFS_DISCRECORD (0xc00)
|
||||
#define ADFS_DR_OFFSET (0x1c0)
|
||||
#define ADFS_DR_SIZE 60
|
||||
#define ADFS_DR_SIZE_BITS (ADFS_DR_SIZE << 3)
|
||||
|
||||
|
||||
#endif /* _UAPI_ADFS_FS_H */
|
||||
|
@@ -281,6 +281,7 @@
|
||||
#define AUDIT_OBJ_GID 110
|
||||
#define AUDIT_FIELD_COMPARE 111
|
||||
#define AUDIT_EXE 112
|
||||
#define AUDIT_SADDR_FAM 113
|
||||
|
||||
#define AUDIT_ARG0 200
|
||||
#define AUDIT_ARG1 (AUDIT_ARG0+1)
|
||||
|
@@ -107,12 +107,20 @@ enum batadv_icmp_packettype {
|
||||
* @BATADV_MCAST_WANT_ALL_UNSNOOPABLES: we want all packets destined for
|
||||
* 224.0.0.0/24 or ff02::1
|
||||
* @BATADV_MCAST_WANT_ALL_IPV4: we want all IPv4 multicast packets
|
||||
* (both link-local and routable ones)
|
||||
* @BATADV_MCAST_WANT_ALL_IPV6: we want all IPv6 multicast packets
|
||||
* (both link-local and routable ones)
|
||||
* @BATADV_MCAST_WANT_NO_RTR4: we have no IPv4 multicast router and therefore
|
||||
* only need routable IPv4 multicast packets we signed up for explicitly
|
||||
* @BATADV_MCAST_WANT_NO_RTR6: we have no IPv6 multicast router and therefore
|
||||
* only need routable IPv6 multicast packets we signed up for explicitly
|
||||
*/
|
||||
enum batadv_mcast_flags {
|
||||
BATADV_MCAST_WANT_ALL_UNSNOOPABLES = 1UL << 0,
|
||||
BATADV_MCAST_WANT_ALL_IPV4 = 1UL << 1,
|
||||
BATADV_MCAST_WANT_ALL_IPV6 = 1UL << 2,
|
||||
BATADV_MCAST_WANT_NO_RTR4 = 1UL << 3,
|
||||
BATADV_MCAST_WANT_NO_RTR6 = 1UL << 4,
|
||||
};
|
||||
|
||||
/* tt data subtypes */
|
||||
|
@@ -170,6 +170,7 @@ enum bpf_prog_type {
|
||||
BPF_PROG_TYPE_FLOW_DISSECTOR,
|
||||
BPF_PROG_TYPE_CGROUP_SYSCTL,
|
||||
BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE,
|
||||
BPF_PROG_TYPE_CGROUP_SOCKOPT,
|
||||
};
|
||||
|
||||
enum bpf_attach_type {
|
||||
@@ -192,6 +193,10 @@ enum bpf_attach_type {
|
||||
BPF_LIRC_MODE2,
|
||||
BPF_FLOW_DISSECTOR,
|
||||
BPF_CGROUP_SYSCTL,
|
||||
BPF_CGROUP_UDP4_RECVMSG,
|
||||
BPF_CGROUP_UDP6_RECVMSG,
|
||||
BPF_CGROUP_GETSOCKOPT,
|
||||
BPF_CGROUP_SETSOCKOPT,
|
||||
__MAX_BPF_ATTACH_TYPE
|
||||
};
|
||||
|
||||
@@ -260,6 +265,24 @@ enum bpf_attach_type {
|
||||
*/
|
||||
#define BPF_F_ANY_ALIGNMENT (1U << 1)
|
||||
|
||||
/* BPF_F_TEST_RND_HI32 is used in BPF_PROG_LOAD command for testing purpose.
|
||||
* Verifier does sub-register def/use analysis and identifies instructions whose
|
||||
* def only matters for low 32-bit, high 32-bit is never referenced later
|
||||
* through implicit zero extension. Therefore verifier notifies JIT back-ends
|
||||
* that it is safe to ignore clearing high 32-bit for these instructions. This
|
||||
* saves some back-ends a lot of code-gen. However such optimization is not
|
||||
* necessary on some arches, for example x86_64, arm64 etc, whose JIT back-ends
|
||||
* hence hasn't used verifier's analysis result. But, we really want to have a
|
||||
* way to be able to verify the correctness of the described optimization on
|
||||
* x86_64 on which testsuites are frequently exercised.
|
||||
*
|
||||
* So, this flag is introduced. Once it is set, verifier will randomize high
|
||||
* 32-bit for those instructions who has been identified as safe to ignore them.
|
||||
* Then, if verifier is not doing correct analysis, such randomization will
|
||||
* regress tests to expose bugs.
|
||||
*/
|
||||
#define BPF_F_TEST_RND_HI32 (1U << 2)
|
||||
|
||||
/* When BPF ldimm64's insn[0].src_reg != 0 then this can have
|
||||
* two extensions:
|
||||
*
|
||||
@@ -783,7 +806,7 @@ union bpf_attr {
|
||||
* based on a user-provided identifier for all traffic coming from
|
||||
* the tasks belonging to the related cgroup. See also the related
|
||||
* kernel documentation, available from the Linux sources in file
|
||||
* *Documentation/cgroup-v1/net_cls.txt*.
|
||||
* *Documentation/admin-guide/cgroup-v1/net_cls.rst*.
|
||||
*
|
||||
* The Linux kernel has two versions for cgroups: there are
|
||||
* cgroups v1 and cgroups v2. Both are available to users, who can
|
||||
@@ -1548,8 +1571,11 @@ union bpf_attr {
|
||||
* but this is only implemented for native XDP (with driver
|
||||
* support) as of this writing).
|
||||
*
|
||||
* All values for *flags* are reserved for future usage, and must
|
||||
* be left at zero.
|
||||
* The lower two bits of *flags* are used as the return code if
|
||||
* the map lookup fails. This is so that the return value can be
|
||||
* one of the XDP program return codes up to XDP_TX, as chosen by
|
||||
* the caller. Any higher bits in the *flags* argument must be
|
||||
* unset.
|
||||
*
|
||||
* When used to redirect packets to net devices, this helper
|
||||
* provides a high performance increase over **bpf_redirect**\ ().
|
||||
@@ -1744,6 +1770,7 @@ union bpf_attr {
|
||||
* * **BPF_SOCK_OPS_RTO_CB_FLAG** (retransmission time out)
|
||||
* * **BPF_SOCK_OPS_RETRANS_CB_FLAG** (retransmission)
|
||||
* * **BPF_SOCK_OPS_STATE_CB_FLAG** (TCP state change)
|
||||
* * **BPF_SOCK_OPS_RTT_CB_FLAG** (every RTT)
|
||||
*
|
||||
* Therefore, this function can be used to clear a callback flag by
|
||||
* setting the appropriate bit to zero. e.g. to disable the RTO
|
||||
@@ -2672,6 +2699,20 @@ union bpf_attr {
|
||||
* 0 on success.
|
||||
*
|
||||
* **-ENOENT** if the bpf-local-storage cannot be found.
|
||||
*
|
||||
* int bpf_send_signal(u32 sig)
|
||||
* Description
|
||||
* Send signal *sig* to the current task.
|
||||
* Return
|
||||
* 0 on success or successfully queued.
|
||||
*
|
||||
* **-EBUSY** if work queue under nmi is full.
|
||||
*
|
||||
* **-EINVAL** if *sig* is invalid.
|
||||
*
|
||||
* **-EPERM** if no permission to send the *sig*.
|
||||
*
|
||||
* **-EAGAIN** if bpf program can try again.
|
||||
*/
|
||||
#define __BPF_FUNC_MAPPER(FN) \
|
||||
FN(unspec), \
|
||||
@@ -2782,7 +2823,8 @@ union bpf_attr {
|
||||
FN(strtol), \
|
||||
FN(strtoul), \
|
||||
FN(sk_storage_get), \
|
||||
FN(sk_storage_delete),
|
||||
FN(sk_storage_delete), \
|
||||
FN(send_signal),
|
||||
|
||||
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
||||
* function eBPF program intends to call
|
||||
@@ -3031,6 +3073,12 @@ struct bpf_tcp_sock {
|
||||
* sum(delta(snd_una)), or how many bytes
|
||||
* were acked.
|
||||
*/
|
||||
__u32 dsack_dups; /* RFC4898 tcpEStatsStackDSACKDups
|
||||
* total number of DSACK blocks received
|
||||
*/
|
||||
__u32 delivered; /* Total data packets delivered incl. rexmits */
|
||||
__u32 delivered_ce; /* Like the above but only ECE marked packets */
|
||||
__u32 icsk_retransmits; /* Number of unrecovered [RTO] timeouts */
|
||||
};
|
||||
|
||||
struct bpf_sock_tuple {
|
||||
@@ -3050,6 +3098,10 @@ struct bpf_sock_tuple {
|
||||
};
|
||||
};
|
||||
|
||||
struct bpf_xdp_sock {
|
||||
__u32 queue_id;
|
||||
};
|
||||
|
||||
#define XDP_PACKET_HEADROOM 256
|
||||
|
||||
/* User return codes for XDP prog type.
|
||||
@@ -3141,6 +3193,7 @@ struct bpf_prog_info {
|
||||
char name[BPF_OBJ_NAME_LEN];
|
||||
__u32 ifindex;
|
||||
__u32 gpl_compatible:1;
|
||||
__u32 :31; /* alignment pad */
|
||||
__u64 netns_dev;
|
||||
__u64 netns_ino;
|
||||
__u32 nr_jited_ksyms;
|
||||
@@ -3195,7 +3248,7 @@ struct bpf_sock_addr {
|
||||
__u32 user_ip4; /* Allows 1,2,4-byte read and 4-byte write.
|
||||
* Stored in network byte order.
|
||||
*/
|
||||
__u32 user_ip6[4]; /* Allows 1,2,4-byte read an 4-byte write.
|
||||
__u32 user_ip6[4]; /* Allows 1,2,4,8-byte read and 4,8-byte write.
|
||||
* Stored in network byte order.
|
||||
*/
|
||||
__u32 user_port; /* Allows 4-byte read and write.
|
||||
@@ -3204,12 +3257,13 @@ struct bpf_sock_addr {
|
||||
__u32 family; /* Allows 4-byte read, but no write */
|
||||
__u32 type; /* Allows 4-byte read, but no write */
|
||||
__u32 protocol; /* Allows 4-byte read, but no write */
|
||||
__u32 msg_src_ip4; /* Allows 1,2,4-byte read an 4-byte write.
|
||||
__u32 msg_src_ip4; /* Allows 1,2,4-byte read and 4-byte write.
|
||||
* Stored in network byte order.
|
||||
*/
|
||||
__u32 msg_src_ip6[4]; /* Allows 1,2,4-byte read an 4-byte write.
|
||||
__u32 msg_src_ip6[4]; /* Allows 1,2,4,8-byte read and 4,8-byte write.
|
||||
* Stored in network byte order.
|
||||
*/
|
||||
__bpf_md_ptr(struct bpf_sock *, sk);
|
||||
};
|
||||
|
||||
/* User bpf_sock_ops struct to access socket values and specify request ops
|
||||
@@ -3261,13 +3315,15 @@ struct bpf_sock_ops {
|
||||
__u32 sk_txhash;
|
||||
__u64 bytes_received;
|
||||
__u64 bytes_acked;
|
||||
__bpf_md_ptr(struct bpf_sock *, sk);
|
||||
};
|
||||
|
||||
/* Definitions for bpf_sock_ops_cb_flags */
|
||||
#define BPF_SOCK_OPS_RTO_CB_FLAG (1<<0)
|
||||
#define BPF_SOCK_OPS_RETRANS_CB_FLAG (1<<1)
|
||||
#define BPF_SOCK_OPS_STATE_CB_FLAG (1<<2)
|
||||
#define BPF_SOCK_OPS_ALL_CB_FLAGS 0x7 /* Mask of all currently
|
||||
#define BPF_SOCK_OPS_RTT_CB_FLAG (1<<3)
|
||||
#define BPF_SOCK_OPS_ALL_CB_FLAGS 0xF /* Mask of all currently
|
||||
* supported cb flags
|
||||
*/
|
||||
|
||||
@@ -3322,6 +3378,8 @@ enum {
|
||||
BPF_SOCK_OPS_TCP_LISTEN_CB, /* Called on listen(2), right after
|
||||
* socket transition to LISTEN state.
|
||||
*/
|
||||
BPF_SOCK_OPS_RTT_CB, /* Called on every RTT.
|
||||
*/
|
||||
};
|
||||
|
||||
/* List of TCP states. There is a build check in net/ipv4/tcp.c to detect
|
||||
@@ -3376,8 +3434,8 @@ struct bpf_raw_tracepoint_args {
|
||||
/* DIRECT: Skip the FIB rules and go to FIB table associated with device
|
||||
* OUTPUT: Do lookup from egress perspective; default is ingress
|
||||
*/
|
||||
#define BPF_FIB_LOOKUP_DIRECT BIT(0)
|
||||
#define BPF_FIB_LOOKUP_OUTPUT BIT(1)
|
||||
#define BPF_FIB_LOOKUP_DIRECT (1U << 0)
|
||||
#define BPF_FIB_LOOKUP_OUTPUT (1U << 1)
|
||||
|
||||
enum {
|
||||
BPF_FIB_LKUP_RET_SUCCESS, /* lookup successful */
|
||||
@@ -3500,4 +3558,15 @@ struct bpf_sysctl {
|
||||
*/
|
||||
};
|
||||
|
||||
struct bpf_sockopt {
|
||||
__bpf_md_ptr(struct bpf_sock *, sk);
|
||||
__bpf_md_ptr(void *, optval);
|
||||
__bpf_md_ptr(void *, optval_end);
|
||||
|
||||
__s32 level;
|
||||
__s32 optname;
|
||||
__s32 optlen;
|
||||
__s32 retval;
|
||||
};
|
||||
|
||||
#endif /* _UAPI__LINUX_BPF_H__ */
|
||||
|
@@ -866,6 +866,8 @@ enum btrfs_raid_types {
|
||||
#define BTRFS_BLOCK_GROUP_RAID56_MASK (BTRFS_BLOCK_GROUP_RAID5 | \
|
||||
BTRFS_BLOCK_GROUP_RAID6)
|
||||
|
||||
#define BTRFS_BLOCK_GROUP_RAID1_MASK (BTRFS_BLOCK_GROUP_RAID1)
|
||||
|
||||
/*
|
||||
* We need a bit for restriper to be able to tell when chunks of type
|
||||
* SINGLE are available. This "extended" profile format is used in
|
||||
|
@@ -144,6 +144,7 @@ static inline void cec_msg_set_reply_to(struct cec_msg *msg,
|
||||
|
||||
/* cec_msg flags field */
|
||||
#define CEC_MSG_FL_REPLY_TO_FOLLOWERS (1 << 0)
|
||||
#define CEC_MSG_FL_RAW (1 << 1)
|
||||
|
||||
/* cec_msg tx/rx_status field */
|
||||
#define CEC_TX_STATUS_OK (1 << 0)
|
||||
|
@@ -86,10 +86,6 @@ typedef unsigned long long u_quad_t;
|
||||
|
||||
#define inline
|
||||
|
||||
struct timespec {
|
||||
long ts_sec;
|
||||
long ts_nsec;
|
||||
};
|
||||
#else /* DJGPP but not KERNEL */
|
||||
#include <sys/time.h>
|
||||
typedef unsigned long long u_quad_t;
|
||||
@@ -110,13 +106,6 @@ typedef unsigned long long u_quad_t;
|
||||
#define cdev_t dev_t
|
||||
#endif
|
||||
|
||||
#ifdef __CYGWIN32__
|
||||
struct timespec {
|
||||
time_t tv_sec; /* seconds */
|
||||
long tv_nsec; /* nanoseconds */
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __BIT_TYPES_DEFINED__
|
||||
#define __BIT_TYPES_DEFINED__
|
||||
typedef signed char int8_t;
|
||||
@@ -211,6 +200,11 @@ struct CodaFid {
|
||||
*/
|
||||
enum coda_vtype { C_VNON, C_VREG, C_VDIR, C_VBLK, C_VCHR, C_VLNK, C_VSOCK, C_VFIFO, C_VBAD };
|
||||
|
||||
struct coda_timespec {
|
||||
int64_t tv_sec; /* seconds */
|
||||
long tv_nsec; /* nanoseconds */
|
||||
};
|
||||
|
||||
struct coda_vattr {
|
||||
long va_type; /* vnode type (for create) */
|
||||
u_short va_mode; /* files access mode and type */
|
||||
@@ -220,9 +214,9 @@ struct coda_vattr {
|
||||
long va_fileid; /* file id */
|
||||
u_quad_t va_size; /* file size in bytes */
|
||||
long va_blocksize; /* blocksize preferred for i/o */
|
||||
struct timespec va_atime; /* time of last access */
|
||||
struct timespec va_mtime; /* time of last modification */
|
||||
struct timespec va_ctime; /* time file changed */
|
||||
struct coda_timespec va_atime; /* time of last access */
|
||||
struct coda_timespec va_mtime; /* time of last modification */
|
||||
struct coda_timespec va_ctime; /* time file changed */
|
||||
u_long va_gen; /* generation number of file */
|
||||
u_long va_flags; /* flags defined for file */
|
||||
cdev_t va_rdev; /* device special file represents */
|
||||
@@ -277,7 +271,8 @@ struct coda_statfs {
|
||||
#define CODA_STATFS 34
|
||||
#define CODA_STORE 35
|
||||
#define CODA_RELEASE 36
|
||||
#define CODA_NCALLS 37
|
||||
#define CODA_ACCESS_INTENT 37
|
||||
#define CODA_NCALLS 38
|
||||
|
||||
#define DOWNCALL(opcode) (opcode >= CODA_REPLACE && opcode <= CODA_PURGEFID)
|
||||
|
||||
@@ -287,7 +282,12 @@ struct coda_statfs {
|
||||
|
||||
#define CIOC_KERNEL_VERSION _IOWR('c', 10, size_t)
|
||||
|
||||
#define CODA_KERNEL_VERSION 3 /* 128-bit file identifiers */
|
||||
// CODA_KERNEL_VERSION 0 /* don't care about kernel version number */
|
||||
// CODA_KERNEL_VERSION 1 /* The old venus 4.6 compatible interface */
|
||||
// CODA_KERNEL_VERSION 2 /* venus_lookup gets an extra parameter */
|
||||
// CODA_KERNEL_VERSION 3 /* 128-bit file identifiers */
|
||||
// CODA_KERNEL_VERSION 4 /* 64-bit timespec */
|
||||
#define CODA_KERNEL_VERSION 5 /* access intent support */
|
||||
|
||||
/*
|
||||
* Venus <-> Coda RPC arguments
|
||||
@@ -295,8 +295,8 @@ struct coda_statfs {
|
||||
struct coda_in_hdr {
|
||||
u_int32_t opcode;
|
||||
u_int32_t unique; /* Keep multiple outstanding msgs distinct */
|
||||
pid_t pid;
|
||||
pid_t pgid;
|
||||
__kernel_pid_t pid;
|
||||
__kernel_pid_t pgid;
|
||||
vuid_t uid;
|
||||
};
|
||||
|
||||
@@ -642,6 +642,25 @@ struct coda_statfs_out {
|
||||
struct coda_statfs stat;
|
||||
};
|
||||
|
||||
#define CODA_ACCESS_TYPE_READ 1
|
||||
#define CODA_ACCESS_TYPE_WRITE 2
|
||||
#define CODA_ACCESS_TYPE_MMAP 3
|
||||
#define CODA_ACCESS_TYPE_READ_FINISH 4
|
||||
#define CODA_ACCESS_TYPE_WRITE_FINISH 5
|
||||
|
||||
/* coda_access_intent: NO_OUT */
|
||||
struct coda_access_intent_in {
|
||||
struct coda_in_hdr ih;
|
||||
struct CodaFid VFid;
|
||||
int count;
|
||||
int pos;
|
||||
int type;
|
||||
};
|
||||
|
||||
struct coda_access_intent_out {
|
||||
struct coda_out_hdr out;
|
||||
};
|
||||
|
||||
/*
|
||||
* Occasionally, we don't cache the fid returned by CODA_LOOKUP.
|
||||
* For instance, if the fid is inconsistent.
|
||||
@@ -673,6 +692,7 @@ union inputArgs {
|
||||
struct coda_open_by_fd_in coda_open_by_fd;
|
||||
struct coda_open_by_path_in coda_open_by_path;
|
||||
struct coda_statfs_in coda_statfs;
|
||||
struct coda_access_intent_in coda_access_intent;
|
||||
};
|
||||
|
||||
union outputArgs {
|
||||
|
@@ -1,28 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef _UAPI__CODA_PSDEV_H
|
||||
#define _UAPI__CODA_PSDEV_H
|
||||
|
||||
#include <linux/magic.h>
|
||||
|
||||
#define CODA_PSDEV_MAJOR 67
|
||||
#define MAX_CODADEVS 5 /* how many do we allow */
|
||||
|
||||
|
||||
/* messages between coda filesystem in kernel and Venus */
|
||||
struct upc_req {
|
||||
struct list_head uc_chain;
|
||||
caddr_t uc_data;
|
||||
u_short uc_flags;
|
||||
u_short uc_inSize; /* Size is at most 5000 bytes */
|
||||
u_short uc_outSize;
|
||||
u_short uc_opcode; /* copied from data to save lookup */
|
||||
int uc_unique;
|
||||
wait_queue_head_t uc_sleep; /* process' wait queue */
|
||||
};
|
||||
|
||||
#define CODA_REQ_ASYNC 0x1
|
||||
#define CODA_REQ_READ 0x2
|
||||
#define CODA_REQ_WRITE 0x4
|
||||
#define CODA_REQ_ABORT 0x8
|
||||
|
||||
#endif /* _UAPI__CODA_PSDEV_H */
|
@@ -104,6 +104,8 @@ enum devlink_command {
|
||||
DEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR,
|
||||
|
||||
DEVLINK_CMD_FLASH_UPDATE,
|
||||
DEVLINK_CMD_FLASH_UPDATE_END, /* notification only */
|
||||
DEVLINK_CMD_FLASH_UPDATE_STATUS, /* notification only */
|
||||
|
||||
/* add new commands above here */
|
||||
__DEVLINK_CMD_MAX,
|
||||
@@ -167,6 +169,14 @@ enum devlink_port_flavour {
|
||||
DEVLINK_PORT_FLAVOUR_DSA, /* Distributed switch architecture
|
||||
* interconnect port.
|
||||
*/
|
||||
DEVLINK_PORT_FLAVOUR_PCI_PF, /* Represents eswitch port for
|
||||
* the PCI PF. It is an internal
|
||||
* port that faces the PCI PF.
|
||||
*/
|
||||
DEVLINK_PORT_FLAVOUR_PCI_VF, /* Represents eswitch port
|
||||
* for the PCI VF. It is an internal
|
||||
* port that faces the PCI VF.
|
||||
*/
|
||||
};
|
||||
|
||||
enum devlink_param_cmode {
|
||||
@@ -331,6 +341,12 @@ enum devlink_attr {
|
||||
|
||||
DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME, /* string */
|
||||
DEVLINK_ATTR_FLASH_UPDATE_COMPONENT, /* string */
|
||||
DEVLINK_ATTR_FLASH_UPDATE_STATUS_MSG, /* string */
|
||||
DEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE, /* u64 */
|
||||
DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL, /* u64 */
|
||||
|
||||
DEVLINK_ATTR_PORT_PCI_PF_NUMBER, /* u16 */
|
||||
DEVLINK_ATTR_PORT_PCI_VF_NUMBER, /* u16 */
|
||||
|
||||
/* add new attributes above here, update the policy in devlink.c */
|
||||
|
||||
|
@@ -1,6 +1,8 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
|
||||
/*
|
||||
* audio.h
|
||||
* audio.h - DEPRECATED MPEG-TS audio decoder API
|
||||
*
|
||||
* NOTE: should not be used on future drivers
|
||||
*
|
||||
* Copyright (C) 2000 Ralph Metzler <ralph@convergence.de>
|
||||
* & Marcus Metzler <marcus@convergence.de>
|
||||
@@ -52,7 +54,7 @@ typedef enum {
|
||||
typedef struct audio_mixer {
|
||||
unsigned int volume_left;
|
||||
unsigned int volume_right;
|
||||
// what else do we need? bass, pass-through, ...
|
||||
/* what else do we need? bass, pass-through, ... */
|
||||
} audio_mixer_t;
|
||||
|
||||
|
||||
|
@@ -1,6 +1,8 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
|
||||
/*
|
||||
* osd.h
|
||||
* osd.h - DEPRECATED On Screen Display API
|
||||
*
|
||||
* NOTE: should not be used on future drivers
|
||||
*
|
||||
* Copyright (C) 2001 Ralph Metzler <ralph@convergence.de>
|
||||
* & Marcus Metzler <marcus@convergence.de>
|
||||
@@ -28,74 +30,108 @@
|
||||
#include <linux/compiler.h>
|
||||
|
||||
typedef enum {
|
||||
// All functions return -2 on "not open"
|
||||
OSD_Close=1, // ()
|
||||
// Disables OSD and releases the buffers
|
||||
// returns 0 on success
|
||||
OSD_Open, // (x0,y0,x1,y1,BitPerPixel[2/4/8](color&0x0F),mix[0..15](color&0xF0))
|
||||
// Opens OSD with this size and bit depth
|
||||
// returns 0 on success, -1 on DRAM allocation error, -2 on "already open"
|
||||
OSD_Show, // ()
|
||||
// enables OSD mode
|
||||
// returns 0 on success
|
||||
OSD_Hide, // ()
|
||||
// disables OSD mode
|
||||
// returns 0 on success
|
||||
OSD_Clear, // ()
|
||||
// Sets all pixel to color 0
|
||||
// returns 0 on success
|
||||
OSD_Fill, // (color)
|
||||
// Sets all pixel to color <col>
|
||||
// returns 0 on success
|
||||
OSD_SetColor, // (color,R{x0},G{y0},B{x1},opacity{y1})
|
||||
// set palette entry <num> to <r,g,b>, <mix> and <trans> apply
|
||||
// R,G,B: 0..255
|
||||
// R=Red, G=Green, B=Blue
|
||||
// opacity=0: pixel opacity 0% (only video pixel shows)
|
||||
// opacity=1..254: pixel opacity as specified in header
|
||||
// opacity=255: pixel opacity 100% (only OSD pixel shows)
|
||||
// returns 0 on success, -1 on error
|
||||
OSD_SetPalette, // (firstcolor{color},lastcolor{x0},data)
|
||||
// Set a number of entries in the palette
|
||||
// sets the entries "firstcolor" through "lastcolor" from the array "data"
|
||||
// data has 4 byte for each color:
|
||||
// R,G,B, and a opacity value: 0->transparent, 1..254->mix, 255->pixel
|
||||
OSD_SetTrans, // (transparency{color})
|
||||
// Sets transparency of mixed pixel (0..15)
|
||||
// returns 0 on success
|
||||
OSD_SetPixel, // (x0,y0,color)
|
||||
// sets pixel <x>,<y> to color number <col>
|
||||
// returns 0 on success, -1 on error
|
||||
OSD_GetPixel, // (x0,y0)
|
||||
// returns color number of pixel <x>,<y>, or -1
|
||||
OSD_SetRow, // (x0,y0,x1,data)
|
||||
// fills pixels x0,y through x1,y with the content of data[]
|
||||
// returns 0 on success, -1 on clipping all pixel (no pixel drawn)
|
||||
OSD_SetBlock, // (x0,y0,x1,y1,increment{color},data)
|
||||
// fills pixels x0,y0 through x1,y1 with the content of data[]
|
||||
// inc contains the width of one line in the data block,
|
||||
// inc<=0 uses blockwidth as linewidth
|
||||
// returns 0 on success, -1 on clipping all pixel
|
||||
OSD_FillRow, // (x0,y0,x1,color)
|
||||
// fills pixels x0,y through x1,y with the color <col>
|
||||
// returns 0 on success, -1 on clipping all pixel
|
||||
OSD_FillBlock, // (x0,y0,x1,y1,color)
|
||||
// fills pixels x0,y0 through x1,y1 with the color <col>
|
||||
// returns 0 on success, -1 on clipping all pixel
|
||||
OSD_Line, // (x0,y0,x1,y1,color)
|
||||
// draw a line from x0,y0 to x1,y1 with the color <col>
|
||||
// returns 0 on success
|
||||
OSD_Query, // (x0,y0,x1,y1,xasp{color}}), yasp=11
|
||||
// fills parameters with the picture dimensions and the pixel aspect ratio
|
||||
// returns 0 on success
|
||||
OSD_Test, // ()
|
||||
// draws a test picture. for debugging purposes only
|
||||
// returns 0 on success
|
||||
// TODO: remove "test" in final version
|
||||
OSD_Text, // (x0,y0,size,color,text)
|
||||
OSD_SetWindow, // (x0) set window with number 0<x0<8 as current
|
||||
OSD_MoveWindow, // move current window to (x0, y0)
|
||||
OSD_OpenRaw, // Open other types of OSD windows
|
||||
/* All functions return -2 on "not open" */
|
||||
OSD_Close = 1, /* () */
|
||||
/*
|
||||
* Disables OSD and releases the buffers
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_Open, /* (x0,y0,x1,y1,BitPerPixel[2/4/8](color&0x0F),mix[0..15](color&0xF0)) */
|
||||
/*
|
||||
* Opens OSD with this size and bit depth
|
||||
* returns 0 on success, -1 on DRAM allocation error, -2 on "already open"
|
||||
*/
|
||||
OSD_Show, /* () */
|
||||
/*
|
||||
* enables OSD mode
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_Hide, /* () */
|
||||
/*
|
||||
* disables OSD mode
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_Clear, /* () */
|
||||
/*
|
||||
* Sets all pixel to color 0
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_Fill, /* (color) */
|
||||
/*
|
||||
* Sets all pixel to color <col>
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_SetColor, /* (color,R{x0},G{y0},B{x1},opacity{y1}) */
|
||||
/*
|
||||
* set palette entry <num> to <r,g,b>, <mix> and <trans> apply
|
||||
* R,G,B: 0..255
|
||||
* R=Red, G=Green, B=Blue
|
||||
* opacity=0: pixel opacity 0% (only video pixel shows)
|
||||
* opacity=1..254: pixel opacity as specified in header
|
||||
* opacity=255: pixel opacity 100% (only OSD pixel shows)
|
||||
* returns 0 on success, -1 on error
|
||||
*/
|
||||
OSD_SetPalette, /* (firstcolor{color},lastcolor{x0},data) */
|
||||
/*
|
||||
* Set a number of entries in the palette
|
||||
* sets the entries "firstcolor" through "lastcolor" from the array "data"
|
||||
* data has 4 byte for each color:
|
||||
* R,G,B, and a opacity value: 0->transparent, 1..254->mix, 255->pixel
|
||||
*/
|
||||
OSD_SetTrans, /* (transparency{color}) */
|
||||
/*
|
||||
* Sets transparency of mixed pixel (0..15)
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_SetPixel, /* (x0,y0,color) */
|
||||
/*
|
||||
* sets pixel <x>,<y> to color number <col>
|
||||
* returns 0 on success, -1 on error
|
||||
*/
|
||||
OSD_GetPixel, /* (x0,y0) */
|
||||
/* returns color number of pixel <x>,<y>, or -1 */
|
||||
OSD_SetRow, /* (x0,y0,x1,data) */
|
||||
/*
|
||||
* fills pixels x0,y through x1,y with the content of data[]
|
||||
* returns 0 on success, -1 on clipping all pixel (no pixel drawn)
|
||||
*/
|
||||
OSD_SetBlock, /* (x0,y0,x1,y1,increment{color},data) */
|
||||
/*
|
||||
* fills pixels x0,y0 through x1,y1 with the content of data[]
|
||||
* inc contains the width of one line in the data block,
|
||||
* inc<=0 uses blockwidth as linewidth
|
||||
* returns 0 on success, -1 on clipping all pixel
|
||||
*/
|
||||
OSD_FillRow, /* (x0,y0,x1,color) */
|
||||
/*
|
||||
* fills pixels x0,y through x1,y with the color <col>
|
||||
* returns 0 on success, -1 on clipping all pixel
|
||||
*/
|
||||
OSD_FillBlock, /* (x0,y0,x1,y1,color) */
|
||||
/*
|
||||
* fills pixels x0,y0 through x1,y1 with the color <col>
|
||||
* returns 0 on success, -1 on clipping all pixel
|
||||
*/
|
||||
OSD_Line, /* (x0,y0,x1,y1,color) */
|
||||
/*
|
||||
* draw a line from x0,y0 to x1,y1 with the color <col>
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_Query, /* (x0,y0,x1,y1,xasp{color}}), yasp=11 */
|
||||
/*
|
||||
* fills parameters with the picture dimensions and the pixel aspect ratio
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_Test, /* () */
|
||||
/*
|
||||
* draws a test picture. for debugging purposes only
|
||||
* returns 0 on success
|
||||
* TODO: remove "test" in final version
|
||||
*/
|
||||
OSD_Text, /* (x0,y0,size,color,text) */
|
||||
OSD_SetWindow, /* (x0) set window with number 0<x0<8 as current */
|
||||
OSD_MoveWindow, /* move current window to (x0, y0) */
|
||||
OSD_OpenRaw, /* Open other types of OSD windows */
|
||||
} OSD_Command;
|
||||
|
||||
typedef struct osd_cmd_s {
|
||||
|
@@ -1,6 +1,8 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
|
||||
/*
|
||||
* video.h
|
||||
* video.h - DEPRECATED MPEG-TS video decoder API
|
||||
*
|
||||
* NOTE: should not be used on future drivers
|
||||
*
|
||||
* Copyright (C) 2000 Marcus Metzler <marcus@convergence.de>
|
||||
* & Ralph Metzler <ralph@convergence.de>
|
||||
|
@@ -1483,6 +1483,8 @@ enum ethtool_link_mode_bit_indices {
|
||||
ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64,
|
||||
ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = 65,
|
||||
ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = 66,
|
||||
ETHTOOL_LINK_MODE_100baseT1_Full_BIT = 67,
|
||||
ETHTOOL_LINK_MODE_1000baseT1_Full_BIT = 68,
|
||||
|
||||
/* must be last entry */
|
||||
__ETHTOOL_LINK_MODE_MASK_NBITS
|
||||
|
@@ -1,59 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* Copyright (C) 2002-2003 David McCullough <davidm@snapgear.com>
|
||||
* Copyright (C) 1998 Kenneth Albanowski <kjahds@kjahds.com>
|
||||
* The Silver Hammer Group, Ltd.
|
||||
*
|
||||
* This file provides the definitions and structures needed to
|
||||
* support uClinux flat-format executables.
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_LINUX_FLAT_H
|
||||
#define _UAPI_LINUX_FLAT_H
|
||||
|
||||
|
||||
#define FLAT_VERSION 0x00000004L
|
||||
|
||||
#ifdef CONFIG_BINFMT_SHARED_FLAT
|
||||
#define MAX_SHARED_LIBS (4)
|
||||
#else
|
||||
#define MAX_SHARED_LIBS (1)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* To make everything easier to port and manage cross platform
|
||||
* development, all fields are in network byte order.
|
||||
*/
|
||||
|
||||
struct flat_hdr {
|
||||
char magic[4];
|
||||
unsigned long rev; /* version (as above) */
|
||||
unsigned long entry; /* Offset of first executable instruction
|
||||
with text segment from beginning of file */
|
||||
unsigned long data_start; /* Offset of data segment from beginning of
|
||||
file */
|
||||
unsigned long data_end; /* Offset of end of data segment
|
||||
from beginning of file */
|
||||
unsigned long bss_end; /* Offset of end of bss segment from beginning
|
||||
of file */
|
||||
|
||||
/* (It is assumed that data_end through bss_end forms the bss segment.) */
|
||||
|
||||
unsigned long stack_size; /* Size of stack, in bytes */
|
||||
unsigned long reloc_start; /* Offset of relocation records from
|
||||
beginning of file */
|
||||
unsigned long reloc_count; /* Number of relocation records */
|
||||
unsigned long flags;
|
||||
unsigned long build_date; /* When the program/library was built */
|
||||
unsigned long filler[5]; /* Reservered, set to zero */
|
||||
};
|
||||
|
||||
#define FLAT_FLAG_RAM 0x0001 /* load program entirely into RAM */
|
||||
#define FLAT_FLAG_GOTPIC 0x0002 /* program is PIC with GOT */
|
||||
#define FLAT_FLAG_GZIP 0x0004 /* all but the header is compressed */
|
||||
#define FLAT_FLAG_GZDATA 0x0008 /* only data/relocs are compressed (for XIP) */
|
||||
#define FLAT_FLAG_KTRACE 0x0010 /* output useful kernel trace for debugging */
|
||||
|
||||
|
||||
|
||||
#endif /* _UAPI_LINUX_FLAT_H */
|
@@ -91,6 +91,7 @@
|
||||
#define ETH_P_802_EX1 0x88B5 /* 802.1 Local Experimental 1. */
|
||||
#define ETH_P_PREAUTH 0x88C7 /* 802.11 Preauthentication */
|
||||
#define ETH_P_TIPC 0x88CA /* TIPC */
|
||||
#define ETH_P_LLDP 0x88CC /* Link Layer Discovery Protocol */
|
||||
#define ETH_P_MACSEC 0x88E5 /* 802.1ae MACsec */
|
||||
#define ETH_P_8021AH 0x88E7 /* 802.1ah Backbone Service Tag */
|
||||
#define ETH_P_MVRP 0x88F5 /* 802.1Q MVRP */
|
||||
|
@@ -636,6 +636,7 @@ enum {
|
||||
IFLA_BOND_AD_USER_PORT_KEY,
|
||||
IFLA_BOND_AD_ACTOR_SYSTEM,
|
||||
IFLA_BOND_TLB_DYNAMIC_LB,
|
||||
IFLA_BOND_PEER_NOTIF_DELAY,
|
||||
__IFLA_BOND_MAX,
|
||||
};
|
||||
|
||||
@@ -694,6 +695,7 @@ enum {
|
||||
IFLA_VF_IB_NODE_GUID, /* VF Infiniband node GUID */
|
||||
IFLA_VF_IB_PORT_GUID, /* VF Infiniband port GUID */
|
||||
IFLA_VF_VLAN_LIST, /* nested list of vlans, option for QinQ */
|
||||
IFLA_VF_BROADCAST, /* VF broadcast */
|
||||
__IFLA_VF_MAX,
|
||||
};
|
||||
|
||||
@@ -704,6 +706,10 @@ struct ifla_vf_mac {
|
||||
__u8 mac[32]; /* MAX_ADDR_LEN */
|
||||
};
|
||||
|
||||
struct ifla_vf_broadcast {
|
||||
__u8 broadcast[32];
|
||||
};
|
||||
|
||||
struct ifla_vf_vlan {
|
||||
__u32 vf;
|
||||
__u32 vlan; /* 0 - 4095, 0 disables VLAN filter */
|
||||
|
@@ -123,7 +123,7 @@ struct tpacket_auxdata {
|
||||
/* Rx and Tx ring - header status */
|
||||
#define TP_STATUS_TS_SOFTWARE (1 << 29)
|
||||
#define TP_STATUS_TS_SYS_HARDWARE (1 << 30) /* deprecated, never set */
|
||||
#define TP_STATUS_TS_RAW_HARDWARE (1 << 31)
|
||||
#define TP_STATUS_TS_RAW_HARDWARE (1U << 31)
|
||||
|
||||
/* Rx ring - feature request bits */
|
||||
#define TP_FT_REQ_FILL_RXHASH 0x1
|
||||
|
@@ -46,6 +46,7 @@ struct xdp_mmap_offsets {
|
||||
#define XDP_UMEM_FILL_RING 5
|
||||
#define XDP_UMEM_COMPLETION_RING 6
|
||||
#define XDP_STATISTICS 7
|
||||
#define XDP_OPTIONS 8
|
||||
|
||||
struct xdp_umem_reg {
|
||||
__u64 addr; /* Start of packet data area */
|
||||
@@ -60,6 +61,13 @@ struct xdp_statistics {
|
||||
__u64 tx_invalid_descs; /* Dropped due to invalid descriptor */
|
||||
};
|
||||
|
||||
struct xdp_options {
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
/* Flags for the flags field of struct xdp_options */
|
||||
#define XDP_OPTIONS_ZEROCOPY (1 << 0)
|
||||
|
||||
/* Pgoff for mmaping the rings */
|
||||
#define XDP_PGOFF_RX_RING 0
|
||||
#define XDP_PGOFF_TX_RING 0x80000000
|
||||
|
@@ -27,6 +27,7 @@ struct io_uring_sqe {
|
||||
__u32 fsync_flags;
|
||||
__u16 poll_events;
|
||||
__u32 sync_range_flags;
|
||||
__u32 msg_flags;
|
||||
};
|
||||
__u64 user_data; /* data to be passed back at completion time */
|
||||
union {
|
||||
@@ -40,6 +41,7 @@ struct io_uring_sqe {
|
||||
*/
|
||||
#define IOSQE_FIXED_FILE (1U << 0) /* use fixed fileset */
|
||||
#define IOSQE_IO_DRAIN (1U << 1) /* issue after inflight IO */
|
||||
#define IOSQE_IO_LINK (1U << 2) /* links next sqe */
|
||||
|
||||
/*
|
||||
* io_uring_setup() flags
|
||||
@@ -57,6 +59,8 @@ struct io_uring_sqe {
|
||||
#define IORING_OP_POLL_ADD 6
|
||||
#define IORING_OP_POLL_REMOVE 7
|
||||
#define IORING_OP_SYNC_FILE_RANGE 8
|
||||
#define IORING_OP_SENDMSG 9
|
||||
#define IORING_OP_RECVMSG 10
|
||||
|
||||
/*
|
||||
* sqe->fsync_flags
|
||||
|
155
include/uapi/linux/iommu.h
Normal file
155
include/uapi/linux/iommu.h
Normal file
@@ -0,0 +1,155 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* IOMMU user API definitions
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_IOMMU_H
|
||||
#define _UAPI_IOMMU_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define IOMMU_FAULT_PERM_READ (1 << 0) /* read */
|
||||
#define IOMMU_FAULT_PERM_WRITE (1 << 1) /* write */
|
||||
#define IOMMU_FAULT_PERM_EXEC (1 << 2) /* exec */
|
||||
#define IOMMU_FAULT_PERM_PRIV (1 << 3) /* privileged */
|
||||
|
||||
/* Generic fault types, can be expanded IRQ remapping fault */
|
||||
enum iommu_fault_type {
|
||||
IOMMU_FAULT_DMA_UNRECOV = 1, /* unrecoverable fault */
|
||||
IOMMU_FAULT_PAGE_REQ, /* page request fault */
|
||||
};
|
||||
|
||||
enum iommu_fault_reason {
|
||||
IOMMU_FAULT_REASON_UNKNOWN = 0,
|
||||
|
||||
/* Could not access the PASID table (fetch caused external abort) */
|
||||
IOMMU_FAULT_REASON_PASID_FETCH,
|
||||
|
||||
/* PASID entry is invalid or has configuration errors */
|
||||
IOMMU_FAULT_REASON_BAD_PASID_ENTRY,
|
||||
|
||||
/*
|
||||
* PASID is out of range (e.g. exceeds the maximum PASID
|
||||
* supported by the IOMMU) or disabled.
|
||||
*/
|
||||
IOMMU_FAULT_REASON_PASID_INVALID,
|
||||
|
||||
/*
|
||||
* An external abort occurred fetching (or updating) a translation
|
||||
* table descriptor
|
||||
*/
|
||||
IOMMU_FAULT_REASON_WALK_EABT,
|
||||
|
||||
/*
|
||||
* Could not access the page table entry (Bad address),
|
||||
* actual translation fault
|
||||
*/
|
||||
IOMMU_FAULT_REASON_PTE_FETCH,
|
||||
|
||||
/* Protection flag check failed */
|
||||
IOMMU_FAULT_REASON_PERMISSION,
|
||||
|
||||
/* access flag check failed */
|
||||
IOMMU_FAULT_REASON_ACCESS,
|
||||
|
||||
/* Output address of a translation stage caused Address Size fault */
|
||||
IOMMU_FAULT_REASON_OOR_ADDRESS,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct iommu_fault_unrecoverable - Unrecoverable fault data
|
||||
* @reason: reason of the fault, from &enum iommu_fault_reason
|
||||
* @flags: parameters of this fault (IOMMU_FAULT_UNRECOV_* values)
|
||||
* @pasid: Process Address Space ID
|
||||
* @perm: requested permission access using by the incoming transaction
|
||||
* (IOMMU_FAULT_PERM_* values)
|
||||
* @addr: offending page address
|
||||
* @fetch_addr: address that caused a fetch abort, if any
|
||||
*/
|
||||
struct iommu_fault_unrecoverable {
|
||||
__u32 reason;
|
||||
#define IOMMU_FAULT_UNRECOV_PASID_VALID (1 << 0)
|
||||
#define IOMMU_FAULT_UNRECOV_ADDR_VALID (1 << 1)
|
||||
#define IOMMU_FAULT_UNRECOV_FETCH_ADDR_VALID (1 << 2)
|
||||
__u32 flags;
|
||||
__u32 pasid;
|
||||
__u32 perm;
|
||||
__u64 addr;
|
||||
__u64 fetch_addr;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct iommu_fault_page_request - Page Request data
|
||||
* @flags: encodes whether the corresponding fields are valid and whether this
|
||||
* is the last page in group (IOMMU_FAULT_PAGE_REQUEST_* values)
|
||||
* @pasid: Process Address Space ID
|
||||
* @grpid: Page Request Group Index
|
||||
* @perm: requested page permissions (IOMMU_FAULT_PERM_* values)
|
||||
* @addr: page address
|
||||
* @private_data: device-specific private information
|
||||
*/
|
||||
struct iommu_fault_page_request {
|
||||
#define IOMMU_FAULT_PAGE_REQUEST_PASID_VALID (1 << 0)
|
||||
#define IOMMU_FAULT_PAGE_REQUEST_LAST_PAGE (1 << 1)
|
||||
#define IOMMU_FAULT_PAGE_REQUEST_PRIV_DATA (1 << 2)
|
||||
__u32 flags;
|
||||
__u32 pasid;
|
||||
__u32 grpid;
|
||||
__u32 perm;
|
||||
__u64 addr;
|
||||
__u64 private_data[2];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct iommu_fault - Generic fault data
|
||||
* @type: fault type from &enum iommu_fault_type
|
||||
* @padding: reserved for future use (should be zero)
|
||||
* @event: fault event, when @type is %IOMMU_FAULT_DMA_UNRECOV
|
||||
* @prm: Page Request message, when @type is %IOMMU_FAULT_PAGE_REQ
|
||||
* @padding2: sets the fault size to allow for future extensions
|
||||
*/
|
||||
struct iommu_fault {
|
||||
__u32 type;
|
||||
__u32 padding;
|
||||
union {
|
||||
struct iommu_fault_unrecoverable event;
|
||||
struct iommu_fault_page_request prm;
|
||||
__u8 padding2[56];
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* enum iommu_page_response_code - Return status of fault handlers
|
||||
* @IOMMU_PAGE_RESP_SUCCESS: Fault has been handled and the page tables
|
||||
* populated, retry the access. This is "Success" in PCI PRI.
|
||||
* @IOMMU_PAGE_RESP_FAILURE: General error. Drop all subsequent faults from
|
||||
* this device if possible. This is "Response Failure" in PCI PRI.
|
||||
* @IOMMU_PAGE_RESP_INVALID: Could not handle this fault, don't retry the
|
||||
* access. This is "Invalid Request" in PCI PRI.
|
||||
*/
|
||||
enum iommu_page_response_code {
|
||||
IOMMU_PAGE_RESP_SUCCESS = 0,
|
||||
IOMMU_PAGE_RESP_INVALID,
|
||||
IOMMU_PAGE_RESP_FAILURE,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct iommu_page_response - Generic page response information
|
||||
* @version: API version of this structure
|
||||
* @flags: encodes whether the corresponding fields are valid
|
||||
* (IOMMU_FAULT_PAGE_RESPONSE_* values)
|
||||
* @pasid: Process Address Space ID
|
||||
* @grpid: Page Request Group Index
|
||||
* @code: response code from &enum iommu_page_response_code
|
||||
*/
|
||||
struct iommu_page_response {
|
||||
#define IOMMU_PAGE_RESP_VERSION_1 1
|
||||
__u32 version;
|
||||
#define IOMMU_PAGE_RESP_PASID_VALID (1 << 0)
|
||||
__u32 flags;
|
||||
__u32 pasid;
|
||||
__u32 grpid;
|
||||
__u32 code;
|
||||
};
|
||||
|
||||
#endif /* _UAPI_IOMMU_H */
|
@@ -128,9 +128,15 @@
|
||||
enum {
|
||||
IP_VS_CONN_F_TUNNEL_TYPE_IPIP = 0, /* IPIP */
|
||||
IP_VS_CONN_F_TUNNEL_TYPE_GUE, /* GUE */
|
||||
IP_VS_CONN_F_TUNNEL_TYPE_GRE, /* GRE */
|
||||
IP_VS_CONN_F_TUNNEL_TYPE_MAX,
|
||||
};
|
||||
|
||||
/* Tunnel encapsulation flags */
|
||||
#define IP_VS_TUNNEL_ENCAP_FLAG_NOCSUM (0)
|
||||
#define IP_VS_TUNNEL_ENCAP_FLAG_CSUM (1 << 0)
|
||||
#define IP_VS_TUNNEL_ENCAP_FLAG_REMCSUM (1 << 1)
|
||||
|
||||
/*
|
||||
* The struct ip_vs_service_user and struct ip_vs_dest_user are
|
||||
* used to set IPVS rules through setsockopt.
|
||||
@@ -403,6 +409,8 @@ enum {
|
||||
|
||||
IPVS_DEST_ATTR_TUN_PORT, /* tunnel port */
|
||||
|
||||
IPVS_DEST_ATTR_TUN_FLAGS, /* tunnel flags */
|
||||
|
||||
__IPVS_DEST_ATTR_MAX,
|
||||
};
|
||||
|
||||
|
@@ -1,144 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/* $Id: isdn.h,v 1.125.2.3 2004/02/10 01:07:14 keil Exp $
|
||||
*
|
||||
* Main header for the Linux ISDN subsystem (linklevel).
|
||||
*
|
||||
* Copyright 1994,95,96 by Fritz Elfert (fritz@isdn4linux.de)
|
||||
* Copyright 1995,96 by Thinking Objects Software GmbH Wuerzburg
|
||||
* Copyright 1995,96 by Michael Hipp (Michael.Hipp@student.uni-tuebingen.de)
|
||||
*
|
||||
* This software may be used and distributed according to the terms
|
||||
* of the GNU General Public License, incorporated herein by reference.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _UAPI__ISDN_H__
|
||||
#define _UAPI__ISDN_H__
|
||||
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/tty.h>
|
||||
|
||||
#define ISDN_MAX_DRIVERS 32
|
||||
#define ISDN_MAX_CHANNELS 64
|
||||
|
||||
/* New ioctl-codes */
|
||||
#define IIOCNETAIF _IO('I',1)
|
||||
#define IIOCNETDIF _IO('I',2)
|
||||
#define IIOCNETSCF _IO('I',3)
|
||||
#define IIOCNETGCF _IO('I',4)
|
||||
#define IIOCNETANM _IO('I',5)
|
||||
#define IIOCNETDNM _IO('I',6)
|
||||
#define IIOCNETGNM _IO('I',7)
|
||||
#define IIOCGETSET _IO('I',8) /* no longer supported */
|
||||
#define IIOCSETSET _IO('I',9) /* no longer supported */
|
||||
#define IIOCSETVER _IO('I',10)
|
||||
#define IIOCNETHUP _IO('I',11)
|
||||
#define IIOCSETGST _IO('I',12)
|
||||
#define IIOCSETBRJ _IO('I',13)
|
||||
#define IIOCSIGPRF _IO('I',14)
|
||||
#define IIOCGETPRF _IO('I',15)
|
||||
#define IIOCSETPRF _IO('I',16)
|
||||
#define IIOCGETMAP _IO('I',17)
|
||||
#define IIOCSETMAP _IO('I',18)
|
||||
#define IIOCNETASL _IO('I',19)
|
||||
#define IIOCNETDIL _IO('I',20)
|
||||
#define IIOCGETCPS _IO('I',21)
|
||||
#define IIOCGETDVR _IO('I',22)
|
||||
#define IIOCNETLCR _IO('I',23) /* dwabc ioctl for LCR from isdnlog */
|
||||
#define IIOCNETDWRSET _IO('I',24) /* dwabc ioctl to reset abc-values to default on a net-interface */
|
||||
|
||||
#define IIOCNETALN _IO('I',32)
|
||||
#define IIOCNETDLN _IO('I',33)
|
||||
|
||||
#define IIOCNETGPN _IO('I',34)
|
||||
|
||||
#define IIOCDBGVAR _IO('I',127)
|
||||
|
||||
#define IIOCDRVCTL _IO('I',128)
|
||||
|
||||
/* cisco hdlck device private ioctls */
|
||||
#define SIOCGKEEPPERIOD (SIOCDEVPRIVATE + 0)
|
||||
#define SIOCSKEEPPERIOD (SIOCDEVPRIVATE + 1)
|
||||
#define SIOCGDEBSERINT (SIOCDEVPRIVATE + 2)
|
||||
#define SIOCSDEBSERINT (SIOCDEVPRIVATE + 3)
|
||||
|
||||
/* Packet encapsulations for net-interfaces */
|
||||
#define ISDN_NET_ENCAP_ETHER 0
|
||||
#define ISDN_NET_ENCAP_RAWIP 1
|
||||
#define ISDN_NET_ENCAP_IPTYP 2
|
||||
#define ISDN_NET_ENCAP_CISCOHDLC 3 /* Without SLARP and keepalive */
|
||||
#define ISDN_NET_ENCAP_SYNCPPP 4
|
||||
#define ISDN_NET_ENCAP_UIHDLC 5
|
||||
#define ISDN_NET_ENCAP_CISCOHDLCK 6 /* With SLARP and keepalive */
|
||||
#define ISDN_NET_ENCAP_X25IFACE 7 /* Documentation/networking/x25-iface.txt */
|
||||
#define ISDN_NET_ENCAP_MAX_ENCAP ISDN_NET_ENCAP_X25IFACE
|
||||
|
||||
/* Facility which currently uses an ISDN-channel */
|
||||
#define ISDN_USAGE_NONE 0
|
||||
#define ISDN_USAGE_RAW 1
|
||||
#define ISDN_USAGE_MODEM 2
|
||||
#define ISDN_USAGE_NET 3
|
||||
#define ISDN_USAGE_VOICE 4
|
||||
#define ISDN_USAGE_FAX 5
|
||||
#define ISDN_USAGE_MASK 7 /* Mask to get plain usage */
|
||||
#define ISDN_USAGE_DISABLED 32 /* This bit is set, if channel is disabled */
|
||||
#define ISDN_USAGE_EXCLUSIVE 64 /* This bit is set, if channel is exclusive */
|
||||
#define ISDN_USAGE_OUTGOING 128 /* This bit is set, if channel is outgoing */
|
||||
|
||||
#define ISDN_MODEM_NUMREG 24 /* Number of Modem-Registers */
|
||||
#define ISDN_LMSNLEN 255 /* Length of tty's Listen-MSN string */
|
||||
#define ISDN_CMSGLEN 50 /* Length of CONNECT-Message to add for Modem */
|
||||
|
||||
#define ISDN_MSNLEN 32
|
||||
#define NET_DV 0x06 /* Data version for isdn_net_ioctl_cfg */
|
||||
#define TTY_DV 0x06 /* Data version for iprofd etc. */
|
||||
|
||||
#define INF_DV 0x01 /* Data version for /dev/isdninfo */
|
||||
|
||||
typedef struct {
|
||||
char drvid[25];
|
||||
unsigned long arg;
|
||||
} isdn_ioctl_struct;
|
||||
|
||||
typedef struct {
|
||||
char name[10];
|
||||
char phone[ISDN_MSNLEN];
|
||||
int outgoing;
|
||||
} isdn_net_ioctl_phone;
|
||||
|
||||
typedef struct {
|
||||
char name[10]; /* Name of interface */
|
||||
char master[10]; /* Name of Master for Bundling */
|
||||
char slave[10]; /* Name of Slave for Bundling */
|
||||
char eaz[256]; /* EAZ/MSN */
|
||||
char drvid[25]; /* DriverId for Bindings */
|
||||
int onhtime; /* Hangup-Timeout */
|
||||
int charge; /* Charge-Units */
|
||||
int l2_proto; /* Layer-2 protocol */
|
||||
int l3_proto; /* Layer-3 protocol */
|
||||
int p_encap; /* Encapsulation */
|
||||
int exclusive; /* Channel, if bound exclusive */
|
||||
int dialmax; /* Dial Retry-Counter */
|
||||
int slavedelay; /* Delay until slave starts up */
|
||||
int cbdelay; /* Delay before Callback */
|
||||
int chargehup; /* Flag: Charge-Hangup */
|
||||
int ihup; /* Flag: Hangup-Timeout on incoming line */
|
||||
int secure; /* Flag: Secure */
|
||||
int callback; /* Flag: Callback */
|
||||
int cbhup; /* Flag: Reject Call before Callback */
|
||||
int pppbind; /* ippp device for bindings */
|
||||
int chargeint; /* Use fixed charge interval length */
|
||||
int triggercps; /* BogoCPS needed for triggering slave */
|
||||
int dialtimeout; /* Dial-Timeout */
|
||||
int dialwait; /* Time to wait after failed dial */
|
||||
int dialmode; /* Flag: off / on / auto */
|
||||
} isdn_net_ioctl_cfg;
|
||||
|
||||
#define ISDN_NET_DIALMODE_MASK 0xC0 /* bits for status */
|
||||
#define ISDN_NET_DM_OFF 0x00 /* this interface is stopped */
|
||||
#define ISDN_NET_DM_MANUAL 0x40 /* this interface is on (manual) */
|
||||
#define ISDN_NET_DM_AUTO 0x80 /* this interface is autodial */
|
||||
#define ISDN_NET_DIALMODE(x) ((&(x))->flags & ISDN_NET_DIALMODE_MASK)
|
||||
|
||||
|
||||
#endif /* _UAPI__ISDN_H__ */
|
@@ -1,31 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/* $Id: isdn_divertif.h,v 1.4.6.1 2001/09/23 22:25:05 kai Exp $
|
||||
*
|
||||
* Header for the diversion supplementary interface for i4l.
|
||||
*
|
||||
* Author Werner Cornelius (werner@titro.de)
|
||||
* Copyright by Werner Cornelius (werner@titro.de)
|
||||
*
|
||||
* This software may be used and distributed according to the terms
|
||||
* of the GNU General Public License, incorporated herein by reference.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_LINUX_ISDN_DIVERTIF_H
|
||||
#define _UAPI_LINUX_ISDN_DIVERTIF_H
|
||||
|
||||
/***********************************************************/
|
||||
/* magic value is also used to control version information */
|
||||
/***********************************************************/
|
||||
#define DIVERT_IF_MAGIC 0x25873401
|
||||
#define DIVERT_CMD_REG 0x00 /* register command */
|
||||
#define DIVERT_CMD_REL 0x01 /* release command */
|
||||
#define DIVERT_NO_ERR 0x00 /* return value no error */
|
||||
#define DIVERT_CMD_ERR 0x01 /* invalid cmd */
|
||||
#define DIVERT_VER_ERR 0x02 /* magic/version invalid */
|
||||
#define DIVERT_REG_ERR 0x03 /* module already registered */
|
||||
#define DIVERT_REL_ERR 0x04 /* module not registered */
|
||||
#define DIVERT_REG_NAME isdn_register_divert
|
||||
|
||||
|
||||
#endif /* _UAPI_LINUX_ISDN_DIVERTIF_H */
|
@@ -1,68 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */
|
||||
/* Linux ISDN subsystem, sync PPP, interface to ipppd
|
||||
*
|
||||
* Copyright 1994-1999 by Fritz Elfert (fritz@isdn4linux.de)
|
||||
* Copyright 1995,96 Thinking Objects Software GmbH Wuerzburg
|
||||
* Copyright 1995,96 by Michael Hipp (Michael.Hipp@student.uni-tuebingen.de)
|
||||
* Copyright 2000-2002 by Kai Germaschewski (kai@germaschewski.name)
|
||||
*
|
||||
* This software may be used and distributed according to the terms
|
||||
* of the GNU General Public License, incorporated herein by reference.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_LINUX_ISDN_PPP_H
|
||||
#define _UAPI_LINUX_ISDN_PPP_H
|
||||
|
||||
#define CALLTYPE_INCOMING 0x1
|
||||
#define CALLTYPE_OUTGOING 0x2
|
||||
#define CALLTYPE_CALLBACK 0x4
|
||||
|
||||
#define IPPP_VERSION "2.2.0"
|
||||
|
||||
struct pppcallinfo
|
||||
{
|
||||
int calltype;
|
||||
unsigned char local_num[64];
|
||||
unsigned char remote_num[64];
|
||||
int charge_units;
|
||||
};
|
||||
|
||||
#define PPPIOCGCALLINFO _IOWR('t',128,struct pppcallinfo)
|
||||
#define PPPIOCBUNDLE _IOW('t',129,int)
|
||||
#define PPPIOCGMPFLAGS _IOR('t',130,int)
|
||||
#define PPPIOCSMPFLAGS _IOW('t',131,int)
|
||||
#define PPPIOCSMPMTU _IOW('t',132,int)
|
||||
#define PPPIOCSMPMRU _IOW('t',133,int)
|
||||
#define PPPIOCGCOMPRESSORS _IOR('t',134,unsigned long [8])
|
||||
#define PPPIOCSCOMPRESSOR _IOW('t',135,int)
|
||||
#define PPPIOCGIFNAME _IOR('t',136, char [IFNAMSIZ] )
|
||||
|
||||
|
||||
#define SC_MP_PROT 0x00000200
|
||||
#define SC_REJ_MP_PROT 0x00000400
|
||||
#define SC_OUT_SHORT_SEQ 0x00000800
|
||||
#define SC_IN_SHORT_SEQ 0x00004000
|
||||
|
||||
#define SC_DECOMP_ON 0x01
|
||||
#define SC_COMP_ON 0x02
|
||||
#define SC_DECOMP_DISCARD 0x04
|
||||
#define SC_COMP_DISCARD 0x08
|
||||
#define SC_LINK_DECOMP_ON 0x10
|
||||
#define SC_LINK_COMP_ON 0x20
|
||||
#define SC_LINK_DECOMP_DISCARD 0x40
|
||||
#define SC_LINK_COMP_DISCARD 0x80
|
||||
|
||||
#define ISDN_PPP_COMP_MAX_OPTIONS 16
|
||||
|
||||
#define IPPP_COMP_FLAG_XMIT 0x1
|
||||
#define IPPP_COMP_FLAG_LINK 0x2
|
||||
|
||||
struct isdn_ppp_comp_data {
|
||||
int num;
|
||||
unsigned char options[ISDN_PPP_COMP_MAX_OPTIONS];
|
||||
int optlen;
|
||||
int flags;
|
||||
};
|
||||
|
||||
#endif /* _UAPI_LINUX_ISDN_PPP_H */
|
@@ -1,57 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */
|
||||
/* $Id: isdnif.h,v 1.43.2.2 2004/01/12 23:08:35 keil Exp $
|
||||
*
|
||||
* Linux ISDN subsystem
|
||||
* Definition of the interface between the subsystem and its low-level drivers.
|
||||
*
|
||||
* Copyright 1994,95,96 by Fritz Elfert (fritz@isdn4linux.de)
|
||||
* Copyright 1995,96 Thinking Objects Software GmbH Wuerzburg
|
||||
*
|
||||
* This software may be used and distributed according to the terms
|
||||
* of the GNU General Public License, incorporated herein by reference.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _UAPI__ISDNIF_H__
|
||||
#define _UAPI__ISDNIF_H__
|
||||
|
||||
|
||||
/*
|
||||
* Values for general protocol-selection
|
||||
*/
|
||||
#define ISDN_PTYPE_UNKNOWN 0 /* Protocol undefined */
|
||||
#define ISDN_PTYPE_1TR6 1 /* german 1TR6-protocol */
|
||||
#define ISDN_PTYPE_EURO 2 /* EDSS1-protocol */
|
||||
#define ISDN_PTYPE_LEASED 3 /* for leased lines */
|
||||
#define ISDN_PTYPE_NI1 4 /* US NI-1 protocol */
|
||||
#define ISDN_PTYPE_MAX 7 /* Max. 8 Protocols */
|
||||
|
||||
/*
|
||||
* Values for Layer-2-protocol-selection
|
||||
*/
|
||||
#define ISDN_PROTO_L2_X75I 0 /* X75/LAPB with I-Frames */
|
||||
#define ISDN_PROTO_L2_X75UI 1 /* X75/LAPB with UI-Frames */
|
||||
#define ISDN_PROTO_L2_X75BUI 2 /* X75/LAPB with UI-Frames */
|
||||
#define ISDN_PROTO_L2_HDLC 3 /* HDLC */
|
||||
#define ISDN_PROTO_L2_TRANS 4 /* Transparent (Voice) */
|
||||
#define ISDN_PROTO_L2_X25DTE 5 /* X25/LAPB DTE mode */
|
||||
#define ISDN_PROTO_L2_X25DCE 6 /* X25/LAPB DCE mode */
|
||||
#define ISDN_PROTO_L2_V11096 7 /* V.110 bitrate adaption 9600 Baud */
|
||||
#define ISDN_PROTO_L2_V11019 8 /* V.110 bitrate adaption 19200 Baud */
|
||||
#define ISDN_PROTO_L2_V11038 9 /* V.110 bitrate adaption 38400 Baud */
|
||||
#define ISDN_PROTO_L2_MODEM 10 /* Analog Modem on Board */
|
||||
#define ISDN_PROTO_L2_FAX 11 /* Fax Group 2/3 */
|
||||
#define ISDN_PROTO_L2_HDLC_56K 12 /* HDLC 56k */
|
||||
#define ISDN_PROTO_L2_MAX 15 /* Max. 16 Protocols */
|
||||
|
||||
/*
|
||||
* Values for Layer-3-protocol-selection
|
||||
*/
|
||||
#define ISDN_PROTO_L3_TRANS 0 /* Transparent */
|
||||
#define ISDN_PROTO_L3_TRANSDSP 1 /* Transparent with DSP */
|
||||
#define ISDN_PROTO_L3_FCLASS2 2 /* Fax Group 2/3 CLASS 2 */
|
||||
#define ISDN_PROTO_L3_FCLASS1 3 /* Fax Group 2/3 CLASS 1 */
|
||||
#define ISDN_PROTO_L3_MAX 7 /* Max. 8 Protocols */
|
||||
|
||||
|
||||
#endif /* _UAPI__ISDNIF_H__ */
|
172
include/uapi/linux/isst_if.h
Normal file
172
include/uapi/linux/isst_if.h
Normal file
@@ -0,0 +1,172 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Intel Speed Select Interface: OS to hardware Interface
|
||||
* Copyright (c) 2019, Intel Corporation.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Author: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
|
||||
*/
|
||||
|
||||
#ifndef __ISST_IF_H
|
||||
#define __ISST_IF_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/**
|
||||
* struct isst_if_platform_info - Define platform information
|
||||
* @api_version: Version of the firmware document, which this driver
|
||||
* can communicate
|
||||
* @driver_version: Driver version, which will help user to send right
|
||||
* commands. Even if the firmware is capable, driver may
|
||||
* not be ready
|
||||
* @max_cmds_per_ioctl: Returns the maximum number of commands driver will
|
||||
* accept in a single ioctl
|
||||
* @mbox_supported: Support of mail box interface
|
||||
* @mmio_supported: Support of mmio interface for core-power feature
|
||||
*
|
||||
* Used to return output of IOCTL ISST_IF_GET_PLATFORM_INFO. This
|
||||
* information can be used by the user space, to get the driver, firmware
|
||||
* support and also number of commands to send in a single IOCTL request.
|
||||
*/
|
||||
struct isst_if_platform_info {
|
||||
__u16 api_version;
|
||||
__u16 driver_version;
|
||||
__u16 max_cmds_per_ioctl;
|
||||
__u8 mbox_supported;
|
||||
__u8 mmio_supported;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct isst_if_cpu_map - CPU mapping between logical and physical CPU
|
||||
* @logical_cpu: Linux logical CPU number
|
||||
* @physical_cpu: PUNIT CPU number
|
||||
*
|
||||
* Used to convert from Linux logical CPU to PUNIT CPU numbering scheme.
|
||||
* The PUNIT CPU number is different than APIC ID based CPU numbering.
|
||||
*/
|
||||
struct isst_if_cpu_map {
|
||||
__u32 logical_cpu;
|
||||
__u32 physical_cpu;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct isst_if_cpu_maps - structure for CPU map IOCTL
|
||||
* @cmd_count: Number of CPU mapping command in cpu_map[]
|
||||
* @cpu_map[]: Holds one or more CPU map data structure
|
||||
*
|
||||
* This structure used with ioctl ISST_IF_GET_PHY_ID to send
|
||||
* one or more CPU mapping commands. Here IOCTL return value indicates
|
||||
* number of commands sent or error number if no commands have been sent.
|
||||
*/
|
||||
struct isst_if_cpu_maps {
|
||||
__u32 cmd_count;
|
||||
struct isst_if_cpu_map cpu_map[1];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct isst_if_io_reg - Read write PUNIT IO register
|
||||
* @read_write: Value 0: Read, 1: Write
|
||||
* @logical_cpu: Logical CPU number to get target PCI device.
|
||||
* @reg: PUNIT register offset
|
||||
* @value: For write operation value to write and for
|
||||
* for read placeholder read value
|
||||
*
|
||||
* Structure to specify read/write data to PUNIT registers.
|
||||
*/
|
||||
struct isst_if_io_reg {
|
||||
__u32 read_write; /* Read:0, Write:1 */
|
||||
__u32 logical_cpu;
|
||||
__u32 reg;
|
||||
__u32 value;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct isst_if_io_regs - structure for IO register commands
|
||||
* @cmd_count: Number of io reg commands in io_reg[]
|
||||
* @io_reg[]: Holds one or more io_reg command structure
|
||||
*
|
||||
* This structure used with ioctl ISST_IF_IO_CMD to send
|
||||
* one or more read/write commands to PUNIT. Here IOCTL return value
|
||||
* indicates number of requests sent or error number if no requests have
|
||||
* been sent.
|
||||
*/
|
||||
struct isst_if_io_regs {
|
||||
__u32 req_count;
|
||||
struct isst_if_io_reg io_reg[1];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct isst_if_mbox_cmd - Structure to define mail box command
|
||||
* @logical_cpu: Logical CPU number to get target PCI device
|
||||
* @parameter: Mailbox parameter value
|
||||
* @req_data: Request data for the mailbox
|
||||
* @resp_data: Response data for mailbox command response
|
||||
* @command: Mailbox command value
|
||||
* @sub_command: Mailbox sub command value
|
||||
* @reserved: Unused, set to 0
|
||||
*
|
||||
* Structure to specify mailbox command to be sent to PUNIT.
|
||||
*/
|
||||
struct isst_if_mbox_cmd {
|
||||
__u32 logical_cpu;
|
||||
__u32 parameter;
|
||||
__u32 req_data;
|
||||
__u32 resp_data;
|
||||
__u16 command;
|
||||
__u16 sub_command;
|
||||
__u32 reserved;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct isst_if_mbox_cmds - structure for mailbox commands
|
||||
* @cmd_count: Number of mailbox commands in mbox_cmd[]
|
||||
* @mbox_cmd[]: Holds one or more mbox commands
|
||||
*
|
||||
* This structure used with ioctl ISST_IF_MBOX_COMMAND to send
|
||||
* one or more mailbox commands to PUNIT. Here IOCTL return value
|
||||
* indicates number of commands sent or error number if no commands have
|
||||
* been sent.
|
||||
*/
|
||||
struct isst_if_mbox_cmds {
|
||||
__u32 cmd_count;
|
||||
struct isst_if_mbox_cmd mbox_cmd[1];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct isst_if_msr_cmd - Structure to define msr command
|
||||
* @read_write: Value 0: Read, 1: Write
|
||||
* @logical_cpu: Logical CPU number
|
||||
* @msr: MSR number
|
||||
* @data: For write operation, data to write, for read
|
||||
* place holder
|
||||
*
|
||||
* Structure to specify MSR command related to PUNIT.
|
||||
*/
|
||||
struct isst_if_msr_cmd {
|
||||
__u32 read_write; /* Read:0, Write:1 */
|
||||
__u32 logical_cpu;
|
||||
__u64 msr;
|
||||
__u64 data;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct isst_if_msr_cmds - structure for msr commands
|
||||
* @cmd_count: Number of mailbox commands in msr_cmd[]
|
||||
* @msr_cmd[]: Holds one or more msr commands
|
||||
*
|
||||
* This structure used with ioctl ISST_IF_MSR_COMMAND to send
|
||||
* one or more MSR commands. IOCTL return value indicates number of
|
||||
* commands sent or error number if no commands have been sent.
|
||||
*/
|
||||
struct isst_if_msr_cmds {
|
||||
__u32 cmd_count;
|
||||
struct isst_if_msr_cmd msr_cmd[1];
|
||||
};
|
||||
|
||||
#define ISST_IF_MAGIC 0xFE
|
||||
#define ISST_IF_GET_PLATFORM_INFO _IOR(ISST_IF_MAGIC, 0, struct isst_if_platform_info *)
|
||||
#define ISST_IF_GET_PHY_ID _IOWR(ISST_IF_MAGIC, 1, struct isst_if_cpu_map *)
|
||||
#define ISST_IF_IO_CMD _IOW(ISST_IF_MAGIC, 2, struct isst_if_io_regs *)
|
||||
#define ISST_IF_MBOX_COMMAND _IOWR(ISST_IF_MAGIC, 3, struct isst_if_mbox_cmds *)
|
||||
#define ISST_IF_MSR_COMMAND _IOWR(ISST_IF_MAGIC, 4, struct isst_if_msr_cmds *)
|
||||
#endif
|
@@ -67,6 +67,8 @@
|
||||
#define KEYCTL_PKEY_SIGN 27 /* Create a public key signature */
|
||||
#define KEYCTL_PKEY_VERIFY 28 /* Verify a public key signature */
|
||||
#define KEYCTL_RESTRICT_KEYRING 29 /* Restrict keys allowed to link to a keyring */
|
||||
#define KEYCTL_MOVE 30 /* Move keys between keyrings */
|
||||
#define KEYCTL_CAPABILITIES 31 /* Find capabilities of keyrings subsystem */
|
||||
|
||||
/* keyctl structures */
|
||||
struct keyctl_dh_params {
|
||||
@@ -112,4 +114,21 @@ struct keyctl_pkey_params {
|
||||
__u32 __spare[7];
|
||||
};
|
||||
|
||||
#define KEYCTL_MOVE_EXCL 0x00000001 /* Do not displace from the to-keyring */
|
||||
|
||||
/*
|
||||
* Capabilities flags. The capabilities list is an array of 8-bit integers;
|
||||
* each integer can carry up to 8 flags.
|
||||
*/
|
||||
#define KEYCTL_CAPS0_CAPABILITIES 0x01 /* KEYCTL_CAPABILITIES supported */
|
||||
#define KEYCTL_CAPS0_PERSISTENT_KEYRINGS 0x02 /* Persistent keyrings enabled */
|
||||
#define KEYCTL_CAPS0_DIFFIE_HELLMAN 0x04 /* Diffie-Hellman computation enabled */
|
||||
#define KEYCTL_CAPS0_PUBLIC_KEY 0x08 /* Public key ops enabled */
|
||||
#define KEYCTL_CAPS0_BIG_KEY 0x10 /* big_key-type enabled */
|
||||
#define KEYCTL_CAPS0_INVALIDATE 0x20 /* KEYCTL_INVALIDATE supported */
|
||||
#define KEYCTL_CAPS0_RESTRICT_KEYRING 0x40 /* KEYCTL_RESTRICT_KEYRING supported */
|
||||
#define KEYCTL_CAPS0_MOVE 0x80 /* KEYCTL_MOVE supported */
|
||||
#define KEYCTL_CAPS1_NS_KEYRING_NAME 0x01 /* Keyring names are per-user_namespace */
|
||||
#define KEYCTL_CAPS1_NS_KEY_TAG 0x02 /* Key indexing can include a namespace tag */
|
||||
|
||||
#endif /* _LINUX_KEYCTL_H */
|
||||
|
@@ -696,9 +696,11 @@ struct kvm_ioeventfd {
|
||||
#define KVM_X86_DISABLE_EXITS_MWAIT (1 << 0)
|
||||
#define KVM_X86_DISABLE_EXITS_HLT (1 << 1)
|
||||
#define KVM_X86_DISABLE_EXITS_PAUSE (1 << 2)
|
||||
#define KVM_X86_DISABLE_EXITS_CSTATE (1 << 3)
|
||||
#define KVM_X86_DISABLE_VALID_EXITS (KVM_X86_DISABLE_EXITS_MWAIT | \
|
||||
KVM_X86_DISABLE_EXITS_HLT | \
|
||||
KVM_X86_DISABLE_EXITS_PAUSE)
|
||||
KVM_X86_DISABLE_EXITS_PAUSE | \
|
||||
KVM_X86_DISABLE_EXITS_CSTATE)
|
||||
|
||||
/* for KVM_ENABLE_CAP */
|
||||
struct kvm_enable_cap {
|
||||
@@ -993,6 +995,7 @@ struct kvm_ppc_resize_hpt {
|
||||
#define KVM_CAP_ARM_SVE 170
|
||||
#define KVM_CAP_ARM_PTRAUTH_ADDRESS 171
|
||||
#define KVM_CAP_ARM_PTRAUTH_GENERIC 172
|
||||
#define KVM_CAP_PMU_EVENT_FILTER 173
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
@@ -1327,6 +1330,8 @@ struct kvm_s390_ucas_mapping {
|
||||
#define KVM_PPC_GET_RMMU_INFO _IOW(KVMIO, 0xb0, struct kvm_ppc_rmmu_info)
|
||||
/* Available with KVM_CAP_PPC_GET_CPU_CHAR */
|
||||
#define KVM_PPC_GET_CPU_CHAR _IOR(KVMIO, 0xb1, struct kvm_ppc_cpu_char)
|
||||
/* Available with KVM_CAP_PMU_EVENT_FILTER */
|
||||
#define KVM_SET_PMU_EVENT_FILTER _IOW(KVMIO, 0xb2, struct kvm_pmu_event_filter)
|
||||
|
||||
/* ioctl for vm fd */
|
||||
#define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device)
|
||||
|
@@ -28,6 +28,7 @@
|
||||
#define KVM_HC_MIPS_CONSOLE_OUTPUT 8
|
||||
#define KVM_HC_CLOCK_PAIRING 9
|
||||
#define KVM_HC_SEND_IPI 10
|
||||
#define KVM_HC_SCHED_YIELD 11
|
||||
|
||||
/*
|
||||
* hypercalls use architecture specific
|
||||
|
@@ -92,5 +92,6 @@
|
||||
#define BALLOON_KVM_MAGIC 0x13661366
|
||||
#define ZSMALLOC_MAGIC 0x58295829
|
||||
#define DMA_BUF_MAGIC 0x444d4142 /* "DMAB" */
|
||||
#define Z3FOLD_MAGIC 0x33
|
||||
|
||||
#endif /* __LINUX_MAGIC_H__ */
|
||||
|
@@ -146,7 +146,7 @@ struct media_device_info {
|
||||
#define MEDIA_ENT_FL_CONNECTOR (1 << 1)
|
||||
|
||||
/* OR with the entity id value to find the next entity */
|
||||
#define MEDIA_ENT_ID_FLAG_NEXT (1 << 31)
|
||||
#define MEDIA_ENT_ID_FLAG_NEXT (1U << 31)
|
||||
|
||||
struct media_entity_desc {
|
||||
__u32 id;
|
||||
|
@@ -121,6 +121,8 @@
|
||||
#define EXPANSION_MFAULTS 0x0010 /* Multiple faults detected */
|
||||
#define EXPANSION_RESV 0xffe0 /* Unused... */
|
||||
|
||||
#define ESTATUS_1000_XFULL 0x8000 /* Can do 1000BaseX Full */
|
||||
#define ESTATUS_1000_XHALF 0x4000 /* Can do 1000BaseX Half */
|
||||
#define ESTATUS_1000_TFULL 0x2000 /* Can do 1000BT Full */
|
||||
#define ESTATUS_1000_THALF 0x1000 /* Can do 1000BT Half */
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
|
||||
* Patrick Schaaf <bof@bof.de>
|
||||
* Martin Josefsson <gandalf@wlug.westbo.se>
|
||||
* Copyright (C) 2003-2011 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
|
||||
* Copyright (C) 2003-2011 Jozsef Kadlecsik <kadlec@netfilter.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
|
23
include/uapi/linux/netfilter/nf_synproxy.h
Normal file
23
include/uapi/linux/netfilter/nf_synproxy.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef _NF_SYNPROXY_H
|
||||
#define _NF_SYNPROXY_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define NF_SYNPROXY_OPT_MSS 0x01
|
||||
#define NF_SYNPROXY_OPT_WSCALE 0x02
|
||||
#define NF_SYNPROXY_OPT_SACK_PERM 0x04
|
||||
#define NF_SYNPROXY_OPT_TIMESTAMP 0x08
|
||||
#define NF_SYNPROXY_OPT_ECN 0x10
|
||||
#define NF_SYNPROXY_OPT_MASK (NF_SYNPROXY_OPT_MSS | \
|
||||
NF_SYNPROXY_OPT_WSCALE | \
|
||||
NF_SYNPROXY_OPT_SACK_PERM | \
|
||||
NF_SYNPROXY_OPT_TIMESTAMP)
|
||||
|
||||
struct nf_synproxy_info {
|
||||
__u8 options;
|
||||
__u8 wscale;
|
||||
__u16 mss;
|
||||
};
|
||||
|
||||
#endif /* _NF_SYNPROXY_H */
|
@@ -192,6 +192,7 @@ enum nft_table_attributes {
|
||||
* @NFTA_CHAIN_USE: number of references to this chain (NLA_U32)
|
||||
* @NFTA_CHAIN_TYPE: type name of the string (NLA_NUL_STRING)
|
||||
* @NFTA_CHAIN_COUNTERS: counter specification of the chain (NLA_NESTED: nft_counter_attributes)
|
||||
* @NFTA_CHAIN_FLAGS: chain flags
|
||||
*/
|
||||
enum nft_chain_attributes {
|
||||
NFTA_CHAIN_UNSPEC,
|
||||
@@ -204,6 +205,7 @@ enum nft_chain_attributes {
|
||||
NFTA_CHAIN_TYPE,
|
||||
NFTA_CHAIN_COUNTERS,
|
||||
NFTA_CHAIN_PAD,
|
||||
NFTA_CHAIN_FLAGS,
|
||||
__NFTA_CHAIN_MAX
|
||||
};
|
||||
#define NFTA_CHAIN_MAX (__NFTA_CHAIN_MAX - 1)
|
||||
@@ -730,10 +732,12 @@ enum nft_exthdr_flags {
|
||||
*
|
||||
* @NFT_EXTHDR_OP_IPV6: match against ipv6 extension headers
|
||||
* @NFT_EXTHDR_OP_TCP: match against tcp options
|
||||
* @NFT_EXTHDR_OP_IPV4: match against ipv4 options
|
||||
*/
|
||||
enum nft_exthdr_op {
|
||||
NFT_EXTHDR_OP_IPV6,
|
||||
NFT_EXTHDR_OP_TCPOPT,
|
||||
NFT_EXTHDR_OP_IPV4,
|
||||
__NFT_EXTHDR_OP_MAX
|
||||
};
|
||||
#define NFT_EXTHDR_OP_MAX (__NFT_EXTHDR_OP_MAX - 1)
|
||||
@@ -793,6 +797,8 @@ enum nft_exthdr_attributes {
|
||||
* @NFT_META_SECPATH: boolean, secpath_exists (!!skb->sp)
|
||||
* @NFT_META_IIFKIND: packet input interface kind name (dev->rtnl_link_ops->kind)
|
||||
* @NFT_META_OIFKIND: packet output interface kind name (dev->rtnl_link_ops->kind)
|
||||
* @NFT_META_BRI_IIFPVID: packet input bridge port pvid
|
||||
* @NFT_META_BRI_IIFVPROTO: packet input bridge vlan proto
|
||||
*/
|
||||
enum nft_meta_keys {
|
||||
NFT_META_LEN,
|
||||
@@ -823,6 +829,8 @@ enum nft_meta_keys {
|
||||
NFT_META_SECPATH,
|
||||
NFT_META_IIFKIND,
|
||||
NFT_META_OIFKIND,
|
||||
NFT_META_BRI_IIFPVID,
|
||||
NFT_META_BRI_IIFVPROTO,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1445,6 +1453,17 @@ enum nft_ct_timeout_timeout_attributes {
|
||||
};
|
||||
#define NFTA_CT_TIMEOUT_MAX (__NFTA_CT_TIMEOUT_MAX - 1)
|
||||
|
||||
enum nft_ct_expectation_attributes {
|
||||
NFTA_CT_EXPECT_UNSPEC,
|
||||
NFTA_CT_EXPECT_L3PROTO,
|
||||
NFTA_CT_EXPECT_L4PROTO,
|
||||
NFTA_CT_EXPECT_DPORT,
|
||||
NFTA_CT_EXPECT_TIMEOUT,
|
||||
NFTA_CT_EXPECT_SIZE,
|
||||
__NFTA_CT_EXPECT_MAX,
|
||||
};
|
||||
#define NFTA_CT_EXPECT_MAX (__NFTA_CT_EXPECT_MAX - 1)
|
||||
|
||||
#define NFT_OBJECT_UNSPEC 0
|
||||
#define NFT_OBJECT_COUNTER 1
|
||||
#define NFT_OBJECT_QUOTA 2
|
||||
@@ -1454,7 +1473,8 @@ enum nft_ct_timeout_timeout_attributes {
|
||||
#define NFT_OBJECT_TUNNEL 6
|
||||
#define NFT_OBJECT_CT_TIMEOUT 7
|
||||
#define NFT_OBJECT_SECMARK 8
|
||||
#define __NFT_OBJECT_MAX 9
|
||||
#define NFT_OBJECT_CT_EXPECT 9
|
||||
#define __NFT_OBJECT_MAX 10
|
||||
#define NFT_OBJECT_MAX (__NFT_OBJECT_MAX - 1)
|
||||
|
||||
/**
|
||||
@@ -1537,6 +1557,22 @@ enum nft_osf_flags {
|
||||
NFT_OSF_F_VERSION = (1 << 0),
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nft_synproxy_attributes - nf_tables synproxy expression netlink attributes
|
||||
*
|
||||
* @NFTA_SYNPROXY_MSS: mss value sent to the backend (NLA_U16)
|
||||
* @NFTA_SYNPROXY_WSCALE: wscale value sent to the backend (NLA_U8)
|
||||
* @NFTA_SYNPROXY_FLAGS: flags (NLA_U32)
|
||||
*/
|
||||
enum nft_synproxy_attributes {
|
||||
NFTA_SYNPROXY_UNSPEC,
|
||||
NFTA_SYNPROXY_MSS,
|
||||
NFTA_SYNPROXY_WSCALE,
|
||||
NFTA_SYNPROXY_FLAGS,
|
||||
__NFTA_SYNPROXY_MAX,
|
||||
};
|
||||
#define NFTA_SYNPROXY_MAX (__NFTA_SYNPROXY_MAX - 1)
|
||||
|
||||
/**
|
||||
* enum nft_device_attributes - nf_tables device netlink attributes
|
||||
*
|
||||
|
@@ -2,18 +2,14 @@
|
||||
#ifndef _XT_SYNPROXY_H
|
||||
#define _XT_SYNPROXY_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netfilter/nf_synproxy.h>
|
||||
|
||||
#define XT_SYNPROXY_OPT_MSS 0x01
|
||||
#define XT_SYNPROXY_OPT_WSCALE 0x02
|
||||
#define XT_SYNPROXY_OPT_SACK_PERM 0x04
|
||||
#define XT_SYNPROXY_OPT_TIMESTAMP 0x08
|
||||
#define XT_SYNPROXY_OPT_ECN 0x10
|
||||
#define XT_SYNPROXY_OPT_MSS NF_SYNPROXY_OPT_MSS
|
||||
#define XT_SYNPROXY_OPT_WSCALE NF_SYNPROXY_OPT_WSCALE
|
||||
#define XT_SYNPROXY_OPT_SACK_PERM NF_SYNPROXY_OPT_SACK_PERM
|
||||
#define XT_SYNPROXY_OPT_TIMESTAMP NF_SYNPROXY_OPT_TIMESTAMP
|
||||
#define XT_SYNPROXY_OPT_ECN NF_SYNPROXY_OPT_ECN
|
||||
|
||||
struct xt_synproxy_info {
|
||||
__u8 options;
|
||||
__u8 wscale;
|
||||
__u16 mss;
|
||||
};
|
||||
#define xt_synproxy_info nf_synproxy_info
|
||||
|
||||
#endif /* _XT_SYNPROXY_H */
|
||||
|
@@ -5,11 +5,17 @@
|
||||
#include <linux/types.h>
|
||||
|
||||
enum {
|
||||
XT_OWNER_UID = 1 << 0,
|
||||
XT_OWNER_GID = 1 << 1,
|
||||
XT_OWNER_SOCKET = 1 << 2,
|
||||
XT_OWNER_UID = 1 << 0,
|
||||
XT_OWNER_GID = 1 << 1,
|
||||
XT_OWNER_SOCKET = 1 << 2,
|
||||
XT_OWNER_SUPPL_GROUPS = 1 << 3,
|
||||
};
|
||||
|
||||
#define XT_OWNER_MASK (XT_OWNER_UID | \
|
||||
XT_OWNER_GID | \
|
||||
XT_OWNER_SOCKET | \
|
||||
XT_OWNER_SUPPL_GROUPS)
|
||||
|
||||
struct xt_owner_match_info {
|
||||
__u32 uid_min, uid_max;
|
||||
__u32 gid_min, gid_max;
|
||||
|
56
include/uapi/linux/nexthop.h
Normal file
56
include/uapi/linux/nexthop.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef _UAPI_LINUX_NEXTHOP_H
|
||||
#define _UAPI_LINUX_NEXTHOP_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct nhmsg {
|
||||
unsigned char nh_family;
|
||||
unsigned char nh_scope; /* return only */
|
||||
unsigned char nh_protocol; /* Routing protocol that installed nh */
|
||||
unsigned char resvd;
|
||||
unsigned int nh_flags; /* RTNH_F flags */
|
||||
};
|
||||
|
||||
/* entry in a nexthop group */
|
||||
struct nexthop_grp {
|
||||
__u32 id; /* nexthop id - must exist */
|
||||
__u8 weight; /* weight of this nexthop */
|
||||
__u8 resvd1;
|
||||
__u16 resvd2;
|
||||
};
|
||||
|
||||
enum {
|
||||
NEXTHOP_GRP_TYPE_MPATH, /* default type if not specified */
|
||||
__NEXTHOP_GRP_TYPE_MAX,
|
||||
};
|
||||
|
||||
#define NEXTHOP_GRP_TYPE_MAX (__NEXTHOP_GRP_TYPE_MAX - 1)
|
||||
|
||||
enum {
|
||||
NHA_UNSPEC,
|
||||
NHA_ID, /* u32; id for nexthop. id == 0 means auto-assign */
|
||||
|
||||
NHA_GROUP, /* array of nexthop_grp */
|
||||
NHA_GROUP_TYPE, /* u16 one of NEXTHOP_GRP_TYPE */
|
||||
/* if NHA_GROUP attribute is added, no other attributes can be set */
|
||||
|
||||
NHA_BLACKHOLE, /* flag; nexthop used to blackhole packets */
|
||||
/* if NHA_BLACKHOLE is added, OIF, GATEWAY, ENCAP can not be set */
|
||||
|
||||
NHA_OIF, /* u32; nexthop device */
|
||||
NHA_GATEWAY, /* be32 (IPv4) or in6_addr (IPv6) gw address */
|
||||
NHA_ENCAP_TYPE, /* u16; lwt encap type */
|
||||
NHA_ENCAP, /* lwt encap data */
|
||||
|
||||
/* NHA_OIF can be appended to dump request to return only
|
||||
* nexthops using given device
|
||||
*/
|
||||
NHA_GROUPS, /* flag; only return nexthop groups in dump */
|
||||
NHA_MASTER, /* u32; only return nexthops with given master dev */
|
||||
|
||||
__NHA_MAX,
|
||||
};
|
||||
|
||||
#define NHA_MAX (__NHA_MAX - 1)
|
||||
#endif
|
@@ -29,7 +29,7 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/magic.h>
|
||||
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
#define NILFS_INODE_BMAP_SIZE 7
|
||||
|
||||
@@ -533,19 +533,19 @@ enum {
|
||||
static inline void \
|
||||
nilfs_checkpoint_set_##name(struct nilfs_checkpoint *cp) \
|
||||
{ \
|
||||
cp->cp_flags = cpu_to_le32(le32_to_cpu(cp->cp_flags) | \
|
||||
(1UL << NILFS_CHECKPOINT_##flag)); \
|
||||
cp->cp_flags = __cpu_to_le32(__le32_to_cpu(cp->cp_flags) | \
|
||||
(1UL << NILFS_CHECKPOINT_##flag)); \
|
||||
} \
|
||||
static inline void \
|
||||
nilfs_checkpoint_clear_##name(struct nilfs_checkpoint *cp) \
|
||||
{ \
|
||||
cp->cp_flags = cpu_to_le32(le32_to_cpu(cp->cp_flags) & \
|
||||
cp->cp_flags = __cpu_to_le32(__le32_to_cpu(cp->cp_flags) & \
|
||||
~(1UL << NILFS_CHECKPOINT_##flag)); \
|
||||
} \
|
||||
static inline int \
|
||||
nilfs_checkpoint_##name(const struct nilfs_checkpoint *cp) \
|
||||
{ \
|
||||
return !!(le32_to_cpu(cp->cp_flags) & \
|
||||
return !!(__le32_to_cpu(cp->cp_flags) & \
|
||||
(1UL << NILFS_CHECKPOINT_##flag)); \
|
||||
}
|
||||
|
||||
@@ -595,20 +595,20 @@ enum {
|
||||
static inline void \
|
||||
nilfs_segment_usage_set_##name(struct nilfs_segment_usage *su) \
|
||||
{ \
|
||||
su->su_flags = cpu_to_le32(le32_to_cpu(su->su_flags) | \
|
||||
su->su_flags = __cpu_to_le32(__le32_to_cpu(su->su_flags) | \
|
||||
(1UL << NILFS_SEGMENT_USAGE_##flag));\
|
||||
} \
|
||||
static inline void \
|
||||
nilfs_segment_usage_clear_##name(struct nilfs_segment_usage *su) \
|
||||
{ \
|
||||
su->su_flags = \
|
||||
cpu_to_le32(le32_to_cpu(su->su_flags) & \
|
||||
__cpu_to_le32(__le32_to_cpu(su->su_flags) & \
|
||||
~(1UL << NILFS_SEGMENT_USAGE_##flag)); \
|
||||
} \
|
||||
static inline int \
|
||||
nilfs_segment_usage_##name(const struct nilfs_segment_usage *su) \
|
||||
{ \
|
||||
return !!(le32_to_cpu(su->su_flags) & \
|
||||
return !!(__le32_to_cpu(su->su_flags) & \
|
||||
(1UL << NILFS_SEGMENT_USAGE_##flag)); \
|
||||
}
|
||||
|
||||
@@ -619,15 +619,15 @@ NILFS_SEGMENT_USAGE_FNS(ERROR, error)
|
||||
static inline void
|
||||
nilfs_segment_usage_set_clean(struct nilfs_segment_usage *su)
|
||||
{
|
||||
su->su_lastmod = cpu_to_le64(0);
|
||||
su->su_nblocks = cpu_to_le32(0);
|
||||
su->su_flags = cpu_to_le32(0);
|
||||
su->su_lastmod = __cpu_to_le64(0);
|
||||
su->su_nblocks = __cpu_to_le32(0);
|
||||
su->su_flags = __cpu_to_le32(0);
|
||||
}
|
||||
|
||||
static inline int
|
||||
nilfs_segment_usage_clean(const struct nilfs_segment_usage *su)
|
||||
{
|
||||
return !le32_to_cpu(su->su_flags);
|
||||
return !__le32_to_cpu(su->su_flags);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -234,6 +234,15 @@
|
||||
* use in a FILS shared key connection with PMKSA caching.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DOC: SAE authentication offload
|
||||
*
|
||||
* By setting @NL80211_EXT_FEATURE_SAE_OFFLOAD flag drivers can indicate they
|
||||
* support offloading SAE authentication for WPA3-Personal networks. In
|
||||
* %NL80211_CMD_CONNECT the password for SAE should be specified using
|
||||
* %NL80211_ATTR_SAE_PASSWORD.
|
||||
*/
|
||||
|
||||
/**
|
||||
* enum nl80211_commands - supported nl80211 commands
|
||||
*
|
||||
@@ -2341,6 +2350,12 @@ enum nl80211_commands {
|
||||
* should be picking up the lowest tx power, either tx power per-interface
|
||||
* or per-station.
|
||||
*
|
||||
* @NL80211_ATTR_SAE_PASSWORD: attribute for passing SAE password material. It
|
||||
* is used with %NL80211_CMD_CONNECT to provide password for offloading
|
||||
* SAE authentication for WPA3-Personal networks.
|
||||
*
|
||||
* @NL80211_ATTR_TWT_RESPONDER: Enable target wait time responder support.
|
||||
*
|
||||
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
@@ -2794,6 +2809,10 @@ enum nl80211_attrs {
|
||||
NL80211_ATTR_STA_TX_POWER_SETTING,
|
||||
NL80211_ATTR_STA_TX_POWER,
|
||||
|
||||
NL80211_ATTR_SAE_PASSWORD,
|
||||
|
||||
NL80211_ATTR_TWT_RESPONDER,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
@@ -4406,6 +4425,7 @@ enum nl80211_mfp {
|
||||
enum nl80211_wpa_versions {
|
||||
NL80211_WPA_VERSION_1 = 1 << 0,
|
||||
NL80211_WPA_VERSION_2 = 1 << 1,
|
||||
NL80211_WPA_VERSION_3 = 1 << 2,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -5314,7 +5334,7 @@ enum nl80211_feature_flags {
|
||||
NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 1 << 28,
|
||||
NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 1 << 29,
|
||||
NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 1 << 30,
|
||||
NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1 << 31,
|
||||
NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1U << 31,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -5422,6 +5442,9 @@ enum nl80211_feature_flags {
|
||||
* @NL80211_EXT_FEATURE_STA_TX_PWR: This driver supports controlling tx power
|
||||
* to a station.
|
||||
*
|
||||
* @NL80211_EXT_FEATURE_SAE_OFFLOAD: Device wants to do SAE authentication in
|
||||
* station mode (SAE password is passed as part of the connect command).
|
||||
*
|
||||
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
||||
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
||||
*/
|
||||
@@ -5466,6 +5489,7 @@ enum nl80211_ext_feature_index {
|
||||
NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD,
|
||||
NL80211_EXT_FEATURE_EXT_KEY_ID,
|
||||
NL80211_EXT_FEATURE_STA_TX_PWR,
|
||||
NL80211_EXT_FEATURE_SAE_OFFLOAD,
|
||||
|
||||
/* add new features before the definition below */
|
||||
NUM_NL80211_EXT_FEATURES,
|
||||
|
@@ -528,6 +528,7 @@
|
||||
#define PCI_EXP_LNKCAP_SLS_5_0GB 0x00000002 /* LNKCAP2 SLS Vector bit 1 */
|
||||
#define PCI_EXP_LNKCAP_SLS_8_0GB 0x00000003 /* LNKCAP2 SLS Vector bit 2 */
|
||||
#define PCI_EXP_LNKCAP_SLS_16_0GB 0x00000004 /* LNKCAP2 SLS Vector bit 3 */
|
||||
#define PCI_EXP_LNKCAP_SLS_32_0GB 0x00000005 /* LNKCAP2 SLS Vector bit 4 */
|
||||
#define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */
|
||||
#define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */
|
||||
#define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */
|
||||
@@ -556,6 +557,7 @@
|
||||
#define PCI_EXP_LNKSTA_CLS_5_0GB 0x0002 /* Current Link Speed 5.0GT/s */
|
||||
#define PCI_EXP_LNKSTA_CLS_8_0GB 0x0003 /* Current Link Speed 8.0GT/s */
|
||||
#define PCI_EXP_LNKSTA_CLS_16_0GB 0x0004 /* Current Link Speed 16.0GT/s */
|
||||
#define PCI_EXP_LNKSTA_CLS_32_0GB 0x0005 /* Current Link Speed 32.0GT/s */
|
||||
#define PCI_EXP_LNKSTA_NLW 0x03f0 /* Negotiated Link Width */
|
||||
#define PCI_EXP_LNKSTA_NLW_X1 0x0010 /* Current Link Width x1 */
|
||||
#define PCI_EXP_LNKSTA_NLW_X2 0x0020 /* Current Link Width x2 */
|
||||
@@ -661,6 +663,7 @@
|
||||
#define PCI_EXP_LNKCAP2_SLS_5_0GB 0x00000004 /* Supported Speed 5GT/s */
|
||||
#define PCI_EXP_LNKCAP2_SLS_8_0GB 0x00000008 /* Supported Speed 8GT/s */
|
||||
#define PCI_EXP_LNKCAP2_SLS_16_0GB 0x00000010 /* Supported Speed 16GT/s */
|
||||
#define PCI_EXP_LNKCAP2_SLS_32_0GB 0x00000020 /* Supported Speed 32GT/s */
|
||||
#define PCI_EXP_LNKCAP2_CROSSLINK 0x00000100 /* Crosslink supported */
|
||||
#define PCI_EXP_LNKCTL2 48 /* Link Control 2 */
|
||||
#define PCI_EXP_LNKCTL2_TLS 0x000f
|
||||
@@ -668,6 +671,7 @@
|
||||
#define PCI_EXP_LNKCTL2_TLS_5_0GT 0x0002 /* Supported Speed 5GT/s */
|
||||
#define PCI_EXP_LNKCTL2_TLS_8_0GT 0x0003 /* Supported Speed 8GT/s */
|
||||
#define PCI_EXP_LNKCTL2_TLS_16_0GT 0x0004 /* Supported Speed 16GT/s */
|
||||
#define PCI_EXP_LNKCTL2_TLS_32_0GT 0x0005 /* Supported Speed 32GT/s */
|
||||
#define PCI_EXP_LNKSTA2 50 /* Link Status 2 */
|
||||
#define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2 52 /* v2 endpoints with link end here */
|
||||
#define PCI_EXP_SLTCAP2 52 /* Slot Capabilities 2 */
|
||||
|
@@ -104,6 +104,9 @@ enum tca_id {
|
||||
TCA_ID_SIMP = TCA_ACT_SIMP,
|
||||
TCA_ID_IFE = TCA_ACT_IFE,
|
||||
TCA_ID_SAMPLE = TCA_ACT_SAMPLE,
|
||||
TCA_ID_CTINFO,
|
||||
TCA_ID_MPLS,
|
||||
TCA_ID_CT,
|
||||
/* other actions go here */
|
||||
__TCA_ID_MAX = 255
|
||||
};
|
||||
@@ -294,7 +297,7 @@ enum {
|
||||
TCA_FW_UNSPEC,
|
||||
TCA_FW_CLASSID,
|
||||
TCA_FW_POLICE,
|
||||
TCA_FW_INDEV, /* used by CONFIG_NET_CLS_IND */
|
||||
TCA_FW_INDEV,
|
||||
TCA_FW_ACT, /* used by CONFIG_NET_CLS_ACT */
|
||||
TCA_FW_MASK,
|
||||
__TCA_FW_MAX
|
||||
@@ -534,11 +537,27 @@ enum {
|
||||
TCA_FLOWER_KEY_PORT_DST_MIN, /* be16 */
|
||||
TCA_FLOWER_KEY_PORT_DST_MAX, /* be16 */
|
||||
|
||||
TCA_FLOWER_KEY_CT_STATE, /* u16 */
|
||||
TCA_FLOWER_KEY_CT_STATE_MASK, /* u16 */
|
||||
TCA_FLOWER_KEY_CT_ZONE, /* u16 */
|
||||
TCA_FLOWER_KEY_CT_ZONE_MASK, /* u16 */
|
||||
TCA_FLOWER_KEY_CT_MARK, /* u32 */
|
||||
TCA_FLOWER_KEY_CT_MARK_MASK, /* u32 */
|
||||
TCA_FLOWER_KEY_CT_LABELS, /* u128 */
|
||||
TCA_FLOWER_KEY_CT_LABELS_MASK, /* u128 */
|
||||
|
||||
__TCA_FLOWER_MAX,
|
||||
};
|
||||
|
||||
#define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1)
|
||||
|
||||
enum {
|
||||
TCA_FLOWER_KEY_CT_FLAGS_NEW = 1 << 0, /* Beginning of a new connection. */
|
||||
TCA_FLOWER_KEY_CT_FLAGS_ESTABLISHED = 1 << 1, /* Part of an existing connection. */
|
||||
TCA_FLOWER_KEY_CT_FLAGS_RELATED = 1 << 2, /* Related to an established connection. */
|
||||
TCA_FLOWER_KEY_CT_FLAGS_TRACKED = 1 << 3, /* Conntrack has occurred. */
|
||||
};
|
||||
|
||||
enum {
|
||||
TCA_FLOWER_KEY_ENC_OPTS_UNSPEC,
|
||||
TCA_FLOWER_KEY_ENC_OPTS_GENEVE, /* Nested
|
||||
|
@@ -2,6 +2,7 @@
|
||||
#ifndef __LINUX_PKT_SCHED_H
|
||||
#define __LINUX_PKT_SCHED_H
|
||||
|
||||
#include <linux/const.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Logical priority bands not depending on specific packet scheduler.
|
||||
@@ -988,8 +989,9 @@ struct tc_etf_qopt {
|
||||
__s32 delta;
|
||||
__s32 clockid;
|
||||
__u32 flags;
|
||||
#define TC_ETF_DEADLINE_MODE_ON BIT(0)
|
||||
#define TC_ETF_OFFLOAD_ON BIT(1)
|
||||
#define TC_ETF_DEADLINE_MODE_ON _BITUL(0)
|
||||
#define TC_ETF_OFFLOAD_ON _BITUL(1)
|
||||
#define TC_ETF_SKIP_SOCK_CHECK _BITUL(2)
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -1158,6 +1160,8 @@ enum {
|
||||
* [TCA_TAPRIO_ATTR_SCHED_ENTRY_INTERVAL]
|
||||
*/
|
||||
|
||||
#define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST 0x1
|
||||
|
||||
enum {
|
||||
TCA_TAPRIO_ATTR_UNSPEC,
|
||||
TCA_TAPRIO_ATTR_PRIOMAP, /* struct tc_mqprio_qopt */
|
||||
@@ -1169,6 +1173,8 @@ enum {
|
||||
TCA_TAPRIO_ATTR_ADMIN_SCHED, /* The admin sched, only used in dump */
|
||||
TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME, /* s64 */
|
||||
TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME_EXTENSION, /* s64 */
|
||||
TCA_TAPRIO_ATTR_FLAGS, /* u32 */
|
||||
TCA_TAPRIO_ATTR_TXTIME_DELAY, /* u32 */
|
||||
__TCA_TAPRIO_ATTR_MAX,
|
||||
};
|
||||
|
||||
|
@@ -1,3 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Userspace interface for AMD Secure Encrypted Virtualization (SEV)
|
||||
* platform management commands.
|
||||
@@ -7,10 +8,6 @@
|
||||
* Author: Brijesh Singh <brijesh.singh@amd.com>
|
||||
*
|
||||
* SEV API specification is available at: https://developer.amd.com/sev/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef __PSP_SEV_USER_H__
|
||||
|
@@ -73,6 +73,41 @@ struct seccomp_metadata {
|
||||
__u64 flags; /* Output: filter's flags */
|
||||
};
|
||||
|
||||
#define PTRACE_GET_SYSCALL_INFO 0x420e
|
||||
#define PTRACE_SYSCALL_INFO_NONE 0
|
||||
#define PTRACE_SYSCALL_INFO_ENTRY 1
|
||||
#define PTRACE_SYSCALL_INFO_EXIT 2
|
||||
#define PTRACE_SYSCALL_INFO_SECCOMP 3
|
||||
|
||||
struct ptrace_syscall_info {
|
||||
__u8 op; /* PTRACE_SYSCALL_INFO_* */
|
||||
__u32 arch __attribute__((__aligned__(sizeof(__u32))));
|
||||
__u64 instruction_pointer;
|
||||
__u64 stack_pointer;
|
||||
union {
|
||||
struct {
|
||||
__u64 nr;
|
||||
__u64 args[6];
|
||||
} entry;
|
||||
struct {
|
||||
__s64 rval;
|
||||
__u8 is_error;
|
||||
} exit;
|
||||
struct {
|
||||
__u64 nr;
|
||||
__u64 args[6];
|
||||
__u32 ret_data;
|
||||
} seccomp;
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* These values are stored in task->ptrace_message
|
||||
* by tracehook_report_syscall_* to describe the current syscall-stop.
|
||||
*/
|
||||
#define PTRACE_EVENTMSG_SYSCALL_ENTRY 1
|
||||
#define PTRACE_EVENTMSG_SYSCALL_EXIT 2
|
||||
|
||||
/* Read signals from a shared (process wide) queue */
|
||||
#define PTRACE_PEEKSIGINFO_SHARED (1 << 0)
|
||||
|
||||
|
@@ -250,6 +250,7 @@ struct rds_info_rdma_connection {
|
||||
__u32 rdma_mr_max;
|
||||
__u32 rdma_mr_size;
|
||||
__u8 tos;
|
||||
__u32 cache_allocs;
|
||||
};
|
||||
|
||||
struct rds6_info_rdma_connection {
|
||||
@@ -264,6 +265,7 @@ struct rds6_info_rdma_connection {
|
||||
__u32 rdma_mr_max;
|
||||
__u32 rdma_mr_size;
|
||||
__u8 tos;
|
||||
__u32 cache_allocs;
|
||||
};
|
||||
|
||||
/* RDS message Receive Path Latency points */
|
||||
|
@@ -157,6 +157,13 @@ enum {
|
||||
RTM_GETCHAIN,
|
||||
#define RTM_GETCHAIN RTM_GETCHAIN
|
||||
|
||||
RTM_NEWNEXTHOP = 104,
|
||||
#define RTM_NEWNEXTHOP RTM_NEWNEXTHOP
|
||||
RTM_DELNEXTHOP,
|
||||
#define RTM_DELNEXTHOP RTM_DELNEXTHOP
|
||||
RTM_GETNEXTHOP,
|
||||
#define RTM_GETNEXTHOP RTM_GETNEXTHOP
|
||||
|
||||
__RTM_MAX,
|
||||
#define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1)
|
||||
};
|
||||
@@ -342,6 +349,7 @@ enum rtattr_type_t {
|
||||
RTA_IP_PROTO,
|
||||
RTA_SPORT,
|
||||
RTA_DPORT,
|
||||
RTA_NH_ID,
|
||||
__RTA_MAX
|
||||
};
|
||||
|
||||
@@ -704,6 +712,8 @@ enum rtnetlink_groups {
|
||||
#define RTNLGRP_IPV4_MROUTE_R RTNLGRP_IPV4_MROUTE_R
|
||||
RTNLGRP_IPV6_MROUTE_R,
|
||||
#define RTNLGRP_IPV6_MROUTE_R RTNLGRP_IPV6_MROUTE_R
|
||||
RTNLGRP_NEXTHOP,
|
||||
#define RTNLGRP_NEXTHOP RTNLGRP_NEXTHOP
|
||||
__RTNLGRP_MAX
|
||||
};
|
||||
#define RTNLGRP_MAX (__RTNLGRP_MAX - 1)
|
||||
|
@@ -2,6 +2,8 @@
|
||||
#ifndef _UAPI_LINUX_SCHED_H
|
||||
#define _UAPI_LINUX_SCHED_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* cloning flags:
|
||||
*/
|
||||
@@ -31,6 +33,20 @@
|
||||
#define CLONE_NEWNET 0x40000000 /* New network namespace */
|
||||
#define CLONE_IO 0x80000000 /* Clone io context */
|
||||
|
||||
/*
|
||||
* Arguments for the clone3 syscall
|
||||
*/
|
||||
struct clone_args {
|
||||
__aligned_u64 flags;
|
||||
__aligned_u64 pidfd;
|
||||
__aligned_u64 child_tid;
|
||||
__aligned_u64 parent_tid;
|
||||
__aligned_u64 exit_signal;
|
||||
__aligned_u64 stack;
|
||||
__aligned_u64 stack_size;
|
||||
__aligned_u64 tls;
|
||||
};
|
||||
|
||||
/*
|
||||
* Scheduling policies
|
||||
*/
|
||||
@@ -51,9 +67,21 @@
|
||||
#define SCHED_FLAG_RESET_ON_FORK 0x01
|
||||
#define SCHED_FLAG_RECLAIM 0x02
|
||||
#define SCHED_FLAG_DL_OVERRUN 0x04
|
||||
#define SCHED_FLAG_KEEP_POLICY 0x08
|
||||
#define SCHED_FLAG_KEEP_PARAMS 0x10
|
||||
#define SCHED_FLAG_UTIL_CLAMP_MIN 0x20
|
||||
#define SCHED_FLAG_UTIL_CLAMP_MAX 0x40
|
||||
|
||||
#define SCHED_FLAG_KEEP_ALL (SCHED_FLAG_KEEP_POLICY | \
|
||||
SCHED_FLAG_KEEP_PARAMS)
|
||||
|
||||
#define SCHED_FLAG_UTIL_CLAMP (SCHED_FLAG_UTIL_CLAMP_MIN | \
|
||||
SCHED_FLAG_UTIL_CLAMP_MAX)
|
||||
|
||||
#define SCHED_FLAG_ALL (SCHED_FLAG_RESET_ON_FORK | \
|
||||
SCHED_FLAG_RECLAIM | \
|
||||
SCHED_FLAG_DL_OVERRUN)
|
||||
SCHED_FLAG_DL_OVERRUN | \
|
||||
SCHED_FLAG_KEEP_ALL | \
|
||||
SCHED_FLAG_UTIL_CLAMP)
|
||||
|
||||
#endif /* _UAPI_LINUX_SCHED_H */
|
||||
|
@@ -9,6 +9,7 @@ struct sched_param {
|
||||
};
|
||||
|
||||
#define SCHED_ATTR_SIZE_VER0 48 /* sizeof first published struct */
|
||||
#define SCHED_ATTR_SIZE_VER1 56 /* add: util_{min,max} */
|
||||
|
||||
/*
|
||||
* Extended scheduling parameters data structure.
|
||||
@@ -21,8 +22,33 @@ struct sched_param {
|
||||
* the tasks may be useful for a wide variety of application fields, e.g.,
|
||||
* multimedia, streaming, automation and control, and many others.
|
||||
*
|
||||
* This variant (sched_attr) is meant at describing a so-called
|
||||
* sporadic time-constrained task. In such model a task is specified by:
|
||||
* This variant (sched_attr) allows to define additional attributes to
|
||||
* improve the scheduler knowledge about task requirements.
|
||||
*
|
||||
* Scheduling Class Attributes
|
||||
* ===========================
|
||||
*
|
||||
* A subset of sched_attr attributes specifies the
|
||||
* scheduling policy and relative POSIX attributes:
|
||||
*
|
||||
* @size size of the structure, for fwd/bwd compat.
|
||||
*
|
||||
* @sched_policy task's scheduling policy
|
||||
* @sched_nice task's nice value (SCHED_NORMAL/BATCH)
|
||||
* @sched_priority task's static priority (SCHED_FIFO/RR)
|
||||
*
|
||||
* Certain more advanced scheduling features can be controlled by a
|
||||
* predefined set of flags via the attribute:
|
||||
*
|
||||
* @sched_flags for customizing the scheduler behaviour
|
||||
*
|
||||
* Sporadic Time-Constrained Task Attributes
|
||||
* =========================================
|
||||
*
|
||||
* A subset of sched_attr attributes allows to describe a so-called
|
||||
* sporadic time-constrained task.
|
||||
*
|
||||
* In such a model a task is specified by:
|
||||
* - the activation period or minimum instance inter-arrival time;
|
||||
* - the maximum (or average, depending on the actual scheduling
|
||||
* discipline) computation time of all instances, a.k.a. runtime;
|
||||
@@ -34,14 +60,8 @@ struct sched_param {
|
||||
* than the runtime and must be completed by time instant t equal to
|
||||
* the instance activation time + the deadline.
|
||||
*
|
||||
* This is reflected by the actual fields of the sched_attr structure:
|
||||
* This is reflected by the following fields of the sched_attr structure:
|
||||
*
|
||||
* @size size of the structure, for fwd/bwd compat.
|
||||
*
|
||||
* @sched_policy task's scheduling policy
|
||||
* @sched_flags for customizing the scheduler behaviour
|
||||
* @sched_nice task's nice value (SCHED_NORMAL/BATCH)
|
||||
* @sched_priority task's static priority (SCHED_FIFO/RR)
|
||||
* @sched_deadline representative of the task's deadline
|
||||
* @sched_runtime representative of the task's runtime
|
||||
* @sched_period representative of the task's period
|
||||
@@ -53,6 +73,29 @@ struct sched_param {
|
||||
* As of now, the SCHED_DEADLINE policy (sched_dl scheduling class) is the
|
||||
* only user of this new interface. More information about the algorithm
|
||||
* available in the scheduling class file or in Documentation/.
|
||||
*
|
||||
* Task Utilization Attributes
|
||||
* ===========================
|
||||
*
|
||||
* A subset of sched_attr attributes allows to specify the utilization
|
||||
* expected for a task. These attributes allow to inform the scheduler about
|
||||
* the utilization boundaries within which it should schedule the task. These
|
||||
* boundaries are valuable hints to support scheduler decisions on both task
|
||||
* placement and frequency selection.
|
||||
*
|
||||
* @sched_util_min represents the minimum utilization
|
||||
* @sched_util_max represents the maximum utilization
|
||||
*
|
||||
* Utilization is a value in the range [0..SCHED_CAPACITY_SCALE]. It
|
||||
* represents the percentage of CPU time used by a task when running at the
|
||||
* maximum frequency on the highest capacity CPU of the system. For example, a
|
||||
* 20% utilization task is a task running for 2ms every 10ms at maximum
|
||||
* frequency.
|
||||
*
|
||||
* A task with a min utilization value bigger than 0 is more likely scheduled
|
||||
* on a CPU with a capacity big enough to fit the specified value.
|
||||
* A task with a max utilization value smaller than 1024 is more likely
|
||||
* scheduled on a CPU with no more capacity than the specified value.
|
||||
*/
|
||||
struct sched_attr {
|
||||
__u32 size;
|
||||
@@ -70,6 +113,11 @@ struct sched_attr {
|
||||
__u64 sched_runtime;
|
||||
__u64 sched_deadline;
|
||||
__u64 sched_period;
|
||||
|
||||
/* Utilization hints */
|
||||
__u32 sched_util_min;
|
||||
__u32 sched_util_max;
|
||||
|
||||
};
|
||||
|
||||
#endif /* _UAPI_LINUX_SCHED_TYPES_H */
|
||||
|
@@ -20,6 +20,11 @@ enum opal_mbr {
|
||||
OPAL_MBR_DISABLE = 0x01,
|
||||
};
|
||||
|
||||
enum opal_mbr_done_flag {
|
||||
OPAL_MBR_NOT_DONE = 0x0,
|
||||
OPAL_MBR_DONE = 0x01
|
||||
};
|
||||
|
||||
enum opal_user {
|
||||
OPAL_ADMIN1 = 0x0,
|
||||
OPAL_USER1 = 0x01,
|
||||
@@ -95,6 +100,19 @@ struct opal_mbr_data {
|
||||
__u8 __align[7];
|
||||
};
|
||||
|
||||
struct opal_mbr_done {
|
||||
struct opal_key key;
|
||||
__u8 done_flag;
|
||||
__u8 __align[7];
|
||||
};
|
||||
|
||||
struct opal_shadow_mbr {
|
||||
struct opal_key key;
|
||||
const __u64 data;
|
||||
__u64 offset;
|
||||
__u64 size;
|
||||
};
|
||||
|
||||
#define IOC_OPAL_SAVE _IOW('p', 220, struct opal_lock_unlock)
|
||||
#define IOC_OPAL_LOCK_UNLOCK _IOW('p', 221, struct opal_lock_unlock)
|
||||
#define IOC_OPAL_TAKE_OWNERSHIP _IOW('p', 222, struct opal_key)
|
||||
@@ -107,5 +125,8 @@ struct opal_mbr_data {
|
||||
#define IOC_OPAL_ENABLE_DISABLE_MBR _IOW('p', 229, struct opal_mbr_data)
|
||||
#define IOC_OPAL_ERASE_LR _IOW('p', 230, struct opal_session_info)
|
||||
#define IOC_OPAL_SECURE_ERASE_LR _IOW('p', 231, struct opal_session_info)
|
||||
#define IOC_OPAL_PSID_REVERT_TPR _IOW('p', 232, struct opal_key)
|
||||
#define IOC_OPAL_MBR_DONE _IOW('p', 233, struct opal_mbr_done)
|
||||
#define IOC_OPAL_WRITE_SHADOW_MBR _IOW('p', 234, struct opal_shadow_mbr)
|
||||
|
||||
#endif /* _UAPI_SED_OPAL_H */
|
||||
|
@@ -129,7 +129,7 @@
|
||||
/* Motorola i.MX SoC */
|
||||
#define PORT_IMX 62
|
||||
|
||||
/* Marvell MPSC */
|
||||
/* Marvell MPSC (obsolete unused) */
|
||||
#define PORT_MPSC 63
|
||||
|
||||
/* TXX9 type number */
|
||||
|
@@ -283,6 +283,8 @@ enum
|
||||
LINUX_MIB_TCPACKCOMPRESSED, /* TCPAckCompressed */
|
||||
LINUX_MIB_TCPZEROWINDOWDROP, /* TCPZeroWindowDrop */
|
||||
LINUX_MIB_TCPRCVQDROP, /* TCPRcvQDrop */
|
||||
LINUX_MIB_TCPWQUEUETOOBIG, /* TCPWqueueTooBig */
|
||||
LINUX_MIB_TCPFASTOPENPASSIVEALTKEY, /* TCPFastOpenPassiveAltKey */
|
||||
__LINUX_MIB_MAX
|
||||
};
|
||||
|
||||
|
41
include/uapi/linux/tc_act/tc_ct.h
Normal file
41
include/uapi/linux/tc_act/tc_ct.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef __UAPI_TC_CT_H
|
||||
#define __UAPI_TC_CT_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
enum {
|
||||
TCA_CT_UNSPEC,
|
||||
TCA_CT_PARMS,
|
||||
TCA_CT_TM,
|
||||
TCA_CT_ACTION, /* u16 */
|
||||
TCA_CT_ZONE, /* u16 */
|
||||
TCA_CT_MARK, /* u32 */
|
||||
TCA_CT_MARK_MASK, /* u32 */
|
||||
TCA_CT_LABELS, /* u128 */
|
||||
TCA_CT_LABELS_MASK, /* u128 */
|
||||
TCA_CT_NAT_IPV4_MIN, /* be32 */
|
||||
TCA_CT_NAT_IPV4_MAX, /* be32 */
|
||||
TCA_CT_NAT_IPV6_MIN, /* struct in6_addr */
|
||||
TCA_CT_NAT_IPV6_MAX, /* struct in6_addr */
|
||||
TCA_CT_NAT_PORT_MIN, /* be16 */
|
||||
TCA_CT_NAT_PORT_MAX, /* be16 */
|
||||
TCA_CT_PAD,
|
||||
__TCA_CT_MAX
|
||||
};
|
||||
|
||||
#define TCA_CT_MAX (__TCA_CT_MAX - 1)
|
||||
|
||||
#define TCA_CT_ACT_COMMIT (1 << 0)
|
||||
#define TCA_CT_ACT_FORCE (1 << 1)
|
||||
#define TCA_CT_ACT_CLEAR (1 << 2)
|
||||
#define TCA_CT_ACT_NAT (1 << 3)
|
||||
#define TCA_CT_ACT_NAT_SRC (1 << 4)
|
||||
#define TCA_CT_ACT_NAT_DST (1 << 5)
|
||||
|
||||
struct tc_ct {
|
||||
tc_gen;
|
||||
};
|
||||
|
||||
#endif /* __UAPI_TC_CT_H */
|
29
include/uapi/linux/tc_act/tc_ctinfo.h
Normal file
29
include/uapi/linux/tc_act/tc_ctinfo.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef __UAPI_TC_CTINFO_H
|
||||
#define __UAPI_TC_CTINFO_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
struct tc_ctinfo {
|
||||
tc_gen;
|
||||
};
|
||||
|
||||
enum {
|
||||
TCA_CTINFO_UNSPEC,
|
||||
TCA_CTINFO_PAD,
|
||||
TCA_CTINFO_TM,
|
||||
TCA_CTINFO_ACT,
|
||||
TCA_CTINFO_ZONE,
|
||||
TCA_CTINFO_PARMS_DSCP_MASK,
|
||||
TCA_CTINFO_PARMS_DSCP_STATEMASK,
|
||||
TCA_CTINFO_PARMS_CPMARK_MASK,
|
||||
TCA_CTINFO_STATS_DSCP_SET,
|
||||
TCA_CTINFO_STATS_DSCP_ERROR,
|
||||
TCA_CTINFO_STATS_CPMARK_SET,
|
||||
__TCA_CTINFO_MAX
|
||||
};
|
||||
|
||||
#define TCA_CTINFO_MAX (__TCA_CTINFO_MAX - 1)
|
||||
|
||||
#endif
|
33
include/uapi/linux/tc_act/tc_mpls.h
Normal file
33
include/uapi/linux/tc_act/tc_mpls.h
Normal file
@@ -0,0 +1,33 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/* Copyright (C) 2019 Netronome Systems, Inc. */
|
||||
|
||||
#ifndef __LINUX_TC_MPLS_H
|
||||
#define __LINUX_TC_MPLS_H
|
||||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_MPLS_ACT_POP 1
|
||||
#define TCA_MPLS_ACT_PUSH 2
|
||||
#define TCA_MPLS_ACT_MODIFY 3
|
||||
#define TCA_MPLS_ACT_DEC_TTL 4
|
||||
|
||||
struct tc_mpls {
|
||||
tc_gen; /* generic TC action fields. */
|
||||
int m_action; /* action of type TCA_MPLS_ACT_*. */
|
||||
};
|
||||
|
||||
enum {
|
||||
TCA_MPLS_UNSPEC,
|
||||
TCA_MPLS_TM, /* struct tcf_t; time values associated with action. */
|
||||
TCA_MPLS_PARMS, /* struct tc_mpls; action type and general TC fields. */
|
||||
TCA_MPLS_PAD,
|
||||
TCA_MPLS_PROTO, /* be16; eth_type of pushed or next (for pop) header. */
|
||||
TCA_MPLS_LABEL, /* u32; MPLS label. Lower 20 bits are used. */
|
||||
TCA_MPLS_TC, /* u8; MPLS TC field. Lower 3 bits are used. */
|
||||
TCA_MPLS_TTL, /* u8; MPLS TTL field. Must not be 0. */
|
||||
TCA_MPLS_BOS, /* u8; MPLS BOS field. Either 1 or 0. */
|
||||
__TCA_MPLS_MAX,
|
||||
};
|
||||
#define TCA_MPLS_MAX (__TCA_MPLS_MAX - 1)
|
||||
|
||||
#endif
|
@@ -127,6 +127,9 @@ enum {
|
||||
|
||||
#define TCP_CM_INQ TCP_INQ
|
||||
|
||||
#define TCP_TX_DELAY 37 /* delay outgoing packets by XX usec */
|
||||
|
||||
|
||||
#define TCP_REPAIR_ON 1
|
||||
#define TCP_REPAIR_OFF 0
|
||||
#define TCP_REPAIR_OFF_NO_WP -1 /* Turn off without window probes */
|
||||
|
@@ -20,6 +20,7 @@ struct unix_diag_req {
|
||||
#define UDIAG_SHOW_ICONS 0x00000008 /* show pending connections */
|
||||
#define UDIAG_SHOW_RQLEN 0x00000010 /* show skb receive queue len */
|
||||
#define UDIAG_SHOW_MEMINFO 0x00000020 /* show memory info of a socket */
|
||||
#define UDIAG_SHOW_UID 0x00000040 /* show socket's UID */
|
||||
|
||||
struct unix_diag_msg {
|
||||
__u8 udiag_family;
|
||||
@@ -40,6 +41,7 @@ enum {
|
||||
UNIX_DIAG_RQLEN,
|
||||
UNIX_DIAG_MEMINFO,
|
||||
UNIX_DIAG_SHUTDOWN,
|
||||
UNIX_DIAG_UID,
|
||||
|
||||
__UNIX_DIAG_MAX,
|
||||
};
|
||||
|
@@ -450,6 +450,43 @@ static inline __u8 *uac_processing_unit_specific(struct uac_processing_unit_desc
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Extension Unit (XU) has almost compatible layout with Processing Unit, but
|
||||
* on UAC2, it has a different bmControls size (bControlSize); it's 1 byte for
|
||||
* XU while 2 bytes for PU. The last iExtension field is a one-byte index as
|
||||
* well as iProcessing field of PU.
|
||||
*/
|
||||
static inline __u8 uac_extension_unit_bControlSize(struct uac_processing_unit_descriptor *desc,
|
||||
int protocol)
|
||||
{
|
||||
switch (protocol) {
|
||||
case UAC_VERSION_1:
|
||||
return desc->baSourceID[desc->bNrInPins + 4];
|
||||
case UAC_VERSION_2:
|
||||
return 1; /* in UAC2, this value is constant */
|
||||
case UAC_VERSION_3:
|
||||
return 4; /* in UAC3, this value is constant */
|
||||
default:
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
static inline __u8 uac_extension_unit_iExtension(struct uac_processing_unit_descriptor *desc,
|
||||
int protocol)
|
||||
{
|
||||
__u8 control_size = uac_extension_unit_bControlSize(desc, protocol);
|
||||
|
||||
switch (protocol) {
|
||||
case UAC_VERSION_1:
|
||||
case UAC_VERSION_2:
|
||||
default:
|
||||
return *(uac_processing_unit_bmControls(desc, protocol)
|
||||
+ control_size);
|
||||
case UAC_VERSION_3:
|
||||
return 0; /* UAC3 does not have this field */
|
||||
}
|
||||
}
|
||||
|
||||
/* 4.5.2 Class-Specific AS Interface Descriptor */
|
||||
struct uac1_as_header_descriptor {
|
||||
__u8 bLength; /* in bytes: 7 */
|
||||
|
@@ -76,6 +76,26 @@ struct usbdevfs_connectinfo {
|
||||
unsigned char slow;
|
||||
};
|
||||
|
||||
struct usbdevfs_conninfo_ex {
|
||||
__u32 size; /* Size of the structure from the kernel's */
|
||||
/* point of view. Can be used by userspace */
|
||||
/* to determine how much data can be */
|
||||
/* used/trusted. */
|
||||
__u32 busnum; /* USB bus number, as enumerated by the */
|
||||
/* kernel, the device is connected to. */
|
||||
__u32 devnum; /* Device address on the bus. */
|
||||
__u32 speed; /* USB_SPEED_* constants from ch9.h */
|
||||
__u8 num_ports; /* Number of ports the device is connected */
|
||||
/* to on the way to the root hub. It may */
|
||||
/* be bigger than size of 'ports' array so */
|
||||
/* userspace can detect overflows. */
|
||||
__u8 ports[7]; /* List of ports on the way from the root */
|
||||
/* hub to the device. Current limit in */
|
||||
/* USB specification is 7 tiers (root hub, */
|
||||
/* 5 intermediate hubs, device), which */
|
||||
/* gives at most 6 port entries. */
|
||||
};
|
||||
|
||||
#define USBDEVFS_URB_SHORT_NOT_OK 0x01
|
||||
#define USBDEVFS_URB_ISO_ASAP 0x02
|
||||
#define USBDEVFS_URB_BULK_CONTINUATION 0x04
|
||||
@@ -137,6 +157,7 @@ struct usbdevfs_hub_portinfo {
|
||||
#define USBDEVFS_CAP_REAP_AFTER_DISCONNECT 0x10
|
||||
#define USBDEVFS_CAP_MMAP 0x20
|
||||
#define USBDEVFS_CAP_DROP_PRIVILEGES 0x40
|
||||
#define USBDEVFS_CAP_CONNINFO_EX 0x80
|
||||
|
||||
/* USBDEVFS_DISCONNECT_CLAIM flags & struct */
|
||||
|
||||
@@ -197,5 +218,10 @@ struct usbdevfs_streams {
|
||||
#define USBDEVFS_FREE_STREAMS _IOR('U', 29, struct usbdevfs_streams)
|
||||
#define USBDEVFS_DROP_PRIVILEGES _IOW('U', 30, __u32)
|
||||
#define USBDEVFS_GET_SPEED _IO('U', 31)
|
||||
/*
|
||||
* Returns struct usbdevfs_conninfo_ex; length is variable to allow
|
||||
* extending size of the data returned.
|
||||
*/
|
||||
#define USBDEVFS_CONNINFO_EX(len) _IOC(_IOC_READ, 'U', 32, len)
|
||||
|
||||
#endif /* _UAPI_LINUX_USBDEVICE_FS_H */
|
||||
|
@@ -392,8 +392,13 @@ enum v4l2_mpeg_video_header_mode {
|
||||
#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE (V4L2_CID_MPEG_BASE+221)
|
||||
enum v4l2_mpeg_video_multi_slice_mode {
|
||||
V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE = 0,
|
||||
V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB = 1,
|
||||
V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES = 2,
|
||||
#ifndef __KERNEL__
|
||||
/* Kept for backwards compatibility reasons. Stupid typo... */
|
||||
V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB = 1,
|
||||
V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES = 2,
|
||||
#endif
|
||||
};
|
||||
#define V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_MPEG_BASE+222)
|
||||
#define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_MPEG_BASE+223)
|
||||
@@ -404,6 +409,24 @@ enum v4l2_mpeg_video_multi_slice_mode {
|
||||
#define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228)
|
||||
#define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_MPEG_BASE+229)
|
||||
|
||||
/* CIDs for the MPEG-2 Part 2 (H.262) codec */
|
||||
#define V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL (V4L2_CID_MPEG_BASE+270)
|
||||
enum v4l2_mpeg_video_mpeg2_level {
|
||||
V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW = 0,
|
||||
V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN = 1,
|
||||
V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440 = 2,
|
||||
V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH = 3,
|
||||
};
|
||||
#define V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE (V4L2_CID_MPEG_BASE+271)
|
||||
enum v4l2_mpeg_video_mpeg2_profile {
|
||||
V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE = 0,
|
||||
V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN = 1,
|
||||
V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE = 2,
|
||||
V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE = 3,
|
||||
V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH = 4,
|
||||
V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW = 5,
|
||||
};
|
||||
|
||||
/* CIDs for the FWHT codec as used by the vicodec driver. */
|
||||
#define V4L2_CID_FWHT_I_FRAME_QP (V4L2_CID_MPEG_BASE + 290)
|
||||
#define V4L2_CID_FWHT_P_FRAME_QP (V4L2_CID_MPEG_BASE + 291)
|
||||
|
@@ -80,7 +80,7 @@
|
||||
/* Four-character-code (FOURCC) */
|
||||
#define v4l2_fourcc(a, b, c, d)\
|
||||
((__u32)(a) | ((__u32)(b) << 8) | ((__u32)(c) << 16) | ((__u32)(d) << 24))
|
||||
#define v4l2_fourcc_be(a, b, c, d) (v4l2_fourcc(a, b, c, d) | (1 << 31))
|
||||
#define v4l2_fourcc_be(a, b, c, d) (v4l2_fourcc(a, b, c, d) | (1U << 31))
|
||||
|
||||
/*
|
||||
* E N U M S
|
||||
|
@@ -43,5 +43,7 @@
|
||||
#define VIRTIO_ID_INPUT 18 /* virtio input */
|
||||
#define VIRTIO_ID_VSOCK 19 /* virtio vsock transport */
|
||||
#define VIRTIO_ID_CRYPTO 20 /* virtio crypto */
|
||||
#define VIRTIO_ID_IOMMU 23 /* virtio IOMMU */
|
||||
#define VIRTIO_ID_PMEM 27 /* virtio pmem */
|
||||
|
||||
#endif /* _LINUX_VIRTIO_IDS_H */
|
||||
|
161
include/uapi/linux/virtio_iommu.h
Normal file
161
include/uapi/linux/virtio_iommu.h
Normal file
@@ -0,0 +1,161 @@
|
||||
/* SPDX-License-Identifier: BSD-3-Clause */
|
||||
/*
|
||||
* Virtio-iommu definition v0.9
|
||||
*
|
||||
* Copyright (C) 2018 Arm Ltd.
|
||||
*/
|
||||
#ifndef _UAPI_LINUX_VIRTIO_IOMMU_H
|
||||
#define _UAPI_LINUX_VIRTIO_IOMMU_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Feature bits */
|
||||
#define VIRTIO_IOMMU_F_INPUT_RANGE 0
|
||||
#define VIRTIO_IOMMU_F_DOMAIN_BITS 1
|
||||
#define VIRTIO_IOMMU_F_MAP_UNMAP 2
|
||||
#define VIRTIO_IOMMU_F_BYPASS 3
|
||||
#define VIRTIO_IOMMU_F_PROBE 4
|
||||
|
||||
struct virtio_iommu_range {
|
||||
__u64 start;
|
||||
__u64 end;
|
||||
};
|
||||
|
||||
struct virtio_iommu_config {
|
||||
/* Supported page sizes */
|
||||
__u64 page_size_mask;
|
||||
/* Supported IOVA range */
|
||||
struct virtio_iommu_range input_range;
|
||||
/* Max domain ID size */
|
||||
__u8 domain_bits;
|
||||
__u8 padding[3];
|
||||
/* Probe buffer size */
|
||||
__u32 probe_size;
|
||||
};
|
||||
|
||||
/* Request types */
|
||||
#define VIRTIO_IOMMU_T_ATTACH 0x01
|
||||
#define VIRTIO_IOMMU_T_DETACH 0x02
|
||||
#define VIRTIO_IOMMU_T_MAP 0x03
|
||||
#define VIRTIO_IOMMU_T_UNMAP 0x04
|
||||
#define VIRTIO_IOMMU_T_PROBE 0x05
|
||||
|
||||
/* Status types */
|
||||
#define VIRTIO_IOMMU_S_OK 0x00
|
||||
#define VIRTIO_IOMMU_S_IOERR 0x01
|
||||
#define VIRTIO_IOMMU_S_UNSUPP 0x02
|
||||
#define VIRTIO_IOMMU_S_DEVERR 0x03
|
||||
#define VIRTIO_IOMMU_S_INVAL 0x04
|
||||
#define VIRTIO_IOMMU_S_RANGE 0x05
|
||||
#define VIRTIO_IOMMU_S_NOENT 0x06
|
||||
#define VIRTIO_IOMMU_S_FAULT 0x07
|
||||
|
||||
struct virtio_iommu_req_head {
|
||||
__u8 type;
|
||||
__u8 reserved[3];
|
||||
};
|
||||
|
||||
struct virtio_iommu_req_tail {
|
||||
__u8 status;
|
||||
__u8 reserved[3];
|
||||
};
|
||||
|
||||
struct virtio_iommu_req_attach {
|
||||
struct virtio_iommu_req_head head;
|
||||
__le32 domain;
|
||||
__le32 endpoint;
|
||||
__u8 reserved[8];
|
||||
struct virtio_iommu_req_tail tail;
|
||||
};
|
||||
|
||||
struct virtio_iommu_req_detach {
|
||||
struct virtio_iommu_req_head head;
|
||||
__le32 domain;
|
||||
__le32 endpoint;
|
||||
__u8 reserved[8];
|
||||
struct virtio_iommu_req_tail tail;
|
||||
};
|
||||
|
||||
#define VIRTIO_IOMMU_MAP_F_READ (1 << 0)
|
||||
#define VIRTIO_IOMMU_MAP_F_WRITE (1 << 1)
|
||||
#define VIRTIO_IOMMU_MAP_F_EXEC (1 << 2)
|
||||
#define VIRTIO_IOMMU_MAP_F_MMIO (1 << 3)
|
||||
|
||||
#define VIRTIO_IOMMU_MAP_F_MASK (VIRTIO_IOMMU_MAP_F_READ | \
|
||||
VIRTIO_IOMMU_MAP_F_WRITE | \
|
||||
VIRTIO_IOMMU_MAP_F_EXEC | \
|
||||
VIRTIO_IOMMU_MAP_F_MMIO)
|
||||
|
||||
struct virtio_iommu_req_map {
|
||||
struct virtio_iommu_req_head head;
|
||||
__le32 domain;
|
||||
__le64 virt_start;
|
||||
__le64 virt_end;
|
||||
__le64 phys_start;
|
||||
__le32 flags;
|
||||
struct virtio_iommu_req_tail tail;
|
||||
};
|
||||
|
||||
struct virtio_iommu_req_unmap {
|
||||
struct virtio_iommu_req_head head;
|
||||
__le32 domain;
|
||||
__le64 virt_start;
|
||||
__le64 virt_end;
|
||||
__u8 reserved[4];
|
||||
struct virtio_iommu_req_tail tail;
|
||||
};
|
||||
|
||||
#define VIRTIO_IOMMU_PROBE_T_NONE 0
|
||||
#define VIRTIO_IOMMU_PROBE_T_RESV_MEM 1
|
||||
|
||||
#define VIRTIO_IOMMU_PROBE_T_MASK 0xfff
|
||||
|
||||
struct virtio_iommu_probe_property {
|
||||
__le16 type;
|
||||
__le16 length;
|
||||
};
|
||||
|
||||
#define VIRTIO_IOMMU_RESV_MEM_T_RESERVED 0
|
||||
#define VIRTIO_IOMMU_RESV_MEM_T_MSI 1
|
||||
|
||||
struct virtio_iommu_probe_resv_mem {
|
||||
struct virtio_iommu_probe_property head;
|
||||
__u8 subtype;
|
||||
__u8 reserved[3];
|
||||
__le64 start;
|
||||
__le64 end;
|
||||
};
|
||||
|
||||
struct virtio_iommu_req_probe {
|
||||
struct virtio_iommu_req_head head;
|
||||
__le32 endpoint;
|
||||
__u8 reserved[64];
|
||||
|
||||
__u8 properties[];
|
||||
|
||||
/*
|
||||
* Tail follows the variable-length properties array. No padding,
|
||||
* property lengths are all aligned on 8 bytes.
|
||||
*/
|
||||
};
|
||||
|
||||
/* Fault types */
|
||||
#define VIRTIO_IOMMU_FAULT_R_UNKNOWN 0
|
||||
#define VIRTIO_IOMMU_FAULT_R_DOMAIN 1
|
||||
#define VIRTIO_IOMMU_FAULT_R_MAPPING 2
|
||||
|
||||
#define VIRTIO_IOMMU_FAULT_F_READ (1 << 0)
|
||||
#define VIRTIO_IOMMU_FAULT_F_WRITE (1 << 1)
|
||||
#define VIRTIO_IOMMU_FAULT_F_EXEC (1 << 2)
|
||||
#define VIRTIO_IOMMU_FAULT_F_ADDRESS (1 << 8)
|
||||
|
||||
struct virtio_iommu_fault {
|
||||
__u8 reason;
|
||||
__u8 reserved[3];
|
||||
__le32 flags;
|
||||
__le32 endpoint;
|
||||
__u8 reserved2[4];
|
||||
__le64 address;
|
||||
};
|
||||
|
||||
#endif
|
34
include/uapi/linux/virtio_pmem.h
Normal file
34
include/uapi/linux/virtio_pmem.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
|
||||
/*
|
||||
* Definitions for virtio-pmem devices.
|
||||
*
|
||||
* Copyright (C) 2019 Red Hat, Inc.
|
||||
*
|
||||
* Author(s): Pankaj Gupta <pagupta@redhat.com>
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_LINUX_VIRTIO_PMEM_H
|
||||
#define _UAPI_LINUX_VIRTIO_PMEM_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/virtio_ids.h>
|
||||
#include <linux/virtio_config.h>
|
||||
|
||||
struct virtio_pmem_config {
|
||||
__u64 start;
|
||||
__u64 size;
|
||||
};
|
||||
|
||||
#define VIRTIO_PMEM_REQ_TYPE_FLUSH 0
|
||||
|
||||
struct virtio_pmem_resp {
|
||||
/* Host return status corresponding to flush request */
|
||||
__le32 ret;
|
||||
};
|
||||
|
||||
struct virtio_pmem_req {
|
||||
/* command type */
|
||||
__le32 type;
|
||||
};
|
||||
|
||||
#endif
|
@@ -1,18 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* wanrouter.h Legacy declarations kept around until X25 is removed
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_ROUTER_H
|
||||
#define _UAPI_ROUTER_H
|
||||
|
||||
/* 'state' defines */
|
||||
enum wan_states
|
||||
{
|
||||
WAN_UNCONFIGURED, /* link/channel is not configured */
|
||||
WAN_DISCONNECTED, /* link/channel is disconnected */
|
||||
WAN_CONNECTING, /* connection is in progress */
|
||||
WAN_CONNECTED /* link/channel is operational */
|
||||
};
|
||||
|
||||
#endif /* _UAPI_ROUTER_H */
|
@@ -1,11 +1,8 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* User API methods for ACPI-WMI mapping driver
|
||||
*
|
||||
* Copyright (C) 2017 Dell, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#ifndef _UAPI_LINUX_WMI_H
|
||||
#define _UAPI_LINUX_WMI_H
|
||||
|
Reference in New Issue
Block a user