Merge v5.9-rc1 into drm-misc-next
Sam needs 5.9-rc1 to have dev_err_probe in to merge some patches. Signed-off-by: Maxime Ripard <maxime@cerno.tech>
This commit is contained in:
@@ -404,7 +404,7 @@ enum binder_driver_return_protocol {
|
||||
|
||||
BR_FAILED_REPLY = _IO('r', 17),
|
||||
/*
|
||||
* The the last transaction (either a bcTRANSACTION or
|
||||
* The last transaction (either a bcTRANSACTION or
|
||||
* a bcATTEMPT_ACQUIRE) failed (e.g. out of memory). No parameters.
|
||||
*/
|
||||
};
|
||||
|
@@ -5,7 +5,7 @@
|
||||
|
||||
|
||||
/*
|
||||
* See http://icawww1.epfl.ch/linux-atm/magic.html for the complete list of
|
||||
* See https://icawww1.epfl.ch/linux-atm/magic.html for the complete list of
|
||||
* "magic" ioctl numbers.
|
||||
*/
|
||||
|
||||
|
@@ -333,14 +333,15 @@ enum {
|
||||
};
|
||||
|
||||
/* Status symbols */
|
||||
/* Mask values */
|
||||
#define AUDIT_STATUS_ENABLED 0x0001
|
||||
#define AUDIT_STATUS_FAILURE 0x0002
|
||||
#define AUDIT_STATUS_PID 0x0004
|
||||
/* Mask values */
|
||||
#define AUDIT_STATUS_ENABLED 0x0001
|
||||
#define AUDIT_STATUS_FAILURE 0x0002
|
||||
#define AUDIT_STATUS_PID 0x0004
|
||||
#define AUDIT_STATUS_RATE_LIMIT 0x0008
|
||||
#define AUDIT_STATUS_BACKLOG_LIMIT 0x0010
|
||||
#define AUDIT_STATUS_BACKLOG_WAIT_TIME 0x0020
|
||||
#define AUDIT_STATUS_LOST 0x0040
|
||||
#define AUDIT_STATUS_BACKLOG_LIMIT 0x0010
|
||||
#define AUDIT_STATUS_BACKLOG_WAIT_TIME 0x0020
|
||||
#define AUDIT_STATUS_LOST 0x0040
|
||||
#define AUDIT_STATUS_BACKLOG_WAIT_TIME_ACTUAL 0x0080
|
||||
|
||||
#define AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT 0x00000001
|
||||
#define AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME 0x00000002
|
||||
@@ -467,6 +468,9 @@ struct audit_status {
|
||||
__u32 feature_bitmap; /* bitmap of kernel audit features */
|
||||
};
|
||||
__u32 backlog_wait_time;/* message queue wait timeout */
|
||||
__u32 backlog_wait_time_actual;/* time spent waiting while
|
||||
* message limit exceeded
|
||||
*/
|
||||
};
|
||||
|
||||
struct audit_features {
|
||||
|
@@ -82,7 +82,7 @@ struct args_ismountpoint {
|
||||
/*
|
||||
* All the ioctls use this structure.
|
||||
* When sending a path size must account for the total length
|
||||
* of the chunk of memory otherwise is is the size of the
|
||||
* of the chunk of memory otherwise it is the size of the
|
||||
* structure.
|
||||
*/
|
||||
|
||||
|
@@ -72,8 +72,8 @@ enum batadv_subtype {
|
||||
|
||||
/**
|
||||
* enum batadv_iv_flags - flags used in B.A.T.M.A.N. IV OGM packets
|
||||
* @BATADV_NOT_BEST_NEXT_HOP: flag is set when ogm packet is forwarded and was
|
||||
* previously received from someone else than the best neighbor.
|
||||
* @BATADV_NOT_BEST_NEXT_HOP: flag is set when the ogm packet is forwarded and
|
||||
* was previously received from someone other than the best neighbor.
|
||||
* @BATADV_PRIMARIES_FIRST_HOP: flag unused.
|
||||
* @BATADV_DIRECTLINK: flag is for the first hop or if rebroadcasted from a
|
||||
* one hop neighbor on the interface where it was originally received.
|
||||
@@ -195,8 +195,8 @@ struct batadv_bla_claim_dst {
|
||||
/**
|
||||
* struct batadv_ogm_packet - ogm (routing protocol) packet
|
||||
* @packet_type: batman-adv packet type, part of the general header
|
||||
* @version: batman-adv protocol version, part of the genereal header
|
||||
* @ttl: time to live for this packet, part of the genereal header
|
||||
* @version: batman-adv protocol version, part of the general header
|
||||
* @ttl: time to live for this packet, part of the general header
|
||||
* @flags: contains routing relevant flags - see enum batadv_iv_flags
|
||||
* @seqno: sequence identification
|
||||
* @orig: address of the source node
|
||||
@@ -247,7 +247,7 @@ struct batadv_ogm2_packet {
|
||||
/**
|
||||
* struct batadv_elp_packet - elp (neighbor discovery) packet
|
||||
* @packet_type: batman-adv packet type, part of the general header
|
||||
* @version: batman-adv protocol version, part of the genereal header
|
||||
* @version: batman-adv protocol version, part of the general header
|
||||
* @orig: originator mac address
|
||||
* @seqno: sequence number
|
||||
* @elp_interval: currently used ELP sending interval in ms
|
||||
@@ -265,15 +265,15 @@ struct batadv_elp_packet {
|
||||
/**
|
||||
* struct batadv_icmp_header - common members among all the ICMP packets
|
||||
* @packet_type: batman-adv packet type, part of the general header
|
||||
* @version: batman-adv protocol version, part of the genereal header
|
||||
* @ttl: time to live for this packet, part of the genereal header
|
||||
* @version: batman-adv protocol version, part of the general header
|
||||
* @ttl: time to live for this packet, part of the general header
|
||||
* @msg_type: ICMP packet type
|
||||
* @dst: address of the destination node
|
||||
* @orig: address of the source node
|
||||
* @uid: local ICMP socket identifier
|
||||
* @align: not used - useful for alignment purposes only
|
||||
*
|
||||
* This structure is used for ICMP packets parsing only and it is never sent
|
||||
* This structure is used for ICMP packet parsing only and it is never sent
|
||||
* over the wire. The alignment field at the end is there to ensure that
|
||||
* members are padded the same way as they are in real packets.
|
||||
*/
|
||||
@@ -291,8 +291,8 @@ struct batadv_icmp_header {
|
||||
/**
|
||||
* struct batadv_icmp_packet - ICMP packet
|
||||
* @packet_type: batman-adv packet type, part of the general header
|
||||
* @version: batman-adv protocol version, part of the genereal header
|
||||
* @ttl: time to live for this packet, part of the genereal header
|
||||
* @version: batman-adv protocol version, part of the general header
|
||||
* @ttl: time to live for this packet, part of the general header
|
||||
* @msg_type: ICMP packet type
|
||||
* @dst: address of the destination node
|
||||
* @orig: address of the source node
|
||||
@@ -315,8 +315,8 @@ struct batadv_icmp_packet {
|
||||
/**
|
||||
* struct batadv_icmp_tp_packet - ICMP TP Meter packet
|
||||
* @packet_type: batman-adv packet type, part of the general header
|
||||
* @version: batman-adv protocol version, part of the genereal header
|
||||
* @ttl: time to live for this packet, part of the genereal header
|
||||
* @version: batman-adv protocol version, part of the general header
|
||||
* @ttl: time to live for this packet, part of the general header
|
||||
* @msg_type: ICMP packet type
|
||||
* @dst: address of the destination node
|
||||
* @orig: address of the source node
|
||||
@@ -358,8 +358,8 @@ enum batadv_icmp_tp_subtype {
|
||||
/**
|
||||
* struct batadv_icmp_packet_rr - ICMP RouteRecord packet
|
||||
* @packet_type: batman-adv packet type, part of the general header
|
||||
* @version: batman-adv protocol version, part of the genereal header
|
||||
* @ttl: time to live for this packet, part of the genereal header
|
||||
* @version: batman-adv protocol version, part of the general header
|
||||
* @ttl: time to live for this packet, part of the general header
|
||||
* @msg_type: ICMP packet type
|
||||
* @dst: address of the destination node
|
||||
* @orig: address of the source node
|
||||
@@ -397,8 +397,8 @@ struct batadv_icmp_packet_rr {
|
||||
/**
|
||||
* struct batadv_unicast_packet - unicast packet for network payload
|
||||
* @packet_type: batman-adv packet type, part of the general header
|
||||
* @version: batman-adv protocol version, part of the genereal header
|
||||
* @ttl: time to live for this packet, part of the genereal header
|
||||
* @version: batman-adv protocol version, part of the general header
|
||||
* @ttl: time to live for this packet, part of the general header
|
||||
* @ttvn: translation table version number
|
||||
* @dest: originator destination of the unicast packet
|
||||
*/
|
||||
@@ -433,8 +433,8 @@ struct batadv_unicast_4addr_packet {
|
||||
/**
|
||||
* struct batadv_frag_packet - fragmented packet
|
||||
* @packet_type: batman-adv packet type, part of the general header
|
||||
* @version: batman-adv protocol version, part of the genereal header
|
||||
* @ttl: time to live for this packet, part of the genereal header
|
||||
* @version: batman-adv protocol version, part of the general header
|
||||
* @ttl: time to live for this packet, part of the general header
|
||||
* @dest: final destination used when routing fragments
|
||||
* @orig: originator of the fragment used when merging the packet
|
||||
* @no: fragment number within this sequence
|
||||
@@ -467,8 +467,8 @@ struct batadv_frag_packet {
|
||||
/**
|
||||
* struct batadv_bcast_packet - broadcast packet for network payload
|
||||
* @packet_type: batman-adv packet type, part of the general header
|
||||
* @version: batman-adv protocol version, part of the genereal header
|
||||
* @ttl: time to live for this packet, part of the genereal header
|
||||
* @version: batman-adv protocol version, part of the general header
|
||||
* @ttl: time to live for this packet, part of the general header
|
||||
* @reserved: reserved byte for alignment
|
||||
* @seqno: sequence identification
|
||||
* @orig: originator of the broadcast packet
|
||||
@@ -488,10 +488,10 @@ struct batadv_bcast_packet {
|
||||
/**
|
||||
* struct batadv_coded_packet - network coded packet
|
||||
* @packet_type: batman-adv packet type, part of the general header
|
||||
* @version: batman-adv protocol version, part of the genereal header
|
||||
* @ttl: time to live for this packet, part of the genereal header
|
||||
* @version: batman-adv protocol version, part of the general header
|
||||
* @ttl: time to live for this packet, part of the general header
|
||||
* @first_source: original source of first included packet
|
||||
* @first_orig_dest: original destinal of first included packet
|
||||
* @first_orig_dest: original destination of first included packet
|
||||
* @first_crc: checksum of first included packet
|
||||
* @first_ttvn: tt-version number of first included packet
|
||||
* @second_ttl: ttl of second packet
|
||||
@@ -523,8 +523,8 @@ struct batadv_coded_packet {
|
||||
/**
|
||||
* struct batadv_unicast_tvlv_packet - generic unicast packet with tvlv payload
|
||||
* @packet_type: batman-adv packet type, part of the general header
|
||||
* @version: batman-adv protocol version, part of the genereal header
|
||||
* @ttl: time to live for this packet, part of the genereal header
|
||||
* @version: batman-adv protocol version, part of the general header
|
||||
* @ttl: time to live for this packet, part of the general header
|
||||
* @reserved: reserved field (for packet alignment)
|
||||
* @src: address of the source
|
||||
* @dst: address of the destination
|
||||
|
@@ -69,7 +69,7 @@ enum batadv_tt_client_flags {
|
||||
|
||||
/**
|
||||
* @BATADV_TT_CLIENT_TEMP: this global client has been detected to be
|
||||
* part of the network but no nnode has already announced it
|
||||
* part of the network but no node has already announced it
|
||||
*/
|
||||
BATADV_TT_CLIENT_TEMP = (1 << 11),
|
||||
};
|
||||
@@ -131,7 +131,7 @@ enum batadv_gw_modes {
|
||||
/** @BATADV_GW_MODE_CLIENT: send DHCP requests to gw servers */
|
||||
BATADV_GW_MODE_CLIENT,
|
||||
|
||||
/** @BATADV_GW_MODE_SERVER: announce itself as gatway server */
|
||||
/** @BATADV_GW_MODE_SERVER: announce itself as gateway server */
|
||||
BATADV_GW_MODE_SERVER,
|
||||
};
|
||||
|
||||
@@ -427,7 +427,8 @@ enum batadv_nl_attrs {
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_HOP_PENALTY: defines the penalty which will be applied
|
||||
* to an originator message's tq-field on every hop.
|
||||
* to an originator message's tq-field on every hop and/or per
|
||||
* hard interface
|
||||
*/
|
||||
BATADV_ATTR_HOP_PENALTY,
|
||||
|
||||
|
@@ -141,11 +141,13 @@ static inline struct bkey *bkey_idx(const struct bkey *k, unsigned int nr_keys)
|
||||
* Version 3: Cache device with new UUID format
|
||||
* Version 4: Backing device with data offset
|
||||
*/
|
||||
#define BCACHE_SB_VERSION_CDEV 0
|
||||
#define BCACHE_SB_VERSION_BDEV 1
|
||||
#define BCACHE_SB_VERSION_CDEV_WITH_UUID 3
|
||||
#define BCACHE_SB_VERSION_BDEV_WITH_OFFSET 4
|
||||
#define BCACHE_SB_MAX_VERSION 4
|
||||
#define BCACHE_SB_VERSION_CDEV 0
|
||||
#define BCACHE_SB_VERSION_BDEV 1
|
||||
#define BCACHE_SB_VERSION_CDEV_WITH_UUID 3
|
||||
#define BCACHE_SB_VERSION_BDEV_WITH_OFFSET 4
|
||||
#define BCACHE_SB_VERSION_CDEV_WITH_FEATURES 5
|
||||
#define BCACHE_SB_VERSION_BDEV_WITH_FEATURES 6
|
||||
#define BCACHE_SB_MAX_VERSION 6
|
||||
|
||||
#define SB_SECTOR 8
|
||||
#define SB_OFFSET (SB_SECTOR << SECTOR_SHIFT)
|
||||
@@ -173,7 +175,12 @@ struct cache_sb_disk {
|
||||
|
||||
__le64 flags;
|
||||
__le64 seq;
|
||||
__le64 pad[8];
|
||||
|
||||
__le64 feature_compat;
|
||||
__le64 feature_incompat;
|
||||
__le64 feature_ro_compat;
|
||||
|
||||
__le64 pad[5];
|
||||
|
||||
union {
|
||||
struct {
|
||||
@@ -206,10 +213,16 @@ struct cache_sb_disk {
|
||||
__le16 keys;
|
||||
};
|
||||
__le64 d[SB_JOURNAL_BUCKETS]; /* journal buckets */
|
||||
__le16 bucket_size_hi;
|
||||
};
|
||||
|
||||
/*
|
||||
* This is for in-memory bcache super block.
|
||||
* NOTE: cache_sb is NOT exactly mapping to cache_sb_disk, the member
|
||||
* size, ordering and even whole struct size may be different
|
||||
* from cache_sb_disk.
|
||||
*/
|
||||
struct cache_sb {
|
||||
__u64 csum;
|
||||
__u64 offset; /* sector where this sb was written */
|
||||
__u64 version;
|
||||
|
||||
@@ -224,7 +237,10 @@ struct cache_sb {
|
||||
|
||||
__u64 flags;
|
||||
__u64 seq;
|
||||
__u64 pad[8];
|
||||
|
||||
__u64 feature_compat;
|
||||
__u64 feature_incompat;
|
||||
__u64 feature_ro_compat;
|
||||
|
||||
union {
|
||||
struct {
|
||||
@@ -232,10 +248,9 @@ struct cache_sb {
|
||||
__u64 nbuckets; /* device size */
|
||||
|
||||
__u16 block_size; /* sectors */
|
||||
__u16 bucket_size; /* sectors */
|
||||
|
||||
__u16 nr_in_set;
|
||||
__u16 nr_this_dev;
|
||||
__u32 bucket_size; /* sectors */
|
||||
};
|
||||
struct {
|
||||
/* Backing devices */
|
||||
@@ -262,7 +277,8 @@ struct cache_sb {
|
||||
static inline _Bool SB_IS_BDEV(const struct cache_sb *sb)
|
||||
{
|
||||
return sb->version == BCACHE_SB_VERSION_BDEV
|
||||
|| sb->version == BCACHE_SB_VERSION_BDEV_WITH_OFFSET;
|
||||
|| sb->version == BCACHE_SB_VERSION_BDEV_WITH_OFFSET
|
||||
|| sb->version == BCACHE_SB_VERSION_BDEV_WITH_FEATURES;
|
||||
}
|
||||
|
||||
BITMASK(CACHE_SYNC, struct cache_sb, flags, 0, 1);
|
||||
|
@@ -73,6 +73,15 @@ enum blk_zone_cond {
|
||||
BLK_ZONE_COND_OFFLINE = 0xF,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum blk_zone_report_flags - Feature flags of reported zone descriptors.
|
||||
*
|
||||
* @BLK_ZONE_REP_CAPACITY: Zone descriptor has capacity field.
|
||||
*/
|
||||
enum blk_zone_report_flags {
|
||||
BLK_ZONE_REP_CAPACITY = (1 << 0),
|
||||
};
|
||||
|
||||
/**
|
||||
* struct blk_zone - Zone descriptor for BLKREPORTZONE ioctl.
|
||||
*
|
||||
@@ -99,7 +108,9 @@ struct blk_zone {
|
||||
__u8 cond; /* Zone condition */
|
||||
__u8 non_seq; /* Non-sequential write resources active */
|
||||
__u8 reset; /* Reset write pointer recommended */
|
||||
__u8 reserved[36];
|
||||
__u8 resv[4];
|
||||
__u64 capacity; /* Zone capacity in number of sectors */
|
||||
__u8 reserved[24];
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -115,7 +126,7 @@ struct blk_zone {
|
||||
struct blk_zone_report {
|
||||
__u64 sector;
|
||||
__u32 nr_zones;
|
||||
__u8 reserved[4];
|
||||
__u32 flags;
|
||||
struct blk_zone zones[0];
|
||||
};
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -243,6 +243,18 @@ struct btrfs_ioctl_dev_info_args {
|
||||
__u8 path[BTRFS_DEVICE_PATH_NAME_MAX]; /* out */
|
||||
};
|
||||
|
||||
/*
|
||||
* Retrieve information about the filesystem
|
||||
*/
|
||||
|
||||
/* Request information about checksum type and size */
|
||||
#define BTRFS_FS_INFO_FLAG_CSUM_INFO (1 << 0)
|
||||
|
||||
/* Request information about filesystem generation */
|
||||
#define BTRFS_FS_INFO_FLAG_GENERATION (1 << 1)
|
||||
/* Request information about filesystem metadata UUID */
|
||||
#define BTRFS_FS_INFO_FLAG_METADATA_UUID (1 << 2)
|
||||
|
||||
struct btrfs_ioctl_fs_info_args {
|
||||
__u64 max_id; /* out */
|
||||
__u64 num_devices; /* out */
|
||||
@@ -250,8 +262,13 @@ struct btrfs_ioctl_fs_info_args {
|
||||
__u32 nodesize; /* out */
|
||||
__u32 sectorsize; /* out */
|
||||
__u32 clone_alignment; /* out */
|
||||
__u32 reserved32;
|
||||
__u64 reserved[122]; /* pad to 1k */
|
||||
/* See BTRFS_FS_INFO_FLAG_* */
|
||||
__u16 csum_type; /* out */
|
||||
__u16 csum_size; /* out */
|
||||
__u64 flags; /* in/out */
|
||||
__u64 generation; /* out */
|
||||
__u8 metadata_uuid[BTRFS_FSID_SIZE]; /* out */
|
||||
__u8 reserved[944]; /* pad to 1k */
|
||||
};
|
||||
|
||||
/*
|
||||
|
@@ -913,9 +913,9 @@ struct btrfs_free_space_info {
|
||||
#define BTRFS_FREE_SPACE_USING_BITMAPS (1ULL << 0)
|
||||
|
||||
#define BTRFS_QGROUP_LEVEL_SHIFT 48
|
||||
static inline __u64 btrfs_qgroup_level(__u64 qgroupid)
|
||||
static inline __u16 btrfs_qgroup_level(__u64 qgroupid)
|
||||
{
|
||||
return qgroupid >> BTRFS_QGROUP_LEVEL_SHIFT;
|
||||
return (__u16)(qgroupid >> BTRFS_QGROUP_LEVEL_SHIFT);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@@ -169,7 +169,7 @@ struct sockaddr_caif {
|
||||
* @CAIFSO_LINK_SELECT: Selector used if multiple CAIF Link layers are
|
||||
* available. Either a high bandwidth
|
||||
* link can be selected (CAIF_LINK_HIGH_BANDW) or
|
||||
* or a low latency link (CAIF_LINK_LOW_LATENCY).
|
||||
* a low latency link (CAIF_LINK_LOW_LATENCY).
|
||||
* This option is of type __u32.
|
||||
* Alternatively SO_BINDTODEVICE can be used.
|
||||
*
|
||||
|
@@ -408,7 +408,14 @@ struct vfs_ns_cap_data {
|
||||
*/
|
||||
#define CAP_BPF 39
|
||||
|
||||
#define CAP_LAST_CAP CAP_BPF
|
||||
|
||||
/* Allow checkpoint/restore related operations */
|
||||
/* Allow PID selection during clone3() */
|
||||
/* Allow writing to ns_last_pid */
|
||||
|
||||
#define CAP_CHECKPOINT_RESTORE 40
|
||||
|
||||
#define CAP_LAST_CAP CAP_CHECKPOINT_RESTORE
|
||||
|
||||
#define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
|
||||
|
||||
|
9
include/uapi/linux/close_range.h
Normal file
9
include/uapi/linux/close_range.h
Normal file
@@ -0,0 +1,9 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef _UAPI_LINUX_CLOSE_RANGE_H
|
||||
#define _UAPI_LINUX_CLOSE_RANGE_H
|
||||
|
||||
/* Unshare the file descriptor table before closing file descriptors. */
|
||||
#define CLOSE_RANGE_UNSHARE (1U << 1)
|
||||
|
||||
#endif /* _UAPI_LINUX_CLOSE_RANGE_H */
|
||||
|
@@ -451,6 +451,13 @@ enum devlink_attr {
|
||||
DEVLINK_ATTR_TRAP_POLICER_RATE, /* u64 */
|
||||
DEVLINK_ATTR_TRAP_POLICER_BURST, /* u64 */
|
||||
|
||||
DEVLINK_ATTR_PORT_FUNCTION, /* nested */
|
||||
|
||||
DEVLINK_ATTR_INFO_BOARD_SERIAL_NUMBER, /* string */
|
||||
|
||||
DEVLINK_ATTR_PORT_LANES, /* u32 */
|
||||
DEVLINK_ATTR_PORT_SPLITTABLE, /* u8 */
|
||||
|
||||
/* add new attributes above here, update the policy in devlink.c */
|
||||
|
||||
__DEVLINK_ATTR_MAX,
|
||||
@@ -497,4 +504,12 @@ enum devlink_resource_unit {
|
||||
DEVLINK_RESOURCE_UNIT_ENTRY,
|
||||
};
|
||||
|
||||
enum devlink_port_function_attr {
|
||||
DEVLINK_PORT_FUNCTION_ATTR_UNSPEC,
|
||||
DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR, /* binary */
|
||||
|
||||
__DEVLINK_PORT_FUNCTION_ATTR_MAX,
|
||||
DEVLINK_PORT_FUNCTION_ATTR_MAX = __DEVLINK_PORT_FUNCTION_ATTR_MAX - 1
|
||||
};
|
||||
|
||||
#endif /* _UAPI_LINUX_DEVLINK_H_ */
|
||||
|
@@ -53,7 +53,7 @@ typedef __s64 Elf64_Sxword;
|
||||
*
|
||||
* - Oracle: Linker and Libraries.
|
||||
* Part No: 817–1984–19, August 2011.
|
||||
* http://docs.oracle.com/cd/E18752_01/pdf/817-1984.pdf
|
||||
* https://docs.oracle.com/cd/E18752_01/pdf/817-1984.pdf
|
||||
*
|
||||
* - System V ABI AMD64 Architecture Processor Supplement
|
||||
* Draft Version 0.99.4,
|
||||
|
@@ -1,101 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef _UAPI_LINUX_ELFCORE_H
|
||||
#define _UAPI_LINUX_ELFCORE_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/signal.h>
|
||||
#include <linux/time.h>
|
||||
#include <linux/ptrace.h>
|
||||
#include <linux/elf.h>
|
||||
#include <linux/fs.h>
|
||||
|
||||
struct elf_siginfo
|
||||
{
|
||||
int si_signo; /* signal number */
|
||||
int si_code; /* extra code */
|
||||
int si_errno; /* errno */
|
||||
};
|
||||
|
||||
|
||||
#ifndef __KERNEL__
|
||||
typedef elf_greg_t greg_t;
|
||||
typedef elf_gregset_t gregset_t;
|
||||
typedef elf_fpregset_t fpregset_t;
|
||||
typedef elf_fpxregset_t fpxregset_t;
|
||||
#define NGREG ELF_NGREG
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Definitions to generate Intel SVR4-like core files.
|
||||
* These mostly have the same names as the SVR4 types with "elf_"
|
||||
* tacked on the front to prevent clashes with linux definitions,
|
||||
* and the typedef forms have been avoided. This is mostly like
|
||||
* the SVR4 structure, but more Linuxy, with things that Linux does
|
||||
* not support and which gdb doesn't really use excluded.
|
||||
* Fields present but not used are marked with "XXX".
|
||||
*/
|
||||
struct elf_prstatus
|
||||
{
|
||||
#if 0
|
||||
long pr_flags; /* XXX Process flags */
|
||||
short pr_why; /* XXX Reason for process halt */
|
||||
short pr_what; /* XXX More detailed reason */
|
||||
#endif
|
||||
struct elf_siginfo pr_info; /* Info associated with signal */
|
||||
short pr_cursig; /* Current signal */
|
||||
unsigned long pr_sigpend; /* Set of pending signals */
|
||||
unsigned long pr_sighold; /* Set of held signals */
|
||||
#if 0
|
||||
struct sigaltstack pr_altstack; /* Alternate stack info */
|
||||
struct sigaction pr_action; /* Signal action for current sig */
|
||||
#endif
|
||||
pid_t pr_pid;
|
||||
pid_t pr_ppid;
|
||||
pid_t pr_pgrp;
|
||||
pid_t pr_sid;
|
||||
struct __kernel_old_timeval pr_utime; /* User time */
|
||||
struct __kernel_old_timeval pr_stime; /* System time */
|
||||
struct __kernel_old_timeval pr_cutime; /* Cumulative user time */
|
||||
struct __kernel_old_timeval pr_cstime; /* Cumulative system time */
|
||||
#if 0
|
||||
long pr_instr; /* Current instruction */
|
||||
#endif
|
||||
elf_gregset_t pr_reg; /* GP registers */
|
||||
#ifdef CONFIG_BINFMT_ELF_FDPIC
|
||||
/* When using FDPIC, the loadmap addresses need to be communicated
|
||||
* to GDB in order for GDB to do the necessary relocations. The
|
||||
* fields (below) used to communicate this information are placed
|
||||
* immediately after ``pr_reg'', so that the loadmap addresses may
|
||||
* be viewed as part of the register set if so desired.
|
||||
*/
|
||||
unsigned long pr_exec_fdpic_loadmap;
|
||||
unsigned long pr_interp_fdpic_loadmap;
|
||||
#endif
|
||||
int pr_fpvalid; /* True if math co-processor being used. */
|
||||
};
|
||||
|
||||
#define ELF_PRARGSZ (80) /* Number of chars for args */
|
||||
|
||||
struct elf_prpsinfo
|
||||
{
|
||||
char pr_state; /* numeric process state */
|
||||
char pr_sname; /* char for pr_state */
|
||||
char pr_zomb; /* zombie */
|
||||
char pr_nice; /* nice val */
|
||||
unsigned long pr_flag; /* flags */
|
||||
__kernel_uid_t pr_uid;
|
||||
__kernel_gid_t pr_gid;
|
||||
pid_t pr_pid, pr_ppid, pr_pgrp, pr_sid;
|
||||
/* Lots missing */
|
||||
char pr_fname[16]; /* filename of executable */
|
||||
char pr_psargs[ELF_PRARGSZ]; /* initial part of arg list */
|
||||
};
|
||||
|
||||
#ifndef __KERNEL__
|
||||
typedef struct elf_prstatus prstatus_t;
|
||||
typedef struct elf_prpsinfo prpsinfo_t;
|
||||
#define PRARGSZ ELF_PRARGSZ
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* _UAPI_LINUX_ELFCORE_H */
|
@@ -5,6 +5,13 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/time_types.h>
|
||||
|
||||
/* RFC 4884: return offset to extension struct + validation */
|
||||
struct sock_ee_data_rfc4884 {
|
||||
__u16 len;
|
||||
__u8 flags;
|
||||
__u8 reserved;
|
||||
};
|
||||
|
||||
struct sock_extended_err {
|
||||
__u32 ee_errno;
|
||||
__u8 ee_origin;
|
||||
@@ -12,7 +19,10 @@ struct sock_extended_err {
|
||||
__u8 ee_code;
|
||||
__u8 ee_pad;
|
||||
__u32 ee_info;
|
||||
__u32 ee_data;
|
||||
union {
|
||||
__u32 ee_data;
|
||||
struct sock_ee_data_rfc4884 ee_rfc4884;
|
||||
};
|
||||
};
|
||||
|
||||
#define SO_EE_ORIGIN_NONE 0
|
||||
@@ -31,6 +41,8 @@ struct sock_extended_err {
|
||||
#define SO_EE_CODE_TXTIME_INVALID_PARAM 1
|
||||
#define SO_EE_CODE_TXTIME_MISSED 2
|
||||
|
||||
#define SO_EE_RFC4884_FLAG_INVALID 1
|
||||
|
||||
/**
|
||||
* struct scm_timestamping - timestamps exposed through cmsg
|
||||
*
|
||||
|
@@ -579,6 +579,76 @@ struct ethtool_pauseparam {
|
||||
__u32 tx_pause;
|
||||
};
|
||||
|
||||
/**
|
||||
* enum ethtool_link_ext_state - link extended state
|
||||
*/
|
||||
enum ethtool_link_ext_state {
|
||||
ETHTOOL_LINK_EXT_STATE_AUTONEG,
|
||||
ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE,
|
||||
ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH,
|
||||
ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY,
|
||||
ETHTOOL_LINK_EXT_STATE_NO_CABLE,
|
||||
ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE,
|
||||
ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE,
|
||||
ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE,
|
||||
ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED,
|
||||
ETHTOOL_LINK_EXT_STATE_OVERHEAT,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum ethtool_link_ext_substate_autoneg - more information in addition to
|
||||
* ETHTOOL_LINK_EXT_STATE_AUTONEG.
|
||||
*/
|
||||
enum ethtool_link_ext_substate_autoneg {
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = 1,
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED,
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED,
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE,
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE,
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum ethtool_link_ext_substate_link_training - more information in addition to
|
||||
* ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE.
|
||||
*/
|
||||
enum ethtool_link_ext_substate_link_training {
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = 1,
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT,
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY,
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum ethtool_link_ext_substate_logical_mismatch - more information in addition
|
||||
* to ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH.
|
||||
*/
|
||||
enum ethtool_link_ext_substate_link_logical_mismatch {
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = 1,
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK,
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS,
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED,
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum ethtool_link_ext_substate_bad_signal_integrity - more information in
|
||||
* addition to ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY.
|
||||
*/
|
||||
enum ethtool_link_ext_substate_bad_signal_integrity {
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 1,
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum ethtool_link_ext_substate_cable_issue - more information in
|
||||
* addition to ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE.
|
||||
*/
|
||||
enum ethtool_link_ext_substate_cable_issue {
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = 1,
|
||||
ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE,
|
||||
};
|
||||
|
||||
#define ETH_GSTRING_LEN 32
|
||||
|
||||
/**
|
||||
@@ -599,6 +669,7 @@ struct ethtool_pauseparam {
|
||||
* @ETH_SS_SOF_TIMESTAMPING: SOF_TIMESTAMPING_* flags
|
||||
* @ETH_SS_TS_TX_TYPES: timestamping Tx types
|
||||
* @ETH_SS_TS_RX_FILTERS: timestamping Rx filters
|
||||
* @ETH_SS_UDP_TUNNEL_TYPES: UDP tunnel types
|
||||
*/
|
||||
enum ethtool_stringset {
|
||||
ETH_SS_TEST = 0,
|
||||
@@ -616,6 +687,7 @@ enum ethtool_stringset {
|
||||
ETH_SS_SOF_TIMESTAMPING,
|
||||
ETH_SS_TS_TX_TYPES,
|
||||
ETH_SS_TS_RX_FILTERS,
|
||||
ETH_SS_UDP_TUNNEL_TYPES,
|
||||
|
||||
/* add new constants above here */
|
||||
ETH_SS_COUNT
|
||||
@@ -1530,6 +1602,21 @@ enum ethtool_link_mode_bit_indices {
|
||||
ETHTOOL_LINK_MODE_400000baseDR8_Full_BIT = 72,
|
||||
ETHTOOL_LINK_MODE_400000baseCR8_Full_BIT = 73,
|
||||
ETHTOOL_LINK_MODE_FEC_LLRS_BIT = 74,
|
||||
ETHTOOL_LINK_MODE_100000baseKR_Full_BIT = 75,
|
||||
ETHTOOL_LINK_MODE_100000baseSR_Full_BIT = 76,
|
||||
ETHTOOL_LINK_MODE_100000baseLR_ER_FR_Full_BIT = 77,
|
||||
ETHTOOL_LINK_MODE_100000baseCR_Full_BIT = 78,
|
||||
ETHTOOL_LINK_MODE_100000baseDR_Full_BIT = 79,
|
||||
ETHTOOL_LINK_MODE_200000baseKR2_Full_BIT = 80,
|
||||
ETHTOOL_LINK_MODE_200000baseSR2_Full_BIT = 81,
|
||||
ETHTOOL_LINK_MODE_200000baseLR2_ER2_FR2_Full_BIT = 82,
|
||||
ETHTOOL_LINK_MODE_200000baseDR2_Full_BIT = 83,
|
||||
ETHTOOL_LINK_MODE_200000baseCR2_Full_BIT = 84,
|
||||
ETHTOOL_LINK_MODE_400000baseKR4_Full_BIT = 85,
|
||||
ETHTOOL_LINK_MODE_400000baseSR4_Full_BIT = 86,
|
||||
ETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT = 87,
|
||||
ETHTOOL_LINK_MODE_400000baseDR4_Full_BIT = 88,
|
||||
ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT = 89,
|
||||
/* must be last entry */
|
||||
__ETHTOOL_LINK_MODE_MASK_NBITS
|
||||
};
|
||||
|
@@ -41,6 +41,7 @@ enum {
|
||||
ETHTOOL_MSG_TSINFO_GET,
|
||||
ETHTOOL_MSG_CABLE_TEST_ACT,
|
||||
ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
||||
ETHTOOL_MSG_TUNNEL_INFO_GET,
|
||||
|
||||
/* add new constants above here */
|
||||
__ETHTOOL_MSG_USER_CNT,
|
||||
@@ -236,6 +237,8 @@ enum {
|
||||
ETHTOOL_A_LINKSTATE_LINK, /* u8 */
|
||||
ETHTOOL_A_LINKSTATE_SQI, /* u32 */
|
||||
ETHTOOL_A_LINKSTATE_SQI_MAX, /* u32 */
|
||||
ETHTOOL_A_LINKSTATE_EXT_STATE, /* u8 */
|
||||
ETHTOOL_A_LINKSTATE_EXT_SUBSTATE, /* u8 */
|
||||
|
||||
/* add new constants above here */
|
||||
__ETHTOOL_A_LINKSTATE_CNT,
|
||||
@@ -554,6 +557,60 @@ enum {
|
||||
ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1
|
||||
};
|
||||
|
||||
/* TUNNEL INFO */
|
||||
|
||||
enum {
|
||||
ETHTOOL_UDP_TUNNEL_TYPE_VXLAN,
|
||||
ETHTOOL_UDP_TUNNEL_TYPE_GENEVE,
|
||||
ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE,
|
||||
|
||||
__ETHTOOL_UDP_TUNNEL_TYPE_CNT
|
||||
};
|
||||
|
||||
enum {
|
||||
ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC,
|
||||
|
||||
ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT, /* be16 */
|
||||
ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE, /* u32 */
|
||||
|
||||
/* add new constants above here */
|
||||
__ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT,
|
||||
ETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = (__ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT - 1)
|
||||
};
|
||||
|
||||
enum {
|
||||
ETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC,
|
||||
|
||||
ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE, /* u32 */
|
||||
ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES, /* bitset */
|
||||
ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY, /* nest - _UDP_ENTRY_* */
|
||||
|
||||
/* add new constants above here */
|
||||
__ETHTOOL_A_TUNNEL_UDP_TABLE_CNT,
|
||||
ETHTOOL_A_TUNNEL_UDP_TABLE_MAX = (__ETHTOOL_A_TUNNEL_UDP_TABLE_CNT - 1)
|
||||
};
|
||||
|
||||
enum {
|
||||
ETHTOOL_A_TUNNEL_UDP_UNSPEC,
|
||||
|
||||
ETHTOOL_A_TUNNEL_UDP_TABLE, /* nest - _UDP_TABLE_* */
|
||||
|
||||
/* add new constants above here */
|
||||
__ETHTOOL_A_TUNNEL_UDP_CNT,
|
||||
ETHTOOL_A_TUNNEL_UDP_MAX = (__ETHTOOL_A_TUNNEL_UDP_CNT - 1)
|
||||
};
|
||||
|
||||
enum {
|
||||
ETHTOOL_A_TUNNEL_INFO_UNSPEC,
|
||||
ETHTOOL_A_TUNNEL_INFO_HEADER, /* nest - _A_HEADER_* */
|
||||
|
||||
ETHTOOL_A_TUNNEL_INFO_UDP_PORTS, /* nest - _UDP_TABLE */
|
||||
|
||||
/* add new constants above here */
|
||||
__ETHTOOL_A_TUNNEL_INFO_CNT,
|
||||
ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1)
|
||||
};
|
||||
|
||||
/* generic netlink info */
|
||||
#define ETHTOOL_GENL_NAME "ethtool"
|
||||
#define ETHTOOL_GENL_VERSION 1
|
||||
|
@@ -24,7 +24,6 @@
|
||||
#define FAN_OPEN_PERM 0x00010000 /* File open in perm check */
|
||||
#define FAN_ACCESS_PERM 0x00020000 /* File accessed in perm check */
|
||||
#define FAN_OPEN_EXEC_PERM 0x00040000 /* File open/exec in perm check */
|
||||
#define FAN_DIR_MODIFY 0x00080000 /* Directory entry was modified */
|
||||
|
||||
#define FAN_EVENT_ON_CHILD 0x08000000 /* Interested in child events */
|
||||
|
||||
@@ -54,6 +53,11 @@
|
||||
/* Flags to determine fanotify event format */
|
||||
#define FAN_REPORT_TID 0x00000100 /* event->pid is thread id */
|
||||
#define FAN_REPORT_FID 0x00000200 /* Report unique file id */
|
||||
#define FAN_REPORT_DIR_FID 0x00000400 /* Report unique directory id */
|
||||
#define FAN_REPORT_NAME 0x00000800 /* Report events with name */
|
||||
|
||||
/* Convenience macro - FAN_REPORT_NAME requires FAN_REPORT_DIR_FID */
|
||||
#define FAN_REPORT_DFID_NAME (FAN_REPORT_DIR_FID | FAN_REPORT_NAME)
|
||||
|
||||
/* Deprecated - do not use this in programs and do not add new flags here! */
|
||||
#define FAN_ALL_INIT_FLAGS (FAN_CLOEXEC | FAN_NONBLOCK | \
|
||||
@@ -118,6 +122,7 @@ struct fanotify_event_metadata {
|
||||
|
||||
#define FAN_EVENT_INFO_TYPE_FID 1
|
||||
#define FAN_EVENT_INFO_TYPE_DFID_NAME 2
|
||||
#define FAN_EVENT_INFO_TYPE_DFID 3
|
||||
|
||||
/* Variable length info record following event metadata */
|
||||
struct fanotify_event_info_header {
|
||||
@@ -127,10 +132,11 @@ struct fanotify_event_info_header {
|
||||
};
|
||||
|
||||
/*
|
||||
* Unique file identifier info record. This is used both for
|
||||
* FAN_EVENT_INFO_TYPE_FID records and for FAN_EVENT_INFO_TYPE_DFID_NAME
|
||||
* records. For FAN_EVENT_INFO_TYPE_DFID_NAME there is additionally a null
|
||||
* terminated name immediately after the file handle.
|
||||
* Unique file identifier info record.
|
||||
* This structure is used for records of types FAN_EVENT_INFO_TYPE_FID,
|
||||
* FAN_EVENT_INFO_TYPE_DFID and FAN_EVENT_INFO_TYPE_DFID_NAME.
|
||||
* For FAN_EVENT_INFO_TYPE_DFID_NAME there is additionally a null terminated
|
||||
* name immediately after the file handle.
|
||||
*/
|
||||
struct fanotify_event_info_fid {
|
||||
struct fanotify_event_info_header hdr;
|
||||
|
@@ -151,6 +151,65 @@ struct dfl_fpga_port_dma_unmap {
|
||||
|
||||
#define DFL_FPGA_PORT_DMA_UNMAP _IO(DFL_FPGA_MAGIC, DFL_PORT_BASE + 4)
|
||||
|
||||
/**
|
||||
* struct dfl_fpga_irq_set - the argument for DFL_FPGA_XXX_SET_IRQ ioctl.
|
||||
*
|
||||
* @start: Index of the first irq.
|
||||
* @count: The number of eventfd handler.
|
||||
* @evtfds: Eventfd handlers.
|
||||
*/
|
||||
struct dfl_fpga_irq_set {
|
||||
__u32 start;
|
||||
__u32 count;
|
||||
__s32 evtfds[];
|
||||
};
|
||||
|
||||
/**
|
||||
* DFL_FPGA_PORT_ERR_GET_IRQ_NUM - _IOR(DFL_FPGA_MAGIC, DFL_PORT_BASE + 5,
|
||||
* __u32 num_irqs)
|
||||
*
|
||||
* Get the number of irqs supported by the fpga port error reporting private
|
||||
* feature. Currently hardware supports up to 1 irq.
|
||||
* Return: 0 on success, -errno on failure.
|
||||
*/
|
||||
#define DFL_FPGA_PORT_ERR_GET_IRQ_NUM _IOR(DFL_FPGA_MAGIC, \
|
||||
DFL_PORT_BASE + 5, __u32)
|
||||
|
||||
/**
|
||||
* DFL_FPGA_PORT_ERR_SET_IRQ - _IOW(DFL_FPGA_MAGIC, DFL_PORT_BASE + 6,
|
||||
* struct dfl_fpga_irq_set)
|
||||
*
|
||||
* Set fpga port error reporting interrupt trigger if evtfds[n] is valid.
|
||||
* Unset related interrupt trigger if evtfds[n] is a negative value.
|
||||
* Return: 0 on success, -errno on failure.
|
||||
*/
|
||||
#define DFL_FPGA_PORT_ERR_SET_IRQ _IOW(DFL_FPGA_MAGIC, \
|
||||
DFL_PORT_BASE + 6, \
|
||||
struct dfl_fpga_irq_set)
|
||||
|
||||
/**
|
||||
* DFL_FPGA_PORT_UINT_GET_IRQ_NUM - _IOR(DFL_FPGA_MAGIC, DFL_PORT_BASE + 7,
|
||||
* __u32 num_irqs)
|
||||
*
|
||||
* Get the number of irqs supported by the fpga AFU interrupt private
|
||||
* feature.
|
||||
* Return: 0 on success, -errno on failure.
|
||||
*/
|
||||
#define DFL_FPGA_PORT_UINT_GET_IRQ_NUM _IOR(DFL_FPGA_MAGIC, \
|
||||
DFL_PORT_BASE + 7, __u32)
|
||||
|
||||
/**
|
||||
* DFL_FPGA_PORT_UINT_SET_IRQ - _IOW(DFL_FPGA_MAGIC, DFL_PORT_BASE + 8,
|
||||
* struct dfl_fpga_irq_set)
|
||||
*
|
||||
* Set fpga AFU interrupt trigger if evtfds[n] is valid.
|
||||
* Unset related interrupt trigger if evtfds[n] is a negative value.
|
||||
* Return: 0 on success, -errno on failure.
|
||||
*/
|
||||
#define DFL_FPGA_PORT_UINT_SET_IRQ _IOW(DFL_FPGA_MAGIC, \
|
||||
DFL_PORT_BASE + 8, \
|
||||
struct dfl_fpga_irq_set)
|
||||
|
||||
/* IOCTLs for FME file descriptor */
|
||||
|
||||
/**
|
||||
@@ -194,4 +253,27 @@ struct dfl_fpga_fme_port_pr {
|
||||
*/
|
||||
#define DFL_FPGA_FME_PORT_ASSIGN _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 2, int)
|
||||
|
||||
/**
|
||||
* DFL_FPGA_FME_ERR_GET_IRQ_NUM - _IOR(DFL_FPGA_MAGIC, DFL_FME_BASE + 3,
|
||||
* __u32 num_irqs)
|
||||
*
|
||||
* Get the number of irqs supported by the fpga fme error reporting private
|
||||
* feature. Currently hardware supports up to 1 irq.
|
||||
* Return: 0 on success, -errno on failure.
|
||||
*/
|
||||
#define DFL_FPGA_FME_ERR_GET_IRQ_NUM _IOR(DFL_FPGA_MAGIC, \
|
||||
DFL_FME_BASE + 3, __u32)
|
||||
|
||||
/**
|
||||
* DFL_FPGA_FME_ERR_SET_IRQ - _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 4,
|
||||
* struct dfl_fpga_irq_set)
|
||||
*
|
||||
* Set fpga fme error reporting interrupt trigger if evtfds[n] is valid.
|
||||
* Unset related interrupt trigger if evtfds[n] is a negative value.
|
||||
* Return: 0 on success, -errno on failure.
|
||||
*/
|
||||
#define DFL_FPGA_FME_ERR_SET_IRQ _IOW(DFL_FPGA_MAGIC, \
|
||||
DFL_FME_BASE + 4, \
|
||||
struct dfl_fpga_irq_set)
|
||||
|
||||
#endif /* _UAPI_LINUX_FPGA_DFL_H */
|
||||
|
@@ -71,8 +71,8 @@ enum {
|
||||
* of a GPIO line
|
||||
* @info: updated line information
|
||||
* @timestamp: estimate of time of status change occurrence, in nanoseconds
|
||||
* and GPIOLINE_CHANGED_CONFIG
|
||||
* @event_type: one of GPIOLINE_CHANGED_REQUESTED, GPIOLINE_CHANGED_RELEASED
|
||||
* and GPIOLINE_CHANGED_CONFIG
|
||||
*
|
||||
* Note: struct gpioline_info embedded here has 32-bit alignment on its own,
|
||||
* but it works fine with 64-bit alignment too. With its 72 byte size, we can
|
||||
|
@@ -17,7 +17,7 @@
|
||||
/* Generic Netlink HSR family definition
|
||||
*/
|
||||
|
||||
/* attributes */
|
||||
/* attributes for HSR or PRP node */
|
||||
enum {
|
||||
HSR_A_UNSPEC,
|
||||
HSR_A_NODE_ADDR,
|
||||
|
@@ -219,7 +219,7 @@ struct hv_do_fcopy {
|
||||
* kernel and user-level daemon communicate using a connector channel.
|
||||
*
|
||||
* The user mode component first registers with the
|
||||
* the kernel component. Subsequently, the kernel component requests, data
|
||||
* kernel component. Subsequently, the kernel component requests, data
|
||||
* for the specified keys. In response to this message the user mode component
|
||||
* fills in the value corresponding to the specified key. We overload the
|
||||
* sequence field in the cn_msg header to define our KVP message types.
|
||||
|
@@ -19,6 +19,7 @@
|
||||
#define _UAPI_LINUX_ICMP_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
#define ICMP_ECHOREPLY 0 /* Echo Reply */
|
||||
#define ICMP_DEST_UNREACH 3 /* Destination Unreachable */
|
||||
@@ -95,5 +96,26 @@ struct icmp_filter {
|
||||
__u32 data;
|
||||
};
|
||||
|
||||
/* RFC 4884 extension struct: one per message */
|
||||
struct icmp_ext_hdr {
|
||||
#if defined(__LITTLE_ENDIAN_BITFIELD)
|
||||
__u8 reserved1:4,
|
||||
version:4;
|
||||
#elif defined(__BIG_ENDIAN_BITFIELD)
|
||||
__u8 version:4,
|
||||
reserved1:4;
|
||||
#else
|
||||
#error "Please fix <asm/byteorder.h>"
|
||||
#endif
|
||||
__u8 reserved2;
|
||||
__sum16 checksum;
|
||||
};
|
||||
|
||||
/* RFC 4884 extension object header: one for each object */
|
||||
struct icmp_extobj_hdr {
|
||||
__be16 length;
|
||||
__u8 class_num;
|
||||
__u8 class_type;
|
||||
};
|
||||
|
||||
#endif /* _UAPI_LINUX_ICMP_H */
|
||||
|
@@ -68,6 +68,7 @@ struct icmp6hdr {
|
||||
#define icmp6_mtu icmp6_dataun.un_data32[0]
|
||||
#define icmp6_unused icmp6_dataun.un_data32[0]
|
||||
#define icmp6_maxdelay icmp6_dataun.un_data16[0]
|
||||
#define icmp6_datagram_len icmp6_dataun.un_data8[0]
|
||||
#define icmp6_router icmp6_dataun.u_nd_advt.router
|
||||
#define icmp6_solicited icmp6_dataun.u_nd_advt.solicited
|
||||
#define icmp6_override icmp6_dataun.u_nd_advt.override
|
||||
|
@@ -181,6 +181,12 @@ struct dsa_completion_record {
|
||||
uint32_t bytes_completed;
|
||||
uint64_t fault_addr;
|
||||
union {
|
||||
/* common record */
|
||||
struct {
|
||||
uint32_t invalid_flags:24;
|
||||
uint32_t rsvd2:8;
|
||||
};
|
||||
|
||||
uint16_t delta_rec_size;
|
||||
uint16_t crc_val;
|
||||
|
||||
|
@@ -166,6 +166,10 @@ enum {
|
||||
IFLA_BRIDGE_MRP_RING_STATE,
|
||||
IFLA_BRIDGE_MRP_RING_ROLE,
|
||||
IFLA_BRIDGE_MRP_START_TEST,
|
||||
IFLA_BRIDGE_MRP_INFO,
|
||||
IFLA_BRIDGE_MRP_IN_ROLE,
|
||||
IFLA_BRIDGE_MRP_IN_STATE,
|
||||
IFLA_BRIDGE_MRP_START_IN_TEST,
|
||||
__IFLA_BRIDGE_MRP_MAX,
|
||||
};
|
||||
|
||||
@@ -228,6 +232,58 @@ enum {
|
||||
|
||||
#define IFLA_BRIDGE_MRP_START_TEST_MAX (__IFLA_BRIDGE_MRP_START_TEST_MAX - 1)
|
||||
|
||||
enum {
|
||||
IFLA_BRIDGE_MRP_INFO_UNSPEC,
|
||||
IFLA_BRIDGE_MRP_INFO_RING_ID,
|
||||
IFLA_BRIDGE_MRP_INFO_P_IFINDEX,
|
||||
IFLA_BRIDGE_MRP_INFO_S_IFINDEX,
|
||||
IFLA_BRIDGE_MRP_INFO_PRIO,
|
||||
IFLA_BRIDGE_MRP_INFO_RING_STATE,
|
||||
IFLA_BRIDGE_MRP_INFO_RING_ROLE,
|
||||
IFLA_BRIDGE_MRP_INFO_TEST_INTERVAL,
|
||||
IFLA_BRIDGE_MRP_INFO_TEST_MAX_MISS,
|
||||
IFLA_BRIDGE_MRP_INFO_TEST_MONITOR,
|
||||
IFLA_BRIDGE_MRP_INFO_I_IFINDEX,
|
||||
IFLA_BRIDGE_MRP_INFO_IN_STATE,
|
||||
IFLA_BRIDGE_MRP_INFO_IN_ROLE,
|
||||
IFLA_BRIDGE_MRP_INFO_IN_TEST_INTERVAL,
|
||||
IFLA_BRIDGE_MRP_INFO_IN_TEST_MAX_MISS,
|
||||
__IFLA_BRIDGE_MRP_INFO_MAX,
|
||||
};
|
||||
|
||||
#define IFLA_BRIDGE_MRP_INFO_MAX (__IFLA_BRIDGE_MRP_INFO_MAX - 1)
|
||||
|
||||
enum {
|
||||
IFLA_BRIDGE_MRP_IN_STATE_UNSPEC,
|
||||
IFLA_BRIDGE_MRP_IN_STATE_IN_ID,
|
||||
IFLA_BRIDGE_MRP_IN_STATE_STATE,
|
||||
__IFLA_BRIDGE_MRP_IN_STATE_MAX,
|
||||
};
|
||||
|
||||
#define IFLA_BRIDGE_MRP_IN_STATE_MAX (__IFLA_BRIDGE_MRP_IN_STATE_MAX - 1)
|
||||
|
||||
enum {
|
||||
IFLA_BRIDGE_MRP_IN_ROLE_UNSPEC,
|
||||
IFLA_BRIDGE_MRP_IN_ROLE_RING_ID,
|
||||
IFLA_BRIDGE_MRP_IN_ROLE_IN_ID,
|
||||
IFLA_BRIDGE_MRP_IN_ROLE_ROLE,
|
||||
IFLA_BRIDGE_MRP_IN_ROLE_I_IFINDEX,
|
||||
__IFLA_BRIDGE_MRP_IN_ROLE_MAX,
|
||||
};
|
||||
|
||||
#define IFLA_BRIDGE_MRP_IN_ROLE_MAX (__IFLA_BRIDGE_MRP_IN_ROLE_MAX - 1)
|
||||
|
||||
enum {
|
||||
IFLA_BRIDGE_MRP_START_IN_TEST_UNSPEC,
|
||||
IFLA_BRIDGE_MRP_START_IN_TEST_IN_ID,
|
||||
IFLA_BRIDGE_MRP_START_IN_TEST_INTERVAL,
|
||||
IFLA_BRIDGE_MRP_START_IN_TEST_MAX_MISS,
|
||||
IFLA_BRIDGE_MRP_START_IN_TEST_PERIOD,
|
||||
__IFLA_BRIDGE_MRP_START_IN_TEST_MAX,
|
||||
};
|
||||
|
||||
#define IFLA_BRIDGE_MRP_START_IN_TEST_MAX (__IFLA_BRIDGE_MRP_START_IN_TEST_MAX - 1)
|
||||
|
||||
struct br_mrp_instance {
|
||||
__u32 ring_id;
|
||||
__u32 p_ifindex;
|
||||
@@ -253,6 +309,25 @@ struct br_mrp_start_test {
|
||||
__u32 monitor;
|
||||
};
|
||||
|
||||
struct br_mrp_in_state {
|
||||
__u32 in_state;
|
||||
__u16 in_id;
|
||||
};
|
||||
|
||||
struct br_mrp_in_role {
|
||||
__u32 ring_id;
|
||||
__u32 in_role;
|
||||
__u32 i_ifindex;
|
||||
__u16 in_id;
|
||||
};
|
||||
|
||||
struct br_mrp_start_in_test {
|
||||
__u32 interval;
|
||||
__u32 max_miss;
|
||||
__u32 period;
|
||||
__u16 in_id;
|
||||
};
|
||||
|
||||
struct bridge_stp_xstats {
|
||||
__u64 transition_blk;
|
||||
__u64 transition_fwd;
|
||||
|
@@ -170,12 +170,22 @@ enum {
|
||||
IFLA_PROP_LIST,
|
||||
IFLA_ALT_IFNAME, /* Alternative ifname */
|
||||
IFLA_PERM_ADDRESS,
|
||||
IFLA_PROTO_DOWN_REASON,
|
||||
__IFLA_MAX
|
||||
};
|
||||
|
||||
|
||||
#define IFLA_MAX (__IFLA_MAX - 1)
|
||||
|
||||
enum {
|
||||
IFLA_PROTO_DOWN_REASON_UNSPEC,
|
||||
IFLA_PROTO_DOWN_REASON_MASK, /* u32, mask for reason bits */
|
||||
IFLA_PROTO_DOWN_REASON_VALUE, /* u32, reason bit value */
|
||||
|
||||
__IFLA_PROTO_DOWN_REASON_CNT,
|
||||
IFLA_PROTO_DOWN_REASON_MAX = __IFLA_PROTO_DOWN_REASON_CNT - 1
|
||||
};
|
||||
|
||||
/* backwards compatibility for userspace */
|
||||
#ifndef __KERNEL__
|
||||
#define IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
|
||||
@@ -344,6 +354,7 @@ enum {
|
||||
IFLA_BRPORT_ISOLATED,
|
||||
IFLA_BRPORT_BACKUP_PORT,
|
||||
IFLA_BRPORT_MRP_RING_OPEN,
|
||||
IFLA_BRPORT_MRP_IN_OPEN,
|
||||
__IFLA_BRPORT_MAX
|
||||
};
|
||||
#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
|
||||
@@ -906,7 +917,14 @@ enum {
|
||||
#define IFLA_IPOIB_MAX (__IFLA_IPOIB_MAX - 1)
|
||||
|
||||
|
||||
/* HSR section */
|
||||
/* HSR/PRP section, both uses same interface */
|
||||
|
||||
/* Different redundancy protocols for hsr device */
|
||||
enum {
|
||||
HSR_PROTOCOL_HSR,
|
||||
HSR_PROTOCOL_PRP,
|
||||
HSR_PROTOCOL_MAX,
|
||||
};
|
||||
|
||||
enum {
|
||||
IFLA_HSR_UNSPEC,
|
||||
@@ -916,6 +934,9 @@ enum {
|
||||
IFLA_HSR_SUPERVISION_ADDR, /* Supervision frame multicast addr */
|
||||
IFLA_HSR_SEQ_NR,
|
||||
IFLA_HSR_VERSION, /* HSR version */
|
||||
IFLA_HSR_PROTOCOL, /* Indicate different protocol than
|
||||
* HSR. For example PRP.
|
||||
*/
|
||||
__IFLA_HSR_MAX,
|
||||
};
|
||||
|
||||
|
@@ -73,9 +73,12 @@ struct xdp_umem_reg {
|
||||
};
|
||||
|
||||
struct xdp_statistics {
|
||||
__u64 rx_dropped; /* Dropped for reasons other than invalid desc */
|
||||
__u64 rx_dropped; /* Dropped for other reasons */
|
||||
__u64 rx_invalid_descs; /* Dropped due to invalid descriptor */
|
||||
__u64 tx_invalid_descs; /* Dropped due to invalid descriptor */
|
||||
__u64 rx_ring_full; /* Dropped due to rx ring being full */
|
||||
__u64 rx_fill_ring_empty_descs; /* Failed to retrieve item from fill ring */
|
||||
__u64 tx_ring_empty_descs; /* Failed to retrieve item from tx ring */
|
||||
};
|
||||
|
||||
struct xdp_options {
|
||||
|
@@ -123,6 +123,7 @@ struct in_addr {
|
||||
#define IP_CHECKSUM 23
|
||||
#define IP_BIND_ADDRESS_NO_PORT 24
|
||||
#define IP_RECVFRAGSIZE 25
|
||||
#define IP_RECVERR_RFC4884 26
|
||||
|
||||
/* IP_MTU_DISCOVER values */
|
||||
#define IP_PMTUDISC_DONT 0 /* Never send DF frames */
|
||||
|
@@ -179,6 +179,7 @@ struct in6_flowlabel_req {
|
||||
#define IPV6_LEAVE_ANYCAST 28
|
||||
#define IPV6_MULTICAST_ALL 29
|
||||
#define IPV6_ROUTER_ALERT_ISOLATE 30
|
||||
#define IPV6_RECVERR_RFC4884 31
|
||||
|
||||
/* IPV6_MTU_DISCOVER values */
|
||||
#define IPV6_PMTUDISC_DONT 0
|
||||
|
@@ -65,6 +65,7 @@ enum {
|
||||
INET_DIAG_REQ_NONE,
|
||||
INET_DIAG_REQ_BYTECODE,
|
||||
INET_DIAG_REQ_SK_BPF_STORAGES,
|
||||
INET_DIAG_REQ_PROTOCOL,
|
||||
__INET_DIAG_REQ_MAX,
|
||||
};
|
||||
|
||||
|
@@ -31,7 +31,8 @@ struct io_uring_sqe {
|
||||
union {
|
||||
__kernel_rwf_t rw_flags;
|
||||
__u32 fsync_flags;
|
||||
__u16 poll_events;
|
||||
__u16 poll_events; /* compatibility */
|
||||
__u32 poll32_events; /* word-reversed for BE */
|
||||
__u32 sync_range_flags;
|
||||
__u32 msg_flags;
|
||||
__u32 timeout_flags;
|
||||
@@ -249,6 +250,7 @@ struct io_uring_params {
|
||||
#define IORING_FEAT_RW_CUR_POS (1U << 3)
|
||||
#define IORING_FEAT_CUR_PERSONALITY (1U << 4)
|
||||
#define IORING_FEAT_FAST_POLL (1U << 5)
|
||||
#define IORING_FEAT_POLL_32BITS (1U << 6)
|
||||
|
||||
/*
|
||||
* io_uring_register(2) opcodes and arguments
|
||||
|
@@ -81,7 +81,10 @@ struct iommu_fault_unrecoverable {
|
||||
/**
|
||||
* 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)
|
||||
* is the last page in group (IOMMU_FAULT_PAGE_REQUEST_* values).
|
||||
* When IOMMU_FAULT_PAGE_RESPONSE_NEEDS_PASID is set, the page response
|
||||
* must have the same PASID value as the page request. When it is clear,
|
||||
* the page response should not have a PASID.
|
||||
* @pasid: Process Address Space ID
|
||||
* @grpid: Page Request Group Index
|
||||
* @perm: requested page permissions (IOMMU_FAULT_PERM_* values)
|
||||
@@ -92,6 +95,7 @@ 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)
|
||||
#define IOMMU_FAULT_PAGE_RESPONSE_NEEDS_PASID (1 << 3)
|
||||
__u32 flags;
|
||||
__u32 pasid;
|
||||
__u32 grpid;
|
||||
|
@@ -69,7 +69,7 @@ struct isst_if_cpu_maps {
|
||||
* @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
|
||||
* read placeholder read value
|
||||
*
|
||||
* Structure to specify read/write data to PUNIT registers.
|
||||
*/
|
||||
|
@@ -289,6 +289,7 @@ struct kvm_run {
|
||||
/* KVM_EXIT_FAIL_ENTRY */
|
||||
struct {
|
||||
__u64 hardware_entry_failure_reason;
|
||||
__u32 cpu;
|
||||
} fail_entry;
|
||||
/* KVM_EXIT_EXCEPTION */
|
||||
struct {
|
||||
@@ -1031,6 +1032,9 @@ struct kvm_ppc_resize_hpt {
|
||||
#define KVM_CAP_PPC_SECURE_GUEST 181
|
||||
#define KVM_CAP_HALT_POLL 182
|
||||
#define KVM_CAP_ASYNC_PF_INT 183
|
||||
#define KVM_CAP_LAST_CPU 184
|
||||
#define KVM_CAP_SMALLER_MAXPHYADDR 185
|
||||
#define KVM_CAP_S390_DIAG318 186
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
|
@@ -24,7 +24,7 @@
|
||||
* of (ASCII) characters to a 7-segments notation.
|
||||
*
|
||||
* The 7 segment's wikipedia notation below is used as standard.
|
||||
* See: http://en.wikipedia.org/wiki/Seven_segment_display
|
||||
* See: https://en.wikipedia.org/wiki/Seven_segment_display
|
||||
*
|
||||
* Notation: +-a-+
|
||||
* f b
|
||||
|
@@ -324,4 +324,30 @@ static inline __u16 mdio_phy_id_c45(int prtad, int devad)
|
||||
return MDIO_PHY_ID_C45 | (prtad << 5) | devad;
|
||||
}
|
||||
|
||||
/* UsxgmiiChannelInfo[15:0] for USXGMII in-band auto-negotiation.*/
|
||||
#define MDIO_USXGMII_EEE_CLK_STP 0x0080 /* EEE clock stop supported */
|
||||
#define MDIO_USXGMII_EEE 0x0100 /* EEE supported */
|
||||
#define MDIO_USXGMII_SPD_MASK 0x0e00 /* USXGMII speed mask */
|
||||
#define MDIO_USXGMII_FULL_DUPLEX 0x1000 /* USXGMII full duplex */
|
||||
#define MDIO_USXGMII_DPX_SPD_MASK 0x1e00 /* USXGMII duplex and speed bits */
|
||||
#define MDIO_USXGMII_10 0x0000 /* 10Mbps */
|
||||
#define MDIO_USXGMII_10HALF 0x0000 /* 10Mbps half-duplex */
|
||||
#define MDIO_USXGMII_10FULL 0x1000 /* 10Mbps full-duplex */
|
||||
#define MDIO_USXGMII_100 0x0200 /* 100Mbps */
|
||||
#define MDIO_USXGMII_100HALF 0x0200 /* 100Mbps half-duplex */
|
||||
#define MDIO_USXGMII_100FULL 0x1200 /* 100Mbps full-duplex */
|
||||
#define MDIO_USXGMII_1000 0x0400 /* 1000Mbps */
|
||||
#define MDIO_USXGMII_1000HALF 0x0400 /* 1000Mbps half-duplex */
|
||||
#define MDIO_USXGMII_1000FULL 0x1400 /* 1000Mbps full-duplex */
|
||||
#define MDIO_USXGMII_10G 0x0600 /* 10Gbps */
|
||||
#define MDIO_USXGMII_10GHALF 0x0600 /* 10Gbps half-duplex */
|
||||
#define MDIO_USXGMII_10GFULL 0x1600 /* 10Gbps full-duplex */
|
||||
#define MDIO_USXGMII_2500 0x0800 /* 2500Mbps */
|
||||
#define MDIO_USXGMII_2500HALF 0x0800 /* 2500Mbps half-duplex */
|
||||
#define MDIO_USXGMII_2500FULL 0x1800 /* 2500Mbps full-duplex */
|
||||
#define MDIO_USXGMII_5000 0x0a00 /* 5000Mbps */
|
||||
#define MDIO_USXGMII_5000HALF 0x0a00 /* 5000Mbps half-duplex */
|
||||
#define MDIO_USXGMII_5000FULL 0x1a00 /* 5000Mbps full-duplex */
|
||||
#define MDIO_USXGMII_LINK 0x8000 /* PHY link with copper-side partner */
|
||||
|
||||
#endif /* _UAPI__LINUX_MDIO_H__ */
|
||||
|
@@ -86,4 +86,21 @@ enum {
|
||||
__MPTCP_PM_CMD_AFTER_LAST
|
||||
};
|
||||
|
||||
#define MPTCP_INFO_FLAG_FALLBACK _BITUL(0)
|
||||
#define MPTCP_INFO_FLAG_REMOTE_KEY_RECEIVED _BITUL(1)
|
||||
|
||||
struct mptcp_info {
|
||||
__u8 mptcpi_subflows;
|
||||
__u8 mptcpi_add_addr_signal;
|
||||
__u8 mptcpi_add_addr_accepted;
|
||||
__u8 mptcpi_subflows_max;
|
||||
__u8 mptcpi_add_addr_signal_max;
|
||||
__u8 mptcpi_add_addr_accepted_max;
|
||||
__u32 mptcpi_flags;
|
||||
__u32 mptcpi_token;
|
||||
__u64 mptcpi_write_seq;
|
||||
__u64 mptcpi_snd_una;
|
||||
__u64 mptcpi_rcv_nxt;
|
||||
};
|
||||
|
||||
#endif /* _UAPI_MPTCP_H */
|
||||
|
@@ -21,11 +21,22 @@ enum br_mrp_ring_role_type {
|
||||
BR_MRP_RING_ROLE_MRA,
|
||||
};
|
||||
|
||||
enum br_mrp_in_role_type {
|
||||
BR_MRP_IN_ROLE_DISABLED,
|
||||
BR_MRP_IN_ROLE_MIC,
|
||||
BR_MRP_IN_ROLE_MIM,
|
||||
};
|
||||
|
||||
enum br_mrp_ring_state_type {
|
||||
BR_MRP_RING_STATE_OPEN,
|
||||
BR_MRP_RING_STATE_CLOSED,
|
||||
};
|
||||
|
||||
enum br_mrp_in_state_type {
|
||||
BR_MRP_IN_STATE_OPEN,
|
||||
BR_MRP_IN_STATE_CLOSED,
|
||||
};
|
||||
|
||||
enum br_mrp_port_state_type {
|
||||
BR_MRP_PORT_STATE_DISABLED,
|
||||
BR_MRP_PORT_STATE_BLOCKED,
|
||||
@@ -36,6 +47,7 @@ enum br_mrp_port_state_type {
|
||||
enum br_mrp_port_role_type {
|
||||
BR_MRP_PORT_ROLE_PRIMARY,
|
||||
BR_MRP_PORT_ROLE_SECONDARY,
|
||||
BR_MRP_PORT_ROLE_INTER,
|
||||
};
|
||||
|
||||
enum br_mrp_tlv_header_type {
|
||||
@@ -45,6 +57,10 @@ enum br_mrp_tlv_header_type {
|
||||
BR_MRP_TLV_HEADER_RING_TOPO = 0x3,
|
||||
BR_MRP_TLV_HEADER_RING_LINK_DOWN = 0x4,
|
||||
BR_MRP_TLV_HEADER_RING_LINK_UP = 0x5,
|
||||
BR_MRP_TLV_HEADER_IN_TEST = 0x6,
|
||||
BR_MRP_TLV_HEADER_IN_TOPO = 0x7,
|
||||
BR_MRP_TLV_HEADER_IN_LINK_DOWN = 0x8,
|
||||
BR_MRP_TLV_HEADER_IN_LINK_UP = 0x9,
|
||||
BR_MRP_TLV_HEADER_OPTION = 0x7f,
|
||||
};
|
||||
|
||||
@@ -118,4 +134,26 @@ struct br_mrp_oui_hdr {
|
||||
__u8 oui[MRP_OUI_LENGTH];
|
||||
};
|
||||
|
||||
struct br_mrp_in_test_hdr {
|
||||
__be16 id;
|
||||
__u8 sa[ETH_ALEN];
|
||||
__be16 port_role;
|
||||
__be16 state;
|
||||
__be16 transitions;
|
||||
__be32 timestamp;
|
||||
};
|
||||
|
||||
struct br_mrp_in_topo_hdr {
|
||||
__u8 sa[ETH_ALEN];
|
||||
__be16 id;
|
||||
__be16 interval;
|
||||
};
|
||||
|
||||
struct br_mrp_in_link_hdr {
|
||||
__u8 sa[ETH_ALEN];
|
||||
__be16 port_role;
|
||||
__be16 id;
|
||||
__be16 interval;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -245,6 +245,11 @@ struct nd_cmd_pkg {
|
||||
#define NVDIMM_FAMILY_MSFT 3
|
||||
#define NVDIMM_FAMILY_HYPERV 4
|
||||
#define NVDIMM_FAMILY_PAPR 5
|
||||
#define NVDIMM_FAMILY_MAX NVDIMM_FAMILY_PAPR
|
||||
|
||||
#define NVDIMM_BUS_FAMILY_NFIT 0
|
||||
#define NVDIMM_BUS_FAMILY_INTEL 1
|
||||
#define NVDIMM_BUS_FAMILY_MAX NVDIMM_BUS_FAMILY_INTEL
|
||||
|
||||
#define ND_IOCTL_CALL _IOWR(ND_IOCTL, ND_CMD_CALL,\
|
||||
struct nd_cmd_pkg)
|
||||
|
@@ -30,6 +30,7 @@ enum {
|
||||
NDA_SRC_VNI,
|
||||
NDA_PROTOCOL, /* Originator of entry */
|
||||
NDA_NH_ID,
|
||||
NDA_FDB_EXT_ATTRS,
|
||||
__NDA_MAX
|
||||
};
|
||||
|
||||
@@ -172,4 +173,27 @@ enum {
|
||||
};
|
||||
#define NDTA_MAX (__NDTA_MAX - 1)
|
||||
|
||||
/* FDB activity notification bits used in NFEA_ACTIVITY_NOTIFY:
|
||||
* - FDB_NOTIFY_BIT - notify on activity/expire for any entry
|
||||
* - FDB_NOTIFY_INACTIVE_BIT - mark as inactive to avoid multiple notifications
|
||||
*/
|
||||
enum {
|
||||
FDB_NOTIFY_BIT = (1 << 0),
|
||||
FDB_NOTIFY_INACTIVE_BIT = (1 << 1)
|
||||
};
|
||||
|
||||
/* embedded into NDA_FDB_EXT_ATTRS:
|
||||
* [NDA_FDB_EXT_ATTRS] = {
|
||||
* [NFEA_ACTIVITY_NOTIFY]
|
||||
* ...
|
||||
* }
|
||||
*/
|
||||
enum {
|
||||
NFEA_UNSPEC,
|
||||
NFEA_ACTIVITY_NOTIFY,
|
||||
NFEA_DONT_REFRESH,
|
||||
__NFEA_MAX
|
||||
};
|
||||
#define NFEA_MAX (__NFEA_MAX - 1)
|
||||
|
||||
#endif
|
||||
|
@@ -184,6 +184,15 @@ enum nft_table_attributes {
|
||||
};
|
||||
#define NFTA_TABLE_MAX (__NFTA_TABLE_MAX - 1)
|
||||
|
||||
enum nft_chain_flags {
|
||||
NFT_CHAIN_BASE = (1 << 0),
|
||||
NFT_CHAIN_HW_OFFLOAD = (1 << 1),
|
||||
NFT_CHAIN_BINDING = (1 << 2),
|
||||
};
|
||||
#define NFT_CHAIN_FLAGS (NFT_CHAIN_BASE | \
|
||||
NFT_CHAIN_HW_OFFLOAD | \
|
||||
NFT_CHAIN_BINDING)
|
||||
|
||||
/**
|
||||
* enum nft_chain_attributes - nf_tables chain netlink attributes
|
||||
*
|
||||
@@ -196,6 +205,7 @@ enum nft_table_attributes {
|
||||
* @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
|
||||
* @NFTA_CHAIN_ID: uniquely identifies a chain in a transaction (NLA_U32)
|
||||
*/
|
||||
enum nft_chain_attributes {
|
||||
NFTA_CHAIN_UNSPEC,
|
||||
@@ -209,6 +219,7 @@ enum nft_chain_attributes {
|
||||
NFTA_CHAIN_COUNTERS,
|
||||
NFTA_CHAIN_PAD,
|
||||
NFTA_CHAIN_FLAGS,
|
||||
NFTA_CHAIN_ID,
|
||||
__NFTA_CHAIN_MAX
|
||||
};
|
||||
#define NFTA_CHAIN_MAX (__NFTA_CHAIN_MAX - 1)
|
||||
@@ -238,6 +249,7 @@ enum nft_rule_attributes {
|
||||
NFTA_RULE_PAD,
|
||||
NFTA_RULE_ID,
|
||||
NFTA_RULE_POSITION_ID,
|
||||
NFTA_RULE_CHAIN_ID,
|
||||
__NFTA_RULE_MAX
|
||||
};
|
||||
#define NFTA_RULE_MAX (__NFTA_RULE_MAX - 1)
|
||||
@@ -468,11 +480,13 @@ enum nft_data_attributes {
|
||||
*
|
||||
* @NFTA_VERDICT_CODE: nf_tables verdict (NLA_U32: enum nft_verdicts)
|
||||
* @NFTA_VERDICT_CHAIN: jump target chain name (NLA_STRING)
|
||||
* @NFTA_VERDICT_CHAIN_ID: jump target chain ID (NLA_U32)
|
||||
*/
|
||||
enum nft_verdict_attributes {
|
||||
NFTA_VERDICT_UNSPEC,
|
||||
NFTA_VERDICT_CODE,
|
||||
NFTA_VERDICT_CHAIN,
|
||||
NFTA_VERDICT_CHAIN_ID,
|
||||
__NFTA_VERDICT_MAX
|
||||
};
|
||||
#define NFTA_VERDICT_MAX (__NFTA_VERDICT_MAX - 1)
|
||||
|
@@ -4,7 +4,7 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Copyright (C) 2002,2004 MARA Systems AB <http://www.marasystems.com>
|
||||
/* Copyright (C) 2002,2004 MARA Systems AB <https://www.marasystems.com>
|
||||
* by Henrik Nordstrom <hno@marasystems.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
@@ -33,6 +33,9 @@
|
||||
#define NFS4_ACCESS_EXTEND 0x0008
|
||||
#define NFS4_ACCESS_DELETE 0x0010
|
||||
#define NFS4_ACCESS_EXECUTE 0x0020
|
||||
#define NFS4_ACCESS_XAREAD 0x0040
|
||||
#define NFS4_ACCESS_XAWRITE 0x0080
|
||||
#define NFS4_ACCESS_XALIST 0x0100
|
||||
|
||||
#define NFS4_FH_PERSISTENT 0x0000
|
||||
#define NFS4_FH_NOEXPIRE_WITH_OPEN 0x0001
|
||||
|
@@ -56,6 +56,7 @@
|
||||
#define NFSDBG_PNFS 0x1000
|
||||
#define NFSDBG_PNFS_LD 0x2000
|
||||
#define NFSDBG_STATE 0x4000
|
||||
#define NFSDBG_XATTRCACHE 0x8000
|
||||
#define NFSDBG_ALL 0xFFFF
|
||||
|
||||
|
||||
|
@@ -183,18 +183,27 @@
|
||||
*
|
||||
* By setting @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK flag drivers
|
||||
* can indicate they support offloading EAPOL handshakes for WPA/WPA2
|
||||
* preshared key authentication. In %NL80211_CMD_CONNECT the preshared
|
||||
* key should be specified using %NL80211_ATTR_PMK. Drivers supporting
|
||||
* this offload may reject the %NL80211_CMD_CONNECT when no preshared
|
||||
* key material is provided, for example when that driver does not
|
||||
* support setting the temporal keys through %CMD_NEW_KEY.
|
||||
* preshared key authentication in station mode. In %NL80211_CMD_CONNECT
|
||||
* the preshared key should be specified using %NL80211_ATTR_PMK. Drivers
|
||||
* supporting this offload may reject the %NL80211_CMD_CONNECT when no
|
||||
* preshared key material is provided, for example when that driver does
|
||||
* not support setting the temporal keys through %NL80211_CMD_NEW_KEY.
|
||||
*
|
||||
* Similarly @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X flag can be
|
||||
* set by drivers indicating offload support of the PTK/GTK EAPOL
|
||||
* handshakes during 802.1X authentication. In order to use the offload
|
||||
* the %NL80211_CMD_CONNECT should have %NL80211_ATTR_WANT_1X_4WAY_HS
|
||||
* attribute flag. Drivers supporting this offload may reject the
|
||||
* %NL80211_CMD_CONNECT when the attribute flag is not present.
|
||||
* handshakes during 802.1X authentication in station mode. In order to
|
||||
* use the offload the %NL80211_CMD_CONNECT should have
|
||||
* %NL80211_ATTR_WANT_1X_4WAY_HS attribute flag. Drivers supporting this
|
||||
* offload may reject the %NL80211_CMD_CONNECT when the attribute flag is
|
||||
* not present.
|
||||
*
|
||||
* By setting @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK flag drivers
|
||||
* can indicate they support offloading EAPOL handshakes for WPA/WPA2
|
||||
* preshared key authentication in AP mode. In %NL80211_CMD_START_AP
|
||||
* the preshared key should be specified using %NL80211_ATTR_PMK. Drivers
|
||||
* supporting this offload may reject the %NL80211_CMD_START_AP when no
|
||||
* preshared key material is provided, for example when that driver does
|
||||
* not support setting the temporal keys through %NL80211_CMD_NEW_KEY.
|
||||
*
|
||||
* For 802.1X the PMK or PMK-R0 are set by providing %NL80211_ATTR_PMK
|
||||
* using %NL80211_CMD_SET_PMK. For offloaded FT support also
|
||||
@@ -363,7 +372,7 @@
|
||||
* @NL80211_CMD_SET_STATION: Set station attributes for station identified by
|
||||
* %NL80211_ATTR_MAC on the interface identified by %NL80211_ATTR_IFINDEX.
|
||||
* @NL80211_CMD_NEW_STATION: Add a station with given attributes to the
|
||||
* the interface identified by %NL80211_ATTR_IFINDEX.
|
||||
* interface identified by %NL80211_ATTR_IFINDEX.
|
||||
* @NL80211_CMD_DEL_STATION: Remove a station identified by %NL80211_ATTR_MAC
|
||||
* or, if no MAC address given, all stations, on the interface identified
|
||||
* by %NL80211_ATTR_IFINDEX. %NL80211_ATTR_MGMT_SUBTYPE and
|
||||
@@ -383,7 +392,7 @@
|
||||
* @NL80211_CMD_DEL_MPATH: Delete a mesh path to the destination given by
|
||||
* %NL80211_ATTR_MAC.
|
||||
* @NL80211_CMD_NEW_PATH: Add a mesh path with given attributes to the
|
||||
* the interface identified by %NL80211_ATTR_IFINDEX.
|
||||
* interface identified by %NL80211_ATTR_IFINDEX.
|
||||
* @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC
|
||||
* or, if no MAC address given, all mesh paths, on the interface identified
|
||||
* by %NL80211_ATTR_IFINDEX.
|
||||
@@ -934,7 +943,7 @@
|
||||
* @NL80211_CMD_SET_COALESCE: Configure coalesce rules or clear existing rules.
|
||||
*
|
||||
* @NL80211_CMD_CHANNEL_SWITCH: Perform a channel switch by announcing the
|
||||
* the new channel information (Channel Switch Announcement - CSA)
|
||||
* new channel information (Channel Switch Announcement - CSA)
|
||||
* in the beacon for some time (as defined in the
|
||||
* %NL80211_ATTR_CH_SWITCH_COUNT parameter) and then change to the
|
||||
* new channel. Userspace provides the new channel information (using
|
||||
@@ -1113,7 +1122,7 @@
|
||||
* randomization may be enabled and configured by specifying the
|
||||
* %NL80211_ATTR_MAC and %NL80211_ATTR_MAC_MASK attributes.
|
||||
* If a timeout is requested, use the %NL80211_ATTR_TIMEOUT attribute.
|
||||
* A u64 cookie for further %NL80211_ATTR_COOKIE use is is returned in
|
||||
* A u64 cookie for further %NL80211_ATTR_COOKIE use is returned in
|
||||
* the netlink extended ack message.
|
||||
*
|
||||
* To cancel a measurement, close the socket that requested it.
|
||||
@@ -1511,7 +1520,7 @@ enum nl80211_commands {
|
||||
* rates as defined by IEEE 802.11 7.3.2.2 but without the length
|
||||
* restriction (at most %NL80211_MAX_SUPP_RATES).
|
||||
* @NL80211_ATTR_STA_VLAN: interface index of VLAN interface to move station
|
||||
* to, or the AP interface the station was originally added to to.
|
||||
* to, or the AP interface the station was originally added to.
|
||||
* @NL80211_ATTR_STA_INFO: information about a station, part of station info
|
||||
* given for %NL80211_CMD_GET_STATION, nested attribute containing
|
||||
* info as possible, see &enum nl80211_sta_info.
|
||||
@@ -2084,7 +2093,7 @@ enum nl80211_commands {
|
||||
* @NL80211_ATTR_STA_SUPPORTED_CHANNELS: array of supported channels.
|
||||
*
|
||||
* @NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES: array of supported
|
||||
* supported operating classes.
|
||||
* operating classes.
|
||||
*
|
||||
* @NL80211_ATTR_HANDLE_DFS: A flag indicating whether user space
|
||||
* controls DFS operation in IBSS mode. If the flag is included in
|
||||
@@ -2362,10 +2371,11 @@ enum nl80211_commands {
|
||||
*
|
||||
* @NL80211_ATTR_PMK: attribute for passing PMK key material. Used with
|
||||
* %NL80211_CMD_SET_PMKSA for the PMKSA identified by %NL80211_ATTR_PMKID.
|
||||
* For %NL80211_CMD_CONNECT it is used to provide PSK for offloading 4-way
|
||||
* handshake for WPA/WPA2-PSK networks. For 802.1X authentication it is
|
||||
* used with %NL80211_CMD_SET_PMK. For offloaded FT support this attribute
|
||||
* specifies the PMK-R0 if NL80211_ATTR_PMKR0_NAME is included as well.
|
||||
* For %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP it is used to provide
|
||||
* PSK for offloading 4-way handshake for WPA/WPA2-PSK networks. For 802.1X
|
||||
* authentication it is used with %NL80211_CMD_SET_PMK. For offloaded FT
|
||||
* support this attribute specifies the PMK-R0 if NL80211_ATTR_PMKR0_NAME
|
||||
* is included as well.
|
||||
*
|
||||
* @NL80211_ATTR_SCHED_SCAN_MULTI: flag attribute which user-space shall use to
|
||||
* indicate that it supports multiple active scheduled scan requests.
|
||||
@@ -2395,7 +2405,7 @@ enum nl80211_commands {
|
||||
* nl80211_txq_stats)
|
||||
* @NL80211_ATTR_TXQ_LIMIT: Total packet limit for the TXQ queues for this phy.
|
||||
* The smaller of this and the memory limit is enforced.
|
||||
* @NL80211_ATTR_TXQ_MEMORY_LIMIT: Total memory memory limit (in bytes) for the
|
||||
* @NL80211_ATTR_TXQ_MEMORY_LIMIT: Total memory limit (in bytes) for the
|
||||
* TXQ queues for this phy. The smaller of this and the packet limit is
|
||||
* enforced.
|
||||
* @NL80211_ATTR_TXQ_QUANTUM: TXQ scheduler quantum (bytes). Number of bytes
|
||||
@@ -3370,6 +3380,8 @@ enum nl80211_sta_bss_param {
|
||||
* @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station
|
||||
* @NL80211_STA_INFO_ASSOC_AT_BOOTTIME: Timestamp (CLOCK_BOOTTIME, nanoseconds)
|
||||
* of STA's association
|
||||
* @NL80211_STA_INFO_CONNECTED_TO_AS: set to true if STA has a path to a
|
||||
* authentication server (u8, 0 or 1)
|
||||
* @__NL80211_STA_INFO_AFTER_LAST: internal
|
||||
* @NL80211_STA_INFO_MAX: highest possible station info attribute
|
||||
*/
|
||||
@@ -3417,6 +3429,7 @@ enum nl80211_sta_info {
|
||||
NL80211_STA_INFO_AIRTIME_WEIGHT,
|
||||
NL80211_STA_INFO_AIRTIME_LINK_METRIC,
|
||||
NL80211_STA_INFO_ASSOC_AT_BOOTTIME,
|
||||
NL80211_STA_INFO_CONNECTED_TO_AS,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_STA_INFO_AFTER_LAST,
|
||||
@@ -4236,6 +4249,16 @@ enum nl80211_mesh_power_mode {
|
||||
* field. If left unset then the mesh formation field will only
|
||||
* advertise such if there is an active root mesh path.
|
||||
*
|
||||
* @NL80211_MESHCONF_NOLEARN: Try to avoid multi-hop path discovery (e.g.
|
||||
* PREQ/PREP for HWMP) if the destination is a direct neighbor. Note that
|
||||
* this might not be the optimal decision as a multi-hop route might be
|
||||
* better. So if using this setting you will likely also want to disable
|
||||
* dot11MeshForwarding and use another mesh routing protocol on top.
|
||||
*
|
||||
* @NL80211_MESHCONF_CONNECTED_TO_AS: If set to true then this mesh STA
|
||||
* will advertise that it is connected to a authentication server
|
||||
* in the mesh formation field.
|
||||
*
|
||||
* @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_meshconf_params {
|
||||
@@ -4269,6 +4292,8 @@ enum nl80211_meshconf_params {
|
||||
NL80211_MESHCONF_AWAKE_WINDOW,
|
||||
NL80211_MESHCONF_PLINK_TIMEOUT,
|
||||
NL80211_MESHCONF_CONNECTED_TO_GATE,
|
||||
NL80211_MESHCONF_NOLEARN,
|
||||
NL80211_MESHCONF_CONNECTED_TO_AS,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_MESHCONF_ATTR_AFTER_LAST,
|
||||
@@ -4437,6 +4462,11 @@ enum nl80211_key_mode {
|
||||
* attribute must be provided as well
|
||||
* @NL80211_CHAN_WIDTH_5: 5 MHz OFDM channel
|
||||
* @NL80211_CHAN_WIDTH_10: 10 MHz OFDM channel
|
||||
* @NL80211_CHAN_WIDTH_1: 1 MHz OFDM channel
|
||||
* @NL80211_CHAN_WIDTH_2: 2 MHz OFDM channel
|
||||
* @NL80211_CHAN_WIDTH_4: 4 MHz OFDM channel
|
||||
* @NL80211_CHAN_WIDTH_8: 8 MHz OFDM channel
|
||||
* @NL80211_CHAN_WIDTH_16: 16 MHz OFDM channel
|
||||
*/
|
||||
enum nl80211_chan_width {
|
||||
NL80211_CHAN_WIDTH_20_NOHT,
|
||||
@@ -4447,6 +4477,11 @@ enum nl80211_chan_width {
|
||||
NL80211_CHAN_WIDTH_160,
|
||||
NL80211_CHAN_WIDTH_5,
|
||||
NL80211_CHAN_WIDTH_10,
|
||||
NL80211_CHAN_WIDTH_1,
|
||||
NL80211_CHAN_WIDTH_2,
|
||||
NL80211_CHAN_WIDTH_4,
|
||||
NL80211_CHAN_WIDTH_8,
|
||||
NL80211_CHAN_WIDTH_16,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -4457,11 +4492,15 @@ enum nl80211_chan_width {
|
||||
* @NL80211_BSS_CHAN_WIDTH_20: control channel is 20 MHz wide or compatible
|
||||
* @NL80211_BSS_CHAN_WIDTH_10: control channel is 10 MHz wide
|
||||
* @NL80211_BSS_CHAN_WIDTH_5: control channel is 5 MHz wide
|
||||
* @NL80211_BSS_CHAN_WIDTH_1: control channel is 1 MHz wide
|
||||
* @NL80211_BSS_CHAN_WIDTH_2: control channel is 2 MHz wide
|
||||
*/
|
||||
enum nl80211_bss_scan_width {
|
||||
NL80211_BSS_CHAN_WIDTH_20,
|
||||
NL80211_BSS_CHAN_WIDTH_10,
|
||||
NL80211_BSS_CHAN_WIDTH_5,
|
||||
NL80211_BSS_CHAN_WIDTH_1,
|
||||
NL80211_BSS_CHAN_WIDTH_2,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -4740,6 +4779,7 @@ enum nl80211_txrate_gi {
|
||||
* @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
|
||||
* @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)
|
||||
* @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz)
|
||||
* @NL80211_BAND_S1GHZ: around 900MHz, supported by S1G PHYs
|
||||
* @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
|
||||
* since newer kernel versions may support more bands
|
||||
*/
|
||||
@@ -4748,6 +4788,7 @@ enum nl80211_band {
|
||||
NL80211_BAND_5GHZ,
|
||||
NL80211_BAND_60GHZ,
|
||||
NL80211_BAND_6GHZ,
|
||||
NL80211_BAND_S1GHZ,
|
||||
|
||||
NUM_NL80211_BANDS,
|
||||
};
|
||||
@@ -5636,7 +5677,7 @@ enum nl80211_feature_flags {
|
||||
* enum nl80211_ext_feature_index - bit index of extended features.
|
||||
* @NL80211_EXT_FEATURE_VHT_IBSS: This driver supports IBSS with VHT datarates.
|
||||
* @NL80211_EXT_FEATURE_RRM: This driver supports RRM. When featured, user can
|
||||
* can request to use RRM (see %NL80211_ATTR_USE_RRM) with
|
||||
* request to use RRM (see %NL80211_ATTR_USE_RRM) with
|
||||
* %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests, which will set
|
||||
* the ASSOC_REQ_USE_RRM flag in the association request even if
|
||||
* NL80211_FEATURE_QUIET is not advertized.
|
||||
@@ -5773,6 +5814,13 @@ enum nl80211_feature_flags {
|
||||
* @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS: The driver
|
||||
* can report tx status for control port over nl80211 tx operations.
|
||||
*
|
||||
* @NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION: Driver supports Operating
|
||||
* Channel Validation (OCV) when using driver's SME for RSNA handshakes.
|
||||
*
|
||||
* @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK: Device wants to do 4-way
|
||||
* handshake with PSK in AP mode (PSK is passed as part of the start AP
|
||||
* command).
|
||||
*
|
||||
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
||||
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
||||
*/
|
||||
@@ -5828,6 +5876,8 @@ enum nl80211_ext_feature_index {
|
||||
NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT,
|
||||
NL80211_EXT_FEATURE_SCAN_FREQ_KHZ,
|
||||
NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS,
|
||||
NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION,
|
||||
NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK,
|
||||
|
||||
/* add new features before the definition below */
|
||||
NUM_NL80211_EXT_FEATURES,
|
||||
@@ -6045,7 +6095,7 @@ enum nl80211_dfs_state {
|
||||
};
|
||||
|
||||
/**
|
||||
* enum enum nl80211_protocol_features - nl80211 protocol features
|
||||
* enum nl80211_protocol_features - nl80211 protocol features
|
||||
* @NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP: nl80211 supports splitting
|
||||
* wiphy dumps (if requested by the application with the attribute
|
||||
* %NL80211_ATTR_SPLIT_WIPHY_DUMP. Also supported is filtering the
|
||||
|
@@ -86,6 +86,7 @@ enum ovs_datapath_attr {
|
||||
OVS_DP_ATTR_MEGAFLOW_STATS, /* struct ovs_dp_megaflow_stats */
|
||||
OVS_DP_ATTR_USER_FEATURES, /* OVS_DP_F_* */
|
||||
OVS_DP_ATTR_PAD,
|
||||
OVS_DP_ATTR_MASKS_CACHE_SIZE,
|
||||
__OVS_DP_ATTR_MAX
|
||||
};
|
||||
|
||||
@@ -102,8 +103,8 @@ struct ovs_dp_megaflow_stats {
|
||||
__u64 n_mask_hit; /* Number of masks used for flow lookups. */
|
||||
__u32 n_masks; /* Number of masks for the datapath. */
|
||||
__u32 pad0; /* Pad for future expension. */
|
||||
__u64 n_cache_hit; /* Number of cache matches for flow lookups. */
|
||||
__u64 pad1; /* Pad for future expension. */
|
||||
__u64 pad2; /* Pad for future expension. */
|
||||
};
|
||||
|
||||
struct ovs_vport_stats {
|
||||
|
@@ -383,7 +383,8 @@ struct perf_event_attr {
|
||||
bpf_event : 1, /* include bpf events */
|
||||
aux_output : 1, /* generate AUX records instead of events */
|
||||
cgroup : 1, /* include cgroup events */
|
||||
__reserved_1 : 31;
|
||||
text_poke : 1, /* include text poke events */
|
||||
__reserved_1 : 30;
|
||||
|
||||
union {
|
||||
__u32 wakeup_events; /* wakeup every n events */
|
||||
@@ -532,9 +533,10 @@ struct perf_event_mmap_page {
|
||||
cap_bit0_is_deprecated : 1, /* Always 1, signals that bit 0 is zero */
|
||||
|
||||
cap_user_rdpmc : 1, /* The RDPMC instruction can be used to read counts */
|
||||
cap_user_time : 1, /* The time_* fields are used */
|
||||
cap_user_time : 1, /* The time_{shift,mult,offset} fields are used */
|
||||
cap_user_time_zero : 1, /* The time_zero field is used */
|
||||
cap_____res : 59;
|
||||
cap_user_time_short : 1, /* the time_{cycle,mask} fields are used */
|
||||
cap_____res : 58;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -593,13 +595,29 @@ struct perf_event_mmap_page {
|
||||
* ((rem * time_mult) >> time_shift);
|
||||
*/
|
||||
__u64 time_zero;
|
||||
|
||||
__u32 size; /* Header size up to __reserved[] fields. */
|
||||
__u32 __reserved_1;
|
||||
|
||||
/*
|
||||
* If cap_usr_time_short, the hardware clock is less than 64bit wide
|
||||
* and we must compute the 'cyc' value, as used by cap_usr_time, as:
|
||||
*
|
||||
* cyc = time_cycles + ((cyc - time_cycles) & time_mask)
|
||||
*
|
||||
* NOTE: this form is explicitly chosen such that cap_usr_time_short
|
||||
* is a correction on top of cap_usr_time, and code that doesn't
|
||||
* know about cap_usr_time_short still works under the assumption
|
||||
* the counter doesn't wrap.
|
||||
*/
|
||||
__u64 time_cycles;
|
||||
__u64 time_mask;
|
||||
|
||||
/*
|
||||
* Hole for extension of the self monitor capabilities
|
||||
*/
|
||||
|
||||
__u8 __reserved[118*8+4]; /* align to 1k. */
|
||||
__u8 __reserved[116*8]; /* align to 1k. */
|
||||
|
||||
/*
|
||||
* Control data for the mmap() data buffer.
|
||||
@@ -1024,12 +1042,35 @@ enum perf_event_type {
|
||||
*/
|
||||
PERF_RECORD_CGROUP = 19,
|
||||
|
||||
/*
|
||||
* Records changes to kernel text i.e. self-modified code. 'old_len' is
|
||||
* the number of old bytes, 'new_len' is the number of new bytes. Either
|
||||
* 'old_len' or 'new_len' may be zero to indicate, for example, the
|
||||
* addition or removal of a trampoline. 'bytes' contains the old bytes
|
||||
* followed immediately by the new bytes.
|
||||
*
|
||||
* struct {
|
||||
* struct perf_event_header header;
|
||||
* u64 addr;
|
||||
* u16 old_len;
|
||||
* u16 new_len;
|
||||
* u8 bytes[];
|
||||
* struct sample_id sample_id;
|
||||
* };
|
||||
*/
|
||||
PERF_RECORD_TEXT_POKE = 20,
|
||||
|
||||
PERF_RECORD_MAX, /* non-ABI */
|
||||
};
|
||||
|
||||
enum perf_record_ksymbol_type {
|
||||
PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0,
|
||||
PERF_RECORD_KSYMBOL_TYPE_BPF = 1,
|
||||
/*
|
||||
* Out of line code such as kprobe-replaced instructions or optimized
|
||||
* kprobes or ftrace trampolines.
|
||||
*/
|
||||
PERF_RECORD_KSYMBOL_TYPE_OOL = 2,
|
||||
PERF_RECORD_KSYMBOL_TYPE_MAX /* non-ABI */
|
||||
};
|
||||
|
||||
|
@@ -578,6 +578,9 @@ enum {
|
||||
|
||||
TCA_FLOWER_KEY_MPLS_OPTS,
|
||||
|
||||
TCA_FLOWER_KEY_HASH, /* u32 */
|
||||
TCA_FLOWER_KEY_HASH_MASK, /* u32 */
|
||||
|
||||
__TCA_FLOWER_MAX,
|
||||
};
|
||||
|
||||
|
@@ -257,6 +257,8 @@ enum {
|
||||
TCA_RED_STAB,
|
||||
TCA_RED_MAX_P,
|
||||
TCA_RED_FLAGS, /* bitfield32 */
|
||||
TCA_RED_EARLY_DROP_BLOCK, /* u32 */
|
||||
TCA_RED_MARK_BLOCK, /* u32 */
|
||||
__TCA_RED_MAX,
|
||||
};
|
||||
|
||||
|
@@ -53,12 +53,16 @@
|
||||
/*
|
||||
* Bits of the ptp_perout_request.flags field:
|
||||
*/
|
||||
#define PTP_PEROUT_ONE_SHOT (1<<0)
|
||||
#define PTP_PEROUT_ONE_SHOT (1<<0)
|
||||
#define PTP_PEROUT_DUTY_CYCLE (1<<1)
|
||||
#define PTP_PEROUT_PHASE (1<<2)
|
||||
|
||||
/*
|
||||
* flag fields valid for the new PTP_PEROUT_REQUEST2 ioctl.
|
||||
*/
|
||||
#define PTP_PEROUT_VALID_FLAGS (PTP_PEROUT_ONE_SHOT)
|
||||
#define PTP_PEROUT_VALID_FLAGS (PTP_PEROUT_ONE_SHOT | \
|
||||
PTP_PEROUT_DUTY_CYCLE | \
|
||||
PTP_PEROUT_PHASE)
|
||||
|
||||
/*
|
||||
* No flags are valid for the original PTP_PEROUT_REQUEST ioctl
|
||||
@@ -101,11 +105,33 @@ struct ptp_extts_request {
|
||||
};
|
||||
|
||||
struct ptp_perout_request {
|
||||
struct ptp_clock_time start; /* Absolute start time. */
|
||||
union {
|
||||
/*
|
||||
* Absolute start time.
|
||||
* Valid only if (flags & PTP_PEROUT_PHASE) is unset.
|
||||
*/
|
||||
struct ptp_clock_time start;
|
||||
/*
|
||||
* Phase offset. The signal should start toggling at an
|
||||
* unspecified integer multiple of the period, plus this value.
|
||||
* The start time should be "as soon as possible".
|
||||
* Valid only if (flags & PTP_PEROUT_PHASE) is set.
|
||||
*/
|
||||
struct ptp_clock_time phase;
|
||||
};
|
||||
struct ptp_clock_time period; /* Desired period, zero means disable. */
|
||||
unsigned int index; /* Which channel to configure. */
|
||||
unsigned int flags;
|
||||
unsigned int rsv[4]; /* Reserved for future use. */
|
||||
union {
|
||||
/*
|
||||
* The "on" time of the signal.
|
||||
* Must be lower than the period.
|
||||
* Valid only if (flags & PTP_PEROUT_DUTY_CYCLE) is set.
|
||||
*/
|
||||
struct ptp_clock_time on;
|
||||
/* Reserved for future use. */
|
||||
unsigned int rsv[4];
|
||||
};
|
||||
};
|
||||
|
||||
#define PTP_MAX_SAMPLES 25 /* Maximum allowed offset measurement samples. */
|
||||
|
@@ -123,7 +123,7 @@ typedef struct mdp_device_descriptor_s {
|
||||
|
||||
/*
|
||||
* Notes:
|
||||
* - if an array is being reshaped (restriped) in order to change the
|
||||
* - if an array is being reshaped (restriped) in order to change
|
||||
* the number of active devices in the array, 'raid_disks' will be
|
||||
* the larger of the old and new numbers. 'delta_disks' will
|
||||
* be the "new - old". So if +ve, raid_disks is the new value, and
|
||||
|
@@ -14,6 +14,4 @@ struct raw_config_request
|
||||
__u64 block_minor;
|
||||
};
|
||||
|
||||
#define MAX_RAW_MINORS CONFIG_MAX_RAW_DEVS
|
||||
|
||||
#endif /* __LINUX_RAW_H */
|
||||
|
37
include/uapi/linux/remoteproc_cdev.h
Normal file
37
include/uapi/linux/remoteproc_cdev.h
Normal file
@@ -0,0 +1,37 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
|
||||
/*
|
||||
* IOCTLs for Remoteproc's character device interface.
|
||||
*
|
||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_REMOTEPROC_CDEV_H_
|
||||
#define _UAPI_REMOTEPROC_CDEV_H_
|
||||
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#define RPROC_MAGIC 0xB7
|
||||
|
||||
/*
|
||||
* The RPROC_SET_SHUTDOWN_ON_RELEASE ioctl allows to enable/disable the shutdown of a remote
|
||||
* processor automatically when the controlling userpsace closes the char device interface.
|
||||
*
|
||||
* input parameter: integer
|
||||
* 0 : disable automatic shutdown
|
||||
* other : enable automatic shutdown
|
||||
*/
|
||||
#define RPROC_SET_SHUTDOWN_ON_RELEASE _IOW(RPROC_MAGIC, 1, __s32)
|
||||
|
||||
/*
|
||||
* The RPROC_GET_SHUTDOWN_ON_RELEASE ioctl gets information about whether the automatic shutdown of
|
||||
* a remote processor is enabled or disabled when the controlling userspace closes the char device
|
||||
* interface.
|
||||
*
|
||||
* output parameter: integer
|
||||
* 0 : automatic shutdown disable
|
||||
* other : automatic shutdown enable
|
||||
*/
|
||||
#define RPROC_GET_SHUTDOWN_ON_RELEASE _IOR(RPROC_MAGIC, 2, __s32)
|
||||
|
||||
#endif
|
@@ -257,12 +257,12 @@ enum {
|
||||
|
||||
/* rtm_protocol */
|
||||
|
||||
#define RTPROT_UNSPEC 0
|
||||
#define RTPROT_REDIRECT 1 /* Route installed by ICMP redirects;
|
||||
not used by current IPv4 */
|
||||
#define RTPROT_KERNEL 2 /* Route installed by kernel */
|
||||
#define RTPROT_BOOT 3 /* Route installed during boot */
|
||||
#define RTPROT_STATIC 4 /* Route installed by administrator */
|
||||
#define RTPROT_UNSPEC 0
|
||||
#define RTPROT_REDIRECT 1 /* Route installed by ICMP redirects;
|
||||
not used by current IPv4 */
|
||||
#define RTPROT_KERNEL 2 /* Route installed by kernel */
|
||||
#define RTPROT_BOOT 3 /* Route installed during boot */
|
||||
#define RTPROT_STATIC 4 /* Route installed by administrator */
|
||||
|
||||
/* Values of protocol >= RTPROT_STATIC are not interpreted by kernel;
|
||||
they are just passed from user and back as is.
|
||||
@@ -271,22 +271,23 @@ enum {
|
||||
avoid conflicts.
|
||||
*/
|
||||
|
||||
#define RTPROT_GATED 8 /* Apparently, GateD */
|
||||
#define RTPROT_RA 9 /* RDISC/ND router advertisements */
|
||||
#define RTPROT_MRT 10 /* Merit MRT */
|
||||
#define RTPROT_ZEBRA 11 /* Zebra */
|
||||
#define RTPROT_BIRD 12 /* BIRD */
|
||||
#define RTPROT_DNROUTED 13 /* DECnet routing daemon */
|
||||
#define RTPROT_XORP 14 /* XORP */
|
||||
#define RTPROT_NTK 15 /* Netsukuku */
|
||||
#define RTPROT_DHCP 16 /* DHCP client */
|
||||
#define RTPROT_MROUTED 17 /* Multicast daemon */
|
||||
#define RTPROT_BABEL 42 /* Babel daemon */
|
||||
#define RTPROT_BGP 186 /* BGP Routes */
|
||||
#define RTPROT_ISIS 187 /* ISIS Routes */
|
||||
#define RTPROT_OSPF 188 /* OSPF Routes */
|
||||
#define RTPROT_RIP 189 /* RIP Routes */
|
||||
#define RTPROT_EIGRP 192 /* EIGRP Routes */
|
||||
#define RTPROT_GATED 8 /* Apparently, GateD */
|
||||
#define RTPROT_RA 9 /* RDISC/ND router advertisements */
|
||||
#define RTPROT_MRT 10 /* Merit MRT */
|
||||
#define RTPROT_ZEBRA 11 /* Zebra */
|
||||
#define RTPROT_BIRD 12 /* BIRD */
|
||||
#define RTPROT_DNROUTED 13 /* DECnet routing daemon */
|
||||
#define RTPROT_XORP 14 /* XORP */
|
||||
#define RTPROT_NTK 15 /* Netsukuku */
|
||||
#define RTPROT_DHCP 16 /* DHCP client */
|
||||
#define RTPROT_MROUTED 17 /* Multicast daemon */
|
||||
#define RTPROT_KEEPALIVED 18 /* Keepalived daemon */
|
||||
#define RTPROT_BABEL 42 /* Babel daemon */
|
||||
#define RTPROT_BGP 186 /* BGP Routes */
|
||||
#define RTPROT_ISIS 187 /* ISIS Routes */
|
||||
#define RTPROT_OSPF 188 /* OSPF Routes */
|
||||
#define RTPROT_RIP 189 /* RIP Routes */
|
||||
#define RTPROT_EIGRP 192 /* EIGRP Routes */
|
||||
|
||||
/* rtm_scope
|
||||
|
||||
@@ -777,6 +778,7 @@ enum {
|
||||
#define RTEXT_FILTER_BRVLAN (1 << 1)
|
||||
#define RTEXT_FILTER_BRVLAN_COMPRESSED (1 << 2)
|
||||
#define RTEXT_FILTER_SKIP_STATS (1 << 3)
|
||||
#define RTEXT_FILTER_MRP (1 << 4)
|
||||
|
||||
/* End of information exported to user level */
|
||||
|
||||
|
@@ -113,6 +113,25 @@ struct seccomp_notif_resp {
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
/* valid flags for seccomp_notif_addfd */
|
||||
#define SECCOMP_ADDFD_FLAG_SETFD (1UL << 0) /* Specify remote fd */
|
||||
|
||||
/**
|
||||
* struct seccomp_notif_addfd
|
||||
* @id: The ID of the seccomp notification
|
||||
* @flags: SECCOMP_ADDFD_FLAG_*
|
||||
* @srcfd: The local fd number
|
||||
* @newfd: Optional remote FD number if SETFD option is set, otherwise 0.
|
||||
* @newfd_flags: The O_* flags the remote FD should have applied
|
||||
*/
|
||||
struct seccomp_notif_addfd {
|
||||
__u64 id;
|
||||
__u32 flags;
|
||||
__u32 srcfd;
|
||||
__u32 newfd;
|
||||
__u32 newfd_flags;
|
||||
};
|
||||
|
||||
#define SECCOMP_IOC_MAGIC '!'
|
||||
#define SECCOMP_IO(nr) _IO(SECCOMP_IOC_MAGIC, nr)
|
||||
#define SECCOMP_IOR(nr, type) _IOR(SECCOMP_IOC_MAGIC, nr, type)
|
||||
@@ -123,5 +142,9 @@ struct seccomp_notif_resp {
|
||||
#define SECCOMP_IOCTL_NOTIF_RECV SECCOMP_IOWR(0, struct seccomp_notif)
|
||||
#define SECCOMP_IOCTL_NOTIF_SEND SECCOMP_IOWR(1, \
|
||||
struct seccomp_notif_resp)
|
||||
#define SECCOMP_IOCTL_NOTIF_ID_VALID SECCOMP_IOR(2, __u64)
|
||||
#define SECCOMP_IOCTL_NOTIF_ID_VALID SECCOMP_IOW(2, __u64)
|
||||
/* On success, the return value is the remote process's added fd number */
|
||||
#define SECCOMP_IOCTL_NOTIF_ADDFD SECCOMP_IOW(3, \
|
||||
struct seccomp_notif_addfd)
|
||||
|
||||
#endif /* _UAPI_LINUX_SECCOMP_H */
|
||||
|
@@ -37,25 +37,4 @@ enum {
|
||||
SEG6_IPTUN_MODE_L2ENCAP,
|
||||
};
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
static inline size_t seg6_lwt_headroom(struct seg6_iptunnel_encap *tuninfo)
|
||||
{
|
||||
int head = 0;
|
||||
|
||||
switch (tuninfo->mode) {
|
||||
case SEG6_IPTUN_MODE_INLINE:
|
||||
break;
|
||||
case SEG6_IPTUN_MODE_ENCAP:
|
||||
head = sizeof(struct ipv6hdr);
|
||||
break;
|
||||
case SEG6_IPTUN_MODE_L2ENCAP:
|
||||
return 0;
|
||||
}
|
||||
|
||||
return ((tuninfo->srh->hdrlen + 1) << 3) + head;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@@ -26,20 +26,6 @@
|
||||
/*
|
||||
* The type definitions. These are from Ted Ts'o's serial.h
|
||||
*/
|
||||
#define PORT_UNKNOWN 0
|
||||
#define PORT_8250 1
|
||||
#define PORT_16450 2
|
||||
#define PORT_16550 3
|
||||
#define PORT_16550A 4
|
||||
#define PORT_CIRRUS 5
|
||||
#define PORT_16650 6
|
||||
#define PORT_16650V2 7
|
||||
#define PORT_16750 8
|
||||
#define PORT_STARTECH 9
|
||||
#define PORT_16C950 10
|
||||
#define PORT_16654 11
|
||||
#define PORT_16850 12
|
||||
#define PORT_RSA 13
|
||||
#define PORT_NS16550A 14
|
||||
#define PORT_XSCALE 15
|
||||
#define PORT_RM9000 16 /* PMC-Sierra RM9xxx internal UART */
|
||||
|
@@ -287,6 +287,7 @@ enum
|
||||
LINUX_MIB_TCPFASTOPENPASSIVEALTKEY, /* TCPFastOpenPassiveAltKey */
|
||||
LINUX_MIB_TCPTIMEOUTREHASH, /* TCPTimeoutRehash */
|
||||
LINUX_MIB_TCPDUPLICATEDATAREHASH, /* TCPDuplicateDataRehash */
|
||||
LINUX_MIB_TCPDSACKRECVSEGS, /* TCPDSACKRecvSegs */
|
||||
__LINUX_MIB_MAX
|
||||
};
|
||||
|
||||
|
@@ -45,6 +45,7 @@
|
||||
#define ALIGN_SIZE 64 /* Should be enough for most CPUs */
|
||||
#define TCMU_MAILBOX_FLAG_CAP_OOOC (1 << 0) /* Out-of-order completions */
|
||||
#define TCMU_MAILBOX_FLAG_CAP_READ_LEN (1 << 1) /* Read data length */
|
||||
#define TCMU_MAILBOX_FLAG_CAP_TMR (1 << 2) /* TMR notifications */
|
||||
|
||||
struct tcmu_mailbox {
|
||||
__u16 version;
|
||||
@@ -62,6 +63,7 @@ struct tcmu_mailbox {
|
||||
enum tcmu_opcode {
|
||||
TCMU_OP_PAD = 0,
|
||||
TCMU_OP_CMD,
|
||||
TCMU_OP_TMR,
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -128,6 +130,29 @@ struct tcmu_cmd_entry {
|
||||
|
||||
} __packed;
|
||||
|
||||
struct tcmu_tmr_entry {
|
||||
struct tcmu_cmd_entry_hdr hdr;
|
||||
|
||||
#define TCMU_TMR_UNKNOWN 0
|
||||
#define TCMU_TMR_ABORT_TASK 1
|
||||
#define TCMU_TMR_ABORT_TASK_SET 2
|
||||
#define TCMU_TMR_CLEAR_ACA 3
|
||||
#define TCMU_TMR_CLEAR_TASK_SET 4
|
||||
#define TCMU_TMR_LUN_RESET 5
|
||||
#define TCMU_TMR_TARGET_WARM_RESET 6
|
||||
#define TCMU_TMR_TARGET_COLD_RESET 7
|
||||
/* Pseudo reset due to received PR OUT */
|
||||
#define TCMU_TMR_LUN_RESET_PRO 128
|
||||
__u8 tmr_type;
|
||||
|
||||
__u8 __pad1;
|
||||
__u16 __pad2;
|
||||
__u32 cmd_cnt;
|
||||
__u64 __pad3;
|
||||
__u64 __pad4;
|
||||
__u16 cmd_ids[0];
|
||||
} __packed;
|
||||
|
||||
#define TCMU_OP_ALIGN_SIZE sizeof(__u64)
|
||||
|
||||
enum tcmu_genl_cmd {
|
||||
|
@@ -313,6 +313,7 @@ enum {
|
||||
TCP_NLA_SRTT, /* smoothed RTT in usecs */
|
||||
TCP_NLA_TIMEOUT_REHASH, /* Timeout-triggered rehash attempts */
|
||||
TCP_NLA_BYTES_NOTSENT, /* Bytes in write queue not yet sent */
|
||||
TCP_NLA_EDT, /* Earliest departure time (CLOCK_MONOTONIC) */
|
||||
};
|
||||
|
||||
/* for TCP_MD5SIG socket option */
|
||||
|
@@ -4,31 +4,86 @@
|
||||
|
||||
#define THERMAL_NAME_LENGTH 20
|
||||
|
||||
/* Adding event notification support elements */
|
||||
#define THERMAL_GENL_FAMILY_NAME "thermal_event"
|
||||
#define THERMAL_GENL_VERSION 0x01
|
||||
#define THERMAL_GENL_MCAST_GROUP_NAME "thermal_mc_grp"
|
||||
|
||||
/* Events supported by Thermal Netlink */
|
||||
enum events {
|
||||
THERMAL_AUX0,
|
||||
THERMAL_AUX1,
|
||||
THERMAL_CRITICAL,
|
||||
THERMAL_DEV_FAULT,
|
||||
enum thermal_device_mode {
|
||||
THERMAL_DEVICE_DISABLED = 0,
|
||||
THERMAL_DEVICE_ENABLED,
|
||||
};
|
||||
|
||||
/* attributes of thermal_genl_family */
|
||||
enum {
|
||||
enum thermal_trip_type {
|
||||
THERMAL_TRIP_ACTIVE = 0,
|
||||
THERMAL_TRIP_PASSIVE,
|
||||
THERMAL_TRIP_HOT,
|
||||
THERMAL_TRIP_CRITICAL,
|
||||
};
|
||||
|
||||
/* Adding event notification support elements */
|
||||
#define THERMAL_GENL_FAMILY_NAME "thermal"
|
||||
#define THERMAL_GENL_VERSION 0x01
|
||||
#define THERMAL_GENL_SAMPLING_GROUP_NAME "sampling"
|
||||
#define THERMAL_GENL_EVENT_GROUP_NAME "event"
|
||||
|
||||
/* Attributes of thermal_genl_family */
|
||||
enum thermal_genl_attr {
|
||||
THERMAL_GENL_ATTR_UNSPEC,
|
||||
THERMAL_GENL_ATTR_EVENT,
|
||||
THERMAL_GENL_ATTR_TZ,
|
||||
THERMAL_GENL_ATTR_TZ_ID,
|
||||
THERMAL_GENL_ATTR_TZ_TEMP,
|
||||
THERMAL_GENL_ATTR_TZ_TRIP,
|
||||
THERMAL_GENL_ATTR_TZ_TRIP_ID,
|
||||
THERMAL_GENL_ATTR_TZ_TRIP_TYPE,
|
||||
THERMAL_GENL_ATTR_TZ_TRIP_TEMP,
|
||||
THERMAL_GENL_ATTR_TZ_TRIP_HYST,
|
||||
THERMAL_GENL_ATTR_TZ_MODE,
|
||||
THERMAL_GENL_ATTR_TZ_NAME,
|
||||
THERMAL_GENL_ATTR_TZ_CDEV_WEIGHT,
|
||||
THERMAL_GENL_ATTR_TZ_GOV,
|
||||
THERMAL_GENL_ATTR_TZ_GOV_NAME,
|
||||
THERMAL_GENL_ATTR_CDEV,
|
||||
THERMAL_GENL_ATTR_CDEV_ID,
|
||||
THERMAL_GENL_ATTR_CDEV_CUR_STATE,
|
||||
THERMAL_GENL_ATTR_CDEV_MAX_STATE,
|
||||
THERMAL_GENL_ATTR_CDEV_NAME,
|
||||
THERMAL_GENL_ATTR_GOV_NAME,
|
||||
|
||||
__THERMAL_GENL_ATTR_MAX,
|
||||
};
|
||||
#define THERMAL_GENL_ATTR_MAX (__THERMAL_GENL_ATTR_MAX - 1)
|
||||
|
||||
/* commands supported by the thermal_genl_family */
|
||||
enum {
|
||||
enum thermal_genl_sampling {
|
||||
THERMAL_GENL_SAMPLING_TEMP,
|
||||
__THERMAL_GENL_SAMPLING_MAX,
|
||||
};
|
||||
#define THERMAL_GENL_SAMPLING_MAX (__THERMAL_GENL_SAMPLING_MAX - 1)
|
||||
|
||||
/* Events of thermal_genl_family */
|
||||
enum thermal_genl_event {
|
||||
THERMAL_GENL_EVENT_UNSPEC,
|
||||
THERMAL_GENL_EVENT_TZ_CREATE, /* Thermal zone creation */
|
||||
THERMAL_GENL_EVENT_TZ_DELETE, /* Thermal zone deletion */
|
||||
THERMAL_GENL_EVENT_TZ_DISABLE, /* Thermal zone disabed */
|
||||
THERMAL_GENL_EVENT_TZ_ENABLE, /* Thermal zone enabled */
|
||||
THERMAL_GENL_EVENT_TZ_TRIP_UP, /* Trip point crossed the way up */
|
||||
THERMAL_GENL_EVENT_TZ_TRIP_DOWN, /* Trip point crossed the way down */
|
||||
THERMAL_GENL_EVENT_TZ_TRIP_CHANGE, /* Trip point changed */
|
||||
THERMAL_GENL_EVENT_TZ_TRIP_ADD, /* Trip point added */
|
||||
THERMAL_GENL_EVENT_TZ_TRIP_DELETE, /* Trip point deleted */
|
||||
THERMAL_GENL_EVENT_CDEV_ADD, /* Cdev bound to the thermal zone */
|
||||
THERMAL_GENL_EVENT_CDEV_DELETE, /* Cdev unbound */
|
||||
THERMAL_GENL_EVENT_CDEV_STATE_UPDATE, /* Cdev state updated */
|
||||
THERMAL_GENL_EVENT_TZ_GOV_CHANGE, /* Governor policy changed */
|
||||
__THERMAL_GENL_EVENT_MAX,
|
||||
};
|
||||
#define THERMAL_GENL_EVENT_MAX (__THERMAL_GENL_EVENT_MAX - 1)
|
||||
|
||||
/* Commands supported by the thermal_genl_family */
|
||||
enum thermal_genl_cmd {
|
||||
THERMAL_GENL_CMD_UNSPEC,
|
||||
THERMAL_GENL_CMD_EVENT,
|
||||
THERMAL_GENL_CMD_TZ_GET_ID, /* List of thermal zones id */
|
||||
THERMAL_GENL_CMD_TZ_GET_TRIP, /* List of thermal trips */
|
||||
THERMAL_GENL_CMD_TZ_GET_TEMP, /* Get the thermal zone temperature */
|
||||
THERMAL_GENL_CMD_TZ_GET_GOV, /* Get the thermal zone governor */
|
||||
THERMAL_GENL_CMD_TZ_GET_MODE, /* Get the thermal zone mode */
|
||||
THERMAL_GENL_CMD_CDEV_GET, /* List of cdev id */
|
||||
__THERMAL_GENL_CMD_MAX,
|
||||
};
|
||||
#define THERMAL_GENL_CMD_MAX (__THERMAL_GENL_CMD_MAX - 1)
|
||||
|
@@ -7,7 +7,7 @@
|
||||
#ifndef __ASSEMBLY__
|
||||
#ifndef __KERNEL__
|
||||
#ifndef __EXPORTED_HEADERS__
|
||||
#warning "Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders"
|
||||
#warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders"
|
||||
#endif /* __EXPORTED_HEADERS__ */
|
||||
#endif
|
||||
|
||||
|
@@ -138,11 +138,11 @@
|
||||
* Test Mode Selectors
|
||||
* See USB 2.0 spec Table 9-7
|
||||
*/
|
||||
#define TEST_J 1
|
||||
#define TEST_K 2
|
||||
#define TEST_SE0_NAK 3
|
||||
#define TEST_PACKET 4
|
||||
#define TEST_FORCE_EN 5
|
||||
#define USB_TEST_J 1
|
||||
#define USB_TEST_K 2
|
||||
#define USB_TEST_SE0_NAK 3
|
||||
#define USB_TEST_PACKET 4
|
||||
#define USB_TEST_FORCE_ENABLE 5
|
||||
|
||||
/* Status Type */
|
||||
#define USB_STATUS_TYPE_STANDARD 0
|
||||
@@ -326,6 +326,10 @@ struct usb_device_descriptor {
|
||||
#define USB_CLASS_CONTENT_SEC 0x0d /* content security */
|
||||
#define USB_CLASS_VIDEO 0x0e
|
||||
#define USB_CLASS_WIRELESS_CONTROLLER 0xe0
|
||||
#define USB_CLASS_PERSONAL_HEALTHCARE 0x0f
|
||||
#define USB_CLASS_AUDIO_VIDEO 0x10
|
||||
#define USB_CLASS_BILLBOARD 0x11
|
||||
#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
|
||||
#define USB_CLASS_MISC 0xef
|
||||
#define USB_CLASS_APP_SPEC 0xfe
|
||||
#define USB_CLASS_VENDOR_SPEC 0xff
|
||||
@@ -364,6 +368,9 @@ struct usb_config_descriptor {
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/* USB String descriptors can contain at most 126 characters. */
|
||||
#define USB_MAX_STRING_LEN 126
|
||||
|
||||
/* USB_DT_STRING: String descriptor */
|
||||
struct usb_string_descriptor {
|
||||
__u8 bLength;
|
||||
@@ -1222,7 +1229,7 @@ struct usb_set_sel_req {
|
||||
* As per USB compliance update, a device that is actively drawing
|
||||
* more than 100mA from USB must report itself as bus-powered in
|
||||
* the GetStatus(DEVICE) call.
|
||||
* http://compliance.usb.org/index.asp?UpdateFile=Electrical&Format=Standard#34
|
||||
* https://compliance.usb.org/index.asp?UpdateFile=Electrical&Format=Standard#34
|
||||
*/
|
||||
#define USB_SELF_POWER_VBUS_MAX_DRAW 100
|
||||
|
||||
|
@@ -63,6 +63,7 @@ enum vmmdev_request_type {
|
||||
VMMDEVREQ_SET_GUEST_CAPABILITIES = 56,
|
||||
VMMDEVREQ_VIDEMODE_SUPPORTED2 = 57, /* since version 3.2.0 */
|
||||
VMMDEVREQ_GET_DISPLAY_CHANGE_REQEX = 80, /* since version 4.2.4 */
|
||||
VMMDEVREQ_GET_DISPLAY_CHANGE_REQ_MULTI = 81,
|
||||
VMMDEVREQ_HGCM_CONNECT = 60,
|
||||
VMMDEVREQ_HGCM_DISCONNECT = 61,
|
||||
VMMDEVREQ_HGCM_CALL32 = 62,
|
||||
@@ -92,6 +93,8 @@ enum vmmdev_request_type {
|
||||
VMMDEVREQ_WRITE_COREDUMP = 218,
|
||||
VMMDEVREQ_GUEST_HEARTBEAT = 219,
|
||||
VMMDEVREQ_HEARTBEAT_CONFIGURE = 220,
|
||||
VMMDEVREQ_NT_BUG_CHECK = 221,
|
||||
VMMDEVREQ_VIDEO_UPDATE_MONITOR_POSITIONS = 222,
|
||||
/* Ensure the enum is a 32 bit data-type */
|
||||
VMMDEVREQ_SIZEHACK = 0x7fffffff
|
||||
};
|
||||
|
@@ -257,6 +257,30 @@ VMMDEV_ASSERT_SIZE(vbg_ioctl_change_filter, 24 + 8);
|
||||
_IOWR('V', 12, struct vbg_ioctl_change_filter)
|
||||
|
||||
|
||||
/** VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES data structure. */
|
||||
struct vbg_ioctl_acquire_guest_caps {
|
||||
/** The header. */
|
||||
struct vbg_ioctl_hdr hdr;
|
||||
union {
|
||||
struct {
|
||||
/** Flags (VBGL_IOC_AGC_FLAGS_XXX). */
|
||||
__u32 flags;
|
||||
/** Capabilities to set (VMMDEV_GUEST_SUPPORTS_XXX). */
|
||||
__u32 or_mask;
|
||||
/** Capabilities to drop (VMMDEV_GUEST_SUPPORTS_XXX). */
|
||||
__u32 not_mask;
|
||||
} in;
|
||||
} u;
|
||||
};
|
||||
VMMDEV_ASSERT_SIZE(vbg_ioctl_acquire_guest_caps, 24 + 12);
|
||||
|
||||
#define VBGL_IOC_AGC_FLAGS_CONFIG_ACQUIRE_MODE 0x00000001
|
||||
#define VBGL_IOC_AGC_FLAGS_VALID_MASK 0x00000001
|
||||
|
||||
#define VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES \
|
||||
_IOWR('V', 13, struct vbg_ioctl_acquire_guest_caps)
|
||||
|
||||
|
||||
/** VBG_IOCTL_CHANGE_GUEST_CAPABILITIES data structure. */
|
||||
struct vbg_ioctl_set_guest_caps {
|
||||
/** The header. */
|
||||
|
@@ -91,6 +91,8 @@
|
||||
|
||||
/* Use message type V2 */
|
||||
#define VHOST_BACKEND_F_IOTLB_MSG_V2 0x1
|
||||
/* IOTLB can accept batching hints */
|
||||
#define VHOST_BACKEND_F_IOTLB_BATCH 0x2
|
||||
|
||||
#define VHOST_SET_BACKEND_FEATURES _IOW(VHOST_VIRTIO, 0x25, __u64)
|
||||
#define VHOST_GET_BACKEND_FEATURES _IOR(VHOST_VIRTIO, 0x26, __u64)
|
||||
|
@@ -60,6 +60,17 @@ struct vhost_iotlb_msg {
|
||||
#define VHOST_IOTLB_UPDATE 2
|
||||
#define VHOST_IOTLB_INVALIDATE 3
|
||||
#define VHOST_IOTLB_ACCESS_FAIL 4
|
||||
/*
|
||||
* VHOST_IOTLB_BATCH_BEGIN and VHOST_IOTLB_BATCH_END allow modifying
|
||||
* multiple mappings in one go: beginning with
|
||||
* VHOST_IOTLB_BATCH_BEGIN, followed by any number of
|
||||
* VHOST_IOTLB_UPDATE messages, and ending with VHOST_IOTLB_BATCH_END.
|
||||
* When one of these two values is used as the message type, the rest
|
||||
* of the fields in the message are ignored. There's no guarantee that
|
||||
* these changes take place automatically in the device.
|
||||
*/
|
||||
#define VHOST_IOTLB_BATCH_BEGIN 5
|
||||
#define VHOST_IOTLB_BATCH_END 6
|
||||
__u8 type;
|
||||
};
|
||||
|
||||
|
@@ -171,6 +171,8 @@ enum v4l2_buf_type {
|
||||
|| (type) == V4L2_BUF_TYPE_SDR_OUTPUT \
|
||||
|| (type) == V4L2_BUF_TYPE_META_OUTPUT)
|
||||
|
||||
#define V4L2_TYPE_IS_CAPTURE(type) (!V4L2_TYPE_IS_OUTPUT(type))
|
||||
|
||||
enum v4l2_tuner_type {
|
||||
V4L2_TUNER_RADIO = 1,
|
||||
V4L2_TUNER_ANALOG_TV = 2,
|
||||
@@ -189,6 +191,8 @@ enum v4l2_memory {
|
||||
V4L2_MEMORY_DMABUF = 4,
|
||||
};
|
||||
|
||||
#define V4L2_FLAG_MEMORY_NON_CONSISTENT (1 << 0)
|
||||
|
||||
/* see also http://vektor.theorem.ca/graphics/ycbcr/ */
|
||||
enum v4l2_colorspace {
|
||||
/*
|
||||
@@ -792,6 +796,7 @@ struct v4l2_fmtdesc {
|
||||
#define V4L2_FMT_FLAG_EMULATED 0x0002
|
||||
#define V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM 0x0004
|
||||
#define V4L2_FMT_FLAG_DYN_RESOLUTION 0x0008
|
||||
#define V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL 0x0010
|
||||
|
||||
/* Frame Size and frame rate enumeration */
|
||||
/*
|
||||
@@ -944,7 +949,10 @@ struct v4l2_requestbuffers {
|
||||
__u32 type; /* enum v4l2_buf_type */
|
||||
__u32 memory; /* enum v4l2_memory */
|
||||
__u32 capabilities;
|
||||
__u32 reserved[1];
|
||||
union {
|
||||
__u32 flags;
|
||||
__u32 reserved[1];
|
||||
};
|
||||
};
|
||||
|
||||
/* capabilities for struct v4l2_requestbuffers and v4l2_create_buffers */
|
||||
@@ -954,6 +962,7 @@ struct v4l2_requestbuffers {
|
||||
#define V4L2_BUF_CAP_SUPPORTS_REQUESTS (1 << 3)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS (1 << 4)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF (1 << 5)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS (1 << 6)
|
||||
|
||||
/**
|
||||
* struct v4l2_plane - plane info for multi-planar buffers
|
||||
@@ -2447,6 +2456,9 @@ struct v4l2_dbg_chip_info {
|
||||
* @memory: enum v4l2_memory; buffer memory type
|
||||
* @format: frame format, for which buffers are requested
|
||||
* @capabilities: capabilities of this buffer type.
|
||||
* @flags: additional buffer management attributes (ignored unless the
|
||||
* queue has V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS capability
|
||||
* and configured for MMAP streaming I/O).
|
||||
* @reserved: future extensions
|
||||
*/
|
||||
struct v4l2_create_buffers {
|
||||
@@ -2455,7 +2467,8 @@ struct v4l2_create_buffers {
|
||||
__u32 memory;
|
||||
struct v4l2_format format;
|
||||
__u32 capabilities;
|
||||
__u32 reserved[7];
|
||||
__u32 flags;
|
||||
__u32 reserved[6];
|
||||
};
|
||||
|
||||
/*
|
||||
|
@@ -25,7 +25,7 @@
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE. */
|
||||
#include <linux/types.h>
|
||||
#include <linux/virtio_types.h>
|
||||
#include <linux/virtio_ids.h>
|
||||
#include <linux/virtio_config.h>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
struct virtio_9p_config {
|
||||
/* length of the tag name */
|
||||
__u16 tag_len;
|
||||
__virtio16 tag_len;
|
||||
/* non-NULL terminated tag name */
|
||||
__u8 tag[0];
|
||||
} __attribute__((packed));
|
||||
|
@@ -45,20 +45,20 @@
|
||||
#define VIRTIO_BALLOON_CMD_ID_DONE 1
|
||||
struct virtio_balloon_config {
|
||||
/* Number of pages host wants Guest to give up. */
|
||||
__u32 num_pages;
|
||||
__le32 num_pages;
|
||||
/* Number of pages we've actually got in balloon. */
|
||||
__u32 actual;
|
||||
__le32 actual;
|
||||
/*
|
||||
* Free page hint command id, readonly by guest.
|
||||
* Was previously named free_page_report_cmd_id so we
|
||||
* need to carry that name for legacy support.
|
||||
*/
|
||||
union {
|
||||
__u32 free_page_hint_cmd_id;
|
||||
__u32 free_page_report_cmd_id; /* deprecated */
|
||||
__le32 free_page_hint_cmd_id;
|
||||
__le32 free_page_report_cmd_id; /* deprecated */
|
||||
};
|
||||
/* Stores PAGE_POISON if page poisoning is in use */
|
||||
__u32 poison_val;
|
||||
__le32 poison_val;
|
||||
};
|
||||
|
||||
#define VIRTIO_BALLOON_S_SWAP_IN 0 /* Amount of memory swapped in */
|
||||
|
@@ -57,20 +57,20 @@
|
||||
|
||||
struct virtio_blk_config {
|
||||
/* The capacity (in 512-byte sectors). */
|
||||
__u64 capacity;
|
||||
__virtio64 capacity;
|
||||
/* The maximum segment size (if VIRTIO_BLK_F_SIZE_MAX) */
|
||||
__u32 size_max;
|
||||
__virtio32 size_max;
|
||||
/* The maximum number of segments (if VIRTIO_BLK_F_SEG_MAX) */
|
||||
__u32 seg_max;
|
||||
__virtio32 seg_max;
|
||||
/* geometry of the device (if VIRTIO_BLK_F_GEOMETRY) */
|
||||
struct virtio_blk_geometry {
|
||||
__u16 cylinders;
|
||||
__virtio16 cylinders;
|
||||
__u8 heads;
|
||||
__u8 sectors;
|
||||
} geometry;
|
||||
|
||||
/* block size of device (if VIRTIO_BLK_F_BLK_SIZE) */
|
||||
__u32 blk_size;
|
||||
__virtio32 blk_size;
|
||||
|
||||
/* the next 4 entries are guarded by VIRTIO_BLK_F_TOPOLOGY */
|
||||
/* exponent for physical block per logical block. */
|
||||
@@ -78,42 +78,42 @@ struct virtio_blk_config {
|
||||
/* alignment offset in logical blocks. */
|
||||
__u8 alignment_offset;
|
||||
/* minimum I/O size without performance penalty in logical blocks. */
|
||||
__u16 min_io_size;
|
||||
__virtio16 min_io_size;
|
||||
/* optimal sustained I/O size in logical blocks. */
|
||||
__u32 opt_io_size;
|
||||
__virtio32 opt_io_size;
|
||||
|
||||
/* writeback mode (if VIRTIO_BLK_F_CONFIG_WCE) */
|
||||
__u8 wce;
|
||||
__u8 unused;
|
||||
|
||||
/* number of vqs, only available when VIRTIO_BLK_F_MQ is set */
|
||||
__u16 num_queues;
|
||||
__virtio16 num_queues;
|
||||
|
||||
/* the next 3 entries are guarded by VIRTIO_BLK_F_DISCARD */
|
||||
/*
|
||||
* The maximum discard sectors (in 512-byte sectors) for
|
||||
* one segment.
|
||||
*/
|
||||
__u32 max_discard_sectors;
|
||||
__virtio32 max_discard_sectors;
|
||||
/*
|
||||
* The maximum number of discard segments in a
|
||||
* discard command.
|
||||
*/
|
||||
__u32 max_discard_seg;
|
||||
__virtio32 max_discard_seg;
|
||||
/* Discard commands must be aligned to this number of sectors. */
|
||||
__u32 discard_sector_alignment;
|
||||
__virtio32 discard_sector_alignment;
|
||||
|
||||
/* the next 3 entries are guarded by VIRTIO_BLK_F_WRITE_ZEROES */
|
||||
/*
|
||||
* The maximum number of write zeroes sectors (in 512-byte sectors) in
|
||||
* one segment.
|
||||
*/
|
||||
__u32 max_write_zeroes_sectors;
|
||||
__virtio32 max_write_zeroes_sectors;
|
||||
/*
|
||||
* The maximum number of segments in a write zeroes
|
||||
* command.
|
||||
*/
|
||||
__u32 max_write_zeroes_seg;
|
||||
__virtio32 max_write_zeroes_seg;
|
||||
/*
|
||||
* Set if a VIRTIO_BLK_T_WRITE_ZEROES request may result in the
|
||||
* deallocation of one or more of the sectors.
|
||||
|
@@ -67,13 +67,17 @@
|
||||
#define VIRTIO_F_VERSION_1 32
|
||||
|
||||
/*
|
||||
* If clear - device has the IOMMU bypass quirk feature.
|
||||
* If set - use platform tools to detect the IOMMU.
|
||||
* If clear - device has the platform DMA (e.g. IOMMU) bypass quirk feature.
|
||||
* If set - use platform DMA tools to access the memory.
|
||||
*
|
||||
* Note the reverse polarity (compared to most other features),
|
||||
* this is for compatibility with legacy systems.
|
||||
*/
|
||||
#define VIRTIO_F_IOMMU_PLATFORM 33
|
||||
#define VIRTIO_F_ACCESS_PLATFORM 33
|
||||
#ifndef __KERNEL__
|
||||
/* Legacy name for VIRTIO_F_ACCESS_PLATFORM (for compatibility with old userspace) */
|
||||
#define VIRTIO_F_IOMMU_PLATFORM VIRTIO_F_ACCESS_PLATFORM
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
/* This feature indicates support for the packed virtqueue layout. */
|
||||
#define VIRTIO_F_RING_PACKED 34
|
||||
|
@@ -45,13 +45,13 @@
|
||||
|
||||
struct virtio_console_config {
|
||||
/* colums of the screens */
|
||||
__u16 cols;
|
||||
__virtio16 cols;
|
||||
/* rows of the screens */
|
||||
__u16 rows;
|
||||
__virtio16 rows;
|
||||
/* max. number of ports this device can hold */
|
||||
__u32 max_nr_ports;
|
||||
__virtio32 max_nr_ports;
|
||||
/* emergency write register */
|
||||
__u32 emerg_wr;
|
||||
__virtio32 emerg_wr;
|
||||
} __attribute__((packed));
|
||||
|
||||
/*
|
||||
|
@@ -414,33 +414,33 @@ struct virtio_crypto_op_data_req {
|
||||
|
||||
struct virtio_crypto_config {
|
||||
/* See VIRTIO_CRYPTO_OP_* above */
|
||||
__u32 status;
|
||||
__le32 status;
|
||||
|
||||
/*
|
||||
* Maximum number of data queue
|
||||
*/
|
||||
__u32 max_dataqueues;
|
||||
__le32 max_dataqueues;
|
||||
|
||||
/*
|
||||
* Specifies the services mask which the device support,
|
||||
* see VIRTIO_CRYPTO_SERVICE_* above
|
||||
*/
|
||||
__u32 crypto_services;
|
||||
__le32 crypto_services;
|
||||
|
||||
/* Detailed algorithms mask */
|
||||
__u32 cipher_algo_l;
|
||||
__u32 cipher_algo_h;
|
||||
__u32 hash_algo;
|
||||
__u32 mac_algo_l;
|
||||
__u32 mac_algo_h;
|
||||
__u32 aead_algo;
|
||||
__le32 cipher_algo_l;
|
||||
__le32 cipher_algo_h;
|
||||
__le32 hash_algo;
|
||||
__le32 mac_algo_l;
|
||||
__le32 mac_algo_h;
|
||||
__le32 aead_algo;
|
||||
/* Maximum length of cipher key */
|
||||
__u32 max_cipher_key_len;
|
||||
__le32 max_cipher_key_len;
|
||||
/* Maximum length of authenticated key */
|
||||
__u32 max_auth_key_len;
|
||||
__u32 reserve;
|
||||
__le32 max_auth_key_len;
|
||||
__le32 reserve;
|
||||
/* Maximum size of each crypto request's content */
|
||||
__u64 max_size;
|
||||
__le64 max_size;
|
||||
};
|
||||
|
||||
struct virtio_crypto_inhdr {
|
||||
|
@@ -13,7 +13,7 @@ struct virtio_fs_config {
|
||||
__u8 tag[36];
|
||||
|
||||
/* Number of request queues */
|
||||
__u32 num_request_queues;
|
||||
__le32 num_request_queues;
|
||||
} __attribute__((packed));
|
||||
|
||||
#endif /* _UAPI_LINUX_VIRTIO_FS_H */
|
||||
|
@@ -326,10 +326,10 @@ struct virtio_gpu_resp_edid {
|
||||
#define VIRTIO_GPU_EVENT_DISPLAY (1 << 0)
|
||||
|
||||
struct virtio_gpu_config {
|
||||
__u32 events_read;
|
||||
__u32 events_clear;
|
||||
__u32 num_scanouts;
|
||||
__u32 num_capsets;
|
||||
__le32 events_read;
|
||||
__le32 events_clear;
|
||||
__le32 num_scanouts;
|
||||
__le32 num_capsets;
|
||||
};
|
||||
|
||||
/* simple formats for fbcon/X use */
|
||||
|
@@ -40,18 +40,18 @@ enum virtio_input_config_select {
|
||||
};
|
||||
|
||||
struct virtio_input_absinfo {
|
||||
__u32 min;
|
||||
__u32 max;
|
||||
__u32 fuzz;
|
||||
__u32 flat;
|
||||
__u32 res;
|
||||
__le32 min;
|
||||
__le32 max;
|
||||
__le32 fuzz;
|
||||
__le32 flat;
|
||||
__le32 res;
|
||||
};
|
||||
|
||||
struct virtio_input_devids {
|
||||
__u16 bustype;
|
||||
__u16 vendor;
|
||||
__u16 product;
|
||||
__u16 version;
|
||||
__le16 bustype;
|
||||
__le16 vendor;
|
||||
__le16 product;
|
||||
__le16 version;
|
||||
};
|
||||
|
||||
struct virtio_input_config {
|
||||
|
@@ -18,24 +18,24 @@
|
||||
#define VIRTIO_IOMMU_F_MMIO 5
|
||||
|
||||
struct virtio_iommu_range_64 {
|
||||
__u64 start;
|
||||
__u64 end;
|
||||
__le64 start;
|
||||
__le64 end;
|
||||
};
|
||||
|
||||
struct virtio_iommu_range_32 {
|
||||
__u32 start;
|
||||
__u32 end;
|
||||
__le32 start;
|
||||
__le32 end;
|
||||
};
|
||||
|
||||
struct virtio_iommu_config {
|
||||
/* Supported page sizes */
|
||||
__u64 page_size_mask;
|
||||
__le64 page_size_mask;
|
||||
/* Supported IOVA range */
|
||||
struct virtio_iommu_range_64 input_range;
|
||||
/* Max domain ID size */
|
||||
struct virtio_iommu_range_32 domain_range;
|
||||
/* Probe buffer size */
|
||||
__u32 probe_size;
|
||||
__le32 probe_size;
|
||||
};
|
||||
|
||||
/* Request types */
|
||||
|
@@ -185,27 +185,27 @@ struct virtio_mem_resp {
|
||||
|
||||
struct virtio_mem_config {
|
||||
/* Block size and alignment. Cannot change. */
|
||||
__u64 block_size;
|
||||
__le64 block_size;
|
||||
/* Valid with VIRTIO_MEM_F_ACPI_PXM. Cannot change. */
|
||||
__u16 node_id;
|
||||
__le16 node_id;
|
||||
__u8 padding[6];
|
||||
/* Start address of the memory region. Cannot change. */
|
||||
__u64 addr;
|
||||
__le64 addr;
|
||||
/* Region size (maximum). Cannot change. */
|
||||
__u64 region_size;
|
||||
__le64 region_size;
|
||||
/*
|
||||
* Currently usable region size. Can grow up to region_size. Can
|
||||
* shrink due to VIRTIO_MEM_REQ_UNPLUG_ALL (in which case no config
|
||||
* update will be sent).
|
||||
*/
|
||||
__u64 usable_region_size;
|
||||
__le64 usable_region_size;
|
||||
/*
|
||||
* Currently used size. Changes due to plug/unplug requests, but no
|
||||
* config updates will be sent.
|
||||
*/
|
||||
__u64 plugged_size;
|
||||
__le64 plugged_size;
|
||||
/* Requested size. New plug requests cannot exceed it. Can change. */
|
||||
__u64 requested_size;
|
||||
__le64 requested_size;
|
||||
};
|
||||
|
||||
#endif /* _LINUX_VIRTIO_MEM_H */
|
||||
|
@@ -87,19 +87,19 @@ struct virtio_net_config {
|
||||
/* The config defining mac address (if VIRTIO_NET_F_MAC) */
|
||||
__u8 mac[ETH_ALEN];
|
||||
/* See VIRTIO_NET_F_STATUS and VIRTIO_NET_S_* above */
|
||||
__u16 status;
|
||||
__virtio16 status;
|
||||
/* Maximum number of each of transmit and receive queues;
|
||||
* see VIRTIO_NET_F_MQ and VIRTIO_NET_CTRL_MQ.
|
||||
* Legal values are between 1 and 0x8000
|
||||
*/
|
||||
__u16 max_virtqueue_pairs;
|
||||
__virtio16 max_virtqueue_pairs;
|
||||
/* Default maximum transmit unit advice */
|
||||
__u16 mtu;
|
||||
__virtio16 mtu;
|
||||
/*
|
||||
* speed, in units of 1Mb. All values 0 to INT_MAX are legal.
|
||||
* Any other value stands for unknown.
|
||||
*/
|
||||
__u32 speed;
|
||||
__le32 speed;
|
||||
/*
|
||||
* 0x00 - half duplex
|
||||
* 0x01 - full duplex
|
||||
|
@@ -15,8 +15,8 @@
|
||||
#include <linux/virtio_config.h>
|
||||
|
||||
struct virtio_pmem_config {
|
||||
__u64 start;
|
||||
__u64 size;
|
||||
__le64 start;
|
||||
__le64 size;
|
||||
};
|
||||
|
||||
#define VIRTIO_PMEM_REQ_TYPE_FLUSH 0
|
||||
|
@@ -103,16 +103,16 @@ struct virtio_scsi_event {
|
||||
} __attribute__((packed));
|
||||
|
||||
struct virtio_scsi_config {
|
||||
__u32 num_queues;
|
||||
__u32 seg_max;
|
||||
__u32 max_sectors;
|
||||
__u32 cmd_per_lun;
|
||||
__u32 event_info_size;
|
||||
__u32 sense_size;
|
||||
__u32 cdb_size;
|
||||
__u16 max_channel;
|
||||
__u16 max_target;
|
||||
__u32 max_lun;
|
||||
__virtio32 num_queues;
|
||||
__virtio32 seg_max;
|
||||
__virtio32 max_sectors;
|
||||
__virtio32 cmd_per_lun;
|
||||
__virtio32 event_info_size;
|
||||
__virtio32 sense_size;
|
||||
__virtio32 cdb_size;
|
||||
__virtio16 max_channel;
|
||||
__virtio16 max_target;
|
||||
__virtio32 max_lun;
|
||||
} __attribute__((packed));
|
||||
|
||||
/* Feature Bits */
|
||||
|
@@ -914,7 +914,7 @@ union iwreq_data {
|
||||
struct iw_param sens; /* signal level threshold */
|
||||
struct iw_param bitrate; /* default bit rate */
|
||||
struct iw_param txpower; /* default transmit power */
|
||||
struct iw_param rts; /* RTS threshold threshold */
|
||||
struct iw_param rts; /* RTS threshold */
|
||||
struct iw_param frag; /* Fragmentation threshold */
|
||||
__u32 mode; /* Operation mode */
|
||||
struct iw_param retry; /* Retry limits & lifetime */
|
||||
|
@@ -30,6 +30,7 @@ struct xdp_diag_msg {
|
||||
#define XDP_SHOW_RING_CFG (1 << 1)
|
||||
#define XDP_SHOW_UMEM (1 << 2)
|
||||
#define XDP_SHOW_MEMINFO (1 << 3)
|
||||
#define XDP_SHOW_STATS (1 << 4)
|
||||
|
||||
enum {
|
||||
XDP_DIAG_NONE,
|
||||
@@ -41,6 +42,7 @@ enum {
|
||||
XDP_DIAG_UMEM_FILL_RING,
|
||||
XDP_DIAG_UMEM_COMPLETION_RING,
|
||||
XDP_DIAG_MEMINFO,
|
||||
XDP_DIAG_STATS,
|
||||
__XDP_DIAG_MAX,
|
||||
};
|
||||
|
||||
@@ -69,4 +71,13 @@ struct xdp_diag_umem {
|
||||
__u32 refs;
|
||||
};
|
||||
|
||||
struct xdp_diag_stats {
|
||||
__u64 n_rx_dropped;
|
||||
__u64 n_rx_invalid;
|
||||
__u64 n_rx_full;
|
||||
__u64 n_fill_ring_empty;
|
||||
__u64 n_tx_invalid;
|
||||
__u64 n_tx_ring_empty;
|
||||
};
|
||||
|
||||
#endif /* _LINUX_XDP_DIAG_H */
|
||||
|
@@ -387,6 +387,7 @@ struct xfrm_usersa_info {
|
||||
};
|
||||
|
||||
#define XFRM_SA_XFLAG_DONT_ENCAP_DSCP 1
|
||||
#define XFRM_SA_XFLAG_OSEQ_MAY_WRAP 2
|
||||
|
||||
struct xfrm_usersa_id {
|
||||
xfrm_address_t daddr;
|
||||
|
Reference in New Issue
Block a user