39364 lines
1.1 MiB
39364 lines
1.1 MiB
kernel-source.git: 724dacd27ee67991898e785076ef11560b0b2d26
|
|
|
|
--- a/alpha/usr/include/asm-generic/mman-common.h
|
|
+++ b/alpha/usr/include/asm-generic/mman-common.h
|
|
@@ -79,6 +79,9 @@
|
|
|
|
#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */
|
|
|
|
+#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */
|
|
+#define MADV_GUARD_REMOVE 103 /* unguard range */
|
|
+
|
|
/* compatibility flags */
|
|
#define MAP_FILE 0
|
|
|
|
--- a/alpha/usr/include/asm/mman.h
|
|
+++ b/alpha/usr/include/asm/mman.h
|
|
@@ -78,6 +78,9 @@
|
|
|
|
#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */
|
|
|
|
+#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */
|
|
+#define MADV_GUARD_REMOVE 103 /* unguard range */
|
|
+
|
|
/* compatibility flags */
|
|
#define MAP_FILE 0
|
|
|
|
--- a/alpha/usr/include/linux/devlink.h
|
|
+++ b/alpha/usr/include/linux/devlink.h
|
|
@@ -385,6 +385,21 @@ enum devlink_linecard_state {
|
|
DEVLINK_LINECARD_STATE_MAX = __DEVLINK_LINECARD_STATE_MAX - 1
|
|
};
|
|
|
|
+/* Variable attribute type. */
|
|
+enum devlink_var_attr_type {
|
|
+ /* Following values relate to the internal NLA_* values */
|
|
+ DEVLINK_VAR_ATTR_TYPE_U8 = 1,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U16,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U32,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U64,
|
|
+ DEVLINK_VAR_ATTR_TYPE_STRING,
|
|
+ DEVLINK_VAR_ATTR_TYPE_FLAG,
|
|
+ DEVLINK_VAR_ATTR_TYPE_NUL_STRING = 10,
|
|
+ DEVLINK_VAR_ATTR_TYPE_BINARY,
|
|
+ __DEVLINK_VAR_ATTR_TYPE_CUSTOM_BASE = 0x80,
|
|
+ /* Any possible custom types, unrelated to NLA_* values go below */
|
|
+};
|
|
+
|
|
enum devlink_attr {
|
|
/* don't change the order or add anything between, this is ABI! */
|
|
DEVLINK_ATTR_UNSPEC,
|
|
--- a/alpha/usr/include/linux/dm-ioctl.h
|
|
+++ b/alpha/usr/include/linux/dm-ioctl.h
|
|
@@ -286,9 +286,9 @@ enum {
|
|
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
|
|
|
#define DM_VERSION_MAJOR 4
|
|
-#define DM_VERSION_MINOR 48
|
|
+#define DM_VERSION_MINOR 49
|
|
#define DM_VERSION_PATCHLEVEL 0
|
|
-#define DM_VERSION_EXTRA "-ioctl (2023-03-01)"
|
|
+#define DM_VERSION_EXTRA "-ioctl (2025-01-17)"
|
|
|
|
/* Status bits */
|
|
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
|
--- a/alpha/usr/include/linux/dpll.h
|
|
+++ b/alpha/usr/include/linux/dpll.h
|
|
@@ -79,6 +79,29 @@ enum dpll_lock_status_error {
|
|
DPLL_LOCK_STATUS_ERROR_MAX = (__DPLL_LOCK_STATUS_ERROR_MAX - 1)
|
|
};
|
|
|
|
+/**
|
|
+ * enum dpll_clock_quality_level - level of quality of a clock device. This
|
|
+ * mainly applies when the dpll lock-status is DPLL_LOCK_STATUS_HOLDOVER. The
|
|
+ * current list is defined according to the table 11-7 contained in ITU-T
|
|
+ * G.8264/Y.1364 document. One may extend this list freely by other ITU-T
|
|
+ * defined clock qualities, or different ones defined by another
|
|
+ * standardization body (for those, please use different prefix).
|
|
+ */
|
|
+enum dpll_clock_quality_level {
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRC = 1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_A,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_B,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEC1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEEC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRC,
|
|
+
|
|
+ /* private: */
|
|
+ __DPLL_CLOCK_QUALITY_LEVEL_MAX,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_MAX = (__DPLL_CLOCK_QUALITY_LEVEL_MAX - 1)
|
|
+};
|
|
+
|
|
#define DPLL_TEMP_DIVIDER 1000
|
|
|
|
/**
|
|
@@ -180,6 +203,7 @@ enum dpll_a {
|
|
DPLL_A_TEMP,
|
|
DPLL_A_TYPE,
|
|
DPLL_A_LOCK_STATUS_ERROR,
|
|
+ DPLL_A_CLOCK_QUALITY_LEVEL,
|
|
|
|
__DPLL_A_MAX,
|
|
DPLL_A_MAX = (__DPLL_A_MAX - 1)
|
|
--- a/alpha/usr/include/linux/ethtool.h
|
|
+++ b/alpha/usr/include/linux/ethtool.h
|
|
@@ -679,6 +679,8 @@ enum ethtool_link_ext_substate_module {
|
|
* @ETH_SS_STATS_ETH_MAC: names of IEEE 802.3 MAC statistics
|
|
* @ETH_SS_STATS_ETH_CTRL: names of IEEE 802.3 MAC Control statistics
|
|
* @ETH_SS_STATS_RMON: names of RMON statistics
|
|
+ * @ETH_SS_STATS_PHY: names of PHY(dev) statistics
|
|
+ * @ETH_SS_TS_FLAGS: hardware timestamping flags
|
|
*
|
|
* @ETH_SS_COUNT: number of defined string sets
|
|
*/
|
|
@@ -704,6 +706,8 @@ enum ethtool_stringset {
|
|
ETH_SS_STATS_ETH_MAC,
|
|
ETH_SS_STATS_ETH_CTRL,
|
|
ETH_SS_STATS_RMON,
|
|
+ ETH_SS_STATS_PHY,
|
|
+ ETH_SS_TS_FLAGS,
|
|
|
|
/* add new constants above here */
|
|
ETH_SS_COUNT
|
|
--- a/alpha/usr/include/linux/ethtool_netlink.h
|
|
+++ b/alpha/usr/include/linux/ethtool_netlink.h
|
|
@@ -10,545 +10,12 @@
|
|
#define _LINUX_ETHTOOL_NETLINK_H_
|
|
|
|
#include <linux/ethtool.h>
|
|
-
|
|
-/* message types - userspace to kernel */
|
|
-enum {
|
|
- ETHTOOL_MSG_USER_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET,
|
|
- ETHTOOL_MSG_LINKINFO_GET,
|
|
- ETHTOOL_MSG_LINKINFO_SET,
|
|
- ETHTOOL_MSG_LINKMODES_GET,
|
|
- ETHTOOL_MSG_LINKMODES_SET,
|
|
- ETHTOOL_MSG_LINKSTATE_GET,
|
|
- ETHTOOL_MSG_DEBUG_GET,
|
|
- ETHTOOL_MSG_DEBUG_SET,
|
|
- ETHTOOL_MSG_WOL_GET,
|
|
- ETHTOOL_MSG_WOL_SET,
|
|
- ETHTOOL_MSG_FEATURES_GET,
|
|
- ETHTOOL_MSG_FEATURES_SET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
- ETHTOOL_MSG_RINGS_GET,
|
|
- ETHTOOL_MSG_RINGS_SET,
|
|
- ETHTOOL_MSG_CHANNELS_GET,
|
|
- ETHTOOL_MSG_CHANNELS_SET,
|
|
- ETHTOOL_MSG_COALESCE_GET,
|
|
- ETHTOOL_MSG_COALESCE_SET,
|
|
- ETHTOOL_MSG_PAUSE_GET,
|
|
- ETHTOOL_MSG_PAUSE_SET,
|
|
- ETHTOOL_MSG_EEE_GET,
|
|
- ETHTOOL_MSG_EEE_SET,
|
|
- ETHTOOL_MSG_TSINFO_GET,
|
|
- ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
- ETHTOOL_MSG_FEC_GET,
|
|
- ETHTOOL_MSG_FEC_SET,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
- ETHTOOL_MSG_STATS_GET,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
- ETHTOOL_MSG_MODULE_GET,
|
|
- ETHTOOL_MSG_MODULE_SET,
|
|
- ETHTOOL_MSG_PSE_GET,
|
|
- ETHTOOL_MSG_PSE_SET,
|
|
- ETHTOOL_MSG_RSS_GET,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG,
|
|
- ETHTOOL_MSG_PLCA_SET_CFG,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
- ETHTOOL_MSG_MM_GET,
|
|
- ETHTOOL_MSG_MM_SET,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
- ETHTOOL_MSG_PHY_GET,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_USER_CNT,
|
|
- ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
|
|
-};
|
|
-
|
|
-/* message types - kernel to userspace */
|
|
-enum {
|
|
- ETHTOOL_MSG_KERNEL_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_NTF,
|
|
- ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKMODES_NTF,
|
|
- ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_NTF,
|
|
- ETHTOOL_MSG_WOL_GET_REPLY,
|
|
- ETHTOOL_MSG_WOL_NTF,
|
|
- ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_NTF,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
- ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
- ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
- ETHTOOL_MSG_RINGS_NTF,
|
|
- ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
- ETHTOOL_MSG_CHANNELS_NTF,
|
|
- ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
- ETHTOOL_MSG_COALESCE_NTF,
|
|
- ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
- ETHTOOL_MSG_PAUSE_NTF,
|
|
- ETHTOOL_MSG_EEE_GET_REPLY,
|
|
- ETHTOOL_MSG_EEE_NTF,
|
|
- ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_NTF,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
- ETHTOOL_MSG_STATS_GET_REPLY,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_NTF,
|
|
- ETHTOOL_MSG_PSE_GET_REPLY,
|
|
- ETHTOOL_MSG_RSS_GET_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
- ETHTOOL_MSG_PLCA_NTF,
|
|
- ETHTOOL_MSG_MM_GET_REPLY,
|
|
- ETHTOOL_MSG_MM_NTF,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
- ETHTOOL_MSG_PHY_GET_REPLY,
|
|
- ETHTOOL_MSG_PHY_NTF,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_KERNEL_CNT,
|
|
- ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
|
|
-};
|
|
-
|
|
-/* request header */
|
|
-
|
|
-enum ethtool_header_flags {
|
|
- ETHTOOL_FLAG_COMPACT_BITSETS = 1 << 0, /* use compact bitsets in reply */
|
|
- ETHTOOL_FLAG_OMIT_REPLY = 1 << 1, /* provide optional reply for SET or ACT requests */
|
|
- ETHTOOL_FLAG_STATS = 1 << 2, /* request statistics, if supported by the driver */
|
|
-};
|
|
+#include <linux/ethtool_netlink_generated.h>
|
|
|
|
#define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \
|
|
ETHTOOL_FLAG_OMIT_REPLY | \
|
|
ETHTOOL_FLAG_STATS)
|
|
|
|
-enum {
|
|
- ETHTOOL_A_HEADER_UNSPEC,
|
|
- ETHTOOL_A_HEADER_DEV_INDEX, /* u32 */
|
|
- ETHTOOL_A_HEADER_DEV_NAME, /* string */
|
|
- ETHTOOL_A_HEADER_FLAGS, /* u32 - ETHTOOL_FLAG_* */
|
|
- ETHTOOL_A_HEADER_PHY_INDEX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_HEADER_CNT,
|
|
- ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1
|
|
-};
|
|
-
|
|
-/* bit sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BIT_INDEX, /* u32 */
|
|
- ETHTOOL_A_BITSET_BIT_NAME, /* string */
|
|
- ETHTOOL_A_BITSET_BIT_VALUE, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BIT_CNT,
|
|
- ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BITS_BIT, /* nest - _A_BITSET_BIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BITS_CNT,
|
|
- ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_UNSPEC,
|
|
- ETHTOOL_A_BITSET_NOMASK, /* flag */
|
|
- ETHTOOL_A_BITSET_SIZE, /* u32 */
|
|
- ETHTOOL_A_BITSET_BITS, /* nest - _A_BITSET_BITS_* */
|
|
- ETHTOOL_A_BITSET_VALUE, /* binary */
|
|
- ETHTOOL_A_BITSET_MASK, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_CNT,
|
|
- ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* string sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRING_UNSPEC,
|
|
- ETHTOOL_A_STRING_INDEX, /* u32 */
|
|
- ETHTOOL_A_STRING_VALUE, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRING_CNT,
|
|
- ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGS_UNSPEC,
|
|
- ETHTOOL_A_STRINGS_STRING, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGS_CNT,
|
|
- ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSET_UNSPEC,
|
|
- ETHTOOL_A_STRINGSET_ID, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_COUNT, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_STRINGS, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSET_CNT,
|
|
- ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
- ETHTOOL_A_STRINGSETS_STRINGSET, /* nest - _A_STRINGSET_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSETS_CNT,
|
|
- ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1
|
|
-};
|
|
-
|
|
-/* STRSET */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRSET_UNSPEC,
|
|
- ETHTOOL_A_STRSET_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STRSET_STRINGSETS, /* nest - _A_STRINGSETS_* */
|
|
- ETHTOOL_A_STRSET_COUNTS_ONLY, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRSET_CNT,
|
|
- ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKINFO_UNSPEC,
|
|
- ETHTOOL_A_LINKINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKINFO_PORT, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_PHYADDR, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TRANSCEIVER, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKINFO_CNT,
|
|
- ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKMODES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKMODES_UNSPEC,
|
|
- ETHTOOL_A_LINKMODES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_OURS, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_PEER, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_SPEED, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_LANES, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKMODES_CNT,
|
|
- ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKSTATE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
- ETHTOOL_A_LINKSTATE_HEADER, /* nest - _A_HEADER_* */
|
|
- 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 */
|
|
- ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKSTATE_CNT,
|
|
- ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1
|
|
-};
|
|
-
|
|
-/* DEBUG */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_DEBUG_UNSPEC,
|
|
- ETHTOOL_A_DEBUG_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_DEBUG_MSGMASK, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_DEBUG_CNT,
|
|
- ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1
|
|
-};
|
|
-
|
|
-/* WOL */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_WOL_UNSPEC,
|
|
- ETHTOOL_A_WOL_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_WOL_MODES, /* bitset */
|
|
- ETHTOOL_A_WOL_SOPASS, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_WOL_CNT,
|
|
- ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
|
|
-};
|
|
-
|
|
-/* FEATURES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEATURES_UNSPEC,
|
|
- ETHTOOL_A_FEATURES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEATURES_HW, /* bitset */
|
|
- ETHTOOL_A_FEATURES_WANTED, /* bitset */
|
|
- ETHTOOL_A_FEATURES_ACTIVE, /* bitset */
|
|
- ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEATURES_CNT,
|
|
- ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
|
|
-};
|
|
-
|
|
-/* PRIVFLAGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
- ETHTOOL_A_PRIVFLAGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PRIVFLAGS_FLAGS, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
- ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1
|
|
-};
|
|
-
|
|
-/* RINGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,
|
|
- ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
- ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RINGS_UNSPEC,
|
|
- ETHTOOL_A_RINGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_RINGS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */
|
|
- ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_RX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_RINGS_CNT,
|
|
- ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CHANNELS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CHANNELS_UNSPEC,
|
|
- ETHTOOL_A_CHANNELS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CHANNELS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_RX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_COUNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CHANNELS_CNT,
|
|
- ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* COALESCE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_COALESCE_UNSPEC,
|
|
- ETHTOOL_A_COALESCE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_COALESCE_RX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, /* u32 */
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_COALESCE_CNT,
|
|
- ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PROFILE_UNSPEC,
|
|
- /* nest, _A_IRQ_MODERATION_* */
|
|
- ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
- __ETHTOOL_A_PROFILE_CNT,
|
|
- ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
- ETHTOOL_A_IRQ_MODERATION_USEC, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_PKTS, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_COMPS, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
- ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
-};
|
|
-
|
|
-/* PAUSE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PAUSE_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_PAUSE_RX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_TX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_STATS, /* nest - _PAUSE_STAT_* */
|
|
- ETHTOOL_A_PAUSE_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PAUSE_CNT,
|
|
- ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
- ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
-
|
|
- /* add new constants above here
|
|
- * adjust ETHTOOL_PAUSE_STAT_CNT if adding non-stats!
|
|
- */
|
|
- __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
- ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* EEE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_EEE_UNSPEC,
|
|
- ETHTOOL_A_EEE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_EEE_MODES_OURS, /* bitset */
|
|
- ETHTOOL_A_EEE_MODES_PEER, /* bitset */
|
|
- ETHTOOL_A_EEE_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_EEE_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_TIMER, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_EEE_CNT,
|
|
- ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
-};
|
|
-
|
|
-/* TSINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TSINFO_UNSPEC,
|
|
- ETHTOOL_A_TSINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_TSINFO_TIMESTAMPING, /* bitset */
|
|
- ETHTOOL_A_TSINFO_TX_TYPES, /* bitset */
|
|
- ETHTOOL_A_TSINFO_RX_FILTERS, /* bitset */
|
|
- ETHTOOL_A_TSINFO_PHC_INDEX, /* u32 */
|
|
- ETHTOOL_A_TSINFO_STATS, /* nest - _A_TSINFO_STAT */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TSINFO_CNT,
|
|
- ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TS_STAT_UNSPEC,
|
|
-
|
|
- ETHTOOL_A_TS_STAT_TX_PKTS, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_LOST, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_ERR, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TS_STAT_CNT,
|
|
- ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
-
|
|
-};
|
|
-
|
|
-/* PHC VCLOCKS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
- ETHTOOL_A_PHC_VCLOCKS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHC_VCLOCKS_NUM, /* u32 */
|
|
- ETHTOOL_A_PHC_VCLOCKS_INDEX, /* array, s32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
- ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST NOTIFY */
|
|
enum {
|
|
ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC,
|
|
@@ -583,73 +50,11 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
- ETHTOOL_A_CABLE_RESULT_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_RESULT_CODE, /* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */
|
|
- ETHTOOL_A_CABLE_RESULT_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
- ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_CM, /* u32 */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED
|
|
};
|
|
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_NEST_RESULT, /* nest - ETHTOOL_A_CABLE_RESULT_ */
|
|
- ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, /* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */
|
|
- __ETHTOOL_A_CABLE_NEST_CNT,
|
|
- ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST TDR */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG, /* nest - *_TDR_CFG_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST TDR NOTIFY */
|
|
|
|
enum {
|
|
@@ -690,163 +95,17 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
- 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)
|
|
-};
|
|
-
|
|
-/* FEC */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_UNSPEC,
|
|
- ETHTOOL_A_FEC_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEC_MODES, /* bitset */
|
|
- ETHTOOL_A_FEC_AUTO, /* u8 */
|
|
- ETHTOOL_A_FEC_ACTIVE, /* u32 */
|
|
- ETHTOOL_A_FEC_STATS, /* nest - _A_FEC_STAT */
|
|
-
|
|
- __ETHTOOL_A_FEC_CNT,
|
|
- ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
- ETHTOOL_A_FEC_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_FEC_STAT_CORRECTED, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_UNCORR, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_CORR_BITS, /* array, u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEC_STAT_CNT,
|
|
- ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE EEPROM */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
- ETHTOOL_A_MODULE_EEPROM_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- ETHTOOL_A_MODULE_EEPROM_OFFSET, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_LENGTH, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */
|
|
-
|
|
- __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
- ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* STATS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STATS_UNSPEC,
|
|
- ETHTOOL_A_STATS_PAD,
|
|
- ETHTOOL_A_STATS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STATS_GROUPS, /* bitset */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP, /* nest - _A_STATS_GRP_* */
|
|
-
|
|
- ETHTOOL_A_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_CNT,
|
|
- ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_STATS_ETH_PHY,
|
|
ETHTOOL_STATS_ETH_MAC,
|
|
ETHTOOL_STATS_ETH_CTRL,
|
|
ETHTOOL_STATS_RMON,
|
|
+ ETHTOOL_STATS_PHY,
|
|
|
|
/* add new constants above here */
|
|
__ETHTOOL_STATS_CNT
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
- ETHTOOL_A_STATS_GRP_PAD,
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_ID, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_SS_ID, /* u32 */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_STAT, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_RX, /* nest */
|
|
- ETHTOOL_A_STATS_GRP_HIST_TX, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_LOW, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_HI, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_VAL, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_GRP_CNT,
|
|
- ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
/* 30.3.2.1.5 aSymbolErrorDuringCarrier */
|
|
ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR,
|
|
|
|
@@ -935,160 +194,20 @@ enum {
|
|
ETHTOOL_A_STATS_RMON_MAX = (__ETHTOOL_A_STATS_RMON_CNT - 1)
|
|
};
|
|
|
|
-/* MODULE */
|
|
-
|
|
enum {
|
|
- ETHTOOL_A_MODULE_UNSPEC,
|
|
- ETHTOOL_A_MODULE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_POWER_MODE_POLICY, /* u8 */
|
|
- ETHTOOL_A_MODULE_POWER_MODE, /* u8 */
|
|
+ /* Basic packet counters if PHY has separate counters from the MAC */
|
|
+ ETHTOOL_A_STATS_PHY_RX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_RX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_RX_ERRORS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_TX_ERRORS,
|
|
|
|
/* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_CNT,
|
|
- ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+ __ETHTOOL_A_STATS_PHY_CNT,
|
|
+ ETHTOOL_A_STATS_PHY_MAX = (__ETHTOOL_A_STATS_PHY_CNT - 1)
|
|
};
|
|
|
|
-/* Power Sourcing Equipment */
|
|
-enum {
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MIN, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MAX, /* u32 */
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PSE_UNSPEC,
|
|
- ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_CLASS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ACTUAL_PW, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_SUBSTATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES, /* nest - _C33_PSE_PW_LIMIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PSE_CNT,
|
|
- ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RSS_UNSPEC,
|
|
- ETHTOOL_A_RSS_HEADER,
|
|
- ETHTOOL_A_RSS_CONTEXT, /* u32 */
|
|
- ETHTOOL_A_RSS_HFUNC, /* u32 */
|
|
- ETHTOOL_A_RSS_INDIR, /* binary */
|
|
- ETHTOOL_A_RSS_HKEY, /* binary */
|
|
- ETHTOOL_A_RSS_INPUT_XFRM, /* u32 */
|
|
- ETHTOOL_A_RSS_START_CONTEXT, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_RSS_CNT,
|
|
- ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
|
|
-};
|
|
-
|
|
-/* PLCA */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PLCA_UNSPEC,
|
|
- ETHTOOL_A_PLCA_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PLCA_VERSION, /* u16 */
|
|
- ETHTOOL_A_PLCA_ENABLED, /* u8 */
|
|
- ETHTOOL_A_PLCA_STATUS, /* u8 */
|
|
- ETHTOOL_A_PLCA_NODE_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_NODE_ID, /* u32 */
|
|
- ETHTOOL_A_PLCA_TO_TMR, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_TMR, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PLCA_CNT,
|
|
- ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MAC Merge (802.3) */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_STAT_UNSPEC,
|
|
- ETHTOOL_A_MM_STAT_PAD,
|
|
-
|
|
- /* aMACMergeFrameAssErrorCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameSmdErrorCount */
|
|
- ETHTOOL_A_MM_STAT_SMD_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameAssOkCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_OK, /* u64 */
|
|
- /* aMACMergeFragCountRx */
|
|
- ETHTOOL_A_MM_STAT_RX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeFragCountTx */
|
|
- ETHTOOL_A_MM_STAT_TX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeHoldCount */
|
|
- ETHTOOL_A_MM_STAT_HOLD_COUNT, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_STAT_CNT,
|
|
- ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_UNSPEC,
|
|
- ETHTOOL_A_MM_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MM_PMAC_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_RX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_VERIFY_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_STATUS, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_MAX_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_STATS, /* nest - _A_MM_STAT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_CNT,
|
|
- ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE_FW_FLASH */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_PASSWORD, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_DONE, /* uint */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_TOTAL, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHY_UNSPEC,
|
|
- ETHTOOL_A_PHY_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHY_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_DRVNAME, /* string */
|
|
- ETHTOOL_A_PHY_NAME, /* string */
|
|
- ETHTOOL_A_PHY_UPSTREAM_TYPE, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_SFP_NAME, /* string */
|
|
- ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHY_CNT,
|
|
- ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
-};
|
|
-
|
|
-/* generic netlink info */
|
|
-#define ETHTOOL_GENL_NAME "ethtool"
|
|
-#define ETHTOOL_GENL_VERSION 1
|
|
-
|
|
#define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
|
|
|
|
#endif /* _LINUX_ETHTOOL_NETLINK_H_ */
|
|
--- /dev/null
|
|
+++ b/alpha/usr/include/linux/ethtool_netlink_generated.h
|
|
@@ -0,0 +1,821 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/ethtool.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+#define _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+
|
|
+#define ETHTOOL_GENL_NAME "ethtool"
|
|
+#define ETHTOOL_GENL_VERSION 1
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_GENEVE,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE,
|
|
+
|
|
+ /* private: */
|
|
+ __ETHTOOL_UDP_TUNNEL_TYPE_CNT,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_MAX = (__ETHTOOL_UDP_TUNNEL_TYPE_CNT - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum ethtool_header_flags - common ethtool header flags
|
|
+ * @ETHTOOL_FLAG_COMPACT_BITSETS: use compact bitsets in reply
|
|
+ * @ETHTOOL_FLAG_OMIT_REPLY: provide optional reply for SET or ACT requests
|
|
+ * @ETHTOOL_FLAG_STATS: request statistics, if supported by the driver
|
|
+ */
|
|
+enum ethtool_header_flags {
|
|
+ ETHTOOL_FLAG_COMPACT_BITSETS = 1,
|
|
+ ETHTOOL_FLAG_OMIT_REPLY = 2,
|
|
+ ETHTOOL_FLAG_STATS = 4,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_MAC,
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_PHY,
|
|
+};
|
|
+
|
|
+enum ethtool_tcp_data_split {
|
|
+ ETHTOOL_TCP_DATA_SPLIT_UNKNOWN,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_HEADER_UNSPEC,
|
|
+ ETHTOOL_A_HEADER_DEV_INDEX,
|
|
+ ETHTOOL_A_HEADER_DEV_NAME,
|
|
+ ETHTOOL_A_HEADER_FLAGS,
|
|
+ ETHTOOL_A_HEADER_PHY_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_HEADER_CNT,
|
|
+ ETHTOOL_A_HEADER_MAX = (__ETHTOOL_A_HEADER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BIT_INDEX,
|
|
+ ETHTOOL_A_BITSET_BIT_NAME,
|
|
+ ETHTOOL_A_BITSET_BIT_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BIT_CNT,
|
|
+ ETHTOOL_A_BITSET_BIT_MAX = (__ETHTOOL_A_BITSET_BIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BITS_BIT,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BITS_CNT,
|
|
+ ETHTOOL_A_BITSET_BITS_MAX = (__ETHTOOL_A_BITSET_BITS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_NOMASK,
|
|
+ ETHTOOL_A_BITSET_SIZE,
|
|
+ ETHTOOL_A_BITSET_BITS,
|
|
+ ETHTOOL_A_BITSET_VALUE,
|
|
+ ETHTOOL_A_BITSET_MASK,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_CNT,
|
|
+ ETHTOOL_A_BITSET_MAX = (__ETHTOOL_A_BITSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRING_UNSPEC,
|
|
+ ETHTOOL_A_STRING_INDEX,
|
|
+ ETHTOOL_A_STRING_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_STRING_CNT,
|
|
+ ETHTOOL_A_STRING_MAX = (__ETHTOOL_A_STRING_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGS_STRING,
|
|
+
|
|
+ __ETHTOOL_A_STRINGS_CNT,
|
|
+ ETHTOOL_A_STRINGS_MAX = (__ETHTOOL_A_STRINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSET_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSET_ID,
|
|
+ ETHTOOL_A_STRINGSET_COUNT,
|
|
+ ETHTOOL_A_STRINGSET_STRINGS,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSET_CNT,
|
|
+ ETHTOOL_A_STRINGSET_MAX = (__ETHTOOL_A_STRINGSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSETS_STRINGSET,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSETS_CNT,
|
|
+ ETHTOOL_A_STRINGSETS_MAX = (__ETHTOOL_A_STRINGSETS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRSET_UNSPEC,
|
|
+ ETHTOOL_A_STRSET_HEADER,
|
|
+ ETHTOOL_A_STRSET_STRINGSETS,
|
|
+ ETHTOOL_A_STRSET_COUNTS_ONLY,
|
|
+
|
|
+ __ETHTOOL_A_STRSET_CNT,
|
|
+ ETHTOOL_A_STRSET_MAX = (__ETHTOOL_A_STRSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
+ ETHTOOL_A_PRIVFLAGS_HEADER,
|
|
+ ETHTOOL_A_PRIVFLAGS_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
+ ETHTOOL_A_PRIVFLAGS_MAX = (__ETHTOOL_A_PRIVFLAGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RINGS_UNSPEC,
|
|
+ ETHTOOL_A_RINGS_HEADER,
|
|
+ ETHTOOL_A_RINGS_RX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO_MAX,
|
|
+ ETHTOOL_A_RINGS_TX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO,
|
|
+ ETHTOOL_A_RINGS_TX,
|
|
+ ETHTOOL_A_RINGS_RX_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
|
|
+ ETHTOOL_A_RINGS_CQE_SIZE,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH,
|
|
+ ETHTOOL_A_RINGS_RX_PUSH,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH_MAX,
|
|
+
|
|
+ __ETHTOOL_A_RINGS_CNT,
|
|
+ ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_STAT_UNSPEC,
|
|
+ ETHTOOL_A_MM_STAT_PAD,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_SMD_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_OK,
|
|
+ ETHTOOL_A_MM_STAT_RX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_TX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_HOLD_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_MM_STAT_CNT,
|
|
+ ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_UNSPEC,
|
|
+ ETHTOOL_A_MM_HEADER,
|
|
+ ETHTOOL_A_MM_PMAC_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ACTIVE,
|
|
+ ETHTOOL_A_MM_TX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_RX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_VERIFY_ENABLED,
|
|
+ ETHTOOL_A_MM_VERIFY_STATUS,
|
|
+ ETHTOOL_A_MM_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_MAX_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_STATS,
|
|
+
|
|
+ __ETHTOOL_A_MM_CNT,
|
|
+ ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKINFO_UNSPEC,
|
|
+ ETHTOOL_A_LINKINFO_HEADER,
|
|
+ ETHTOOL_A_LINKINFO_PORT,
|
|
+ ETHTOOL_A_LINKINFO_PHYADDR,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX_CTRL,
|
|
+ ETHTOOL_A_LINKINFO_TRANSCEIVER,
|
|
+
|
|
+ __ETHTOOL_A_LINKINFO_CNT,
|
|
+ ETHTOOL_A_LINKINFO_MAX = (__ETHTOOL_A_LINKINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKMODES_UNSPEC,
|
|
+ ETHTOOL_A_LINKMODES_HEADER,
|
|
+ ETHTOOL_A_LINKMODES_AUTONEG,
|
|
+ ETHTOOL_A_LINKMODES_OURS,
|
|
+ ETHTOOL_A_LINKMODES_PEER,
|
|
+ ETHTOOL_A_LINKMODES_SPEED,
|
|
+ ETHTOOL_A_LINKMODES_DUPLEX,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE,
|
|
+ ETHTOOL_A_LINKMODES_LANES,
|
|
+ ETHTOOL_A_LINKMODES_RATE_MATCHING,
|
|
+
|
|
+ __ETHTOOL_A_LINKMODES_CNT,
|
|
+ ETHTOOL_A_LINKMODES_MAX = (__ETHTOOL_A_LINKMODES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
+ ETHTOOL_A_LINKSTATE_HEADER,
|
|
+ ETHTOOL_A_LINKSTATE_LINK,
|
|
+ ETHTOOL_A_LINKSTATE_SQI,
|
|
+ ETHTOOL_A_LINKSTATE_SQI_MAX,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_STATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT,
|
|
+
|
|
+ __ETHTOOL_A_LINKSTATE_CNT,
|
|
+ ETHTOOL_A_LINKSTATE_MAX = (__ETHTOOL_A_LINKSTATE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_DEBUG_UNSPEC,
|
|
+ ETHTOOL_A_DEBUG_HEADER,
|
|
+ ETHTOOL_A_DEBUG_MSGMASK,
|
|
+
|
|
+ __ETHTOOL_A_DEBUG_CNT,
|
|
+ ETHTOOL_A_DEBUG_MAX = (__ETHTOOL_A_DEBUG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_WOL_UNSPEC,
|
|
+ ETHTOOL_A_WOL_HEADER,
|
|
+ ETHTOOL_A_WOL_MODES,
|
|
+ ETHTOOL_A_WOL_SOPASS,
|
|
+
|
|
+ __ETHTOOL_A_WOL_CNT,
|
|
+ ETHTOOL_A_WOL_MAX = (__ETHTOOL_A_WOL_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEATURES_UNSPEC,
|
|
+ ETHTOOL_A_FEATURES_HEADER,
|
|
+ ETHTOOL_A_FEATURES_HW,
|
|
+ ETHTOOL_A_FEATURES_WANTED,
|
|
+ ETHTOOL_A_FEATURES_ACTIVE,
|
|
+ ETHTOOL_A_FEATURES_NOCHANGE,
|
|
+
|
|
+ __ETHTOOL_A_FEATURES_CNT,
|
|
+ ETHTOOL_A_FEATURES_MAX = (__ETHTOOL_A_FEATURES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CHANNELS_UNSPEC,
|
|
+ ETHTOOL_A_CHANNELS_HEADER,
|
|
+ ETHTOOL_A_CHANNELS_RX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_TX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_MAX,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_MAX,
|
|
+ ETHTOOL_A_CHANNELS_RX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_TX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_CHANNELS_CNT,
|
|
+ ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_USEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_PKTS,
|
|
+ ETHTOOL_A_IRQ_MODERATION_COMPS,
|
|
+
|
|
+ __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
+ ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PROFILE_UNSPEC,
|
|
+ ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
+
|
|
+ __ETHTOOL_A_PROFILE_CNT,
|
|
+ ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_COALESCE_UNSPEC,
|
|
+ ETHTOOL_A_COALESCE_HEADER,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_STATS_BLOCK_USECS,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_TX,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_RX,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
+ ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
+
|
|
+ __ETHTOOL_A_COALESCE_CNT,
|
|
+ ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_STAT_PAD,
|
|
+ ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
+ ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
+ ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_HEADER,
|
|
+ ETHTOOL_A_PAUSE_AUTONEG,
|
|
+ ETHTOOL_A_PAUSE_RX,
|
|
+ ETHTOOL_A_PAUSE_TX,
|
|
+ ETHTOOL_A_PAUSE_STATS,
|
|
+ ETHTOOL_A_PAUSE_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_CNT,
|
|
+ ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_EEE_UNSPEC,
|
|
+ ETHTOOL_A_EEE_HEADER,
|
|
+ ETHTOOL_A_EEE_MODES_OURS,
|
|
+ ETHTOOL_A_EEE_MODES_PEER,
|
|
+ ETHTOOL_A_EEE_ACTIVE,
|
|
+ ETHTOOL_A_EEE_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_TIMER,
|
|
+
|
|
+ __ETHTOOL_A_EEE_CNT,
|
|
+ ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_STAT_UNSPEC,
|
|
+ ETHTOOL_A_TS_STAT_TX_PKTS,
|
|
+ ETHTOOL_A_TS_STAT_TX_LOST,
|
|
+ ETHTOOL_A_TS_STAT_TX_ERR,
|
|
+ ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED,
|
|
+
|
|
+ __ETHTOOL_A_TS_STAT_CNT,
|
|
+ ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER,
|
|
+
|
|
+ __ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = (__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSINFO_UNSPEC,
|
|
+ ETHTOOL_A_TSINFO_HEADER,
|
|
+ ETHTOOL_A_TSINFO_TIMESTAMPING,
|
|
+ ETHTOOL_A_TSINFO_TX_TYPES,
|
|
+ ETHTOOL_A_TSINFO_RX_FILTERS,
|
|
+ ETHTOOL_A_TSINFO_PHC_INDEX,
|
|
+ ETHTOOL_A_TSINFO_STATS,
|
|
+ ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER,
|
|
+
|
|
+ __ETHTOOL_A_TSINFO_CNT,
|
|
+ ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_RESULT_PAIR,
|
|
+ ETHTOOL_A_CABLE_RESULT_CODE,
|
|
+ ETHTOOL_A_CABLE_RESULT_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
+ ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_CM,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_NEST_RESULT,
|
|
+ ETHTOOL_A_CABLE_NEST_FAULT_LENGTH,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_NEST_CNT,
|
|
+ ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_HEADER,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_MAX = (__ETHTOOL_A_CABLE_TEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY,
|
|
+
|
|
+ __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,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_INFO_UDP_PORTS,
|
|
+
|
|
+ __ETHTOOL_A_TUNNEL_INFO_CNT,
|
|
+ ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
+ ETHTOOL_A_FEC_STAT_PAD,
|
|
+ ETHTOOL_A_FEC_STAT_CORRECTED,
|
|
+ ETHTOOL_A_FEC_STAT_UNCORR,
|
|
+ ETHTOOL_A_FEC_STAT_CORR_BITS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_STAT_CNT,
|
|
+ ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_UNSPEC,
|
|
+ ETHTOOL_A_FEC_HEADER,
|
|
+ ETHTOOL_A_FEC_MODES,
|
|
+ ETHTOOL_A_FEC_AUTO,
|
|
+ ETHTOOL_A_FEC_ACTIVE,
|
|
+ ETHTOOL_A_FEC_STATS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_CNT,
|
|
+ ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_EEPROM_HEADER,
|
|
+ ETHTOOL_A_MODULE_EEPROM_OFFSET,
|
|
+ ETHTOOL_A_MODULE_EEPROM_LENGTH,
|
|
+ ETHTOOL_A_MODULE_EEPROM_PAGE,
|
|
+ ETHTOOL_A_MODULE_EEPROM_BANK,
|
|
+ ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS,
|
|
+ ETHTOOL_A_MODULE_EEPROM_DATA,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
+ ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
+ ETHTOOL_A_STATS_GRP_PAD,
|
|
+ ETHTOOL_A_STATS_GRP_ID,
|
|
+ ETHTOOL_A_STATS_GRP_SS_ID,
|
|
+ ETHTOOL_A_STATS_GRP_STAT,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_RX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_TX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_LOW,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_HI,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_VAL,
|
|
+
|
|
+ __ETHTOOL_A_STATS_GRP_CNT,
|
|
+ ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_UNSPEC,
|
|
+ ETHTOOL_A_STATS_PAD,
|
|
+ ETHTOOL_A_STATS_HEADER,
|
|
+ ETHTOOL_A_STATS_GROUPS,
|
|
+ ETHTOOL_A_STATS_GRP,
|
|
+ ETHTOOL_A_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_STATS_CNT,
|
|
+ ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_HEADER,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_NUM,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_HEADER,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE_POLICY,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_CNT,
|
|
+ ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MIN,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MAX,
|
|
+
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_CNT,
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = (__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PSE_UNSPEC,
|
|
+ ETHTOOL_A_PSE_HEADER,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_PODL_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_C33_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_PW_CLASS,
|
|
+ ETHTOOL_A_C33_PSE_ACTUAL_PW,
|
|
+ ETHTOOL_A_C33_PSE_EXT_STATE,
|
|
+ ETHTOOL_A_C33_PSE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES,
|
|
+
|
|
+ __ETHTOOL_A_PSE_CNT,
|
|
+ ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RSS_UNSPEC,
|
|
+ ETHTOOL_A_RSS_HEADER,
|
|
+ ETHTOOL_A_RSS_CONTEXT,
|
|
+ ETHTOOL_A_RSS_HFUNC,
|
|
+ ETHTOOL_A_RSS_INDIR,
|
|
+ ETHTOOL_A_RSS_HKEY,
|
|
+ ETHTOOL_A_RSS_INPUT_XFRM,
|
|
+ ETHTOOL_A_RSS_START_CONTEXT,
|
|
+
|
|
+ __ETHTOOL_A_RSS_CNT,
|
|
+ ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PLCA_UNSPEC,
|
|
+ ETHTOOL_A_PLCA_HEADER,
|
|
+ ETHTOOL_A_PLCA_VERSION,
|
|
+ ETHTOOL_A_PLCA_ENABLED,
|
|
+ ETHTOOL_A_PLCA_STATUS,
|
|
+ ETHTOOL_A_PLCA_NODE_CNT,
|
|
+ ETHTOOL_A_PLCA_NODE_ID,
|
|
+ ETHTOOL_A_PLCA_TO_TMR,
|
|
+ ETHTOOL_A_PLCA_BURST_CNT,
|
|
+ ETHTOOL_A_PLCA_BURST_TMR,
|
|
+
|
|
+ __ETHTOOL_A_PLCA_CNT,
|
|
+ ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_HEADER,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_PASSWORD,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_DONE,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_TOTAL,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHY_UNSPEC,
|
|
+ ETHTOOL_A_PHY_HEADER,
|
|
+ ETHTOOL_A_PHY_INDEX,
|
|
+ ETHTOOL_A_PHY_DRVNAME,
|
|
+ ETHTOOL_A_PHY_NAME,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_TYPE,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_INDEX,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_SFP_NAME,
|
|
+ ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME,
|
|
+
|
|
+ __ETHTOOL_A_PHY_CNT,
|
|
+ ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSCONFIG_UNSPEC,
|
|
+ ETHTOOL_A_TSCONFIG_HEADER,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER,
|
|
+ ETHTOOL_A_TSCONFIG_TX_TYPES,
|
|
+ ETHTOOL_A_TSCONFIG_RX_FILTERS,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_TSCONFIG_CNT,
|
|
+ ETHTOOL_A_TSCONFIG_MAX = (__ETHTOOL_A_TSCONFIG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_USER_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET,
|
|
+ ETHTOOL_MSG_LINKINFO_SET,
|
|
+ ETHTOOL_MSG_LINKMODES_GET,
|
|
+ ETHTOOL_MSG_LINKMODES_SET,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET,
|
|
+ ETHTOOL_MSG_DEBUG_GET,
|
|
+ ETHTOOL_MSG_DEBUG_SET,
|
|
+ ETHTOOL_MSG_WOL_GET,
|
|
+ ETHTOOL_MSG_WOL_SET,
|
|
+ ETHTOOL_MSG_FEATURES_GET,
|
|
+ ETHTOOL_MSG_FEATURES_SET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
+ ETHTOOL_MSG_RINGS_GET,
|
|
+ ETHTOOL_MSG_RINGS_SET,
|
|
+ ETHTOOL_MSG_CHANNELS_GET,
|
|
+ ETHTOOL_MSG_CHANNELS_SET,
|
|
+ ETHTOOL_MSG_COALESCE_GET,
|
|
+ ETHTOOL_MSG_COALESCE_SET,
|
|
+ ETHTOOL_MSG_PAUSE_GET,
|
|
+ ETHTOOL_MSG_PAUSE_SET,
|
|
+ ETHTOOL_MSG_EEE_GET,
|
|
+ ETHTOOL_MSG_EEE_SET,
|
|
+ ETHTOOL_MSG_TSINFO_GET,
|
|
+ ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
+ ETHTOOL_MSG_FEC_GET,
|
|
+ ETHTOOL_MSG_FEC_SET,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
+ ETHTOOL_MSG_STATS_GET,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
+ ETHTOOL_MSG_MODULE_GET,
|
|
+ ETHTOOL_MSG_MODULE_SET,
|
|
+ ETHTOOL_MSG_PSE_GET,
|
|
+ ETHTOOL_MSG_PSE_SET,
|
|
+ ETHTOOL_MSG_RSS_GET,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_SET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
+ ETHTOOL_MSG_MM_GET,
|
|
+ ETHTOOL_MSG_MM_SET,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
+ ETHTOOL_MSG_PHY_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET,
|
|
+
|
|
+ __ETHTOOL_MSG_USER_CNT,
|
|
+ ETHTOOL_MSG_USER_MAX = (__ETHTOOL_MSG_USER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_KERNEL_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET_REPLY = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKINFO_NTF,
|
|
+ ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKMODES_NTF,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_NTF,
|
|
+ ETHTOOL_MSG_WOL_GET_REPLY,
|
|
+ ETHTOOL_MSG_WOL_NTF,
|
|
+ ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_NTF,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
+ ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_RINGS_NTF,
|
|
+ ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
+ ETHTOOL_MSG_CHANNELS_NTF,
|
|
+ ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
+ ETHTOOL_MSG_COALESCE_NTF,
|
|
+ ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_PAUSE_NTF,
|
|
+ ETHTOOL_MSG_EEE_GET_REPLY,
|
|
+ ETHTOOL_MSG_EEE_NTF,
|
|
+ ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_NTF,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
+ ETHTOOL_MSG_STATS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_NTF,
|
|
+ ETHTOOL_MSG_PSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_RSS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_NTF,
|
|
+ ETHTOOL_MSG_MM_GET_REPLY,
|
|
+ ETHTOOL_MSG_MM_NTF,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
+ ETHTOOL_MSG_PHY_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHY_NTF,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET_REPLY,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET_REPLY,
|
|
+
|
|
+ __ETHTOOL_MSG_KERNEL_CNT,
|
|
+ ETHTOOL_MSG_KERNEL_MAX = (__ETHTOOL_MSG_KERNEL_CNT - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_ETHTOOL_NETLINK_GENERATED_H */
|
|
--- a/alpha/usr/include/linux/fs.h
|
|
+++ b/alpha/usr/include/linux/fs.h
|
|
@@ -36,6 +36,15 @@
|
|
#define BLOCK_SIZE_BITS 10
|
|
#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
|
|
|
|
+/* flags for integrity meta */
|
|
+#define IO_INTEGRITY_CHK_GUARD (1U << 0) /* enforce guard check */
|
|
+#define IO_INTEGRITY_CHK_REFTAG (1U << 1) /* enforce ref check */
|
|
+#define IO_INTEGRITY_CHK_APPTAG (1U << 2) /* enforce app check */
|
|
+
|
|
+#define IO_INTEGRITY_VALID_FLAGS (IO_INTEGRITY_CHK_GUARD | \
|
|
+ IO_INTEGRITY_CHK_REFTAG | \
|
|
+ IO_INTEGRITY_CHK_APPTAG)
|
|
+
|
|
#define SEEK_SET 0 /* seek relative to beginning of file */
|
|
#define SEEK_CUR 1 /* seek relative to current file position */
|
|
#define SEEK_END 2 /* seek relative to end of file */
|
|
--- a/alpha/usr/include/linux/hidraw.h
|
|
+++ b/alpha/usr/include/linux/hidraw.h
|
|
@@ -48,6 +48,8 @@ struct hidraw_devinfo {
|
|
#define HIDIOCGOUTPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0C, len)
|
|
#define HIDIOCREVOKE _IOW('H', 0x0D, int) /* Revoke device access */
|
|
|
|
+#define HIDIOCTL_LAST _IOC_NR(HIDIOCREVOKE)
|
|
+
|
|
#define HIDRAW_FIRST_MINOR 0
|
|
#define HIDRAW_MAX_DEVICES 64
|
|
/* number of reports to buffer */
|
|
--- a/alpha/usr/include/linux/if_link.h
|
|
+++ b/alpha/usr/include/linux/if_link.h
|
|
@@ -377,6 +377,7 @@ enum {
|
|
IFLA_GSO_IPV4_MAX_SIZE,
|
|
IFLA_GRO_IPV4_MAX_SIZE,
|
|
IFLA_DPLL_PIN,
|
|
+ IFLA_MAX_PACING_OFFLOAD_HORIZON,
|
|
__IFLA_MAX
|
|
};
|
|
|
|
--- a/alpha/usr/include/linux/input-event-codes.h
|
|
+++ b/alpha/usr/include/linux/input-event-codes.h
|
|
@@ -519,6 +519,7 @@
|
|
#define KEY_NOTIFICATION_CENTER 0x1bc /* Show/hide the notification center */
|
|
#define KEY_PICKUP_PHONE 0x1bd /* Answer incoming call */
|
|
#define KEY_HANGUP_PHONE 0x1be /* Decline incoming call */
|
|
+#define KEY_LINK_PHONE 0x1bf /* AL Phone Syncing */
|
|
|
|
#define KEY_DEL_EOL 0x1c0
|
|
#define KEY_DEL_EOS 0x1c1
|
|
--- a/alpha/usr/include/linux/io_uring.h
|
|
+++ b/alpha/usr/include/linux/io_uring.h
|
|
@@ -98,6 +98,10 @@ struct io_uring_sqe {
|
|
__u64 addr3;
|
|
__u64 __pad2[1];
|
|
};
|
|
+ struct {
|
|
+ __u64 attr_ptr; /* pointer to attribute information */
|
|
+ __u64 attr_type_mask; /* bit mask of attributes */
|
|
+ };
|
|
__u64 optval;
|
|
/*
|
|
* If the ring is initialized with IORING_SETUP_SQE128, then
|
|
@@ -107,6 +111,18 @@ struct io_uring_sqe {
|
|
};
|
|
};
|
|
|
|
+/* sqe->attr_type_mask flags */
|
|
+#define IORING_RW_ATTR_FLAG_PI (1U << 0)
|
|
+/* PI attribute information */
|
|
+struct io_uring_attr_pi {
|
|
+ __u16 flags;
|
|
+ __u16 app_tag;
|
|
+ __u32 len;
|
|
+ __u64 addr;
|
|
+ __u64 seed;
|
|
+ __u64 rsvd;
|
|
+};
|
|
+
|
|
/*
|
|
* If sqe->file_index is set to this for opcodes that instantiate a new
|
|
* direct descriptor (like openat/openat2/accept), then io_uring will allocate
|
|
@@ -554,6 +570,7 @@ struct io_uring_params {
|
|
#define IORING_FEAT_REG_REG_RING (1U << 13)
|
|
#define IORING_FEAT_RECVSEND_BUNDLE (1U << 14)
|
|
#define IORING_FEAT_MIN_TIMEOUT (1U << 15)
|
|
+#define IORING_FEAT_RW_ATTR (1U << 16)
|
|
|
|
/*
|
|
* io_uring_register(2) opcodes and arguments
|
|
--- a/alpha/usr/include/linux/iommufd.h
|
|
+++ b/alpha/usr/include/linux/iommufd.h
|
|
@@ -737,6 +737,7 @@ enum iommu_hwpt_pgfault_perm {
|
|
* @pasid: Process Address Space ID
|
|
* @grpid: Page Request Group Index
|
|
* @perm: Combination of enum iommu_hwpt_pgfault_perm
|
|
+ * @__reserved: Must be 0.
|
|
* @addr: Fault address
|
|
* @length: a hint of how much data the requestor is expecting to fetch. For
|
|
* example, if the PRI initiator knows it is going to do a 10MB
|
|
@@ -752,7 +753,8 @@ struct iommu_hwpt_pgfault {
|
|
__u32 pasid;
|
|
__u32 grpid;
|
|
__u32 perm;
|
|
- __u64 addr;
|
|
+ __u32 __reserved;
|
|
+ __aligned_u64 addr;
|
|
__u32 length;
|
|
__u32 cookie;
|
|
};
|
|
--- a/alpha/usr/include/linux/kfd_ioctl.h
|
|
+++ b/alpha/usr/include/linux/kfd_ioctl.h
|
|
@@ -62,6 +62,8 @@ struct kfd_ioctl_get_version_args {
|
|
#define KFD_MAX_QUEUE_PERCENTAGE 100
|
|
#define KFD_MAX_QUEUE_PRIORITY 15
|
|
|
|
+#define KFD_MIN_QUEUE_RING_SIZE 1024
|
|
+
|
|
struct kfd_ioctl_create_queue_args {
|
|
__u64 ring_base_address; /* to KFD */
|
|
__u64 write_pointer_address; /* from KFD */
|
|
--- a/alpha/usr/include/linux/landlock.h
|
|
+++ b/alpha/usr/include/linux/landlock.h
|
|
@@ -57,9 +57,11 @@ struct landlock_ruleset_attr {
|
|
*
|
|
* - %LANDLOCK_CREATE_RULESET_VERSION: Get the highest supported Landlock ABI
|
|
* version.
|
|
+ * - %LANDLOCK_CREATE_RULESET_ERRATA: Get a bitmask of fixed issues.
|
|
*/
|
|
/* clang-format off */
|
|
#define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
|
|
+#define LANDLOCK_CREATE_RULESET_ERRATA (1U << 1)
|
|
/* clang-format on */
|
|
|
|
/**
|
|
--- /dev/null
|
|
+++ b/alpha/usr/include/linux/livepatch.h
|
|
@@ -0,0 +1,15 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+
|
|
+/*
|
|
+ * livepatch.h - Kernel Live Patching Core
|
|
+ *
|
|
+ * Copyright (C) 2016 Josh Poimboeuf <jpoimboe@redhat.com>
|
|
+ */
|
|
+
|
|
+#ifndef _LIVEPATCH_H
|
|
+#define _LIVEPATCH_H
|
|
+
|
|
+#define KLP_RELA_PREFIX ".klp.rela."
|
|
+#define KLP_SYM_PREFIX ".klp.sym."
|
|
+
|
|
+#endif /* _LIVEPATCH_H */
|
|
--- /dev/null
|
|
+++ b/alpha/usr/include/linux/mshv.h
|
|
@@ -0,0 +1,291 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+/*
|
|
+ * Userspace interfaces for /dev/mshv* devices and derived fds
|
|
+ *
|
|
+ * This file is divided into sections containing data structures and IOCTLs for
|
|
+ * a particular set of related devices or derived file descriptors.
|
|
+ *
|
|
+ * The IOCTL definitions are at the end of each section. They are grouped by
|
|
+ * device/fd, so that new IOCTLs can easily be added with a monotonically
|
|
+ * increasing number.
|
|
+ */
|
|
+#ifndef _LINUX_MSHV_H
|
|
+#define _LINUX_MSHV_H
|
|
+
|
|
+#include <linux/types.h>
|
|
+
|
|
+#define MSHV_IOCTL 0xB8
|
|
+
|
|
+/*
|
|
+ *******************************************
|
|
+ * Entry point to main VMM APIs: /dev/mshv *
|
|
+ *******************************************
|
|
+ */
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_BIT_LAPIC,
|
|
+ MSHV_PT_BIT_X2APIC,
|
|
+ MSHV_PT_BIT_GPA_SUPER_PAGES,
|
|
+ MSHV_PT_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_PT_FLAGS_MASK ((1 << MSHV_PT_BIT_COUNT) - 1)
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_ISOLATION_NONE,
|
|
+ MSHV_PT_ISOLATION_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_create_partition - arguments for MSHV_CREATE_PARTITION
|
|
+ * @pt_flags: Bitmask of 1 << MSHV_PT_BIT_*
|
|
+ * @pt_isolation: MSHV_PT_ISOLATION_*
|
|
+ *
|
|
+ * Returns a file descriptor to act as a handle to a guest partition.
|
|
+ * At this point the partition is not yet initialized in the hypervisor.
|
|
+ * Some operations must be done with the partition in this state, e.g. setting
|
|
+ * so-called "early" partition properties. The partition can then be
|
|
+ * initialized with MSHV_INITIALIZE_PARTITION.
|
|
+ */
|
|
+struct mshv_create_partition {
|
|
+ __u64 pt_flags;
|
|
+ __u64 pt_isolation;
|
|
+};
|
|
+
|
|
+/* /dev/mshv */
|
|
+#define MSHV_CREATE_PARTITION _IOW(MSHV_IOCTL, 0x00, struct mshv_create_partition)
|
|
+
|
|
+/*
|
|
+ ************************
|
|
+ * Child partition APIs *
|
|
+ ************************
|
|
+ */
|
|
+
|
|
+struct mshv_create_vp {
|
|
+ __u32 vp_index;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_SET_MEM_BIT_WRITABLE,
|
|
+ MSHV_SET_MEM_BIT_EXECUTABLE,
|
|
+ MSHV_SET_MEM_BIT_UNMAP,
|
|
+ MSHV_SET_MEM_BIT_COUNT
|
|
+};
|
|
+
|
|
+#define MSHV_SET_MEM_FLAGS_MASK ((1 << MSHV_SET_MEM_BIT_COUNT) - 1)
|
|
+
|
|
+/* The hypervisor's "native" page size */
|
|
+#define MSHV_HV_PAGE_SIZE 0x1000
|
|
+
|
|
+/**
|
|
+ * struct mshv_user_mem_region - arguments for MSHV_SET_GUEST_MEMORY
|
|
+ * @size: Size of the memory region (bytes). Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @guest_pfn: Base guest page number to map
|
|
+ * @userspace_addr: Base address of userspace memory. Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @flags: Bitmask of 1 << MSHV_SET_MEM_BIT_*. If (1 << MSHV_SET_MEM_BIT_UNMAP)
|
|
+ * is set, ignore other bits.
|
|
+ * @rsvd: MBZ
|
|
+ *
|
|
+ * Map or unmap a region of userspace memory to Guest Physical Addresses (GPA).
|
|
+ * Mappings can't overlap in GPA space or userspace.
|
|
+ * To unmap, these fields must match an existing mapping.
|
|
+ */
|
|
+struct mshv_user_mem_region {
|
|
+ __u64 size;
|
|
+ __u64 guest_pfn;
|
|
+ __u64 userspace_addr;
|
|
+ __u8 flags;
|
|
+ __u8 rsvd[7];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IRQFD_BIT_DEASSIGN,
|
|
+ MSHV_IRQFD_BIT_RESAMPLE,
|
|
+ MSHV_IRQFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IRQFD_FLAGS_MASK ((1 << MSHV_IRQFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_irqfd {
|
|
+ __s32 fd;
|
|
+ __s32 resamplefd;
|
|
+ __u32 gsi;
|
|
+ __u32 flags;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IOEVENTFD_BIT_DATAMATCH,
|
|
+ MSHV_IOEVENTFD_BIT_PIO,
|
|
+ MSHV_IOEVENTFD_BIT_DEASSIGN,
|
|
+ MSHV_IOEVENTFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IOEVENTFD_FLAGS_MASK ((1 << MSHV_IOEVENTFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_ioeventfd {
|
|
+ __u64 datamatch;
|
|
+ __u64 addr; /* legal pio/mmio address */
|
|
+ __u32 len; /* 1, 2, 4, or 8 bytes */
|
|
+ __s32 fd;
|
|
+ __u32 flags;
|
|
+ __u8 rsvd[4];
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_entry {
|
|
+ __u32 gsi;
|
|
+ __u32 address_lo;
|
|
+ __u32 address_hi;
|
|
+ __u32 data;
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_table {
|
|
+ __u32 nr;
|
|
+ __u32 rsvd; /* MBZ */
|
|
+ struct mshv_user_irq_entry entries[];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_TYPE_ACCESSED,
|
|
+ MSHV_GPAP_ACCESS_TYPE_DIRTY,
|
|
+ MSHV_GPAP_ACCESS_TYPE_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_OP_NOOP,
|
|
+ MSHV_GPAP_ACCESS_OP_CLEAR,
|
|
+ MSHV_GPAP_ACCESS_OP_SET,
|
|
+ MSHV_GPAP_ACCESS_OP_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_gpap_access_bitmap - arguments for MSHV_GET_GPAP_ACCESS_BITMAP
|
|
+ * @access_type: MSHV_GPAP_ACCESS_TYPE_* - The type of access to record in the
|
|
+ * bitmap
|
|
+ * @access_op: MSHV_GPAP_ACCESS_OP_* - Allows an optional clear or set of all
|
|
+ * the access states in the range, after retrieving the current
|
|
+ * states.
|
|
+ * @rsvd: MBZ
|
|
+ * @page_count: Number of pages
|
|
+ * @gpap_base: Base gpa page number
|
|
+ * @bitmap_ptr: Output buffer for bitmap, at least (page_count + 7) / 8 bytes
|
|
+ *
|
|
+ * Retrieve a bitmap of either ACCESSED or DIRTY bits for a given range of guest
|
|
+ * memory, and optionally clear or set the bits.
|
|
+ */
|
|
+struct mshv_gpap_access_bitmap {
|
|
+ __u8 access_type;
|
|
+ __u8 access_op;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 page_count;
|
|
+ __u64 gpap_base;
|
|
+ __u64 bitmap_ptr;
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_root_hvcall - arguments for MSHV_ROOT_HVCALL
|
|
+ * @code: Hypercall code (HVCALL_*)
|
|
+ * @reps: in: Rep count ('repcount')
|
|
+ * out: Reps completed ('repcomp'). MBZ unless rep hvcall
|
|
+ * @in_sz: Size of input incl rep data. <= MSHV_HV_PAGE_SIZE
|
|
+ * @out_sz: Size of output buffer. <= MSHV_HV_PAGE_SIZE. MBZ if out_ptr is 0
|
|
+ * @status: in: MBZ
|
|
+ * out: HV_STATUS_* from hypercall
|
|
+ * @rsvd: MBZ
|
|
+ * @in_ptr: Input data buffer (struct hv_input_*). If used with partition or
|
|
+ * vp fd, partition id field is populated by kernel.
|
|
+ * @out_ptr: Output data buffer (optional)
|
|
+ */
|
|
+struct mshv_root_hvcall {
|
|
+ __u16 code;
|
|
+ __u16 reps;
|
|
+ __u16 in_sz;
|
|
+ __u16 out_sz;
|
|
+ __u16 status;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 in_ptr;
|
|
+ __u64 out_ptr;
|
|
+};
|
|
+
|
|
+/* Partition fds created with MSHV_CREATE_PARTITION */
|
|
+#define MSHV_INITIALIZE_PARTITION _IO(MSHV_IOCTL, 0x00)
|
|
+#define MSHV_CREATE_VP _IOW(MSHV_IOCTL, 0x01, struct mshv_create_vp)
|
|
+#define MSHV_SET_GUEST_MEMORY _IOW(MSHV_IOCTL, 0x02, struct mshv_user_mem_region)
|
|
+#define MSHV_IRQFD _IOW(MSHV_IOCTL, 0x03, struct mshv_user_irqfd)
|
|
+#define MSHV_IOEVENTFD _IOW(MSHV_IOCTL, 0x04, struct mshv_user_ioeventfd)
|
|
+#define MSHV_SET_MSI_ROUTING _IOW(MSHV_IOCTL, 0x05, struct mshv_user_irq_table)
|
|
+#define MSHV_GET_GPAP_ACCESS_BITMAP _IOWR(MSHV_IOCTL, 0x06, struct mshv_gpap_access_bitmap)
|
|
+/* Generic hypercall */
|
|
+#define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+
|
|
+/*
|
|
+ ********************************
|
|
+ * VP APIs for child partitions *
|
|
+ ********************************
|
|
+ */
|
|
+
|
|
+#define MSHV_RUN_VP_BUF_SZ 256
|
|
+
|
|
+/*
|
|
+ * VP state pages may be mapped to userspace via mmap().
|
|
+ * To specify which state page, use MSHV_VP_MMAP_OFFSET_ values multiplied by
|
|
+ * the system page size.
|
|
+ * e.g.
|
|
+ * long page_size = sysconf(_SC_PAGE_SIZE);
|
|
+ * void *reg_page = mmap(NULL, MSHV_HV_PAGE_SIZE, PROT_READ|PROT_WRITE,
|
|
+ * MAP_SHARED, vp_fd,
|
|
+ * MSHV_VP_MMAP_OFFSET_REGISTERS * page_size);
|
|
+ */
|
|
+enum {
|
|
+ MSHV_VP_MMAP_OFFSET_REGISTERS,
|
|
+ MSHV_VP_MMAP_OFFSET_INTERCEPT_MESSAGE,
|
|
+ MSHV_VP_MMAP_OFFSET_GHCB,
|
|
+ MSHV_VP_MMAP_OFFSET_COUNT
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_run_vp - argument for MSHV_RUN_VP
|
|
+ * @msg_buf: On success, the intercept message is copied here. It can be
|
|
+ * interpreted using the relevant hypervisor definitions.
|
|
+ */
|
|
+struct mshv_run_vp {
|
|
+ __u8 msg_buf[MSHV_RUN_VP_BUF_SZ];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_VP_STATE_LAPIC, /* Local interrupt controller state (either arch) */
|
|
+ MSHV_VP_STATE_XSAVE, /* XSAVE data in compacted form (x86_64) */
|
|
+ MSHV_VP_STATE_SIMP,
|
|
+ MSHV_VP_STATE_SIEFP,
|
|
+ MSHV_VP_STATE_SYNTHETIC_TIMERS,
|
|
+ MSHV_VP_STATE_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_get_set_vp_state - arguments for MSHV_[GET,SET]_VP_STATE
|
|
+ * @type: MSHV_VP_STATE_*
|
|
+ * @rsvd: MBZ
|
|
+ * @buf_sz: in: 4k page-aligned size of buffer
|
|
+ * out: Actual size of data (on EINVAL, check this to see if buffer
|
|
+ * was too small)
|
|
+ * @buf_ptr: 4k page-aligned data buffer
|
|
+ */
|
|
+struct mshv_get_set_vp_state {
|
|
+ __u8 type;
|
|
+ __u8 rsvd[3];
|
|
+ __u32 buf_sz;
|
|
+ __u64 buf_ptr;
|
|
+};
|
|
+
|
|
+/* VP fds created with MSHV_CREATE_VP */
|
|
+#define MSHV_RUN_VP _IOR(MSHV_IOCTL, 0x00, struct mshv_run_vp)
|
|
+#define MSHV_GET_VP_STATE _IOWR(MSHV_IOCTL, 0x01, struct mshv_get_set_vp_state)
|
|
+#define MSHV_SET_VP_STATE _IOWR(MSHV_IOCTL, 0x02, struct mshv_get_set_vp_state)
|
|
+/*
|
|
+ * Generic hypercall
|
|
+ * Defined above in partition IOCTLs, avoid redefining it here
|
|
+ * #define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+ */
|
|
+
|
|
+#endif
|
|
--- /dev/null
|
|
+++ b/alpha/usr/include/linux/net_shaper.h
|
|
@@ -0,0 +1,95 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/net_shaper.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_NET_SHAPER_H
|
|
+#define _LINUX_NET_SHAPER_H
|
|
+
|
|
+#define NET_SHAPER_FAMILY_NAME "net-shaper"
|
|
+#define NET_SHAPER_FAMILY_VERSION 1
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_scope - Defines the shaper @id interpretation.
|
|
+ * @NET_SHAPER_SCOPE_UNSPEC: The scope is not specified.
|
|
+ * @NET_SHAPER_SCOPE_NETDEV: The main shaper for the given network device.
|
|
+ * @NET_SHAPER_SCOPE_QUEUE: The shaper is attached to the given device queue,
|
|
+ * the @id represents the queue number.
|
|
+ * @NET_SHAPER_SCOPE_NODE: The shaper allows grouping of queues or other node
|
|
+ * shapers; can be nested in either @netdev shapers or other @node shapers,
|
|
+ * allowing placement in any location of the scheduling tree, except leaves
|
|
+ * and root.
|
|
+ */
|
|
+enum net_shaper_scope {
|
|
+ NET_SHAPER_SCOPE_UNSPEC,
|
|
+ NET_SHAPER_SCOPE_NETDEV,
|
|
+ NET_SHAPER_SCOPE_QUEUE,
|
|
+ NET_SHAPER_SCOPE_NODE,
|
|
+
|
|
+ /* private: */
|
|
+ __NET_SHAPER_SCOPE_MAX,
|
|
+ NET_SHAPER_SCOPE_MAX = (__NET_SHAPER_SCOPE_MAX - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_metric - Different metric supported by the shaper.
|
|
+ * @NET_SHAPER_METRIC_BPS: Shaper operates on a bits per second basis.
|
|
+ * @NET_SHAPER_METRIC_PPS: Shaper operates on a packets per second basis.
|
|
+ */
|
|
+enum net_shaper_metric {
|
|
+ NET_SHAPER_METRIC_BPS,
|
|
+ NET_SHAPER_METRIC_PPS,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE = 1,
|
|
+ NET_SHAPER_A_METRIC,
|
|
+ NET_SHAPER_A_BW_MIN,
|
|
+ NET_SHAPER_A_BW_MAX,
|
|
+ NET_SHAPER_A_BURST,
|
|
+ NET_SHAPER_A_PRIORITY,
|
|
+ NET_SHAPER_A_WEIGHT,
|
|
+ NET_SHAPER_A_IFINDEX,
|
|
+ NET_SHAPER_A_PARENT,
|
|
+ NET_SHAPER_A_LEAVES,
|
|
+
|
|
+ __NET_SHAPER_A_MAX,
|
|
+ NET_SHAPER_A_MAX = (__NET_SHAPER_A_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE_SCOPE = 1,
|
|
+ NET_SHAPER_A_HANDLE_ID,
|
|
+
|
|
+ __NET_SHAPER_A_HANDLE_MAX,
|
|
+ NET_SHAPER_A_HANDLE_MAX = (__NET_SHAPER_A_HANDLE_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_CAPS_IFINDEX = 1,
|
|
+ NET_SHAPER_A_CAPS_SCOPE,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_BPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_PPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_NESTING,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MIN,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MAX,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BURST,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_PRIORITY,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_WEIGHT,
|
|
+
|
|
+ __NET_SHAPER_A_CAPS_MAX,
|
|
+ NET_SHAPER_A_CAPS_MAX = (__NET_SHAPER_A_CAPS_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_CMD_GET = 1,
|
|
+ NET_SHAPER_CMD_SET,
|
|
+ NET_SHAPER_CMD_DELETE,
|
|
+ NET_SHAPER_CMD_GROUP,
|
|
+ NET_SHAPER_CMD_CAP_GET,
|
|
+
|
|
+ __NET_SHAPER_CMD_MAX,
|
|
+ NET_SHAPER_CMD_MAX = (__NET_SHAPER_CMD_MAX - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_NET_SHAPER_H */
|
|
--- a/alpha/usr/include/linux/net_tstamp.h
|
|
+++ b/alpha/usr/include/linux/net_tstamp.h
|
|
@@ -13,6 +13,17 @@
|
|
#include <linux/types.h>
|
|
#include <linux/socket.h> /* for SO_TIMESTAMPING */
|
|
|
|
+/*
|
|
+ * Possible type of hwtstamp provider. Mainly "precise" the default one
|
|
+ * is for IEEE 1588 quality and "approx" is for NICs DMA point.
|
|
+ */
|
|
+enum hwtstamp_provider_qualifier {
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_PRECISE,
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_APPROX,
|
|
+
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_CNT,
|
|
+};
|
|
+
|
|
/* SO_TIMESTAMPING flags */
|
|
enum {
|
|
SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
|
|
--- a/alpha/usr/include/linux/netdev.h
|
|
+++ b/alpha/usr/include/linux/netdev.h
|
|
@@ -122,6 +122,9 @@ enum {
|
|
NETDEV_A_NAPI_ID,
|
|
NETDEV_A_NAPI_IRQ,
|
|
NETDEV_A_NAPI_PID,
|
|
+ NETDEV_A_NAPI_DEFER_HARD_IRQS,
|
|
+ NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT,
|
|
+ NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT,
|
|
|
|
__NETDEV_A_NAPI_MAX,
|
|
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
|
@@ -199,6 +202,7 @@ enum {
|
|
NETDEV_CMD_NAPI_GET,
|
|
NETDEV_CMD_QSTATS_GET,
|
|
NETDEV_CMD_BIND_RX,
|
|
+ NETDEV_CMD_NAPI_SET,
|
|
|
|
__NETDEV_CMD_MAX,
|
|
NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)
|
|
--- a/alpha/usr/include/linux/nl80211.h
|
|
+++ b/alpha/usr/include/linux/nl80211.h
|
|
@@ -4294,6 +4294,8 @@ enum nl80211_wmm_rule {
|
|
* otherwise completely disabled.
|
|
* @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a
|
|
* very low power (VLP) AP, despite being NO_IR.
|
|
+ * @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in
|
|
+ * 20 MHz bandwidth, despite being NO_IR.
|
|
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
|
* currently defined
|
|
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
|
@@ -4338,6 +4340,7 @@ enum nl80211_frequency_attr {
|
|
NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
|
|
NL80211_FREQUENCY_ATTR_CAN_MONITOR,
|
|
NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
|
|
+ NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY,
|
|
|
|
/* keep last */
|
|
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
|
@@ -4549,31 +4552,34 @@ enum nl80211_sched_scan_match_attr {
|
|
* @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed
|
|
* @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted
|
|
* despite NO_IR configuration.
|
|
+ * @NL80211_RRF_ALLOW_20MHZ_ACTIVITY: Allow activity in 20 MHz bandwidth,
|
|
+ * despite NO_IR configuration.
|
|
*/
|
|
enum nl80211_reg_rule_flags {
|
|
- NL80211_RRF_NO_OFDM = 1<<0,
|
|
- NL80211_RRF_NO_CCK = 1<<1,
|
|
- NL80211_RRF_NO_INDOOR = 1<<2,
|
|
- NL80211_RRF_NO_OUTDOOR = 1<<3,
|
|
- NL80211_RRF_DFS = 1<<4,
|
|
- NL80211_RRF_PTP_ONLY = 1<<5,
|
|
- NL80211_RRF_PTMP_ONLY = 1<<6,
|
|
- NL80211_RRF_NO_IR = 1<<7,
|
|
- __NL80211_RRF_NO_IBSS = 1<<8,
|
|
- NL80211_RRF_AUTO_BW = 1<<11,
|
|
- NL80211_RRF_IR_CONCURRENT = 1<<12,
|
|
- NL80211_RRF_NO_HT40MINUS = 1<<13,
|
|
- NL80211_RRF_NO_HT40PLUS = 1<<14,
|
|
- NL80211_RRF_NO_80MHZ = 1<<15,
|
|
- NL80211_RRF_NO_160MHZ = 1<<16,
|
|
- NL80211_RRF_NO_HE = 1<<17,
|
|
- NL80211_RRF_NO_320MHZ = 1<<18,
|
|
- NL80211_RRF_NO_EHT = 1<<19,
|
|
- NL80211_RRF_PSD = 1<<20,
|
|
- NL80211_RRF_DFS_CONCURRENT = 1<<21,
|
|
- NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22,
|
|
- NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23,
|
|
- NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24,
|
|
+ NL80211_RRF_NO_OFDM = 1 << 0,
|
|
+ NL80211_RRF_NO_CCK = 1 << 1,
|
|
+ NL80211_RRF_NO_INDOOR = 1 << 2,
|
|
+ NL80211_RRF_NO_OUTDOOR = 1 << 3,
|
|
+ NL80211_RRF_DFS = 1 << 4,
|
|
+ NL80211_RRF_PTP_ONLY = 1 << 5,
|
|
+ NL80211_RRF_PTMP_ONLY = 1 << 6,
|
|
+ NL80211_RRF_NO_IR = 1 << 7,
|
|
+ __NL80211_RRF_NO_IBSS = 1 << 8,
|
|
+ NL80211_RRF_AUTO_BW = 1 << 11,
|
|
+ NL80211_RRF_IR_CONCURRENT = 1 << 12,
|
|
+ NL80211_RRF_NO_HT40MINUS = 1 << 13,
|
|
+ NL80211_RRF_NO_HT40PLUS = 1 << 14,
|
|
+ NL80211_RRF_NO_80MHZ = 1 << 15,
|
|
+ NL80211_RRF_NO_160MHZ = 1 << 16,
|
|
+ NL80211_RRF_NO_HE = 1 << 17,
|
|
+ NL80211_RRF_NO_320MHZ = 1 << 18,
|
|
+ NL80211_RRF_NO_EHT = 1 << 19,
|
|
+ NL80211_RRF_PSD = 1 << 20,
|
|
+ NL80211_RRF_DFS_CONCURRENT = 1 << 21,
|
|
+ NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22,
|
|
+ NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23,
|
|
+ NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24,
|
|
+ NL80211_RRF_ALLOW_20MHZ_ACTIVITY = 1 << 25,
|
|
};
|
|
|
|
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
|
|
--- a/alpha/usr/include/linux/pci_regs.h
|
|
+++ b/alpha/usr/include/linux/pci_regs.h
|
|
@@ -340,7 +340,8 @@
|
|
#define PCI_MSIX_ENTRY_UPPER_ADDR 0x4 /* Message Upper Address */
|
|
#define PCI_MSIX_ENTRY_DATA 0x8 /* Message Data */
|
|
#define PCI_MSIX_ENTRY_VECTOR_CTRL 0xc /* Vector Control */
|
|
-#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001
|
|
+#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001 /* Mask Bit */
|
|
+#define PCI_MSIX_ENTRY_CTRL_ST 0xffff0000 /* Steering Tag */
|
|
|
|
/* CompactPCI Hotswap Register */
|
|
|
|
@@ -659,6 +660,7 @@
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP64 0x00000100 /* 64b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP128 0x00000200 /* 128b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_LTR 0x00000800 /* Latency tolerance reporting */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_MASK 0x00003000 /* TPH completer support */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000 /* OBFF support mechanism */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000 /* New message signaling */
|
|
#define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
|
|
@@ -1023,15 +1025,34 @@
|
|
#define PCI_DPA_CAP_SUBSTATE_MASK 0x1F /* # substates - 1 */
|
|
#define PCI_DPA_BASE_SIZEOF 16 /* size with 0 substates */
|
|
|
|
+/* TPH Completer Support */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_NONE 0x0 /* None */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_TPH_ONLY 0x1 /* TPH only */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_EXT_TPH 0x3 /* TPH and Extended TPH */
|
|
+
|
|
/* TPH Requester */
|
|
#define PCI_TPH_CAP 4 /* capability register */
|
|
-#define PCI_TPH_CAP_LOC_MASK 0x600 /* location mask */
|
|
-#define PCI_TPH_LOC_NONE 0x000 /* no location */
|
|
-#define PCI_TPH_LOC_CAP 0x200 /* in capability */
|
|
-#define PCI_TPH_LOC_MSIX 0x400 /* in MSI-X */
|
|
-#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST table mask */
|
|
-#define PCI_TPH_CAP_ST_SHIFT 16 /* ST table shift */
|
|
-#define PCI_TPH_BASE_SIZEOF 0xc /* size with no ST table */
|
|
+#define PCI_TPH_CAP_ST_NS 0x00000001 /* No ST Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_IV 0x00000002 /* Interrupt Vector Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_DS 0x00000004 /* Device Specific Mode Supported */
|
|
+#define PCI_TPH_CAP_EXT_TPH 0x00000100 /* Ext TPH Requester Supported */
|
|
+#define PCI_TPH_CAP_LOC_MASK 0x00000600 /* ST Table Location */
|
|
+#define PCI_TPH_LOC_NONE 0x00000000 /* Not present */
|
|
+#define PCI_TPH_LOC_CAP 0x00000200 /* In capability */
|
|
+#define PCI_TPH_LOC_MSIX 0x00000400 /* In MSI-X */
|
|
+#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST Table Size */
|
|
+#define PCI_TPH_CAP_ST_SHIFT 16 /* ST Table Size shift */
|
|
+#define PCI_TPH_BASE_SIZEOF 0xc /* Size with no ST table */
|
|
+
|
|
+#define PCI_TPH_CTRL 8 /* control register */
|
|
+#define PCI_TPH_CTRL_MODE_SEL_MASK 0x00000007 /* ST Mode Select */
|
|
+#define PCI_TPH_ST_NS_MODE 0x0 /* No ST Mode */
|
|
+#define PCI_TPH_ST_IV_MODE 0x1 /* Interrupt Vector Mode */
|
|
+#define PCI_TPH_ST_DS_MODE 0x2 /* Device Specific Mode */
|
|
+#define PCI_TPH_CTRL_REQ_EN_MASK 0x00000300 /* TPH Requester Enable */
|
|
+#define PCI_TPH_REQ_DISABLE 0x0 /* No TPH requests allowed */
|
|
+#define PCI_TPH_REQ_TPH_ONLY 0x1 /* TPH only requests allowed */
|
|
+#define PCI_TPH_REQ_EXT_TPH 0x3 /* Extended TPH requests allowed */
|
|
|
|
/* Downstream Port Containment */
|
|
#define PCI_EXP_DPC_CAP 0x04 /* DPC Capability */
|
|
--- a/alpha/usr/include/linux/perf_event.h
|
|
+++ b/alpha/usr/include/linux/perf_event.h
|
|
@@ -385,6 +385,8 @@ enum perf_event_read_format {
|
|
*
|
|
* @sample_max_stack: Max number of frame pointers in a callchain,
|
|
* should be < /proc/sys/kernel/perf_event_max_stack
|
|
+ * Max number of entries of branch stack
|
|
+ * should be < hardware limit
|
|
*/
|
|
struct perf_event_attr {
|
|
|
|
@@ -511,7 +513,16 @@ struct perf_event_attr {
|
|
__u16 sample_max_stack;
|
|
__u16 __reserved_2;
|
|
__u32 aux_sample_size;
|
|
- __u32 __reserved_3;
|
|
+
|
|
+ union {
|
|
+ __u32 aux_action;
|
|
+ struct {
|
|
+ __u32 aux_start_paused : 1, /* start AUX area tracing paused */
|
|
+ aux_pause : 1, /* on overflow, pause AUX area tracing */
|
|
+ aux_resume : 1, /* on overflow, resume AUX area tracing */
|
|
+ __reserved_3 : 29;
|
|
+ };
|
|
+ };
|
|
|
|
/*
|
|
* User provided data if sigtrap=1, passed back to user via
|
|
--- a/alpha/usr/include/linux/pfrut.h
|
|
+++ b/alpha/usr/include/linux/pfrut.h
|
|
@@ -89,6 +89,7 @@ struct pfru_payload_hdr {
|
|
__u32 hw_ver;
|
|
__u32 rt_ver;
|
|
__u8 platform_id[16];
|
|
+ __u32 svn_ver;
|
|
};
|
|
|
|
enum pfru_dsm_status {
|
|
--- a/alpha/usr/include/linux/pidfd.h
|
|
+++ b/alpha/usr/include/linux/pidfd.h
|
|
@@ -16,6 +16,56 @@
|
|
#define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1)
|
|
#define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2)
|
|
|
|
+/* Flags for pidfd_info. */
|
|
+#define PIDFD_INFO_PID (1UL << 0) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CREDS (1UL << 1) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CGROUPID (1UL << 2) /* Always returned if available, even if not requested */
|
|
+#define PIDFD_INFO_EXIT (1UL << 3) /* Only returned if requested. */
|
|
+
|
|
+#define PIDFD_INFO_SIZE_VER0 64 /* sizeof first published struct */
|
|
+
|
|
+struct pidfd_info {
|
|
+ /*
|
|
+ * This mask is similar to the request_mask in statx(2).
|
|
+ *
|
|
+ * Userspace indicates what extensions or expensive-to-calculate fields
|
|
+ * they want by setting the corresponding bits in mask. The kernel
|
|
+ * will ignore bits that it does not know about.
|
|
+ *
|
|
+ * When filling the structure, the kernel will only set bits
|
|
+ * corresponding to the fields that were actually filled by the kernel.
|
|
+ * This also includes any future extensions that might be automatically
|
|
+ * filled. If the structure size is too small to contain a field
|
|
+ * (requested or not), to avoid confusion the mask will not
|
|
+ * contain a bit for that field.
|
|
+ *
|
|
+ * As such, userspace MUST verify that mask contains the
|
|
+ * corresponding flags after the ioctl(2) returns to ensure that it is
|
|
+ * using valid data.
|
|
+ */
|
|
+ __u64 mask;
|
|
+ /*
|
|
+ * The information contained in the following fields might be stale at the
|
|
+ * time it is received, as the target process might have exited as soon as
|
|
+ * the IOCTL was processed, and there is no way to avoid that. However, it
|
|
+ * is guaranteed that if the call was successful, then the information was
|
|
+ * correct and referred to the intended process at the time the work was
|
|
+ * performed. */
|
|
+ __u64 cgroupid;
|
|
+ __u32 pid;
|
|
+ __u32 tgid;
|
|
+ __u32 ppid;
|
|
+ __u32 ruid;
|
|
+ __u32 rgid;
|
|
+ __u32 euid;
|
|
+ __u32 egid;
|
|
+ __u32 suid;
|
|
+ __u32 sgid;
|
|
+ __u32 fsuid;
|
|
+ __u32 fsgid;
|
|
+ __s32 exit_code;
|
|
+};
|
|
+
|
|
#define PIDFS_IOCTL_MAGIC 0xFF
|
|
|
|
#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1)
|
|
@@ -28,5 +78,6 @@
|
|
#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8)
|
|
#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9)
|
|
#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10)
|
|
+#define PIDFD_GET_INFO _IOWR(PIDFS_IOCTL_MAGIC, 11, struct pidfd_info)
|
|
|
|
#endif /* _LINUX_PIDFD_H */
|
|
--- a/alpha/usr/include/linux/psci.h
|
|
+++ b/alpha/usr/include/linux/psci.h
|
|
@@ -59,6 +59,7 @@
|
|
#define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18)
|
|
#define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19)
|
|
#define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(20)
|
|
+#define PSCI_1_3_FN_SYSTEM_OFF2 PSCI_0_2_FN(21)
|
|
|
|
#define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12)
|
|
#define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13)
|
|
@@ -68,6 +69,7 @@
|
|
|
|
#define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18)
|
|
#define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(20)
|
|
+#define PSCI_1_3_FN64_SYSTEM_OFF2 PSCI_0_2_FN64(21)
|
|
|
|
/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
|
|
#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
|
|
@@ -100,6 +102,9 @@
|
|
#define PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET 0
|
|
#define PSCI_1_1_RESET_TYPE_VENDOR_START 0x80000000U
|
|
|
|
+/* PSCI v1.3 hibernate type for SYSTEM_OFF2 */
|
|
+#define PSCI_1_3_OFF_TYPE_HIBERNATE_OFF BIT(0)
|
|
+
|
|
/* PSCI version decoding (independent of PSCI version) */
|
|
#define PSCI_VERSION_MAJOR_SHIFT 16
|
|
#define PSCI_VERSION_MINOR_MASK \
|
|
--- a/alpha/usr/include/linux/psp-sev.h
|
|
+++ b/alpha/usr/include/linux/psp-sev.h
|
|
@@ -73,13 +73,20 @@ typedef enum {
|
|
SEV_RET_INVALID_PARAM,
|
|
SEV_RET_RESOURCE_LIMIT,
|
|
SEV_RET_SECURE_DATA_INVALID,
|
|
- SEV_RET_INVALID_KEY = 0x27,
|
|
- SEV_RET_INVALID_PAGE_SIZE,
|
|
- SEV_RET_INVALID_PAGE_STATE,
|
|
- SEV_RET_INVALID_MDATA_ENTRY,
|
|
- SEV_RET_INVALID_PAGE_OWNER,
|
|
- SEV_RET_INVALID_PAGE_AEAD_OFLOW,
|
|
- SEV_RET_RMP_INIT_REQUIRED,
|
|
+ SEV_RET_INVALID_PAGE_SIZE = 0x0019,
|
|
+ SEV_RET_INVALID_PAGE_STATE = 0x001A,
|
|
+ SEV_RET_INVALID_MDATA_ENTRY = 0x001B,
|
|
+ SEV_RET_INVALID_PAGE_OWNER = 0x001C,
|
|
+ SEV_RET_AEAD_OFLOW = 0x001D,
|
|
+ SEV_RET_EXIT_RING_BUFFER = 0x001F,
|
|
+ SEV_RET_RMP_INIT_REQUIRED = 0x0020,
|
|
+ SEV_RET_BAD_SVN = 0x0021,
|
|
+ SEV_RET_BAD_VERSION = 0x0022,
|
|
+ SEV_RET_SHUTDOWN_REQUIRED = 0x0023,
|
|
+ SEV_RET_UPDATE_FAILED = 0x0024,
|
|
+ SEV_RET_RESTORE_REQUIRED = 0x0025,
|
|
+ SEV_RET_RMP_INITIALIZATION_FAILED = 0x0026,
|
|
+ SEV_RET_INVALID_KEY = 0x0027,
|
|
SEV_RET_MAX,
|
|
} sev_ret_code;
|
|
|
|
--- a/alpha/usr/include/linux/raid/md_p.h
|
|
+++ b/alpha/usr/include/linux/raid/md_p.h
|
|
@@ -85,6 +85,7 @@
|
|
* devices available - and don't try to
|
|
* correct read errors.
|
|
*/
|
|
+#define MD_DISK_TIMEOUT 11 /* disk is faulty due to timeout */
|
|
|
|
#define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
|
|
* read requests will only be sent here in
|
|
@@ -95,6 +96,7 @@
|
|
#define MD_DISK_ROLE_SPARE 0xffff
|
|
#define MD_DISK_ROLE_FAULTY 0xfffe
|
|
#define MD_DISK_ROLE_JOURNAL 0xfffd
|
|
+#define MD_DISK_ROLE_TIMEOUT 0xfff0 /* SUSE-only timed-out */
|
|
#define MD_DISK_ROLE_MAX 0xff00 /* max value of regular disk role */
|
|
|
|
typedef struct mdp_device_descriptor_s {
|
|
@@ -233,7 +235,7 @@ struct mdp_superblock_1 {
|
|
char set_name[32]; /* set and interpreted by user-space */
|
|
|
|
__le64 ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/
|
|
- __le32 level; /* 0,1,4,5 */
|
|
+ __le32 level; /* 0,1,4,5, -1 (linear) */
|
|
__le32 layout; /* only for raid5 and raid10 currently */
|
|
__le64 size; /* used size of component devices, in 512byte sectors */
|
|
|
|
--- a/alpha/usr/include/linux/raid/md_u.h
|
|
+++ b/alpha/usr/include/linux/raid/md_u.h
|
|
@@ -103,6 +103,8 @@ typedef struct mdu_array_info_s {
|
|
|
|
} mdu_array_info_t;
|
|
|
|
+#define LEVEL_LINEAR (-1)
|
|
+
|
|
/* we need a value for 'no level specified' and 0
|
|
* means 'raid0', so we need something else. This is
|
|
* for internal use only
|
|
--- a/alpha/usr/include/linux/rkisp1-config.h
|
|
+++ b/alpha/usr/include/linux/rkisp1-config.h
|
|
@@ -1528,7 +1528,7 @@ enum rksip1_ext_param_buffer_version {
|
|
* The expected memory layout of the parameters buffer is::
|
|
*
|
|
* +-------------------- struct rkisp1_ext_params_cfg -------------------+
|
|
- * | version = RKISP_EXT_PARAMS_BUFFER_V1; |
|
|
+ * | version = RKISP1_EXT_PARAM_BUFFER_V1; |
|
|
* | data_size = sizeof(struct rkisp1_ext_params_bls_config) |
|
|
* | + sizeof(struct rkisp1_ext_params_dpcc_config); |
|
|
* | +------------------------- data ---------------------------------+ |
|
|
--- a/alpha/usr/include/linux/rtnetlink.h
|
|
+++ b/alpha/usr/include/linux/rtnetlink.h
|
|
@@ -174,7 +174,7 @@ enum {
|
|
#define RTM_GETLINKPROP RTM_GETLINKPROP
|
|
|
|
RTM_NEWVLAN = 112,
|
|
-#define RTM_NEWNVLAN RTM_NEWVLAN
|
|
+#define RTM_NEWVLAN RTM_NEWVLAN
|
|
RTM_DELVLAN,
|
|
#define RTM_DELVLAN RTM_DELVLAN
|
|
RTM_GETVLAN,
|
|
--- a/alpha/usr/include/linux/sed-opal.h
|
|
+++ b/alpha/usr/include/linux/sed-opal.h
|
|
@@ -215,5 +215,6 @@ struct opal_revert_lsp {
|
|
#define IOC_OPAL_GET_GEOMETRY _IOR('p', 238, struct opal_geometry)
|
|
#define IOC_OPAL_DISCOVERY _IOW('p', 239, struct opal_discovery)
|
|
#define IOC_OPAL_REVERT_LSP _IOW('p', 240, struct opal_revert_lsp)
|
|
+#define IOC_OPAL_SET_SID_PW _IOW('p', 241, struct opal_new_pw)
|
|
|
|
#endif /* _SED_OPAL_H */
|
|
--- a/alpha/usr/include/linux/stddef.h
|
|
+++ b/alpha/usr/include/linux/stddef.h
|
|
@@ -8,6 +8,13 @@
|
|
#define __always_inline __inline__
|
|
#endif
|
|
|
|
+/* Not all C++ standards support type declarations inside an anonymous union */
|
|
+#ifndef __cplusplus
|
|
+#define __struct_group_tag(TAG) TAG
|
|
+#else
|
|
+#define __struct_group_tag(TAG)
|
|
+#endif
|
|
+
|
|
/**
|
|
* __struct_group() - Create a mirrored named and anonyomous struct
|
|
*
|
|
@@ -20,13 +27,13 @@
|
|
* and size: one anonymous and one named. The former's members can be used
|
|
* normally without sub-struct naming, and the latter can be used to
|
|
* reason about the start, end, and size of the group of struct members.
|
|
- * The named struct can also be explicitly tagged for layer reuse, as well
|
|
- * as both having struct attributes appended.
|
|
+ * The named struct can also be explicitly tagged for layer reuse (C only),
|
|
+ * as well as both having struct attributes appended.
|
|
*/
|
|
#define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
|
|
union { \
|
|
struct { MEMBERS } ATTRS; \
|
|
- struct TAG { MEMBERS } ATTRS NAME; \
|
|
+ struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \
|
|
} ATTRS
|
|
|
|
#ifdef __cplusplus
|
|
--- a/alpha/usr/include/linux/types.h
|
|
+++ b/alpha/usr/include/linux/types.h
|
|
@@ -48,6 +48,7 @@ typedef __u32 __bitwise __wsum;
|
|
* No conversions are necessary between 32-bit user-space and a 64-bit kernel.
|
|
*/
|
|
#define __aligned_u64 __u64 __attribute__((aligned(8)))
|
|
+#define __aligned_s64 __s64 __attribute__((aligned(8)))
|
|
#define __aligned_be64 __be64 __attribute__((aligned(8)))
|
|
#define __aligned_le64 __le64 __attribute__((aligned(8)))
|
|
|
|
--- a/alpha/usr/include/linux/usb/ch9.h
|
|
+++ b/alpha/usr/include/linux/usb/ch9.h
|
|
@@ -253,6 +253,9 @@ struct usb_ctrlrequest {
|
|
#define USB_DT_BOS 0x0f
|
|
#define USB_DT_DEVICE_CAPABILITY 0x10
|
|
#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11
|
|
+/* From the eUSB2 spec */
|
|
+#define USB_DT_EUSB2_ISOC_ENDPOINT_COMP 0x12
|
|
+/* From Wireless USB spec */
|
|
#define USB_DT_WIRE_ADAPTER 0x21
|
|
/* From USB Device Firmware Upgrade Specification, Revision 1.1 */
|
|
#define USB_DT_DFU_FUNCTIONAL 0x21
|
|
@@ -330,6 +333,7 @@ struct usb_device_descriptor {
|
|
#define USB_CLASS_AUDIO_VIDEO 0x10
|
|
#define USB_CLASS_BILLBOARD 0x11
|
|
#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
|
|
+#define USB_CLASS_MCTP 0x14
|
|
#define USB_CLASS_MISC 0xef
|
|
#define USB_CLASS_APP_SPEC 0xfe
|
|
#define USB_SUBCLASS_DFU 0x01
|
|
@@ -675,6 +679,18 @@ static __inline__ int usb_endpoint_inter
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
+/* USB_DT_EUSB2_ISOC_ENDPOINT_COMP: eUSB2 Isoch Endpoint Companion descriptor */
|
|
+struct usb_eusb2_isoc_ep_comp_descriptor {
|
|
+ __u8 bLength;
|
|
+ __u8 bDescriptorType;
|
|
+ __le16 wMaxPacketSize;
|
|
+ __le32 dwBytesPerInterval;
|
|
+} __attribute__ ((packed));
|
|
+
|
|
+#define USB_DT_EUSB2_ISOC_EP_COMP_SIZE 8
|
|
+
|
|
+/*-------------------------------------------------------------------------*/
|
|
+
|
|
/* USB_DT_SSP_ISOC_ENDPOINT_COMP: SuperSpeedPlus Isochronous Endpoint Companion
|
|
* descriptor
|
|
*/
|
|
--- a/alpha/usr/include/linux/usb/functionfs.h
|
|
+++ b/alpha/usr/include/linux/usb/functionfs.h
|
|
@@ -205,7 +205,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -223,7 +223,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -236,7 +236,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* | 11 | ExtProp[] | | list of ext. prop. d. |
|
|
* +-----+-----------------+------+--------------------------+
|
|
*
|
|
- * ExtCompat[] is an array of valid Extended Compatiblity descriptors
|
|
+ * ExtCompat[] is an array of valid Extended Compatibility descriptors
|
|
* which have the following format:
|
|
*
|
|
* +-----+-----------------------+------+-------------------------------------+
|
|
@@ -294,7 +294,7 @@ struct usb_functionfs_strings_head {
|
|
* | 16 | stringtab | StringTab[lang_count] | table of strings per lang |
|
|
*
|
|
* For each language there is one stringtab entry (ie. there are lang_count
|
|
- * stringtab entires). Each StringTab has following format:
|
|
+ * stringtab entries). Each StringTab has following format:
|
|
*
|
|
* | off | name | type | description |
|
|
* |-----+---------+-------------------+------------------------------------|
|
|
--- a/alpha/usr/include/linux/vhost.h
|
|
+++ b/alpha/usr/include/linux/vhost.h
|
|
@@ -235,4 +235,33 @@
|
|
*/
|
|
#define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \
|
|
struct vhost_vring_state)
|
|
+
|
|
+/* fork_owner values for vhost */
|
|
+#define VHOST_FORK_OWNER_KTHREAD 0
|
|
+#define VHOST_FORK_OWNER_TASK 1
|
|
+
|
|
+/**
|
|
+ * VHOST_SET_FORK_FROM_OWNER - Set the fork_owner flag for the vhost device,
|
|
+ * This ioctl must called before VHOST_SET_OWNER.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @param fork_owner: An 8-bit value that determines the vhost thread mode
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_TASK(default value):
|
|
+ * - Vhost will create vhost worker as tasks forked from the owner,
|
|
+ * inheriting all of the owner's attributes.
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_KTHREAD:
|
|
+ * - Vhost will create vhost workers as kernel threads.
|
|
+ */
|
|
+#define VHOST_SET_FORK_FROM_OWNER _IOW(VHOST_VIRTIO, 0x84, __u8)
|
|
+
|
|
+/**
|
|
+ * VHOST_GET_FORK_OWNER - Get the current fork_owner flag for the vhost device.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @return: An 8-bit value indicating the current thread mode.
|
|
+ */
|
|
+#define VHOST_GET_FORK_FROM_OWNER _IOR(VHOST_VIRTIO, 0x85, __u8)
|
|
+
|
|
#endif
|
|
--- a/alpha/usr/include/linux/videodev2.h
|
|
+++ b/alpha/usr/include/linux/videodev2.h
|
|
@@ -771,6 +771,7 @@ struct v4l2_pix_format {
|
|
#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
|
|
#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
|
|
+#define V4L2_PIX_FMT_Y16I v4l2_fourcc('Y', '1', '6', 'I') /* Greyscale 16-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
|
|
#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
|
|
#define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */
|
|
@@ -832,6 +833,8 @@ struct v4l2_pix_format {
|
|
|
|
/* Vendor specific - used for RaspberryPi PiSP */
|
|
#define V4L2_META_FMT_RPI_BE_CFG v4l2_fourcc('R', 'P', 'B', 'C') /* PiSP BE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_CFG v4l2_fourcc('R', 'P', 'F', 'C') /* PiSP FE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_STATS v4l2_fourcc('R', 'P', 'F', 'S') /* PiSP FE stats */
|
|
|
|
|
|
/* priv field value to indicates that subsequent fields are valid. */
|
|
--- a/alpha/usr/include/linux/xfrm.h
|
|
+++ b/alpha/usr/include/linux/xfrm.h
|
|
@@ -322,6 +322,7 @@ enum xfrm_attr_type_t {
|
|
XFRMA_MTIMER_THRESH, /* __u32 in seconds for input SA */
|
|
XFRMA_SA_DIR, /* __u8 */
|
|
XFRMA_NAT_KEEPALIVE_INTERVAL, /* __u32 in seconds for NAT keepalive */
|
|
+ XFRMA_SA_PCPU, /* __u32 */
|
|
__XFRMA_MAX
|
|
|
|
#define XFRMA_OUTPUT_MARK XFRMA_SET_MARK /* Compatibility */
|
|
@@ -437,6 +438,7 @@ struct xfrm_userpolicy_info {
|
|
#define XFRM_POLICY_LOCALOK 1 /* Allow user to override global policy */
|
|
/* Automatically expand selector to include matching ICMP payloads. */
|
|
#define XFRM_POLICY_ICMP 2
|
|
+#define XFRM_POLICY_CPU_ACQUIRE 4
|
|
__u8 share;
|
|
};
|
|
|
|
--- a/alpha/usr/include/rdma/efa-abi.h
|
|
+++ b/alpha/usr/include/rdma/efa-abi.h
|
|
@@ -95,7 +95,8 @@ struct efa_ibv_create_qp {
|
|
__u32 sq_ring_size; /* bytes */
|
|
__u32 driver_qp_type;
|
|
__u16 flags;
|
|
- __u8 reserved_90[6];
|
|
+ __u8 sl;
|
|
+ __u8 reserved_98[5];
|
|
};
|
|
|
|
struct efa_ibv_create_qp_resp {
|
|
--- a/alpha/usr/include/rdma/mlx5-abi.h
|
|
+++ b/alpha/usr/include/rdma/mlx5-abi.h
|
|
@@ -252,6 +252,7 @@ enum mlx5_ib_query_dev_resp_flags {
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1,
|
|
MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE = 1 << 2,
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT = 1 << 3,
|
|
+ MLX5_IB_QUERY_DEV_RESP_FLAGS_OOO_DP = 1 << 4,
|
|
};
|
|
|
|
enum mlx5_ib_tunnel_offloads {
|
|
@@ -439,6 +440,10 @@ struct mlx5_ib_burst_info {
|
|
__u16 reserved;
|
|
};
|
|
|
|
+enum mlx5_ib_modify_qp_mask {
|
|
+ MLX5_IB_MODIFY_QP_OOO_DP = 1 << 0,
|
|
+};
|
|
+
|
|
struct mlx5_ib_modify_qp {
|
|
__u32 comp_mask;
|
|
struct mlx5_ib_burst_info burst_info;
|
|
--- a/alpha/usr/include/rdma/rdma_netlink.h
|
|
+++ b/alpha/usr/include/rdma/rdma_netlink.h
|
|
@@ -638,6 +638,8 @@ enum rdma_nl_notify_event_type {
|
|
RDMA_UNREGISTER_EVENT,
|
|
RDMA_NETDEV_ATTACH_EVENT,
|
|
RDMA_NETDEV_DETACH_EVENT,
|
|
+ RDMA_RENAME_EVENT,
|
|
+ RDMA_NETDEV_RENAME_EVENT,
|
|
};
|
|
|
|
#endif /* _RDMA_NETLINK_H */
|
|
--- a/alpha/usr/include/scsi/fc/fc_els.h
|
|
+++ b/alpha/usr/include/scsi/fc/fc_els.h
|
|
@@ -11,6 +11,8 @@
|
|
#include <linux/types.h>
|
|
#include <asm/byteorder.h>
|
|
|
|
+#include <stddef.h> /* for offsetof */
|
|
+
|
|
/*
|
|
* Fibre Channel Switch - Enhanced Link Services definitions.
|
|
* From T11 FC-LS Rev 1.2 June 7, 2005.
|
|
@@ -1109,12 +1111,15 @@ struct fc_els_fpin {
|
|
|
|
/* Diagnostic Function Descriptor - FPIN Registration */
|
|
struct fc_df_desc_fpin_reg {
|
|
- __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
- __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
- * Size of descriptor excluding
|
|
- * desc_tag and desc_len fields.
|
|
- */
|
|
- __be32 count; /* Number of desc_tags elements */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_df_desc_fpin_reg_hdr, __hdr, /* no attrs */,
|
|
+ __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
+ __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
+ * Size of descriptor excluding
|
|
+ * desc_tag and desc_len fields.
|
|
+ */
|
|
+ __be32 count; /* Number of desc_tags elements */
|
|
+ );
|
|
__be32 desc_tags[]; /* Array of Descriptor Tags.
|
|
* Each tag indicates a function
|
|
* supported by the N_Port (request)
|
|
@@ -1124,33 +1129,44 @@ struct fc_df_desc_fpin_reg {
|
|
* See ELS_FN_DTAG_xxx for tag values.
|
|
*/
|
|
};
|
|
+_Static_assert(offsetof(struct fc_df_desc_fpin_reg, desc_tags) == sizeof(struct fc_df_desc_fpin_reg_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS_RDF - Register Diagnostic Functions
|
|
*/
|
|
struct fc_els_rdf {
|
|
- __u8 fpin_cmd; /* command (0x19) */
|
|
- __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
- __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
- * Size of ELS excluding fpin_cmd,
|
|
- * fpin_zero and desc_len fields.
|
|
- */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_hdr, __hdr, /* no attrs */,
|
|
+ __u8 fpin_cmd; /* command (0x19) */
|
|
+ __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
+ __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
+ * Size of ELS excluding fpin_cmd,
|
|
+ * fpin_zero and desc_len fields.
|
|
+ */
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Descriptor list */
|
|
};
|
|
+_Static_assert(offsetof(struct fc_els_rdf, desc) == sizeof(struct fc_els_rdf_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS RDF LS_ACC Response.
|
|
*/
|
|
struct fc_els_rdf_resp {
|
|
- struct fc_els_ls_acc acc_hdr;
|
|
- __be32 desc_list_len; /* Length of response (in
|
|
- * bytes). Excludes acc_hdr
|
|
- * and desc_list_len fields.
|
|
- */
|
|
- struct fc_els_lsri_desc lsri;
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_resp_hdr, __hdr, /* no attrs */,
|
|
+ struct fc_els_ls_acc acc_hdr;
|
|
+ __be32 desc_list_len; /* Length of response (in
|
|
+ * bytes). Excludes acc_hdr
|
|
+ * and desc_list_len fields.
|
|
+ */
|
|
+ struct fc_els_lsri_desc lsri;
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Supported Descriptor list */
|
|
};
|
|
-
|
|
+_Static_assert(offsetof(struct fc_els_rdf_resp, desc) == sizeof(struct fc_els_rdf_resp_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* Diagnostic Capability Descriptors for EDC ELS
|
|
--- a/arm/usr/include/asm-generic/mman-common.h
|
|
+++ b/arm/usr/include/asm-generic/mman-common.h
|
|
@@ -79,6 +79,9 @@
|
|
|
|
#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */
|
|
|
|
+#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */
|
|
+#define MADV_GUARD_REMOVE 103 /* unguard range */
|
|
+
|
|
/* compatibility flags */
|
|
#define MAP_FILE 0
|
|
|
|
--- a/arm/usr/include/linux/devlink.h
|
|
+++ b/arm/usr/include/linux/devlink.h
|
|
@@ -385,6 +385,21 @@ enum devlink_linecard_state {
|
|
DEVLINK_LINECARD_STATE_MAX = __DEVLINK_LINECARD_STATE_MAX - 1
|
|
};
|
|
|
|
+/* Variable attribute type. */
|
|
+enum devlink_var_attr_type {
|
|
+ /* Following values relate to the internal NLA_* values */
|
|
+ DEVLINK_VAR_ATTR_TYPE_U8 = 1,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U16,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U32,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U64,
|
|
+ DEVLINK_VAR_ATTR_TYPE_STRING,
|
|
+ DEVLINK_VAR_ATTR_TYPE_FLAG,
|
|
+ DEVLINK_VAR_ATTR_TYPE_NUL_STRING = 10,
|
|
+ DEVLINK_VAR_ATTR_TYPE_BINARY,
|
|
+ __DEVLINK_VAR_ATTR_TYPE_CUSTOM_BASE = 0x80,
|
|
+ /* Any possible custom types, unrelated to NLA_* values go below */
|
|
+};
|
|
+
|
|
enum devlink_attr {
|
|
/* don't change the order or add anything between, this is ABI! */
|
|
DEVLINK_ATTR_UNSPEC,
|
|
--- a/arm/usr/include/linux/dm-ioctl.h
|
|
+++ b/arm/usr/include/linux/dm-ioctl.h
|
|
@@ -286,9 +286,9 @@ enum {
|
|
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
|
|
|
#define DM_VERSION_MAJOR 4
|
|
-#define DM_VERSION_MINOR 48
|
|
+#define DM_VERSION_MINOR 49
|
|
#define DM_VERSION_PATCHLEVEL 0
|
|
-#define DM_VERSION_EXTRA "-ioctl (2023-03-01)"
|
|
+#define DM_VERSION_EXTRA "-ioctl (2025-01-17)"
|
|
|
|
/* Status bits */
|
|
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
|
--- a/arm/usr/include/linux/dpll.h
|
|
+++ b/arm/usr/include/linux/dpll.h
|
|
@@ -79,6 +79,29 @@ enum dpll_lock_status_error {
|
|
DPLL_LOCK_STATUS_ERROR_MAX = (__DPLL_LOCK_STATUS_ERROR_MAX - 1)
|
|
};
|
|
|
|
+/**
|
|
+ * enum dpll_clock_quality_level - level of quality of a clock device. This
|
|
+ * mainly applies when the dpll lock-status is DPLL_LOCK_STATUS_HOLDOVER. The
|
|
+ * current list is defined according to the table 11-7 contained in ITU-T
|
|
+ * G.8264/Y.1364 document. One may extend this list freely by other ITU-T
|
|
+ * defined clock qualities, or different ones defined by another
|
|
+ * standardization body (for those, please use different prefix).
|
|
+ */
|
|
+enum dpll_clock_quality_level {
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRC = 1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_A,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_B,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEC1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEEC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRC,
|
|
+
|
|
+ /* private: */
|
|
+ __DPLL_CLOCK_QUALITY_LEVEL_MAX,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_MAX = (__DPLL_CLOCK_QUALITY_LEVEL_MAX - 1)
|
|
+};
|
|
+
|
|
#define DPLL_TEMP_DIVIDER 1000
|
|
|
|
/**
|
|
@@ -180,6 +203,7 @@ enum dpll_a {
|
|
DPLL_A_TEMP,
|
|
DPLL_A_TYPE,
|
|
DPLL_A_LOCK_STATUS_ERROR,
|
|
+ DPLL_A_CLOCK_QUALITY_LEVEL,
|
|
|
|
__DPLL_A_MAX,
|
|
DPLL_A_MAX = (__DPLL_A_MAX - 1)
|
|
--- a/arm/usr/include/linux/ethtool.h
|
|
+++ b/arm/usr/include/linux/ethtool.h
|
|
@@ -679,6 +679,8 @@ enum ethtool_link_ext_substate_module {
|
|
* @ETH_SS_STATS_ETH_MAC: names of IEEE 802.3 MAC statistics
|
|
* @ETH_SS_STATS_ETH_CTRL: names of IEEE 802.3 MAC Control statistics
|
|
* @ETH_SS_STATS_RMON: names of RMON statistics
|
|
+ * @ETH_SS_STATS_PHY: names of PHY(dev) statistics
|
|
+ * @ETH_SS_TS_FLAGS: hardware timestamping flags
|
|
*
|
|
* @ETH_SS_COUNT: number of defined string sets
|
|
*/
|
|
@@ -704,6 +706,8 @@ enum ethtool_stringset {
|
|
ETH_SS_STATS_ETH_MAC,
|
|
ETH_SS_STATS_ETH_CTRL,
|
|
ETH_SS_STATS_RMON,
|
|
+ ETH_SS_STATS_PHY,
|
|
+ ETH_SS_TS_FLAGS,
|
|
|
|
/* add new constants above here */
|
|
ETH_SS_COUNT
|
|
--- a/arm/usr/include/linux/ethtool_netlink.h
|
|
+++ b/arm/usr/include/linux/ethtool_netlink.h
|
|
@@ -10,545 +10,12 @@
|
|
#define _LINUX_ETHTOOL_NETLINK_H_
|
|
|
|
#include <linux/ethtool.h>
|
|
-
|
|
-/* message types - userspace to kernel */
|
|
-enum {
|
|
- ETHTOOL_MSG_USER_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET,
|
|
- ETHTOOL_MSG_LINKINFO_GET,
|
|
- ETHTOOL_MSG_LINKINFO_SET,
|
|
- ETHTOOL_MSG_LINKMODES_GET,
|
|
- ETHTOOL_MSG_LINKMODES_SET,
|
|
- ETHTOOL_MSG_LINKSTATE_GET,
|
|
- ETHTOOL_MSG_DEBUG_GET,
|
|
- ETHTOOL_MSG_DEBUG_SET,
|
|
- ETHTOOL_MSG_WOL_GET,
|
|
- ETHTOOL_MSG_WOL_SET,
|
|
- ETHTOOL_MSG_FEATURES_GET,
|
|
- ETHTOOL_MSG_FEATURES_SET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
- ETHTOOL_MSG_RINGS_GET,
|
|
- ETHTOOL_MSG_RINGS_SET,
|
|
- ETHTOOL_MSG_CHANNELS_GET,
|
|
- ETHTOOL_MSG_CHANNELS_SET,
|
|
- ETHTOOL_MSG_COALESCE_GET,
|
|
- ETHTOOL_MSG_COALESCE_SET,
|
|
- ETHTOOL_MSG_PAUSE_GET,
|
|
- ETHTOOL_MSG_PAUSE_SET,
|
|
- ETHTOOL_MSG_EEE_GET,
|
|
- ETHTOOL_MSG_EEE_SET,
|
|
- ETHTOOL_MSG_TSINFO_GET,
|
|
- ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
- ETHTOOL_MSG_FEC_GET,
|
|
- ETHTOOL_MSG_FEC_SET,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
- ETHTOOL_MSG_STATS_GET,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
- ETHTOOL_MSG_MODULE_GET,
|
|
- ETHTOOL_MSG_MODULE_SET,
|
|
- ETHTOOL_MSG_PSE_GET,
|
|
- ETHTOOL_MSG_PSE_SET,
|
|
- ETHTOOL_MSG_RSS_GET,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG,
|
|
- ETHTOOL_MSG_PLCA_SET_CFG,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
- ETHTOOL_MSG_MM_GET,
|
|
- ETHTOOL_MSG_MM_SET,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
- ETHTOOL_MSG_PHY_GET,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_USER_CNT,
|
|
- ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
|
|
-};
|
|
-
|
|
-/* message types - kernel to userspace */
|
|
-enum {
|
|
- ETHTOOL_MSG_KERNEL_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_NTF,
|
|
- ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKMODES_NTF,
|
|
- ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_NTF,
|
|
- ETHTOOL_MSG_WOL_GET_REPLY,
|
|
- ETHTOOL_MSG_WOL_NTF,
|
|
- ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_NTF,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
- ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
- ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
- ETHTOOL_MSG_RINGS_NTF,
|
|
- ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
- ETHTOOL_MSG_CHANNELS_NTF,
|
|
- ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
- ETHTOOL_MSG_COALESCE_NTF,
|
|
- ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
- ETHTOOL_MSG_PAUSE_NTF,
|
|
- ETHTOOL_MSG_EEE_GET_REPLY,
|
|
- ETHTOOL_MSG_EEE_NTF,
|
|
- ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_NTF,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
- ETHTOOL_MSG_STATS_GET_REPLY,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_NTF,
|
|
- ETHTOOL_MSG_PSE_GET_REPLY,
|
|
- ETHTOOL_MSG_RSS_GET_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
- ETHTOOL_MSG_PLCA_NTF,
|
|
- ETHTOOL_MSG_MM_GET_REPLY,
|
|
- ETHTOOL_MSG_MM_NTF,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
- ETHTOOL_MSG_PHY_GET_REPLY,
|
|
- ETHTOOL_MSG_PHY_NTF,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_KERNEL_CNT,
|
|
- ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
|
|
-};
|
|
-
|
|
-/* request header */
|
|
-
|
|
-enum ethtool_header_flags {
|
|
- ETHTOOL_FLAG_COMPACT_BITSETS = 1 << 0, /* use compact bitsets in reply */
|
|
- ETHTOOL_FLAG_OMIT_REPLY = 1 << 1, /* provide optional reply for SET or ACT requests */
|
|
- ETHTOOL_FLAG_STATS = 1 << 2, /* request statistics, if supported by the driver */
|
|
-};
|
|
+#include <linux/ethtool_netlink_generated.h>
|
|
|
|
#define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \
|
|
ETHTOOL_FLAG_OMIT_REPLY | \
|
|
ETHTOOL_FLAG_STATS)
|
|
|
|
-enum {
|
|
- ETHTOOL_A_HEADER_UNSPEC,
|
|
- ETHTOOL_A_HEADER_DEV_INDEX, /* u32 */
|
|
- ETHTOOL_A_HEADER_DEV_NAME, /* string */
|
|
- ETHTOOL_A_HEADER_FLAGS, /* u32 - ETHTOOL_FLAG_* */
|
|
- ETHTOOL_A_HEADER_PHY_INDEX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_HEADER_CNT,
|
|
- ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1
|
|
-};
|
|
-
|
|
-/* bit sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BIT_INDEX, /* u32 */
|
|
- ETHTOOL_A_BITSET_BIT_NAME, /* string */
|
|
- ETHTOOL_A_BITSET_BIT_VALUE, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BIT_CNT,
|
|
- ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BITS_BIT, /* nest - _A_BITSET_BIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BITS_CNT,
|
|
- ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_UNSPEC,
|
|
- ETHTOOL_A_BITSET_NOMASK, /* flag */
|
|
- ETHTOOL_A_BITSET_SIZE, /* u32 */
|
|
- ETHTOOL_A_BITSET_BITS, /* nest - _A_BITSET_BITS_* */
|
|
- ETHTOOL_A_BITSET_VALUE, /* binary */
|
|
- ETHTOOL_A_BITSET_MASK, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_CNT,
|
|
- ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* string sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRING_UNSPEC,
|
|
- ETHTOOL_A_STRING_INDEX, /* u32 */
|
|
- ETHTOOL_A_STRING_VALUE, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRING_CNT,
|
|
- ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGS_UNSPEC,
|
|
- ETHTOOL_A_STRINGS_STRING, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGS_CNT,
|
|
- ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSET_UNSPEC,
|
|
- ETHTOOL_A_STRINGSET_ID, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_COUNT, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_STRINGS, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSET_CNT,
|
|
- ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
- ETHTOOL_A_STRINGSETS_STRINGSET, /* nest - _A_STRINGSET_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSETS_CNT,
|
|
- ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1
|
|
-};
|
|
-
|
|
-/* STRSET */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRSET_UNSPEC,
|
|
- ETHTOOL_A_STRSET_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STRSET_STRINGSETS, /* nest - _A_STRINGSETS_* */
|
|
- ETHTOOL_A_STRSET_COUNTS_ONLY, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRSET_CNT,
|
|
- ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKINFO_UNSPEC,
|
|
- ETHTOOL_A_LINKINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKINFO_PORT, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_PHYADDR, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TRANSCEIVER, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKINFO_CNT,
|
|
- ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKMODES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKMODES_UNSPEC,
|
|
- ETHTOOL_A_LINKMODES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_OURS, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_PEER, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_SPEED, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_LANES, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKMODES_CNT,
|
|
- ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKSTATE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
- ETHTOOL_A_LINKSTATE_HEADER, /* nest - _A_HEADER_* */
|
|
- 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 */
|
|
- ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKSTATE_CNT,
|
|
- ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1
|
|
-};
|
|
-
|
|
-/* DEBUG */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_DEBUG_UNSPEC,
|
|
- ETHTOOL_A_DEBUG_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_DEBUG_MSGMASK, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_DEBUG_CNT,
|
|
- ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1
|
|
-};
|
|
-
|
|
-/* WOL */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_WOL_UNSPEC,
|
|
- ETHTOOL_A_WOL_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_WOL_MODES, /* bitset */
|
|
- ETHTOOL_A_WOL_SOPASS, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_WOL_CNT,
|
|
- ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
|
|
-};
|
|
-
|
|
-/* FEATURES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEATURES_UNSPEC,
|
|
- ETHTOOL_A_FEATURES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEATURES_HW, /* bitset */
|
|
- ETHTOOL_A_FEATURES_WANTED, /* bitset */
|
|
- ETHTOOL_A_FEATURES_ACTIVE, /* bitset */
|
|
- ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEATURES_CNT,
|
|
- ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
|
|
-};
|
|
-
|
|
-/* PRIVFLAGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
- ETHTOOL_A_PRIVFLAGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PRIVFLAGS_FLAGS, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
- ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1
|
|
-};
|
|
-
|
|
-/* RINGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,
|
|
- ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
- ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RINGS_UNSPEC,
|
|
- ETHTOOL_A_RINGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_RINGS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */
|
|
- ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_RX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_RINGS_CNT,
|
|
- ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CHANNELS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CHANNELS_UNSPEC,
|
|
- ETHTOOL_A_CHANNELS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CHANNELS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_RX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_COUNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CHANNELS_CNT,
|
|
- ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* COALESCE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_COALESCE_UNSPEC,
|
|
- ETHTOOL_A_COALESCE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_COALESCE_RX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, /* u32 */
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_COALESCE_CNT,
|
|
- ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PROFILE_UNSPEC,
|
|
- /* nest, _A_IRQ_MODERATION_* */
|
|
- ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
- __ETHTOOL_A_PROFILE_CNT,
|
|
- ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
- ETHTOOL_A_IRQ_MODERATION_USEC, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_PKTS, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_COMPS, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
- ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
-};
|
|
-
|
|
-/* PAUSE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PAUSE_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_PAUSE_RX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_TX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_STATS, /* nest - _PAUSE_STAT_* */
|
|
- ETHTOOL_A_PAUSE_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PAUSE_CNT,
|
|
- ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
- ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
-
|
|
- /* add new constants above here
|
|
- * adjust ETHTOOL_PAUSE_STAT_CNT if adding non-stats!
|
|
- */
|
|
- __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
- ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* EEE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_EEE_UNSPEC,
|
|
- ETHTOOL_A_EEE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_EEE_MODES_OURS, /* bitset */
|
|
- ETHTOOL_A_EEE_MODES_PEER, /* bitset */
|
|
- ETHTOOL_A_EEE_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_EEE_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_TIMER, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_EEE_CNT,
|
|
- ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
-};
|
|
-
|
|
-/* TSINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TSINFO_UNSPEC,
|
|
- ETHTOOL_A_TSINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_TSINFO_TIMESTAMPING, /* bitset */
|
|
- ETHTOOL_A_TSINFO_TX_TYPES, /* bitset */
|
|
- ETHTOOL_A_TSINFO_RX_FILTERS, /* bitset */
|
|
- ETHTOOL_A_TSINFO_PHC_INDEX, /* u32 */
|
|
- ETHTOOL_A_TSINFO_STATS, /* nest - _A_TSINFO_STAT */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TSINFO_CNT,
|
|
- ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TS_STAT_UNSPEC,
|
|
-
|
|
- ETHTOOL_A_TS_STAT_TX_PKTS, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_LOST, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_ERR, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TS_STAT_CNT,
|
|
- ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
-
|
|
-};
|
|
-
|
|
-/* PHC VCLOCKS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
- ETHTOOL_A_PHC_VCLOCKS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHC_VCLOCKS_NUM, /* u32 */
|
|
- ETHTOOL_A_PHC_VCLOCKS_INDEX, /* array, s32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
- ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST NOTIFY */
|
|
enum {
|
|
ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC,
|
|
@@ -583,73 +50,11 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
- ETHTOOL_A_CABLE_RESULT_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_RESULT_CODE, /* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */
|
|
- ETHTOOL_A_CABLE_RESULT_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
- ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_CM, /* u32 */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED
|
|
};
|
|
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_NEST_RESULT, /* nest - ETHTOOL_A_CABLE_RESULT_ */
|
|
- ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, /* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */
|
|
- __ETHTOOL_A_CABLE_NEST_CNT,
|
|
- ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST TDR */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG, /* nest - *_TDR_CFG_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST TDR NOTIFY */
|
|
|
|
enum {
|
|
@@ -690,163 +95,17 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
- 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)
|
|
-};
|
|
-
|
|
-/* FEC */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_UNSPEC,
|
|
- ETHTOOL_A_FEC_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEC_MODES, /* bitset */
|
|
- ETHTOOL_A_FEC_AUTO, /* u8 */
|
|
- ETHTOOL_A_FEC_ACTIVE, /* u32 */
|
|
- ETHTOOL_A_FEC_STATS, /* nest - _A_FEC_STAT */
|
|
-
|
|
- __ETHTOOL_A_FEC_CNT,
|
|
- ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
- ETHTOOL_A_FEC_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_FEC_STAT_CORRECTED, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_UNCORR, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_CORR_BITS, /* array, u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEC_STAT_CNT,
|
|
- ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE EEPROM */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
- ETHTOOL_A_MODULE_EEPROM_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- ETHTOOL_A_MODULE_EEPROM_OFFSET, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_LENGTH, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */
|
|
-
|
|
- __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
- ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* STATS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STATS_UNSPEC,
|
|
- ETHTOOL_A_STATS_PAD,
|
|
- ETHTOOL_A_STATS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STATS_GROUPS, /* bitset */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP, /* nest - _A_STATS_GRP_* */
|
|
-
|
|
- ETHTOOL_A_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_CNT,
|
|
- ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_STATS_ETH_PHY,
|
|
ETHTOOL_STATS_ETH_MAC,
|
|
ETHTOOL_STATS_ETH_CTRL,
|
|
ETHTOOL_STATS_RMON,
|
|
+ ETHTOOL_STATS_PHY,
|
|
|
|
/* add new constants above here */
|
|
__ETHTOOL_STATS_CNT
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
- ETHTOOL_A_STATS_GRP_PAD,
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_ID, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_SS_ID, /* u32 */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_STAT, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_RX, /* nest */
|
|
- ETHTOOL_A_STATS_GRP_HIST_TX, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_LOW, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_HI, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_VAL, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_GRP_CNT,
|
|
- ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
/* 30.3.2.1.5 aSymbolErrorDuringCarrier */
|
|
ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR,
|
|
|
|
@@ -935,160 +194,20 @@ enum {
|
|
ETHTOOL_A_STATS_RMON_MAX = (__ETHTOOL_A_STATS_RMON_CNT - 1)
|
|
};
|
|
|
|
-/* MODULE */
|
|
-
|
|
enum {
|
|
- ETHTOOL_A_MODULE_UNSPEC,
|
|
- ETHTOOL_A_MODULE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_POWER_MODE_POLICY, /* u8 */
|
|
- ETHTOOL_A_MODULE_POWER_MODE, /* u8 */
|
|
+ /* Basic packet counters if PHY has separate counters from the MAC */
|
|
+ ETHTOOL_A_STATS_PHY_RX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_RX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_RX_ERRORS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_TX_ERRORS,
|
|
|
|
/* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_CNT,
|
|
- ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+ __ETHTOOL_A_STATS_PHY_CNT,
|
|
+ ETHTOOL_A_STATS_PHY_MAX = (__ETHTOOL_A_STATS_PHY_CNT - 1)
|
|
};
|
|
|
|
-/* Power Sourcing Equipment */
|
|
-enum {
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MIN, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MAX, /* u32 */
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PSE_UNSPEC,
|
|
- ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_CLASS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ACTUAL_PW, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_SUBSTATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES, /* nest - _C33_PSE_PW_LIMIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PSE_CNT,
|
|
- ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RSS_UNSPEC,
|
|
- ETHTOOL_A_RSS_HEADER,
|
|
- ETHTOOL_A_RSS_CONTEXT, /* u32 */
|
|
- ETHTOOL_A_RSS_HFUNC, /* u32 */
|
|
- ETHTOOL_A_RSS_INDIR, /* binary */
|
|
- ETHTOOL_A_RSS_HKEY, /* binary */
|
|
- ETHTOOL_A_RSS_INPUT_XFRM, /* u32 */
|
|
- ETHTOOL_A_RSS_START_CONTEXT, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_RSS_CNT,
|
|
- ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
|
|
-};
|
|
-
|
|
-/* PLCA */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PLCA_UNSPEC,
|
|
- ETHTOOL_A_PLCA_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PLCA_VERSION, /* u16 */
|
|
- ETHTOOL_A_PLCA_ENABLED, /* u8 */
|
|
- ETHTOOL_A_PLCA_STATUS, /* u8 */
|
|
- ETHTOOL_A_PLCA_NODE_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_NODE_ID, /* u32 */
|
|
- ETHTOOL_A_PLCA_TO_TMR, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_TMR, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PLCA_CNT,
|
|
- ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MAC Merge (802.3) */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_STAT_UNSPEC,
|
|
- ETHTOOL_A_MM_STAT_PAD,
|
|
-
|
|
- /* aMACMergeFrameAssErrorCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameSmdErrorCount */
|
|
- ETHTOOL_A_MM_STAT_SMD_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameAssOkCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_OK, /* u64 */
|
|
- /* aMACMergeFragCountRx */
|
|
- ETHTOOL_A_MM_STAT_RX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeFragCountTx */
|
|
- ETHTOOL_A_MM_STAT_TX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeHoldCount */
|
|
- ETHTOOL_A_MM_STAT_HOLD_COUNT, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_STAT_CNT,
|
|
- ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_UNSPEC,
|
|
- ETHTOOL_A_MM_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MM_PMAC_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_RX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_VERIFY_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_STATUS, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_MAX_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_STATS, /* nest - _A_MM_STAT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_CNT,
|
|
- ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE_FW_FLASH */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_PASSWORD, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_DONE, /* uint */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_TOTAL, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHY_UNSPEC,
|
|
- ETHTOOL_A_PHY_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHY_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_DRVNAME, /* string */
|
|
- ETHTOOL_A_PHY_NAME, /* string */
|
|
- ETHTOOL_A_PHY_UPSTREAM_TYPE, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_SFP_NAME, /* string */
|
|
- ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHY_CNT,
|
|
- ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
-};
|
|
-
|
|
-/* generic netlink info */
|
|
-#define ETHTOOL_GENL_NAME "ethtool"
|
|
-#define ETHTOOL_GENL_VERSION 1
|
|
-
|
|
#define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
|
|
|
|
#endif /* _LINUX_ETHTOOL_NETLINK_H_ */
|
|
--- /dev/null
|
|
+++ b/arm/usr/include/linux/ethtool_netlink_generated.h
|
|
@@ -0,0 +1,821 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/ethtool.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+#define _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+
|
|
+#define ETHTOOL_GENL_NAME "ethtool"
|
|
+#define ETHTOOL_GENL_VERSION 1
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_GENEVE,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE,
|
|
+
|
|
+ /* private: */
|
|
+ __ETHTOOL_UDP_TUNNEL_TYPE_CNT,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_MAX = (__ETHTOOL_UDP_TUNNEL_TYPE_CNT - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum ethtool_header_flags - common ethtool header flags
|
|
+ * @ETHTOOL_FLAG_COMPACT_BITSETS: use compact bitsets in reply
|
|
+ * @ETHTOOL_FLAG_OMIT_REPLY: provide optional reply for SET or ACT requests
|
|
+ * @ETHTOOL_FLAG_STATS: request statistics, if supported by the driver
|
|
+ */
|
|
+enum ethtool_header_flags {
|
|
+ ETHTOOL_FLAG_COMPACT_BITSETS = 1,
|
|
+ ETHTOOL_FLAG_OMIT_REPLY = 2,
|
|
+ ETHTOOL_FLAG_STATS = 4,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_MAC,
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_PHY,
|
|
+};
|
|
+
|
|
+enum ethtool_tcp_data_split {
|
|
+ ETHTOOL_TCP_DATA_SPLIT_UNKNOWN,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_HEADER_UNSPEC,
|
|
+ ETHTOOL_A_HEADER_DEV_INDEX,
|
|
+ ETHTOOL_A_HEADER_DEV_NAME,
|
|
+ ETHTOOL_A_HEADER_FLAGS,
|
|
+ ETHTOOL_A_HEADER_PHY_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_HEADER_CNT,
|
|
+ ETHTOOL_A_HEADER_MAX = (__ETHTOOL_A_HEADER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BIT_INDEX,
|
|
+ ETHTOOL_A_BITSET_BIT_NAME,
|
|
+ ETHTOOL_A_BITSET_BIT_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BIT_CNT,
|
|
+ ETHTOOL_A_BITSET_BIT_MAX = (__ETHTOOL_A_BITSET_BIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BITS_BIT,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BITS_CNT,
|
|
+ ETHTOOL_A_BITSET_BITS_MAX = (__ETHTOOL_A_BITSET_BITS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_NOMASK,
|
|
+ ETHTOOL_A_BITSET_SIZE,
|
|
+ ETHTOOL_A_BITSET_BITS,
|
|
+ ETHTOOL_A_BITSET_VALUE,
|
|
+ ETHTOOL_A_BITSET_MASK,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_CNT,
|
|
+ ETHTOOL_A_BITSET_MAX = (__ETHTOOL_A_BITSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRING_UNSPEC,
|
|
+ ETHTOOL_A_STRING_INDEX,
|
|
+ ETHTOOL_A_STRING_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_STRING_CNT,
|
|
+ ETHTOOL_A_STRING_MAX = (__ETHTOOL_A_STRING_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGS_STRING,
|
|
+
|
|
+ __ETHTOOL_A_STRINGS_CNT,
|
|
+ ETHTOOL_A_STRINGS_MAX = (__ETHTOOL_A_STRINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSET_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSET_ID,
|
|
+ ETHTOOL_A_STRINGSET_COUNT,
|
|
+ ETHTOOL_A_STRINGSET_STRINGS,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSET_CNT,
|
|
+ ETHTOOL_A_STRINGSET_MAX = (__ETHTOOL_A_STRINGSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSETS_STRINGSET,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSETS_CNT,
|
|
+ ETHTOOL_A_STRINGSETS_MAX = (__ETHTOOL_A_STRINGSETS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRSET_UNSPEC,
|
|
+ ETHTOOL_A_STRSET_HEADER,
|
|
+ ETHTOOL_A_STRSET_STRINGSETS,
|
|
+ ETHTOOL_A_STRSET_COUNTS_ONLY,
|
|
+
|
|
+ __ETHTOOL_A_STRSET_CNT,
|
|
+ ETHTOOL_A_STRSET_MAX = (__ETHTOOL_A_STRSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
+ ETHTOOL_A_PRIVFLAGS_HEADER,
|
|
+ ETHTOOL_A_PRIVFLAGS_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
+ ETHTOOL_A_PRIVFLAGS_MAX = (__ETHTOOL_A_PRIVFLAGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RINGS_UNSPEC,
|
|
+ ETHTOOL_A_RINGS_HEADER,
|
|
+ ETHTOOL_A_RINGS_RX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO_MAX,
|
|
+ ETHTOOL_A_RINGS_TX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO,
|
|
+ ETHTOOL_A_RINGS_TX,
|
|
+ ETHTOOL_A_RINGS_RX_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
|
|
+ ETHTOOL_A_RINGS_CQE_SIZE,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH,
|
|
+ ETHTOOL_A_RINGS_RX_PUSH,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH_MAX,
|
|
+
|
|
+ __ETHTOOL_A_RINGS_CNT,
|
|
+ ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_STAT_UNSPEC,
|
|
+ ETHTOOL_A_MM_STAT_PAD,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_SMD_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_OK,
|
|
+ ETHTOOL_A_MM_STAT_RX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_TX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_HOLD_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_MM_STAT_CNT,
|
|
+ ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_UNSPEC,
|
|
+ ETHTOOL_A_MM_HEADER,
|
|
+ ETHTOOL_A_MM_PMAC_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ACTIVE,
|
|
+ ETHTOOL_A_MM_TX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_RX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_VERIFY_ENABLED,
|
|
+ ETHTOOL_A_MM_VERIFY_STATUS,
|
|
+ ETHTOOL_A_MM_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_MAX_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_STATS,
|
|
+
|
|
+ __ETHTOOL_A_MM_CNT,
|
|
+ ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKINFO_UNSPEC,
|
|
+ ETHTOOL_A_LINKINFO_HEADER,
|
|
+ ETHTOOL_A_LINKINFO_PORT,
|
|
+ ETHTOOL_A_LINKINFO_PHYADDR,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX_CTRL,
|
|
+ ETHTOOL_A_LINKINFO_TRANSCEIVER,
|
|
+
|
|
+ __ETHTOOL_A_LINKINFO_CNT,
|
|
+ ETHTOOL_A_LINKINFO_MAX = (__ETHTOOL_A_LINKINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKMODES_UNSPEC,
|
|
+ ETHTOOL_A_LINKMODES_HEADER,
|
|
+ ETHTOOL_A_LINKMODES_AUTONEG,
|
|
+ ETHTOOL_A_LINKMODES_OURS,
|
|
+ ETHTOOL_A_LINKMODES_PEER,
|
|
+ ETHTOOL_A_LINKMODES_SPEED,
|
|
+ ETHTOOL_A_LINKMODES_DUPLEX,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE,
|
|
+ ETHTOOL_A_LINKMODES_LANES,
|
|
+ ETHTOOL_A_LINKMODES_RATE_MATCHING,
|
|
+
|
|
+ __ETHTOOL_A_LINKMODES_CNT,
|
|
+ ETHTOOL_A_LINKMODES_MAX = (__ETHTOOL_A_LINKMODES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
+ ETHTOOL_A_LINKSTATE_HEADER,
|
|
+ ETHTOOL_A_LINKSTATE_LINK,
|
|
+ ETHTOOL_A_LINKSTATE_SQI,
|
|
+ ETHTOOL_A_LINKSTATE_SQI_MAX,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_STATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT,
|
|
+
|
|
+ __ETHTOOL_A_LINKSTATE_CNT,
|
|
+ ETHTOOL_A_LINKSTATE_MAX = (__ETHTOOL_A_LINKSTATE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_DEBUG_UNSPEC,
|
|
+ ETHTOOL_A_DEBUG_HEADER,
|
|
+ ETHTOOL_A_DEBUG_MSGMASK,
|
|
+
|
|
+ __ETHTOOL_A_DEBUG_CNT,
|
|
+ ETHTOOL_A_DEBUG_MAX = (__ETHTOOL_A_DEBUG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_WOL_UNSPEC,
|
|
+ ETHTOOL_A_WOL_HEADER,
|
|
+ ETHTOOL_A_WOL_MODES,
|
|
+ ETHTOOL_A_WOL_SOPASS,
|
|
+
|
|
+ __ETHTOOL_A_WOL_CNT,
|
|
+ ETHTOOL_A_WOL_MAX = (__ETHTOOL_A_WOL_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEATURES_UNSPEC,
|
|
+ ETHTOOL_A_FEATURES_HEADER,
|
|
+ ETHTOOL_A_FEATURES_HW,
|
|
+ ETHTOOL_A_FEATURES_WANTED,
|
|
+ ETHTOOL_A_FEATURES_ACTIVE,
|
|
+ ETHTOOL_A_FEATURES_NOCHANGE,
|
|
+
|
|
+ __ETHTOOL_A_FEATURES_CNT,
|
|
+ ETHTOOL_A_FEATURES_MAX = (__ETHTOOL_A_FEATURES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CHANNELS_UNSPEC,
|
|
+ ETHTOOL_A_CHANNELS_HEADER,
|
|
+ ETHTOOL_A_CHANNELS_RX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_TX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_MAX,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_MAX,
|
|
+ ETHTOOL_A_CHANNELS_RX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_TX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_CHANNELS_CNT,
|
|
+ ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_USEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_PKTS,
|
|
+ ETHTOOL_A_IRQ_MODERATION_COMPS,
|
|
+
|
|
+ __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
+ ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PROFILE_UNSPEC,
|
|
+ ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
+
|
|
+ __ETHTOOL_A_PROFILE_CNT,
|
|
+ ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_COALESCE_UNSPEC,
|
|
+ ETHTOOL_A_COALESCE_HEADER,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_STATS_BLOCK_USECS,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_TX,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_RX,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
+ ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
+
|
|
+ __ETHTOOL_A_COALESCE_CNT,
|
|
+ ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_STAT_PAD,
|
|
+ ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
+ ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
+ ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_HEADER,
|
|
+ ETHTOOL_A_PAUSE_AUTONEG,
|
|
+ ETHTOOL_A_PAUSE_RX,
|
|
+ ETHTOOL_A_PAUSE_TX,
|
|
+ ETHTOOL_A_PAUSE_STATS,
|
|
+ ETHTOOL_A_PAUSE_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_CNT,
|
|
+ ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_EEE_UNSPEC,
|
|
+ ETHTOOL_A_EEE_HEADER,
|
|
+ ETHTOOL_A_EEE_MODES_OURS,
|
|
+ ETHTOOL_A_EEE_MODES_PEER,
|
|
+ ETHTOOL_A_EEE_ACTIVE,
|
|
+ ETHTOOL_A_EEE_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_TIMER,
|
|
+
|
|
+ __ETHTOOL_A_EEE_CNT,
|
|
+ ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_STAT_UNSPEC,
|
|
+ ETHTOOL_A_TS_STAT_TX_PKTS,
|
|
+ ETHTOOL_A_TS_STAT_TX_LOST,
|
|
+ ETHTOOL_A_TS_STAT_TX_ERR,
|
|
+ ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED,
|
|
+
|
|
+ __ETHTOOL_A_TS_STAT_CNT,
|
|
+ ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER,
|
|
+
|
|
+ __ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = (__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSINFO_UNSPEC,
|
|
+ ETHTOOL_A_TSINFO_HEADER,
|
|
+ ETHTOOL_A_TSINFO_TIMESTAMPING,
|
|
+ ETHTOOL_A_TSINFO_TX_TYPES,
|
|
+ ETHTOOL_A_TSINFO_RX_FILTERS,
|
|
+ ETHTOOL_A_TSINFO_PHC_INDEX,
|
|
+ ETHTOOL_A_TSINFO_STATS,
|
|
+ ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER,
|
|
+
|
|
+ __ETHTOOL_A_TSINFO_CNT,
|
|
+ ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_RESULT_PAIR,
|
|
+ ETHTOOL_A_CABLE_RESULT_CODE,
|
|
+ ETHTOOL_A_CABLE_RESULT_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
+ ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_CM,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_NEST_RESULT,
|
|
+ ETHTOOL_A_CABLE_NEST_FAULT_LENGTH,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_NEST_CNT,
|
|
+ ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_HEADER,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_MAX = (__ETHTOOL_A_CABLE_TEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY,
|
|
+
|
|
+ __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,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_INFO_UDP_PORTS,
|
|
+
|
|
+ __ETHTOOL_A_TUNNEL_INFO_CNT,
|
|
+ ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
+ ETHTOOL_A_FEC_STAT_PAD,
|
|
+ ETHTOOL_A_FEC_STAT_CORRECTED,
|
|
+ ETHTOOL_A_FEC_STAT_UNCORR,
|
|
+ ETHTOOL_A_FEC_STAT_CORR_BITS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_STAT_CNT,
|
|
+ ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_UNSPEC,
|
|
+ ETHTOOL_A_FEC_HEADER,
|
|
+ ETHTOOL_A_FEC_MODES,
|
|
+ ETHTOOL_A_FEC_AUTO,
|
|
+ ETHTOOL_A_FEC_ACTIVE,
|
|
+ ETHTOOL_A_FEC_STATS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_CNT,
|
|
+ ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_EEPROM_HEADER,
|
|
+ ETHTOOL_A_MODULE_EEPROM_OFFSET,
|
|
+ ETHTOOL_A_MODULE_EEPROM_LENGTH,
|
|
+ ETHTOOL_A_MODULE_EEPROM_PAGE,
|
|
+ ETHTOOL_A_MODULE_EEPROM_BANK,
|
|
+ ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS,
|
|
+ ETHTOOL_A_MODULE_EEPROM_DATA,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
+ ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
+ ETHTOOL_A_STATS_GRP_PAD,
|
|
+ ETHTOOL_A_STATS_GRP_ID,
|
|
+ ETHTOOL_A_STATS_GRP_SS_ID,
|
|
+ ETHTOOL_A_STATS_GRP_STAT,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_RX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_TX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_LOW,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_HI,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_VAL,
|
|
+
|
|
+ __ETHTOOL_A_STATS_GRP_CNT,
|
|
+ ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_UNSPEC,
|
|
+ ETHTOOL_A_STATS_PAD,
|
|
+ ETHTOOL_A_STATS_HEADER,
|
|
+ ETHTOOL_A_STATS_GROUPS,
|
|
+ ETHTOOL_A_STATS_GRP,
|
|
+ ETHTOOL_A_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_STATS_CNT,
|
|
+ ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_HEADER,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_NUM,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_HEADER,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE_POLICY,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_CNT,
|
|
+ ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MIN,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MAX,
|
|
+
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_CNT,
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = (__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PSE_UNSPEC,
|
|
+ ETHTOOL_A_PSE_HEADER,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_PODL_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_C33_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_PW_CLASS,
|
|
+ ETHTOOL_A_C33_PSE_ACTUAL_PW,
|
|
+ ETHTOOL_A_C33_PSE_EXT_STATE,
|
|
+ ETHTOOL_A_C33_PSE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES,
|
|
+
|
|
+ __ETHTOOL_A_PSE_CNT,
|
|
+ ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RSS_UNSPEC,
|
|
+ ETHTOOL_A_RSS_HEADER,
|
|
+ ETHTOOL_A_RSS_CONTEXT,
|
|
+ ETHTOOL_A_RSS_HFUNC,
|
|
+ ETHTOOL_A_RSS_INDIR,
|
|
+ ETHTOOL_A_RSS_HKEY,
|
|
+ ETHTOOL_A_RSS_INPUT_XFRM,
|
|
+ ETHTOOL_A_RSS_START_CONTEXT,
|
|
+
|
|
+ __ETHTOOL_A_RSS_CNT,
|
|
+ ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PLCA_UNSPEC,
|
|
+ ETHTOOL_A_PLCA_HEADER,
|
|
+ ETHTOOL_A_PLCA_VERSION,
|
|
+ ETHTOOL_A_PLCA_ENABLED,
|
|
+ ETHTOOL_A_PLCA_STATUS,
|
|
+ ETHTOOL_A_PLCA_NODE_CNT,
|
|
+ ETHTOOL_A_PLCA_NODE_ID,
|
|
+ ETHTOOL_A_PLCA_TO_TMR,
|
|
+ ETHTOOL_A_PLCA_BURST_CNT,
|
|
+ ETHTOOL_A_PLCA_BURST_TMR,
|
|
+
|
|
+ __ETHTOOL_A_PLCA_CNT,
|
|
+ ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_HEADER,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_PASSWORD,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_DONE,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_TOTAL,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHY_UNSPEC,
|
|
+ ETHTOOL_A_PHY_HEADER,
|
|
+ ETHTOOL_A_PHY_INDEX,
|
|
+ ETHTOOL_A_PHY_DRVNAME,
|
|
+ ETHTOOL_A_PHY_NAME,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_TYPE,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_INDEX,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_SFP_NAME,
|
|
+ ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME,
|
|
+
|
|
+ __ETHTOOL_A_PHY_CNT,
|
|
+ ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSCONFIG_UNSPEC,
|
|
+ ETHTOOL_A_TSCONFIG_HEADER,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER,
|
|
+ ETHTOOL_A_TSCONFIG_TX_TYPES,
|
|
+ ETHTOOL_A_TSCONFIG_RX_FILTERS,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_TSCONFIG_CNT,
|
|
+ ETHTOOL_A_TSCONFIG_MAX = (__ETHTOOL_A_TSCONFIG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_USER_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET,
|
|
+ ETHTOOL_MSG_LINKINFO_SET,
|
|
+ ETHTOOL_MSG_LINKMODES_GET,
|
|
+ ETHTOOL_MSG_LINKMODES_SET,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET,
|
|
+ ETHTOOL_MSG_DEBUG_GET,
|
|
+ ETHTOOL_MSG_DEBUG_SET,
|
|
+ ETHTOOL_MSG_WOL_GET,
|
|
+ ETHTOOL_MSG_WOL_SET,
|
|
+ ETHTOOL_MSG_FEATURES_GET,
|
|
+ ETHTOOL_MSG_FEATURES_SET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
+ ETHTOOL_MSG_RINGS_GET,
|
|
+ ETHTOOL_MSG_RINGS_SET,
|
|
+ ETHTOOL_MSG_CHANNELS_GET,
|
|
+ ETHTOOL_MSG_CHANNELS_SET,
|
|
+ ETHTOOL_MSG_COALESCE_GET,
|
|
+ ETHTOOL_MSG_COALESCE_SET,
|
|
+ ETHTOOL_MSG_PAUSE_GET,
|
|
+ ETHTOOL_MSG_PAUSE_SET,
|
|
+ ETHTOOL_MSG_EEE_GET,
|
|
+ ETHTOOL_MSG_EEE_SET,
|
|
+ ETHTOOL_MSG_TSINFO_GET,
|
|
+ ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
+ ETHTOOL_MSG_FEC_GET,
|
|
+ ETHTOOL_MSG_FEC_SET,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
+ ETHTOOL_MSG_STATS_GET,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
+ ETHTOOL_MSG_MODULE_GET,
|
|
+ ETHTOOL_MSG_MODULE_SET,
|
|
+ ETHTOOL_MSG_PSE_GET,
|
|
+ ETHTOOL_MSG_PSE_SET,
|
|
+ ETHTOOL_MSG_RSS_GET,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_SET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
+ ETHTOOL_MSG_MM_GET,
|
|
+ ETHTOOL_MSG_MM_SET,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
+ ETHTOOL_MSG_PHY_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET,
|
|
+
|
|
+ __ETHTOOL_MSG_USER_CNT,
|
|
+ ETHTOOL_MSG_USER_MAX = (__ETHTOOL_MSG_USER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_KERNEL_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET_REPLY = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKINFO_NTF,
|
|
+ ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKMODES_NTF,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_NTF,
|
|
+ ETHTOOL_MSG_WOL_GET_REPLY,
|
|
+ ETHTOOL_MSG_WOL_NTF,
|
|
+ ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_NTF,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
+ ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_RINGS_NTF,
|
|
+ ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
+ ETHTOOL_MSG_CHANNELS_NTF,
|
|
+ ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
+ ETHTOOL_MSG_COALESCE_NTF,
|
|
+ ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_PAUSE_NTF,
|
|
+ ETHTOOL_MSG_EEE_GET_REPLY,
|
|
+ ETHTOOL_MSG_EEE_NTF,
|
|
+ ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_NTF,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
+ ETHTOOL_MSG_STATS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_NTF,
|
|
+ ETHTOOL_MSG_PSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_RSS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_NTF,
|
|
+ ETHTOOL_MSG_MM_GET_REPLY,
|
|
+ ETHTOOL_MSG_MM_NTF,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
+ ETHTOOL_MSG_PHY_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHY_NTF,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET_REPLY,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET_REPLY,
|
|
+
|
|
+ __ETHTOOL_MSG_KERNEL_CNT,
|
|
+ ETHTOOL_MSG_KERNEL_MAX = (__ETHTOOL_MSG_KERNEL_CNT - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_ETHTOOL_NETLINK_GENERATED_H */
|
|
--- a/arm/usr/include/linux/fs.h
|
|
+++ b/arm/usr/include/linux/fs.h
|
|
@@ -36,6 +36,15 @@
|
|
#define BLOCK_SIZE_BITS 10
|
|
#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
|
|
|
|
+/* flags for integrity meta */
|
|
+#define IO_INTEGRITY_CHK_GUARD (1U << 0) /* enforce guard check */
|
|
+#define IO_INTEGRITY_CHK_REFTAG (1U << 1) /* enforce ref check */
|
|
+#define IO_INTEGRITY_CHK_APPTAG (1U << 2) /* enforce app check */
|
|
+
|
|
+#define IO_INTEGRITY_VALID_FLAGS (IO_INTEGRITY_CHK_GUARD | \
|
|
+ IO_INTEGRITY_CHK_REFTAG | \
|
|
+ IO_INTEGRITY_CHK_APPTAG)
|
|
+
|
|
#define SEEK_SET 0 /* seek relative to beginning of file */
|
|
#define SEEK_CUR 1 /* seek relative to current file position */
|
|
#define SEEK_END 2 /* seek relative to end of file */
|
|
--- a/arm/usr/include/linux/hidraw.h
|
|
+++ b/arm/usr/include/linux/hidraw.h
|
|
@@ -48,6 +48,8 @@ struct hidraw_devinfo {
|
|
#define HIDIOCGOUTPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0C, len)
|
|
#define HIDIOCREVOKE _IOW('H', 0x0D, int) /* Revoke device access */
|
|
|
|
+#define HIDIOCTL_LAST _IOC_NR(HIDIOCREVOKE)
|
|
+
|
|
#define HIDRAW_FIRST_MINOR 0
|
|
#define HIDRAW_MAX_DEVICES 64
|
|
/* number of reports to buffer */
|
|
--- a/arm/usr/include/linux/if_link.h
|
|
+++ b/arm/usr/include/linux/if_link.h
|
|
@@ -377,6 +377,7 @@ enum {
|
|
IFLA_GSO_IPV4_MAX_SIZE,
|
|
IFLA_GRO_IPV4_MAX_SIZE,
|
|
IFLA_DPLL_PIN,
|
|
+ IFLA_MAX_PACING_OFFLOAD_HORIZON,
|
|
__IFLA_MAX
|
|
};
|
|
|
|
--- a/arm/usr/include/linux/input-event-codes.h
|
|
+++ b/arm/usr/include/linux/input-event-codes.h
|
|
@@ -519,6 +519,7 @@
|
|
#define KEY_NOTIFICATION_CENTER 0x1bc /* Show/hide the notification center */
|
|
#define KEY_PICKUP_PHONE 0x1bd /* Answer incoming call */
|
|
#define KEY_HANGUP_PHONE 0x1be /* Decline incoming call */
|
|
+#define KEY_LINK_PHONE 0x1bf /* AL Phone Syncing */
|
|
|
|
#define KEY_DEL_EOL 0x1c0
|
|
#define KEY_DEL_EOS 0x1c1
|
|
--- a/arm/usr/include/linux/io_uring.h
|
|
+++ b/arm/usr/include/linux/io_uring.h
|
|
@@ -98,6 +98,10 @@ struct io_uring_sqe {
|
|
__u64 addr3;
|
|
__u64 __pad2[1];
|
|
};
|
|
+ struct {
|
|
+ __u64 attr_ptr; /* pointer to attribute information */
|
|
+ __u64 attr_type_mask; /* bit mask of attributes */
|
|
+ };
|
|
__u64 optval;
|
|
/*
|
|
* If the ring is initialized with IORING_SETUP_SQE128, then
|
|
@@ -107,6 +111,18 @@ struct io_uring_sqe {
|
|
};
|
|
};
|
|
|
|
+/* sqe->attr_type_mask flags */
|
|
+#define IORING_RW_ATTR_FLAG_PI (1U << 0)
|
|
+/* PI attribute information */
|
|
+struct io_uring_attr_pi {
|
|
+ __u16 flags;
|
|
+ __u16 app_tag;
|
|
+ __u32 len;
|
|
+ __u64 addr;
|
|
+ __u64 seed;
|
|
+ __u64 rsvd;
|
|
+};
|
|
+
|
|
/*
|
|
* If sqe->file_index is set to this for opcodes that instantiate a new
|
|
* direct descriptor (like openat/openat2/accept), then io_uring will allocate
|
|
@@ -554,6 +570,7 @@ struct io_uring_params {
|
|
#define IORING_FEAT_REG_REG_RING (1U << 13)
|
|
#define IORING_FEAT_RECVSEND_BUNDLE (1U << 14)
|
|
#define IORING_FEAT_MIN_TIMEOUT (1U << 15)
|
|
+#define IORING_FEAT_RW_ATTR (1U << 16)
|
|
|
|
/*
|
|
* io_uring_register(2) opcodes and arguments
|
|
--- a/arm/usr/include/linux/iommufd.h
|
|
+++ b/arm/usr/include/linux/iommufd.h
|
|
@@ -737,6 +737,7 @@ enum iommu_hwpt_pgfault_perm {
|
|
* @pasid: Process Address Space ID
|
|
* @grpid: Page Request Group Index
|
|
* @perm: Combination of enum iommu_hwpt_pgfault_perm
|
|
+ * @__reserved: Must be 0.
|
|
* @addr: Fault address
|
|
* @length: a hint of how much data the requestor is expecting to fetch. For
|
|
* example, if the PRI initiator knows it is going to do a 10MB
|
|
@@ -752,7 +753,8 @@ struct iommu_hwpt_pgfault {
|
|
__u32 pasid;
|
|
__u32 grpid;
|
|
__u32 perm;
|
|
- __u64 addr;
|
|
+ __u32 __reserved;
|
|
+ __aligned_u64 addr;
|
|
__u32 length;
|
|
__u32 cookie;
|
|
};
|
|
--- a/arm/usr/include/linux/kfd_ioctl.h
|
|
+++ b/arm/usr/include/linux/kfd_ioctl.h
|
|
@@ -62,6 +62,8 @@ struct kfd_ioctl_get_version_args {
|
|
#define KFD_MAX_QUEUE_PERCENTAGE 100
|
|
#define KFD_MAX_QUEUE_PRIORITY 15
|
|
|
|
+#define KFD_MIN_QUEUE_RING_SIZE 1024
|
|
+
|
|
struct kfd_ioctl_create_queue_args {
|
|
__u64 ring_base_address; /* to KFD */
|
|
__u64 write_pointer_address; /* from KFD */
|
|
--- a/arm/usr/include/linux/landlock.h
|
|
+++ b/arm/usr/include/linux/landlock.h
|
|
@@ -57,9 +57,11 @@ struct landlock_ruleset_attr {
|
|
*
|
|
* - %LANDLOCK_CREATE_RULESET_VERSION: Get the highest supported Landlock ABI
|
|
* version.
|
|
+ * - %LANDLOCK_CREATE_RULESET_ERRATA: Get a bitmask of fixed issues.
|
|
*/
|
|
/* clang-format off */
|
|
#define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
|
|
+#define LANDLOCK_CREATE_RULESET_ERRATA (1U << 1)
|
|
/* clang-format on */
|
|
|
|
/**
|
|
--- /dev/null
|
|
+++ b/arm/usr/include/linux/livepatch.h
|
|
@@ -0,0 +1,15 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+
|
|
+/*
|
|
+ * livepatch.h - Kernel Live Patching Core
|
|
+ *
|
|
+ * Copyright (C) 2016 Josh Poimboeuf <jpoimboe@redhat.com>
|
|
+ */
|
|
+
|
|
+#ifndef _LIVEPATCH_H
|
|
+#define _LIVEPATCH_H
|
|
+
|
|
+#define KLP_RELA_PREFIX ".klp.rela."
|
|
+#define KLP_SYM_PREFIX ".klp.sym."
|
|
+
|
|
+#endif /* _LIVEPATCH_H */
|
|
--- /dev/null
|
|
+++ b/arm/usr/include/linux/mshv.h
|
|
@@ -0,0 +1,291 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+/*
|
|
+ * Userspace interfaces for /dev/mshv* devices and derived fds
|
|
+ *
|
|
+ * This file is divided into sections containing data structures and IOCTLs for
|
|
+ * a particular set of related devices or derived file descriptors.
|
|
+ *
|
|
+ * The IOCTL definitions are at the end of each section. They are grouped by
|
|
+ * device/fd, so that new IOCTLs can easily be added with a monotonically
|
|
+ * increasing number.
|
|
+ */
|
|
+#ifndef _LINUX_MSHV_H
|
|
+#define _LINUX_MSHV_H
|
|
+
|
|
+#include <linux/types.h>
|
|
+
|
|
+#define MSHV_IOCTL 0xB8
|
|
+
|
|
+/*
|
|
+ *******************************************
|
|
+ * Entry point to main VMM APIs: /dev/mshv *
|
|
+ *******************************************
|
|
+ */
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_BIT_LAPIC,
|
|
+ MSHV_PT_BIT_X2APIC,
|
|
+ MSHV_PT_BIT_GPA_SUPER_PAGES,
|
|
+ MSHV_PT_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_PT_FLAGS_MASK ((1 << MSHV_PT_BIT_COUNT) - 1)
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_ISOLATION_NONE,
|
|
+ MSHV_PT_ISOLATION_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_create_partition - arguments for MSHV_CREATE_PARTITION
|
|
+ * @pt_flags: Bitmask of 1 << MSHV_PT_BIT_*
|
|
+ * @pt_isolation: MSHV_PT_ISOLATION_*
|
|
+ *
|
|
+ * Returns a file descriptor to act as a handle to a guest partition.
|
|
+ * At this point the partition is not yet initialized in the hypervisor.
|
|
+ * Some operations must be done with the partition in this state, e.g. setting
|
|
+ * so-called "early" partition properties. The partition can then be
|
|
+ * initialized with MSHV_INITIALIZE_PARTITION.
|
|
+ */
|
|
+struct mshv_create_partition {
|
|
+ __u64 pt_flags;
|
|
+ __u64 pt_isolation;
|
|
+};
|
|
+
|
|
+/* /dev/mshv */
|
|
+#define MSHV_CREATE_PARTITION _IOW(MSHV_IOCTL, 0x00, struct mshv_create_partition)
|
|
+
|
|
+/*
|
|
+ ************************
|
|
+ * Child partition APIs *
|
|
+ ************************
|
|
+ */
|
|
+
|
|
+struct mshv_create_vp {
|
|
+ __u32 vp_index;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_SET_MEM_BIT_WRITABLE,
|
|
+ MSHV_SET_MEM_BIT_EXECUTABLE,
|
|
+ MSHV_SET_MEM_BIT_UNMAP,
|
|
+ MSHV_SET_MEM_BIT_COUNT
|
|
+};
|
|
+
|
|
+#define MSHV_SET_MEM_FLAGS_MASK ((1 << MSHV_SET_MEM_BIT_COUNT) - 1)
|
|
+
|
|
+/* The hypervisor's "native" page size */
|
|
+#define MSHV_HV_PAGE_SIZE 0x1000
|
|
+
|
|
+/**
|
|
+ * struct mshv_user_mem_region - arguments for MSHV_SET_GUEST_MEMORY
|
|
+ * @size: Size of the memory region (bytes). Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @guest_pfn: Base guest page number to map
|
|
+ * @userspace_addr: Base address of userspace memory. Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @flags: Bitmask of 1 << MSHV_SET_MEM_BIT_*. If (1 << MSHV_SET_MEM_BIT_UNMAP)
|
|
+ * is set, ignore other bits.
|
|
+ * @rsvd: MBZ
|
|
+ *
|
|
+ * Map or unmap a region of userspace memory to Guest Physical Addresses (GPA).
|
|
+ * Mappings can't overlap in GPA space or userspace.
|
|
+ * To unmap, these fields must match an existing mapping.
|
|
+ */
|
|
+struct mshv_user_mem_region {
|
|
+ __u64 size;
|
|
+ __u64 guest_pfn;
|
|
+ __u64 userspace_addr;
|
|
+ __u8 flags;
|
|
+ __u8 rsvd[7];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IRQFD_BIT_DEASSIGN,
|
|
+ MSHV_IRQFD_BIT_RESAMPLE,
|
|
+ MSHV_IRQFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IRQFD_FLAGS_MASK ((1 << MSHV_IRQFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_irqfd {
|
|
+ __s32 fd;
|
|
+ __s32 resamplefd;
|
|
+ __u32 gsi;
|
|
+ __u32 flags;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IOEVENTFD_BIT_DATAMATCH,
|
|
+ MSHV_IOEVENTFD_BIT_PIO,
|
|
+ MSHV_IOEVENTFD_BIT_DEASSIGN,
|
|
+ MSHV_IOEVENTFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IOEVENTFD_FLAGS_MASK ((1 << MSHV_IOEVENTFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_ioeventfd {
|
|
+ __u64 datamatch;
|
|
+ __u64 addr; /* legal pio/mmio address */
|
|
+ __u32 len; /* 1, 2, 4, or 8 bytes */
|
|
+ __s32 fd;
|
|
+ __u32 flags;
|
|
+ __u8 rsvd[4];
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_entry {
|
|
+ __u32 gsi;
|
|
+ __u32 address_lo;
|
|
+ __u32 address_hi;
|
|
+ __u32 data;
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_table {
|
|
+ __u32 nr;
|
|
+ __u32 rsvd; /* MBZ */
|
|
+ struct mshv_user_irq_entry entries[];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_TYPE_ACCESSED,
|
|
+ MSHV_GPAP_ACCESS_TYPE_DIRTY,
|
|
+ MSHV_GPAP_ACCESS_TYPE_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_OP_NOOP,
|
|
+ MSHV_GPAP_ACCESS_OP_CLEAR,
|
|
+ MSHV_GPAP_ACCESS_OP_SET,
|
|
+ MSHV_GPAP_ACCESS_OP_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_gpap_access_bitmap - arguments for MSHV_GET_GPAP_ACCESS_BITMAP
|
|
+ * @access_type: MSHV_GPAP_ACCESS_TYPE_* - The type of access to record in the
|
|
+ * bitmap
|
|
+ * @access_op: MSHV_GPAP_ACCESS_OP_* - Allows an optional clear or set of all
|
|
+ * the access states in the range, after retrieving the current
|
|
+ * states.
|
|
+ * @rsvd: MBZ
|
|
+ * @page_count: Number of pages
|
|
+ * @gpap_base: Base gpa page number
|
|
+ * @bitmap_ptr: Output buffer for bitmap, at least (page_count + 7) / 8 bytes
|
|
+ *
|
|
+ * Retrieve a bitmap of either ACCESSED or DIRTY bits for a given range of guest
|
|
+ * memory, and optionally clear or set the bits.
|
|
+ */
|
|
+struct mshv_gpap_access_bitmap {
|
|
+ __u8 access_type;
|
|
+ __u8 access_op;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 page_count;
|
|
+ __u64 gpap_base;
|
|
+ __u64 bitmap_ptr;
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_root_hvcall - arguments for MSHV_ROOT_HVCALL
|
|
+ * @code: Hypercall code (HVCALL_*)
|
|
+ * @reps: in: Rep count ('repcount')
|
|
+ * out: Reps completed ('repcomp'). MBZ unless rep hvcall
|
|
+ * @in_sz: Size of input incl rep data. <= MSHV_HV_PAGE_SIZE
|
|
+ * @out_sz: Size of output buffer. <= MSHV_HV_PAGE_SIZE. MBZ if out_ptr is 0
|
|
+ * @status: in: MBZ
|
|
+ * out: HV_STATUS_* from hypercall
|
|
+ * @rsvd: MBZ
|
|
+ * @in_ptr: Input data buffer (struct hv_input_*). If used with partition or
|
|
+ * vp fd, partition id field is populated by kernel.
|
|
+ * @out_ptr: Output data buffer (optional)
|
|
+ */
|
|
+struct mshv_root_hvcall {
|
|
+ __u16 code;
|
|
+ __u16 reps;
|
|
+ __u16 in_sz;
|
|
+ __u16 out_sz;
|
|
+ __u16 status;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 in_ptr;
|
|
+ __u64 out_ptr;
|
|
+};
|
|
+
|
|
+/* Partition fds created with MSHV_CREATE_PARTITION */
|
|
+#define MSHV_INITIALIZE_PARTITION _IO(MSHV_IOCTL, 0x00)
|
|
+#define MSHV_CREATE_VP _IOW(MSHV_IOCTL, 0x01, struct mshv_create_vp)
|
|
+#define MSHV_SET_GUEST_MEMORY _IOW(MSHV_IOCTL, 0x02, struct mshv_user_mem_region)
|
|
+#define MSHV_IRQFD _IOW(MSHV_IOCTL, 0x03, struct mshv_user_irqfd)
|
|
+#define MSHV_IOEVENTFD _IOW(MSHV_IOCTL, 0x04, struct mshv_user_ioeventfd)
|
|
+#define MSHV_SET_MSI_ROUTING _IOW(MSHV_IOCTL, 0x05, struct mshv_user_irq_table)
|
|
+#define MSHV_GET_GPAP_ACCESS_BITMAP _IOWR(MSHV_IOCTL, 0x06, struct mshv_gpap_access_bitmap)
|
|
+/* Generic hypercall */
|
|
+#define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+
|
|
+/*
|
|
+ ********************************
|
|
+ * VP APIs for child partitions *
|
|
+ ********************************
|
|
+ */
|
|
+
|
|
+#define MSHV_RUN_VP_BUF_SZ 256
|
|
+
|
|
+/*
|
|
+ * VP state pages may be mapped to userspace via mmap().
|
|
+ * To specify which state page, use MSHV_VP_MMAP_OFFSET_ values multiplied by
|
|
+ * the system page size.
|
|
+ * e.g.
|
|
+ * long page_size = sysconf(_SC_PAGE_SIZE);
|
|
+ * void *reg_page = mmap(NULL, MSHV_HV_PAGE_SIZE, PROT_READ|PROT_WRITE,
|
|
+ * MAP_SHARED, vp_fd,
|
|
+ * MSHV_VP_MMAP_OFFSET_REGISTERS * page_size);
|
|
+ */
|
|
+enum {
|
|
+ MSHV_VP_MMAP_OFFSET_REGISTERS,
|
|
+ MSHV_VP_MMAP_OFFSET_INTERCEPT_MESSAGE,
|
|
+ MSHV_VP_MMAP_OFFSET_GHCB,
|
|
+ MSHV_VP_MMAP_OFFSET_COUNT
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_run_vp - argument for MSHV_RUN_VP
|
|
+ * @msg_buf: On success, the intercept message is copied here. It can be
|
|
+ * interpreted using the relevant hypervisor definitions.
|
|
+ */
|
|
+struct mshv_run_vp {
|
|
+ __u8 msg_buf[MSHV_RUN_VP_BUF_SZ];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_VP_STATE_LAPIC, /* Local interrupt controller state (either arch) */
|
|
+ MSHV_VP_STATE_XSAVE, /* XSAVE data in compacted form (x86_64) */
|
|
+ MSHV_VP_STATE_SIMP,
|
|
+ MSHV_VP_STATE_SIEFP,
|
|
+ MSHV_VP_STATE_SYNTHETIC_TIMERS,
|
|
+ MSHV_VP_STATE_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_get_set_vp_state - arguments for MSHV_[GET,SET]_VP_STATE
|
|
+ * @type: MSHV_VP_STATE_*
|
|
+ * @rsvd: MBZ
|
|
+ * @buf_sz: in: 4k page-aligned size of buffer
|
|
+ * out: Actual size of data (on EINVAL, check this to see if buffer
|
|
+ * was too small)
|
|
+ * @buf_ptr: 4k page-aligned data buffer
|
|
+ */
|
|
+struct mshv_get_set_vp_state {
|
|
+ __u8 type;
|
|
+ __u8 rsvd[3];
|
|
+ __u32 buf_sz;
|
|
+ __u64 buf_ptr;
|
|
+};
|
|
+
|
|
+/* VP fds created with MSHV_CREATE_VP */
|
|
+#define MSHV_RUN_VP _IOR(MSHV_IOCTL, 0x00, struct mshv_run_vp)
|
|
+#define MSHV_GET_VP_STATE _IOWR(MSHV_IOCTL, 0x01, struct mshv_get_set_vp_state)
|
|
+#define MSHV_SET_VP_STATE _IOWR(MSHV_IOCTL, 0x02, struct mshv_get_set_vp_state)
|
|
+/*
|
|
+ * Generic hypercall
|
|
+ * Defined above in partition IOCTLs, avoid redefining it here
|
|
+ * #define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+ */
|
|
+
|
|
+#endif
|
|
--- /dev/null
|
|
+++ b/arm/usr/include/linux/net_shaper.h
|
|
@@ -0,0 +1,95 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/net_shaper.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_NET_SHAPER_H
|
|
+#define _LINUX_NET_SHAPER_H
|
|
+
|
|
+#define NET_SHAPER_FAMILY_NAME "net-shaper"
|
|
+#define NET_SHAPER_FAMILY_VERSION 1
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_scope - Defines the shaper @id interpretation.
|
|
+ * @NET_SHAPER_SCOPE_UNSPEC: The scope is not specified.
|
|
+ * @NET_SHAPER_SCOPE_NETDEV: The main shaper for the given network device.
|
|
+ * @NET_SHAPER_SCOPE_QUEUE: The shaper is attached to the given device queue,
|
|
+ * the @id represents the queue number.
|
|
+ * @NET_SHAPER_SCOPE_NODE: The shaper allows grouping of queues or other node
|
|
+ * shapers; can be nested in either @netdev shapers or other @node shapers,
|
|
+ * allowing placement in any location of the scheduling tree, except leaves
|
|
+ * and root.
|
|
+ */
|
|
+enum net_shaper_scope {
|
|
+ NET_SHAPER_SCOPE_UNSPEC,
|
|
+ NET_SHAPER_SCOPE_NETDEV,
|
|
+ NET_SHAPER_SCOPE_QUEUE,
|
|
+ NET_SHAPER_SCOPE_NODE,
|
|
+
|
|
+ /* private: */
|
|
+ __NET_SHAPER_SCOPE_MAX,
|
|
+ NET_SHAPER_SCOPE_MAX = (__NET_SHAPER_SCOPE_MAX - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_metric - Different metric supported by the shaper.
|
|
+ * @NET_SHAPER_METRIC_BPS: Shaper operates on a bits per second basis.
|
|
+ * @NET_SHAPER_METRIC_PPS: Shaper operates on a packets per second basis.
|
|
+ */
|
|
+enum net_shaper_metric {
|
|
+ NET_SHAPER_METRIC_BPS,
|
|
+ NET_SHAPER_METRIC_PPS,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE = 1,
|
|
+ NET_SHAPER_A_METRIC,
|
|
+ NET_SHAPER_A_BW_MIN,
|
|
+ NET_SHAPER_A_BW_MAX,
|
|
+ NET_SHAPER_A_BURST,
|
|
+ NET_SHAPER_A_PRIORITY,
|
|
+ NET_SHAPER_A_WEIGHT,
|
|
+ NET_SHAPER_A_IFINDEX,
|
|
+ NET_SHAPER_A_PARENT,
|
|
+ NET_SHAPER_A_LEAVES,
|
|
+
|
|
+ __NET_SHAPER_A_MAX,
|
|
+ NET_SHAPER_A_MAX = (__NET_SHAPER_A_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE_SCOPE = 1,
|
|
+ NET_SHAPER_A_HANDLE_ID,
|
|
+
|
|
+ __NET_SHAPER_A_HANDLE_MAX,
|
|
+ NET_SHAPER_A_HANDLE_MAX = (__NET_SHAPER_A_HANDLE_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_CAPS_IFINDEX = 1,
|
|
+ NET_SHAPER_A_CAPS_SCOPE,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_BPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_PPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_NESTING,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MIN,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MAX,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BURST,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_PRIORITY,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_WEIGHT,
|
|
+
|
|
+ __NET_SHAPER_A_CAPS_MAX,
|
|
+ NET_SHAPER_A_CAPS_MAX = (__NET_SHAPER_A_CAPS_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_CMD_GET = 1,
|
|
+ NET_SHAPER_CMD_SET,
|
|
+ NET_SHAPER_CMD_DELETE,
|
|
+ NET_SHAPER_CMD_GROUP,
|
|
+ NET_SHAPER_CMD_CAP_GET,
|
|
+
|
|
+ __NET_SHAPER_CMD_MAX,
|
|
+ NET_SHAPER_CMD_MAX = (__NET_SHAPER_CMD_MAX - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_NET_SHAPER_H */
|
|
--- a/arm/usr/include/linux/net_tstamp.h
|
|
+++ b/arm/usr/include/linux/net_tstamp.h
|
|
@@ -13,6 +13,17 @@
|
|
#include <linux/types.h>
|
|
#include <linux/socket.h> /* for SO_TIMESTAMPING */
|
|
|
|
+/*
|
|
+ * Possible type of hwtstamp provider. Mainly "precise" the default one
|
|
+ * is for IEEE 1588 quality and "approx" is for NICs DMA point.
|
|
+ */
|
|
+enum hwtstamp_provider_qualifier {
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_PRECISE,
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_APPROX,
|
|
+
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_CNT,
|
|
+};
|
|
+
|
|
/* SO_TIMESTAMPING flags */
|
|
enum {
|
|
SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
|
|
--- a/arm/usr/include/linux/netdev.h
|
|
+++ b/arm/usr/include/linux/netdev.h
|
|
@@ -122,6 +122,9 @@ enum {
|
|
NETDEV_A_NAPI_ID,
|
|
NETDEV_A_NAPI_IRQ,
|
|
NETDEV_A_NAPI_PID,
|
|
+ NETDEV_A_NAPI_DEFER_HARD_IRQS,
|
|
+ NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT,
|
|
+ NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT,
|
|
|
|
__NETDEV_A_NAPI_MAX,
|
|
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
|
@@ -199,6 +202,7 @@ enum {
|
|
NETDEV_CMD_NAPI_GET,
|
|
NETDEV_CMD_QSTATS_GET,
|
|
NETDEV_CMD_BIND_RX,
|
|
+ NETDEV_CMD_NAPI_SET,
|
|
|
|
__NETDEV_CMD_MAX,
|
|
NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)
|
|
--- a/arm/usr/include/linux/nl80211.h
|
|
+++ b/arm/usr/include/linux/nl80211.h
|
|
@@ -4294,6 +4294,8 @@ enum nl80211_wmm_rule {
|
|
* otherwise completely disabled.
|
|
* @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a
|
|
* very low power (VLP) AP, despite being NO_IR.
|
|
+ * @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in
|
|
+ * 20 MHz bandwidth, despite being NO_IR.
|
|
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
|
* currently defined
|
|
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
|
@@ -4338,6 +4340,7 @@ enum nl80211_frequency_attr {
|
|
NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
|
|
NL80211_FREQUENCY_ATTR_CAN_MONITOR,
|
|
NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
|
|
+ NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY,
|
|
|
|
/* keep last */
|
|
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
|
@@ -4549,31 +4552,34 @@ enum nl80211_sched_scan_match_attr {
|
|
* @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed
|
|
* @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted
|
|
* despite NO_IR configuration.
|
|
+ * @NL80211_RRF_ALLOW_20MHZ_ACTIVITY: Allow activity in 20 MHz bandwidth,
|
|
+ * despite NO_IR configuration.
|
|
*/
|
|
enum nl80211_reg_rule_flags {
|
|
- NL80211_RRF_NO_OFDM = 1<<0,
|
|
- NL80211_RRF_NO_CCK = 1<<1,
|
|
- NL80211_RRF_NO_INDOOR = 1<<2,
|
|
- NL80211_RRF_NO_OUTDOOR = 1<<3,
|
|
- NL80211_RRF_DFS = 1<<4,
|
|
- NL80211_RRF_PTP_ONLY = 1<<5,
|
|
- NL80211_RRF_PTMP_ONLY = 1<<6,
|
|
- NL80211_RRF_NO_IR = 1<<7,
|
|
- __NL80211_RRF_NO_IBSS = 1<<8,
|
|
- NL80211_RRF_AUTO_BW = 1<<11,
|
|
- NL80211_RRF_IR_CONCURRENT = 1<<12,
|
|
- NL80211_RRF_NO_HT40MINUS = 1<<13,
|
|
- NL80211_RRF_NO_HT40PLUS = 1<<14,
|
|
- NL80211_RRF_NO_80MHZ = 1<<15,
|
|
- NL80211_RRF_NO_160MHZ = 1<<16,
|
|
- NL80211_RRF_NO_HE = 1<<17,
|
|
- NL80211_RRF_NO_320MHZ = 1<<18,
|
|
- NL80211_RRF_NO_EHT = 1<<19,
|
|
- NL80211_RRF_PSD = 1<<20,
|
|
- NL80211_RRF_DFS_CONCURRENT = 1<<21,
|
|
- NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22,
|
|
- NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23,
|
|
- NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24,
|
|
+ NL80211_RRF_NO_OFDM = 1 << 0,
|
|
+ NL80211_RRF_NO_CCK = 1 << 1,
|
|
+ NL80211_RRF_NO_INDOOR = 1 << 2,
|
|
+ NL80211_RRF_NO_OUTDOOR = 1 << 3,
|
|
+ NL80211_RRF_DFS = 1 << 4,
|
|
+ NL80211_RRF_PTP_ONLY = 1 << 5,
|
|
+ NL80211_RRF_PTMP_ONLY = 1 << 6,
|
|
+ NL80211_RRF_NO_IR = 1 << 7,
|
|
+ __NL80211_RRF_NO_IBSS = 1 << 8,
|
|
+ NL80211_RRF_AUTO_BW = 1 << 11,
|
|
+ NL80211_RRF_IR_CONCURRENT = 1 << 12,
|
|
+ NL80211_RRF_NO_HT40MINUS = 1 << 13,
|
|
+ NL80211_RRF_NO_HT40PLUS = 1 << 14,
|
|
+ NL80211_RRF_NO_80MHZ = 1 << 15,
|
|
+ NL80211_RRF_NO_160MHZ = 1 << 16,
|
|
+ NL80211_RRF_NO_HE = 1 << 17,
|
|
+ NL80211_RRF_NO_320MHZ = 1 << 18,
|
|
+ NL80211_RRF_NO_EHT = 1 << 19,
|
|
+ NL80211_RRF_PSD = 1 << 20,
|
|
+ NL80211_RRF_DFS_CONCURRENT = 1 << 21,
|
|
+ NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22,
|
|
+ NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23,
|
|
+ NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24,
|
|
+ NL80211_RRF_ALLOW_20MHZ_ACTIVITY = 1 << 25,
|
|
};
|
|
|
|
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
|
|
--- a/arm/usr/include/linux/pci_regs.h
|
|
+++ b/arm/usr/include/linux/pci_regs.h
|
|
@@ -340,7 +340,8 @@
|
|
#define PCI_MSIX_ENTRY_UPPER_ADDR 0x4 /* Message Upper Address */
|
|
#define PCI_MSIX_ENTRY_DATA 0x8 /* Message Data */
|
|
#define PCI_MSIX_ENTRY_VECTOR_CTRL 0xc /* Vector Control */
|
|
-#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001
|
|
+#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001 /* Mask Bit */
|
|
+#define PCI_MSIX_ENTRY_CTRL_ST 0xffff0000 /* Steering Tag */
|
|
|
|
/* CompactPCI Hotswap Register */
|
|
|
|
@@ -659,6 +660,7 @@
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP64 0x00000100 /* 64b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP128 0x00000200 /* 128b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_LTR 0x00000800 /* Latency tolerance reporting */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_MASK 0x00003000 /* TPH completer support */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000 /* OBFF support mechanism */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000 /* New message signaling */
|
|
#define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
|
|
@@ -1023,15 +1025,34 @@
|
|
#define PCI_DPA_CAP_SUBSTATE_MASK 0x1F /* # substates - 1 */
|
|
#define PCI_DPA_BASE_SIZEOF 16 /* size with 0 substates */
|
|
|
|
+/* TPH Completer Support */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_NONE 0x0 /* None */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_TPH_ONLY 0x1 /* TPH only */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_EXT_TPH 0x3 /* TPH and Extended TPH */
|
|
+
|
|
/* TPH Requester */
|
|
#define PCI_TPH_CAP 4 /* capability register */
|
|
-#define PCI_TPH_CAP_LOC_MASK 0x600 /* location mask */
|
|
-#define PCI_TPH_LOC_NONE 0x000 /* no location */
|
|
-#define PCI_TPH_LOC_CAP 0x200 /* in capability */
|
|
-#define PCI_TPH_LOC_MSIX 0x400 /* in MSI-X */
|
|
-#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST table mask */
|
|
-#define PCI_TPH_CAP_ST_SHIFT 16 /* ST table shift */
|
|
-#define PCI_TPH_BASE_SIZEOF 0xc /* size with no ST table */
|
|
+#define PCI_TPH_CAP_ST_NS 0x00000001 /* No ST Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_IV 0x00000002 /* Interrupt Vector Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_DS 0x00000004 /* Device Specific Mode Supported */
|
|
+#define PCI_TPH_CAP_EXT_TPH 0x00000100 /* Ext TPH Requester Supported */
|
|
+#define PCI_TPH_CAP_LOC_MASK 0x00000600 /* ST Table Location */
|
|
+#define PCI_TPH_LOC_NONE 0x00000000 /* Not present */
|
|
+#define PCI_TPH_LOC_CAP 0x00000200 /* In capability */
|
|
+#define PCI_TPH_LOC_MSIX 0x00000400 /* In MSI-X */
|
|
+#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST Table Size */
|
|
+#define PCI_TPH_CAP_ST_SHIFT 16 /* ST Table Size shift */
|
|
+#define PCI_TPH_BASE_SIZEOF 0xc /* Size with no ST table */
|
|
+
|
|
+#define PCI_TPH_CTRL 8 /* control register */
|
|
+#define PCI_TPH_CTRL_MODE_SEL_MASK 0x00000007 /* ST Mode Select */
|
|
+#define PCI_TPH_ST_NS_MODE 0x0 /* No ST Mode */
|
|
+#define PCI_TPH_ST_IV_MODE 0x1 /* Interrupt Vector Mode */
|
|
+#define PCI_TPH_ST_DS_MODE 0x2 /* Device Specific Mode */
|
|
+#define PCI_TPH_CTRL_REQ_EN_MASK 0x00000300 /* TPH Requester Enable */
|
|
+#define PCI_TPH_REQ_DISABLE 0x0 /* No TPH requests allowed */
|
|
+#define PCI_TPH_REQ_TPH_ONLY 0x1 /* TPH only requests allowed */
|
|
+#define PCI_TPH_REQ_EXT_TPH 0x3 /* Extended TPH requests allowed */
|
|
|
|
/* Downstream Port Containment */
|
|
#define PCI_EXP_DPC_CAP 0x04 /* DPC Capability */
|
|
--- a/arm/usr/include/linux/perf_event.h
|
|
+++ b/arm/usr/include/linux/perf_event.h
|
|
@@ -385,6 +385,8 @@ enum perf_event_read_format {
|
|
*
|
|
* @sample_max_stack: Max number of frame pointers in a callchain,
|
|
* should be < /proc/sys/kernel/perf_event_max_stack
|
|
+ * Max number of entries of branch stack
|
|
+ * should be < hardware limit
|
|
*/
|
|
struct perf_event_attr {
|
|
|
|
@@ -511,7 +513,16 @@ struct perf_event_attr {
|
|
__u16 sample_max_stack;
|
|
__u16 __reserved_2;
|
|
__u32 aux_sample_size;
|
|
- __u32 __reserved_3;
|
|
+
|
|
+ union {
|
|
+ __u32 aux_action;
|
|
+ struct {
|
|
+ __u32 aux_start_paused : 1, /* start AUX area tracing paused */
|
|
+ aux_pause : 1, /* on overflow, pause AUX area tracing */
|
|
+ aux_resume : 1, /* on overflow, resume AUX area tracing */
|
|
+ __reserved_3 : 29;
|
|
+ };
|
|
+ };
|
|
|
|
/*
|
|
* User provided data if sigtrap=1, passed back to user via
|
|
--- a/arm/usr/include/linux/pfrut.h
|
|
+++ b/arm/usr/include/linux/pfrut.h
|
|
@@ -89,6 +89,7 @@ struct pfru_payload_hdr {
|
|
__u32 hw_ver;
|
|
__u32 rt_ver;
|
|
__u8 platform_id[16];
|
|
+ __u32 svn_ver;
|
|
};
|
|
|
|
enum pfru_dsm_status {
|
|
--- a/arm/usr/include/linux/pidfd.h
|
|
+++ b/arm/usr/include/linux/pidfd.h
|
|
@@ -16,6 +16,56 @@
|
|
#define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1)
|
|
#define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2)
|
|
|
|
+/* Flags for pidfd_info. */
|
|
+#define PIDFD_INFO_PID (1UL << 0) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CREDS (1UL << 1) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CGROUPID (1UL << 2) /* Always returned if available, even if not requested */
|
|
+#define PIDFD_INFO_EXIT (1UL << 3) /* Only returned if requested. */
|
|
+
|
|
+#define PIDFD_INFO_SIZE_VER0 64 /* sizeof first published struct */
|
|
+
|
|
+struct pidfd_info {
|
|
+ /*
|
|
+ * This mask is similar to the request_mask in statx(2).
|
|
+ *
|
|
+ * Userspace indicates what extensions or expensive-to-calculate fields
|
|
+ * they want by setting the corresponding bits in mask. The kernel
|
|
+ * will ignore bits that it does not know about.
|
|
+ *
|
|
+ * When filling the structure, the kernel will only set bits
|
|
+ * corresponding to the fields that were actually filled by the kernel.
|
|
+ * This also includes any future extensions that might be automatically
|
|
+ * filled. If the structure size is too small to contain a field
|
|
+ * (requested or not), to avoid confusion the mask will not
|
|
+ * contain a bit for that field.
|
|
+ *
|
|
+ * As such, userspace MUST verify that mask contains the
|
|
+ * corresponding flags after the ioctl(2) returns to ensure that it is
|
|
+ * using valid data.
|
|
+ */
|
|
+ __u64 mask;
|
|
+ /*
|
|
+ * The information contained in the following fields might be stale at the
|
|
+ * time it is received, as the target process might have exited as soon as
|
|
+ * the IOCTL was processed, and there is no way to avoid that. However, it
|
|
+ * is guaranteed that if the call was successful, then the information was
|
|
+ * correct and referred to the intended process at the time the work was
|
|
+ * performed. */
|
|
+ __u64 cgroupid;
|
|
+ __u32 pid;
|
|
+ __u32 tgid;
|
|
+ __u32 ppid;
|
|
+ __u32 ruid;
|
|
+ __u32 rgid;
|
|
+ __u32 euid;
|
|
+ __u32 egid;
|
|
+ __u32 suid;
|
|
+ __u32 sgid;
|
|
+ __u32 fsuid;
|
|
+ __u32 fsgid;
|
|
+ __s32 exit_code;
|
|
+};
|
|
+
|
|
#define PIDFS_IOCTL_MAGIC 0xFF
|
|
|
|
#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1)
|
|
@@ -28,5 +78,6 @@
|
|
#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8)
|
|
#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9)
|
|
#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10)
|
|
+#define PIDFD_GET_INFO _IOWR(PIDFS_IOCTL_MAGIC, 11, struct pidfd_info)
|
|
|
|
#endif /* _LINUX_PIDFD_H */
|
|
--- a/arm/usr/include/linux/psci.h
|
|
+++ b/arm/usr/include/linux/psci.h
|
|
@@ -59,6 +59,7 @@
|
|
#define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18)
|
|
#define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19)
|
|
#define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(20)
|
|
+#define PSCI_1_3_FN_SYSTEM_OFF2 PSCI_0_2_FN(21)
|
|
|
|
#define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12)
|
|
#define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13)
|
|
@@ -68,6 +69,7 @@
|
|
|
|
#define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18)
|
|
#define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(20)
|
|
+#define PSCI_1_3_FN64_SYSTEM_OFF2 PSCI_0_2_FN64(21)
|
|
|
|
/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
|
|
#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
|
|
@@ -100,6 +102,9 @@
|
|
#define PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET 0
|
|
#define PSCI_1_1_RESET_TYPE_VENDOR_START 0x80000000U
|
|
|
|
+/* PSCI v1.3 hibernate type for SYSTEM_OFF2 */
|
|
+#define PSCI_1_3_OFF_TYPE_HIBERNATE_OFF BIT(0)
|
|
+
|
|
/* PSCI version decoding (independent of PSCI version) */
|
|
#define PSCI_VERSION_MAJOR_SHIFT 16
|
|
#define PSCI_VERSION_MINOR_MASK \
|
|
--- a/arm/usr/include/linux/psp-sev.h
|
|
+++ b/arm/usr/include/linux/psp-sev.h
|
|
@@ -73,13 +73,20 @@ typedef enum {
|
|
SEV_RET_INVALID_PARAM,
|
|
SEV_RET_RESOURCE_LIMIT,
|
|
SEV_RET_SECURE_DATA_INVALID,
|
|
- SEV_RET_INVALID_KEY = 0x27,
|
|
- SEV_RET_INVALID_PAGE_SIZE,
|
|
- SEV_RET_INVALID_PAGE_STATE,
|
|
- SEV_RET_INVALID_MDATA_ENTRY,
|
|
- SEV_RET_INVALID_PAGE_OWNER,
|
|
- SEV_RET_INVALID_PAGE_AEAD_OFLOW,
|
|
- SEV_RET_RMP_INIT_REQUIRED,
|
|
+ SEV_RET_INVALID_PAGE_SIZE = 0x0019,
|
|
+ SEV_RET_INVALID_PAGE_STATE = 0x001A,
|
|
+ SEV_RET_INVALID_MDATA_ENTRY = 0x001B,
|
|
+ SEV_RET_INVALID_PAGE_OWNER = 0x001C,
|
|
+ SEV_RET_AEAD_OFLOW = 0x001D,
|
|
+ SEV_RET_EXIT_RING_BUFFER = 0x001F,
|
|
+ SEV_RET_RMP_INIT_REQUIRED = 0x0020,
|
|
+ SEV_RET_BAD_SVN = 0x0021,
|
|
+ SEV_RET_BAD_VERSION = 0x0022,
|
|
+ SEV_RET_SHUTDOWN_REQUIRED = 0x0023,
|
|
+ SEV_RET_UPDATE_FAILED = 0x0024,
|
|
+ SEV_RET_RESTORE_REQUIRED = 0x0025,
|
|
+ SEV_RET_RMP_INITIALIZATION_FAILED = 0x0026,
|
|
+ SEV_RET_INVALID_KEY = 0x0027,
|
|
SEV_RET_MAX,
|
|
} sev_ret_code;
|
|
|
|
--- a/arm/usr/include/linux/raid/md_p.h
|
|
+++ b/arm/usr/include/linux/raid/md_p.h
|
|
@@ -85,6 +85,7 @@
|
|
* devices available - and don't try to
|
|
* correct read errors.
|
|
*/
|
|
+#define MD_DISK_TIMEOUT 11 /* disk is faulty due to timeout */
|
|
|
|
#define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
|
|
* read requests will only be sent here in
|
|
@@ -95,6 +96,7 @@
|
|
#define MD_DISK_ROLE_SPARE 0xffff
|
|
#define MD_DISK_ROLE_FAULTY 0xfffe
|
|
#define MD_DISK_ROLE_JOURNAL 0xfffd
|
|
+#define MD_DISK_ROLE_TIMEOUT 0xfff0 /* SUSE-only timed-out */
|
|
#define MD_DISK_ROLE_MAX 0xff00 /* max value of regular disk role */
|
|
|
|
typedef struct mdp_device_descriptor_s {
|
|
@@ -233,7 +235,7 @@ struct mdp_superblock_1 {
|
|
char set_name[32]; /* set and interpreted by user-space */
|
|
|
|
__le64 ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/
|
|
- __le32 level; /* 0,1,4,5 */
|
|
+ __le32 level; /* 0,1,4,5, -1 (linear) */
|
|
__le32 layout; /* only for raid5 and raid10 currently */
|
|
__le64 size; /* used size of component devices, in 512byte sectors */
|
|
|
|
--- a/arm/usr/include/linux/raid/md_u.h
|
|
+++ b/arm/usr/include/linux/raid/md_u.h
|
|
@@ -103,6 +103,8 @@ typedef struct mdu_array_info_s {
|
|
|
|
} mdu_array_info_t;
|
|
|
|
+#define LEVEL_LINEAR (-1)
|
|
+
|
|
/* we need a value for 'no level specified' and 0
|
|
* means 'raid0', so we need something else. This is
|
|
* for internal use only
|
|
--- a/arm/usr/include/linux/rkisp1-config.h
|
|
+++ b/arm/usr/include/linux/rkisp1-config.h
|
|
@@ -1528,7 +1528,7 @@ enum rksip1_ext_param_buffer_version {
|
|
* The expected memory layout of the parameters buffer is::
|
|
*
|
|
* +-------------------- struct rkisp1_ext_params_cfg -------------------+
|
|
- * | version = RKISP_EXT_PARAMS_BUFFER_V1; |
|
|
+ * | version = RKISP1_EXT_PARAM_BUFFER_V1; |
|
|
* | data_size = sizeof(struct rkisp1_ext_params_bls_config) |
|
|
* | + sizeof(struct rkisp1_ext_params_dpcc_config); |
|
|
* | +------------------------- data ---------------------------------+ |
|
|
--- a/arm/usr/include/linux/rtnetlink.h
|
|
+++ b/arm/usr/include/linux/rtnetlink.h
|
|
@@ -174,7 +174,7 @@ enum {
|
|
#define RTM_GETLINKPROP RTM_GETLINKPROP
|
|
|
|
RTM_NEWVLAN = 112,
|
|
-#define RTM_NEWNVLAN RTM_NEWVLAN
|
|
+#define RTM_NEWVLAN RTM_NEWVLAN
|
|
RTM_DELVLAN,
|
|
#define RTM_DELVLAN RTM_DELVLAN
|
|
RTM_GETVLAN,
|
|
--- a/arm/usr/include/linux/sed-opal.h
|
|
+++ b/arm/usr/include/linux/sed-opal.h
|
|
@@ -215,5 +215,6 @@ struct opal_revert_lsp {
|
|
#define IOC_OPAL_GET_GEOMETRY _IOR('p', 238, struct opal_geometry)
|
|
#define IOC_OPAL_DISCOVERY _IOW('p', 239, struct opal_discovery)
|
|
#define IOC_OPAL_REVERT_LSP _IOW('p', 240, struct opal_revert_lsp)
|
|
+#define IOC_OPAL_SET_SID_PW _IOW('p', 241, struct opal_new_pw)
|
|
|
|
#endif /* _SED_OPAL_H */
|
|
--- a/arm/usr/include/linux/stddef.h
|
|
+++ b/arm/usr/include/linux/stddef.h
|
|
@@ -8,6 +8,13 @@
|
|
#define __always_inline __inline__
|
|
#endif
|
|
|
|
+/* Not all C++ standards support type declarations inside an anonymous union */
|
|
+#ifndef __cplusplus
|
|
+#define __struct_group_tag(TAG) TAG
|
|
+#else
|
|
+#define __struct_group_tag(TAG)
|
|
+#endif
|
|
+
|
|
/**
|
|
* __struct_group() - Create a mirrored named and anonyomous struct
|
|
*
|
|
@@ -20,13 +27,13 @@
|
|
* and size: one anonymous and one named. The former's members can be used
|
|
* normally without sub-struct naming, and the latter can be used to
|
|
* reason about the start, end, and size of the group of struct members.
|
|
- * The named struct can also be explicitly tagged for layer reuse, as well
|
|
- * as both having struct attributes appended.
|
|
+ * The named struct can also be explicitly tagged for layer reuse (C only),
|
|
+ * as well as both having struct attributes appended.
|
|
*/
|
|
#define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
|
|
union { \
|
|
struct { MEMBERS } ATTRS; \
|
|
- struct TAG { MEMBERS } ATTRS NAME; \
|
|
+ struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \
|
|
} ATTRS
|
|
|
|
#ifdef __cplusplus
|
|
--- a/arm/usr/include/linux/types.h
|
|
+++ b/arm/usr/include/linux/types.h
|
|
@@ -48,6 +48,7 @@ typedef __u32 __bitwise __wsum;
|
|
* No conversions are necessary between 32-bit user-space and a 64-bit kernel.
|
|
*/
|
|
#define __aligned_u64 __u64 __attribute__((aligned(8)))
|
|
+#define __aligned_s64 __s64 __attribute__((aligned(8)))
|
|
#define __aligned_be64 __be64 __attribute__((aligned(8)))
|
|
#define __aligned_le64 __le64 __attribute__((aligned(8)))
|
|
|
|
--- a/arm/usr/include/linux/usb/ch9.h
|
|
+++ b/arm/usr/include/linux/usb/ch9.h
|
|
@@ -253,6 +253,9 @@ struct usb_ctrlrequest {
|
|
#define USB_DT_BOS 0x0f
|
|
#define USB_DT_DEVICE_CAPABILITY 0x10
|
|
#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11
|
|
+/* From the eUSB2 spec */
|
|
+#define USB_DT_EUSB2_ISOC_ENDPOINT_COMP 0x12
|
|
+/* From Wireless USB spec */
|
|
#define USB_DT_WIRE_ADAPTER 0x21
|
|
/* From USB Device Firmware Upgrade Specification, Revision 1.1 */
|
|
#define USB_DT_DFU_FUNCTIONAL 0x21
|
|
@@ -330,6 +333,7 @@ struct usb_device_descriptor {
|
|
#define USB_CLASS_AUDIO_VIDEO 0x10
|
|
#define USB_CLASS_BILLBOARD 0x11
|
|
#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
|
|
+#define USB_CLASS_MCTP 0x14
|
|
#define USB_CLASS_MISC 0xef
|
|
#define USB_CLASS_APP_SPEC 0xfe
|
|
#define USB_SUBCLASS_DFU 0x01
|
|
@@ -675,6 +679,18 @@ static __inline__ int usb_endpoint_inter
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
+/* USB_DT_EUSB2_ISOC_ENDPOINT_COMP: eUSB2 Isoch Endpoint Companion descriptor */
|
|
+struct usb_eusb2_isoc_ep_comp_descriptor {
|
|
+ __u8 bLength;
|
|
+ __u8 bDescriptorType;
|
|
+ __le16 wMaxPacketSize;
|
|
+ __le32 dwBytesPerInterval;
|
|
+} __attribute__ ((packed));
|
|
+
|
|
+#define USB_DT_EUSB2_ISOC_EP_COMP_SIZE 8
|
|
+
|
|
+/*-------------------------------------------------------------------------*/
|
|
+
|
|
/* USB_DT_SSP_ISOC_ENDPOINT_COMP: SuperSpeedPlus Isochronous Endpoint Companion
|
|
* descriptor
|
|
*/
|
|
--- a/arm/usr/include/linux/usb/functionfs.h
|
|
+++ b/arm/usr/include/linux/usb/functionfs.h
|
|
@@ -205,7 +205,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -223,7 +223,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -236,7 +236,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* | 11 | ExtProp[] | | list of ext. prop. d. |
|
|
* +-----+-----------------+------+--------------------------+
|
|
*
|
|
- * ExtCompat[] is an array of valid Extended Compatiblity descriptors
|
|
+ * ExtCompat[] is an array of valid Extended Compatibility descriptors
|
|
* which have the following format:
|
|
*
|
|
* +-----+-----------------------+------+-------------------------------------+
|
|
@@ -294,7 +294,7 @@ struct usb_functionfs_strings_head {
|
|
* | 16 | stringtab | StringTab[lang_count] | table of strings per lang |
|
|
*
|
|
* For each language there is one stringtab entry (ie. there are lang_count
|
|
- * stringtab entires). Each StringTab has following format:
|
|
+ * stringtab entries). Each StringTab has following format:
|
|
*
|
|
* | off | name | type | description |
|
|
* |-----+---------+-------------------+------------------------------------|
|
|
--- a/arm/usr/include/linux/vhost.h
|
|
+++ b/arm/usr/include/linux/vhost.h
|
|
@@ -235,4 +235,33 @@
|
|
*/
|
|
#define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \
|
|
struct vhost_vring_state)
|
|
+
|
|
+/* fork_owner values for vhost */
|
|
+#define VHOST_FORK_OWNER_KTHREAD 0
|
|
+#define VHOST_FORK_OWNER_TASK 1
|
|
+
|
|
+/**
|
|
+ * VHOST_SET_FORK_FROM_OWNER - Set the fork_owner flag for the vhost device,
|
|
+ * This ioctl must called before VHOST_SET_OWNER.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @param fork_owner: An 8-bit value that determines the vhost thread mode
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_TASK(default value):
|
|
+ * - Vhost will create vhost worker as tasks forked from the owner,
|
|
+ * inheriting all of the owner's attributes.
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_KTHREAD:
|
|
+ * - Vhost will create vhost workers as kernel threads.
|
|
+ */
|
|
+#define VHOST_SET_FORK_FROM_OWNER _IOW(VHOST_VIRTIO, 0x84, __u8)
|
|
+
|
|
+/**
|
|
+ * VHOST_GET_FORK_OWNER - Get the current fork_owner flag for the vhost device.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @return: An 8-bit value indicating the current thread mode.
|
|
+ */
|
|
+#define VHOST_GET_FORK_FROM_OWNER _IOR(VHOST_VIRTIO, 0x85, __u8)
|
|
+
|
|
#endif
|
|
--- a/arm/usr/include/linux/videodev2.h
|
|
+++ b/arm/usr/include/linux/videodev2.h
|
|
@@ -771,6 +771,7 @@ struct v4l2_pix_format {
|
|
#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
|
|
#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
|
|
+#define V4L2_PIX_FMT_Y16I v4l2_fourcc('Y', '1', '6', 'I') /* Greyscale 16-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
|
|
#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
|
|
#define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */
|
|
@@ -832,6 +833,8 @@ struct v4l2_pix_format {
|
|
|
|
/* Vendor specific - used for RaspberryPi PiSP */
|
|
#define V4L2_META_FMT_RPI_BE_CFG v4l2_fourcc('R', 'P', 'B', 'C') /* PiSP BE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_CFG v4l2_fourcc('R', 'P', 'F', 'C') /* PiSP FE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_STATS v4l2_fourcc('R', 'P', 'F', 'S') /* PiSP FE stats */
|
|
|
|
|
|
/* priv field value to indicates that subsequent fields are valid. */
|
|
--- a/arm/usr/include/linux/xfrm.h
|
|
+++ b/arm/usr/include/linux/xfrm.h
|
|
@@ -322,6 +322,7 @@ enum xfrm_attr_type_t {
|
|
XFRMA_MTIMER_THRESH, /* __u32 in seconds for input SA */
|
|
XFRMA_SA_DIR, /* __u8 */
|
|
XFRMA_NAT_KEEPALIVE_INTERVAL, /* __u32 in seconds for NAT keepalive */
|
|
+ XFRMA_SA_PCPU, /* __u32 */
|
|
__XFRMA_MAX
|
|
|
|
#define XFRMA_OUTPUT_MARK XFRMA_SET_MARK /* Compatibility */
|
|
@@ -437,6 +438,7 @@ struct xfrm_userpolicy_info {
|
|
#define XFRM_POLICY_LOCALOK 1 /* Allow user to override global policy */
|
|
/* Automatically expand selector to include matching ICMP payloads. */
|
|
#define XFRM_POLICY_ICMP 2
|
|
+#define XFRM_POLICY_CPU_ACQUIRE 4
|
|
__u8 share;
|
|
};
|
|
|
|
--- a/arm/usr/include/rdma/efa-abi.h
|
|
+++ b/arm/usr/include/rdma/efa-abi.h
|
|
@@ -95,7 +95,8 @@ struct efa_ibv_create_qp {
|
|
__u32 sq_ring_size; /* bytes */
|
|
__u32 driver_qp_type;
|
|
__u16 flags;
|
|
- __u8 reserved_90[6];
|
|
+ __u8 sl;
|
|
+ __u8 reserved_98[5];
|
|
};
|
|
|
|
struct efa_ibv_create_qp_resp {
|
|
--- a/arm/usr/include/rdma/mlx5-abi.h
|
|
+++ b/arm/usr/include/rdma/mlx5-abi.h
|
|
@@ -252,6 +252,7 @@ enum mlx5_ib_query_dev_resp_flags {
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1,
|
|
MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE = 1 << 2,
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT = 1 << 3,
|
|
+ MLX5_IB_QUERY_DEV_RESP_FLAGS_OOO_DP = 1 << 4,
|
|
};
|
|
|
|
enum mlx5_ib_tunnel_offloads {
|
|
@@ -439,6 +440,10 @@ struct mlx5_ib_burst_info {
|
|
__u16 reserved;
|
|
};
|
|
|
|
+enum mlx5_ib_modify_qp_mask {
|
|
+ MLX5_IB_MODIFY_QP_OOO_DP = 1 << 0,
|
|
+};
|
|
+
|
|
struct mlx5_ib_modify_qp {
|
|
__u32 comp_mask;
|
|
struct mlx5_ib_burst_info burst_info;
|
|
--- a/arm/usr/include/rdma/rdma_netlink.h
|
|
+++ b/arm/usr/include/rdma/rdma_netlink.h
|
|
@@ -638,6 +638,8 @@ enum rdma_nl_notify_event_type {
|
|
RDMA_UNREGISTER_EVENT,
|
|
RDMA_NETDEV_ATTACH_EVENT,
|
|
RDMA_NETDEV_DETACH_EVENT,
|
|
+ RDMA_RENAME_EVENT,
|
|
+ RDMA_NETDEV_RENAME_EVENT,
|
|
};
|
|
|
|
#endif /* _RDMA_NETLINK_H */
|
|
--- a/arm/usr/include/scsi/fc/fc_els.h
|
|
+++ b/arm/usr/include/scsi/fc/fc_els.h
|
|
@@ -11,6 +11,8 @@
|
|
#include <linux/types.h>
|
|
#include <asm/byteorder.h>
|
|
|
|
+#include <stddef.h> /* for offsetof */
|
|
+
|
|
/*
|
|
* Fibre Channel Switch - Enhanced Link Services definitions.
|
|
* From T11 FC-LS Rev 1.2 June 7, 2005.
|
|
@@ -1109,12 +1111,15 @@ struct fc_els_fpin {
|
|
|
|
/* Diagnostic Function Descriptor - FPIN Registration */
|
|
struct fc_df_desc_fpin_reg {
|
|
- __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
- __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
- * Size of descriptor excluding
|
|
- * desc_tag and desc_len fields.
|
|
- */
|
|
- __be32 count; /* Number of desc_tags elements */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_df_desc_fpin_reg_hdr, __hdr, /* no attrs */,
|
|
+ __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
+ __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
+ * Size of descriptor excluding
|
|
+ * desc_tag and desc_len fields.
|
|
+ */
|
|
+ __be32 count; /* Number of desc_tags elements */
|
|
+ );
|
|
__be32 desc_tags[]; /* Array of Descriptor Tags.
|
|
* Each tag indicates a function
|
|
* supported by the N_Port (request)
|
|
@@ -1124,33 +1129,44 @@ struct fc_df_desc_fpin_reg {
|
|
* See ELS_FN_DTAG_xxx for tag values.
|
|
*/
|
|
};
|
|
+_Static_assert(offsetof(struct fc_df_desc_fpin_reg, desc_tags) == sizeof(struct fc_df_desc_fpin_reg_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS_RDF - Register Diagnostic Functions
|
|
*/
|
|
struct fc_els_rdf {
|
|
- __u8 fpin_cmd; /* command (0x19) */
|
|
- __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
- __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
- * Size of ELS excluding fpin_cmd,
|
|
- * fpin_zero and desc_len fields.
|
|
- */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_hdr, __hdr, /* no attrs */,
|
|
+ __u8 fpin_cmd; /* command (0x19) */
|
|
+ __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
+ __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
+ * Size of ELS excluding fpin_cmd,
|
|
+ * fpin_zero and desc_len fields.
|
|
+ */
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Descriptor list */
|
|
};
|
|
+_Static_assert(offsetof(struct fc_els_rdf, desc) == sizeof(struct fc_els_rdf_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS RDF LS_ACC Response.
|
|
*/
|
|
struct fc_els_rdf_resp {
|
|
- struct fc_els_ls_acc acc_hdr;
|
|
- __be32 desc_list_len; /* Length of response (in
|
|
- * bytes). Excludes acc_hdr
|
|
- * and desc_list_len fields.
|
|
- */
|
|
- struct fc_els_lsri_desc lsri;
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_resp_hdr, __hdr, /* no attrs */,
|
|
+ struct fc_els_ls_acc acc_hdr;
|
|
+ __be32 desc_list_len; /* Length of response (in
|
|
+ * bytes). Excludes acc_hdr
|
|
+ * and desc_list_len fields.
|
|
+ */
|
|
+ struct fc_els_lsri_desc lsri;
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Supported Descriptor list */
|
|
};
|
|
-
|
|
+_Static_assert(offsetof(struct fc_els_rdf_resp, desc) == sizeof(struct fc_els_rdf_resp_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* Diagnostic Capability Descriptors for EDC ELS
|
|
--- a/arm64/usr/include/asm-generic/mman-common.h
|
|
+++ b/arm64/usr/include/asm-generic/mman-common.h
|
|
@@ -79,6 +79,9 @@
|
|
|
|
#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */
|
|
|
|
+#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */
|
|
+#define MADV_GUARD_REMOVE 103 /* unguard range */
|
|
+
|
|
/* compatibility flags */
|
|
#define MAP_FILE 0
|
|
|
|
--- a/arm64/usr/include/asm/kvm.h
|
|
+++ b/arm64/usr/include/asm/kvm.h
|
|
@@ -473,6 +473,12 @@ enum {
|
|
*/
|
|
#define KVM_SYSTEM_EVENT_RESET_FLAG_PSCI_RESET2 (1ULL << 0)
|
|
|
|
+/*
|
|
+ * Shutdown caused by a PSCI v1.3 SYSTEM_OFF2 call.
|
|
+ * Valid only when the system event has a type of KVM_SYSTEM_EVENT_SHUTDOWN.
|
|
+ */
|
|
+#define KVM_SYSTEM_EVENT_SHUTDOWN_FLAG_PSCI_OFF2 (1ULL << 0)
|
|
+
|
|
/* run->fail_entry.hardware_entry_failure_reason codes. */
|
|
#define KVM_EXIT_FAIL_ENTRY_CPU_UNSUPPORTED (1ULL << 0)
|
|
|
|
--- a/arm64/usr/include/linux/devlink.h
|
|
+++ b/arm64/usr/include/linux/devlink.h
|
|
@@ -385,6 +385,21 @@ enum devlink_linecard_state {
|
|
DEVLINK_LINECARD_STATE_MAX = __DEVLINK_LINECARD_STATE_MAX - 1
|
|
};
|
|
|
|
+/* Variable attribute type. */
|
|
+enum devlink_var_attr_type {
|
|
+ /* Following values relate to the internal NLA_* values */
|
|
+ DEVLINK_VAR_ATTR_TYPE_U8 = 1,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U16,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U32,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U64,
|
|
+ DEVLINK_VAR_ATTR_TYPE_STRING,
|
|
+ DEVLINK_VAR_ATTR_TYPE_FLAG,
|
|
+ DEVLINK_VAR_ATTR_TYPE_NUL_STRING = 10,
|
|
+ DEVLINK_VAR_ATTR_TYPE_BINARY,
|
|
+ __DEVLINK_VAR_ATTR_TYPE_CUSTOM_BASE = 0x80,
|
|
+ /* Any possible custom types, unrelated to NLA_* values go below */
|
|
+};
|
|
+
|
|
enum devlink_attr {
|
|
/* don't change the order or add anything between, this is ABI! */
|
|
DEVLINK_ATTR_UNSPEC,
|
|
--- a/arm64/usr/include/linux/dm-ioctl.h
|
|
+++ b/arm64/usr/include/linux/dm-ioctl.h
|
|
@@ -286,9 +286,9 @@ enum {
|
|
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
|
|
|
#define DM_VERSION_MAJOR 4
|
|
-#define DM_VERSION_MINOR 48
|
|
+#define DM_VERSION_MINOR 49
|
|
#define DM_VERSION_PATCHLEVEL 0
|
|
-#define DM_VERSION_EXTRA "-ioctl (2023-03-01)"
|
|
+#define DM_VERSION_EXTRA "-ioctl (2025-01-17)"
|
|
|
|
/* Status bits */
|
|
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
|
--- a/arm64/usr/include/linux/dpll.h
|
|
+++ b/arm64/usr/include/linux/dpll.h
|
|
@@ -79,6 +79,29 @@ enum dpll_lock_status_error {
|
|
DPLL_LOCK_STATUS_ERROR_MAX = (__DPLL_LOCK_STATUS_ERROR_MAX - 1)
|
|
};
|
|
|
|
+/**
|
|
+ * enum dpll_clock_quality_level - level of quality of a clock device. This
|
|
+ * mainly applies when the dpll lock-status is DPLL_LOCK_STATUS_HOLDOVER. The
|
|
+ * current list is defined according to the table 11-7 contained in ITU-T
|
|
+ * G.8264/Y.1364 document. One may extend this list freely by other ITU-T
|
|
+ * defined clock qualities, or different ones defined by another
|
|
+ * standardization body (for those, please use different prefix).
|
|
+ */
|
|
+enum dpll_clock_quality_level {
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRC = 1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_A,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_B,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEC1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEEC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRC,
|
|
+
|
|
+ /* private: */
|
|
+ __DPLL_CLOCK_QUALITY_LEVEL_MAX,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_MAX = (__DPLL_CLOCK_QUALITY_LEVEL_MAX - 1)
|
|
+};
|
|
+
|
|
#define DPLL_TEMP_DIVIDER 1000
|
|
|
|
/**
|
|
@@ -180,6 +203,7 @@ enum dpll_a {
|
|
DPLL_A_TEMP,
|
|
DPLL_A_TYPE,
|
|
DPLL_A_LOCK_STATUS_ERROR,
|
|
+ DPLL_A_CLOCK_QUALITY_LEVEL,
|
|
|
|
__DPLL_A_MAX,
|
|
DPLL_A_MAX = (__DPLL_A_MAX - 1)
|
|
--- a/arm64/usr/include/linux/ethtool.h
|
|
+++ b/arm64/usr/include/linux/ethtool.h
|
|
@@ -679,6 +679,8 @@ enum ethtool_link_ext_substate_module {
|
|
* @ETH_SS_STATS_ETH_MAC: names of IEEE 802.3 MAC statistics
|
|
* @ETH_SS_STATS_ETH_CTRL: names of IEEE 802.3 MAC Control statistics
|
|
* @ETH_SS_STATS_RMON: names of RMON statistics
|
|
+ * @ETH_SS_STATS_PHY: names of PHY(dev) statistics
|
|
+ * @ETH_SS_TS_FLAGS: hardware timestamping flags
|
|
*
|
|
* @ETH_SS_COUNT: number of defined string sets
|
|
*/
|
|
@@ -704,6 +706,8 @@ enum ethtool_stringset {
|
|
ETH_SS_STATS_ETH_MAC,
|
|
ETH_SS_STATS_ETH_CTRL,
|
|
ETH_SS_STATS_RMON,
|
|
+ ETH_SS_STATS_PHY,
|
|
+ ETH_SS_TS_FLAGS,
|
|
|
|
/* add new constants above here */
|
|
ETH_SS_COUNT
|
|
--- a/arm64/usr/include/linux/ethtool_netlink.h
|
|
+++ b/arm64/usr/include/linux/ethtool_netlink.h
|
|
@@ -10,545 +10,12 @@
|
|
#define _LINUX_ETHTOOL_NETLINK_H_
|
|
|
|
#include <linux/ethtool.h>
|
|
-
|
|
-/* message types - userspace to kernel */
|
|
-enum {
|
|
- ETHTOOL_MSG_USER_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET,
|
|
- ETHTOOL_MSG_LINKINFO_GET,
|
|
- ETHTOOL_MSG_LINKINFO_SET,
|
|
- ETHTOOL_MSG_LINKMODES_GET,
|
|
- ETHTOOL_MSG_LINKMODES_SET,
|
|
- ETHTOOL_MSG_LINKSTATE_GET,
|
|
- ETHTOOL_MSG_DEBUG_GET,
|
|
- ETHTOOL_MSG_DEBUG_SET,
|
|
- ETHTOOL_MSG_WOL_GET,
|
|
- ETHTOOL_MSG_WOL_SET,
|
|
- ETHTOOL_MSG_FEATURES_GET,
|
|
- ETHTOOL_MSG_FEATURES_SET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
- ETHTOOL_MSG_RINGS_GET,
|
|
- ETHTOOL_MSG_RINGS_SET,
|
|
- ETHTOOL_MSG_CHANNELS_GET,
|
|
- ETHTOOL_MSG_CHANNELS_SET,
|
|
- ETHTOOL_MSG_COALESCE_GET,
|
|
- ETHTOOL_MSG_COALESCE_SET,
|
|
- ETHTOOL_MSG_PAUSE_GET,
|
|
- ETHTOOL_MSG_PAUSE_SET,
|
|
- ETHTOOL_MSG_EEE_GET,
|
|
- ETHTOOL_MSG_EEE_SET,
|
|
- ETHTOOL_MSG_TSINFO_GET,
|
|
- ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
- ETHTOOL_MSG_FEC_GET,
|
|
- ETHTOOL_MSG_FEC_SET,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
- ETHTOOL_MSG_STATS_GET,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
- ETHTOOL_MSG_MODULE_GET,
|
|
- ETHTOOL_MSG_MODULE_SET,
|
|
- ETHTOOL_MSG_PSE_GET,
|
|
- ETHTOOL_MSG_PSE_SET,
|
|
- ETHTOOL_MSG_RSS_GET,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG,
|
|
- ETHTOOL_MSG_PLCA_SET_CFG,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
- ETHTOOL_MSG_MM_GET,
|
|
- ETHTOOL_MSG_MM_SET,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
- ETHTOOL_MSG_PHY_GET,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_USER_CNT,
|
|
- ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
|
|
-};
|
|
-
|
|
-/* message types - kernel to userspace */
|
|
-enum {
|
|
- ETHTOOL_MSG_KERNEL_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_NTF,
|
|
- ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKMODES_NTF,
|
|
- ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_NTF,
|
|
- ETHTOOL_MSG_WOL_GET_REPLY,
|
|
- ETHTOOL_MSG_WOL_NTF,
|
|
- ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_NTF,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
- ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
- ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
- ETHTOOL_MSG_RINGS_NTF,
|
|
- ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
- ETHTOOL_MSG_CHANNELS_NTF,
|
|
- ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
- ETHTOOL_MSG_COALESCE_NTF,
|
|
- ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
- ETHTOOL_MSG_PAUSE_NTF,
|
|
- ETHTOOL_MSG_EEE_GET_REPLY,
|
|
- ETHTOOL_MSG_EEE_NTF,
|
|
- ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_NTF,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
- ETHTOOL_MSG_STATS_GET_REPLY,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_NTF,
|
|
- ETHTOOL_MSG_PSE_GET_REPLY,
|
|
- ETHTOOL_MSG_RSS_GET_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
- ETHTOOL_MSG_PLCA_NTF,
|
|
- ETHTOOL_MSG_MM_GET_REPLY,
|
|
- ETHTOOL_MSG_MM_NTF,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
- ETHTOOL_MSG_PHY_GET_REPLY,
|
|
- ETHTOOL_MSG_PHY_NTF,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_KERNEL_CNT,
|
|
- ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
|
|
-};
|
|
-
|
|
-/* request header */
|
|
-
|
|
-enum ethtool_header_flags {
|
|
- ETHTOOL_FLAG_COMPACT_BITSETS = 1 << 0, /* use compact bitsets in reply */
|
|
- ETHTOOL_FLAG_OMIT_REPLY = 1 << 1, /* provide optional reply for SET or ACT requests */
|
|
- ETHTOOL_FLAG_STATS = 1 << 2, /* request statistics, if supported by the driver */
|
|
-};
|
|
+#include <linux/ethtool_netlink_generated.h>
|
|
|
|
#define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \
|
|
ETHTOOL_FLAG_OMIT_REPLY | \
|
|
ETHTOOL_FLAG_STATS)
|
|
|
|
-enum {
|
|
- ETHTOOL_A_HEADER_UNSPEC,
|
|
- ETHTOOL_A_HEADER_DEV_INDEX, /* u32 */
|
|
- ETHTOOL_A_HEADER_DEV_NAME, /* string */
|
|
- ETHTOOL_A_HEADER_FLAGS, /* u32 - ETHTOOL_FLAG_* */
|
|
- ETHTOOL_A_HEADER_PHY_INDEX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_HEADER_CNT,
|
|
- ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1
|
|
-};
|
|
-
|
|
-/* bit sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BIT_INDEX, /* u32 */
|
|
- ETHTOOL_A_BITSET_BIT_NAME, /* string */
|
|
- ETHTOOL_A_BITSET_BIT_VALUE, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BIT_CNT,
|
|
- ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BITS_BIT, /* nest - _A_BITSET_BIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BITS_CNT,
|
|
- ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_UNSPEC,
|
|
- ETHTOOL_A_BITSET_NOMASK, /* flag */
|
|
- ETHTOOL_A_BITSET_SIZE, /* u32 */
|
|
- ETHTOOL_A_BITSET_BITS, /* nest - _A_BITSET_BITS_* */
|
|
- ETHTOOL_A_BITSET_VALUE, /* binary */
|
|
- ETHTOOL_A_BITSET_MASK, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_CNT,
|
|
- ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* string sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRING_UNSPEC,
|
|
- ETHTOOL_A_STRING_INDEX, /* u32 */
|
|
- ETHTOOL_A_STRING_VALUE, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRING_CNT,
|
|
- ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGS_UNSPEC,
|
|
- ETHTOOL_A_STRINGS_STRING, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGS_CNT,
|
|
- ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSET_UNSPEC,
|
|
- ETHTOOL_A_STRINGSET_ID, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_COUNT, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_STRINGS, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSET_CNT,
|
|
- ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
- ETHTOOL_A_STRINGSETS_STRINGSET, /* nest - _A_STRINGSET_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSETS_CNT,
|
|
- ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1
|
|
-};
|
|
-
|
|
-/* STRSET */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRSET_UNSPEC,
|
|
- ETHTOOL_A_STRSET_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STRSET_STRINGSETS, /* nest - _A_STRINGSETS_* */
|
|
- ETHTOOL_A_STRSET_COUNTS_ONLY, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRSET_CNT,
|
|
- ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKINFO_UNSPEC,
|
|
- ETHTOOL_A_LINKINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKINFO_PORT, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_PHYADDR, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TRANSCEIVER, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKINFO_CNT,
|
|
- ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKMODES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKMODES_UNSPEC,
|
|
- ETHTOOL_A_LINKMODES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_OURS, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_PEER, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_SPEED, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_LANES, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKMODES_CNT,
|
|
- ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKSTATE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
- ETHTOOL_A_LINKSTATE_HEADER, /* nest - _A_HEADER_* */
|
|
- 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 */
|
|
- ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKSTATE_CNT,
|
|
- ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1
|
|
-};
|
|
-
|
|
-/* DEBUG */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_DEBUG_UNSPEC,
|
|
- ETHTOOL_A_DEBUG_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_DEBUG_MSGMASK, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_DEBUG_CNT,
|
|
- ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1
|
|
-};
|
|
-
|
|
-/* WOL */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_WOL_UNSPEC,
|
|
- ETHTOOL_A_WOL_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_WOL_MODES, /* bitset */
|
|
- ETHTOOL_A_WOL_SOPASS, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_WOL_CNT,
|
|
- ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
|
|
-};
|
|
-
|
|
-/* FEATURES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEATURES_UNSPEC,
|
|
- ETHTOOL_A_FEATURES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEATURES_HW, /* bitset */
|
|
- ETHTOOL_A_FEATURES_WANTED, /* bitset */
|
|
- ETHTOOL_A_FEATURES_ACTIVE, /* bitset */
|
|
- ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEATURES_CNT,
|
|
- ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
|
|
-};
|
|
-
|
|
-/* PRIVFLAGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
- ETHTOOL_A_PRIVFLAGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PRIVFLAGS_FLAGS, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
- ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1
|
|
-};
|
|
-
|
|
-/* RINGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,
|
|
- ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
- ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RINGS_UNSPEC,
|
|
- ETHTOOL_A_RINGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_RINGS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */
|
|
- ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_RX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_RINGS_CNT,
|
|
- ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CHANNELS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CHANNELS_UNSPEC,
|
|
- ETHTOOL_A_CHANNELS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CHANNELS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_RX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_COUNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CHANNELS_CNT,
|
|
- ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* COALESCE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_COALESCE_UNSPEC,
|
|
- ETHTOOL_A_COALESCE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_COALESCE_RX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, /* u32 */
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_COALESCE_CNT,
|
|
- ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PROFILE_UNSPEC,
|
|
- /* nest, _A_IRQ_MODERATION_* */
|
|
- ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
- __ETHTOOL_A_PROFILE_CNT,
|
|
- ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
- ETHTOOL_A_IRQ_MODERATION_USEC, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_PKTS, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_COMPS, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
- ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
-};
|
|
-
|
|
-/* PAUSE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PAUSE_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_PAUSE_RX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_TX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_STATS, /* nest - _PAUSE_STAT_* */
|
|
- ETHTOOL_A_PAUSE_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PAUSE_CNT,
|
|
- ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
- ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
-
|
|
- /* add new constants above here
|
|
- * adjust ETHTOOL_PAUSE_STAT_CNT if adding non-stats!
|
|
- */
|
|
- __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
- ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* EEE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_EEE_UNSPEC,
|
|
- ETHTOOL_A_EEE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_EEE_MODES_OURS, /* bitset */
|
|
- ETHTOOL_A_EEE_MODES_PEER, /* bitset */
|
|
- ETHTOOL_A_EEE_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_EEE_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_TIMER, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_EEE_CNT,
|
|
- ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
-};
|
|
-
|
|
-/* TSINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TSINFO_UNSPEC,
|
|
- ETHTOOL_A_TSINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_TSINFO_TIMESTAMPING, /* bitset */
|
|
- ETHTOOL_A_TSINFO_TX_TYPES, /* bitset */
|
|
- ETHTOOL_A_TSINFO_RX_FILTERS, /* bitset */
|
|
- ETHTOOL_A_TSINFO_PHC_INDEX, /* u32 */
|
|
- ETHTOOL_A_TSINFO_STATS, /* nest - _A_TSINFO_STAT */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TSINFO_CNT,
|
|
- ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TS_STAT_UNSPEC,
|
|
-
|
|
- ETHTOOL_A_TS_STAT_TX_PKTS, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_LOST, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_ERR, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TS_STAT_CNT,
|
|
- ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
-
|
|
-};
|
|
-
|
|
-/* PHC VCLOCKS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
- ETHTOOL_A_PHC_VCLOCKS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHC_VCLOCKS_NUM, /* u32 */
|
|
- ETHTOOL_A_PHC_VCLOCKS_INDEX, /* array, s32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
- ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST NOTIFY */
|
|
enum {
|
|
ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC,
|
|
@@ -583,73 +50,11 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
- ETHTOOL_A_CABLE_RESULT_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_RESULT_CODE, /* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */
|
|
- ETHTOOL_A_CABLE_RESULT_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
- ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_CM, /* u32 */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED
|
|
};
|
|
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_NEST_RESULT, /* nest - ETHTOOL_A_CABLE_RESULT_ */
|
|
- ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, /* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */
|
|
- __ETHTOOL_A_CABLE_NEST_CNT,
|
|
- ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST TDR */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG, /* nest - *_TDR_CFG_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST TDR NOTIFY */
|
|
|
|
enum {
|
|
@@ -690,163 +95,17 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
- 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)
|
|
-};
|
|
-
|
|
-/* FEC */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_UNSPEC,
|
|
- ETHTOOL_A_FEC_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEC_MODES, /* bitset */
|
|
- ETHTOOL_A_FEC_AUTO, /* u8 */
|
|
- ETHTOOL_A_FEC_ACTIVE, /* u32 */
|
|
- ETHTOOL_A_FEC_STATS, /* nest - _A_FEC_STAT */
|
|
-
|
|
- __ETHTOOL_A_FEC_CNT,
|
|
- ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
- ETHTOOL_A_FEC_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_FEC_STAT_CORRECTED, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_UNCORR, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_CORR_BITS, /* array, u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEC_STAT_CNT,
|
|
- ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE EEPROM */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
- ETHTOOL_A_MODULE_EEPROM_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- ETHTOOL_A_MODULE_EEPROM_OFFSET, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_LENGTH, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */
|
|
-
|
|
- __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
- ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* STATS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STATS_UNSPEC,
|
|
- ETHTOOL_A_STATS_PAD,
|
|
- ETHTOOL_A_STATS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STATS_GROUPS, /* bitset */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP, /* nest - _A_STATS_GRP_* */
|
|
-
|
|
- ETHTOOL_A_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_CNT,
|
|
- ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_STATS_ETH_PHY,
|
|
ETHTOOL_STATS_ETH_MAC,
|
|
ETHTOOL_STATS_ETH_CTRL,
|
|
ETHTOOL_STATS_RMON,
|
|
+ ETHTOOL_STATS_PHY,
|
|
|
|
/* add new constants above here */
|
|
__ETHTOOL_STATS_CNT
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
- ETHTOOL_A_STATS_GRP_PAD,
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_ID, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_SS_ID, /* u32 */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_STAT, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_RX, /* nest */
|
|
- ETHTOOL_A_STATS_GRP_HIST_TX, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_LOW, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_HI, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_VAL, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_GRP_CNT,
|
|
- ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
/* 30.3.2.1.5 aSymbolErrorDuringCarrier */
|
|
ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR,
|
|
|
|
@@ -935,160 +194,20 @@ enum {
|
|
ETHTOOL_A_STATS_RMON_MAX = (__ETHTOOL_A_STATS_RMON_CNT - 1)
|
|
};
|
|
|
|
-/* MODULE */
|
|
-
|
|
enum {
|
|
- ETHTOOL_A_MODULE_UNSPEC,
|
|
- ETHTOOL_A_MODULE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_POWER_MODE_POLICY, /* u8 */
|
|
- ETHTOOL_A_MODULE_POWER_MODE, /* u8 */
|
|
+ /* Basic packet counters if PHY has separate counters from the MAC */
|
|
+ ETHTOOL_A_STATS_PHY_RX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_RX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_RX_ERRORS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_TX_ERRORS,
|
|
|
|
/* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_CNT,
|
|
- ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+ __ETHTOOL_A_STATS_PHY_CNT,
|
|
+ ETHTOOL_A_STATS_PHY_MAX = (__ETHTOOL_A_STATS_PHY_CNT - 1)
|
|
};
|
|
|
|
-/* Power Sourcing Equipment */
|
|
-enum {
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MIN, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MAX, /* u32 */
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PSE_UNSPEC,
|
|
- ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_CLASS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ACTUAL_PW, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_SUBSTATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES, /* nest - _C33_PSE_PW_LIMIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PSE_CNT,
|
|
- ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RSS_UNSPEC,
|
|
- ETHTOOL_A_RSS_HEADER,
|
|
- ETHTOOL_A_RSS_CONTEXT, /* u32 */
|
|
- ETHTOOL_A_RSS_HFUNC, /* u32 */
|
|
- ETHTOOL_A_RSS_INDIR, /* binary */
|
|
- ETHTOOL_A_RSS_HKEY, /* binary */
|
|
- ETHTOOL_A_RSS_INPUT_XFRM, /* u32 */
|
|
- ETHTOOL_A_RSS_START_CONTEXT, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_RSS_CNT,
|
|
- ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
|
|
-};
|
|
-
|
|
-/* PLCA */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PLCA_UNSPEC,
|
|
- ETHTOOL_A_PLCA_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PLCA_VERSION, /* u16 */
|
|
- ETHTOOL_A_PLCA_ENABLED, /* u8 */
|
|
- ETHTOOL_A_PLCA_STATUS, /* u8 */
|
|
- ETHTOOL_A_PLCA_NODE_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_NODE_ID, /* u32 */
|
|
- ETHTOOL_A_PLCA_TO_TMR, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_TMR, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PLCA_CNT,
|
|
- ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MAC Merge (802.3) */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_STAT_UNSPEC,
|
|
- ETHTOOL_A_MM_STAT_PAD,
|
|
-
|
|
- /* aMACMergeFrameAssErrorCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameSmdErrorCount */
|
|
- ETHTOOL_A_MM_STAT_SMD_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameAssOkCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_OK, /* u64 */
|
|
- /* aMACMergeFragCountRx */
|
|
- ETHTOOL_A_MM_STAT_RX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeFragCountTx */
|
|
- ETHTOOL_A_MM_STAT_TX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeHoldCount */
|
|
- ETHTOOL_A_MM_STAT_HOLD_COUNT, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_STAT_CNT,
|
|
- ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_UNSPEC,
|
|
- ETHTOOL_A_MM_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MM_PMAC_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_RX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_VERIFY_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_STATUS, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_MAX_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_STATS, /* nest - _A_MM_STAT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_CNT,
|
|
- ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE_FW_FLASH */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_PASSWORD, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_DONE, /* uint */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_TOTAL, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHY_UNSPEC,
|
|
- ETHTOOL_A_PHY_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHY_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_DRVNAME, /* string */
|
|
- ETHTOOL_A_PHY_NAME, /* string */
|
|
- ETHTOOL_A_PHY_UPSTREAM_TYPE, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_SFP_NAME, /* string */
|
|
- ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHY_CNT,
|
|
- ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
-};
|
|
-
|
|
-/* generic netlink info */
|
|
-#define ETHTOOL_GENL_NAME "ethtool"
|
|
-#define ETHTOOL_GENL_VERSION 1
|
|
-
|
|
#define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
|
|
|
|
#endif /* _LINUX_ETHTOOL_NETLINK_H_ */
|
|
--- /dev/null
|
|
+++ b/arm64/usr/include/linux/ethtool_netlink_generated.h
|
|
@@ -0,0 +1,821 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/ethtool.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+#define _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+
|
|
+#define ETHTOOL_GENL_NAME "ethtool"
|
|
+#define ETHTOOL_GENL_VERSION 1
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_GENEVE,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE,
|
|
+
|
|
+ /* private: */
|
|
+ __ETHTOOL_UDP_TUNNEL_TYPE_CNT,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_MAX = (__ETHTOOL_UDP_TUNNEL_TYPE_CNT - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum ethtool_header_flags - common ethtool header flags
|
|
+ * @ETHTOOL_FLAG_COMPACT_BITSETS: use compact bitsets in reply
|
|
+ * @ETHTOOL_FLAG_OMIT_REPLY: provide optional reply for SET or ACT requests
|
|
+ * @ETHTOOL_FLAG_STATS: request statistics, if supported by the driver
|
|
+ */
|
|
+enum ethtool_header_flags {
|
|
+ ETHTOOL_FLAG_COMPACT_BITSETS = 1,
|
|
+ ETHTOOL_FLAG_OMIT_REPLY = 2,
|
|
+ ETHTOOL_FLAG_STATS = 4,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_MAC,
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_PHY,
|
|
+};
|
|
+
|
|
+enum ethtool_tcp_data_split {
|
|
+ ETHTOOL_TCP_DATA_SPLIT_UNKNOWN,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_HEADER_UNSPEC,
|
|
+ ETHTOOL_A_HEADER_DEV_INDEX,
|
|
+ ETHTOOL_A_HEADER_DEV_NAME,
|
|
+ ETHTOOL_A_HEADER_FLAGS,
|
|
+ ETHTOOL_A_HEADER_PHY_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_HEADER_CNT,
|
|
+ ETHTOOL_A_HEADER_MAX = (__ETHTOOL_A_HEADER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BIT_INDEX,
|
|
+ ETHTOOL_A_BITSET_BIT_NAME,
|
|
+ ETHTOOL_A_BITSET_BIT_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BIT_CNT,
|
|
+ ETHTOOL_A_BITSET_BIT_MAX = (__ETHTOOL_A_BITSET_BIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BITS_BIT,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BITS_CNT,
|
|
+ ETHTOOL_A_BITSET_BITS_MAX = (__ETHTOOL_A_BITSET_BITS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_NOMASK,
|
|
+ ETHTOOL_A_BITSET_SIZE,
|
|
+ ETHTOOL_A_BITSET_BITS,
|
|
+ ETHTOOL_A_BITSET_VALUE,
|
|
+ ETHTOOL_A_BITSET_MASK,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_CNT,
|
|
+ ETHTOOL_A_BITSET_MAX = (__ETHTOOL_A_BITSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRING_UNSPEC,
|
|
+ ETHTOOL_A_STRING_INDEX,
|
|
+ ETHTOOL_A_STRING_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_STRING_CNT,
|
|
+ ETHTOOL_A_STRING_MAX = (__ETHTOOL_A_STRING_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGS_STRING,
|
|
+
|
|
+ __ETHTOOL_A_STRINGS_CNT,
|
|
+ ETHTOOL_A_STRINGS_MAX = (__ETHTOOL_A_STRINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSET_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSET_ID,
|
|
+ ETHTOOL_A_STRINGSET_COUNT,
|
|
+ ETHTOOL_A_STRINGSET_STRINGS,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSET_CNT,
|
|
+ ETHTOOL_A_STRINGSET_MAX = (__ETHTOOL_A_STRINGSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSETS_STRINGSET,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSETS_CNT,
|
|
+ ETHTOOL_A_STRINGSETS_MAX = (__ETHTOOL_A_STRINGSETS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRSET_UNSPEC,
|
|
+ ETHTOOL_A_STRSET_HEADER,
|
|
+ ETHTOOL_A_STRSET_STRINGSETS,
|
|
+ ETHTOOL_A_STRSET_COUNTS_ONLY,
|
|
+
|
|
+ __ETHTOOL_A_STRSET_CNT,
|
|
+ ETHTOOL_A_STRSET_MAX = (__ETHTOOL_A_STRSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
+ ETHTOOL_A_PRIVFLAGS_HEADER,
|
|
+ ETHTOOL_A_PRIVFLAGS_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
+ ETHTOOL_A_PRIVFLAGS_MAX = (__ETHTOOL_A_PRIVFLAGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RINGS_UNSPEC,
|
|
+ ETHTOOL_A_RINGS_HEADER,
|
|
+ ETHTOOL_A_RINGS_RX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO_MAX,
|
|
+ ETHTOOL_A_RINGS_TX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO,
|
|
+ ETHTOOL_A_RINGS_TX,
|
|
+ ETHTOOL_A_RINGS_RX_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
|
|
+ ETHTOOL_A_RINGS_CQE_SIZE,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH,
|
|
+ ETHTOOL_A_RINGS_RX_PUSH,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH_MAX,
|
|
+
|
|
+ __ETHTOOL_A_RINGS_CNT,
|
|
+ ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_STAT_UNSPEC,
|
|
+ ETHTOOL_A_MM_STAT_PAD,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_SMD_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_OK,
|
|
+ ETHTOOL_A_MM_STAT_RX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_TX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_HOLD_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_MM_STAT_CNT,
|
|
+ ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_UNSPEC,
|
|
+ ETHTOOL_A_MM_HEADER,
|
|
+ ETHTOOL_A_MM_PMAC_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ACTIVE,
|
|
+ ETHTOOL_A_MM_TX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_RX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_VERIFY_ENABLED,
|
|
+ ETHTOOL_A_MM_VERIFY_STATUS,
|
|
+ ETHTOOL_A_MM_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_MAX_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_STATS,
|
|
+
|
|
+ __ETHTOOL_A_MM_CNT,
|
|
+ ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKINFO_UNSPEC,
|
|
+ ETHTOOL_A_LINKINFO_HEADER,
|
|
+ ETHTOOL_A_LINKINFO_PORT,
|
|
+ ETHTOOL_A_LINKINFO_PHYADDR,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX_CTRL,
|
|
+ ETHTOOL_A_LINKINFO_TRANSCEIVER,
|
|
+
|
|
+ __ETHTOOL_A_LINKINFO_CNT,
|
|
+ ETHTOOL_A_LINKINFO_MAX = (__ETHTOOL_A_LINKINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKMODES_UNSPEC,
|
|
+ ETHTOOL_A_LINKMODES_HEADER,
|
|
+ ETHTOOL_A_LINKMODES_AUTONEG,
|
|
+ ETHTOOL_A_LINKMODES_OURS,
|
|
+ ETHTOOL_A_LINKMODES_PEER,
|
|
+ ETHTOOL_A_LINKMODES_SPEED,
|
|
+ ETHTOOL_A_LINKMODES_DUPLEX,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE,
|
|
+ ETHTOOL_A_LINKMODES_LANES,
|
|
+ ETHTOOL_A_LINKMODES_RATE_MATCHING,
|
|
+
|
|
+ __ETHTOOL_A_LINKMODES_CNT,
|
|
+ ETHTOOL_A_LINKMODES_MAX = (__ETHTOOL_A_LINKMODES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
+ ETHTOOL_A_LINKSTATE_HEADER,
|
|
+ ETHTOOL_A_LINKSTATE_LINK,
|
|
+ ETHTOOL_A_LINKSTATE_SQI,
|
|
+ ETHTOOL_A_LINKSTATE_SQI_MAX,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_STATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT,
|
|
+
|
|
+ __ETHTOOL_A_LINKSTATE_CNT,
|
|
+ ETHTOOL_A_LINKSTATE_MAX = (__ETHTOOL_A_LINKSTATE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_DEBUG_UNSPEC,
|
|
+ ETHTOOL_A_DEBUG_HEADER,
|
|
+ ETHTOOL_A_DEBUG_MSGMASK,
|
|
+
|
|
+ __ETHTOOL_A_DEBUG_CNT,
|
|
+ ETHTOOL_A_DEBUG_MAX = (__ETHTOOL_A_DEBUG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_WOL_UNSPEC,
|
|
+ ETHTOOL_A_WOL_HEADER,
|
|
+ ETHTOOL_A_WOL_MODES,
|
|
+ ETHTOOL_A_WOL_SOPASS,
|
|
+
|
|
+ __ETHTOOL_A_WOL_CNT,
|
|
+ ETHTOOL_A_WOL_MAX = (__ETHTOOL_A_WOL_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEATURES_UNSPEC,
|
|
+ ETHTOOL_A_FEATURES_HEADER,
|
|
+ ETHTOOL_A_FEATURES_HW,
|
|
+ ETHTOOL_A_FEATURES_WANTED,
|
|
+ ETHTOOL_A_FEATURES_ACTIVE,
|
|
+ ETHTOOL_A_FEATURES_NOCHANGE,
|
|
+
|
|
+ __ETHTOOL_A_FEATURES_CNT,
|
|
+ ETHTOOL_A_FEATURES_MAX = (__ETHTOOL_A_FEATURES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CHANNELS_UNSPEC,
|
|
+ ETHTOOL_A_CHANNELS_HEADER,
|
|
+ ETHTOOL_A_CHANNELS_RX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_TX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_MAX,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_MAX,
|
|
+ ETHTOOL_A_CHANNELS_RX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_TX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_CHANNELS_CNT,
|
|
+ ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_USEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_PKTS,
|
|
+ ETHTOOL_A_IRQ_MODERATION_COMPS,
|
|
+
|
|
+ __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
+ ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PROFILE_UNSPEC,
|
|
+ ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
+
|
|
+ __ETHTOOL_A_PROFILE_CNT,
|
|
+ ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_COALESCE_UNSPEC,
|
|
+ ETHTOOL_A_COALESCE_HEADER,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_STATS_BLOCK_USECS,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_TX,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_RX,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
+ ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
+
|
|
+ __ETHTOOL_A_COALESCE_CNT,
|
|
+ ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_STAT_PAD,
|
|
+ ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
+ ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
+ ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_HEADER,
|
|
+ ETHTOOL_A_PAUSE_AUTONEG,
|
|
+ ETHTOOL_A_PAUSE_RX,
|
|
+ ETHTOOL_A_PAUSE_TX,
|
|
+ ETHTOOL_A_PAUSE_STATS,
|
|
+ ETHTOOL_A_PAUSE_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_CNT,
|
|
+ ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_EEE_UNSPEC,
|
|
+ ETHTOOL_A_EEE_HEADER,
|
|
+ ETHTOOL_A_EEE_MODES_OURS,
|
|
+ ETHTOOL_A_EEE_MODES_PEER,
|
|
+ ETHTOOL_A_EEE_ACTIVE,
|
|
+ ETHTOOL_A_EEE_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_TIMER,
|
|
+
|
|
+ __ETHTOOL_A_EEE_CNT,
|
|
+ ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_STAT_UNSPEC,
|
|
+ ETHTOOL_A_TS_STAT_TX_PKTS,
|
|
+ ETHTOOL_A_TS_STAT_TX_LOST,
|
|
+ ETHTOOL_A_TS_STAT_TX_ERR,
|
|
+ ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED,
|
|
+
|
|
+ __ETHTOOL_A_TS_STAT_CNT,
|
|
+ ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER,
|
|
+
|
|
+ __ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = (__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSINFO_UNSPEC,
|
|
+ ETHTOOL_A_TSINFO_HEADER,
|
|
+ ETHTOOL_A_TSINFO_TIMESTAMPING,
|
|
+ ETHTOOL_A_TSINFO_TX_TYPES,
|
|
+ ETHTOOL_A_TSINFO_RX_FILTERS,
|
|
+ ETHTOOL_A_TSINFO_PHC_INDEX,
|
|
+ ETHTOOL_A_TSINFO_STATS,
|
|
+ ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER,
|
|
+
|
|
+ __ETHTOOL_A_TSINFO_CNT,
|
|
+ ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_RESULT_PAIR,
|
|
+ ETHTOOL_A_CABLE_RESULT_CODE,
|
|
+ ETHTOOL_A_CABLE_RESULT_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
+ ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_CM,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_NEST_RESULT,
|
|
+ ETHTOOL_A_CABLE_NEST_FAULT_LENGTH,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_NEST_CNT,
|
|
+ ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_HEADER,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_MAX = (__ETHTOOL_A_CABLE_TEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY,
|
|
+
|
|
+ __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,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_INFO_UDP_PORTS,
|
|
+
|
|
+ __ETHTOOL_A_TUNNEL_INFO_CNT,
|
|
+ ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
+ ETHTOOL_A_FEC_STAT_PAD,
|
|
+ ETHTOOL_A_FEC_STAT_CORRECTED,
|
|
+ ETHTOOL_A_FEC_STAT_UNCORR,
|
|
+ ETHTOOL_A_FEC_STAT_CORR_BITS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_STAT_CNT,
|
|
+ ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_UNSPEC,
|
|
+ ETHTOOL_A_FEC_HEADER,
|
|
+ ETHTOOL_A_FEC_MODES,
|
|
+ ETHTOOL_A_FEC_AUTO,
|
|
+ ETHTOOL_A_FEC_ACTIVE,
|
|
+ ETHTOOL_A_FEC_STATS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_CNT,
|
|
+ ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_EEPROM_HEADER,
|
|
+ ETHTOOL_A_MODULE_EEPROM_OFFSET,
|
|
+ ETHTOOL_A_MODULE_EEPROM_LENGTH,
|
|
+ ETHTOOL_A_MODULE_EEPROM_PAGE,
|
|
+ ETHTOOL_A_MODULE_EEPROM_BANK,
|
|
+ ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS,
|
|
+ ETHTOOL_A_MODULE_EEPROM_DATA,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
+ ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
+ ETHTOOL_A_STATS_GRP_PAD,
|
|
+ ETHTOOL_A_STATS_GRP_ID,
|
|
+ ETHTOOL_A_STATS_GRP_SS_ID,
|
|
+ ETHTOOL_A_STATS_GRP_STAT,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_RX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_TX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_LOW,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_HI,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_VAL,
|
|
+
|
|
+ __ETHTOOL_A_STATS_GRP_CNT,
|
|
+ ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_UNSPEC,
|
|
+ ETHTOOL_A_STATS_PAD,
|
|
+ ETHTOOL_A_STATS_HEADER,
|
|
+ ETHTOOL_A_STATS_GROUPS,
|
|
+ ETHTOOL_A_STATS_GRP,
|
|
+ ETHTOOL_A_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_STATS_CNT,
|
|
+ ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_HEADER,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_NUM,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_HEADER,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE_POLICY,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_CNT,
|
|
+ ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MIN,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MAX,
|
|
+
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_CNT,
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = (__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PSE_UNSPEC,
|
|
+ ETHTOOL_A_PSE_HEADER,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_PODL_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_C33_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_PW_CLASS,
|
|
+ ETHTOOL_A_C33_PSE_ACTUAL_PW,
|
|
+ ETHTOOL_A_C33_PSE_EXT_STATE,
|
|
+ ETHTOOL_A_C33_PSE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES,
|
|
+
|
|
+ __ETHTOOL_A_PSE_CNT,
|
|
+ ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RSS_UNSPEC,
|
|
+ ETHTOOL_A_RSS_HEADER,
|
|
+ ETHTOOL_A_RSS_CONTEXT,
|
|
+ ETHTOOL_A_RSS_HFUNC,
|
|
+ ETHTOOL_A_RSS_INDIR,
|
|
+ ETHTOOL_A_RSS_HKEY,
|
|
+ ETHTOOL_A_RSS_INPUT_XFRM,
|
|
+ ETHTOOL_A_RSS_START_CONTEXT,
|
|
+
|
|
+ __ETHTOOL_A_RSS_CNT,
|
|
+ ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PLCA_UNSPEC,
|
|
+ ETHTOOL_A_PLCA_HEADER,
|
|
+ ETHTOOL_A_PLCA_VERSION,
|
|
+ ETHTOOL_A_PLCA_ENABLED,
|
|
+ ETHTOOL_A_PLCA_STATUS,
|
|
+ ETHTOOL_A_PLCA_NODE_CNT,
|
|
+ ETHTOOL_A_PLCA_NODE_ID,
|
|
+ ETHTOOL_A_PLCA_TO_TMR,
|
|
+ ETHTOOL_A_PLCA_BURST_CNT,
|
|
+ ETHTOOL_A_PLCA_BURST_TMR,
|
|
+
|
|
+ __ETHTOOL_A_PLCA_CNT,
|
|
+ ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_HEADER,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_PASSWORD,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_DONE,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_TOTAL,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHY_UNSPEC,
|
|
+ ETHTOOL_A_PHY_HEADER,
|
|
+ ETHTOOL_A_PHY_INDEX,
|
|
+ ETHTOOL_A_PHY_DRVNAME,
|
|
+ ETHTOOL_A_PHY_NAME,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_TYPE,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_INDEX,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_SFP_NAME,
|
|
+ ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME,
|
|
+
|
|
+ __ETHTOOL_A_PHY_CNT,
|
|
+ ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSCONFIG_UNSPEC,
|
|
+ ETHTOOL_A_TSCONFIG_HEADER,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER,
|
|
+ ETHTOOL_A_TSCONFIG_TX_TYPES,
|
|
+ ETHTOOL_A_TSCONFIG_RX_FILTERS,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_TSCONFIG_CNT,
|
|
+ ETHTOOL_A_TSCONFIG_MAX = (__ETHTOOL_A_TSCONFIG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_USER_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET,
|
|
+ ETHTOOL_MSG_LINKINFO_SET,
|
|
+ ETHTOOL_MSG_LINKMODES_GET,
|
|
+ ETHTOOL_MSG_LINKMODES_SET,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET,
|
|
+ ETHTOOL_MSG_DEBUG_GET,
|
|
+ ETHTOOL_MSG_DEBUG_SET,
|
|
+ ETHTOOL_MSG_WOL_GET,
|
|
+ ETHTOOL_MSG_WOL_SET,
|
|
+ ETHTOOL_MSG_FEATURES_GET,
|
|
+ ETHTOOL_MSG_FEATURES_SET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
+ ETHTOOL_MSG_RINGS_GET,
|
|
+ ETHTOOL_MSG_RINGS_SET,
|
|
+ ETHTOOL_MSG_CHANNELS_GET,
|
|
+ ETHTOOL_MSG_CHANNELS_SET,
|
|
+ ETHTOOL_MSG_COALESCE_GET,
|
|
+ ETHTOOL_MSG_COALESCE_SET,
|
|
+ ETHTOOL_MSG_PAUSE_GET,
|
|
+ ETHTOOL_MSG_PAUSE_SET,
|
|
+ ETHTOOL_MSG_EEE_GET,
|
|
+ ETHTOOL_MSG_EEE_SET,
|
|
+ ETHTOOL_MSG_TSINFO_GET,
|
|
+ ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
+ ETHTOOL_MSG_FEC_GET,
|
|
+ ETHTOOL_MSG_FEC_SET,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
+ ETHTOOL_MSG_STATS_GET,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
+ ETHTOOL_MSG_MODULE_GET,
|
|
+ ETHTOOL_MSG_MODULE_SET,
|
|
+ ETHTOOL_MSG_PSE_GET,
|
|
+ ETHTOOL_MSG_PSE_SET,
|
|
+ ETHTOOL_MSG_RSS_GET,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_SET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
+ ETHTOOL_MSG_MM_GET,
|
|
+ ETHTOOL_MSG_MM_SET,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
+ ETHTOOL_MSG_PHY_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET,
|
|
+
|
|
+ __ETHTOOL_MSG_USER_CNT,
|
|
+ ETHTOOL_MSG_USER_MAX = (__ETHTOOL_MSG_USER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_KERNEL_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET_REPLY = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKINFO_NTF,
|
|
+ ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKMODES_NTF,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_NTF,
|
|
+ ETHTOOL_MSG_WOL_GET_REPLY,
|
|
+ ETHTOOL_MSG_WOL_NTF,
|
|
+ ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_NTF,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
+ ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_RINGS_NTF,
|
|
+ ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
+ ETHTOOL_MSG_CHANNELS_NTF,
|
|
+ ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
+ ETHTOOL_MSG_COALESCE_NTF,
|
|
+ ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_PAUSE_NTF,
|
|
+ ETHTOOL_MSG_EEE_GET_REPLY,
|
|
+ ETHTOOL_MSG_EEE_NTF,
|
|
+ ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_NTF,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
+ ETHTOOL_MSG_STATS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_NTF,
|
|
+ ETHTOOL_MSG_PSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_RSS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_NTF,
|
|
+ ETHTOOL_MSG_MM_GET_REPLY,
|
|
+ ETHTOOL_MSG_MM_NTF,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
+ ETHTOOL_MSG_PHY_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHY_NTF,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET_REPLY,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET_REPLY,
|
|
+
|
|
+ __ETHTOOL_MSG_KERNEL_CNT,
|
|
+ ETHTOOL_MSG_KERNEL_MAX = (__ETHTOOL_MSG_KERNEL_CNT - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_ETHTOOL_NETLINK_GENERATED_H */
|
|
--- a/arm64/usr/include/linux/fs.h
|
|
+++ b/arm64/usr/include/linux/fs.h
|
|
@@ -36,6 +36,15 @@
|
|
#define BLOCK_SIZE_BITS 10
|
|
#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
|
|
|
|
+/* flags for integrity meta */
|
|
+#define IO_INTEGRITY_CHK_GUARD (1U << 0) /* enforce guard check */
|
|
+#define IO_INTEGRITY_CHK_REFTAG (1U << 1) /* enforce ref check */
|
|
+#define IO_INTEGRITY_CHK_APPTAG (1U << 2) /* enforce app check */
|
|
+
|
|
+#define IO_INTEGRITY_VALID_FLAGS (IO_INTEGRITY_CHK_GUARD | \
|
|
+ IO_INTEGRITY_CHK_REFTAG | \
|
|
+ IO_INTEGRITY_CHK_APPTAG)
|
|
+
|
|
#define SEEK_SET 0 /* seek relative to beginning of file */
|
|
#define SEEK_CUR 1 /* seek relative to current file position */
|
|
#define SEEK_END 2 /* seek relative to end of file */
|
|
--- a/arm64/usr/include/linux/hidraw.h
|
|
+++ b/arm64/usr/include/linux/hidraw.h
|
|
@@ -48,6 +48,8 @@ struct hidraw_devinfo {
|
|
#define HIDIOCGOUTPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0C, len)
|
|
#define HIDIOCREVOKE _IOW('H', 0x0D, int) /* Revoke device access */
|
|
|
|
+#define HIDIOCTL_LAST _IOC_NR(HIDIOCREVOKE)
|
|
+
|
|
#define HIDRAW_FIRST_MINOR 0
|
|
#define HIDRAW_MAX_DEVICES 64
|
|
/* number of reports to buffer */
|
|
--- a/arm64/usr/include/linux/if_link.h
|
|
+++ b/arm64/usr/include/linux/if_link.h
|
|
@@ -377,6 +377,7 @@ enum {
|
|
IFLA_GSO_IPV4_MAX_SIZE,
|
|
IFLA_GRO_IPV4_MAX_SIZE,
|
|
IFLA_DPLL_PIN,
|
|
+ IFLA_MAX_PACING_OFFLOAD_HORIZON,
|
|
__IFLA_MAX
|
|
};
|
|
|
|
--- a/arm64/usr/include/linux/input-event-codes.h
|
|
+++ b/arm64/usr/include/linux/input-event-codes.h
|
|
@@ -519,6 +519,7 @@
|
|
#define KEY_NOTIFICATION_CENTER 0x1bc /* Show/hide the notification center */
|
|
#define KEY_PICKUP_PHONE 0x1bd /* Answer incoming call */
|
|
#define KEY_HANGUP_PHONE 0x1be /* Decline incoming call */
|
|
+#define KEY_LINK_PHONE 0x1bf /* AL Phone Syncing */
|
|
|
|
#define KEY_DEL_EOL 0x1c0
|
|
#define KEY_DEL_EOS 0x1c1
|
|
--- a/arm64/usr/include/linux/io_uring.h
|
|
+++ b/arm64/usr/include/linux/io_uring.h
|
|
@@ -98,6 +98,10 @@ struct io_uring_sqe {
|
|
__u64 addr3;
|
|
__u64 __pad2[1];
|
|
};
|
|
+ struct {
|
|
+ __u64 attr_ptr; /* pointer to attribute information */
|
|
+ __u64 attr_type_mask; /* bit mask of attributes */
|
|
+ };
|
|
__u64 optval;
|
|
/*
|
|
* If the ring is initialized with IORING_SETUP_SQE128, then
|
|
@@ -107,6 +111,18 @@ struct io_uring_sqe {
|
|
};
|
|
};
|
|
|
|
+/* sqe->attr_type_mask flags */
|
|
+#define IORING_RW_ATTR_FLAG_PI (1U << 0)
|
|
+/* PI attribute information */
|
|
+struct io_uring_attr_pi {
|
|
+ __u16 flags;
|
|
+ __u16 app_tag;
|
|
+ __u32 len;
|
|
+ __u64 addr;
|
|
+ __u64 seed;
|
|
+ __u64 rsvd;
|
|
+};
|
|
+
|
|
/*
|
|
* If sqe->file_index is set to this for opcodes that instantiate a new
|
|
* direct descriptor (like openat/openat2/accept), then io_uring will allocate
|
|
@@ -554,6 +570,7 @@ struct io_uring_params {
|
|
#define IORING_FEAT_REG_REG_RING (1U << 13)
|
|
#define IORING_FEAT_RECVSEND_BUNDLE (1U << 14)
|
|
#define IORING_FEAT_MIN_TIMEOUT (1U << 15)
|
|
+#define IORING_FEAT_RW_ATTR (1U << 16)
|
|
|
|
/*
|
|
* io_uring_register(2) opcodes and arguments
|
|
--- a/arm64/usr/include/linux/iommufd.h
|
|
+++ b/arm64/usr/include/linux/iommufd.h
|
|
@@ -737,6 +737,7 @@ enum iommu_hwpt_pgfault_perm {
|
|
* @pasid: Process Address Space ID
|
|
* @grpid: Page Request Group Index
|
|
* @perm: Combination of enum iommu_hwpt_pgfault_perm
|
|
+ * @__reserved: Must be 0.
|
|
* @addr: Fault address
|
|
* @length: a hint of how much data the requestor is expecting to fetch. For
|
|
* example, if the PRI initiator knows it is going to do a 10MB
|
|
@@ -752,7 +753,8 @@ struct iommu_hwpt_pgfault {
|
|
__u32 pasid;
|
|
__u32 grpid;
|
|
__u32 perm;
|
|
- __u64 addr;
|
|
+ __u32 __reserved;
|
|
+ __aligned_u64 addr;
|
|
__u32 length;
|
|
__u32 cookie;
|
|
};
|
|
--- a/arm64/usr/include/linux/kfd_ioctl.h
|
|
+++ b/arm64/usr/include/linux/kfd_ioctl.h
|
|
@@ -62,6 +62,8 @@ struct kfd_ioctl_get_version_args {
|
|
#define KFD_MAX_QUEUE_PERCENTAGE 100
|
|
#define KFD_MAX_QUEUE_PRIORITY 15
|
|
|
|
+#define KFD_MIN_QUEUE_RING_SIZE 1024
|
|
+
|
|
struct kfd_ioctl_create_queue_args {
|
|
__u64 ring_base_address; /* to KFD */
|
|
__u64 write_pointer_address; /* from KFD */
|
|
--- a/arm64/usr/include/linux/kvm.h
|
|
+++ b/arm64/usr/include/linux/kvm.h
|
|
@@ -178,6 +178,7 @@ struct kvm_xen_exit {
|
|
#define KVM_EXIT_NOTIFY 37
|
|
#define KVM_EXIT_LOONGARCH_IOCSR 38
|
|
#define KVM_EXIT_MEMORY_FAULT 39
|
|
+#define KVM_EXIT_TDX 40
|
|
|
|
/* For KVM_EXIT_INTERNAL_ERROR */
|
|
/* Emulate instruction failed. */
|
|
@@ -369,6 +370,7 @@ struct kvm_run {
|
|
#define KVM_SYSTEM_EVENT_WAKEUP 4
|
|
#define KVM_SYSTEM_EVENT_SUSPEND 5
|
|
#define KVM_SYSTEM_EVENT_SEV_TERM 6
|
|
+#define KVM_SYSTEM_EVENT_TDX_FATAL 7
|
|
__u32 type;
|
|
__u32 ndata;
|
|
union {
|
|
@@ -438,6 +440,33 @@ struct kvm_run {
|
|
__u64 gpa;
|
|
__u64 size;
|
|
} memory_fault;
|
|
+#ifndef __GENKSYMS__
|
|
+ /* KVM_EXIT_TDX */
|
|
+ struct {
|
|
+ __u64 flags;
|
|
+ __u64 nr;
|
|
+ union {
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 data[5];
|
|
+ } unknown;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 gpa;
|
|
+ __u64 size;
|
|
+ } get_quote;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 leaf;
|
|
+ __u64 r11, r12, r13, r14;
|
|
+ } get_tdvmcall_info;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 vector;
|
|
+ } setup_event_notify;
|
|
+ };
|
|
+ } tdx;
|
|
+#endif
|
|
/* Fix the size of the union. */
|
|
char padding[256];
|
|
};
|
|
@@ -1150,7 +1179,15 @@ enum kvm_device_type {
|
|
#define KVM_DEV_TYPE_ARM_PV_TIME KVM_DEV_TYPE_ARM_PV_TIME
|
|
KVM_DEV_TYPE_RISCV_AIA,
|
|
#define KVM_DEV_TYPE_RISCV_AIA KVM_DEV_TYPE_RISCV_AIA
|
|
+ KVM_DEV_TYPE_LOONGARCH_IPI,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_IPI KVM_DEV_TYPE_LOONGARCH_IPI
|
|
+ KVM_DEV_TYPE_LOONGARCH_EIOINTC,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_EIOINTC KVM_DEV_TYPE_LOONGARCH_EIOINTC
|
|
+ KVM_DEV_TYPE_LOONGARCH_PCHPIC,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_PCHPIC KVM_DEV_TYPE_LOONGARCH_PCHPIC
|
|
+
|
|
KVM_DEV_TYPE_MAX,
|
|
+
|
|
};
|
|
|
|
struct kvm_vfio_spapr_tce {
|
|
--- a/arm64/usr/include/linux/landlock.h
|
|
+++ b/arm64/usr/include/linux/landlock.h
|
|
@@ -57,9 +57,11 @@ struct landlock_ruleset_attr {
|
|
*
|
|
* - %LANDLOCK_CREATE_RULESET_VERSION: Get the highest supported Landlock ABI
|
|
* version.
|
|
+ * - %LANDLOCK_CREATE_RULESET_ERRATA: Get a bitmask of fixed issues.
|
|
*/
|
|
/* clang-format off */
|
|
#define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
|
|
+#define LANDLOCK_CREATE_RULESET_ERRATA (1U << 1)
|
|
/* clang-format on */
|
|
|
|
/**
|
|
--- /dev/null
|
|
+++ b/arm64/usr/include/linux/livepatch.h
|
|
@@ -0,0 +1,15 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+
|
|
+/*
|
|
+ * livepatch.h - Kernel Live Patching Core
|
|
+ *
|
|
+ * Copyright (C) 2016 Josh Poimboeuf <jpoimboe@redhat.com>
|
|
+ */
|
|
+
|
|
+#ifndef _LIVEPATCH_H
|
|
+#define _LIVEPATCH_H
|
|
+
|
|
+#define KLP_RELA_PREFIX ".klp.rela."
|
|
+#define KLP_SYM_PREFIX ".klp.sym."
|
|
+
|
|
+#endif /* _LIVEPATCH_H */
|
|
--- /dev/null
|
|
+++ b/arm64/usr/include/linux/mshv.h
|
|
@@ -0,0 +1,291 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+/*
|
|
+ * Userspace interfaces for /dev/mshv* devices and derived fds
|
|
+ *
|
|
+ * This file is divided into sections containing data structures and IOCTLs for
|
|
+ * a particular set of related devices or derived file descriptors.
|
|
+ *
|
|
+ * The IOCTL definitions are at the end of each section. They are grouped by
|
|
+ * device/fd, so that new IOCTLs can easily be added with a monotonically
|
|
+ * increasing number.
|
|
+ */
|
|
+#ifndef _LINUX_MSHV_H
|
|
+#define _LINUX_MSHV_H
|
|
+
|
|
+#include <linux/types.h>
|
|
+
|
|
+#define MSHV_IOCTL 0xB8
|
|
+
|
|
+/*
|
|
+ *******************************************
|
|
+ * Entry point to main VMM APIs: /dev/mshv *
|
|
+ *******************************************
|
|
+ */
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_BIT_LAPIC,
|
|
+ MSHV_PT_BIT_X2APIC,
|
|
+ MSHV_PT_BIT_GPA_SUPER_PAGES,
|
|
+ MSHV_PT_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_PT_FLAGS_MASK ((1 << MSHV_PT_BIT_COUNT) - 1)
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_ISOLATION_NONE,
|
|
+ MSHV_PT_ISOLATION_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_create_partition - arguments for MSHV_CREATE_PARTITION
|
|
+ * @pt_flags: Bitmask of 1 << MSHV_PT_BIT_*
|
|
+ * @pt_isolation: MSHV_PT_ISOLATION_*
|
|
+ *
|
|
+ * Returns a file descriptor to act as a handle to a guest partition.
|
|
+ * At this point the partition is not yet initialized in the hypervisor.
|
|
+ * Some operations must be done with the partition in this state, e.g. setting
|
|
+ * so-called "early" partition properties. The partition can then be
|
|
+ * initialized with MSHV_INITIALIZE_PARTITION.
|
|
+ */
|
|
+struct mshv_create_partition {
|
|
+ __u64 pt_flags;
|
|
+ __u64 pt_isolation;
|
|
+};
|
|
+
|
|
+/* /dev/mshv */
|
|
+#define MSHV_CREATE_PARTITION _IOW(MSHV_IOCTL, 0x00, struct mshv_create_partition)
|
|
+
|
|
+/*
|
|
+ ************************
|
|
+ * Child partition APIs *
|
|
+ ************************
|
|
+ */
|
|
+
|
|
+struct mshv_create_vp {
|
|
+ __u32 vp_index;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_SET_MEM_BIT_WRITABLE,
|
|
+ MSHV_SET_MEM_BIT_EXECUTABLE,
|
|
+ MSHV_SET_MEM_BIT_UNMAP,
|
|
+ MSHV_SET_MEM_BIT_COUNT
|
|
+};
|
|
+
|
|
+#define MSHV_SET_MEM_FLAGS_MASK ((1 << MSHV_SET_MEM_BIT_COUNT) - 1)
|
|
+
|
|
+/* The hypervisor's "native" page size */
|
|
+#define MSHV_HV_PAGE_SIZE 0x1000
|
|
+
|
|
+/**
|
|
+ * struct mshv_user_mem_region - arguments for MSHV_SET_GUEST_MEMORY
|
|
+ * @size: Size of the memory region (bytes). Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @guest_pfn: Base guest page number to map
|
|
+ * @userspace_addr: Base address of userspace memory. Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @flags: Bitmask of 1 << MSHV_SET_MEM_BIT_*. If (1 << MSHV_SET_MEM_BIT_UNMAP)
|
|
+ * is set, ignore other bits.
|
|
+ * @rsvd: MBZ
|
|
+ *
|
|
+ * Map or unmap a region of userspace memory to Guest Physical Addresses (GPA).
|
|
+ * Mappings can't overlap in GPA space or userspace.
|
|
+ * To unmap, these fields must match an existing mapping.
|
|
+ */
|
|
+struct mshv_user_mem_region {
|
|
+ __u64 size;
|
|
+ __u64 guest_pfn;
|
|
+ __u64 userspace_addr;
|
|
+ __u8 flags;
|
|
+ __u8 rsvd[7];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IRQFD_BIT_DEASSIGN,
|
|
+ MSHV_IRQFD_BIT_RESAMPLE,
|
|
+ MSHV_IRQFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IRQFD_FLAGS_MASK ((1 << MSHV_IRQFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_irqfd {
|
|
+ __s32 fd;
|
|
+ __s32 resamplefd;
|
|
+ __u32 gsi;
|
|
+ __u32 flags;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IOEVENTFD_BIT_DATAMATCH,
|
|
+ MSHV_IOEVENTFD_BIT_PIO,
|
|
+ MSHV_IOEVENTFD_BIT_DEASSIGN,
|
|
+ MSHV_IOEVENTFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IOEVENTFD_FLAGS_MASK ((1 << MSHV_IOEVENTFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_ioeventfd {
|
|
+ __u64 datamatch;
|
|
+ __u64 addr; /* legal pio/mmio address */
|
|
+ __u32 len; /* 1, 2, 4, or 8 bytes */
|
|
+ __s32 fd;
|
|
+ __u32 flags;
|
|
+ __u8 rsvd[4];
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_entry {
|
|
+ __u32 gsi;
|
|
+ __u32 address_lo;
|
|
+ __u32 address_hi;
|
|
+ __u32 data;
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_table {
|
|
+ __u32 nr;
|
|
+ __u32 rsvd; /* MBZ */
|
|
+ struct mshv_user_irq_entry entries[];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_TYPE_ACCESSED,
|
|
+ MSHV_GPAP_ACCESS_TYPE_DIRTY,
|
|
+ MSHV_GPAP_ACCESS_TYPE_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_OP_NOOP,
|
|
+ MSHV_GPAP_ACCESS_OP_CLEAR,
|
|
+ MSHV_GPAP_ACCESS_OP_SET,
|
|
+ MSHV_GPAP_ACCESS_OP_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_gpap_access_bitmap - arguments for MSHV_GET_GPAP_ACCESS_BITMAP
|
|
+ * @access_type: MSHV_GPAP_ACCESS_TYPE_* - The type of access to record in the
|
|
+ * bitmap
|
|
+ * @access_op: MSHV_GPAP_ACCESS_OP_* - Allows an optional clear or set of all
|
|
+ * the access states in the range, after retrieving the current
|
|
+ * states.
|
|
+ * @rsvd: MBZ
|
|
+ * @page_count: Number of pages
|
|
+ * @gpap_base: Base gpa page number
|
|
+ * @bitmap_ptr: Output buffer for bitmap, at least (page_count + 7) / 8 bytes
|
|
+ *
|
|
+ * Retrieve a bitmap of either ACCESSED or DIRTY bits for a given range of guest
|
|
+ * memory, and optionally clear or set the bits.
|
|
+ */
|
|
+struct mshv_gpap_access_bitmap {
|
|
+ __u8 access_type;
|
|
+ __u8 access_op;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 page_count;
|
|
+ __u64 gpap_base;
|
|
+ __u64 bitmap_ptr;
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_root_hvcall - arguments for MSHV_ROOT_HVCALL
|
|
+ * @code: Hypercall code (HVCALL_*)
|
|
+ * @reps: in: Rep count ('repcount')
|
|
+ * out: Reps completed ('repcomp'). MBZ unless rep hvcall
|
|
+ * @in_sz: Size of input incl rep data. <= MSHV_HV_PAGE_SIZE
|
|
+ * @out_sz: Size of output buffer. <= MSHV_HV_PAGE_SIZE. MBZ if out_ptr is 0
|
|
+ * @status: in: MBZ
|
|
+ * out: HV_STATUS_* from hypercall
|
|
+ * @rsvd: MBZ
|
|
+ * @in_ptr: Input data buffer (struct hv_input_*). If used with partition or
|
|
+ * vp fd, partition id field is populated by kernel.
|
|
+ * @out_ptr: Output data buffer (optional)
|
|
+ */
|
|
+struct mshv_root_hvcall {
|
|
+ __u16 code;
|
|
+ __u16 reps;
|
|
+ __u16 in_sz;
|
|
+ __u16 out_sz;
|
|
+ __u16 status;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 in_ptr;
|
|
+ __u64 out_ptr;
|
|
+};
|
|
+
|
|
+/* Partition fds created with MSHV_CREATE_PARTITION */
|
|
+#define MSHV_INITIALIZE_PARTITION _IO(MSHV_IOCTL, 0x00)
|
|
+#define MSHV_CREATE_VP _IOW(MSHV_IOCTL, 0x01, struct mshv_create_vp)
|
|
+#define MSHV_SET_GUEST_MEMORY _IOW(MSHV_IOCTL, 0x02, struct mshv_user_mem_region)
|
|
+#define MSHV_IRQFD _IOW(MSHV_IOCTL, 0x03, struct mshv_user_irqfd)
|
|
+#define MSHV_IOEVENTFD _IOW(MSHV_IOCTL, 0x04, struct mshv_user_ioeventfd)
|
|
+#define MSHV_SET_MSI_ROUTING _IOW(MSHV_IOCTL, 0x05, struct mshv_user_irq_table)
|
|
+#define MSHV_GET_GPAP_ACCESS_BITMAP _IOWR(MSHV_IOCTL, 0x06, struct mshv_gpap_access_bitmap)
|
|
+/* Generic hypercall */
|
|
+#define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+
|
|
+/*
|
|
+ ********************************
|
|
+ * VP APIs for child partitions *
|
|
+ ********************************
|
|
+ */
|
|
+
|
|
+#define MSHV_RUN_VP_BUF_SZ 256
|
|
+
|
|
+/*
|
|
+ * VP state pages may be mapped to userspace via mmap().
|
|
+ * To specify which state page, use MSHV_VP_MMAP_OFFSET_ values multiplied by
|
|
+ * the system page size.
|
|
+ * e.g.
|
|
+ * long page_size = sysconf(_SC_PAGE_SIZE);
|
|
+ * void *reg_page = mmap(NULL, MSHV_HV_PAGE_SIZE, PROT_READ|PROT_WRITE,
|
|
+ * MAP_SHARED, vp_fd,
|
|
+ * MSHV_VP_MMAP_OFFSET_REGISTERS * page_size);
|
|
+ */
|
|
+enum {
|
|
+ MSHV_VP_MMAP_OFFSET_REGISTERS,
|
|
+ MSHV_VP_MMAP_OFFSET_INTERCEPT_MESSAGE,
|
|
+ MSHV_VP_MMAP_OFFSET_GHCB,
|
|
+ MSHV_VP_MMAP_OFFSET_COUNT
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_run_vp - argument for MSHV_RUN_VP
|
|
+ * @msg_buf: On success, the intercept message is copied here. It can be
|
|
+ * interpreted using the relevant hypervisor definitions.
|
|
+ */
|
|
+struct mshv_run_vp {
|
|
+ __u8 msg_buf[MSHV_RUN_VP_BUF_SZ];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_VP_STATE_LAPIC, /* Local interrupt controller state (either arch) */
|
|
+ MSHV_VP_STATE_XSAVE, /* XSAVE data in compacted form (x86_64) */
|
|
+ MSHV_VP_STATE_SIMP,
|
|
+ MSHV_VP_STATE_SIEFP,
|
|
+ MSHV_VP_STATE_SYNTHETIC_TIMERS,
|
|
+ MSHV_VP_STATE_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_get_set_vp_state - arguments for MSHV_[GET,SET]_VP_STATE
|
|
+ * @type: MSHV_VP_STATE_*
|
|
+ * @rsvd: MBZ
|
|
+ * @buf_sz: in: 4k page-aligned size of buffer
|
|
+ * out: Actual size of data (on EINVAL, check this to see if buffer
|
|
+ * was too small)
|
|
+ * @buf_ptr: 4k page-aligned data buffer
|
|
+ */
|
|
+struct mshv_get_set_vp_state {
|
|
+ __u8 type;
|
|
+ __u8 rsvd[3];
|
|
+ __u32 buf_sz;
|
|
+ __u64 buf_ptr;
|
|
+};
|
|
+
|
|
+/* VP fds created with MSHV_CREATE_VP */
|
|
+#define MSHV_RUN_VP _IOR(MSHV_IOCTL, 0x00, struct mshv_run_vp)
|
|
+#define MSHV_GET_VP_STATE _IOWR(MSHV_IOCTL, 0x01, struct mshv_get_set_vp_state)
|
|
+#define MSHV_SET_VP_STATE _IOWR(MSHV_IOCTL, 0x02, struct mshv_get_set_vp_state)
|
|
+/*
|
|
+ * Generic hypercall
|
|
+ * Defined above in partition IOCTLs, avoid redefining it here
|
|
+ * #define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+ */
|
|
+
|
|
+#endif
|
|
--- /dev/null
|
|
+++ b/arm64/usr/include/linux/net_shaper.h
|
|
@@ -0,0 +1,95 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/net_shaper.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_NET_SHAPER_H
|
|
+#define _LINUX_NET_SHAPER_H
|
|
+
|
|
+#define NET_SHAPER_FAMILY_NAME "net-shaper"
|
|
+#define NET_SHAPER_FAMILY_VERSION 1
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_scope - Defines the shaper @id interpretation.
|
|
+ * @NET_SHAPER_SCOPE_UNSPEC: The scope is not specified.
|
|
+ * @NET_SHAPER_SCOPE_NETDEV: The main shaper for the given network device.
|
|
+ * @NET_SHAPER_SCOPE_QUEUE: The shaper is attached to the given device queue,
|
|
+ * the @id represents the queue number.
|
|
+ * @NET_SHAPER_SCOPE_NODE: The shaper allows grouping of queues or other node
|
|
+ * shapers; can be nested in either @netdev shapers or other @node shapers,
|
|
+ * allowing placement in any location of the scheduling tree, except leaves
|
|
+ * and root.
|
|
+ */
|
|
+enum net_shaper_scope {
|
|
+ NET_SHAPER_SCOPE_UNSPEC,
|
|
+ NET_SHAPER_SCOPE_NETDEV,
|
|
+ NET_SHAPER_SCOPE_QUEUE,
|
|
+ NET_SHAPER_SCOPE_NODE,
|
|
+
|
|
+ /* private: */
|
|
+ __NET_SHAPER_SCOPE_MAX,
|
|
+ NET_SHAPER_SCOPE_MAX = (__NET_SHAPER_SCOPE_MAX - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_metric - Different metric supported by the shaper.
|
|
+ * @NET_SHAPER_METRIC_BPS: Shaper operates on a bits per second basis.
|
|
+ * @NET_SHAPER_METRIC_PPS: Shaper operates on a packets per second basis.
|
|
+ */
|
|
+enum net_shaper_metric {
|
|
+ NET_SHAPER_METRIC_BPS,
|
|
+ NET_SHAPER_METRIC_PPS,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE = 1,
|
|
+ NET_SHAPER_A_METRIC,
|
|
+ NET_SHAPER_A_BW_MIN,
|
|
+ NET_SHAPER_A_BW_MAX,
|
|
+ NET_SHAPER_A_BURST,
|
|
+ NET_SHAPER_A_PRIORITY,
|
|
+ NET_SHAPER_A_WEIGHT,
|
|
+ NET_SHAPER_A_IFINDEX,
|
|
+ NET_SHAPER_A_PARENT,
|
|
+ NET_SHAPER_A_LEAVES,
|
|
+
|
|
+ __NET_SHAPER_A_MAX,
|
|
+ NET_SHAPER_A_MAX = (__NET_SHAPER_A_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE_SCOPE = 1,
|
|
+ NET_SHAPER_A_HANDLE_ID,
|
|
+
|
|
+ __NET_SHAPER_A_HANDLE_MAX,
|
|
+ NET_SHAPER_A_HANDLE_MAX = (__NET_SHAPER_A_HANDLE_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_CAPS_IFINDEX = 1,
|
|
+ NET_SHAPER_A_CAPS_SCOPE,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_BPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_PPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_NESTING,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MIN,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MAX,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BURST,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_PRIORITY,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_WEIGHT,
|
|
+
|
|
+ __NET_SHAPER_A_CAPS_MAX,
|
|
+ NET_SHAPER_A_CAPS_MAX = (__NET_SHAPER_A_CAPS_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_CMD_GET = 1,
|
|
+ NET_SHAPER_CMD_SET,
|
|
+ NET_SHAPER_CMD_DELETE,
|
|
+ NET_SHAPER_CMD_GROUP,
|
|
+ NET_SHAPER_CMD_CAP_GET,
|
|
+
|
|
+ __NET_SHAPER_CMD_MAX,
|
|
+ NET_SHAPER_CMD_MAX = (__NET_SHAPER_CMD_MAX - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_NET_SHAPER_H */
|
|
--- a/arm64/usr/include/linux/net_tstamp.h
|
|
+++ b/arm64/usr/include/linux/net_tstamp.h
|
|
@@ -13,6 +13,17 @@
|
|
#include <linux/types.h>
|
|
#include <linux/socket.h> /* for SO_TIMESTAMPING */
|
|
|
|
+/*
|
|
+ * Possible type of hwtstamp provider. Mainly "precise" the default one
|
|
+ * is for IEEE 1588 quality and "approx" is for NICs DMA point.
|
|
+ */
|
|
+enum hwtstamp_provider_qualifier {
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_PRECISE,
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_APPROX,
|
|
+
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_CNT,
|
|
+};
|
|
+
|
|
/* SO_TIMESTAMPING flags */
|
|
enum {
|
|
SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
|
|
--- a/arm64/usr/include/linux/netdev.h
|
|
+++ b/arm64/usr/include/linux/netdev.h
|
|
@@ -122,6 +122,9 @@ enum {
|
|
NETDEV_A_NAPI_ID,
|
|
NETDEV_A_NAPI_IRQ,
|
|
NETDEV_A_NAPI_PID,
|
|
+ NETDEV_A_NAPI_DEFER_HARD_IRQS,
|
|
+ NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT,
|
|
+ NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT,
|
|
|
|
__NETDEV_A_NAPI_MAX,
|
|
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
|
@@ -199,6 +202,7 @@ enum {
|
|
NETDEV_CMD_NAPI_GET,
|
|
NETDEV_CMD_QSTATS_GET,
|
|
NETDEV_CMD_BIND_RX,
|
|
+ NETDEV_CMD_NAPI_SET,
|
|
|
|
__NETDEV_CMD_MAX,
|
|
NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)
|
|
--- a/arm64/usr/include/linux/nl80211.h
|
|
+++ b/arm64/usr/include/linux/nl80211.h
|
|
@@ -4294,6 +4294,8 @@ enum nl80211_wmm_rule {
|
|
* otherwise completely disabled.
|
|
* @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a
|
|
* very low power (VLP) AP, despite being NO_IR.
|
|
+ * @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in
|
|
+ * 20 MHz bandwidth, despite being NO_IR.
|
|
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
|
* currently defined
|
|
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
|
@@ -4338,6 +4340,7 @@ enum nl80211_frequency_attr {
|
|
NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
|
|
NL80211_FREQUENCY_ATTR_CAN_MONITOR,
|
|
NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
|
|
+ NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY,
|
|
|
|
/* keep last */
|
|
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
|
@@ -4549,31 +4552,34 @@ enum nl80211_sched_scan_match_attr {
|
|
* @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed
|
|
* @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted
|
|
* despite NO_IR configuration.
|
|
+ * @NL80211_RRF_ALLOW_20MHZ_ACTIVITY: Allow activity in 20 MHz bandwidth,
|
|
+ * despite NO_IR configuration.
|
|
*/
|
|
enum nl80211_reg_rule_flags {
|
|
- NL80211_RRF_NO_OFDM = 1<<0,
|
|
- NL80211_RRF_NO_CCK = 1<<1,
|
|
- NL80211_RRF_NO_INDOOR = 1<<2,
|
|
- NL80211_RRF_NO_OUTDOOR = 1<<3,
|
|
- NL80211_RRF_DFS = 1<<4,
|
|
- NL80211_RRF_PTP_ONLY = 1<<5,
|
|
- NL80211_RRF_PTMP_ONLY = 1<<6,
|
|
- NL80211_RRF_NO_IR = 1<<7,
|
|
- __NL80211_RRF_NO_IBSS = 1<<8,
|
|
- NL80211_RRF_AUTO_BW = 1<<11,
|
|
- NL80211_RRF_IR_CONCURRENT = 1<<12,
|
|
- NL80211_RRF_NO_HT40MINUS = 1<<13,
|
|
- NL80211_RRF_NO_HT40PLUS = 1<<14,
|
|
- NL80211_RRF_NO_80MHZ = 1<<15,
|
|
- NL80211_RRF_NO_160MHZ = 1<<16,
|
|
- NL80211_RRF_NO_HE = 1<<17,
|
|
- NL80211_RRF_NO_320MHZ = 1<<18,
|
|
- NL80211_RRF_NO_EHT = 1<<19,
|
|
- NL80211_RRF_PSD = 1<<20,
|
|
- NL80211_RRF_DFS_CONCURRENT = 1<<21,
|
|
- NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22,
|
|
- NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23,
|
|
- NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24,
|
|
+ NL80211_RRF_NO_OFDM = 1 << 0,
|
|
+ NL80211_RRF_NO_CCK = 1 << 1,
|
|
+ NL80211_RRF_NO_INDOOR = 1 << 2,
|
|
+ NL80211_RRF_NO_OUTDOOR = 1 << 3,
|
|
+ NL80211_RRF_DFS = 1 << 4,
|
|
+ NL80211_RRF_PTP_ONLY = 1 << 5,
|
|
+ NL80211_RRF_PTMP_ONLY = 1 << 6,
|
|
+ NL80211_RRF_NO_IR = 1 << 7,
|
|
+ __NL80211_RRF_NO_IBSS = 1 << 8,
|
|
+ NL80211_RRF_AUTO_BW = 1 << 11,
|
|
+ NL80211_RRF_IR_CONCURRENT = 1 << 12,
|
|
+ NL80211_RRF_NO_HT40MINUS = 1 << 13,
|
|
+ NL80211_RRF_NO_HT40PLUS = 1 << 14,
|
|
+ NL80211_RRF_NO_80MHZ = 1 << 15,
|
|
+ NL80211_RRF_NO_160MHZ = 1 << 16,
|
|
+ NL80211_RRF_NO_HE = 1 << 17,
|
|
+ NL80211_RRF_NO_320MHZ = 1 << 18,
|
|
+ NL80211_RRF_NO_EHT = 1 << 19,
|
|
+ NL80211_RRF_PSD = 1 << 20,
|
|
+ NL80211_RRF_DFS_CONCURRENT = 1 << 21,
|
|
+ NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22,
|
|
+ NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23,
|
|
+ NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24,
|
|
+ NL80211_RRF_ALLOW_20MHZ_ACTIVITY = 1 << 25,
|
|
};
|
|
|
|
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
|
|
--- a/arm64/usr/include/linux/pci_regs.h
|
|
+++ b/arm64/usr/include/linux/pci_regs.h
|
|
@@ -340,7 +340,8 @@
|
|
#define PCI_MSIX_ENTRY_UPPER_ADDR 0x4 /* Message Upper Address */
|
|
#define PCI_MSIX_ENTRY_DATA 0x8 /* Message Data */
|
|
#define PCI_MSIX_ENTRY_VECTOR_CTRL 0xc /* Vector Control */
|
|
-#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001
|
|
+#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001 /* Mask Bit */
|
|
+#define PCI_MSIX_ENTRY_CTRL_ST 0xffff0000 /* Steering Tag */
|
|
|
|
/* CompactPCI Hotswap Register */
|
|
|
|
@@ -659,6 +660,7 @@
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP64 0x00000100 /* 64b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP128 0x00000200 /* 128b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_LTR 0x00000800 /* Latency tolerance reporting */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_MASK 0x00003000 /* TPH completer support */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000 /* OBFF support mechanism */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000 /* New message signaling */
|
|
#define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
|
|
@@ -1023,15 +1025,34 @@
|
|
#define PCI_DPA_CAP_SUBSTATE_MASK 0x1F /* # substates - 1 */
|
|
#define PCI_DPA_BASE_SIZEOF 16 /* size with 0 substates */
|
|
|
|
+/* TPH Completer Support */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_NONE 0x0 /* None */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_TPH_ONLY 0x1 /* TPH only */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_EXT_TPH 0x3 /* TPH and Extended TPH */
|
|
+
|
|
/* TPH Requester */
|
|
#define PCI_TPH_CAP 4 /* capability register */
|
|
-#define PCI_TPH_CAP_LOC_MASK 0x600 /* location mask */
|
|
-#define PCI_TPH_LOC_NONE 0x000 /* no location */
|
|
-#define PCI_TPH_LOC_CAP 0x200 /* in capability */
|
|
-#define PCI_TPH_LOC_MSIX 0x400 /* in MSI-X */
|
|
-#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST table mask */
|
|
-#define PCI_TPH_CAP_ST_SHIFT 16 /* ST table shift */
|
|
-#define PCI_TPH_BASE_SIZEOF 0xc /* size with no ST table */
|
|
+#define PCI_TPH_CAP_ST_NS 0x00000001 /* No ST Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_IV 0x00000002 /* Interrupt Vector Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_DS 0x00000004 /* Device Specific Mode Supported */
|
|
+#define PCI_TPH_CAP_EXT_TPH 0x00000100 /* Ext TPH Requester Supported */
|
|
+#define PCI_TPH_CAP_LOC_MASK 0x00000600 /* ST Table Location */
|
|
+#define PCI_TPH_LOC_NONE 0x00000000 /* Not present */
|
|
+#define PCI_TPH_LOC_CAP 0x00000200 /* In capability */
|
|
+#define PCI_TPH_LOC_MSIX 0x00000400 /* In MSI-X */
|
|
+#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST Table Size */
|
|
+#define PCI_TPH_CAP_ST_SHIFT 16 /* ST Table Size shift */
|
|
+#define PCI_TPH_BASE_SIZEOF 0xc /* Size with no ST table */
|
|
+
|
|
+#define PCI_TPH_CTRL 8 /* control register */
|
|
+#define PCI_TPH_CTRL_MODE_SEL_MASK 0x00000007 /* ST Mode Select */
|
|
+#define PCI_TPH_ST_NS_MODE 0x0 /* No ST Mode */
|
|
+#define PCI_TPH_ST_IV_MODE 0x1 /* Interrupt Vector Mode */
|
|
+#define PCI_TPH_ST_DS_MODE 0x2 /* Device Specific Mode */
|
|
+#define PCI_TPH_CTRL_REQ_EN_MASK 0x00000300 /* TPH Requester Enable */
|
|
+#define PCI_TPH_REQ_DISABLE 0x0 /* No TPH requests allowed */
|
|
+#define PCI_TPH_REQ_TPH_ONLY 0x1 /* TPH only requests allowed */
|
|
+#define PCI_TPH_REQ_EXT_TPH 0x3 /* Extended TPH requests allowed */
|
|
|
|
/* Downstream Port Containment */
|
|
#define PCI_EXP_DPC_CAP 0x04 /* DPC Capability */
|
|
--- a/arm64/usr/include/linux/perf_event.h
|
|
+++ b/arm64/usr/include/linux/perf_event.h
|
|
@@ -385,6 +385,8 @@ enum perf_event_read_format {
|
|
*
|
|
* @sample_max_stack: Max number of frame pointers in a callchain,
|
|
* should be < /proc/sys/kernel/perf_event_max_stack
|
|
+ * Max number of entries of branch stack
|
|
+ * should be < hardware limit
|
|
*/
|
|
struct perf_event_attr {
|
|
|
|
@@ -511,7 +513,16 @@ struct perf_event_attr {
|
|
__u16 sample_max_stack;
|
|
__u16 __reserved_2;
|
|
__u32 aux_sample_size;
|
|
- __u32 __reserved_3;
|
|
+
|
|
+ union {
|
|
+ __u32 aux_action;
|
|
+ struct {
|
|
+ __u32 aux_start_paused : 1, /* start AUX area tracing paused */
|
|
+ aux_pause : 1, /* on overflow, pause AUX area tracing */
|
|
+ aux_resume : 1, /* on overflow, resume AUX area tracing */
|
|
+ __reserved_3 : 29;
|
|
+ };
|
|
+ };
|
|
|
|
/*
|
|
* User provided data if sigtrap=1, passed back to user via
|
|
--- a/arm64/usr/include/linux/pfrut.h
|
|
+++ b/arm64/usr/include/linux/pfrut.h
|
|
@@ -89,6 +89,7 @@ struct pfru_payload_hdr {
|
|
__u32 hw_ver;
|
|
__u32 rt_ver;
|
|
__u8 platform_id[16];
|
|
+ __u32 svn_ver;
|
|
};
|
|
|
|
enum pfru_dsm_status {
|
|
--- a/arm64/usr/include/linux/pidfd.h
|
|
+++ b/arm64/usr/include/linux/pidfd.h
|
|
@@ -16,6 +16,56 @@
|
|
#define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1)
|
|
#define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2)
|
|
|
|
+/* Flags for pidfd_info. */
|
|
+#define PIDFD_INFO_PID (1UL << 0) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CREDS (1UL << 1) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CGROUPID (1UL << 2) /* Always returned if available, even if not requested */
|
|
+#define PIDFD_INFO_EXIT (1UL << 3) /* Only returned if requested. */
|
|
+
|
|
+#define PIDFD_INFO_SIZE_VER0 64 /* sizeof first published struct */
|
|
+
|
|
+struct pidfd_info {
|
|
+ /*
|
|
+ * This mask is similar to the request_mask in statx(2).
|
|
+ *
|
|
+ * Userspace indicates what extensions or expensive-to-calculate fields
|
|
+ * they want by setting the corresponding bits in mask. The kernel
|
|
+ * will ignore bits that it does not know about.
|
|
+ *
|
|
+ * When filling the structure, the kernel will only set bits
|
|
+ * corresponding to the fields that were actually filled by the kernel.
|
|
+ * This also includes any future extensions that might be automatically
|
|
+ * filled. If the structure size is too small to contain a field
|
|
+ * (requested or not), to avoid confusion the mask will not
|
|
+ * contain a bit for that field.
|
|
+ *
|
|
+ * As such, userspace MUST verify that mask contains the
|
|
+ * corresponding flags after the ioctl(2) returns to ensure that it is
|
|
+ * using valid data.
|
|
+ */
|
|
+ __u64 mask;
|
|
+ /*
|
|
+ * The information contained in the following fields might be stale at the
|
|
+ * time it is received, as the target process might have exited as soon as
|
|
+ * the IOCTL was processed, and there is no way to avoid that. However, it
|
|
+ * is guaranteed that if the call was successful, then the information was
|
|
+ * correct and referred to the intended process at the time the work was
|
|
+ * performed. */
|
|
+ __u64 cgroupid;
|
|
+ __u32 pid;
|
|
+ __u32 tgid;
|
|
+ __u32 ppid;
|
|
+ __u32 ruid;
|
|
+ __u32 rgid;
|
|
+ __u32 euid;
|
|
+ __u32 egid;
|
|
+ __u32 suid;
|
|
+ __u32 sgid;
|
|
+ __u32 fsuid;
|
|
+ __u32 fsgid;
|
|
+ __s32 exit_code;
|
|
+};
|
|
+
|
|
#define PIDFS_IOCTL_MAGIC 0xFF
|
|
|
|
#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1)
|
|
@@ -28,5 +78,6 @@
|
|
#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8)
|
|
#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9)
|
|
#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10)
|
|
+#define PIDFD_GET_INFO _IOWR(PIDFS_IOCTL_MAGIC, 11, struct pidfd_info)
|
|
|
|
#endif /* _LINUX_PIDFD_H */
|
|
--- a/arm64/usr/include/linux/psci.h
|
|
+++ b/arm64/usr/include/linux/psci.h
|
|
@@ -59,6 +59,7 @@
|
|
#define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18)
|
|
#define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19)
|
|
#define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(20)
|
|
+#define PSCI_1_3_FN_SYSTEM_OFF2 PSCI_0_2_FN(21)
|
|
|
|
#define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12)
|
|
#define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13)
|
|
@@ -68,6 +69,7 @@
|
|
|
|
#define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18)
|
|
#define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(20)
|
|
+#define PSCI_1_3_FN64_SYSTEM_OFF2 PSCI_0_2_FN64(21)
|
|
|
|
/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
|
|
#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
|
|
@@ -100,6 +102,9 @@
|
|
#define PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET 0
|
|
#define PSCI_1_1_RESET_TYPE_VENDOR_START 0x80000000U
|
|
|
|
+/* PSCI v1.3 hibernate type for SYSTEM_OFF2 */
|
|
+#define PSCI_1_3_OFF_TYPE_HIBERNATE_OFF BIT(0)
|
|
+
|
|
/* PSCI version decoding (independent of PSCI version) */
|
|
#define PSCI_VERSION_MAJOR_SHIFT 16
|
|
#define PSCI_VERSION_MINOR_MASK \
|
|
--- a/arm64/usr/include/linux/psp-sev.h
|
|
+++ b/arm64/usr/include/linux/psp-sev.h
|
|
@@ -73,13 +73,20 @@ typedef enum {
|
|
SEV_RET_INVALID_PARAM,
|
|
SEV_RET_RESOURCE_LIMIT,
|
|
SEV_RET_SECURE_DATA_INVALID,
|
|
- SEV_RET_INVALID_KEY = 0x27,
|
|
- SEV_RET_INVALID_PAGE_SIZE,
|
|
- SEV_RET_INVALID_PAGE_STATE,
|
|
- SEV_RET_INVALID_MDATA_ENTRY,
|
|
- SEV_RET_INVALID_PAGE_OWNER,
|
|
- SEV_RET_INVALID_PAGE_AEAD_OFLOW,
|
|
- SEV_RET_RMP_INIT_REQUIRED,
|
|
+ SEV_RET_INVALID_PAGE_SIZE = 0x0019,
|
|
+ SEV_RET_INVALID_PAGE_STATE = 0x001A,
|
|
+ SEV_RET_INVALID_MDATA_ENTRY = 0x001B,
|
|
+ SEV_RET_INVALID_PAGE_OWNER = 0x001C,
|
|
+ SEV_RET_AEAD_OFLOW = 0x001D,
|
|
+ SEV_RET_EXIT_RING_BUFFER = 0x001F,
|
|
+ SEV_RET_RMP_INIT_REQUIRED = 0x0020,
|
|
+ SEV_RET_BAD_SVN = 0x0021,
|
|
+ SEV_RET_BAD_VERSION = 0x0022,
|
|
+ SEV_RET_SHUTDOWN_REQUIRED = 0x0023,
|
|
+ SEV_RET_UPDATE_FAILED = 0x0024,
|
|
+ SEV_RET_RESTORE_REQUIRED = 0x0025,
|
|
+ SEV_RET_RMP_INITIALIZATION_FAILED = 0x0026,
|
|
+ SEV_RET_INVALID_KEY = 0x0027,
|
|
SEV_RET_MAX,
|
|
} sev_ret_code;
|
|
|
|
--- a/arm64/usr/include/linux/raid/md_p.h
|
|
+++ b/arm64/usr/include/linux/raid/md_p.h
|
|
@@ -85,6 +85,7 @@
|
|
* devices available - and don't try to
|
|
* correct read errors.
|
|
*/
|
|
+#define MD_DISK_TIMEOUT 11 /* disk is faulty due to timeout */
|
|
|
|
#define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
|
|
* read requests will only be sent here in
|
|
@@ -95,6 +96,7 @@
|
|
#define MD_DISK_ROLE_SPARE 0xffff
|
|
#define MD_DISK_ROLE_FAULTY 0xfffe
|
|
#define MD_DISK_ROLE_JOURNAL 0xfffd
|
|
+#define MD_DISK_ROLE_TIMEOUT 0xfff0 /* SUSE-only timed-out */
|
|
#define MD_DISK_ROLE_MAX 0xff00 /* max value of regular disk role */
|
|
|
|
typedef struct mdp_device_descriptor_s {
|
|
@@ -233,7 +235,7 @@ struct mdp_superblock_1 {
|
|
char set_name[32]; /* set and interpreted by user-space */
|
|
|
|
__le64 ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/
|
|
- __le32 level; /* 0,1,4,5 */
|
|
+ __le32 level; /* 0,1,4,5, -1 (linear) */
|
|
__le32 layout; /* only for raid5 and raid10 currently */
|
|
__le64 size; /* used size of component devices, in 512byte sectors */
|
|
|
|
--- a/arm64/usr/include/linux/raid/md_u.h
|
|
+++ b/arm64/usr/include/linux/raid/md_u.h
|
|
@@ -103,6 +103,8 @@ typedef struct mdu_array_info_s {
|
|
|
|
} mdu_array_info_t;
|
|
|
|
+#define LEVEL_LINEAR (-1)
|
|
+
|
|
/* we need a value for 'no level specified' and 0
|
|
* means 'raid0', so we need something else. This is
|
|
* for internal use only
|
|
--- a/arm64/usr/include/linux/rkisp1-config.h
|
|
+++ b/arm64/usr/include/linux/rkisp1-config.h
|
|
@@ -1528,7 +1528,7 @@ enum rksip1_ext_param_buffer_version {
|
|
* The expected memory layout of the parameters buffer is::
|
|
*
|
|
* +-------------------- struct rkisp1_ext_params_cfg -------------------+
|
|
- * | version = RKISP_EXT_PARAMS_BUFFER_V1; |
|
|
+ * | version = RKISP1_EXT_PARAM_BUFFER_V1; |
|
|
* | data_size = sizeof(struct rkisp1_ext_params_bls_config) |
|
|
* | + sizeof(struct rkisp1_ext_params_dpcc_config); |
|
|
* | +------------------------- data ---------------------------------+ |
|
|
--- a/arm64/usr/include/linux/rtnetlink.h
|
|
+++ b/arm64/usr/include/linux/rtnetlink.h
|
|
@@ -174,7 +174,7 @@ enum {
|
|
#define RTM_GETLINKPROP RTM_GETLINKPROP
|
|
|
|
RTM_NEWVLAN = 112,
|
|
-#define RTM_NEWNVLAN RTM_NEWVLAN
|
|
+#define RTM_NEWVLAN RTM_NEWVLAN
|
|
RTM_DELVLAN,
|
|
#define RTM_DELVLAN RTM_DELVLAN
|
|
RTM_GETVLAN,
|
|
--- a/arm64/usr/include/linux/sed-opal.h
|
|
+++ b/arm64/usr/include/linux/sed-opal.h
|
|
@@ -215,5 +215,6 @@ struct opal_revert_lsp {
|
|
#define IOC_OPAL_GET_GEOMETRY _IOR('p', 238, struct opal_geometry)
|
|
#define IOC_OPAL_DISCOVERY _IOW('p', 239, struct opal_discovery)
|
|
#define IOC_OPAL_REVERT_LSP _IOW('p', 240, struct opal_revert_lsp)
|
|
+#define IOC_OPAL_SET_SID_PW _IOW('p', 241, struct opal_new_pw)
|
|
|
|
#endif /* _SED_OPAL_H */
|
|
--- a/arm64/usr/include/linux/stddef.h
|
|
+++ b/arm64/usr/include/linux/stddef.h
|
|
@@ -8,6 +8,13 @@
|
|
#define __always_inline __inline__
|
|
#endif
|
|
|
|
+/* Not all C++ standards support type declarations inside an anonymous union */
|
|
+#ifndef __cplusplus
|
|
+#define __struct_group_tag(TAG) TAG
|
|
+#else
|
|
+#define __struct_group_tag(TAG)
|
|
+#endif
|
|
+
|
|
/**
|
|
* __struct_group() - Create a mirrored named and anonyomous struct
|
|
*
|
|
@@ -20,13 +27,13 @@
|
|
* and size: one anonymous and one named. The former's members can be used
|
|
* normally without sub-struct naming, and the latter can be used to
|
|
* reason about the start, end, and size of the group of struct members.
|
|
- * The named struct can also be explicitly tagged for layer reuse, as well
|
|
- * as both having struct attributes appended.
|
|
+ * The named struct can also be explicitly tagged for layer reuse (C only),
|
|
+ * as well as both having struct attributes appended.
|
|
*/
|
|
#define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
|
|
union { \
|
|
struct { MEMBERS } ATTRS; \
|
|
- struct TAG { MEMBERS } ATTRS NAME; \
|
|
+ struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \
|
|
} ATTRS
|
|
|
|
#ifdef __cplusplus
|
|
--- a/arm64/usr/include/linux/types.h
|
|
+++ b/arm64/usr/include/linux/types.h
|
|
@@ -48,6 +48,7 @@ typedef __u32 __bitwise __wsum;
|
|
* No conversions are necessary between 32-bit user-space and a 64-bit kernel.
|
|
*/
|
|
#define __aligned_u64 __u64 __attribute__((aligned(8)))
|
|
+#define __aligned_s64 __s64 __attribute__((aligned(8)))
|
|
#define __aligned_be64 __be64 __attribute__((aligned(8)))
|
|
#define __aligned_le64 __le64 __attribute__((aligned(8)))
|
|
|
|
--- a/arm64/usr/include/linux/usb/ch9.h
|
|
+++ b/arm64/usr/include/linux/usb/ch9.h
|
|
@@ -253,6 +253,9 @@ struct usb_ctrlrequest {
|
|
#define USB_DT_BOS 0x0f
|
|
#define USB_DT_DEVICE_CAPABILITY 0x10
|
|
#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11
|
|
+/* From the eUSB2 spec */
|
|
+#define USB_DT_EUSB2_ISOC_ENDPOINT_COMP 0x12
|
|
+/* From Wireless USB spec */
|
|
#define USB_DT_WIRE_ADAPTER 0x21
|
|
/* From USB Device Firmware Upgrade Specification, Revision 1.1 */
|
|
#define USB_DT_DFU_FUNCTIONAL 0x21
|
|
@@ -330,6 +333,7 @@ struct usb_device_descriptor {
|
|
#define USB_CLASS_AUDIO_VIDEO 0x10
|
|
#define USB_CLASS_BILLBOARD 0x11
|
|
#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
|
|
+#define USB_CLASS_MCTP 0x14
|
|
#define USB_CLASS_MISC 0xef
|
|
#define USB_CLASS_APP_SPEC 0xfe
|
|
#define USB_SUBCLASS_DFU 0x01
|
|
@@ -675,6 +679,18 @@ static __inline__ int usb_endpoint_inter
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
+/* USB_DT_EUSB2_ISOC_ENDPOINT_COMP: eUSB2 Isoch Endpoint Companion descriptor */
|
|
+struct usb_eusb2_isoc_ep_comp_descriptor {
|
|
+ __u8 bLength;
|
|
+ __u8 bDescriptorType;
|
|
+ __le16 wMaxPacketSize;
|
|
+ __le32 dwBytesPerInterval;
|
|
+} __attribute__ ((packed));
|
|
+
|
|
+#define USB_DT_EUSB2_ISOC_EP_COMP_SIZE 8
|
|
+
|
|
+/*-------------------------------------------------------------------------*/
|
|
+
|
|
/* USB_DT_SSP_ISOC_ENDPOINT_COMP: SuperSpeedPlus Isochronous Endpoint Companion
|
|
* descriptor
|
|
*/
|
|
--- a/arm64/usr/include/linux/usb/functionfs.h
|
|
+++ b/arm64/usr/include/linux/usb/functionfs.h
|
|
@@ -205,7 +205,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -223,7 +223,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -236,7 +236,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* | 11 | ExtProp[] | | list of ext. prop. d. |
|
|
* +-----+-----------------+------+--------------------------+
|
|
*
|
|
- * ExtCompat[] is an array of valid Extended Compatiblity descriptors
|
|
+ * ExtCompat[] is an array of valid Extended Compatibility descriptors
|
|
* which have the following format:
|
|
*
|
|
* +-----+-----------------------+------+-------------------------------------+
|
|
@@ -294,7 +294,7 @@ struct usb_functionfs_strings_head {
|
|
* | 16 | stringtab | StringTab[lang_count] | table of strings per lang |
|
|
*
|
|
* For each language there is one stringtab entry (ie. there are lang_count
|
|
- * stringtab entires). Each StringTab has following format:
|
|
+ * stringtab entries). Each StringTab has following format:
|
|
*
|
|
* | off | name | type | description |
|
|
* |-----+---------+-------------------+------------------------------------|
|
|
--- a/arm64/usr/include/linux/vhost.h
|
|
+++ b/arm64/usr/include/linux/vhost.h
|
|
@@ -235,4 +235,33 @@
|
|
*/
|
|
#define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \
|
|
struct vhost_vring_state)
|
|
+
|
|
+/* fork_owner values for vhost */
|
|
+#define VHOST_FORK_OWNER_KTHREAD 0
|
|
+#define VHOST_FORK_OWNER_TASK 1
|
|
+
|
|
+/**
|
|
+ * VHOST_SET_FORK_FROM_OWNER - Set the fork_owner flag for the vhost device,
|
|
+ * This ioctl must called before VHOST_SET_OWNER.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @param fork_owner: An 8-bit value that determines the vhost thread mode
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_TASK(default value):
|
|
+ * - Vhost will create vhost worker as tasks forked from the owner,
|
|
+ * inheriting all of the owner's attributes.
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_KTHREAD:
|
|
+ * - Vhost will create vhost workers as kernel threads.
|
|
+ */
|
|
+#define VHOST_SET_FORK_FROM_OWNER _IOW(VHOST_VIRTIO, 0x84, __u8)
|
|
+
|
|
+/**
|
|
+ * VHOST_GET_FORK_OWNER - Get the current fork_owner flag for the vhost device.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @return: An 8-bit value indicating the current thread mode.
|
|
+ */
|
|
+#define VHOST_GET_FORK_FROM_OWNER _IOR(VHOST_VIRTIO, 0x85, __u8)
|
|
+
|
|
#endif
|
|
--- a/arm64/usr/include/linux/videodev2.h
|
|
+++ b/arm64/usr/include/linux/videodev2.h
|
|
@@ -771,6 +771,7 @@ struct v4l2_pix_format {
|
|
#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
|
|
#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
|
|
+#define V4L2_PIX_FMT_Y16I v4l2_fourcc('Y', '1', '6', 'I') /* Greyscale 16-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
|
|
#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
|
|
#define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */
|
|
@@ -832,6 +833,8 @@ struct v4l2_pix_format {
|
|
|
|
/* Vendor specific - used for RaspberryPi PiSP */
|
|
#define V4L2_META_FMT_RPI_BE_CFG v4l2_fourcc('R', 'P', 'B', 'C') /* PiSP BE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_CFG v4l2_fourcc('R', 'P', 'F', 'C') /* PiSP FE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_STATS v4l2_fourcc('R', 'P', 'F', 'S') /* PiSP FE stats */
|
|
|
|
|
|
/* priv field value to indicates that subsequent fields are valid. */
|
|
--- a/arm64/usr/include/linux/xfrm.h
|
|
+++ b/arm64/usr/include/linux/xfrm.h
|
|
@@ -322,6 +322,7 @@ enum xfrm_attr_type_t {
|
|
XFRMA_MTIMER_THRESH, /* __u32 in seconds for input SA */
|
|
XFRMA_SA_DIR, /* __u8 */
|
|
XFRMA_NAT_KEEPALIVE_INTERVAL, /* __u32 in seconds for NAT keepalive */
|
|
+ XFRMA_SA_PCPU, /* __u32 */
|
|
__XFRMA_MAX
|
|
|
|
#define XFRMA_OUTPUT_MARK XFRMA_SET_MARK /* Compatibility */
|
|
@@ -437,6 +438,7 @@ struct xfrm_userpolicy_info {
|
|
#define XFRM_POLICY_LOCALOK 1 /* Allow user to override global policy */
|
|
/* Automatically expand selector to include matching ICMP payloads. */
|
|
#define XFRM_POLICY_ICMP 2
|
|
+#define XFRM_POLICY_CPU_ACQUIRE 4
|
|
__u8 share;
|
|
};
|
|
|
|
--- a/arm64/usr/include/rdma/efa-abi.h
|
|
+++ b/arm64/usr/include/rdma/efa-abi.h
|
|
@@ -95,7 +95,8 @@ struct efa_ibv_create_qp {
|
|
__u32 sq_ring_size; /* bytes */
|
|
__u32 driver_qp_type;
|
|
__u16 flags;
|
|
- __u8 reserved_90[6];
|
|
+ __u8 sl;
|
|
+ __u8 reserved_98[5];
|
|
};
|
|
|
|
struct efa_ibv_create_qp_resp {
|
|
--- a/arm64/usr/include/rdma/mlx5-abi.h
|
|
+++ b/arm64/usr/include/rdma/mlx5-abi.h
|
|
@@ -252,6 +252,7 @@ enum mlx5_ib_query_dev_resp_flags {
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1,
|
|
MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE = 1 << 2,
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT = 1 << 3,
|
|
+ MLX5_IB_QUERY_DEV_RESP_FLAGS_OOO_DP = 1 << 4,
|
|
};
|
|
|
|
enum mlx5_ib_tunnel_offloads {
|
|
@@ -439,6 +440,10 @@ struct mlx5_ib_burst_info {
|
|
__u16 reserved;
|
|
};
|
|
|
|
+enum mlx5_ib_modify_qp_mask {
|
|
+ MLX5_IB_MODIFY_QP_OOO_DP = 1 << 0,
|
|
+};
|
|
+
|
|
struct mlx5_ib_modify_qp {
|
|
__u32 comp_mask;
|
|
struct mlx5_ib_burst_info burst_info;
|
|
--- a/arm64/usr/include/rdma/rdma_netlink.h
|
|
+++ b/arm64/usr/include/rdma/rdma_netlink.h
|
|
@@ -638,6 +638,8 @@ enum rdma_nl_notify_event_type {
|
|
RDMA_UNREGISTER_EVENT,
|
|
RDMA_NETDEV_ATTACH_EVENT,
|
|
RDMA_NETDEV_DETACH_EVENT,
|
|
+ RDMA_RENAME_EVENT,
|
|
+ RDMA_NETDEV_RENAME_EVENT,
|
|
};
|
|
|
|
#endif /* _RDMA_NETLINK_H */
|
|
--- a/arm64/usr/include/scsi/fc/fc_els.h
|
|
+++ b/arm64/usr/include/scsi/fc/fc_els.h
|
|
@@ -11,6 +11,8 @@
|
|
#include <linux/types.h>
|
|
#include <asm/byteorder.h>
|
|
|
|
+#include <stddef.h> /* for offsetof */
|
|
+
|
|
/*
|
|
* Fibre Channel Switch - Enhanced Link Services definitions.
|
|
* From T11 FC-LS Rev 1.2 June 7, 2005.
|
|
@@ -1109,12 +1111,15 @@ struct fc_els_fpin {
|
|
|
|
/* Diagnostic Function Descriptor - FPIN Registration */
|
|
struct fc_df_desc_fpin_reg {
|
|
- __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
- __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
- * Size of descriptor excluding
|
|
- * desc_tag and desc_len fields.
|
|
- */
|
|
- __be32 count; /* Number of desc_tags elements */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_df_desc_fpin_reg_hdr, __hdr, /* no attrs */,
|
|
+ __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
+ __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
+ * Size of descriptor excluding
|
|
+ * desc_tag and desc_len fields.
|
|
+ */
|
|
+ __be32 count; /* Number of desc_tags elements */
|
|
+ );
|
|
__be32 desc_tags[]; /* Array of Descriptor Tags.
|
|
* Each tag indicates a function
|
|
* supported by the N_Port (request)
|
|
@@ -1124,33 +1129,44 @@ struct fc_df_desc_fpin_reg {
|
|
* See ELS_FN_DTAG_xxx for tag values.
|
|
*/
|
|
};
|
|
+_Static_assert(offsetof(struct fc_df_desc_fpin_reg, desc_tags) == sizeof(struct fc_df_desc_fpin_reg_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS_RDF - Register Diagnostic Functions
|
|
*/
|
|
struct fc_els_rdf {
|
|
- __u8 fpin_cmd; /* command (0x19) */
|
|
- __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
- __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
- * Size of ELS excluding fpin_cmd,
|
|
- * fpin_zero and desc_len fields.
|
|
- */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_hdr, __hdr, /* no attrs */,
|
|
+ __u8 fpin_cmd; /* command (0x19) */
|
|
+ __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
+ __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
+ * Size of ELS excluding fpin_cmd,
|
|
+ * fpin_zero and desc_len fields.
|
|
+ */
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Descriptor list */
|
|
};
|
|
+_Static_assert(offsetof(struct fc_els_rdf, desc) == sizeof(struct fc_els_rdf_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS RDF LS_ACC Response.
|
|
*/
|
|
struct fc_els_rdf_resp {
|
|
- struct fc_els_ls_acc acc_hdr;
|
|
- __be32 desc_list_len; /* Length of response (in
|
|
- * bytes). Excludes acc_hdr
|
|
- * and desc_list_len fields.
|
|
- */
|
|
- struct fc_els_lsri_desc lsri;
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_resp_hdr, __hdr, /* no attrs */,
|
|
+ struct fc_els_ls_acc acc_hdr;
|
|
+ __be32 desc_list_len; /* Length of response (in
|
|
+ * bytes). Excludes acc_hdr
|
|
+ * and desc_list_len fields.
|
|
+ */
|
|
+ struct fc_els_lsri_desc lsri;
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Supported Descriptor list */
|
|
};
|
|
-
|
|
+_Static_assert(offsetof(struct fc_els_rdf_resp, desc) == sizeof(struct fc_els_rdf_resp_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* Diagnostic Capability Descriptors for EDC ELS
|
|
--- a/loongarch/usr/include/asm-generic/mman-common.h
|
|
+++ b/loongarch/usr/include/asm-generic/mman-common.h
|
|
@@ -79,6 +79,9 @@
|
|
|
|
#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */
|
|
|
|
+#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */
|
|
+#define MADV_GUARD_REMOVE 103 /* unguard range */
|
|
+
|
|
/* compatibility flags */
|
|
#define MAP_FILE 0
|
|
|
|
--- a/loongarch/usr/include/asm/kvm.h
|
|
+++ b/loongarch/usr/include/asm/kvm.h
|
|
@@ -8,6 +8,8 @@
|
|
|
|
#include <linux/types.h>
|
|
|
|
+#define __KVM_HAVE_IRQ_LINE
|
|
+
|
|
/*
|
|
* KVM LoongArch specific structures and definitions.
|
|
*
|
|
@@ -132,4 +134,22 @@ struct kvm_iocsr_entry {
|
|
#define KVM_IRQCHIP_NUM_PINS 64
|
|
#define KVM_MAX_CORES 256
|
|
|
|
+#define KVM_DEV_LOONGARCH_IPI_GRP_REGS 0x40000001
|
|
+
|
|
+#define KVM_DEV_LOONGARCH_EXTIOI_GRP_REGS 0x40000002
|
|
+
|
|
+#define KVM_DEV_LOONGARCH_EXTIOI_GRP_SW_STATUS 0x40000003
|
|
+#define KVM_DEV_LOONGARCH_EXTIOI_SW_STATUS_NUM_CPU 0x0
|
|
+#define KVM_DEV_LOONGARCH_EXTIOI_SW_STATUS_FEATURE 0x1
|
|
+#define KVM_DEV_LOONGARCH_EXTIOI_SW_STATUS_STATE 0x2
|
|
+
|
|
+#define KVM_DEV_LOONGARCH_EXTIOI_GRP_CTRL 0x40000004
|
|
+#define KVM_DEV_LOONGARCH_EXTIOI_CTRL_INIT_NUM_CPU 0x0
|
|
+#define KVM_DEV_LOONGARCH_EXTIOI_CTRL_INIT_FEATURE 0x1
|
|
+#define KVM_DEV_LOONGARCH_EXTIOI_CTRL_LOAD_FINISHED 0x3
|
|
+
|
|
+#define KVM_DEV_LOONGARCH_PCH_PIC_GRP_REGS 0x40000005
|
|
+#define KVM_DEV_LOONGARCH_PCH_PIC_GRP_CTRL 0x40000006
|
|
+#define KVM_DEV_LOONGARCH_PCH_PIC_CTRL_INIT 0
|
|
+
|
|
#endif /* __UAPI_ASM_LOONGARCH_KVM_H */
|
|
--- a/loongarch/usr/include/linux/devlink.h
|
|
+++ b/loongarch/usr/include/linux/devlink.h
|
|
@@ -385,6 +385,21 @@ enum devlink_linecard_state {
|
|
DEVLINK_LINECARD_STATE_MAX = __DEVLINK_LINECARD_STATE_MAX - 1
|
|
};
|
|
|
|
+/* Variable attribute type. */
|
|
+enum devlink_var_attr_type {
|
|
+ /* Following values relate to the internal NLA_* values */
|
|
+ DEVLINK_VAR_ATTR_TYPE_U8 = 1,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U16,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U32,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U64,
|
|
+ DEVLINK_VAR_ATTR_TYPE_STRING,
|
|
+ DEVLINK_VAR_ATTR_TYPE_FLAG,
|
|
+ DEVLINK_VAR_ATTR_TYPE_NUL_STRING = 10,
|
|
+ DEVLINK_VAR_ATTR_TYPE_BINARY,
|
|
+ __DEVLINK_VAR_ATTR_TYPE_CUSTOM_BASE = 0x80,
|
|
+ /* Any possible custom types, unrelated to NLA_* values go below */
|
|
+};
|
|
+
|
|
enum devlink_attr {
|
|
/* don't change the order or add anything between, this is ABI! */
|
|
DEVLINK_ATTR_UNSPEC,
|
|
--- a/loongarch/usr/include/linux/dm-ioctl.h
|
|
+++ b/loongarch/usr/include/linux/dm-ioctl.h
|
|
@@ -286,9 +286,9 @@ enum {
|
|
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
|
|
|
#define DM_VERSION_MAJOR 4
|
|
-#define DM_VERSION_MINOR 48
|
|
+#define DM_VERSION_MINOR 49
|
|
#define DM_VERSION_PATCHLEVEL 0
|
|
-#define DM_VERSION_EXTRA "-ioctl (2023-03-01)"
|
|
+#define DM_VERSION_EXTRA "-ioctl (2025-01-17)"
|
|
|
|
/* Status bits */
|
|
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
|
--- a/loongarch/usr/include/linux/dpll.h
|
|
+++ b/loongarch/usr/include/linux/dpll.h
|
|
@@ -79,6 +79,29 @@ enum dpll_lock_status_error {
|
|
DPLL_LOCK_STATUS_ERROR_MAX = (__DPLL_LOCK_STATUS_ERROR_MAX - 1)
|
|
};
|
|
|
|
+/**
|
|
+ * enum dpll_clock_quality_level - level of quality of a clock device. This
|
|
+ * mainly applies when the dpll lock-status is DPLL_LOCK_STATUS_HOLDOVER. The
|
|
+ * current list is defined according to the table 11-7 contained in ITU-T
|
|
+ * G.8264/Y.1364 document. One may extend this list freely by other ITU-T
|
|
+ * defined clock qualities, or different ones defined by another
|
|
+ * standardization body (for those, please use different prefix).
|
|
+ */
|
|
+enum dpll_clock_quality_level {
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRC = 1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_A,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_B,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEC1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEEC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRC,
|
|
+
|
|
+ /* private: */
|
|
+ __DPLL_CLOCK_QUALITY_LEVEL_MAX,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_MAX = (__DPLL_CLOCK_QUALITY_LEVEL_MAX - 1)
|
|
+};
|
|
+
|
|
#define DPLL_TEMP_DIVIDER 1000
|
|
|
|
/**
|
|
@@ -180,6 +203,7 @@ enum dpll_a {
|
|
DPLL_A_TEMP,
|
|
DPLL_A_TYPE,
|
|
DPLL_A_LOCK_STATUS_ERROR,
|
|
+ DPLL_A_CLOCK_QUALITY_LEVEL,
|
|
|
|
__DPLL_A_MAX,
|
|
DPLL_A_MAX = (__DPLL_A_MAX - 1)
|
|
--- a/loongarch/usr/include/linux/ethtool.h
|
|
+++ b/loongarch/usr/include/linux/ethtool.h
|
|
@@ -679,6 +679,8 @@ enum ethtool_link_ext_substate_module {
|
|
* @ETH_SS_STATS_ETH_MAC: names of IEEE 802.3 MAC statistics
|
|
* @ETH_SS_STATS_ETH_CTRL: names of IEEE 802.3 MAC Control statistics
|
|
* @ETH_SS_STATS_RMON: names of RMON statistics
|
|
+ * @ETH_SS_STATS_PHY: names of PHY(dev) statistics
|
|
+ * @ETH_SS_TS_FLAGS: hardware timestamping flags
|
|
*
|
|
* @ETH_SS_COUNT: number of defined string sets
|
|
*/
|
|
@@ -704,6 +706,8 @@ enum ethtool_stringset {
|
|
ETH_SS_STATS_ETH_MAC,
|
|
ETH_SS_STATS_ETH_CTRL,
|
|
ETH_SS_STATS_RMON,
|
|
+ ETH_SS_STATS_PHY,
|
|
+ ETH_SS_TS_FLAGS,
|
|
|
|
/* add new constants above here */
|
|
ETH_SS_COUNT
|
|
--- a/loongarch/usr/include/linux/ethtool_netlink.h
|
|
+++ b/loongarch/usr/include/linux/ethtool_netlink.h
|
|
@@ -10,545 +10,12 @@
|
|
#define _LINUX_ETHTOOL_NETLINK_H_
|
|
|
|
#include <linux/ethtool.h>
|
|
-
|
|
-/* message types - userspace to kernel */
|
|
-enum {
|
|
- ETHTOOL_MSG_USER_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET,
|
|
- ETHTOOL_MSG_LINKINFO_GET,
|
|
- ETHTOOL_MSG_LINKINFO_SET,
|
|
- ETHTOOL_MSG_LINKMODES_GET,
|
|
- ETHTOOL_MSG_LINKMODES_SET,
|
|
- ETHTOOL_MSG_LINKSTATE_GET,
|
|
- ETHTOOL_MSG_DEBUG_GET,
|
|
- ETHTOOL_MSG_DEBUG_SET,
|
|
- ETHTOOL_MSG_WOL_GET,
|
|
- ETHTOOL_MSG_WOL_SET,
|
|
- ETHTOOL_MSG_FEATURES_GET,
|
|
- ETHTOOL_MSG_FEATURES_SET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
- ETHTOOL_MSG_RINGS_GET,
|
|
- ETHTOOL_MSG_RINGS_SET,
|
|
- ETHTOOL_MSG_CHANNELS_GET,
|
|
- ETHTOOL_MSG_CHANNELS_SET,
|
|
- ETHTOOL_MSG_COALESCE_GET,
|
|
- ETHTOOL_MSG_COALESCE_SET,
|
|
- ETHTOOL_MSG_PAUSE_GET,
|
|
- ETHTOOL_MSG_PAUSE_SET,
|
|
- ETHTOOL_MSG_EEE_GET,
|
|
- ETHTOOL_MSG_EEE_SET,
|
|
- ETHTOOL_MSG_TSINFO_GET,
|
|
- ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
- ETHTOOL_MSG_FEC_GET,
|
|
- ETHTOOL_MSG_FEC_SET,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
- ETHTOOL_MSG_STATS_GET,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
- ETHTOOL_MSG_MODULE_GET,
|
|
- ETHTOOL_MSG_MODULE_SET,
|
|
- ETHTOOL_MSG_PSE_GET,
|
|
- ETHTOOL_MSG_PSE_SET,
|
|
- ETHTOOL_MSG_RSS_GET,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG,
|
|
- ETHTOOL_MSG_PLCA_SET_CFG,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
- ETHTOOL_MSG_MM_GET,
|
|
- ETHTOOL_MSG_MM_SET,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
- ETHTOOL_MSG_PHY_GET,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_USER_CNT,
|
|
- ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
|
|
-};
|
|
-
|
|
-/* message types - kernel to userspace */
|
|
-enum {
|
|
- ETHTOOL_MSG_KERNEL_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_NTF,
|
|
- ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKMODES_NTF,
|
|
- ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_NTF,
|
|
- ETHTOOL_MSG_WOL_GET_REPLY,
|
|
- ETHTOOL_MSG_WOL_NTF,
|
|
- ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_NTF,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
- ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
- ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
- ETHTOOL_MSG_RINGS_NTF,
|
|
- ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
- ETHTOOL_MSG_CHANNELS_NTF,
|
|
- ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
- ETHTOOL_MSG_COALESCE_NTF,
|
|
- ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
- ETHTOOL_MSG_PAUSE_NTF,
|
|
- ETHTOOL_MSG_EEE_GET_REPLY,
|
|
- ETHTOOL_MSG_EEE_NTF,
|
|
- ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_NTF,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
- ETHTOOL_MSG_STATS_GET_REPLY,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_NTF,
|
|
- ETHTOOL_MSG_PSE_GET_REPLY,
|
|
- ETHTOOL_MSG_RSS_GET_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
- ETHTOOL_MSG_PLCA_NTF,
|
|
- ETHTOOL_MSG_MM_GET_REPLY,
|
|
- ETHTOOL_MSG_MM_NTF,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
- ETHTOOL_MSG_PHY_GET_REPLY,
|
|
- ETHTOOL_MSG_PHY_NTF,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_KERNEL_CNT,
|
|
- ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
|
|
-};
|
|
-
|
|
-/* request header */
|
|
-
|
|
-enum ethtool_header_flags {
|
|
- ETHTOOL_FLAG_COMPACT_BITSETS = 1 << 0, /* use compact bitsets in reply */
|
|
- ETHTOOL_FLAG_OMIT_REPLY = 1 << 1, /* provide optional reply for SET or ACT requests */
|
|
- ETHTOOL_FLAG_STATS = 1 << 2, /* request statistics, if supported by the driver */
|
|
-};
|
|
+#include <linux/ethtool_netlink_generated.h>
|
|
|
|
#define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \
|
|
ETHTOOL_FLAG_OMIT_REPLY | \
|
|
ETHTOOL_FLAG_STATS)
|
|
|
|
-enum {
|
|
- ETHTOOL_A_HEADER_UNSPEC,
|
|
- ETHTOOL_A_HEADER_DEV_INDEX, /* u32 */
|
|
- ETHTOOL_A_HEADER_DEV_NAME, /* string */
|
|
- ETHTOOL_A_HEADER_FLAGS, /* u32 - ETHTOOL_FLAG_* */
|
|
- ETHTOOL_A_HEADER_PHY_INDEX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_HEADER_CNT,
|
|
- ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1
|
|
-};
|
|
-
|
|
-/* bit sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BIT_INDEX, /* u32 */
|
|
- ETHTOOL_A_BITSET_BIT_NAME, /* string */
|
|
- ETHTOOL_A_BITSET_BIT_VALUE, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BIT_CNT,
|
|
- ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BITS_BIT, /* nest - _A_BITSET_BIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BITS_CNT,
|
|
- ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_UNSPEC,
|
|
- ETHTOOL_A_BITSET_NOMASK, /* flag */
|
|
- ETHTOOL_A_BITSET_SIZE, /* u32 */
|
|
- ETHTOOL_A_BITSET_BITS, /* nest - _A_BITSET_BITS_* */
|
|
- ETHTOOL_A_BITSET_VALUE, /* binary */
|
|
- ETHTOOL_A_BITSET_MASK, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_CNT,
|
|
- ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* string sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRING_UNSPEC,
|
|
- ETHTOOL_A_STRING_INDEX, /* u32 */
|
|
- ETHTOOL_A_STRING_VALUE, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRING_CNT,
|
|
- ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGS_UNSPEC,
|
|
- ETHTOOL_A_STRINGS_STRING, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGS_CNT,
|
|
- ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSET_UNSPEC,
|
|
- ETHTOOL_A_STRINGSET_ID, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_COUNT, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_STRINGS, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSET_CNT,
|
|
- ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
- ETHTOOL_A_STRINGSETS_STRINGSET, /* nest - _A_STRINGSET_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSETS_CNT,
|
|
- ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1
|
|
-};
|
|
-
|
|
-/* STRSET */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRSET_UNSPEC,
|
|
- ETHTOOL_A_STRSET_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STRSET_STRINGSETS, /* nest - _A_STRINGSETS_* */
|
|
- ETHTOOL_A_STRSET_COUNTS_ONLY, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRSET_CNT,
|
|
- ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKINFO_UNSPEC,
|
|
- ETHTOOL_A_LINKINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKINFO_PORT, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_PHYADDR, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TRANSCEIVER, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKINFO_CNT,
|
|
- ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKMODES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKMODES_UNSPEC,
|
|
- ETHTOOL_A_LINKMODES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_OURS, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_PEER, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_SPEED, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_LANES, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKMODES_CNT,
|
|
- ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKSTATE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
- ETHTOOL_A_LINKSTATE_HEADER, /* nest - _A_HEADER_* */
|
|
- 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 */
|
|
- ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKSTATE_CNT,
|
|
- ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1
|
|
-};
|
|
-
|
|
-/* DEBUG */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_DEBUG_UNSPEC,
|
|
- ETHTOOL_A_DEBUG_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_DEBUG_MSGMASK, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_DEBUG_CNT,
|
|
- ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1
|
|
-};
|
|
-
|
|
-/* WOL */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_WOL_UNSPEC,
|
|
- ETHTOOL_A_WOL_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_WOL_MODES, /* bitset */
|
|
- ETHTOOL_A_WOL_SOPASS, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_WOL_CNT,
|
|
- ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
|
|
-};
|
|
-
|
|
-/* FEATURES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEATURES_UNSPEC,
|
|
- ETHTOOL_A_FEATURES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEATURES_HW, /* bitset */
|
|
- ETHTOOL_A_FEATURES_WANTED, /* bitset */
|
|
- ETHTOOL_A_FEATURES_ACTIVE, /* bitset */
|
|
- ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEATURES_CNT,
|
|
- ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
|
|
-};
|
|
-
|
|
-/* PRIVFLAGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
- ETHTOOL_A_PRIVFLAGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PRIVFLAGS_FLAGS, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
- ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1
|
|
-};
|
|
-
|
|
-/* RINGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,
|
|
- ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
- ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RINGS_UNSPEC,
|
|
- ETHTOOL_A_RINGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_RINGS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */
|
|
- ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_RX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_RINGS_CNT,
|
|
- ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CHANNELS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CHANNELS_UNSPEC,
|
|
- ETHTOOL_A_CHANNELS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CHANNELS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_RX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_COUNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CHANNELS_CNT,
|
|
- ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* COALESCE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_COALESCE_UNSPEC,
|
|
- ETHTOOL_A_COALESCE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_COALESCE_RX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, /* u32 */
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_COALESCE_CNT,
|
|
- ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PROFILE_UNSPEC,
|
|
- /* nest, _A_IRQ_MODERATION_* */
|
|
- ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
- __ETHTOOL_A_PROFILE_CNT,
|
|
- ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
- ETHTOOL_A_IRQ_MODERATION_USEC, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_PKTS, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_COMPS, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
- ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
-};
|
|
-
|
|
-/* PAUSE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PAUSE_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_PAUSE_RX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_TX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_STATS, /* nest - _PAUSE_STAT_* */
|
|
- ETHTOOL_A_PAUSE_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PAUSE_CNT,
|
|
- ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
- ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
-
|
|
- /* add new constants above here
|
|
- * adjust ETHTOOL_PAUSE_STAT_CNT if adding non-stats!
|
|
- */
|
|
- __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
- ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* EEE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_EEE_UNSPEC,
|
|
- ETHTOOL_A_EEE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_EEE_MODES_OURS, /* bitset */
|
|
- ETHTOOL_A_EEE_MODES_PEER, /* bitset */
|
|
- ETHTOOL_A_EEE_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_EEE_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_TIMER, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_EEE_CNT,
|
|
- ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
-};
|
|
-
|
|
-/* TSINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TSINFO_UNSPEC,
|
|
- ETHTOOL_A_TSINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_TSINFO_TIMESTAMPING, /* bitset */
|
|
- ETHTOOL_A_TSINFO_TX_TYPES, /* bitset */
|
|
- ETHTOOL_A_TSINFO_RX_FILTERS, /* bitset */
|
|
- ETHTOOL_A_TSINFO_PHC_INDEX, /* u32 */
|
|
- ETHTOOL_A_TSINFO_STATS, /* nest - _A_TSINFO_STAT */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TSINFO_CNT,
|
|
- ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TS_STAT_UNSPEC,
|
|
-
|
|
- ETHTOOL_A_TS_STAT_TX_PKTS, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_LOST, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_ERR, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TS_STAT_CNT,
|
|
- ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
-
|
|
-};
|
|
-
|
|
-/* PHC VCLOCKS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
- ETHTOOL_A_PHC_VCLOCKS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHC_VCLOCKS_NUM, /* u32 */
|
|
- ETHTOOL_A_PHC_VCLOCKS_INDEX, /* array, s32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
- ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST NOTIFY */
|
|
enum {
|
|
ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC,
|
|
@@ -583,73 +50,11 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
- ETHTOOL_A_CABLE_RESULT_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_RESULT_CODE, /* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */
|
|
- ETHTOOL_A_CABLE_RESULT_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
- ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_CM, /* u32 */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED
|
|
};
|
|
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_NEST_RESULT, /* nest - ETHTOOL_A_CABLE_RESULT_ */
|
|
- ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, /* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */
|
|
- __ETHTOOL_A_CABLE_NEST_CNT,
|
|
- ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST TDR */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG, /* nest - *_TDR_CFG_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST TDR NOTIFY */
|
|
|
|
enum {
|
|
@@ -690,163 +95,17 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
- 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)
|
|
-};
|
|
-
|
|
-/* FEC */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_UNSPEC,
|
|
- ETHTOOL_A_FEC_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEC_MODES, /* bitset */
|
|
- ETHTOOL_A_FEC_AUTO, /* u8 */
|
|
- ETHTOOL_A_FEC_ACTIVE, /* u32 */
|
|
- ETHTOOL_A_FEC_STATS, /* nest - _A_FEC_STAT */
|
|
-
|
|
- __ETHTOOL_A_FEC_CNT,
|
|
- ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
- ETHTOOL_A_FEC_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_FEC_STAT_CORRECTED, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_UNCORR, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_CORR_BITS, /* array, u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEC_STAT_CNT,
|
|
- ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE EEPROM */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
- ETHTOOL_A_MODULE_EEPROM_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- ETHTOOL_A_MODULE_EEPROM_OFFSET, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_LENGTH, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */
|
|
-
|
|
- __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
- ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* STATS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STATS_UNSPEC,
|
|
- ETHTOOL_A_STATS_PAD,
|
|
- ETHTOOL_A_STATS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STATS_GROUPS, /* bitset */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP, /* nest - _A_STATS_GRP_* */
|
|
-
|
|
- ETHTOOL_A_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_CNT,
|
|
- ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_STATS_ETH_PHY,
|
|
ETHTOOL_STATS_ETH_MAC,
|
|
ETHTOOL_STATS_ETH_CTRL,
|
|
ETHTOOL_STATS_RMON,
|
|
+ ETHTOOL_STATS_PHY,
|
|
|
|
/* add new constants above here */
|
|
__ETHTOOL_STATS_CNT
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
- ETHTOOL_A_STATS_GRP_PAD,
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_ID, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_SS_ID, /* u32 */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_STAT, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_RX, /* nest */
|
|
- ETHTOOL_A_STATS_GRP_HIST_TX, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_LOW, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_HI, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_VAL, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_GRP_CNT,
|
|
- ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
/* 30.3.2.1.5 aSymbolErrorDuringCarrier */
|
|
ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR,
|
|
|
|
@@ -935,160 +194,20 @@ enum {
|
|
ETHTOOL_A_STATS_RMON_MAX = (__ETHTOOL_A_STATS_RMON_CNT - 1)
|
|
};
|
|
|
|
-/* MODULE */
|
|
-
|
|
enum {
|
|
- ETHTOOL_A_MODULE_UNSPEC,
|
|
- ETHTOOL_A_MODULE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_POWER_MODE_POLICY, /* u8 */
|
|
- ETHTOOL_A_MODULE_POWER_MODE, /* u8 */
|
|
+ /* Basic packet counters if PHY has separate counters from the MAC */
|
|
+ ETHTOOL_A_STATS_PHY_RX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_RX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_RX_ERRORS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_TX_ERRORS,
|
|
|
|
/* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_CNT,
|
|
- ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+ __ETHTOOL_A_STATS_PHY_CNT,
|
|
+ ETHTOOL_A_STATS_PHY_MAX = (__ETHTOOL_A_STATS_PHY_CNT - 1)
|
|
};
|
|
|
|
-/* Power Sourcing Equipment */
|
|
-enum {
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MIN, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MAX, /* u32 */
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PSE_UNSPEC,
|
|
- ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_CLASS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ACTUAL_PW, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_SUBSTATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES, /* nest - _C33_PSE_PW_LIMIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PSE_CNT,
|
|
- ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RSS_UNSPEC,
|
|
- ETHTOOL_A_RSS_HEADER,
|
|
- ETHTOOL_A_RSS_CONTEXT, /* u32 */
|
|
- ETHTOOL_A_RSS_HFUNC, /* u32 */
|
|
- ETHTOOL_A_RSS_INDIR, /* binary */
|
|
- ETHTOOL_A_RSS_HKEY, /* binary */
|
|
- ETHTOOL_A_RSS_INPUT_XFRM, /* u32 */
|
|
- ETHTOOL_A_RSS_START_CONTEXT, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_RSS_CNT,
|
|
- ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
|
|
-};
|
|
-
|
|
-/* PLCA */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PLCA_UNSPEC,
|
|
- ETHTOOL_A_PLCA_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PLCA_VERSION, /* u16 */
|
|
- ETHTOOL_A_PLCA_ENABLED, /* u8 */
|
|
- ETHTOOL_A_PLCA_STATUS, /* u8 */
|
|
- ETHTOOL_A_PLCA_NODE_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_NODE_ID, /* u32 */
|
|
- ETHTOOL_A_PLCA_TO_TMR, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_TMR, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PLCA_CNT,
|
|
- ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MAC Merge (802.3) */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_STAT_UNSPEC,
|
|
- ETHTOOL_A_MM_STAT_PAD,
|
|
-
|
|
- /* aMACMergeFrameAssErrorCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameSmdErrorCount */
|
|
- ETHTOOL_A_MM_STAT_SMD_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameAssOkCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_OK, /* u64 */
|
|
- /* aMACMergeFragCountRx */
|
|
- ETHTOOL_A_MM_STAT_RX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeFragCountTx */
|
|
- ETHTOOL_A_MM_STAT_TX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeHoldCount */
|
|
- ETHTOOL_A_MM_STAT_HOLD_COUNT, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_STAT_CNT,
|
|
- ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_UNSPEC,
|
|
- ETHTOOL_A_MM_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MM_PMAC_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_RX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_VERIFY_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_STATUS, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_MAX_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_STATS, /* nest - _A_MM_STAT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_CNT,
|
|
- ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE_FW_FLASH */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_PASSWORD, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_DONE, /* uint */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_TOTAL, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHY_UNSPEC,
|
|
- ETHTOOL_A_PHY_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHY_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_DRVNAME, /* string */
|
|
- ETHTOOL_A_PHY_NAME, /* string */
|
|
- ETHTOOL_A_PHY_UPSTREAM_TYPE, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_SFP_NAME, /* string */
|
|
- ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHY_CNT,
|
|
- ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
-};
|
|
-
|
|
-/* generic netlink info */
|
|
-#define ETHTOOL_GENL_NAME "ethtool"
|
|
-#define ETHTOOL_GENL_VERSION 1
|
|
-
|
|
#define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
|
|
|
|
#endif /* _LINUX_ETHTOOL_NETLINK_H_ */
|
|
--- /dev/null
|
|
+++ b/loongarch/usr/include/linux/ethtool_netlink_generated.h
|
|
@@ -0,0 +1,821 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/ethtool.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+#define _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+
|
|
+#define ETHTOOL_GENL_NAME "ethtool"
|
|
+#define ETHTOOL_GENL_VERSION 1
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_GENEVE,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE,
|
|
+
|
|
+ /* private: */
|
|
+ __ETHTOOL_UDP_TUNNEL_TYPE_CNT,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_MAX = (__ETHTOOL_UDP_TUNNEL_TYPE_CNT - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum ethtool_header_flags - common ethtool header flags
|
|
+ * @ETHTOOL_FLAG_COMPACT_BITSETS: use compact bitsets in reply
|
|
+ * @ETHTOOL_FLAG_OMIT_REPLY: provide optional reply for SET or ACT requests
|
|
+ * @ETHTOOL_FLAG_STATS: request statistics, if supported by the driver
|
|
+ */
|
|
+enum ethtool_header_flags {
|
|
+ ETHTOOL_FLAG_COMPACT_BITSETS = 1,
|
|
+ ETHTOOL_FLAG_OMIT_REPLY = 2,
|
|
+ ETHTOOL_FLAG_STATS = 4,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_MAC,
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_PHY,
|
|
+};
|
|
+
|
|
+enum ethtool_tcp_data_split {
|
|
+ ETHTOOL_TCP_DATA_SPLIT_UNKNOWN,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_HEADER_UNSPEC,
|
|
+ ETHTOOL_A_HEADER_DEV_INDEX,
|
|
+ ETHTOOL_A_HEADER_DEV_NAME,
|
|
+ ETHTOOL_A_HEADER_FLAGS,
|
|
+ ETHTOOL_A_HEADER_PHY_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_HEADER_CNT,
|
|
+ ETHTOOL_A_HEADER_MAX = (__ETHTOOL_A_HEADER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BIT_INDEX,
|
|
+ ETHTOOL_A_BITSET_BIT_NAME,
|
|
+ ETHTOOL_A_BITSET_BIT_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BIT_CNT,
|
|
+ ETHTOOL_A_BITSET_BIT_MAX = (__ETHTOOL_A_BITSET_BIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BITS_BIT,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BITS_CNT,
|
|
+ ETHTOOL_A_BITSET_BITS_MAX = (__ETHTOOL_A_BITSET_BITS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_NOMASK,
|
|
+ ETHTOOL_A_BITSET_SIZE,
|
|
+ ETHTOOL_A_BITSET_BITS,
|
|
+ ETHTOOL_A_BITSET_VALUE,
|
|
+ ETHTOOL_A_BITSET_MASK,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_CNT,
|
|
+ ETHTOOL_A_BITSET_MAX = (__ETHTOOL_A_BITSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRING_UNSPEC,
|
|
+ ETHTOOL_A_STRING_INDEX,
|
|
+ ETHTOOL_A_STRING_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_STRING_CNT,
|
|
+ ETHTOOL_A_STRING_MAX = (__ETHTOOL_A_STRING_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGS_STRING,
|
|
+
|
|
+ __ETHTOOL_A_STRINGS_CNT,
|
|
+ ETHTOOL_A_STRINGS_MAX = (__ETHTOOL_A_STRINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSET_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSET_ID,
|
|
+ ETHTOOL_A_STRINGSET_COUNT,
|
|
+ ETHTOOL_A_STRINGSET_STRINGS,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSET_CNT,
|
|
+ ETHTOOL_A_STRINGSET_MAX = (__ETHTOOL_A_STRINGSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSETS_STRINGSET,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSETS_CNT,
|
|
+ ETHTOOL_A_STRINGSETS_MAX = (__ETHTOOL_A_STRINGSETS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRSET_UNSPEC,
|
|
+ ETHTOOL_A_STRSET_HEADER,
|
|
+ ETHTOOL_A_STRSET_STRINGSETS,
|
|
+ ETHTOOL_A_STRSET_COUNTS_ONLY,
|
|
+
|
|
+ __ETHTOOL_A_STRSET_CNT,
|
|
+ ETHTOOL_A_STRSET_MAX = (__ETHTOOL_A_STRSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
+ ETHTOOL_A_PRIVFLAGS_HEADER,
|
|
+ ETHTOOL_A_PRIVFLAGS_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
+ ETHTOOL_A_PRIVFLAGS_MAX = (__ETHTOOL_A_PRIVFLAGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RINGS_UNSPEC,
|
|
+ ETHTOOL_A_RINGS_HEADER,
|
|
+ ETHTOOL_A_RINGS_RX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO_MAX,
|
|
+ ETHTOOL_A_RINGS_TX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO,
|
|
+ ETHTOOL_A_RINGS_TX,
|
|
+ ETHTOOL_A_RINGS_RX_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
|
|
+ ETHTOOL_A_RINGS_CQE_SIZE,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH,
|
|
+ ETHTOOL_A_RINGS_RX_PUSH,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH_MAX,
|
|
+
|
|
+ __ETHTOOL_A_RINGS_CNT,
|
|
+ ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_STAT_UNSPEC,
|
|
+ ETHTOOL_A_MM_STAT_PAD,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_SMD_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_OK,
|
|
+ ETHTOOL_A_MM_STAT_RX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_TX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_HOLD_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_MM_STAT_CNT,
|
|
+ ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_UNSPEC,
|
|
+ ETHTOOL_A_MM_HEADER,
|
|
+ ETHTOOL_A_MM_PMAC_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ACTIVE,
|
|
+ ETHTOOL_A_MM_TX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_RX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_VERIFY_ENABLED,
|
|
+ ETHTOOL_A_MM_VERIFY_STATUS,
|
|
+ ETHTOOL_A_MM_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_MAX_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_STATS,
|
|
+
|
|
+ __ETHTOOL_A_MM_CNT,
|
|
+ ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKINFO_UNSPEC,
|
|
+ ETHTOOL_A_LINKINFO_HEADER,
|
|
+ ETHTOOL_A_LINKINFO_PORT,
|
|
+ ETHTOOL_A_LINKINFO_PHYADDR,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX_CTRL,
|
|
+ ETHTOOL_A_LINKINFO_TRANSCEIVER,
|
|
+
|
|
+ __ETHTOOL_A_LINKINFO_CNT,
|
|
+ ETHTOOL_A_LINKINFO_MAX = (__ETHTOOL_A_LINKINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKMODES_UNSPEC,
|
|
+ ETHTOOL_A_LINKMODES_HEADER,
|
|
+ ETHTOOL_A_LINKMODES_AUTONEG,
|
|
+ ETHTOOL_A_LINKMODES_OURS,
|
|
+ ETHTOOL_A_LINKMODES_PEER,
|
|
+ ETHTOOL_A_LINKMODES_SPEED,
|
|
+ ETHTOOL_A_LINKMODES_DUPLEX,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE,
|
|
+ ETHTOOL_A_LINKMODES_LANES,
|
|
+ ETHTOOL_A_LINKMODES_RATE_MATCHING,
|
|
+
|
|
+ __ETHTOOL_A_LINKMODES_CNT,
|
|
+ ETHTOOL_A_LINKMODES_MAX = (__ETHTOOL_A_LINKMODES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
+ ETHTOOL_A_LINKSTATE_HEADER,
|
|
+ ETHTOOL_A_LINKSTATE_LINK,
|
|
+ ETHTOOL_A_LINKSTATE_SQI,
|
|
+ ETHTOOL_A_LINKSTATE_SQI_MAX,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_STATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT,
|
|
+
|
|
+ __ETHTOOL_A_LINKSTATE_CNT,
|
|
+ ETHTOOL_A_LINKSTATE_MAX = (__ETHTOOL_A_LINKSTATE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_DEBUG_UNSPEC,
|
|
+ ETHTOOL_A_DEBUG_HEADER,
|
|
+ ETHTOOL_A_DEBUG_MSGMASK,
|
|
+
|
|
+ __ETHTOOL_A_DEBUG_CNT,
|
|
+ ETHTOOL_A_DEBUG_MAX = (__ETHTOOL_A_DEBUG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_WOL_UNSPEC,
|
|
+ ETHTOOL_A_WOL_HEADER,
|
|
+ ETHTOOL_A_WOL_MODES,
|
|
+ ETHTOOL_A_WOL_SOPASS,
|
|
+
|
|
+ __ETHTOOL_A_WOL_CNT,
|
|
+ ETHTOOL_A_WOL_MAX = (__ETHTOOL_A_WOL_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEATURES_UNSPEC,
|
|
+ ETHTOOL_A_FEATURES_HEADER,
|
|
+ ETHTOOL_A_FEATURES_HW,
|
|
+ ETHTOOL_A_FEATURES_WANTED,
|
|
+ ETHTOOL_A_FEATURES_ACTIVE,
|
|
+ ETHTOOL_A_FEATURES_NOCHANGE,
|
|
+
|
|
+ __ETHTOOL_A_FEATURES_CNT,
|
|
+ ETHTOOL_A_FEATURES_MAX = (__ETHTOOL_A_FEATURES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CHANNELS_UNSPEC,
|
|
+ ETHTOOL_A_CHANNELS_HEADER,
|
|
+ ETHTOOL_A_CHANNELS_RX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_TX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_MAX,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_MAX,
|
|
+ ETHTOOL_A_CHANNELS_RX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_TX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_CHANNELS_CNT,
|
|
+ ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_USEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_PKTS,
|
|
+ ETHTOOL_A_IRQ_MODERATION_COMPS,
|
|
+
|
|
+ __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
+ ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PROFILE_UNSPEC,
|
|
+ ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
+
|
|
+ __ETHTOOL_A_PROFILE_CNT,
|
|
+ ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_COALESCE_UNSPEC,
|
|
+ ETHTOOL_A_COALESCE_HEADER,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_STATS_BLOCK_USECS,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_TX,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_RX,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
+ ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
+
|
|
+ __ETHTOOL_A_COALESCE_CNT,
|
|
+ ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_STAT_PAD,
|
|
+ ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
+ ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
+ ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_HEADER,
|
|
+ ETHTOOL_A_PAUSE_AUTONEG,
|
|
+ ETHTOOL_A_PAUSE_RX,
|
|
+ ETHTOOL_A_PAUSE_TX,
|
|
+ ETHTOOL_A_PAUSE_STATS,
|
|
+ ETHTOOL_A_PAUSE_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_CNT,
|
|
+ ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_EEE_UNSPEC,
|
|
+ ETHTOOL_A_EEE_HEADER,
|
|
+ ETHTOOL_A_EEE_MODES_OURS,
|
|
+ ETHTOOL_A_EEE_MODES_PEER,
|
|
+ ETHTOOL_A_EEE_ACTIVE,
|
|
+ ETHTOOL_A_EEE_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_TIMER,
|
|
+
|
|
+ __ETHTOOL_A_EEE_CNT,
|
|
+ ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_STAT_UNSPEC,
|
|
+ ETHTOOL_A_TS_STAT_TX_PKTS,
|
|
+ ETHTOOL_A_TS_STAT_TX_LOST,
|
|
+ ETHTOOL_A_TS_STAT_TX_ERR,
|
|
+ ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED,
|
|
+
|
|
+ __ETHTOOL_A_TS_STAT_CNT,
|
|
+ ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER,
|
|
+
|
|
+ __ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = (__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSINFO_UNSPEC,
|
|
+ ETHTOOL_A_TSINFO_HEADER,
|
|
+ ETHTOOL_A_TSINFO_TIMESTAMPING,
|
|
+ ETHTOOL_A_TSINFO_TX_TYPES,
|
|
+ ETHTOOL_A_TSINFO_RX_FILTERS,
|
|
+ ETHTOOL_A_TSINFO_PHC_INDEX,
|
|
+ ETHTOOL_A_TSINFO_STATS,
|
|
+ ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER,
|
|
+
|
|
+ __ETHTOOL_A_TSINFO_CNT,
|
|
+ ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_RESULT_PAIR,
|
|
+ ETHTOOL_A_CABLE_RESULT_CODE,
|
|
+ ETHTOOL_A_CABLE_RESULT_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
+ ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_CM,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_NEST_RESULT,
|
|
+ ETHTOOL_A_CABLE_NEST_FAULT_LENGTH,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_NEST_CNT,
|
|
+ ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_HEADER,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_MAX = (__ETHTOOL_A_CABLE_TEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY,
|
|
+
|
|
+ __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,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_INFO_UDP_PORTS,
|
|
+
|
|
+ __ETHTOOL_A_TUNNEL_INFO_CNT,
|
|
+ ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
+ ETHTOOL_A_FEC_STAT_PAD,
|
|
+ ETHTOOL_A_FEC_STAT_CORRECTED,
|
|
+ ETHTOOL_A_FEC_STAT_UNCORR,
|
|
+ ETHTOOL_A_FEC_STAT_CORR_BITS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_STAT_CNT,
|
|
+ ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_UNSPEC,
|
|
+ ETHTOOL_A_FEC_HEADER,
|
|
+ ETHTOOL_A_FEC_MODES,
|
|
+ ETHTOOL_A_FEC_AUTO,
|
|
+ ETHTOOL_A_FEC_ACTIVE,
|
|
+ ETHTOOL_A_FEC_STATS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_CNT,
|
|
+ ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_EEPROM_HEADER,
|
|
+ ETHTOOL_A_MODULE_EEPROM_OFFSET,
|
|
+ ETHTOOL_A_MODULE_EEPROM_LENGTH,
|
|
+ ETHTOOL_A_MODULE_EEPROM_PAGE,
|
|
+ ETHTOOL_A_MODULE_EEPROM_BANK,
|
|
+ ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS,
|
|
+ ETHTOOL_A_MODULE_EEPROM_DATA,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
+ ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
+ ETHTOOL_A_STATS_GRP_PAD,
|
|
+ ETHTOOL_A_STATS_GRP_ID,
|
|
+ ETHTOOL_A_STATS_GRP_SS_ID,
|
|
+ ETHTOOL_A_STATS_GRP_STAT,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_RX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_TX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_LOW,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_HI,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_VAL,
|
|
+
|
|
+ __ETHTOOL_A_STATS_GRP_CNT,
|
|
+ ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_UNSPEC,
|
|
+ ETHTOOL_A_STATS_PAD,
|
|
+ ETHTOOL_A_STATS_HEADER,
|
|
+ ETHTOOL_A_STATS_GROUPS,
|
|
+ ETHTOOL_A_STATS_GRP,
|
|
+ ETHTOOL_A_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_STATS_CNT,
|
|
+ ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_HEADER,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_NUM,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_HEADER,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE_POLICY,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_CNT,
|
|
+ ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MIN,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MAX,
|
|
+
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_CNT,
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = (__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PSE_UNSPEC,
|
|
+ ETHTOOL_A_PSE_HEADER,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_PODL_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_C33_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_PW_CLASS,
|
|
+ ETHTOOL_A_C33_PSE_ACTUAL_PW,
|
|
+ ETHTOOL_A_C33_PSE_EXT_STATE,
|
|
+ ETHTOOL_A_C33_PSE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES,
|
|
+
|
|
+ __ETHTOOL_A_PSE_CNT,
|
|
+ ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RSS_UNSPEC,
|
|
+ ETHTOOL_A_RSS_HEADER,
|
|
+ ETHTOOL_A_RSS_CONTEXT,
|
|
+ ETHTOOL_A_RSS_HFUNC,
|
|
+ ETHTOOL_A_RSS_INDIR,
|
|
+ ETHTOOL_A_RSS_HKEY,
|
|
+ ETHTOOL_A_RSS_INPUT_XFRM,
|
|
+ ETHTOOL_A_RSS_START_CONTEXT,
|
|
+
|
|
+ __ETHTOOL_A_RSS_CNT,
|
|
+ ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PLCA_UNSPEC,
|
|
+ ETHTOOL_A_PLCA_HEADER,
|
|
+ ETHTOOL_A_PLCA_VERSION,
|
|
+ ETHTOOL_A_PLCA_ENABLED,
|
|
+ ETHTOOL_A_PLCA_STATUS,
|
|
+ ETHTOOL_A_PLCA_NODE_CNT,
|
|
+ ETHTOOL_A_PLCA_NODE_ID,
|
|
+ ETHTOOL_A_PLCA_TO_TMR,
|
|
+ ETHTOOL_A_PLCA_BURST_CNT,
|
|
+ ETHTOOL_A_PLCA_BURST_TMR,
|
|
+
|
|
+ __ETHTOOL_A_PLCA_CNT,
|
|
+ ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_HEADER,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_PASSWORD,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_DONE,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_TOTAL,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHY_UNSPEC,
|
|
+ ETHTOOL_A_PHY_HEADER,
|
|
+ ETHTOOL_A_PHY_INDEX,
|
|
+ ETHTOOL_A_PHY_DRVNAME,
|
|
+ ETHTOOL_A_PHY_NAME,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_TYPE,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_INDEX,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_SFP_NAME,
|
|
+ ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME,
|
|
+
|
|
+ __ETHTOOL_A_PHY_CNT,
|
|
+ ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSCONFIG_UNSPEC,
|
|
+ ETHTOOL_A_TSCONFIG_HEADER,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER,
|
|
+ ETHTOOL_A_TSCONFIG_TX_TYPES,
|
|
+ ETHTOOL_A_TSCONFIG_RX_FILTERS,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_TSCONFIG_CNT,
|
|
+ ETHTOOL_A_TSCONFIG_MAX = (__ETHTOOL_A_TSCONFIG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_USER_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET,
|
|
+ ETHTOOL_MSG_LINKINFO_SET,
|
|
+ ETHTOOL_MSG_LINKMODES_GET,
|
|
+ ETHTOOL_MSG_LINKMODES_SET,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET,
|
|
+ ETHTOOL_MSG_DEBUG_GET,
|
|
+ ETHTOOL_MSG_DEBUG_SET,
|
|
+ ETHTOOL_MSG_WOL_GET,
|
|
+ ETHTOOL_MSG_WOL_SET,
|
|
+ ETHTOOL_MSG_FEATURES_GET,
|
|
+ ETHTOOL_MSG_FEATURES_SET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
+ ETHTOOL_MSG_RINGS_GET,
|
|
+ ETHTOOL_MSG_RINGS_SET,
|
|
+ ETHTOOL_MSG_CHANNELS_GET,
|
|
+ ETHTOOL_MSG_CHANNELS_SET,
|
|
+ ETHTOOL_MSG_COALESCE_GET,
|
|
+ ETHTOOL_MSG_COALESCE_SET,
|
|
+ ETHTOOL_MSG_PAUSE_GET,
|
|
+ ETHTOOL_MSG_PAUSE_SET,
|
|
+ ETHTOOL_MSG_EEE_GET,
|
|
+ ETHTOOL_MSG_EEE_SET,
|
|
+ ETHTOOL_MSG_TSINFO_GET,
|
|
+ ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
+ ETHTOOL_MSG_FEC_GET,
|
|
+ ETHTOOL_MSG_FEC_SET,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
+ ETHTOOL_MSG_STATS_GET,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
+ ETHTOOL_MSG_MODULE_GET,
|
|
+ ETHTOOL_MSG_MODULE_SET,
|
|
+ ETHTOOL_MSG_PSE_GET,
|
|
+ ETHTOOL_MSG_PSE_SET,
|
|
+ ETHTOOL_MSG_RSS_GET,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_SET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
+ ETHTOOL_MSG_MM_GET,
|
|
+ ETHTOOL_MSG_MM_SET,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
+ ETHTOOL_MSG_PHY_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET,
|
|
+
|
|
+ __ETHTOOL_MSG_USER_CNT,
|
|
+ ETHTOOL_MSG_USER_MAX = (__ETHTOOL_MSG_USER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_KERNEL_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET_REPLY = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKINFO_NTF,
|
|
+ ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKMODES_NTF,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_NTF,
|
|
+ ETHTOOL_MSG_WOL_GET_REPLY,
|
|
+ ETHTOOL_MSG_WOL_NTF,
|
|
+ ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_NTF,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
+ ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_RINGS_NTF,
|
|
+ ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
+ ETHTOOL_MSG_CHANNELS_NTF,
|
|
+ ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
+ ETHTOOL_MSG_COALESCE_NTF,
|
|
+ ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_PAUSE_NTF,
|
|
+ ETHTOOL_MSG_EEE_GET_REPLY,
|
|
+ ETHTOOL_MSG_EEE_NTF,
|
|
+ ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_NTF,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
+ ETHTOOL_MSG_STATS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_NTF,
|
|
+ ETHTOOL_MSG_PSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_RSS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_NTF,
|
|
+ ETHTOOL_MSG_MM_GET_REPLY,
|
|
+ ETHTOOL_MSG_MM_NTF,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
+ ETHTOOL_MSG_PHY_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHY_NTF,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET_REPLY,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET_REPLY,
|
|
+
|
|
+ __ETHTOOL_MSG_KERNEL_CNT,
|
|
+ ETHTOOL_MSG_KERNEL_MAX = (__ETHTOOL_MSG_KERNEL_CNT - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_ETHTOOL_NETLINK_GENERATED_H */
|
|
--- a/loongarch/usr/include/linux/fs.h
|
|
+++ b/loongarch/usr/include/linux/fs.h
|
|
@@ -36,6 +36,15 @@
|
|
#define BLOCK_SIZE_BITS 10
|
|
#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
|
|
|
|
+/* flags for integrity meta */
|
|
+#define IO_INTEGRITY_CHK_GUARD (1U << 0) /* enforce guard check */
|
|
+#define IO_INTEGRITY_CHK_REFTAG (1U << 1) /* enforce ref check */
|
|
+#define IO_INTEGRITY_CHK_APPTAG (1U << 2) /* enforce app check */
|
|
+
|
|
+#define IO_INTEGRITY_VALID_FLAGS (IO_INTEGRITY_CHK_GUARD | \
|
|
+ IO_INTEGRITY_CHK_REFTAG | \
|
|
+ IO_INTEGRITY_CHK_APPTAG)
|
|
+
|
|
#define SEEK_SET 0 /* seek relative to beginning of file */
|
|
#define SEEK_CUR 1 /* seek relative to current file position */
|
|
#define SEEK_END 2 /* seek relative to end of file */
|
|
--- a/loongarch/usr/include/linux/hidraw.h
|
|
+++ b/loongarch/usr/include/linux/hidraw.h
|
|
@@ -48,6 +48,8 @@ struct hidraw_devinfo {
|
|
#define HIDIOCGOUTPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0C, len)
|
|
#define HIDIOCREVOKE _IOW('H', 0x0D, int) /* Revoke device access */
|
|
|
|
+#define HIDIOCTL_LAST _IOC_NR(HIDIOCREVOKE)
|
|
+
|
|
#define HIDRAW_FIRST_MINOR 0
|
|
#define HIDRAW_MAX_DEVICES 64
|
|
/* number of reports to buffer */
|
|
--- a/loongarch/usr/include/linux/if_link.h
|
|
+++ b/loongarch/usr/include/linux/if_link.h
|
|
@@ -377,6 +377,7 @@ enum {
|
|
IFLA_GSO_IPV4_MAX_SIZE,
|
|
IFLA_GRO_IPV4_MAX_SIZE,
|
|
IFLA_DPLL_PIN,
|
|
+ IFLA_MAX_PACING_OFFLOAD_HORIZON,
|
|
__IFLA_MAX
|
|
};
|
|
|
|
--- a/loongarch/usr/include/linux/input-event-codes.h
|
|
+++ b/loongarch/usr/include/linux/input-event-codes.h
|
|
@@ -519,6 +519,7 @@
|
|
#define KEY_NOTIFICATION_CENTER 0x1bc /* Show/hide the notification center */
|
|
#define KEY_PICKUP_PHONE 0x1bd /* Answer incoming call */
|
|
#define KEY_HANGUP_PHONE 0x1be /* Decline incoming call */
|
|
+#define KEY_LINK_PHONE 0x1bf /* AL Phone Syncing */
|
|
|
|
#define KEY_DEL_EOL 0x1c0
|
|
#define KEY_DEL_EOS 0x1c1
|
|
--- a/loongarch/usr/include/linux/io_uring.h
|
|
+++ b/loongarch/usr/include/linux/io_uring.h
|
|
@@ -98,6 +98,10 @@ struct io_uring_sqe {
|
|
__u64 addr3;
|
|
__u64 __pad2[1];
|
|
};
|
|
+ struct {
|
|
+ __u64 attr_ptr; /* pointer to attribute information */
|
|
+ __u64 attr_type_mask; /* bit mask of attributes */
|
|
+ };
|
|
__u64 optval;
|
|
/*
|
|
* If the ring is initialized with IORING_SETUP_SQE128, then
|
|
@@ -107,6 +111,18 @@ struct io_uring_sqe {
|
|
};
|
|
};
|
|
|
|
+/* sqe->attr_type_mask flags */
|
|
+#define IORING_RW_ATTR_FLAG_PI (1U << 0)
|
|
+/* PI attribute information */
|
|
+struct io_uring_attr_pi {
|
|
+ __u16 flags;
|
|
+ __u16 app_tag;
|
|
+ __u32 len;
|
|
+ __u64 addr;
|
|
+ __u64 seed;
|
|
+ __u64 rsvd;
|
|
+};
|
|
+
|
|
/*
|
|
* If sqe->file_index is set to this for opcodes that instantiate a new
|
|
* direct descriptor (like openat/openat2/accept), then io_uring will allocate
|
|
@@ -554,6 +570,7 @@ struct io_uring_params {
|
|
#define IORING_FEAT_REG_REG_RING (1U << 13)
|
|
#define IORING_FEAT_RECVSEND_BUNDLE (1U << 14)
|
|
#define IORING_FEAT_MIN_TIMEOUT (1U << 15)
|
|
+#define IORING_FEAT_RW_ATTR (1U << 16)
|
|
|
|
/*
|
|
* io_uring_register(2) opcodes and arguments
|
|
--- a/loongarch/usr/include/linux/iommufd.h
|
|
+++ b/loongarch/usr/include/linux/iommufd.h
|
|
@@ -737,6 +737,7 @@ enum iommu_hwpt_pgfault_perm {
|
|
* @pasid: Process Address Space ID
|
|
* @grpid: Page Request Group Index
|
|
* @perm: Combination of enum iommu_hwpt_pgfault_perm
|
|
+ * @__reserved: Must be 0.
|
|
* @addr: Fault address
|
|
* @length: a hint of how much data the requestor is expecting to fetch. For
|
|
* example, if the PRI initiator knows it is going to do a 10MB
|
|
@@ -752,7 +753,8 @@ struct iommu_hwpt_pgfault {
|
|
__u32 pasid;
|
|
__u32 grpid;
|
|
__u32 perm;
|
|
- __u64 addr;
|
|
+ __u32 __reserved;
|
|
+ __aligned_u64 addr;
|
|
__u32 length;
|
|
__u32 cookie;
|
|
};
|
|
--- a/loongarch/usr/include/linux/kfd_ioctl.h
|
|
+++ b/loongarch/usr/include/linux/kfd_ioctl.h
|
|
@@ -62,6 +62,8 @@ struct kfd_ioctl_get_version_args {
|
|
#define KFD_MAX_QUEUE_PERCENTAGE 100
|
|
#define KFD_MAX_QUEUE_PRIORITY 15
|
|
|
|
+#define KFD_MIN_QUEUE_RING_SIZE 1024
|
|
+
|
|
struct kfd_ioctl_create_queue_args {
|
|
__u64 ring_base_address; /* to KFD */
|
|
__u64 write_pointer_address; /* from KFD */
|
|
--- a/loongarch/usr/include/linux/kvm.h
|
|
+++ b/loongarch/usr/include/linux/kvm.h
|
|
@@ -178,6 +178,7 @@ struct kvm_xen_exit {
|
|
#define KVM_EXIT_NOTIFY 37
|
|
#define KVM_EXIT_LOONGARCH_IOCSR 38
|
|
#define KVM_EXIT_MEMORY_FAULT 39
|
|
+#define KVM_EXIT_TDX 40
|
|
|
|
/* For KVM_EXIT_INTERNAL_ERROR */
|
|
/* Emulate instruction failed. */
|
|
@@ -369,6 +370,7 @@ struct kvm_run {
|
|
#define KVM_SYSTEM_EVENT_WAKEUP 4
|
|
#define KVM_SYSTEM_EVENT_SUSPEND 5
|
|
#define KVM_SYSTEM_EVENT_SEV_TERM 6
|
|
+#define KVM_SYSTEM_EVENT_TDX_FATAL 7
|
|
__u32 type;
|
|
__u32 ndata;
|
|
union {
|
|
@@ -438,6 +440,33 @@ struct kvm_run {
|
|
__u64 gpa;
|
|
__u64 size;
|
|
} memory_fault;
|
|
+#ifndef __GENKSYMS__
|
|
+ /* KVM_EXIT_TDX */
|
|
+ struct {
|
|
+ __u64 flags;
|
|
+ __u64 nr;
|
|
+ union {
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 data[5];
|
|
+ } unknown;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 gpa;
|
|
+ __u64 size;
|
|
+ } get_quote;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 leaf;
|
|
+ __u64 r11, r12, r13, r14;
|
|
+ } get_tdvmcall_info;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 vector;
|
|
+ } setup_event_notify;
|
|
+ };
|
|
+ } tdx;
|
|
+#endif
|
|
/* Fix the size of the union. */
|
|
char padding[256];
|
|
};
|
|
@@ -1150,7 +1179,15 @@ enum kvm_device_type {
|
|
#define KVM_DEV_TYPE_ARM_PV_TIME KVM_DEV_TYPE_ARM_PV_TIME
|
|
KVM_DEV_TYPE_RISCV_AIA,
|
|
#define KVM_DEV_TYPE_RISCV_AIA KVM_DEV_TYPE_RISCV_AIA
|
|
+ KVM_DEV_TYPE_LOONGARCH_IPI,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_IPI KVM_DEV_TYPE_LOONGARCH_IPI
|
|
+ KVM_DEV_TYPE_LOONGARCH_EIOINTC,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_EIOINTC KVM_DEV_TYPE_LOONGARCH_EIOINTC
|
|
+ KVM_DEV_TYPE_LOONGARCH_PCHPIC,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_PCHPIC KVM_DEV_TYPE_LOONGARCH_PCHPIC
|
|
+
|
|
KVM_DEV_TYPE_MAX,
|
|
+
|
|
};
|
|
|
|
struct kvm_vfio_spapr_tce {
|
|
--- a/loongarch/usr/include/linux/landlock.h
|
|
+++ b/loongarch/usr/include/linux/landlock.h
|
|
@@ -57,9 +57,11 @@ struct landlock_ruleset_attr {
|
|
*
|
|
* - %LANDLOCK_CREATE_RULESET_VERSION: Get the highest supported Landlock ABI
|
|
* version.
|
|
+ * - %LANDLOCK_CREATE_RULESET_ERRATA: Get a bitmask of fixed issues.
|
|
*/
|
|
/* clang-format off */
|
|
#define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
|
|
+#define LANDLOCK_CREATE_RULESET_ERRATA (1U << 1)
|
|
/* clang-format on */
|
|
|
|
/**
|
|
--- /dev/null
|
|
+++ b/loongarch/usr/include/linux/livepatch.h
|
|
@@ -0,0 +1,15 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+
|
|
+/*
|
|
+ * livepatch.h - Kernel Live Patching Core
|
|
+ *
|
|
+ * Copyright (C) 2016 Josh Poimboeuf <jpoimboe@redhat.com>
|
|
+ */
|
|
+
|
|
+#ifndef _LIVEPATCH_H
|
|
+#define _LIVEPATCH_H
|
|
+
|
|
+#define KLP_RELA_PREFIX ".klp.rela."
|
|
+#define KLP_SYM_PREFIX ".klp.sym."
|
|
+
|
|
+#endif /* _LIVEPATCH_H */
|
|
--- /dev/null
|
|
+++ b/loongarch/usr/include/linux/mshv.h
|
|
@@ -0,0 +1,291 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+/*
|
|
+ * Userspace interfaces for /dev/mshv* devices and derived fds
|
|
+ *
|
|
+ * This file is divided into sections containing data structures and IOCTLs for
|
|
+ * a particular set of related devices or derived file descriptors.
|
|
+ *
|
|
+ * The IOCTL definitions are at the end of each section. They are grouped by
|
|
+ * device/fd, so that new IOCTLs can easily be added with a monotonically
|
|
+ * increasing number.
|
|
+ */
|
|
+#ifndef _LINUX_MSHV_H
|
|
+#define _LINUX_MSHV_H
|
|
+
|
|
+#include <linux/types.h>
|
|
+
|
|
+#define MSHV_IOCTL 0xB8
|
|
+
|
|
+/*
|
|
+ *******************************************
|
|
+ * Entry point to main VMM APIs: /dev/mshv *
|
|
+ *******************************************
|
|
+ */
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_BIT_LAPIC,
|
|
+ MSHV_PT_BIT_X2APIC,
|
|
+ MSHV_PT_BIT_GPA_SUPER_PAGES,
|
|
+ MSHV_PT_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_PT_FLAGS_MASK ((1 << MSHV_PT_BIT_COUNT) - 1)
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_ISOLATION_NONE,
|
|
+ MSHV_PT_ISOLATION_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_create_partition - arguments for MSHV_CREATE_PARTITION
|
|
+ * @pt_flags: Bitmask of 1 << MSHV_PT_BIT_*
|
|
+ * @pt_isolation: MSHV_PT_ISOLATION_*
|
|
+ *
|
|
+ * Returns a file descriptor to act as a handle to a guest partition.
|
|
+ * At this point the partition is not yet initialized in the hypervisor.
|
|
+ * Some operations must be done with the partition in this state, e.g. setting
|
|
+ * so-called "early" partition properties. The partition can then be
|
|
+ * initialized with MSHV_INITIALIZE_PARTITION.
|
|
+ */
|
|
+struct mshv_create_partition {
|
|
+ __u64 pt_flags;
|
|
+ __u64 pt_isolation;
|
|
+};
|
|
+
|
|
+/* /dev/mshv */
|
|
+#define MSHV_CREATE_PARTITION _IOW(MSHV_IOCTL, 0x00, struct mshv_create_partition)
|
|
+
|
|
+/*
|
|
+ ************************
|
|
+ * Child partition APIs *
|
|
+ ************************
|
|
+ */
|
|
+
|
|
+struct mshv_create_vp {
|
|
+ __u32 vp_index;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_SET_MEM_BIT_WRITABLE,
|
|
+ MSHV_SET_MEM_BIT_EXECUTABLE,
|
|
+ MSHV_SET_MEM_BIT_UNMAP,
|
|
+ MSHV_SET_MEM_BIT_COUNT
|
|
+};
|
|
+
|
|
+#define MSHV_SET_MEM_FLAGS_MASK ((1 << MSHV_SET_MEM_BIT_COUNT) - 1)
|
|
+
|
|
+/* The hypervisor's "native" page size */
|
|
+#define MSHV_HV_PAGE_SIZE 0x1000
|
|
+
|
|
+/**
|
|
+ * struct mshv_user_mem_region - arguments for MSHV_SET_GUEST_MEMORY
|
|
+ * @size: Size of the memory region (bytes). Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @guest_pfn: Base guest page number to map
|
|
+ * @userspace_addr: Base address of userspace memory. Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @flags: Bitmask of 1 << MSHV_SET_MEM_BIT_*. If (1 << MSHV_SET_MEM_BIT_UNMAP)
|
|
+ * is set, ignore other bits.
|
|
+ * @rsvd: MBZ
|
|
+ *
|
|
+ * Map or unmap a region of userspace memory to Guest Physical Addresses (GPA).
|
|
+ * Mappings can't overlap in GPA space or userspace.
|
|
+ * To unmap, these fields must match an existing mapping.
|
|
+ */
|
|
+struct mshv_user_mem_region {
|
|
+ __u64 size;
|
|
+ __u64 guest_pfn;
|
|
+ __u64 userspace_addr;
|
|
+ __u8 flags;
|
|
+ __u8 rsvd[7];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IRQFD_BIT_DEASSIGN,
|
|
+ MSHV_IRQFD_BIT_RESAMPLE,
|
|
+ MSHV_IRQFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IRQFD_FLAGS_MASK ((1 << MSHV_IRQFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_irqfd {
|
|
+ __s32 fd;
|
|
+ __s32 resamplefd;
|
|
+ __u32 gsi;
|
|
+ __u32 flags;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IOEVENTFD_BIT_DATAMATCH,
|
|
+ MSHV_IOEVENTFD_BIT_PIO,
|
|
+ MSHV_IOEVENTFD_BIT_DEASSIGN,
|
|
+ MSHV_IOEVENTFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IOEVENTFD_FLAGS_MASK ((1 << MSHV_IOEVENTFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_ioeventfd {
|
|
+ __u64 datamatch;
|
|
+ __u64 addr; /* legal pio/mmio address */
|
|
+ __u32 len; /* 1, 2, 4, or 8 bytes */
|
|
+ __s32 fd;
|
|
+ __u32 flags;
|
|
+ __u8 rsvd[4];
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_entry {
|
|
+ __u32 gsi;
|
|
+ __u32 address_lo;
|
|
+ __u32 address_hi;
|
|
+ __u32 data;
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_table {
|
|
+ __u32 nr;
|
|
+ __u32 rsvd; /* MBZ */
|
|
+ struct mshv_user_irq_entry entries[];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_TYPE_ACCESSED,
|
|
+ MSHV_GPAP_ACCESS_TYPE_DIRTY,
|
|
+ MSHV_GPAP_ACCESS_TYPE_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_OP_NOOP,
|
|
+ MSHV_GPAP_ACCESS_OP_CLEAR,
|
|
+ MSHV_GPAP_ACCESS_OP_SET,
|
|
+ MSHV_GPAP_ACCESS_OP_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_gpap_access_bitmap - arguments for MSHV_GET_GPAP_ACCESS_BITMAP
|
|
+ * @access_type: MSHV_GPAP_ACCESS_TYPE_* - The type of access to record in the
|
|
+ * bitmap
|
|
+ * @access_op: MSHV_GPAP_ACCESS_OP_* - Allows an optional clear or set of all
|
|
+ * the access states in the range, after retrieving the current
|
|
+ * states.
|
|
+ * @rsvd: MBZ
|
|
+ * @page_count: Number of pages
|
|
+ * @gpap_base: Base gpa page number
|
|
+ * @bitmap_ptr: Output buffer for bitmap, at least (page_count + 7) / 8 bytes
|
|
+ *
|
|
+ * Retrieve a bitmap of either ACCESSED or DIRTY bits for a given range of guest
|
|
+ * memory, and optionally clear or set the bits.
|
|
+ */
|
|
+struct mshv_gpap_access_bitmap {
|
|
+ __u8 access_type;
|
|
+ __u8 access_op;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 page_count;
|
|
+ __u64 gpap_base;
|
|
+ __u64 bitmap_ptr;
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_root_hvcall - arguments for MSHV_ROOT_HVCALL
|
|
+ * @code: Hypercall code (HVCALL_*)
|
|
+ * @reps: in: Rep count ('repcount')
|
|
+ * out: Reps completed ('repcomp'). MBZ unless rep hvcall
|
|
+ * @in_sz: Size of input incl rep data. <= MSHV_HV_PAGE_SIZE
|
|
+ * @out_sz: Size of output buffer. <= MSHV_HV_PAGE_SIZE. MBZ if out_ptr is 0
|
|
+ * @status: in: MBZ
|
|
+ * out: HV_STATUS_* from hypercall
|
|
+ * @rsvd: MBZ
|
|
+ * @in_ptr: Input data buffer (struct hv_input_*). If used with partition or
|
|
+ * vp fd, partition id field is populated by kernel.
|
|
+ * @out_ptr: Output data buffer (optional)
|
|
+ */
|
|
+struct mshv_root_hvcall {
|
|
+ __u16 code;
|
|
+ __u16 reps;
|
|
+ __u16 in_sz;
|
|
+ __u16 out_sz;
|
|
+ __u16 status;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 in_ptr;
|
|
+ __u64 out_ptr;
|
|
+};
|
|
+
|
|
+/* Partition fds created with MSHV_CREATE_PARTITION */
|
|
+#define MSHV_INITIALIZE_PARTITION _IO(MSHV_IOCTL, 0x00)
|
|
+#define MSHV_CREATE_VP _IOW(MSHV_IOCTL, 0x01, struct mshv_create_vp)
|
|
+#define MSHV_SET_GUEST_MEMORY _IOW(MSHV_IOCTL, 0x02, struct mshv_user_mem_region)
|
|
+#define MSHV_IRQFD _IOW(MSHV_IOCTL, 0x03, struct mshv_user_irqfd)
|
|
+#define MSHV_IOEVENTFD _IOW(MSHV_IOCTL, 0x04, struct mshv_user_ioeventfd)
|
|
+#define MSHV_SET_MSI_ROUTING _IOW(MSHV_IOCTL, 0x05, struct mshv_user_irq_table)
|
|
+#define MSHV_GET_GPAP_ACCESS_BITMAP _IOWR(MSHV_IOCTL, 0x06, struct mshv_gpap_access_bitmap)
|
|
+/* Generic hypercall */
|
|
+#define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+
|
|
+/*
|
|
+ ********************************
|
|
+ * VP APIs for child partitions *
|
|
+ ********************************
|
|
+ */
|
|
+
|
|
+#define MSHV_RUN_VP_BUF_SZ 256
|
|
+
|
|
+/*
|
|
+ * VP state pages may be mapped to userspace via mmap().
|
|
+ * To specify which state page, use MSHV_VP_MMAP_OFFSET_ values multiplied by
|
|
+ * the system page size.
|
|
+ * e.g.
|
|
+ * long page_size = sysconf(_SC_PAGE_SIZE);
|
|
+ * void *reg_page = mmap(NULL, MSHV_HV_PAGE_SIZE, PROT_READ|PROT_WRITE,
|
|
+ * MAP_SHARED, vp_fd,
|
|
+ * MSHV_VP_MMAP_OFFSET_REGISTERS * page_size);
|
|
+ */
|
|
+enum {
|
|
+ MSHV_VP_MMAP_OFFSET_REGISTERS,
|
|
+ MSHV_VP_MMAP_OFFSET_INTERCEPT_MESSAGE,
|
|
+ MSHV_VP_MMAP_OFFSET_GHCB,
|
|
+ MSHV_VP_MMAP_OFFSET_COUNT
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_run_vp - argument for MSHV_RUN_VP
|
|
+ * @msg_buf: On success, the intercept message is copied here. It can be
|
|
+ * interpreted using the relevant hypervisor definitions.
|
|
+ */
|
|
+struct mshv_run_vp {
|
|
+ __u8 msg_buf[MSHV_RUN_VP_BUF_SZ];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_VP_STATE_LAPIC, /* Local interrupt controller state (either arch) */
|
|
+ MSHV_VP_STATE_XSAVE, /* XSAVE data in compacted form (x86_64) */
|
|
+ MSHV_VP_STATE_SIMP,
|
|
+ MSHV_VP_STATE_SIEFP,
|
|
+ MSHV_VP_STATE_SYNTHETIC_TIMERS,
|
|
+ MSHV_VP_STATE_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_get_set_vp_state - arguments for MSHV_[GET,SET]_VP_STATE
|
|
+ * @type: MSHV_VP_STATE_*
|
|
+ * @rsvd: MBZ
|
|
+ * @buf_sz: in: 4k page-aligned size of buffer
|
|
+ * out: Actual size of data (on EINVAL, check this to see if buffer
|
|
+ * was too small)
|
|
+ * @buf_ptr: 4k page-aligned data buffer
|
|
+ */
|
|
+struct mshv_get_set_vp_state {
|
|
+ __u8 type;
|
|
+ __u8 rsvd[3];
|
|
+ __u32 buf_sz;
|
|
+ __u64 buf_ptr;
|
|
+};
|
|
+
|
|
+/* VP fds created with MSHV_CREATE_VP */
|
|
+#define MSHV_RUN_VP _IOR(MSHV_IOCTL, 0x00, struct mshv_run_vp)
|
|
+#define MSHV_GET_VP_STATE _IOWR(MSHV_IOCTL, 0x01, struct mshv_get_set_vp_state)
|
|
+#define MSHV_SET_VP_STATE _IOWR(MSHV_IOCTL, 0x02, struct mshv_get_set_vp_state)
|
|
+/*
|
|
+ * Generic hypercall
|
|
+ * Defined above in partition IOCTLs, avoid redefining it here
|
|
+ * #define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+ */
|
|
+
|
|
+#endif
|
|
--- /dev/null
|
|
+++ b/loongarch/usr/include/linux/net_shaper.h
|
|
@@ -0,0 +1,95 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/net_shaper.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_NET_SHAPER_H
|
|
+#define _LINUX_NET_SHAPER_H
|
|
+
|
|
+#define NET_SHAPER_FAMILY_NAME "net-shaper"
|
|
+#define NET_SHAPER_FAMILY_VERSION 1
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_scope - Defines the shaper @id interpretation.
|
|
+ * @NET_SHAPER_SCOPE_UNSPEC: The scope is not specified.
|
|
+ * @NET_SHAPER_SCOPE_NETDEV: The main shaper for the given network device.
|
|
+ * @NET_SHAPER_SCOPE_QUEUE: The shaper is attached to the given device queue,
|
|
+ * the @id represents the queue number.
|
|
+ * @NET_SHAPER_SCOPE_NODE: The shaper allows grouping of queues or other node
|
|
+ * shapers; can be nested in either @netdev shapers or other @node shapers,
|
|
+ * allowing placement in any location of the scheduling tree, except leaves
|
|
+ * and root.
|
|
+ */
|
|
+enum net_shaper_scope {
|
|
+ NET_SHAPER_SCOPE_UNSPEC,
|
|
+ NET_SHAPER_SCOPE_NETDEV,
|
|
+ NET_SHAPER_SCOPE_QUEUE,
|
|
+ NET_SHAPER_SCOPE_NODE,
|
|
+
|
|
+ /* private: */
|
|
+ __NET_SHAPER_SCOPE_MAX,
|
|
+ NET_SHAPER_SCOPE_MAX = (__NET_SHAPER_SCOPE_MAX - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_metric - Different metric supported by the shaper.
|
|
+ * @NET_SHAPER_METRIC_BPS: Shaper operates on a bits per second basis.
|
|
+ * @NET_SHAPER_METRIC_PPS: Shaper operates on a packets per second basis.
|
|
+ */
|
|
+enum net_shaper_metric {
|
|
+ NET_SHAPER_METRIC_BPS,
|
|
+ NET_SHAPER_METRIC_PPS,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE = 1,
|
|
+ NET_SHAPER_A_METRIC,
|
|
+ NET_SHAPER_A_BW_MIN,
|
|
+ NET_SHAPER_A_BW_MAX,
|
|
+ NET_SHAPER_A_BURST,
|
|
+ NET_SHAPER_A_PRIORITY,
|
|
+ NET_SHAPER_A_WEIGHT,
|
|
+ NET_SHAPER_A_IFINDEX,
|
|
+ NET_SHAPER_A_PARENT,
|
|
+ NET_SHAPER_A_LEAVES,
|
|
+
|
|
+ __NET_SHAPER_A_MAX,
|
|
+ NET_SHAPER_A_MAX = (__NET_SHAPER_A_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE_SCOPE = 1,
|
|
+ NET_SHAPER_A_HANDLE_ID,
|
|
+
|
|
+ __NET_SHAPER_A_HANDLE_MAX,
|
|
+ NET_SHAPER_A_HANDLE_MAX = (__NET_SHAPER_A_HANDLE_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_CAPS_IFINDEX = 1,
|
|
+ NET_SHAPER_A_CAPS_SCOPE,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_BPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_PPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_NESTING,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MIN,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MAX,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BURST,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_PRIORITY,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_WEIGHT,
|
|
+
|
|
+ __NET_SHAPER_A_CAPS_MAX,
|
|
+ NET_SHAPER_A_CAPS_MAX = (__NET_SHAPER_A_CAPS_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_CMD_GET = 1,
|
|
+ NET_SHAPER_CMD_SET,
|
|
+ NET_SHAPER_CMD_DELETE,
|
|
+ NET_SHAPER_CMD_GROUP,
|
|
+ NET_SHAPER_CMD_CAP_GET,
|
|
+
|
|
+ __NET_SHAPER_CMD_MAX,
|
|
+ NET_SHAPER_CMD_MAX = (__NET_SHAPER_CMD_MAX - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_NET_SHAPER_H */
|
|
--- a/loongarch/usr/include/linux/net_tstamp.h
|
|
+++ b/loongarch/usr/include/linux/net_tstamp.h
|
|
@@ -13,6 +13,17 @@
|
|
#include <linux/types.h>
|
|
#include <linux/socket.h> /* for SO_TIMESTAMPING */
|
|
|
|
+/*
|
|
+ * Possible type of hwtstamp provider. Mainly "precise" the default one
|
|
+ * is for IEEE 1588 quality and "approx" is for NICs DMA point.
|
|
+ */
|
|
+enum hwtstamp_provider_qualifier {
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_PRECISE,
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_APPROX,
|
|
+
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_CNT,
|
|
+};
|
|
+
|
|
/* SO_TIMESTAMPING flags */
|
|
enum {
|
|
SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
|
|
--- a/loongarch/usr/include/linux/netdev.h
|
|
+++ b/loongarch/usr/include/linux/netdev.h
|
|
@@ -122,6 +122,9 @@ enum {
|
|
NETDEV_A_NAPI_ID,
|
|
NETDEV_A_NAPI_IRQ,
|
|
NETDEV_A_NAPI_PID,
|
|
+ NETDEV_A_NAPI_DEFER_HARD_IRQS,
|
|
+ NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT,
|
|
+ NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT,
|
|
|
|
__NETDEV_A_NAPI_MAX,
|
|
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
|
@@ -199,6 +202,7 @@ enum {
|
|
NETDEV_CMD_NAPI_GET,
|
|
NETDEV_CMD_QSTATS_GET,
|
|
NETDEV_CMD_BIND_RX,
|
|
+ NETDEV_CMD_NAPI_SET,
|
|
|
|
__NETDEV_CMD_MAX,
|
|
NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)
|
|
--- a/loongarch/usr/include/linux/nl80211.h
|
|
+++ b/loongarch/usr/include/linux/nl80211.h
|
|
@@ -4294,6 +4294,8 @@ enum nl80211_wmm_rule {
|
|
* otherwise completely disabled.
|
|
* @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a
|
|
* very low power (VLP) AP, despite being NO_IR.
|
|
+ * @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in
|
|
+ * 20 MHz bandwidth, despite being NO_IR.
|
|
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
|
* currently defined
|
|
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
|
@@ -4338,6 +4340,7 @@ enum nl80211_frequency_attr {
|
|
NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
|
|
NL80211_FREQUENCY_ATTR_CAN_MONITOR,
|
|
NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
|
|
+ NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY,
|
|
|
|
/* keep last */
|
|
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
|
@@ -4549,31 +4552,34 @@ enum nl80211_sched_scan_match_attr {
|
|
* @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed
|
|
* @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted
|
|
* despite NO_IR configuration.
|
|
+ * @NL80211_RRF_ALLOW_20MHZ_ACTIVITY: Allow activity in 20 MHz bandwidth,
|
|
+ * despite NO_IR configuration.
|
|
*/
|
|
enum nl80211_reg_rule_flags {
|
|
- NL80211_RRF_NO_OFDM = 1<<0,
|
|
- NL80211_RRF_NO_CCK = 1<<1,
|
|
- NL80211_RRF_NO_INDOOR = 1<<2,
|
|
- NL80211_RRF_NO_OUTDOOR = 1<<3,
|
|
- NL80211_RRF_DFS = 1<<4,
|
|
- NL80211_RRF_PTP_ONLY = 1<<5,
|
|
- NL80211_RRF_PTMP_ONLY = 1<<6,
|
|
- NL80211_RRF_NO_IR = 1<<7,
|
|
- __NL80211_RRF_NO_IBSS = 1<<8,
|
|
- NL80211_RRF_AUTO_BW = 1<<11,
|
|
- NL80211_RRF_IR_CONCURRENT = 1<<12,
|
|
- NL80211_RRF_NO_HT40MINUS = 1<<13,
|
|
- NL80211_RRF_NO_HT40PLUS = 1<<14,
|
|
- NL80211_RRF_NO_80MHZ = 1<<15,
|
|
- NL80211_RRF_NO_160MHZ = 1<<16,
|
|
- NL80211_RRF_NO_HE = 1<<17,
|
|
- NL80211_RRF_NO_320MHZ = 1<<18,
|
|
- NL80211_RRF_NO_EHT = 1<<19,
|
|
- NL80211_RRF_PSD = 1<<20,
|
|
- NL80211_RRF_DFS_CONCURRENT = 1<<21,
|
|
- NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22,
|
|
- NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23,
|
|
- NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24,
|
|
+ NL80211_RRF_NO_OFDM = 1 << 0,
|
|
+ NL80211_RRF_NO_CCK = 1 << 1,
|
|
+ NL80211_RRF_NO_INDOOR = 1 << 2,
|
|
+ NL80211_RRF_NO_OUTDOOR = 1 << 3,
|
|
+ NL80211_RRF_DFS = 1 << 4,
|
|
+ NL80211_RRF_PTP_ONLY = 1 << 5,
|
|
+ NL80211_RRF_PTMP_ONLY = 1 << 6,
|
|
+ NL80211_RRF_NO_IR = 1 << 7,
|
|
+ __NL80211_RRF_NO_IBSS = 1 << 8,
|
|
+ NL80211_RRF_AUTO_BW = 1 << 11,
|
|
+ NL80211_RRF_IR_CONCURRENT = 1 << 12,
|
|
+ NL80211_RRF_NO_HT40MINUS = 1 << 13,
|
|
+ NL80211_RRF_NO_HT40PLUS = 1 << 14,
|
|
+ NL80211_RRF_NO_80MHZ = 1 << 15,
|
|
+ NL80211_RRF_NO_160MHZ = 1 << 16,
|
|
+ NL80211_RRF_NO_HE = 1 << 17,
|
|
+ NL80211_RRF_NO_320MHZ = 1 << 18,
|
|
+ NL80211_RRF_NO_EHT = 1 << 19,
|
|
+ NL80211_RRF_PSD = 1 << 20,
|
|
+ NL80211_RRF_DFS_CONCURRENT = 1 << 21,
|
|
+ NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22,
|
|
+ NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23,
|
|
+ NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24,
|
|
+ NL80211_RRF_ALLOW_20MHZ_ACTIVITY = 1 << 25,
|
|
};
|
|
|
|
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
|
|
--- a/loongarch/usr/include/linux/pci_regs.h
|
|
+++ b/loongarch/usr/include/linux/pci_regs.h
|
|
@@ -340,7 +340,8 @@
|
|
#define PCI_MSIX_ENTRY_UPPER_ADDR 0x4 /* Message Upper Address */
|
|
#define PCI_MSIX_ENTRY_DATA 0x8 /* Message Data */
|
|
#define PCI_MSIX_ENTRY_VECTOR_CTRL 0xc /* Vector Control */
|
|
-#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001
|
|
+#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001 /* Mask Bit */
|
|
+#define PCI_MSIX_ENTRY_CTRL_ST 0xffff0000 /* Steering Tag */
|
|
|
|
/* CompactPCI Hotswap Register */
|
|
|
|
@@ -659,6 +660,7 @@
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP64 0x00000100 /* 64b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP128 0x00000200 /* 128b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_LTR 0x00000800 /* Latency tolerance reporting */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_MASK 0x00003000 /* TPH completer support */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000 /* OBFF support mechanism */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000 /* New message signaling */
|
|
#define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
|
|
@@ -1023,15 +1025,34 @@
|
|
#define PCI_DPA_CAP_SUBSTATE_MASK 0x1F /* # substates - 1 */
|
|
#define PCI_DPA_BASE_SIZEOF 16 /* size with 0 substates */
|
|
|
|
+/* TPH Completer Support */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_NONE 0x0 /* None */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_TPH_ONLY 0x1 /* TPH only */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_EXT_TPH 0x3 /* TPH and Extended TPH */
|
|
+
|
|
/* TPH Requester */
|
|
#define PCI_TPH_CAP 4 /* capability register */
|
|
-#define PCI_TPH_CAP_LOC_MASK 0x600 /* location mask */
|
|
-#define PCI_TPH_LOC_NONE 0x000 /* no location */
|
|
-#define PCI_TPH_LOC_CAP 0x200 /* in capability */
|
|
-#define PCI_TPH_LOC_MSIX 0x400 /* in MSI-X */
|
|
-#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST table mask */
|
|
-#define PCI_TPH_CAP_ST_SHIFT 16 /* ST table shift */
|
|
-#define PCI_TPH_BASE_SIZEOF 0xc /* size with no ST table */
|
|
+#define PCI_TPH_CAP_ST_NS 0x00000001 /* No ST Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_IV 0x00000002 /* Interrupt Vector Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_DS 0x00000004 /* Device Specific Mode Supported */
|
|
+#define PCI_TPH_CAP_EXT_TPH 0x00000100 /* Ext TPH Requester Supported */
|
|
+#define PCI_TPH_CAP_LOC_MASK 0x00000600 /* ST Table Location */
|
|
+#define PCI_TPH_LOC_NONE 0x00000000 /* Not present */
|
|
+#define PCI_TPH_LOC_CAP 0x00000200 /* In capability */
|
|
+#define PCI_TPH_LOC_MSIX 0x00000400 /* In MSI-X */
|
|
+#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST Table Size */
|
|
+#define PCI_TPH_CAP_ST_SHIFT 16 /* ST Table Size shift */
|
|
+#define PCI_TPH_BASE_SIZEOF 0xc /* Size with no ST table */
|
|
+
|
|
+#define PCI_TPH_CTRL 8 /* control register */
|
|
+#define PCI_TPH_CTRL_MODE_SEL_MASK 0x00000007 /* ST Mode Select */
|
|
+#define PCI_TPH_ST_NS_MODE 0x0 /* No ST Mode */
|
|
+#define PCI_TPH_ST_IV_MODE 0x1 /* Interrupt Vector Mode */
|
|
+#define PCI_TPH_ST_DS_MODE 0x2 /* Device Specific Mode */
|
|
+#define PCI_TPH_CTRL_REQ_EN_MASK 0x00000300 /* TPH Requester Enable */
|
|
+#define PCI_TPH_REQ_DISABLE 0x0 /* No TPH requests allowed */
|
|
+#define PCI_TPH_REQ_TPH_ONLY 0x1 /* TPH only requests allowed */
|
|
+#define PCI_TPH_REQ_EXT_TPH 0x3 /* Extended TPH requests allowed */
|
|
|
|
/* Downstream Port Containment */
|
|
#define PCI_EXP_DPC_CAP 0x04 /* DPC Capability */
|
|
--- a/loongarch/usr/include/linux/perf_event.h
|
|
+++ b/loongarch/usr/include/linux/perf_event.h
|
|
@@ -385,6 +385,8 @@ enum perf_event_read_format {
|
|
*
|
|
* @sample_max_stack: Max number of frame pointers in a callchain,
|
|
* should be < /proc/sys/kernel/perf_event_max_stack
|
|
+ * Max number of entries of branch stack
|
|
+ * should be < hardware limit
|
|
*/
|
|
struct perf_event_attr {
|
|
|
|
@@ -511,7 +513,16 @@ struct perf_event_attr {
|
|
__u16 sample_max_stack;
|
|
__u16 __reserved_2;
|
|
__u32 aux_sample_size;
|
|
- __u32 __reserved_3;
|
|
+
|
|
+ union {
|
|
+ __u32 aux_action;
|
|
+ struct {
|
|
+ __u32 aux_start_paused : 1, /* start AUX area tracing paused */
|
|
+ aux_pause : 1, /* on overflow, pause AUX area tracing */
|
|
+ aux_resume : 1, /* on overflow, resume AUX area tracing */
|
|
+ __reserved_3 : 29;
|
|
+ };
|
|
+ };
|
|
|
|
/*
|
|
* User provided data if sigtrap=1, passed back to user via
|
|
--- a/loongarch/usr/include/linux/pfrut.h
|
|
+++ b/loongarch/usr/include/linux/pfrut.h
|
|
@@ -89,6 +89,7 @@ struct pfru_payload_hdr {
|
|
__u32 hw_ver;
|
|
__u32 rt_ver;
|
|
__u8 platform_id[16];
|
|
+ __u32 svn_ver;
|
|
};
|
|
|
|
enum pfru_dsm_status {
|
|
--- a/loongarch/usr/include/linux/pidfd.h
|
|
+++ b/loongarch/usr/include/linux/pidfd.h
|
|
@@ -16,6 +16,56 @@
|
|
#define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1)
|
|
#define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2)
|
|
|
|
+/* Flags for pidfd_info. */
|
|
+#define PIDFD_INFO_PID (1UL << 0) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CREDS (1UL << 1) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CGROUPID (1UL << 2) /* Always returned if available, even if not requested */
|
|
+#define PIDFD_INFO_EXIT (1UL << 3) /* Only returned if requested. */
|
|
+
|
|
+#define PIDFD_INFO_SIZE_VER0 64 /* sizeof first published struct */
|
|
+
|
|
+struct pidfd_info {
|
|
+ /*
|
|
+ * This mask is similar to the request_mask in statx(2).
|
|
+ *
|
|
+ * Userspace indicates what extensions or expensive-to-calculate fields
|
|
+ * they want by setting the corresponding bits in mask. The kernel
|
|
+ * will ignore bits that it does not know about.
|
|
+ *
|
|
+ * When filling the structure, the kernel will only set bits
|
|
+ * corresponding to the fields that were actually filled by the kernel.
|
|
+ * This also includes any future extensions that might be automatically
|
|
+ * filled. If the structure size is too small to contain a field
|
|
+ * (requested or not), to avoid confusion the mask will not
|
|
+ * contain a bit for that field.
|
|
+ *
|
|
+ * As such, userspace MUST verify that mask contains the
|
|
+ * corresponding flags after the ioctl(2) returns to ensure that it is
|
|
+ * using valid data.
|
|
+ */
|
|
+ __u64 mask;
|
|
+ /*
|
|
+ * The information contained in the following fields might be stale at the
|
|
+ * time it is received, as the target process might have exited as soon as
|
|
+ * the IOCTL was processed, and there is no way to avoid that. However, it
|
|
+ * is guaranteed that if the call was successful, then the information was
|
|
+ * correct and referred to the intended process at the time the work was
|
|
+ * performed. */
|
|
+ __u64 cgroupid;
|
|
+ __u32 pid;
|
|
+ __u32 tgid;
|
|
+ __u32 ppid;
|
|
+ __u32 ruid;
|
|
+ __u32 rgid;
|
|
+ __u32 euid;
|
|
+ __u32 egid;
|
|
+ __u32 suid;
|
|
+ __u32 sgid;
|
|
+ __u32 fsuid;
|
|
+ __u32 fsgid;
|
|
+ __s32 exit_code;
|
|
+};
|
|
+
|
|
#define PIDFS_IOCTL_MAGIC 0xFF
|
|
|
|
#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1)
|
|
@@ -28,5 +78,6 @@
|
|
#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8)
|
|
#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9)
|
|
#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10)
|
|
+#define PIDFD_GET_INFO _IOWR(PIDFS_IOCTL_MAGIC, 11, struct pidfd_info)
|
|
|
|
#endif /* _LINUX_PIDFD_H */
|
|
--- a/loongarch/usr/include/linux/psci.h
|
|
+++ b/loongarch/usr/include/linux/psci.h
|
|
@@ -59,6 +59,7 @@
|
|
#define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18)
|
|
#define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19)
|
|
#define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(20)
|
|
+#define PSCI_1_3_FN_SYSTEM_OFF2 PSCI_0_2_FN(21)
|
|
|
|
#define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12)
|
|
#define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13)
|
|
@@ -68,6 +69,7 @@
|
|
|
|
#define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18)
|
|
#define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(20)
|
|
+#define PSCI_1_3_FN64_SYSTEM_OFF2 PSCI_0_2_FN64(21)
|
|
|
|
/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
|
|
#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
|
|
@@ -100,6 +102,9 @@
|
|
#define PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET 0
|
|
#define PSCI_1_1_RESET_TYPE_VENDOR_START 0x80000000U
|
|
|
|
+/* PSCI v1.3 hibernate type for SYSTEM_OFF2 */
|
|
+#define PSCI_1_3_OFF_TYPE_HIBERNATE_OFF BIT(0)
|
|
+
|
|
/* PSCI version decoding (independent of PSCI version) */
|
|
#define PSCI_VERSION_MAJOR_SHIFT 16
|
|
#define PSCI_VERSION_MINOR_MASK \
|
|
--- a/loongarch/usr/include/linux/psp-sev.h
|
|
+++ b/loongarch/usr/include/linux/psp-sev.h
|
|
@@ -73,13 +73,20 @@ typedef enum {
|
|
SEV_RET_INVALID_PARAM,
|
|
SEV_RET_RESOURCE_LIMIT,
|
|
SEV_RET_SECURE_DATA_INVALID,
|
|
- SEV_RET_INVALID_KEY = 0x27,
|
|
- SEV_RET_INVALID_PAGE_SIZE,
|
|
- SEV_RET_INVALID_PAGE_STATE,
|
|
- SEV_RET_INVALID_MDATA_ENTRY,
|
|
- SEV_RET_INVALID_PAGE_OWNER,
|
|
- SEV_RET_INVALID_PAGE_AEAD_OFLOW,
|
|
- SEV_RET_RMP_INIT_REQUIRED,
|
|
+ SEV_RET_INVALID_PAGE_SIZE = 0x0019,
|
|
+ SEV_RET_INVALID_PAGE_STATE = 0x001A,
|
|
+ SEV_RET_INVALID_MDATA_ENTRY = 0x001B,
|
|
+ SEV_RET_INVALID_PAGE_OWNER = 0x001C,
|
|
+ SEV_RET_AEAD_OFLOW = 0x001D,
|
|
+ SEV_RET_EXIT_RING_BUFFER = 0x001F,
|
|
+ SEV_RET_RMP_INIT_REQUIRED = 0x0020,
|
|
+ SEV_RET_BAD_SVN = 0x0021,
|
|
+ SEV_RET_BAD_VERSION = 0x0022,
|
|
+ SEV_RET_SHUTDOWN_REQUIRED = 0x0023,
|
|
+ SEV_RET_UPDATE_FAILED = 0x0024,
|
|
+ SEV_RET_RESTORE_REQUIRED = 0x0025,
|
|
+ SEV_RET_RMP_INITIALIZATION_FAILED = 0x0026,
|
|
+ SEV_RET_INVALID_KEY = 0x0027,
|
|
SEV_RET_MAX,
|
|
} sev_ret_code;
|
|
|
|
--- a/loongarch/usr/include/linux/raid/md_p.h
|
|
+++ b/loongarch/usr/include/linux/raid/md_p.h
|
|
@@ -85,6 +85,7 @@
|
|
* devices available - and don't try to
|
|
* correct read errors.
|
|
*/
|
|
+#define MD_DISK_TIMEOUT 11 /* disk is faulty due to timeout */
|
|
|
|
#define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
|
|
* read requests will only be sent here in
|
|
@@ -95,6 +96,7 @@
|
|
#define MD_DISK_ROLE_SPARE 0xffff
|
|
#define MD_DISK_ROLE_FAULTY 0xfffe
|
|
#define MD_DISK_ROLE_JOURNAL 0xfffd
|
|
+#define MD_DISK_ROLE_TIMEOUT 0xfff0 /* SUSE-only timed-out */
|
|
#define MD_DISK_ROLE_MAX 0xff00 /* max value of regular disk role */
|
|
|
|
typedef struct mdp_device_descriptor_s {
|
|
@@ -233,7 +235,7 @@ struct mdp_superblock_1 {
|
|
char set_name[32]; /* set and interpreted by user-space */
|
|
|
|
__le64 ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/
|
|
- __le32 level; /* 0,1,4,5 */
|
|
+ __le32 level; /* 0,1,4,5, -1 (linear) */
|
|
__le32 layout; /* only for raid5 and raid10 currently */
|
|
__le64 size; /* used size of component devices, in 512byte sectors */
|
|
|
|
--- a/loongarch/usr/include/linux/raid/md_u.h
|
|
+++ b/loongarch/usr/include/linux/raid/md_u.h
|
|
@@ -103,6 +103,8 @@ typedef struct mdu_array_info_s {
|
|
|
|
} mdu_array_info_t;
|
|
|
|
+#define LEVEL_LINEAR (-1)
|
|
+
|
|
/* we need a value for 'no level specified' and 0
|
|
* means 'raid0', so we need something else. This is
|
|
* for internal use only
|
|
--- a/loongarch/usr/include/linux/rkisp1-config.h
|
|
+++ b/loongarch/usr/include/linux/rkisp1-config.h
|
|
@@ -1528,7 +1528,7 @@ enum rksip1_ext_param_buffer_version {
|
|
* The expected memory layout of the parameters buffer is::
|
|
*
|
|
* +-------------------- struct rkisp1_ext_params_cfg -------------------+
|
|
- * | version = RKISP_EXT_PARAMS_BUFFER_V1; |
|
|
+ * | version = RKISP1_EXT_PARAM_BUFFER_V1; |
|
|
* | data_size = sizeof(struct rkisp1_ext_params_bls_config) |
|
|
* | + sizeof(struct rkisp1_ext_params_dpcc_config); |
|
|
* | +------------------------- data ---------------------------------+ |
|
|
--- a/loongarch/usr/include/linux/rtnetlink.h
|
|
+++ b/loongarch/usr/include/linux/rtnetlink.h
|
|
@@ -174,7 +174,7 @@ enum {
|
|
#define RTM_GETLINKPROP RTM_GETLINKPROP
|
|
|
|
RTM_NEWVLAN = 112,
|
|
-#define RTM_NEWNVLAN RTM_NEWVLAN
|
|
+#define RTM_NEWVLAN RTM_NEWVLAN
|
|
RTM_DELVLAN,
|
|
#define RTM_DELVLAN RTM_DELVLAN
|
|
RTM_GETVLAN,
|
|
--- a/loongarch/usr/include/linux/sed-opal.h
|
|
+++ b/loongarch/usr/include/linux/sed-opal.h
|
|
@@ -215,5 +215,6 @@ struct opal_revert_lsp {
|
|
#define IOC_OPAL_GET_GEOMETRY _IOR('p', 238, struct opal_geometry)
|
|
#define IOC_OPAL_DISCOVERY _IOW('p', 239, struct opal_discovery)
|
|
#define IOC_OPAL_REVERT_LSP _IOW('p', 240, struct opal_revert_lsp)
|
|
+#define IOC_OPAL_SET_SID_PW _IOW('p', 241, struct opal_new_pw)
|
|
|
|
#endif /* _SED_OPAL_H */
|
|
--- a/loongarch/usr/include/linux/stddef.h
|
|
+++ b/loongarch/usr/include/linux/stddef.h
|
|
@@ -8,6 +8,13 @@
|
|
#define __always_inline __inline__
|
|
#endif
|
|
|
|
+/* Not all C++ standards support type declarations inside an anonymous union */
|
|
+#ifndef __cplusplus
|
|
+#define __struct_group_tag(TAG) TAG
|
|
+#else
|
|
+#define __struct_group_tag(TAG)
|
|
+#endif
|
|
+
|
|
/**
|
|
* __struct_group() - Create a mirrored named and anonyomous struct
|
|
*
|
|
@@ -20,13 +27,13 @@
|
|
* and size: one anonymous and one named. The former's members can be used
|
|
* normally without sub-struct naming, and the latter can be used to
|
|
* reason about the start, end, and size of the group of struct members.
|
|
- * The named struct can also be explicitly tagged for layer reuse, as well
|
|
- * as both having struct attributes appended.
|
|
+ * The named struct can also be explicitly tagged for layer reuse (C only),
|
|
+ * as well as both having struct attributes appended.
|
|
*/
|
|
#define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
|
|
union { \
|
|
struct { MEMBERS } ATTRS; \
|
|
- struct TAG { MEMBERS } ATTRS NAME; \
|
|
+ struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \
|
|
} ATTRS
|
|
|
|
#ifdef __cplusplus
|
|
--- a/loongarch/usr/include/linux/types.h
|
|
+++ b/loongarch/usr/include/linux/types.h
|
|
@@ -48,6 +48,7 @@ typedef __u32 __bitwise __wsum;
|
|
* No conversions are necessary between 32-bit user-space and a 64-bit kernel.
|
|
*/
|
|
#define __aligned_u64 __u64 __attribute__((aligned(8)))
|
|
+#define __aligned_s64 __s64 __attribute__((aligned(8)))
|
|
#define __aligned_be64 __be64 __attribute__((aligned(8)))
|
|
#define __aligned_le64 __le64 __attribute__((aligned(8)))
|
|
|
|
--- a/loongarch/usr/include/linux/usb/ch9.h
|
|
+++ b/loongarch/usr/include/linux/usb/ch9.h
|
|
@@ -253,6 +253,9 @@ struct usb_ctrlrequest {
|
|
#define USB_DT_BOS 0x0f
|
|
#define USB_DT_DEVICE_CAPABILITY 0x10
|
|
#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11
|
|
+/* From the eUSB2 spec */
|
|
+#define USB_DT_EUSB2_ISOC_ENDPOINT_COMP 0x12
|
|
+/* From Wireless USB spec */
|
|
#define USB_DT_WIRE_ADAPTER 0x21
|
|
/* From USB Device Firmware Upgrade Specification, Revision 1.1 */
|
|
#define USB_DT_DFU_FUNCTIONAL 0x21
|
|
@@ -330,6 +333,7 @@ struct usb_device_descriptor {
|
|
#define USB_CLASS_AUDIO_VIDEO 0x10
|
|
#define USB_CLASS_BILLBOARD 0x11
|
|
#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
|
|
+#define USB_CLASS_MCTP 0x14
|
|
#define USB_CLASS_MISC 0xef
|
|
#define USB_CLASS_APP_SPEC 0xfe
|
|
#define USB_SUBCLASS_DFU 0x01
|
|
@@ -675,6 +679,18 @@ static __inline__ int usb_endpoint_inter
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
+/* USB_DT_EUSB2_ISOC_ENDPOINT_COMP: eUSB2 Isoch Endpoint Companion descriptor */
|
|
+struct usb_eusb2_isoc_ep_comp_descriptor {
|
|
+ __u8 bLength;
|
|
+ __u8 bDescriptorType;
|
|
+ __le16 wMaxPacketSize;
|
|
+ __le32 dwBytesPerInterval;
|
|
+} __attribute__ ((packed));
|
|
+
|
|
+#define USB_DT_EUSB2_ISOC_EP_COMP_SIZE 8
|
|
+
|
|
+/*-------------------------------------------------------------------------*/
|
|
+
|
|
/* USB_DT_SSP_ISOC_ENDPOINT_COMP: SuperSpeedPlus Isochronous Endpoint Companion
|
|
* descriptor
|
|
*/
|
|
--- a/loongarch/usr/include/linux/usb/functionfs.h
|
|
+++ b/loongarch/usr/include/linux/usb/functionfs.h
|
|
@@ -205,7 +205,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -223,7 +223,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -236,7 +236,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* | 11 | ExtProp[] | | list of ext. prop. d. |
|
|
* +-----+-----------------+------+--------------------------+
|
|
*
|
|
- * ExtCompat[] is an array of valid Extended Compatiblity descriptors
|
|
+ * ExtCompat[] is an array of valid Extended Compatibility descriptors
|
|
* which have the following format:
|
|
*
|
|
* +-----+-----------------------+------+-------------------------------------+
|
|
@@ -294,7 +294,7 @@ struct usb_functionfs_strings_head {
|
|
* | 16 | stringtab | StringTab[lang_count] | table of strings per lang |
|
|
*
|
|
* For each language there is one stringtab entry (ie. there are lang_count
|
|
- * stringtab entires). Each StringTab has following format:
|
|
+ * stringtab entries). Each StringTab has following format:
|
|
*
|
|
* | off | name | type | description |
|
|
* |-----+---------+-------------------+------------------------------------|
|
|
--- a/loongarch/usr/include/linux/vhost.h
|
|
+++ b/loongarch/usr/include/linux/vhost.h
|
|
@@ -235,4 +235,33 @@
|
|
*/
|
|
#define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \
|
|
struct vhost_vring_state)
|
|
+
|
|
+/* fork_owner values for vhost */
|
|
+#define VHOST_FORK_OWNER_KTHREAD 0
|
|
+#define VHOST_FORK_OWNER_TASK 1
|
|
+
|
|
+/**
|
|
+ * VHOST_SET_FORK_FROM_OWNER - Set the fork_owner flag for the vhost device,
|
|
+ * This ioctl must called before VHOST_SET_OWNER.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @param fork_owner: An 8-bit value that determines the vhost thread mode
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_TASK(default value):
|
|
+ * - Vhost will create vhost worker as tasks forked from the owner,
|
|
+ * inheriting all of the owner's attributes.
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_KTHREAD:
|
|
+ * - Vhost will create vhost workers as kernel threads.
|
|
+ */
|
|
+#define VHOST_SET_FORK_FROM_OWNER _IOW(VHOST_VIRTIO, 0x84, __u8)
|
|
+
|
|
+/**
|
|
+ * VHOST_GET_FORK_OWNER - Get the current fork_owner flag for the vhost device.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @return: An 8-bit value indicating the current thread mode.
|
|
+ */
|
|
+#define VHOST_GET_FORK_FROM_OWNER _IOR(VHOST_VIRTIO, 0x85, __u8)
|
|
+
|
|
#endif
|
|
--- a/loongarch/usr/include/linux/videodev2.h
|
|
+++ b/loongarch/usr/include/linux/videodev2.h
|
|
@@ -771,6 +771,7 @@ struct v4l2_pix_format {
|
|
#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
|
|
#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
|
|
+#define V4L2_PIX_FMT_Y16I v4l2_fourcc('Y', '1', '6', 'I') /* Greyscale 16-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
|
|
#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
|
|
#define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */
|
|
@@ -832,6 +833,8 @@ struct v4l2_pix_format {
|
|
|
|
/* Vendor specific - used for RaspberryPi PiSP */
|
|
#define V4L2_META_FMT_RPI_BE_CFG v4l2_fourcc('R', 'P', 'B', 'C') /* PiSP BE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_CFG v4l2_fourcc('R', 'P', 'F', 'C') /* PiSP FE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_STATS v4l2_fourcc('R', 'P', 'F', 'S') /* PiSP FE stats */
|
|
|
|
|
|
/* priv field value to indicates that subsequent fields are valid. */
|
|
--- a/loongarch/usr/include/linux/xfrm.h
|
|
+++ b/loongarch/usr/include/linux/xfrm.h
|
|
@@ -322,6 +322,7 @@ enum xfrm_attr_type_t {
|
|
XFRMA_MTIMER_THRESH, /* __u32 in seconds for input SA */
|
|
XFRMA_SA_DIR, /* __u8 */
|
|
XFRMA_NAT_KEEPALIVE_INTERVAL, /* __u32 in seconds for NAT keepalive */
|
|
+ XFRMA_SA_PCPU, /* __u32 */
|
|
__XFRMA_MAX
|
|
|
|
#define XFRMA_OUTPUT_MARK XFRMA_SET_MARK /* Compatibility */
|
|
@@ -437,6 +438,7 @@ struct xfrm_userpolicy_info {
|
|
#define XFRM_POLICY_LOCALOK 1 /* Allow user to override global policy */
|
|
/* Automatically expand selector to include matching ICMP payloads. */
|
|
#define XFRM_POLICY_ICMP 2
|
|
+#define XFRM_POLICY_CPU_ACQUIRE 4
|
|
__u8 share;
|
|
};
|
|
|
|
--- a/loongarch/usr/include/rdma/efa-abi.h
|
|
+++ b/loongarch/usr/include/rdma/efa-abi.h
|
|
@@ -95,7 +95,8 @@ struct efa_ibv_create_qp {
|
|
__u32 sq_ring_size; /* bytes */
|
|
__u32 driver_qp_type;
|
|
__u16 flags;
|
|
- __u8 reserved_90[6];
|
|
+ __u8 sl;
|
|
+ __u8 reserved_98[5];
|
|
};
|
|
|
|
struct efa_ibv_create_qp_resp {
|
|
--- a/loongarch/usr/include/rdma/mlx5-abi.h
|
|
+++ b/loongarch/usr/include/rdma/mlx5-abi.h
|
|
@@ -252,6 +252,7 @@ enum mlx5_ib_query_dev_resp_flags {
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1,
|
|
MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE = 1 << 2,
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT = 1 << 3,
|
|
+ MLX5_IB_QUERY_DEV_RESP_FLAGS_OOO_DP = 1 << 4,
|
|
};
|
|
|
|
enum mlx5_ib_tunnel_offloads {
|
|
@@ -439,6 +440,10 @@ struct mlx5_ib_burst_info {
|
|
__u16 reserved;
|
|
};
|
|
|
|
+enum mlx5_ib_modify_qp_mask {
|
|
+ MLX5_IB_MODIFY_QP_OOO_DP = 1 << 0,
|
|
+};
|
|
+
|
|
struct mlx5_ib_modify_qp {
|
|
__u32 comp_mask;
|
|
struct mlx5_ib_burst_info burst_info;
|
|
--- a/loongarch/usr/include/rdma/rdma_netlink.h
|
|
+++ b/loongarch/usr/include/rdma/rdma_netlink.h
|
|
@@ -638,6 +638,8 @@ enum rdma_nl_notify_event_type {
|
|
RDMA_UNREGISTER_EVENT,
|
|
RDMA_NETDEV_ATTACH_EVENT,
|
|
RDMA_NETDEV_DETACH_EVENT,
|
|
+ RDMA_RENAME_EVENT,
|
|
+ RDMA_NETDEV_RENAME_EVENT,
|
|
};
|
|
|
|
#endif /* _RDMA_NETLINK_H */
|
|
--- a/loongarch/usr/include/scsi/fc/fc_els.h
|
|
+++ b/loongarch/usr/include/scsi/fc/fc_els.h
|
|
@@ -11,6 +11,8 @@
|
|
#include <linux/types.h>
|
|
#include <asm/byteorder.h>
|
|
|
|
+#include <stddef.h> /* for offsetof */
|
|
+
|
|
/*
|
|
* Fibre Channel Switch - Enhanced Link Services definitions.
|
|
* From T11 FC-LS Rev 1.2 June 7, 2005.
|
|
@@ -1109,12 +1111,15 @@ struct fc_els_fpin {
|
|
|
|
/* Diagnostic Function Descriptor - FPIN Registration */
|
|
struct fc_df_desc_fpin_reg {
|
|
- __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
- __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
- * Size of descriptor excluding
|
|
- * desc_tag and desc_len fields.
|
|
- */
|
|
- __be32 count; /* Number of desc_tags elements */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_df_desc_fpin_reg_hdr, __hdr, /* no attrs */,
|
|
+ __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
+ __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
+ * Size of descriptor excluding
|
|
+ * desc_tag and desc_len fields.
|
|
+ */
|
|
+ __be32 count; /* Number of desc_tags elements */
|
|
+ );
|
|
__be32 desc_tags[]; /* Array of Descriptor Tags.
|
|
* Each tag indicates a function
|
|
* supported by the N_Port (request)
|
|
@@ -1124,33 +1129,44 @@ struct fc_df_desc_fpin_reg {
|
|
* See ELS_FN_DTAG_xxx for tag values.
|
|
*/
|
|
};
|
|
+_Static_assert(offsetof(struct fc_df_desc_fpin_reg, desc_tags) == sizeof(struct fc_df_desc_fpin_reg_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS_RDF - Register Diagnostic Functions
|
|
*/
|
|
struct fc_els_rdf {
|
|
- __u8 fpin_cmd; /* command (0x19) */
|
|
- __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
- __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
- * Size of ELS excluding fpin_cmd,
|
|
- * fpin_zero and desc_len fields.
|
|
- */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_hdr, __hdr, /* no attrs */,
|
|
+ __u8 fpin_cmd; /* command (0x19) */
|
|
+ __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
+ __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
+ * Size of ELS excluding fpin_cmd,
|
|
+ * fpin_zero and desc_len fields.
|
|
+ */
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Descriptor list */
|
|
};
|
|
+_Static_assert(offsetof(struct fc_els_rdf, desc) == sizeof(struct fc_els_rdf_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS RDF LS_ACC Response.
|
|
*/
|
|
struct fc_els_rdf_resp {
|
|
- struct fc_els_ls_acc acc_hdr;
|
|
- __be32 desc_list_len; /* Length of response (in
|
|
- * bytes). Excludes acc_hdr
|
|
- * and desc_list_len fields.
|
|
- */
|
|
- struct fc_els_lsri_desc lsri;
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_resp_hdr, __hdr, /* no attrs */,
|
|
+ struct fc_els_ls_acc acc_hdr;
|
|
+ __be32 desc_list_len; /* Length of response (in
|
|
+ * bytes). Excludes acc_hdr
|
|
+ * and desc_list_len fields.
|
|
+ */
|
|
+ struct fc_els_lsri_desc lsri;
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Supported Descriptor list */
|
|
};
|
|
-
|
|
+_Static_assert(offsetof(struct fc_els_rdf_resp, desc) == sizeof(struct fc_els_rdf_resp_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* Diagnostic Capability Descriptors for EDC ELS
|
|
--- a/m68k/usr/include/asm-generic/mman-common.h
|
|
+++ b/m68k/usr/include/asm-generic/mman-common.h
|
|
@@ -79,6 +79,9 @@
|
|
|
|
#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */
|
|
|
|
+#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */
|
|
+#define MADV_GUARD_REMOVE 103 /* unguard range */
|
|
+
|
|
/* compatibility flags */
|
|
#define MAP_FILE 0
|
|
|
|
--- a/m68k/usr/include/linux/devlink.h
|
|
+++ b/m68k/usr/include/linux/devlink.h
|
|
@@ -385,6 +385,21 @@ enum devlink_linecard_state {
|
|
DEVLINK_LINECARD_STATE_MAX = __DEVLINK_LINECARD_STATE_MAX - 1
|
|
};
|
|
|
|
+/* Variable attribute type. */
|
|
+enum devlink_var_attr_type {
|
|
+ /* Following values relate to the internal NLA_* values */
|
|
+ DEVLINK_VAR_ATTR_TYPE_U8 = 1,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U16,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U32,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U64,
|
|
+ DEVLINK_VAR_ATTR_TYPE_STRING,
|
|
+ DEVLINK_VAR_ATTR_TYPE_FLAG,
|
|
+ DEVLINK_VAR_ATTR_TYPE_NUL_STRING = 10,
|
|
+ DEVLINK_VAR_ATTR_TYPE_BINARY,
|
|
+ __DEVLINK_VAR_ATTR_TYPE_CUSTOM_BASE = 0x80,
|
|
+ /* Any possible custom types, unrelated to NLA_* values go below */
|
|
+};
|
|
+
|
|
enum devlink_attr {
|
|
/* don't change the order or add anything between, this is ABI! */
|
|
DEVLINK_ATTR_UNSPEC,
|
|
--- a/m68k/usr/include/linux/dm-ioctl.h
|
|
+++ b/m68k/usr/include/linux/dm-ioctl.h
|
|
@@ -286,9 +286,9 @@ enum {
|
|
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
|
|
|
#define DM_VERSION_MAJOR 4
|
|
-#define DM_VERSION_MINOR 48
|
|
+#define DM_VERSION_MINOR 49
|
|
#define DM_VERSION_PATCHLEVEL 0
|
|
-#define DM_VERSION_EXTRA "-ioctl (2023-03-01)"
|
|
+#define DM_VERSION_EXTRA "-ioctl (2025-01-17)"
|
|
|
|
/* Status bits */
|
|
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
|
--- a/m68k/usr/include/linux/dpll.h
|
|
+++ b/m68k/usr/include/linux/dpll.h
|
|
@@ -79,6 +79,29 @@ enum dpll_lock_status_error {
|
|
DPLL_LOCK_STATUS_ERROR_MAX = (__DPLL_LOCK_STATUS_ERROR_MAX - 1)
|
|
};
|
|
|
|
+/**
|
|
+ * enum dpll_clock_quality_level - level of quality of a clock device. This
|
|
+ * mainly applies when the dpll lock-status is DPLL_LOCK_STATUS_HOLDOVER. The
|
|
+ * current list is defined according to the table 11-7 contained in ITU-T
|
|
+ * G.8264/Y.1364 document. One may extend this list freely by other ITU-T
|
|
+ * defined clock qualities, or different ones defined by another
|
|
+ * standardization body (for those, please use different prefix).
|
|
+ */
|
|
+enum dpll_clock_quality_level {
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRC = 1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_A,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_B,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEC1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEEC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRC,
|
|
+
|
|
+ /* private: */
|
|
+ __DPLL_CLOCK_QUALITY_LEVEL_MAX,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_MAX = (__DPLL_CLOCK_QUALITY_LEVEL_MAX - 1)
|
|
+};
|
|
+
|
|
#define DPLL_TEMP_DIVIDER 1000
|
|
|
|
/**
|
|
@@ -180,6 +203,7 @@ enum dpll_a {
|
|
DPLL_A_TEMP,
|
|
DPLL_A_TYPE,
|
|
DPLL_A_LOCK_STATUS_ERROR,
|
|
+ DPLL_A_CLOCK_QUALITY_LEVEL,
|
|
|
|
__DPLL_A_MAX,
|
|
DPLL_A_MAX = (__DPLL_A_MAX - 1)
|
|
--- a/m68k/usr/include/linux/ethtool.h
|
|
+++ b/m68k/usr/include/linux/ethtool.h
|
|
@@ -679,6 +679,8 @@ enum ethtool_link_ext_substate_module {
|
|
* @ETH_SS_STATS_ETH_MAC: names of IEEE 802.3 MAC statistics
|
|
* @ETH_SS_STATS_ETH_CTRL: names of IEEE 802.3 MAC Control statistics
|
|
* @ETH_SS_STATS_RMON: names of RMON statistics
|
|
+ * @ETH_SS_STATS_PHY: names of PHY(dev) statistics
|
|
+ * @ETH_SS_TS_FLAGS: hardware timestamping flags
|
|
*
|
|
* @ETH_SS_COUNT: number of defined string sets
|
|
*/
|
|
@@ -704,6 +706,8 @@ enum ethtool_stringset {
|
|
ETH_SS_STATS_ETH_MAC,
|
|
ETH_SS_STATS_ETH_CTRL,
|
|
ETH_SS_STATS_RMON,
|
|
+ ETH_SS_STATS_PHY,
|
|
+ ETH_SS_TS_FLAGS,
|
|
|
|
/* add new constants above here */
|
|
ETH_SS_COUNT
|
|
--- a/m68k/usr/include/linux/ethtool_netlink.h
|
|
+++ b/m68k/usr/include/linux/ethtool_netlink.h
|
|
@@ -10,545 +10,12 @@
|
|
#define _LINUX_ETHTOOL_NETLINK_H_
|
|
|
|
#include <linux/ethtool.h>
|
|
-
|
|
-/* message types - userspace to kernel */
|
|
-enum {
|
|
- ETHTOOL_MSG_USER_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET,
|
|
- ETHTOOL_MSG_LINKINFO_GET,
|
|
- ETHTOOL_MSG_LINKINFO_SET,
|
|
- ETHTOOL_MSG_LINKMODES_GET,
|
|
- ETHTOOL_MSG_LINKMODES_SET,
|
|
- ETHTOOL_MSG_LINKSTATE_GET,
|
|
- ETHTOOL_MSG_DEBUG_GET,
|
|
- ETHTOOL_MSG_DEBUG_SET,
|
|
- ETHTOOL_MSG_WOL_GET,
|
|
- ETHTOOL_MSG_WOL_SET,
|
|
- ETHTOOL_MSG_FEATURES_GET,
|
|
- ETHTOOL_MSG_FEATURES_SET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
- ETHTOOL_MSG_RINGS_GET,
|
|
- ETHTOOL_MSG_RINGS_SET,
|
|
- ETHTOOL_MSG_CHANNELS_GET,
|
|
- ETHTOOL_MSG_CHANNELS_SET,
|
|
- ETHTOOL_MSG_COALESCE_GET,
|
|
- ETHTOOL_MSG_COALESCE_SET,
|
|
- ETHTOOL_MSG_PAUSE_GET,
|
|
- ETHTOOL_MSG_PAUSE_SET,
|
|
- ETHTOOL_MSG_EEE_GET,
|
|
- ETHTOOL_MSG_EEE_SET,
|
|
- ETHTOOL_MSG_TSINFO_GET,
|
|
- ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
- ETHTOOL_MSG_FEC_GET,
|
|
- ETHTOOL_MSG_FEC_SET,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
- ETHTOOL_MSG_STATS_GET,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
- ETHTOOL_MSG_MODULE_GET,
|
|
- ETHTOOL_MSG_MODULE_SET,
|
|
- ETHTOOL_MSG_PSE_GET,
|
|
- ETHTOOL_MSG_PSE_SET,
|
|
- ETHTOOL_MSG_RSS_GET,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG,
|
|
- ETHTOOL_MSG_PLCA_SET_CFG,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
- ETHTOOL_MSG_MM_GET,
|
|
- ETHTOOL_MSG_MM_SET,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
- ETHTOOL_MSG_PHY_GET,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_USER_CNT,
|
|
- ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
|
|
-};
|
|
-
|
|
-/* message types - kernel to userspace */
|
|
-enum {
|
|
- ETHTOOL_MSG_KERNEL_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_NTF,
|
|
- ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKMODES_NTF,
|
|
- ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_NTF,
|
|
- ETHTOOL_MSG_WOL_GET_REPLY,
|
|
- ETHTOOL_MSG_WOL_NTF,
|
|
- ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_NTF,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
- ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
- ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
- ETHTOOL_MSG_RINGS_NTF,
|
|
- ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
- ETHTOOL_MSG_CHANNELS_NTF,
|
|
- ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
- ETHTOOL_MSG_COALESCE_NTF,
|
|
- ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
- ETHTOOL_MSG_PAUSE_NTF,
|
|
- ETHTOOL_MSG_EEE_GET_REPLY,
|
|
- ETHTOOL_MSG_EEE_NTF,
|
|
- ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_NTF,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
- ETHTOOL_MSG_STATS_GET_REPLY,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_NTF,
|
|
- ETHTOOL_MSG_PSE_GET_REPLY,
|
|
- ETHTOOL_MSG_RSS_GET_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
- ETHTOOL_MSG_PLCA_NTF,
|
|
- ETHTOOL_MSG_MM_GET_REPLY,
|
|
- ETHTOOL_MSG_MM_NTF,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
- ETHTOOL_MSG_PHY_GET_REPLY,
|
|
- ETHTOOL_MSG_PHY_NTF,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_KERNEL_CNT,
|
|
- ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
|
|
-};
|
|
-
|
|
-/* request header */
|
|
-
|
|
-enum ethtool_header_flags {
|
|
- ETHTOOL_FLAG_COMPACT_BITSETS = 1 << 0, /* use compact bitsets in reply */
|
|
- ETHTOOL_FLAG_OMIT_REPLY = 1 << 1, /* provide optional reply for SET or ACT requests */
|
|
- ETHTOOL_FLAG_STATS = 1 << 2, /* request statistics, if supported by the driver */
|
|
-};
|
|
+#include <linux/ethtool_netlink_generated.h>
|
|
|
|
#define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \
|
|
ETHTOOL_FLAG_OMIT_REPLY | \
|
|
ETHTOOL_FLAG_STATS)
|
|
|
|
-enum {
|
|
- ETHTOOL_A_HEADER_UNSPEC,
|
|
- ETHTOOL_A_HEADER_DEV_INDEX, /* u32 */
|
|
- ETHTOOL_A_HEADER_DEV_NAME, /* string */
|
|
- ETHTOOL_A_HEADER_FLAGS, /* u32 - ETHTOOL_FLAG_* */
|
|
- ETHTOOL_A_HEADER_PHY_INDEX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_HEADER_CNT,
|
|
- ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1
|
|
-};
|
|
-
|
|
-/* bit sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BIT_INDEX, /* u32 */
|
|
- ETHTOOL_A_BITSET_BIT_NAME, /* string */
|
|
- ETHTOOL_A_BITSET_BIT_VALUE, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BIT_CNT,
|
|
- ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BITS_BIT, /* nest - _A_BITSET_BIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BITS_CNT,
|
|
- ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_UNSPEC,
|
|
- ETHTOOL_A_BITSET_NOMASK, /* flag */
|
|
- ETHTOOL_A_BITSET_SIZE, /* u32 */
|
|
- ETHTOOL_A_BITSET_BITS, /* nest - _A_BITSET_BITS_* */
|
|
- ETHTOOL_A_BITSET_VALUE, /* binary */
|
|
- ETHTOOL_A_BITSET_MASK, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_CNT,
|
|
- ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* string sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRING_UNSPEC,
|
|
- ETHTOOL_A_STRING_INDEX, /* u32 */
|
|
- ETHTOOL_A_STRING_VALUE, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRING_CNT,
|
|
- ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGS_UNSPEC,
|
|
- ETHTOOL_A_STRINGS_STRING, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGS_CNT,
|
|
- ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSET_UNSPEC,
|
|
- ETHTOOL_A_STRINGSET_ID, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_COUNT, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_STRINGS, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSET_CNT,
|
|
- ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
- ETHTOOL_A_STRINGSETS_STRINGSET, /* nest - _A_STRINGSET_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSETS_CNT,
|
|
- ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1
|
|
-};
|
|
-
|
|
-/* STRSET */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRSET_UNSPEC,
|
|
- ETHTOOL_A_STRSET_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STRSET_STRINGSETS, /* nest - _A_STRINGSETS_* */
|
|
- ETHTOOL_A_STRSET_COUNTS_ONLY, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRSET_CNT,
|
|
- ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKINFO_UNSPEC,
|
|
- ETHTOOL_A_LINKINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKINFO_PORT, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_PHYADDR, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TRANSCEIVER, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKINFO_CNT,
|
|
- ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKMODES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKMODES_UNSPEC,
|
|
- ETHTOOL_A_LINKMODES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_OURS, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_PEER, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_SPEED, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_LANES, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKMODES_CNT,
|
|
- ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKSTATE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
- ETHTOOL_A_LINKSTATE_HEADER, /* nest - _A_HEADER_* */
|
|
- 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 */
|
|
- ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKSTATE_CNT,
|
|
- ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1
|
|
-};
|
|
-
|
|
-/* DEBUG */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_DEBUG_UNSPEC,
|
|
- ETHTOOL_A_DEBUG_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_DEBUG_MSGMASK, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_DEBUG_CNT,
|
|
- ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1
|
|
-};
|
|
-
|
|
-/* WOL */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_WOL_UNSPEC,
|
|
- ETHTOOL_A_WOL_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_WOL_MODES, /* bitset */
|
|
- ETHTOOL_A_WOL_SOPASS, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_WOL_CNT,
|
|
- ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
|
|
-};
|
|
-
|
|
-/* FEATURES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEATURES_UNSPEC,
|
|
- ETHTOOL_A_FEATURES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEATURES_HW, /* bitset */
|
|
- ETHTOOL_A_FEATURES_WANTED, /* bitset */
|
|
- ETHTOOL_A_FEATURES_ACTIVE, /* bitset */
|
|
- ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEATURES_CNT,
|
|
- ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
|
|
-};
|
|
-
|
|
-/* PRIVFLAGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
- ETHTOOL_A_PRIVFLAGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PRIVFLAGS_FLAGS, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
- ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1
|
|
-};
|
|
-
|
|
-/* RINGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,
|
|
- ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
- ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RINGS_UNSPEC,
|
|
- ETHTOOL_A_RINGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_RINGS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */
|
|
- ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_RX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_RINGS_CNT,
|
|
- ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CHANNELS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CHANNELS_UNSPEC,
|
|
- ETHTOOL_A_CHANNELS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CHANNELS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_RX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_COUNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CHANNELS_CNT,
|
|
- ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* COALESCE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_COALESCE_UNSPEC,
|
|
- ETHTOOL_A_COALESCE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_COALESCE_RX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, /* u32 */
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_COALESCE_CNT,
|
|
- ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PROFILE_UNSPEC,
|
|
- /* nest, _A_IRQ_MODERATION_* */
|
|
- ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
- __ETHTOOL_A_PROFILE_CNT,
|
|
- ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
- ETHTOOL_A_IRQ_MODERATION_USEC, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_PKTS, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_COMPS, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
- ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
-};
|
|
-
|
|
-/* PAUSE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PAUSE_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_PAUSE_RX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_TX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_STATS, /* nest - _PAUSE_STAT_* */
|
|
- ETHTOOL_A_PAUSE_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PAUSE_CNT,
|
|
- ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
- ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
-
|
|
- /* add new constants above here
|
|
- * adjust ETHTOOL_PAUSE_STAT_CNT if adding non-stats!
|
|
- */
|
|
- __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
- ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* EEE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_EEE_UNSPEC,
|
|
- ETHTOOL_A_EEE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_EEE_MODES_OURS, /* bitset */
|
|
- ETHTOOL_A_EEE_MODES_PEER, /* bitset */
|
|
- ETHTOOL_A_EEE_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_EEE_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_TIMER, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_EEE_CNT,
|
|
- ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
-};
|
|
-
|
|
-/* TSINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TSINFO_UNSPEC,
|
|
- ETHTOOL_A_TSINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_TSINFO_TIMESTAMPING, /* bitset */
|
|
- ETHTOOL_A_TSINFO_TX_TYPES, /* bitset */
|
|
- ETHTOOL_A_TSINFO_RX_FILTERS, /* bitset */
|
|
- ETHTOOL_A_TSINFO_PHC_INDEX, /* u32 */
|
|
- ETHTOOL_A_TSINFO_STATS, /* nest - _A_TSINFO_STAT */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TSINFO_CNT,
|
|
- ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TS_STAT_UNSPEC,
|
|
-
|
|
- ETHTOOL_A_TS_STAT_TX_PKTS, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_LOST, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_ERR, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TS_STAT_CNT,
|
|
- ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
-
|
|
-};
|
|
-
|
|
-/* PHC VCLOCKS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
- ETHTOOL_A_PHC_VCLOCKS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHC_VCLOCKS_NUM, /* u32 */
|
|
- ETHTOOL_A_PHC_VCLOCKS_INDEX, /* array, s32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
- ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST NOTIFY */
|
|
enum {
|
|
ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC,
|
|
@@ -583,73 +50,11 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
- ETHTOOL_A_CABLE_RESULT_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_RESULT_CODE, /* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */
|
|
- ETHTOOL_A_CABLE_RESULT_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
- ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_CM, /* u32 */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED
|
|
};
|
|
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_NEST_RESULT, /* nest - ETHTOOL_A_CABLE_RESULT_ */
|
|
- ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, /* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */
|
|
- __ETHTOOL_A_CABLE_NEST_CNT,
|
|
- ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST TDR */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG, /* nest - *_TDR_CFG_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST TDR NOTIFY */
|
|
|
|
enum {
|
|
@@ -690,163 +95,17 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
- 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)
|
|
-};
|
|
-
|
|
-/* FEC */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_UNSPEC,
|
|
- ETHTOOL_A_FEC_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEC_MODES, /* bitset */
|
|
- ETHTOOL_A_FEC_AUTO, /* u8 */
|
|
- ETHTOOL_A_FEC_ACTIVE, /* u32 */
|
|
- ETHTOOL_A_FEC_STATS, /* nest - _A_FEC_STAT */
|
|
-
|
|
- __ETHTOOL_A_FEC_CNT,
|
|
- ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
- ETHTOOL_A_FEC_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_FEC_STAT_CORRECTED, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_UNCORR, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_CORR_BITS, /* array, u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEC_STAT_CNT,
|
|
- ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE EEPROM */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
- ETHTOOL_A_MODULE_EEPROM_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- ETHTOOL_A_MODULE_EEPROM_OFFSET, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_LENGTH, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */
|
|
-
|
|
- __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
- ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* STATS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STATS_UNSPEC,
|
|
- ETHTOOL_A_STATS_PAD,
|
|
- ETHTOOL_A_STATS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STATS_GROUPS, /* bitset */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP, /* nest - _A_STATS_GRP_* */
|
|
-
|
|
- ETHTOOL_A_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_CNT,
|
|
- ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_STATS_ETH_PHY,
|
|
ETHTOOL_STATS_ETH_MAC,
|
|
ETHTOOL_STATS_ETH_CTRL,
|
|
ETHTOOL_STATS_RMON,
|
|
+ ETHTOOL_STATS_PHY,
|
|
|
|
/* add new constants above here */
|
|
__ETHTOOL_STATS_CNT
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
- ETHTOOL_A_STATS_GRP_PAD,
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_ID, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_SS_ID, /* u32 */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_STAT, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_RX, /* nest */
|
|
- ETHTOOL_A_STATS_GRP_HIST_TX, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_LOW, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_HI, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_VAL, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_GRP_CNT,
|
|
- ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
/* 30.3.2.1.5 aSymbolErrorDuringCarrier */
|
|
ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR,
|
|
|
|
@@ -935,160 +194,20 @@ enum {
|
|
ETHTOOL_A_STATS_RMON_MAX = (__ETHTOOL_A_STATS_RMON_CNT - 1)
|
|
};
|
|
|
|
-/* MODULE */
|
|
-
|
|
enum {
|
|
- ETHTOOL_A_MODULE_UNSPEC,
|
|
- ETHTOOL_A_MODULE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_POWER_MODE_POLICY, /* u8 */
|
|
- ETHTOOL_A_MODULE_POWER_MODE, /* u8 */
|
|
+ /* Basic packet counters if PHY has separate counters from the MAC */
|
|
+ ETHTOOL_A_STATS_PHY_RX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_RX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_RX_ERRORS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_TX_ERRORS,
|
|
|
|
/* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_CNT,
|
|
- ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+ __ETHTOOL_A_STATS_PHY_CNT,
|
|
+ ETHTOOL_A_STATS_PHY_MAX = (__ETHTOOL_A_STATS_PHY_CNT - 1)
|
|
};
|
|
|
|
-/* Power Sourcing Equipment */
|
|
-enum {
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MIN, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MAX, /* u32 */
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PSE_UNSPEC,
|
|
- ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_CLASS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ACTUAL_PW, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_SUBSTATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES, /* nest - _C33_PSE_PW_LIMIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PSE_CNT,
|
|
- ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RSS_UNSPEC,
|
|
- ETHTOOL_A_RSS_HEADER,
|
|
- ETHTOOL_A_RSS_CONTEXT, /* u32 */
|
|
- ETHTOOL_A_RSS_HFUNC, /* u32 */
|
|
- ETHTOOL_A_RSS_INDIR, /* binary */
|
|
- ETHTOOL_A_RSS_HKEY, /* binary */
|
|
- ETHTOOL_A_RSS_INPUT_XFRM, /* u32 */
|
|
- ETHTOOL_A_RSS_START_CONTEXT, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_RSS_CNT,
|
|
- ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
|
|
-};
|
|
-
|
|
-/* PLCA */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PLCA_UNSPEC,
|
|
- ETHTOOL_A_PLCA_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PLCA_VERSION, /* u16 */
|
|
- ETHTOOL_A_PLCA_ENABLED, /* u8 */
|
|
- ETHTOOL_A_PLCA_STATUS, /* u8 */
|
|
- ETHTOOL_A_PLCA_NODE_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_NODE_ID, /* u32 */
|
|
- ETHTOOL_A_PLCA_TO_TMR, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_TMR, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PLCA_CNT,
|
|
- ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MAC Merge (802.3) */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_STAT_UNSPEC,
|
|
- ETHTOOL_A_MM_STAT_PAD,
|
|
-
|
|
- /* aMACMergeFrameAssErrorCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameSmdErrorCount */
|
|
- ETHTOOL_A_MM_STAT_SMD_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameAssOkCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_OK, /* u64 */
|
|
- /* aMACMergeFragCountRx */
|
|
- ETHTOOL_A_MM_STAT_RX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeFragCountTx */
|
|
- ETHTOOL_A_MM_STAT_TX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeHoldCount */
|
|
- ETHTOOL_A_MM_STAT_HOLD_COUNT, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_STAT_CNT,
|
|
- ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_UNSPEC,
|
|
- ETHTOOL_A_MM_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MM_PMAC_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_RX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_VERIFY_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_STATUS, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_MAX_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_STATS, /* nest - _A_MM_STAT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_CNT,
|
|
- ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE_FW_FLASH */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_PASSWORD, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_DONE, /* uint */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_TOTAL, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHY_UNSPEC,
|
|
- ETHTOOL_A_PHY_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHY_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_DRVNAME, /* string */
|
|
- ETHTOOL_A_PHY_NAME, /* string */
|
|
- ETHTOOL_A_PHY_UPSTREAM_TYPE, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_SFP_NAME, /* string */
|
|
- ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHY_CNT,
|
|
- ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
-};
|
|
-
|
|
-/* generic netlink info */
|
|
-#define ETHTOOL_GENL_NAME "ethtool"
|
|
-#define ETHTOOL_GENL_VERSION 1
|
|
-
|
|
#define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
|
|
|
|
#endif /* _LINUX_ETHTOOL_NETLINK_H_ */
|
|
--- /dev/null
|
|
+++ b/m68k/usr/include/linux/ethtool_netlink_generated.h
|
|
@@ -0,0 +1,821 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/ethtool.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+#define _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+
|
|
+#define ETHTOOL_GENL_NAME "ethtool"
|
|
+#define ETHTOOL_GENL_VERSION 1
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_GENEVE,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE,
|
|
+
|
|
+ /* private: */
|
|
+ __ETHTOOL_UDP_TUNNEL_TYPE_CNT,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_MAX = (__ETHTOOL_UDP_TUNNEL_TYPE_CNT - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum ethtool_header_flags - common ethtool header flags
|
|
+ * @ETHTOOL_FLAG_COMPACT_BITSETS: use compact bitsets in reply
|
|
+ * @ETHTOOL_FLAG_OMIT_REPLY: provide optional reply for SET or ACT requests
|
|
+ * @ETHTOOL_FLAG_STATS: request statistics, if supported by the driver
|
|
+ */
|
|
+enum ethtool_header_flags {
|
|
+ ETHTOOL_FLAG_COMPACT_BITSETS = 1,
|
|
+ ETHTOOL_FLAG_OMIT_REPLY = 2,
|
|
+ ETHTOOL_FLAG_STATS = 4,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_MAC,
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_PHY,
|
|
+};
|
|
+
|
|
+enum ethtool_tcp_data_split {
|
|
+ ETHTOOL_TCP_DATA_SPLIT_UNKNOWN,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_HEADER_UNSPEC,
|
|
+ ETHTOOL_A_HEADER_DEV_INDEX,
|
|
+ ETHTOOL_A_HEADER_DEV_NAME,
|
|
+ ETHTOOL_A_HEADER_FLAGS,
|
|
+ ETHTOOL_A_HEADER_PHY_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_HEADER_CNT,
|
|
+ ETHTOOL_A_HEADER_MAX = (__ETHTOOL_A_HEADER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BIT_INDEX,
|
|
+ ETHTOOL_A_BITSET_BIT_NAME,
|
|
+ ETHTOOL_A_BITSET_BIT_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BIT_CNT,
|
|
+ ETHTOOL_A_BITSET_BIT_MAX = (__ETHTOOL_A_BITSET_BIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BITS_BIT,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BITS_CNT,
|
|
+ ETHTOOL_A_BITSET_BITS_MAX = (__ETHTOOL_A_BITSET_BITS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_NOMASK,
|
|
+ ETHTOOL_A_BITSET_SIZE,
|
|
+ ETHTOOL_A_BITSET_BITS,
|
|
+ ETHTOOL_A_BITSET_VALUE,
|
|
+ ETHTOOL_A_BITSET_MASK,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_CNT,
|
|
+ ETHTOOL_A_BITSET_MAX = (__ETHTOOL_A_BITSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRING_UNSPEC,
|
|
+ ETHTOOL_A_STRING_INDEX,
|
|
+ ETHTOOL_A_STRING_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_STRING_CNT,
|
|
+ ETHTOOL_A_STRING_MAX = (__ETHTOOL_A_STRING_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGS_STRING,
|
|
+
|
|
+ __ETHTOOL_A_STRINGS_CNT,
|
|
+ ETHTOOL_A_STRINGS_MAX = (__ETHTOOL_A_STRINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSET_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSET_ID,
|
|
+ ETHTOOL_A_STRINGSET_COUNT,
|
|
+ ETHTOOL_A_STRINGSET_STRINGS,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSET_CNT,
|
|
+ ETHTOOL_A_STRINGSET_MAX = (__ETHTOOL_A_STRINGSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSETS_STRINGSET,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSETS_CNT,
|
|
+ ETHTOOL_A_STRINGSETS_MAX = (__ETHTOOL_A_STRINGSETS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRSET_UNSPEC,
|
|
+ ETHTOOL_A_STRSET_HEADER,
|
|
+ ETHTOOL_A_STRSET_STRINGSETS,
|
|
+ ETHTOOL_A_STRSET_COUNTS_ONLY,
|
|
+
|
|
+ __ETHTOOL_A_STRSET_CNT,
|
|
+ ETHTOOL_A_STRSET_MAX = (__ETHTOOL_A_STRSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
+ ETHTOOL_A_PRIVFLAGS_HEADER,
|
|
+ ETHTOOL_A_PRIVFLAGS_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
+ ETHTOOL_A_PRIVFLAGS_MAX = (__ETHTOOL_A_PRIVFLAGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RINGS_UNSPEC,
|
|
+ ETHTOOL_A_RINGS_HEADER,
|
|
+ ETHTOOL_A_RINGS_RX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO_MAX,
|
|
+ ETHTOOL_A_RINGS_TX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO,
|
|
+ ETHTOOL_A_RINGS_TX,
|
|
+ ETHTOOL_A_RINGS_RX_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
|
|
+ ETHTOOL_A_RINGS_CQE_SIZE,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH,
|
|
+ ETHTOOL_A_RINGS_RX_PUSH,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH_MAX,
|
|
+
|
|
+ __ETHTOOL_A_RINGS_CNT,
|
|
+ ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_STAT_UNSPEC,
|
|
+ ETHTOOL_A_MM_STAT_PAD,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_SMD_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_OK,
|
|
+ ETHTOOL_A_MM_STAT_RX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_TX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_HOLD_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_MM_STAT_CNT,
|
|
+ ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_UNSPEC,
|
|
+ ETHTOOL_A_MM_HEADER,
|
|
+ ETHTOOL_A_MM_PMAC_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ACTIVE,
|
|
+ ETHTOOL_A_MM_TX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_RX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_VERIFY_ENABLED,
|
|
+ ETHTOOL_A_MM_VERIFY_STATUS,
|
|
+ ETHTOOL_A_MM_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_MAX_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_STATS,
|
|
+
|
|
+ __ETHTOOL_A_MM_CNT,
|
|
+ ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKINFO_UNSPEC,
|
|
+ ETHTOOL_A_LINKINFO_HEADER,
|
|
+ ETHTOOL_A_LINKINFO_PORT,
|
|
+ ETHTOOL_A_LINKINFO_PHYADDR,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX_CTRL,
|
|
+ ETHTOOL_A_LINKINFO_TRANSCEIVER,
|
|
+
|
|
+ __ETHTOOL_A_LINKINFO_CNT,
|
|
+ ETHTOOL_A_LINKINFO_MAX = (__ETHTOOL_A_LINKINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKMODES_UNSPEC,
|
|
+ ETHTOOL_A_LINKMODES_HEADER,
|
|
+ ETHTOOL_A_LINKMODES_AUTONEG,
|
|
+ ETHTOOL_A_LINKMODES_OURS,
|
|
+ ETHTOOL_A_LINKMODES_PEER,
|
|
+ ETHTOOL_A_LINKMODES_SPEED,
|
|
+ ETHTOOL_A_LINKMODES_DUPLEX,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE,
|
|
+ ETHTOOL_A_LINKMODES_LANES,
|
|
+ ETHTOOL_A_LINKMODES_RATE_MATCHING,
|
|
+
|
|
+ __ETHTOOL_A_LINKMODES_CNT,
|
|
+ ETHTOOL_A_LINKMODES_MAX = (__ETHTOOL_A_LINKMODES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
+ ETHTOOL_A_LINKSTATE_HEADER,
|
|
+ ETHTOOL_A_LINKSTATE_LINK,
|
|
+ ETHTOOL_A_LINKSTATE_SQI,
|
|
+ ETHTOOL_A_LINKSTATE_SQI_MAX,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_STATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT,
|
|
+
|
|
+ __ETHTOOL_A_LINKSTATE_CNT,
|
|
+ ETHTOOL_A_LINKSTATE_MAX = (__ETHTOOL_A_LINKSTATE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_DEBUG_UNSPEC,
|
|
+ ETHTOOL_A_DEBUG_HEADER,
|
|
+ ETHTOOL_A_DEBUG_MSGMASK,
|
|
+
|
|
+ __ETHTOOL_A_DEBUG_CNT,
|
|
+ ETHTOOL_A_DEBUG_MAX = (__ETHTOOL_A_DEBUG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_WOL_UNSPEC,
|
|
+ ETHTOOL_A_WOL_HEADER,
|
|
+ ETHTOOL_A_WOL_MODES,
|
|
+ ETHTOOL_A_WOL_SOPASS,
|
|
+
|
|
+ __ETHTOOL_A_WOL_CNT,
|
|
+ ETHTOOL_A_WOL_MAX = (__ETHTOOL_A_WOL_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEATURES_UNSPEC,
|
|
+ ETHTOOL_A_FEATURES_HEADER,
|
|
+ ETHTOOL_A_FEATURES_HW,
|
|
+ ETHTOOL_A_FEATURES_WANTED,
|
|
+ ETHTOOL_A_FEATURES_ACTIVE,
|
|
+ ETHTOOL_A_FEATURES_NOCHANGE,
|
|
+
|
|
+ __ETHTOOL_A_FEATURES_CNT,
|
|
+ ETHTOOL_A_FEATURES_MAX = (__ETHTOOL_A_FEATURES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CHANNELS_UNSPEC,
|
|
+ ETHTOOL_A_CHANNELS_HEADER,
|
|
+ ETHTOOL_A_CHANNELS_RX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_TX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_MAX,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_MAX,
|
|
+ ETHTOOL_A_CHANNELS_RX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_TX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_CHANNELS_CNT,
|
|
+ ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_USEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_PKTS,
|
|
+ ETHTOOL_A_IRQ_MODERATION_COMPS,
|
|
+
|
|
+ __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
+ ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PROFILE_UNSPEC,
|
|
+ ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
+
|
|
+ __ETHTOOL_A_PROFILE_CNT,
|
|
+ ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_COALESCE_UNSPEC,
|
|
+ ETHTOOL_A_COALESCE_HEADER,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_STATS_BLOCK_USECS,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_TX,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_RX,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
+ ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
+
|
|
+ __ETHTOOL_A_COALESCE_CNT,
|
|
+ ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_STAT_PAD,
|
|
+ ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
+ ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
+ ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_HEADER,
|
|
+ ETHTOOL_A_PAUSE_AUTONEG,
|
|
+ ETHTOOL_A_PAUSE_RX,
|
|
+ ETHTOOL_A_PAUSE_TX,
|
|
+ ETHTOOL_A_PAUSE_STATS,
|
|
+ ETHTOOL_A_PAUSE_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_CNT,
|
|
+ ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_EEE_UNSPEC,
|
|
+ ETHTOOL_A_EEE_HEADER,
|
|
+ ETHTOOL_A_EEE_MODES_OURS,
|
|
+ ETHTOOL_A_EEE_MODES_PEER,
|
|
+ ETHTOOL_A_EEE_ACTIVE,
|
|
+ ETHTOOL_A_EEE_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_TIMER,
|
|
+
|
|
+ __ETHTOOL_A_EEE_CNT,
|
|
+ ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_STAT_UNSPEC,
|
|
+ ETHTOOL_A_TS_STAT_TX_PKTS,
|
|
+ ETHTOOL_A_TS_STAT_TX_LOST,
|
|
+ ETHTOOL_A_TS_STAT_TX_ERR,
|
|
+ ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED,
|
|
+
|
|
+ __ETHTOOL_A_TS_STAT_CNT,
|
|
+ ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER,
|
|
+
|
|
+ __ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = (__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSINFO_UNSPEC,
|
|
+ ETHTOOL_A_TSINFO_HEADER,
|
|
+ ETHTOOL_A_TSINFO_TIMESTAMPING,
|
|
+ ETHTOOL_A_TSINFO_TX_TYPES,
|
|
+ ETHTOOL_A_TSINFO_RX_FILTERS,
|
|
+ ETHTOOL_A_TSINFO_PHC_INDEX,
|
|
+ ETHTOOL_A_TSINFO_STATS,
|
|
+ ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER,
|
|
+
|
|
+ __ETHTOOL_A_TSINFO_CNT,
|
|
+ ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_RESULT_PAIR,
|
|
+ ETHTOOL_A_CABLE_RESULT_CODE,
|
|
+ ETHTOOL_A_CABLE_RESULT_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
+ ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_CM,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_NEST_RESULT,
|
|
+ ETHTOOL_A_CABLE_NEST_FAULT_LENGTH,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_NEST_CNT,
|
|
+ ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_HEADER,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_MAX = (__ETHTOOL_A_CABLE_TEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY,
|
|
+
|
|
+ __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,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_INFO_UDP_PORTS,
|
|
+
|
|
+ __ETHTOOL_A_TUNNEL_INFO_CNT,
|
|
+ ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
+ ETHTOOL_A_FEC_STAT_PAD,
|
|
+ ETHTOOL_A_FEC_STAT_CORRECTED,
|
|
+ ETHTOOL_A_FEC_STAT_UNCORR,
|
|
+ ETHTOOL_A_FEC_STAT_CORR_BITS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_STAT_CNT,
|
|
+ ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_UNSPEC,
|
|
+ ETHTOOL_A_FEC_HEADER,
|
|
+ ETHTOOL_A_FEC_MODES,
|
|
+ ETHTOOL_A_FEC_AUTO,
|
|
+ ETHTOOL_A_FEC_ACTIVE,
|
|
+ ETHTOOL_A_FEC_STATS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_CNT,
|
|
+ ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_EEPROM_HEADER,
|
|
+ ETHTOOL_A_MODULE_EEPROM_OFFSET,
|
|
+ ETHTOOL_A_MODULE_EEPROM_LENGTH,
|
|
+ ETHTOOL_A_MODULE_EEPROM_PAGE,
|
|
+ ETHTOOL_A_MODULE_EEPROM_BANK,
|
|
+ ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS,
|
|
+ ETHTOOL_A_MODULE_EEPROM_DATA,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
+ ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
+ ETHTOOL_A_STATS_GRP_PAD,
|
|
+ ETHTOOL_A_STATS_GRP_ID,
|
|
+ ETHTOOL_A_STATS_GRP_SS_ID,
|
|
+ ETHTOOL_A_STATS_GRP_STAT,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_RX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_TX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_LOW,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_HI,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_VAL,
|
|
+
|
|
+ __ETHTOOL_A_STATS_GRP_CNT,
|
|
+ ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_UNSPEC,
|
|
+ ETHTOOL_A_STATS_PAD,
|
|
+ ETHTOOL_A_STATS_HEADER,
|
|
+ ETHTOOL_A_STATS_GROUPS,
|
|
+ ETHTOOL_A_STATS_GRP,
|
|
+ ETHTOOL_A_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_STATS_CNT,
|
|
+ ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_HEADER,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_NUM,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_HEADER,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE_POLICY,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_CNT,
|
|
+ ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MIN,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MAX,
|
|
+
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_CNT,
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = (__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PSE_UNSPEC,
|
|
+ ETHTOOL_A_PSE_HEADER,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_PODL_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_C33_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_PW_CLASS,
|
|
+ ETHTOOL_A_C33_PSE_ACTUAL_PW,
|
|
+ ETHTOOL_A_C33_PSE_EXT_STATE,
|
|
+ ETHTOOL_A_C33_PSE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES,
|
|
+
|
|
+ __ETHTOOL_A_PSE_CNT,
|
|
+ ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RSS_UNSPEC,
|
|
+ ETHTOOL_A_RSS_HEADER,
|
|
+ ETHTOOL_A_RSS_CONTEXT,
|
|
+ ETHTOOL_A_RSS_HFUNC,
|
|
+ ETHTOOL_A_RSS_INDIR,
|
|
+ ETHTOOL_A_RSS_HKEY,
|
|
+ ETHTOOL_A_RSS_INPUT_XFRM,
|
|
+ ETHTOOL_A_RSS_START_CONTEXT,
|
|
+
|
|
+ __ETHTOOL_A_RSS_CNT,
|
|
+ ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PLCA_UNSPEC,
|
|
+ ETHTOOL_A_PLCA_HEADER,
|
|
+ ETHTOOL_A_PLCA_VERSION,
|
|
+ ETHTOOL_A_PLCA_ENABLED,
|
|
+ ETHTOOL_A_PLCA_STATUS,
|
|
+ ETHTOOL_A_PLCA_NODE_CNT,
|
|
+ ETHTOOL_A_PLCA_NODE_ID,
|
|
+ ETHTOOL_A_PLCA_TO_TMR,
|
|
+ ETHTOOL_A_PLCA_BURST_CNT,
|
|
+ ETHTOOL_A_PLCA_BURST_TMR,
|
|
+
|
|
+ __ETHTOOL_A_PLCA_CNT,
|
|
+ ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_HEADER,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_PASSWORD,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_DONE,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_TOTAL,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHY_UNSPEC,
|
|
+ ETHTOOL_A_PHY_HEADER,
|
|
+ ETHTOOL_A_PHY_INDEX,
|
|
+ ETHTOOL_A_PHY_DRVNAME,
|
|
+ ETHTOOL_A_PHY_NAME,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_TYPE,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_INDEX,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_SFP_NAME,
|
|
+ ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME,
|
|
+
|
|
+ __ETHTOOL_A_PHY_CNT,
|
|
+ ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSCONFIG_UNSPEC,
|
|
+ ETHTOOL_A_TSCONFIG_HEADER,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER,
|
|
+ ETHTOOL_A_TSCONFIG_TX_TYPES,
|
|
+ ETHTOOL_A_TSCONFIG_RX_FILTERS,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_TSCONFIG_CNT,
|
|
+ ETHTOOL_A_TSCONFIG_MAX = (__ETHTOOL_A_TSCONFIG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_USER_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET,
|
|
+ ETHTOOL_MSG_LINKINFO_SET,
|
|
+ ETHTOOL_MSG_LINKMODES_GET,
|
|
+ ETHTOOL_MSG_LINKMODES_SET,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET,
|
|
+ ETHTOOL_MSG_DEBUG_GET,
|
|
+ ETHTOOL_MSG_DEBUG_SET,
|
|
+ ETHTOOL_MSG_WOL_GET,
|
|
+ ETHTOOL_MSG_WOL_SET,
|
|
+ ETHTOOL_MSG_FEATURES_GET,
|
|
+ ETHTOOL_MSG_FEATURES_SET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
+ ETHTOOL_MSG_RINGS_GET,
|
|
+ ETHTOOL_MSG_RINGS_SET,
|
|
+ ETHTOOL_MSG_CHANNELS_GET,
|
|
+ ETHTOOL_MSG_CHANNELS_SET,
|
|
+ ETHTOOL_MSG_COALESCE_GET,
|
|
+ ETHTOOL_MSG_COALESCE_SET,
|
|
+ ETHTOOL_MSG_PAUSE_GET,
|
|
+ ETHTOOL_MSG_PAUSE_SET,
|
|
+ ETHTOOL_MSG_EEE_GET,
|
|
+ ETHTOOL_MSG_EEE_SET,
|
|
+ ETHTOOL_MSG_TSINFO_GET,
|
|
+ ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
+ ETHTOOL_MSG_FEC_GET,
|
|
+ ETHTOOL_MSG_FEC_SET,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
+ ETHTOOL_MSG_STATS_GET,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
+ ETHTOOL_MSG_MODULE_GET,
|
|
+ ETHTOOL_MSG_MODULE_SET,
|
|
+ ETHTOOL_MSG_PSE_GET,
|
|
+ ETHTOOL_MSG_PSE_SET,
|
|
+ ETHTOOL_MSG_RSS_GET,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_SET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
+ ETHTOOL_MSG_MM_GET,
|
|
+ ETHTOOL_MSG_MM_SET,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
+ ETHTOOL_MSG_PHY_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET,
|
|
+
|
|
+ __ETHTOOL_MSG_USER_CNT,
|
|
+ ETHTOOL_MSG_USER_MAX = (__ETHTOOL_MSG_USER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_KERNEL_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET_REPLY = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKINFO_NTF,
|
|
+ ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKMODES_NTF,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_NTF,
|
|
+ ETHTOOL_MSG_WOL_GET_REPLY,
|
|
+ ETHTOOL_MSG_WOL_NTF,
|
|
+ ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_NTF,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
+ ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_RINGS_NTF,
|
|
+ ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
+ ETHTOOL_MSG_CHANNELS_NTF,
|
|
+ ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
+ ETHTOOL_MSG_COALESCE_NTF,
|
|
+ ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_PAUSE_NTF,
|
|
+ ETHTOOL_MSG_EEE_GET_REPLY,
|
|
+ ETHTOOL_MSG_EEE_NTF,
|
|
+ ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_NTF,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
+ ETHTOOL_MSG_STATS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_NTF,
|
|
+ ETHTOOL_MSG_PSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_RSS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_NTF,
|
|
+ ETHTOOL_MSG_MM_GET_REPLY,
|
|
+ ETHTOOL_MSG_MM_NTF,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
+ ETHTOOL_MSG_PHY_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHY_NTF,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET_REPLY,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET_REPLY,
|
|
+
|
|
+ __ETHTOOL_MSG_KERNEL_CNT,
|
|
+ ETHTOOL_MSG_KERNEL_MAX = (__ETHTOOL_MSG_KERNEL_CNT - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_ETHTOOL_NETLINK_GENERATED_H */
|
|
--- a/m68k/usr/include/linux/fs.h
|
|
+++ b/m68k/usr/include/linux/fs.h
|
|
@@ -36,6 +36,15 @@
|
|
#define BLOCK_SIZE_BITS 10
|
|
#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
|
|
|
|
+/* flags for integrity meta */
|
|
+#define IO_INTEGRITY_CHK_GUARD (1U << 0) /* enforce guard check */
|
|
+#define IO_INTEGRITY_CHK_REFTAG (1U << 1) /* enforce ref check */
|
|
+#define IO_INTEGRITY_CHK_APPTAG (1U << 2) /* enforce app check */
|
|
+
|
|
+#define IO_INTEGRITY_VALID_FLAGS (IO_INTEGRITY_CHK_GUARD | \
|
|
+ IO_INTEGRITY_CHK_REFTAG | \
|
|
+ IO_INTEGRITY_CHK_APPTAG)
|
|
+
|
|
#define SEEK_SET 0 /* seek relative to beginning of file */
|
|
#define SEEK_CUR 1 /* seek relative to current file position */
|
|
#define SEEK_END 2 /* seek relative to end of file */
|
|
--- a/m68k/usr/include/linux/hidraw.h
|
|
+++ b/m68k/usr/include/linux/hidraw.h
|
|
@@ -48,6 +48,8 @@ struct hidraw_devinfo {
|
|
#define HIDIOCGOUTPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0C, len)
|
|
#define HIDIOCREVOKE _IOW('H', 0x0D, int) /* Revoke device access */
|
|
|
|
+#define HIDIOCTL_LAST _IOC_NR(HIDIOCREVOKE)
|
|
+
|
|
#define HIDRAW_FIRST_MINOR 0
|
|
#define HIDRAW_MAX_DEVICES 64
|
|
/* number of reports to buffer */
|
|
--- a/m68k/usr/include/linux/if_link.h
|
|
+++ b/m68k/usr/include/linux/if_link.h
|
|
@@ -377,6 +377,7 @@ enum {
|
|
IFLA_GSO_IPV4_MAX_SIZE,
|
|
IFLA_GRO_IPV4_MAX_SIZE,
|
|
IFLA_DPLL_PIN,
|
|
+ IFLA_MAX_PACING_OFFLOAD_HORIZON,
|
|
__IFLA_MAX
|
|
};
|
|
|
|
--- a/m68k/usr/include/linux/input-event-codes.h
|
|
+++ b/m68k/usr/include/linux/input-event-codes.h
|
|
@@ -519,6 +519,7 @@
|
|
#define KEY_NOTIFICATION_CENTER 0x1bc /* Show/hide the notification center */
|
|
#define KEY_PICKUP_PHONE 0x1bd /* Answer incoming call */
|
|
#define KEY_HANGUP_PHONE 0x1be /* Decline incoming call */
|
|
+#define KEY_LINK_PHONE 0x1bf /* AL Phone Syncing */
|
|
|
|
#define KEY_DEL_EOL 0x1c0
|
|
#define KEY_DEL_EOS 0x1c1
|
|
--- a/m68k/usr/include/linux/io_uring.h
|
|
+++ b/m68k/usr/include/linux/io_uring.h
|
|
@@ -98,6 +98,10 @@ struct io_uring_sqe {
|
|
__u64 addr3;
|
|
__u64 __pad2[1];
|
|
};
|
|
+ struct {
|
|
+ __u64 attr_ptr; /* pointer to attribute information */
|
|
+ __u64 attr_type_mask; /* bit mask of attributes */
|
|
+ };
|
|
__u64 optval;
|
|
/*
|
|
* If the ring is initialized with IORING_SETUP_SQE128, then
|
|
@@ -107,6 +111,18 @@ struct io_uring_sqe {
|
|
};
|
|
};
|
|
|
|
+/* sqe->attr_type_mask flags */
|
|
+#define IORING_RW_ATTR_FLAG_PI (1U << 0)
|
|
+/* PI attribute information */
|
|
+struct io_uring_attr_pi {
|
|
+ __u16 flags;
|
|
+ __u16 app_tag;
|
|
+ __u32 len;
|
|
+ __u64 addr;
|
|
+ __u64 seed;
|
|
+ __u64 rsvd;
|
|
+};
|
|
+
|
|
/*
|
|
* If sqe->file_index is set to this for opcodes that instantiate a new
|
|
* direct descriptor (like openat/openat2/accept), then io_uring will allocate
|
|
@@ -554,6 +570,7 @@ struct io_uring_params {
|
|
#define IORING_FEAT_REG_REG_RING (1U << 13)
|
|
#define IORING_FEAT_RECVSEND_BUNDLE (1U << 14)
|
|
#define IORING_FEAT_MIN_TIMEOUT (1U << 15)
|
|
+#define IORING_FEAT_RW_ATTR (1U << 16)
|
|
|
|
/*
|
|
* io_uring_register(2) opcodes and arguments
|
|
--- a/m68k/usr/include/linux/iommufd.h
|
|
+++ b/m68k/usr/include/linux/iommufd.h
|
|
@@ -737,6 +737,7 @@ enum iommu_hwpt_pgfault_perm {
|
|
* @pasid: Process Address Space ID
|
|
* @grpid: Page Request Group Index
|
|
* @perm: Combination of enum iommu_hwpt_pgfault_perm
|
|
+ * @__reserved: Must be 0.
|
|
* @addr: Fault address
|
|
* @length: a hint of how much data the requestor is expecting to fetch. For
|
|
* example, if the PRI initiator knows it is going to do a 10MB
|
|
@@ -752,7 +753,8 @@ struct iommu_hwpt_pgfault {
|
|
__u32 pasid;
|
|
__u32 grpid;
|
|
__u32 perm;
|
|
- __u64 addr;
|
|
+ __u32 __reserved;
|
|
+ __aligned_u64 addr;
|
|
__u32 length;
|
|
__u32 cookie;
|
|
};
|
|
--- a/m68k/usr/include/linux/kfd_ioctl.h
|
|
+++ b/m68k/usr/include/linux/kfd_ioctl.h
|
|
@@ -62,6 +62,8 @@ struct kfd_ioctl_get_version_args {
|
|
#define KFD_MAX_QUEUE_PERCENTAGE 100
|
|
#define KFD_MAX_QUEUE_PRIORITY 15
|
|
|
|
+#define KFD_MIN_QUEUE_RING_SIZE 1024
|
|
+
|
|
struct kfd_ioctl_create_queue_args {
|
|
__u64 ring_base_address; /* to KFD */
|
|
__u64 write_pointer_address; /* from KFD */
|
|
--- a/m68k/usr/include/linux/landlock.h
|
|
+++ b/m68k/usr/include/linux/landlock.h
|
|
@@ -57,9 +57,11 @@ struct landlock_ruleset_attr {
|
|
*
|
|
* - %LANDLOCK_CREATE_RULESET_VERSION: Get the highest supported Landlock ABI
|
|
* version.
|
|
+ * - %LANDLOCK_CREATE_RULESET_ERRATA: Get a bitmask of fixed issues.
|
|
*/
|
|
/* clang-format off */
|
|
#define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
|
|
+#define LANDLOCK_CREATE_RULESET_ERRATA (1U << 1)
|
|
/* clang-format on */
|
|
|
|
/**
|
|
--- /dev/null
|
|
+++ b/m68k/usr/include/linux/livepatch.h
|
|
@@ -0,0 +1,15 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+
|
|
+/*
|
|
+ * livepatch.h - Kernel Live Patching Core
|
|
+ *
|
|
+ * Copyright (C) 2016 Josh Poimboeuf <jpoimboe@redhat.com>
|
|
+ */
|
|
+
|
|
+#ifndef _LIVEPATCH_H
|
|
+#define _LIVEPATCH_H
|
|
+
|
|
+#define KLP_RELA_PREFIX ".klp.rela."
|
|
+#define KLP_SYM_PREFIX ".klp.sym."
|
|
+
|
|
+#endif /* _LIVEPATCH_H */
|
|
--- /dev/null
|
|
+++ b/m68k/usr/include/linux/mshv.h
|
|
@@ -0,0 +1,291 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+/*
|
|
+ * Userspace interfaces for /dev/mshv* devices and derived fds
|
|
+ *
|
|
+ * This file is divided into sections containing data structures and IOCTLs for
|
|
+ * a particular set of related devices or derived file descriptors.
|
|
+ *
|
|
+ * The IOCTL definitions are at the end of each section. They are grouped by
|
|
+ * device/fd, so that new IOCTLs can easily be added with a monotonically
|
|
+ * increasing number.
|
|
+ */
|
|
+#ifndef _LINUX_MSHV_H
|
|
+#define _LINUX_MSHV_H
|
|
+
|
|
+#include <linux/types.h>
|
|
+
|
|
+#define MSHV_IOCTL 0xB8
|
|
+
|
|
+/*
|
|
+ *******************************************
|
|
+ * Entry point to main VMM APIs: /dev/mshv *
|
|
+ *******************************************
|
|
+ */
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_BIT_LAPIC,
|
|
+ MSHV_PT_BIT_X2APIC,
|
|
+ MSHV_PT_BIT_GPA_SUPER_PAGES,
|
|
+ MSHV_PT_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_PT_FLAGS_MASK ((1 << MSHV_PT_BIT_COUNT) - 1)
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_ISOLATION_NONE,
|
|
+ MSHV_PT_ISOLATION_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_create_partition - arguments for MSHV_CREATE_PARTITION
|
|
+ * @pt_flags: Bitmask of 1 << MSHV_PT_BIT_*
|
|
+ * @pt_isolation: MSHV_PT_ISOLATION_*
|
|
+ *
|
|
+ * Returns a file descriptor to act as a handle to a guest partition.
|
|
+ * At this point the partition is not yet initialized in the hypervisor.
|
|
+ * Some operations must be done with the partition in this state, e.g. setting
|
|
+ * so-called "early" partition properties. The partition can then be
|
|
+ * initialized with MSHV_INITIALIZE_PARTITION.
|
|
+ */
|
|
+struct mshv_create_partition {
|
|
+ __u64 pt_flags;
|
|
+ __u64 pt_isolation;
|
|
+};
|
|
+
|
|
+/* /dev/mshv */
|
|
+#define MSHV_CREATE_PARTITION _IOW(MSHV_IOCTL, 0x00, struct mshv_create_partition)
|
|
+
|
|
+/*
|
|
+ ************************
|
|
+ * Child partition APIs *
|
|
+ ************************
|
|
+ */
|
|
+
|
|
+struct mshv_create_vp {
|
|
+ __u32 vp_index;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_SET_MEM_BIT_WRITABLE,
|
|
+ MSHV_SET_MEM_BIT_EXECUTABLE,
|
|
+ MSHV_SET_MEM_BIT_UNMAP,
|
|
+ MSHV_SET_MEM_BIT_COUNT
|
|
+};
|
|
+
|
|
+#define MSHV_SET_MEM_FLAGS_MASK ((1 << MSHV_SET_MEM_BIT_COUNT) - 1)
|
|
+
|
|
+/* The hypervisor's "native" page size */
|
|
+#define MSHV_HV_PAGE_SIZE 0x1000
|
|
+
|
|
+/**
|
|
+ * struct mshv_user_mem_region - arguments for MSHV_SET_GUEST_MEMORY
|
|
+ * @size: Size of the memory region (bytes). Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @guest_pfn: Base guest page number to map
|
|
+ * @userspace_addr: Base address of userspace memory. Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @flags: Bitmask of 1 << MSHV_SET_MEM_BIT_*. If (1 << MSHV_SET_MEM_BIT_UNMAP)
|
|
+ * is set, ignore other bits.
|
|
+ * @rsvd: MBZ
|
|
+ *
|
|
+ * Map or unmap a region of userspace memory to Guest Physical Addresses (GPA).
|
|
+ * Mappings can't overlap in GPA space or userspace.
|
|
+ * To unmap, these fields must match an existing mapping.
|
|
+ */
|
|
+struct mshv_user_mem_region {
|
|
+ __u64 size;
|
|
+ __u64 guest_pfn;
|
|
+ __u64 userspace_addr;
|
|
+ __u8 flags;
|
|
+ __u8 rsvd[7];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IRQFD_BIT_DEASSIGN,
|
|
+ MSHV_IRQFD_BIT_RESAMPLE,
|
|
+ MSHV_IRQFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IRQFD_FLAGS_MASK ((1 << MSHV_IRQFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_irqfd {
|
|
+ __s32 fd;
|
|
+ __s32 resamplefd;
|
|
+ __u32 gsi;
|
|
+ __u32 flags;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IOEVENTFD_BIT_DATAMATCH,
|
|
+ MSHV_IOEVENTFD_BIT_PIO,
|
|
+ MSHV_IOEVENTFD_BIT_DEASSIGN,
|
|
+ MSHV_IOEVENTFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IOEVENTFD_FLAGS_MASK ((1 << MSHV_IOEVENTFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_ioeventfd {
|
|
+ __u64 datamatch;
|
|
+ __u64 addr; /* legal pio/mmio address */
|
|
+ __u32 len; /* 1, 2, 4, or 8 bytes */
|
|
+ __s32 fd;
|
|
+ __u32 flags;
|
|
+ __u8 rsvd[4];
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_entry {
|
|
+ __u32 gsi;
|
|
+ __u32 address_lo;
|
|
+ __u32 address_hi;
|
|
+ __u32 data;
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_table {
|
|
+ __u32 nr;
|
|
+ __u32 rsvd; /* MBZ */
|
|
+ struct mshv_user_irq_entry entries[];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_TYPE_ACCESSED,
|
|
+ MSHV_GPAP_ACCESS_TYPE_DIRTY,
|
|
+ MSHV_GPAP_ACCESS_TYPE_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_OP_NOOP,
|
|
+ MSHV_GPAP_ACCESS_OP_CLEAR,
|
|
+ MSHV_GPAP_ACCESS_OP_SET,
|
|
+ MSHV_GPAP_ACCESS_OP_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_gpap_access_bitmap - arguments for MSHV_GET_GPAP_ACCESS_BITMAP
|
|
+ * @access_type: MSHV_GPAP_ACCESS_TYPE_* - The type of access to record in the
|
|
+ * bitmap
|
|
+ * @access_op: MSHV_GPAP_ACCESS_OP_* - Allows an optional clear or set of all
|
|
+ * the access states in the range, after retrieving the current
|
|
+ * states.
|
|
+ * @rsvd: MBZ
|
|
+ * @page_count: Number of pages
|
|
+ * @gpap_base: Base gpa page number
|
|
+ * @bitmap_ptr: Output buffer for bitmap, at least (page_count + 7) / 8 bytes
|
|
+ *
|
|
+ * Retrieve a bitmap of either ACCESSED or DIRTY bits for a given range of guest
|
|
+ * memory, and optionally clear or set the bits.
|
|
+ */
|
|
+struct mshv_gpap_access_bitmap {
|
|
+ __u8 access_type;
|
|
+ __u8 access_op;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 page_count;
|
|
+ __u64 gpap_base;
|
|
+ __u64 bitmap_ptr;
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_root_hvcall - arguments for MSHV_ROOT_HVCALL
|
|
+ * @code: Hypercall code (HVCALL_*)
|
|
+ * @reps: in: Rep count ('repcount')
|
|
+ * out: Reps completed ('repcomp'). MBZ unless rep hvcall
|
|
+ * @in_sz: Size of input incl rep data. <= MSHV_HV_PAGE_SIZE
|
|
+ * @out_sz: Size of output buffer. <= MSHV_HV_PAGE_SIZE. MBZ if out_ptr is 0
|
|
+ * @status: in: MBZ
|
|
+ * out: HV_STATUS_* from hypercall
|
|
+ * @rsvd: MBZ
|
|
+ * @in_ptr: Input data buffer (struct hv_input_*). If used with partition or
|
|
+ * vp fd, partition id field is populated by kernel.
|
|
+ * @out_ptr: Output data buffer (optional)
|
|
+ */
|
|
+struct mshv_root_hvcall {
|
|
+ __u16 code;
|
|
+ __u16 reps;
|
|
+ __u16 in_sz;
|
|
+ __u16 out_sz;
|
|
+ __u16 status;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 in_ptr;
|
|
+ __u64 out_ptr;
|
|
+};
|
|
+
|
|
+/* Partition fds created with MSHV_CREATE_PARTITION */
|
|
+#define MSHV_INITIALIZE_PARTITION _IO(MSHV_IOCTL, 0x00)
|
|
+#define MSHV_CREATE_VP _IOW(MSHV_IOCTL, 0x01, struct mshv_create_vp)
|
|
+#define MSHV_SET_GUEST_MEMORY _IOW(MSHV_IOCTL, 0x02, struct mshv_user_mem_region)
|
|
+#define MSHV_IRQFD _IOW(MSHV_IOCTL, 0x03, struct mshv_user_irqfd)
|
|
+#define MSHV_IOEVENTFD _IOW(MSHV_IOCTL, 0x04, struct mshv_user_ioeventfd)
|
|
+#define MSHV_SET_MSI_ROUTING _IOW(MSHV_IOCTL, 0x05, struct mshv_user_irq_table)
|
|
+#define MSHV_GET_GPAP_ACCESS_BITMAP _IOWR(MSHV_IOCTL, 0x06, struct mshv_gpap_access_bitmap)
|
|
+/* Generic hypercall */
|
|
+#define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+
|
|
+/*
|
|
+ ********************************
|
|
+ * VP APIs for child partitions *
|
|
+ ********************************
|
|
+ */
|
|
+
|
|
+#define MSHV_RUN_VP_BUF_SZ 256
|
|
+
|
|
+/*
|
|
+ * VP state pages may be mapped to userspace via mmap().
|
|
+ * To specify which state page, use MSHV_VP_MMAP_OFFSET_ values multiplied by
|
|
+ * the system page size.
|
|
+ * e.g.
|
|
+ * long page_size = sysconf(_SC_PAGE_SIZE);
|
|
+ * void *reg_page = mmap(NULL, MSHV_HV_PAGE_SIZE, PROT_READ|PROT_WRITE,
|
|
+ * MAP_SHARED, vp_fd,
|
|
+ * MSHV_VP_MMAP_OFFSET_REGISTERS * page_size);
|
|
+ */
|
|
+enum {
|
|
+ MSHV_VP_MMAP_OFFSET_REGISTERS,
|
|
+ MSHV_VP_MMAP_OFFSET_INTERCEPT_MESSAGE,
|
|
+ MSHV_VP_MMAP_OFFSET_GHCB,
|
|
+ MSHV_VP_MMAP_OFFSET_COUNT
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_run_vp - argument for MSHV_RUN_VP
|
|
+ * @msg_buf: On success, the intercept message is copied here. It can be
|
|
+ * interpreted using the relevant hypervisor definitions.
|
|
+ */
|
|
+struct mshv_run_vp {
|
|
+ __u8 msg_buf[MSHV_RUN_VP_BUF_SZ];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_VP_STATE_LAPIC, /* Local interrupt controller state (either arch) */
|
|
+ MSHV_VP_STATE_XSAVE, /* XSAVE data in compacted form (x86_64) */
|
|
+ MSHV_VP_STATE_SIMP,
|
|
+ MSHV_VP_STATE_SIEFP,
|
|
+ MSHV_VP_STATE_SYNTHETIC_TIMERS,
|
|
+ MSHV_VP_STATE_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_get_set_vp_state - arguments for MSHV_[GET,SET]_VP_STATE
|
|
+ * @type: MSHV_VP_STATE_*
|
|
+ * @rsvd: MBZ
|
|
+ * @buf_sz: in: 4k page-aligned size of buffer
|
|
+ * out: Actual size of data (on EINVAL, check this to see if buffer
|
|
+ * was too small)
|
|
+ * @buf_ptr: 4k page-aligned data buffer
|
|
+ */
|
|
+struct mshv_get_set_vp_state {
|
|
+ __u8 type;
|
|
+ __u8 rsvd[3];
|
|
+ __u32 buf_sz;
|
|
+ __u64 buf_ptr;
|
|
+};
|
|
+
|
|
+/* VP fds created with MSHV_CREATE_VP */
|
|
+#define MSHV_RUN_VP _IOR(MSHV_IOCTL, 0x00, struct mshv_run_vp)
|
|
+#define MSHV_GET_VP_STATE _IOWR(MSHV_IOCTL, 0x01, struct mshv_get_set_vp_state)
|
|
+#define MSHV_SET_VP_STATE _IOWR(MSHV_IOCTL, 0x02, struct mshv_get_set_vp_state)
|
|
+/*
|
|
+ * Generic hypercall
|
|
+ * Defined above in partition IOCTLs, avoid redefining it here
|
|
+ * #define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+ */
|
|
+
|
|
+#endif
|
|
--- /dev/null
|
|
+++ b/m68k/usr/include/linux/net_shaper.h
|
|
@@ -0,0 +1,95 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/net_shaper.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_NET_SHAPER_H
|
|
+#define _LINUX_NET_SHAPER_H
|
|
+
|
|
+#define NET_SHAPER_FAMILY_NAME "net-shaper"
|
|
+#define NET_SHAPER_FAMILY_VERSION 1
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_scope - Defines the shaper @id interpretation.
|
|
+ * @NET_SHAPER_SCOPE_UNSPEC: The scope is not specified.
|
|
+ * @NET_SHAPER_SCOPE_NETDEV: The main shaper for the given network device.
|
|
+ * @NET_SHAPER_SCOPE_QUEUE: The shaper is attached to the given device queue,
|
|
+ * the @id represents the queue number.
|
|
+ * @NET_SHAPER_SCOPE_NODE: The shaper allows grouping of queues or other node
|
|
+ * shapers; can be nested in either @netdev shapers or other @node shapers,
|
|
+ * allowing placement in any location of the scheduling tree, except leaves
|
|
+ * and root.
|
|
+ */
|
|
+enum net_shaper_scope {
|
|
+ NET_SHAPER_SCOPE_UNSPEC,
|
|
+ NET_SHAPER_SCOPE_NETDEV,
|
|
+ NET_SHAPER_SCOPE_QUEUE,
|
|
+ NET_SHAPER_SCOPE_NODE,
|
|
+
|
|
+ /* private: */
|
|
+ __NET_SHAPER_SCOPE_MAX,
|
|
+ NET_SHAPER_SCOPE_MAX = (__NET_SHAPER_SCOPE_MAX - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_metric - Different metric supported by the shaper.
|
|
+ * @NET_SHAPER_METRIC_BPS: Shaper operates on a bits per second basis.
|
|
+ * @NET_SHAPER_METRIC_PPS: Shaper operates on a packets per second basis.
|
|
+ */
|
|
+enum net_shaper_metric {
|
|
+ NET_SHAPER_METRIC_BPS,
|
|
+ NET_SHAPER_METRIC_PPS,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE = 1,
|
|
+ NET_SHAPER_A_METRIC,
|
|
+ NET_SHAPER_A_BW_MIN,
|
|
+ NET_SHAPER_A_BW_MAX,
|
|
+ NET_SHAPER_A_BURST,
|
|
+ NET_SHAPER_A_PRIORITY,
|
|
+ NET_SHAPER_A_WEIGHT,
|
|
+ NET_SHAPER_A_IFINDEX,
|
|
+ NET_SHAPER_A_PARENT,
|
|
+ NET_SHAPER_A_LEAVES,
|
|
+
|
|
+ __NET_SHAPER_A_MAX,
|
|
+ NET_SHAPER_A_MAX = (__NET_SHAPER_A_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE_SCOPE = 1,
|
|
+ NET_SHAPER_A_HANDLE_ID,
|
|
+
|
|
+ __NET_SHAPER_A_HANDLE_MAX,
|
|
+ NET_SHAPER_A_HANDLE_MAX = (__NET_SHAPER_A_HANDLE_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_CAPS_IFINDEX = 1,
|
|
+ NET_SHAPER_A_CAPS_SCOPE,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_BPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_PPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_NESTING,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MIN,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MAX,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BURST,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_PRIORITY,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_WEIGHT,
|
|
+
|
|
+ __NET_SHAPER_A_CAPS_MAX,
|
|
+ NET_SHAPER_A_CAPS_MAX = (__NET_SHAPER_A_CAPS_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_CMD_GET = 1,
|
|
+ NET_SHAPER_CMD_SET,
|
|
+ NET_SHAPER_CMD_DELETE,
|
|
+ NET_SHAPER_CMD_GROUP,
|
|
+ NET_SHAPER_CMD_CAP_GET,
|
|
+
|
|
+ __NET_SHAPER_CMD_MAX,
|
|
+ NET_SHAPER_CMD_MAX = (__NET_SHAPER_CMD_MAX - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_NET_SHAPER_H */
|
|
--- a/m68k/usr/include/linux/net_tstamp.h
|
|
+++ b/m68k/usr/include/linux/net_tstamp.h
|
|
@@ -13,6 +13,17 @@
|
|
#include <linux/types.h>
|
|
#include <linux/socket.h> /* for SO_TIMESTAMPING */
|
|
|
|
+/*
|
|
+ * Possible type of hwtstamp provider. Mainly "precise" the default one
|
|
+ * is for IEEE 1588 quality and "approx" is for NICs DMA point.
|
|
+ */
|
|
+enum hwtstamp_provider_qualifier {
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_PRECISE,
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_APPROX,
|
|
+
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_CNT,
|
|
+};
|
|
+
|
|
/* SO_TIMESTAMPING flags */
|
|
enum {
|
|
SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
|
|
--- a/m68k/usr/include/linux/netdev.h
|
|
+++ b/m68k/usr/include/linux/netdev.h
|
|
@@ -122,6 +122,9 @@ enum {
|
|
NETDEV_A_NAPI_ID,
|
|
NETDEV_A_NAPI_IRQ,
|
|
NETDEV_A_NAPI_PID,
|
|
+ NETDEV_A_NAPI_DEFER_HARD_IRQS,
|
|
+ NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT,
|
|
+ NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT,
|
|
|
|
__NETDEV_A_NAPI_MAX,
|
|
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
|
@@ -199,6 +202,7 @@ enum {
|
|
NETDEV_CMD_NAPI_GET,
|
|
NETDEV_CMD_QSTATS_GET,
|
|
NETDEV_CMD_BIND_RX,
|
|
+ NETDEV_CMD_NAPI_SET,
|
|
|
|
__NETDEV_CMD_MAX,
|
|
NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)
|
|
--- a/m68k/usr/include/linux/nl80211.h
|
|
+++ b/m68k/usr/include/linux/nl80211.h
|
|
@@ -4294,6 +4294,8 @@ enum nl80211_wmm_rule {
|
|
* otherwise completely disabled.
|
|
* @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a
|
|
* very low power (VLP) AP, despite being NO_IR.
|
|
+ * @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in
|
|
+ * 20 MHz bandwidth, despite being NO_IR.
|
|
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
|
* currently defined
|
|
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
|
@@ -4338,6 +4340,7 @@ enum nl80211_frequency_attr {
|
|
NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
|
|
NL80211_FREQUENCY_ATTR_CAN_MONITOR,
|
|
NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
|
|
+ NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY,
|
|
|
|
/* keep last */
|
|
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
|
@@ -4549,31 +4552,34 @@ enum nl80211_sched_scan_match_attr {
|
|
* @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed
|
|
* @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted
|
|
* despite NO_IR configuration.
|
|
+ * @NL80211_RRF_ALLOW_20MHZ_ACTIVITY: Allow activity in 20 MHz bandwidth,
|
|
+ * despite NO_IR configuration.
|
|
*/
|
|
enum nl80211_reg_rule_flags {
|
|
- NL80211_RRF_NO_OFDM = 1<<0,
|
|
- NL80211_RRF_NO_CCK = 1<<1,
|
|
- NL80211_RRF_NO_INDOOR = 1<<2,
|
|
- NL80211_RRF_NO_OUTDOOR = 1<<3,
|
|
- NL80211_RRF_DFS = 1<<4,
|
|
- NL80211_RRF_PTP_ONLY = 1<<5,
|
|
- NL80211_RRF_PTMP_ONLY = 1<<6,
|
|
- NL80211_RRF_NO_IR = 1<<7,
|
|
- __NL80211_RRF_NO_IBSS = 1<<8,
|
|
- NL80211_RRF_AUTO_BW = 1<<11,
|
|
- NL80211_RRF_IR_CONCURRENT = 1<<12,
|
|
- NL80211_RRF_NO_HT40MINUS = 1<<13,
|
|
- NL80211_RRF_NO_HT40PLUS = 1<<14,
|
|
- NL80211_RRF_NO_80MHZ = 1<<15,
|
|
- NL80211_RRF_NO_160MHZ = 1<<16,
|
|
- NL80211_RRF_NO_HE = 1<<17,
|
|
- NL80211_RRF_NO_320MHZ = 1<<18,
|
|
- NL80211_RRF_NO_EHT = 1<<19,
|
|
- NL80211_RRF_PSD = 1<<20,
|
|
- NL80211_RRF_DFS_CONCURRENT = 1<<21,
|
|
- NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22,
|
|
- NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23,
|
|
- NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24,
|
|
+ NL80211_RRF_NO_OFDM = 1 << 0,
|
|
+ NL80211_RRF_NO_CCK = 1 << 1,
|
|
+ NL80211_RRF_NO_INDOOR = 1 << 2,
|
|
+ NL80211_RRF_NO_OUTDOOR = 1 << 3,
|
|
+ NL80211_RRF_DFS = 1 << 4,
|
|
+ NL80211_RRF_PTP_ONLY = 1 << 5,
|
|
+ NL80211_RRF_PTMP_ONLY = 1 << 6,
|
|
+ NL80211_RRF_NO_IR = 1 << 7,
|
|
+ __NL80211_RRF_NO_IBSS = 1 << 8,
|
|
+ NL80211_RRF_AUTO_BW = 1 << 11,
|
|
+ NL80211_RRF_IR_CONCURRENT = 1 << 12,
|
|
+ NL80211_RRF_NO_HT40MINUS = 1 << 13,
|
|
+ NL80211_RRF_NO_HT40PLUS = 1 << 14,
|
|
+ NL80211_RRF_NO_80MHZ = 1 << 15,
|
|
+ NL80211_RRF_NO_160MHZ = 1 << 16,
|
|
+ NL80211_RRF_NO_HE = 1 << 17,
|
|
+ NL80211_RRF_NO_320MHZ = 1 << 18,
|
|
+ NL80211_RRF_NO_EHT = 1 << 19,
|
|
+ NL80211_RRF_PSD = 1 << 20,
|
|
+ NL80211_RRF_DFS_CONCURRENT = 1 << 21,
|
|
+ NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22,
|
|
+ NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23,
|
|
+ NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24,
|
|
+ NL80211_RRF_ALLOW_20MHZ_ACTIVITY = 1 << 25,
|
|
};
|
|
|
|
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
|
|
--- a/m68k/usr/include/linux/pci_regs.h
|
|
+++ b/m68k/usr/include/linux/pci_regs.h
|
|
@@ -340,7 +340,8 @@
|
|
#define PCI_MSIX_ENTRY_UPPER_ADDR 0x4 /* Message Upper Address */
|
|
#define PCI_MSIX_ENTRY_DATA 0x8 /* Message Data */
|
|
#define PCI_MSIX_ENTRY_VECTOR_CTRL 0xc /* Vector Control */
|
|
-#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001
|
|
+#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001 /* Mask Bit */
|
|
+#define PCI_MSIX_ENTRY_CTRL_ST 0xffff0000 /* Steering Tag */
|
|
|
|
/* CompactPCI Hotswap Register */
|
|
|
|
@@ -659,6 +660,7 @@
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP64 0x00000100 /* 64b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP128 0x00000200 /* 128b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_LTR 0x00000800 /* Latency tolerance reporting */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_MASK 0x00003000 /* TPH completer support */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000 /* OBFF support mechanism */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000 /* New message signaling */
|
|
#define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
|
|
@@ -1023,15 +1025,34 @@
|
|
#define PCI_DPA_CAP_SUBSTATE_MASK 0x1F /* # substates - 1 */
|
|
#define PCI_DPA_BASE_SIZEOF 16 /* size with 0 substates */
|
|
|
|
+/* TPH Completer Support */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_NONE 0x0 /* None */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_TPH_ONLY 0x1 /* TPH only */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_EXT_TPH 0x3 /* TPH and Extended TPH */
|
|
+
|
|
/* TPH Requester */
|
|
#define PCI_TPH_CAP 4 /* capability register */
|
|
-#define PCI_TPH_CAP_LOC_MASK 0x600 /* location mask */
|
|
-#define PCI_TPH_LOC_NONE 0x000 /* no location */
|
|
-#define PCI_TPH_LOC_CAP 0x200 /* in capability */
|
|
-#define PCI_TPH_LOC_MSIX 0x400 /* in MSI-X */
|
|
-#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST table mask */
|
|
-#define PCI_TPH_CAP_ST_SHIFT 16 /* ST table shift */
|
|
-#define PCI_TPH_BASE_SIZEOF 0xc /* size with no ST table */
|
|
+#define PCI_TPH_CAP_ST_NS 0x00000001 /* No ST Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_IV 0x00000002 /* Interrupt Vector Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_DS 0x00000004 /* Device Specific Mode Supported */
|
|
+#define PCI_TPH_CAP_EXT_TPH 0x00000100 /* Ext TPH Requester Supported */
|
|
+#define PCI_TPH_CAP_LOC_MASK 0x00000600 /* ST Table Location */
|
|
+#define PCI_TPH_LOC_NONE 0x00000000 /* Not present */
|
|
+#define PCI_TPH_LOC_CAP 0x00000200 /* In capability */
|
|
+#define PCI_TPH_LOC_MSIX 0x00000400 /* In MSI-X */
|
|
+#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST Table Size */
|
|
+#define PCI_TPH_CAP_ST_SHIFT 16 /* ST Table Size shift */
|
|
+#define PCI_TPH_BASE_SIZEOF 0xc /* Size with no ST table */
|
|
+
|
|
+#define PCI_TPH_CTRL 8 /* control register */
|
|
+#define PCI_TPH_CTRL_MODE_SEL_MASK 0x00000007 /* ST Mode Select */
|
|
+#define PCI_TPH_ST_NS_MODE 0x0 /* No ST Mode */
|
|
+#define PCI_TPH_ST_IV_MODE 0x1 /* Interrupt Vector Mode */
|
|
+#define PCI_TPH_ST_DS_MODE 0x2 /* Device Specific Mode */
|
|
+#define PCI_TPH_CTRL_REQ_EN_MASK 0x00000300 /* TPH Requester Enable */
|
|
+#define PCI_TPH_REQ_DISABLE 0x0 /* No TPH requests allowed */
|
|
+#define PCI_TPH_REQ_TPH_ONLY 0x1 /* TPH only requests allowed */
|
|
+#define PCI_TPH_REQ_EXT_TPH 0x3 /* Extended TPH requests allowed */
|
|
|
|
/* Downstream Port Containment */
|
|
#define PCI_EXP_DPC_CAP 0x04 /* DPC Capability */
|
|
--- a/m68k/usr/include/linux/perf_event.h
|
|
+++ b/m68k/usr/include/linux/perf_event.h
|
|
@@ -385,6 +385,8 @@ enum perf_event_read_format {
|
|
*
|
|
* @sample_max_stack: Max number of frame pointers in a callchain,
|
|
* should be < /proc/sys/kernel/perf_event_max_stack
|
|
+ * Max number of entries of branch stack
|
|
+ * should be < hardware limit
|
|
*/
|
|
struct perf_event_attr {
|
|
|
|
@@ -511,7 +513,16 @@ struct perf_event_attr {
|
|
__u16 sample_max_stack;
|
|
__u16 __reserved_2;
|
|
__u32 aux_sample_size;
|
|
- __u32 __reserved_3;
|
|
+
|
|
+ union {
|
|
+ __u32 aux_action;
|
|
+ struct {
|
|
+ __u32 aux_start_paused : 1, /* start AUX area tracing paused */
|
|
+ aux_pause : 1, /* on overflow, pause AUX area tracing */
|
|
+ aux_resume : 1, /* on overflow, resume AUX area tracing */
|
|
+ __reserved_3 : 29;
|
|
+ };
|
|
+ };
|
|
|
|
/*
|
|
* User provided data if sigtrap=1, passed back to user via
|
|
--- a/m68k/usr/include/linux/pfrut.h
|
|
+++ b/m68k/usr/include/linux/pfrut.h
|
|
@@ -89,6 +89,7 @@ struct pfru_payload_hdr {
|
|
__u32 hw_ver;
|
|
__u32 rt_ver;
|
|
__u8 platform_id[16];
|
|
+ __u32 svn_ver;
|
|
};
|
|
|
|
enum pfru_dsm_status {
|
|
--- a/m68k/usr/include/linux/pidfd.h
|
|
+++ b/m68k/usr/include/linux/pidfd.h
|
|
@@ -16,6 +16,56 @@
|
|
#define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1)
|
|
#define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2)
|
|
|
|
+/* Flags for pidfd_info. */
|
|
+#define PIDFD_INFO_PID (1UL << 0) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CREDS (1UL << 1) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CGROUPID (1UL << 2) /* Always returned if available, even if not requested */
|
|
+#define PIDFD_INFO_EXIT (1UL << 3) /* Only returned if requested. */
|
|
+
|
|
+#define PIDFD_INFO_SIZE_VER0 64 /* sizeof first published struct */
|
|
+
|
|
+struct pidfd_info {
|
|
+ /*
|
|
+ * This mask is similar to the request_mask in statx(2).
|
|
+ *
|
|
+ * Userspace indicates what extensions or expensive-to-calculate fields
|
|
+ * they want by setting the corresponding bits in mask. The kernel
|
|
+ * will ignore bits that it does not know about.
|
|
+ *
|
|
+ * When filling the structure, the kernel will only set bits
|
|
+ * corresponding to the fields that were actually filled by the kernel.
|
|
+ * This also includes any future extensions that might be automatically
|
|
+ * filled. If the structure size is too small to contain a field
|
|
+ * (requested or not), to avoid confusion the mask will not
|
|
+ * contain a bit for that field.
|
|
+ *
|
|
+ * As such, userspace MUST verify that mask contains the
|
|
+ * corresponding flags after the ioctl(2) returns to ensure that it is
|
|
+ * using valid data.
|
|
+ */
|
|
+ __u64 mask;
|
|
+ /*
|
|
+ * The information contained in the following fields might be stale at the
|
|
+ * time it is received, as the target process might have exited as soon as
|
|
+ * the IOCTL was processed, and there is no way to avoid that. However, it
|
|
+ * is guaranteed that if the call was successful, then the information was
|
|
+ * correct and referred to the intended process at the time the work was
|
|
+ * performed. */
|
|
+ __u64 cgroupid;
|
|
+ __u32 pid;
|
|
+ __u32 tgid;
|
|
+ __u32 ppid;
|
|
+ __u32 ruid;
|
|
+ __u32 rgid;
|
|
+ __u32 euid;
|
|
+ __u32 egid;
|
|
+ __u32 suid;
|
|
+ __u32 sgid;
|
|
+ __u32 fsuid;
|
|
+ __u32 fsgid;
|
|
+ __s32 exit_code;
|
|
+};
|
|
+
|
|
#define PIDFS_IOCTL_MAGIC 0xFF
|
|
|
|
#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1)
|
|
@@ -28,5 +78,6 @@
|
|
#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8)
|
|
#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9)
|
|
#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10)
|
|
+#define PIDFD_GET_INFO _IOWR(PIDFS_IOCTL_MAGIC, 11, struct pidfd_info)
|
|
|
|
#endif /* _LINUX_PIDFD_H */
|
|
--- a/m68k/usr/include/linux/psci.h
|
|
+++ b/m68k/usr/include/linux/psci.h
|
|
@@ -59,6 +59,7 @@
|
|
#define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18)
|
|
#define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19)
|
|
#define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(20)
|
|
+#define PSCI_1_3_FN_SYSTEM_OFF2 PSCI_0_2_FN(21)
|
|
|
|
#define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12)
|
|
#define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13)
|
|
@@ -68,6 +69,7 @@
|
|
|
|
#define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18)
|
|
#define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(20)
|
|
+#define PSCI_1_3_FN64_SYSTEM_OFF2 PSCI_0_2_FN64(21)
|
|
|
|
/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
|
|
#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
|
|
@@ -100,6 +102,9 @@
|
|
#define PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET 0
|
|
#define PSCI_1_1_RESET_TYPE_VENDOR_START 0x80000000U
|
|
|
|
+/* PSCI v1.3 hibernate type for SYSTEM_OFF2 */
|
|
+#define PSCI_1_3_OFF_TYPE_HIBERNATE_OFF BIT(0)
|
|
+
|
|
/* PSCI version decoding (independent of PSCI version) */
|
|
#define PSCI_VERSION_MAJOR_SHIFT 16
|
|
#define PSCI_VERSION_MINOR_MASK \
|
|
--- a/m68k/usr/include/linux/psp-sev.h
|
|
+++ b/m68k/usr/include/linux/psp-sev.h
|
|
@@ -73,13 +73,20 @@ typedef enum {
|
|
SEV_RET_INVALID_PARAM,
|
|
SEV_RET_RESOURCE_LIMIT,
|
|
SEV_RET_SECURE_DATA_INVALID,
|
|
- SEV_RET_INVALID_KEY = 0x27,
|
|
- SEV_RET_INVALID_PAGE_SIZE,
|
|
- SEV_RET_INVALID_PAGE_STATE,
|
|
- SEV_RET_INVALID_MDATA_ENTRY,
|
|
- SEV_RET_INVALID_PAGE_OWNER,
|
|
- SEV_RET_INVALID_PAGE_AEAD_OFLOW,
|
|
- SEV_RET_RMP_INIT_REQUIRED,
|
|
+ SEV_RET_INVALID_PAGE_SIZE = 0x0019,
|
|
+ SEV_RET_INVALID_PAGE_STATE = 0x001A,
|
|
+ SEV_RET_INVALID_MDATA_ENTRY = 0x001B,
|
|
+ SEV_RET_INVALID_PAGE_OWNER = 0x001C,
|
|
+ SEV_RET_AEAD_OFLOW = 0x001D,
|
|
+ SEV_RET_EXIT_RING_BUFFER = 0x001F,
|
|
+ SEV_RET_RMP_INIT_REQUIRED = 0x0020,
|
|
+ SEV_RET_BAD_SVN = 0x0021,
|
|
+ SEV_RET_BAD_VERSION = 0x0022,
|
|
+ SEV_RET_SHUTDOWN_REQUIRED = 0x0023,
|
|
+ SEV_RET_UPDATE_FAILED = 0x0024,
|
|
+ SEV_RET_RESTORE_REQUIRED = 0x0025,
|
|
+ SEV_RET_RMP_INITIALIZATION_FAILED = 0x0026,
|
|
+ SEV_RET_INVALID_KEY = 0x0027,
|
|
SEV_RET_MAX,
|
|
} sev_ret_code;
|
|
|
|
--- a/m68k/usr/include/linux/raid/md_p.h
|
|
+++ b/m68k/usr/include/linux/raid/md_p.h
|
|
@@ -85,6 +85,7 @@
|
|
* devices available - and don't try to
|
|
* correct read errors.
|
|
*/
|
|
+#define MD_DISK_TIMEOUT 11 /* disk is faulty due to timeout */
|
|
|
|
#define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
|
|
* read requests will only be sent here in
|
|
@@ -95,6 +96,7 @@
|
|
#define MD_DISK_ROLE_SPARE 0xffff
|
|
#define MD_DISK_ROLE_FAULTY 0xfffe
|
|
#define MD_DISK_ROLE_JOURNAL 0xfffd
|
|
+#define MD_DISK_ROLE_TIMEOUT 0xfff0 /* SUSE-only timed-out */
|
|
#define MD_DISK_ROLE_MAX 0xff00 /* max value of regular disk role */
|
|
|
|
typedef struct mdp_device_descriptor_s {
|
|
@@ -233,7 +235,7 @@ struct mdp_superblock_1 {
|
|
char set_name[32]; /* set and interpreted by user-space */
|
|
|
|
__le64 ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/
|
|
- __le32 level; /* 0,1,4,5 */
|
|
+ __le32 level; /* 0,1,4,5, -1 (linear) */
|
|
__le32 layout; /* only for raid5 and raid10 currently */
|
|
__le64 size; /* used size of component devices, in 512byte sectors */
|
|
|
|
--- a/m68k/usr/include/linux/raid/md_u.h
|
|
+++ b/m68k/usr/include/linux/raid/md_u.h
|
|
@@ -103,6 +103,8 @@ typedef struct mdu_array_info_s {
|
|
|
|
} mdu_array_info_t;
|
|
|
|
+#define LEVEL_LINEAR (-1)
|
|
+
|
|
/* we need a value for 'no level specified' and 0
|
|
* means 'raid0', so we need something else. This is
|
|
* for internal use only
|
|
--- a/m68k/usr/include/linux/rkisp1-config.h
|
|
+++ b/m68k/usr/include/linux/rkisp1-config.h
|
|
@@ -1528,7 +1528,7 @@ enum rksip1_ext_param_buffer_version {
|
|
* The expected memory layout of the parameters buffer is::
|
|
*
|
|
* +-------------------- struct rkisp1_ext_params_cfg -------------------+
|
|
- * | version = RKISP_EXT_PARAMS_BUFFER_V1; |
|
|
+ * | version = RKISP1_EXT_PARAM_BUFFER_V1; |
|
|
* | data_size = sizeof(struct rkisp1_ext_params_bls_config) |
|
|
* | + sizeof(struct rkisp1_ext_params_dpcc_config); |
|
|
* | +------------------------- data ---------------------------------+ |
|
|
--- a/m68k/usr/include/linux/rtnetlink.h
|
|
+++ b/m68k/usr/include/linux/rtnetlink.h
|
|
@@ -174,7 +174,7 @@ enum {
|
|
#define RTM_GETLINKPROP RTM_GETLINKPROP
|
|
|
|
RTM_NEWVLAN = 112,
|
|
-#define RTM_NEWNVLAN RTM_NEWVLAN
|
|
+#define RTM_NEWVLAN RTM_NEWVLAN
|
|
RTM_DELVLAN,
|
|
#define RTM_DELVLAN RTM_DELVLAN
|
|
RTM_GETVLAN,
|
|
--- a/m68k/usr/include/linux/sed-opal.h
|
|
+++ b/m68k/usr/include/linux/sed-opal.h
|
|
@@ -215,5 +215,6 @@ struct opal_revert_lsp {
|
|
#define IOC_OPAL_GET_GEOMETRY _IOR('p', 238, struct opal_geometry)
|
|
#define IOC_OPAL_DISCOVERY _IOW('p', 239, struct opal_discovery)
|
|
#define IOC_OPAL_REVERT_LSP _IOW('p', 240, struct opal_revert_lsp)
|
|
+#define IOC_OPAL_SET_SID_PW _IOW('p', 241, struct opal_new_pw)
|
|
|
|
#endif /* _SED_OPAL_H */
|
|
--- a/m68k/usr/include/linux/stddef.h
|
|
+++ b/m68k/usr/include/linux/stddef.h
|
|
@@ -8,6 +8,13 @@
|
|
#define __always_inline __inline__
|
|
#endif
|
|
|
|
+/* Not all C++ standards support type declarations inside an anonymous union */
|
|
+#ifndef __cplusplus
|
|
+#define __struct_group_tag(TAG) TAG
|
|
+#else
|
|
+#define __struct_group_tag(TAG)
|
|
+#endif
|
|
+
|
|
/**
|
|
* __struct_group() - Create a mirrored named and anonyomous struct
|
|
*
|
|
@@ -20,13 +27,13 @@
|
|
* and size: one anonymous and one named. The former's members can be used
|
|
* normally without sub-struct naming, and the latter can be used to
|
|
* reason about the start, end, and size of the group of struct members.
|
|
- * The named struct can also be explicitly tagged for layer reuse, as well
|
|
- * as both having struct attributes appended.
|
|
+ * The named struct can also be explicitly tagged for layer reuse (C only),
|
|
+ * as well as both having struct attributes appended.
|
|
*/
|
|
#define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
|
|
union { \
|
|
struct { MEMBERS } ATTRS; \
|
|
- struct TAG { MEMBERS } ATTRS NAME; \
|
|
+ struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \
|
|
} ATTRS
|
|
|
|
#ifdef __cplusplus
|
|
--- a/m68k/usr/include/linux/types.h
|
|
+++ b/m68k/usr/include/linux/types.h
|
|
@@ -48,6 +48,7 @@ typedef __u32 __bitwise __wsum;
|
|
* No conversions are necessary between 32-bit user-space and a 64-bit kernel.
|
|
*/
|
|
#define __aligned_u64 __u64 __attribute__((aligned(8)))
|
|
+#define __aligned_s64 __s64 __attribute__((aligned(8)))
|
|
#define __aligned_be64 __be64 __attribute__((aligned(8)))
|
|
#define __aligned_le64 __le64 __attribute__((aligned(8)))
|
|
|
|
--- a/m68k/usr/include/linux/usb/ch9.h
|
|
+++ b/m68k/usr/include/linux/usb/ch9.h
|
|
@@ -253,6 +253,9 @@ struct usb_ctrlrequest {
|
|
#define USB_DT_BOS 0x0f
|
|
#define USB_DT_DEVICE_CAPABILITY 0x10
|
|
#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11
|
|
+/* From the eUSB2 spec */
|
|
+#define USB_DT_EUSB2_ISOC_ENDPOINT_COMP 0x12
|
|
+/* From Wireless USB spec */
|
|
#define USB_DT_WIRE_ADAPTER 0x21
|
|
/* From USB Device Firmware Upgrade Specification, Revision 1.1 */
|
|
#define USB_DT_DFU_FUNCTIONAL 0x21
|
|
@@ -330,6 +333,7 @@ struct usb_device_descriptor {
|
|
#define USB_CLASS_AUDIO_VIDEO 0x10
|
|
#define USB_CLASS_BILLBOARD 0x11
|
|
#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
|
|
+#define USB_CLASS_MCTP 0x14
|
|
#define USB_CLASS_MISC 0xef
|
|
#define USB_CLASS_APP_SPEC 0xfe
|
|
#define USB_SUBCLASS_DFU 0x01
|
|
@@ -675,6 +679,18 @@ static __inline__ int usb_endpoint_inter
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
+/* USB_DT_EUSB2_ISOC_ENDPOINT_COMP: eUSB2 Isoch Endpoint Companion descriptor */
|
|
+struct usb_eusb2_isoc_ep_comp_descriptor {
|
|
+ __u8 bLength;
|
|
+ __u8 bDescriptorType;
|
|
+ __le16 wMaxPacketSize;
|
|
+ __le32 dwBytesPerInterval;
|
|
+} __attribute__ ((packed));
|
|
+
|
|
+#define USB_DT_EUSB2_ISOC_EP_COMP_SIZE 8
|
|
+
|
|
+/*-------------------------------------------------------------------------*/
|
|
+
|
|
/* USB_DT_SSP_ISOC_ENDPOINT_COMP: SuperSpeedPlus Isochronous Endpoint Companion
|
|
* descriptor
|
|
*/
|
|
--- a/m68k/usr/include/linux/usb/functionfs.h
|
|
+++ b/m68k/usr/include/linux/usb/functionfs.h
|
|
@@ -205,7 +205,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -223,7 +223,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -236,7 +236,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* | 11 | ExtProp[] | | list of ext. prop. d. |
|
|
* +-----+-----------------+------+--------------------------+
|
|
*
|
|
- * ExtCompat[] is an array of valid Extended Compatiblity descriptors
|
|
+ * ExtCompat[] is an array of valid Extended Compatibility descriptors
|
|
* which have the following format:
|
|
*
|
|
* +-----+-----------------------+------+-------------------------------------+
|
|
@@ -294,7 +294,7 @@ struct usb_functionfs_strings_head {
|
|
* | 16 | stringtab | StringTab[lang_count] | table of strings per lang |
|
|
*
|
|
* For each language there is one stringtab entry (ie. there are lang_count
|
|
- * stringtab entires). Each StringTab has following format:
|
|
+ * stringtab entries). Each StringTab has following format:
|
|
*
|
|
* | off | name | type | description |
|
|
* |-----+---------+-------------------+------------------------------------|
|
|
--- a/m68k/usr/include/linux/vhost.h
|
|
+++ b/m68k/usr/include/linux/vhost.h
|
|
@@ -235,4 +235,33 @@
|
|
*/
|
|
#define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \
|
|
struct vhost_vring_state)
|
|
+
|
|
+/* fork_owner values for vhost */
|
|
+#define VHOST_FORK_OWNER_KTHREAD 0
|
|
+#define VHOST_FORK_OWNER_TASK 1
|
|
+
|
|
+/**
|
|
+ * VHOST_SET_FORK_FROM_OWNER - Set the fork_owner flag for the vhost device,
|
|
+ * This ioctl must called before VHOST_SET_OWNER.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @param fork_owner: An 8-bit value that determines the vhost thread mode
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_TASK(default value):
|
|
+ * - Vhost will create vhost worker as tasks forked from the owner,
|
|
+ * inheriting all of the owner's attributes.
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_KTHREAD:
|
|
+ * - Vhost will create vhost workers as kernel threads.
|
|
+ */
|
|
+#define VHOST_SET_FORK_FROM_OWNER _IOW(VHOST_VIRTIO, 0x84, __u8)
|
|
+
|
|
+/**
|
|
+ * VHOST_GET_FORK_OWNER - Get the current fork_owner flag for the vhost device.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @return: An 8-bit value indicating the current thread mode.
|
|
+ */
|
|
+#define VHOST_GET_FORK_FROM_OWNER _IOR(VHOST_VIRTIO, 0x85, __u8)
|
|
+
|
|
#endif
|
|
--- a/m68k/usr/include/linux/videodev2.h
|
|
+++ b/m68k/usr/include/linux/videodev2.h
|
|
@@ -771,6 +771,7 @@ struct v4l2_pix_format {
|
|
#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
|
|
#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
|
|
+#define V4L2_PIX_FMT_Y16I v4l2_fourcc('Y', '1', '6', 'I') /* Greyscale 16-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
|
|
#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
|
|
#define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */
|
|
@@ -832,6 +833,8 @@ struct v4l2_pix_format {
|
|
|
|
/* Vendor specific - used for RaspberryPi PiSP */
|
|
#define V4L2_META_FMT_RPI_BE_CFG v4l2_fourcc('R', 'P', 'B', 'C') /* PiSP BE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_CFG v4l2_fourcc('R', 'P', 'F', 'C') /* PiSP FE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_STATS v4l2_fourcc('R', 'P', 'F', 'S') /* PiSP FE stats */
|
|
|
|
|
|
/* priv field value to indicates that subsequent fields are valid. */
|
|
--- a/m68k/usr/include/linux/xfrm.h
|
|
+++ b/m68k/usr/include/linux/xfrm.h
|
|
@@ -322,6 +322,7 @@ enum xfrm_attr_type_t {
|
|
XFRMA_MTIMER_THRESH, /* __u32 in seconds for input SA */
|
|
XFRMA_SA_DIR, /* __u8 */
|
|
XFRMA_NAT_KEEPALIVE_INTERVAL, /* __u32 in seconds for NAT keepalive */
|
|
+ XFRMA_SA_PCPU, /* __u32 */
|
|
__XFRMA_MAX
|
|
|
|
#define XFRMA_OUTPUT_MARK XFRMA_SET_MARK /* Compatibility */
|
|
@@ -437,6 +438,7 @@ struct xfrm_userpolicy_info {
|
|
#define XFRM_POLICY_LOCALOK 1 /* Allow user to override global policy */
|
|
/* Automatically expand selector to include matching ICMP payloads. */
|
|
#define XFRM_POLICY_ICMP 2
|
|
+#define XFRM_POLICY_CPU_ACQUIRE 4
|
|
__u8 share;
|
|
};
|
|
|
|
--- a/m68k/usr/include/rdma/efa-abi.h
|
|
+++ b/m68k/usr/include/rdma/efa-abi.h
|
|
@@ -95,7 +95,8 @@ struct efa_ibv_create_qp {
|
|
__u32 sq_ring_size; /* bytes */
|
|
__u32 driver_qp_type;
|
|
__u16 flags;
|
|
- __u8 reserved_90[6];
|
|
+ __u8 sl;
|
|
+ __u8 reserved_98[5];
|
|
};
|
|
|
|
struct efa_ibv_create_qp_resp {
|
|
--- a/m68k/usr/include/rdma/mlx5-abi.h
|
|
+++ b/m68k/usr/include/rdma/mlx5-abi.h
|
|
@@ -252,6 +252,7 @@ enum mlx5_ib_query_dev_resp_flags {
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1,
|
|
MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE = 1 << 2,
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT = 1 << 3,
|
|
+ MLX5_IB_QUERY_DEV_RESP_FLAGS_OOO_DP = 1 << 4,
|
|
};
|
|
|
|
enum mlx5_ib_tunnel_offloads {
|
|
@@ -439,6 +440,10 @@ struct mlx5_ib_burst_info {
|
|
__u16 reserved;
|
|
};
|
|
|
|
+enum mlx5_ib_modify_qp_mask {
|
|
+ MLX5_IB_MODIFY_QP_OOO_DP = 1 << 0,
|
|
+};
|
|
+
|
|
struct mlx5_ib_modify_qp {
|
|
__u32 comp_mask;
|
|
struct mlx5_ib_burst_info burst_info;
|
|
--- a/m68k/usr/include/rdma/rdma_netlink.h
|
|
+++ b/m68k/usr/include/rdma/rdma_netlink.h
|
|
@@ -638,6 +638,8 @@ enum rdma_nl_notify_event_type {
|
|
RDMA_UNREGISTER_EVENT,
|
|
RDMA_NETDEV_ATTACH_EVENT,
|
|
RDMA_NETDEV_DETACH_EVENT,
|
|
+ RDMA_RENAME_EVENT,
|
|
+ RDMA_NETDEV_RENAME_EVENT,
|
|
};
|
|
|
|
#endif /* _RDMA_NETLINK_H */
|
|
--- a/m68k/usr/include/scsi/fc/fc_els.h
|
|
+++ b/m68k/usr/include/scsi/fc/fc_els.h
|
|
@@ -11,6 +11,8 @@
|
|
#include <linux/types.h>
|
|
#include <asm/byteorder.h>
|
|
|
|
+#include <stddef.h> /* for offsetof */
|
|
+
|
|
/*
|
|
* Fibre Channel Switch - Enhanced Link Services definitions.
|
|
* From T11 FC-LS Rev 1.2 June 7, 2005.
|
|
@@ -1109,12 +1111,15 @@ struct fc_els_fpin {
|
|
|
|
/* Diagnostic Function Descriptor - FPIN Registration */
|
|
struct fc_df_desc_fpin_reg {
|
|
- __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
- __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
- * Size of descriptor excluding
|
|
- * desc_tag and desc_len fields.
|
|
- */
|
|
- __be32 count; /* Number of desc_tags elements */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_df_desc_fpin_reg_hdr, __hdr, /* no attrs */,
|
|
+ __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
+ __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
+ * Size of descriptor excluding
|
|
+ * desc_tag and desc_len fields.
|
|
+ */
|
|
+ __be32 count; /* Number of desc_tags elements */
|
|
+ );
|
|
__be32 desc_tags[]; /* Array of Descriptor Tags.
|
|
* Each tag indicates a function
|
|
* supported by the N_Port (request)
|
|
@@ -1124,33 +1129,44 @@ struct fc_df_desc_fpin_reg {
|
|
* See ELS_FN_DTAG_xxx for tag values.
|
|
*/
|
|
};
|
|
+_Static_assert(offsetof(struct fc_df_desc_fpin_reg, desc_tags) == sizeof(struct fc_df_desc_fpin_reg_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS_RDF - Register Diagnostic Functions
|
|
*/
|
|
struct fc_els_rdf {
|
|
- __u8 fpin_cmd; /* command (0x19) */
|
|
- __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
- __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
- * Size of ELS excluding fpin_cmd,
|
|
- * fpin_zero and desc_len fields.
|
|
- */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_hdr, __hdr, /* no attrs */,
|
|
+ __u8 fpin_cmd; /* command (0x19) */
|
|
+ __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
+ __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
+ * Size of ELS excluding fpin_cmd,
|
|
+ * fpin_zero and desc_len fields.
|
|
+ */
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Descriptor list */
|
|
};
|
|
+_Static_assert(offsetof(struct fc_els_rdf, desc) == sizeof(struct fc_els_rdf_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS RDF LS_ACC Response.
|
|
*/
|
|
struct fc_els_rdf_resp {
|
|
- struct fc_els_ls_acc acc_hdr;
|
|
- __be32 desc_list_len; /* Length of response (in
|
|
- * bytes). Excludes acc_hdr
|
|
- * and desc_list_len fields.
|
|
- */
|
|
- struct fc_els_lsri_desc lsri;
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_resp_hdr, __hdr, /* no attrs */,
|
|
+ struct fc_els_ls_acc acc_hdr;
|
|
+ __be32 desc_list_len; /* Length of response (in
|
|
+ * bytes). Excludes acc_hdr
|
|
+ * and desc_list_len fields.
|
|
+ */
|
|
+ struct fc_els_lsri_desc lsri;
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Supported Descriptor list */
|
|
};
|
|
-
|
|
+_Static_assert(offsetof(struct fc_els_rdf_resp, desc) == sizeof(struct fc_els_rdf_resp_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* Diagnostic Capability Descriptors for EDC ELS
|
|
--- a/mips/usr/include/asm-generic/mman-common.h
|
|
+++ b/mips/usr/include/asm-generic/mman-common.h
|
|
@@ -79,6 +79,9 @@
|
|
|
|
#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */
|
|
|
|
+#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */
|
|
+#define MADV_GUARD_REMOVE 103 /* unguard range */
|
|
+
|
|
/* compatibility flags */
|
|
#define MAP_FILE 0
|
|
|
|
--- a/mips/usr/include/asm/mman.h
|
|
+++ b/mips/usr/include/asm/mman.h
|
|
@@ -105,6 +105,9 @@
|
|
|
|
#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */
|
|
|
|
+#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */
|
|
+#define MADV_GUARD_REMOVE 103 /* unguard range */
|
|
+
|
|
/* compatibility flags */
|
|
#define MAP_FILE 0
|
|
|
|
--- a/mips/usr/include/linux/devlink.h
|
|
+++ b/mips/usr/include/linux/devlink.h
|
|
@@ -385,6 +385,21 @@ enum devlink_linecard_state {
|
|
DEVLINK_LINECARD_STATE_MAX = __DEVLINK_LINECARD_STATE_MAX - 1
|
|
};
|
|
|
|
+/* Variable attribute type. */
|
|
+enum devlink_var_attr_type {
|
|
+ /* Following values relate to the internal NLA_* values */
|
|
+ DEVLINK_VAR_ATTR_TYPE_U8 = 1,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U16,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U32,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U64,
|
|
+ DEVLINK_VAR_ATTR_TYPE_STRING,
|
|
+ DEVLINK_VAR_ATTR_TYPE_FLAG,
|
|
+ DEVLINK_VAR_ATTR_TYPE_NUL_STRING = 10,
|
|
+ DEVLINK_VAR_ATTR_TYPE_BINARY,
|
|
+ __DEVLINK_VAR_ATTR_TYPE_CUSTOM_BASE = 0x80,
|
|
+ /* Any possible custom types, unrelated to NLA_* values go below */
|
|
+};
|
|
+
|
|
enum devlink_attr {
|
|
/* don't change the order or add anything between, this is ABI! */
|
|
DEVLINK_ATTR_UNSPEC,
|
|
--- a/mips/usr/include/linux/dm-ioctl.h
|
|
+++ b/mips/usr/include/linux/dm-ioctl.h
|
|
@@ -286,9 +286,9 @@ enum {
|
|
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
|
|
|
#define DM_VERSION_MAJOR 4
|
|
-#define DM_VERSION_MINOR 48
|
|
+#define DM_VERSION_MINOR 49
|
|
#define DM_VERSION_PATCHLEVEL 0
|
|
-#define DM_VERSION_EXTRA "-ioctl (2023-03-01)"
|
|
+#define DM_VERSION_EXTRA "-ioctl (2025-01-17)"
|
|
|
|
/* Status bits */
|
|
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
|
--- a/mips/usr/include/linux/dpll.h
|
|
+++ b/mips/usr/include/linux/dpll.h
|
|
@@ -79,6 +79,29 @@ enum dpll_lock_status_error {
|
|
DPLL_LOCK_STATUS_ERROR_MAX = (__DPLL_LOCK_STATUS_ERROR_MAX - 1)
|
|
};
|
|
|
|
+/**
|
|
+ * enum dpll_clock_quality_level - level of quality of a clock device. This
|
|
+ * mainly applies when the dpll lock-status is DPLL_LOCK_STATUS_HOLDOVER. The
|
|
+ * current list is defined according to the table 11-7 contained in ITU-T
|
|
+ * G.8264/Y.1364 document. One may extend this list freely by other ITU-T
|
|
+ * defined clock qualities, or different ones defined by another
|
|
+ * standardization body (for those, please use different prefix).
|
|
+ */
|
|
+enum dpll_clock_quality_level {
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRC = 1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_A,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_B,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEC1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEEC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRC,
|
|
+
|
|
+ /* private: */
|
|
+ __DPLL_CLOCK_QUALITY_LEVEL_MAX,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_MAX = (__DPLL_CLOCK_QUALITY_LEVEL_MAX - 1)
|
|
+};
|
|
+
|
|
#define DPLL_TEMP_DIVIDER 1000
|
|
|
|
/**
|
|
@@ -180,6 +203,7 @@ enum dpll_a {
|
|
DPLL_A_TEMP,
|
|
DPLL_A_TYPE,
|
|
DPLL_A_LOCK_STATUS_ERROR,
|
|
+ DPLL_A_CLOCK_QUALITY_LEVEL,
|
|
|
|
__DPLL_A_MAX,
|
|
DPLL_A_MAX = (__DPLL_A_MAX - 1)
|
|
--- a/mips/usr/include/linux/ethtool.h
|
|
+++ b/mips/usr/include/linux/ethtool.h
|
|
@@ -679,6 +679,8 @@ enum ethtool_link_ext_substate_module {
|
|
* @ETH_SS_STATS_ETH_MAC: names of IEEE 802.3 MAC statistics
|
|
* @ETH_SS_STATS_ETH_CTRL: names of IEEE 802.3 MAC Control statistics
|
|
* @ETH_SS_STATS_RMON: names of RMON statistics
|
|
+ * @ETH_SS_STATS_PHY: names of PHY(dev) statistics
|
|
+ * @ETH_SS_TS_FLAGS: hardware timestamping flags
|
|
*
|
|
* @ETH_SS_COUNT: number of defined string sets
|
|
*/
|
|
@@ -704,6 +706,8 @@ enum ethtool_stringset {
|
|
ETH_SS_STATS_ETH_MAC,
|
|
ETH_SS_STATS_ETH_CTRL,
|
|
ETH_SS_STATS_RMON,
|
|
+ ETH_SS_STATS_PHY,
|
|
+ ETH_SS_TS_FLAGS,
|
|
|
|
/* add new constants above here */
|
|
ETH_SS_COUNT
|
|
--- a/mips/usr/include/linux/ethtool_netlink.h
|
|
+++ b/mips/usr/include/linux/ethtool_netlink.h
|
|
@@ -10,545 +10,12 @@
|
|
#define _LINUX_ETHTOOL_NETLINK_H_
|
|
|
|
#include <linux/ethtool.h>
|
|
-
|
|
-/* message types - userspace to kernel */
|
|
-enum {
|
|
- ETHTOOL_MSG_USER_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET,
|
|
- ETHTOOL_MSG_LINKINFO_GET,
|
|
- ETHTOOL_MSG_LINKINFO_SET,
|
|
- ETHTOOL_MSG_LINKMODES_GET,
|
|
- ETHTOOL_MSG_LINKMODES_SET,
|
|
- ETHTOOL_MSG_LINKSTATE_GET,
|
|
- ETHTOOL_MSG_DEBUG_GET,
|
|
- ETHTOOL_MSG_DEBUG_SET,
|
|
- ETHTOOL_MSG_WOL_GET,
|
|
- ETHTOOL_MSG_WOL_SET,
|
|
- ETHTOOL_MSG_FEATURES_GET,
|
|
- ETHTOOL_MSG_FEATURES_SET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
- ETHTOOL_MSG_RINGS_GET,
|
|
- ETHTOOL_MSG_RINGS_SET,
|
|
- ETHTOOL_MSG_CHANNELS_GET,
|
|
- ETHTOOL_MSG_CHANNELS_SET,
|
|
- ETHTOOL_MSG_COALESCE_GET,
|
|
- ETHTOOL_MSG_COALESCE_SET,
|
|
- ETHTOOL_MSG_PAUSE_GET,
|
|
- ETHTOOL_MSG_PAUSE_SET,
|
|
- ETHTOOL_MSG_EEE_GET,
|
|
- ETHTOOL_MSG_EEE_SET,
|
|
- ETHTOOL_MSG_TSINFO_GET,
|
|
- ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
- ETHTOOL_MSG_FEC_GET,
|
|
- ETHTOOL_MSG_FEC_SET,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
- ETHTOOL_MSG_STATS_GET,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
- ETHTOOL_MSG_MODULE_GET,
|
|
- ETHTOOL_MSG_MODULE_SET,
|
|
- ETHTOOL_MSG_PSE_GET,
|
|
- ETHTOOL_MSG_PSE_SET,
|
|
- ETHTOOL_MSG_RSS_GET,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG,
|
|
- ETHTOOL_MSG_PLCA_SET_CFG,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
- ETHTOOL_MSG_MM_GET,
|
|
- ETHTOOL_MSG_MM_SET,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
- ETHTOOL_MSG_PHY_GET,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_USER_CNT,
|
|
- ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
|
|
-};
|
|
-
|
|
-/* message types - kernel to userspace */
|
|
-enum {
|
|
- ETHTOOL_MSG_KERNEL_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_NTF,
|
|
- ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKMODES_NTF,
|
|
- ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_NTF,
|
|
- ETHTOOL_MSG_WOL_GET_REPLY,
|
|
- ETHTOOL_MSG_WOL_NTF,
|
|
- ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_NTF,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
- ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
- ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
- ETHTOOL_MSG_RINGS_NTF,
|
|
- ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
- ETHTOOL_MSG_CHANNELS_NTF,
|
|
- ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
- ETHTOOL_MSG_COALESCE_NTF,
|
|
- ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
- ETHTOOL_MSG_PAUSE_NTF,
|
|
- ETHTOOL_MSG_EEE_GET_REPLY,
|
|
- ETHTOOL_MSG_EEE_NTF,
|
|
- ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_NTF,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
- ETHTOOL_MSG_STATS_GET_REPLY,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_NTF,
|
|
- ETHTOOL_MSG_PSE_GET_REPLY,
|
|
- ETHTOOL_MSG_RSS_GET_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
- ETHTOOL_MSG_PLCA_NTF,
|
|
- ETHTOOL_MSG_MM_GET_REPLY,
|
|
- ETHTOOL_MSG_MM_NTF,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
- ETHTOOL_MSG_PHY_GET_REPLY,
|
|
- ETHTOOL_MSG_PHY_NTF,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_KERNEL_CNT,
|
|
- ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
|
|
-};
|
|
-
|
|
-/* request header */
|
|
-
|
|
-enum ethtool_header_flags {
|
|
- ETHTOOL_FLAG_COMPACT_BITSETS = 1 << 0, /* use compact bitsets in reply */
|
|
- ETHTOOL_FLAG_OMIT_REPLY = 1 << 1, /* provide optional reply for SET or ACT requests */
|
|
- ETHTOOL_FLAG_STATS = 1 << 2, /* request statistics, if supported by the driver */
|
|
-};
|
|
+#include <linux/ethtool_netlink_generated.h>
|
|
|
|
#define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \
|
|
ETHTOOL_FLAG_OMIT_REPLY | \
|
|
ETHTOOL_FLAG_STATS)
|
|
|
|
-enum {
|
|
- ETHTOOL_A_HEADER_UNSPEC,
|
|
- ETHTOOL_A_HEADER_DEV_INDEX, /* u32 */
|
|
- ETHTOOL_A_HEADER_DEV_NAME, /* string */
|
|
- ETHTOOL_A_HEADER_FLAGS, /* u32 - ETHTOOL_FLAG_* */
|
|
- ETHTOOL_A_HEADER_PHY_INDEX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_HEADER_CNT,
|
|
- ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1
|
|
-};
|
|
-
|
|
-/* bit sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BIT_INDEX, /* u32 */
|
|
- ETHTOOL_A_BITSET_BIT_NAME, /* string */
|
|
- ETHTOOL_A_BITSET_BIT_VALUE, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BIT_CNT,
|
|
- ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BITS_BIT, /* nest - _A_BITSET_BIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BITS_CNT,
|
|
- ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_UNSPEC,
|
|
- ETHTOOL_A_BITSET_NOMASK, /* flag */
|
|
- ETHTOOL_A_BITSET_SIZE, /* u32 */
|
|
- ETHTOOL_A_BITSET_BITS, /* nest - _A_BITSET_BITS_* */
|
|
- ETHTOOL_A_BITSET_VALUE, /* binary */
|
|
- ETHTOOL_A_BITSET_MASK, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_CNT,
|
|
- ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* string sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRING_UNSPEC,
|
|
- ETHTOOL_A_STRING_INDEX, /* u32 */
|
|
- ETHTOOL_A_STRING_VALUE, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRING_CNT,
|
|
- ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGS_UNSPEC,
|
|
- ETHTOOL_A_STRINGS_STRING, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGS_CNT,
|
|
- ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSET_UNSPEC,
|
|
- ETHTOOL_A_STRINGSET_ID, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_COUNT, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_STRINGS, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSET_CNT,
|
|
- ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
- ETHTOOL_A_STRINGSETS_STRINGSET, /* nest - _A_STRINGSET_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSETS_CNT,
|
|
- ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1
|
|
-};
|
|
-
|
|
-/* STRSET */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRSET_UNSPEC,
|
|
- ETHTOOL_A_STRSET_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STRSET_STRINGSETS, /* nest - _A_STRINGSETS_* */
|
|
- ETHTOOL_A_STRSET_COUNTS_ONLY, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRSET_CNT,
|
|
- ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKINFO_UNSPEC,
|
|
- ETHTOOL_A_LINKINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKINFO_PORT, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_PHYADDR, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TRANSCEIVER, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKINFO_CNT,
|
|
- ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKMODES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKMODES_UNSPEC,
|
|
- ETHTOOL_A_LINKMODES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_OURS, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_PEER, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_SPEED, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_LANES, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKMODES_CNT,
|
|
- ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKSTATE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
- ETHTOOL_A_LINKSTATE_HEADER, /* nest - _A_HEADER_* */
|
|
- 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 */
|
|
- ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKSTATE_CNT,
|
|
- ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1
|
|
-};
|
|
-
|
|
-/* DEBUG */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_DEBUG_UNSPEC,
|
|
- ETHTOOL_A_DEBUG_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_DEBUG_MSGMASK, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_DEBUG_CNT,
|
|
- ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1
|
|
-};
|
|
-
|
|
-/* WOL */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_WOL_UNSPEC,
|
|
- ETHTOOL_A_WOL_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_WOL_MODES, /* bitset */
|
|
- ETHTOOL_A_WOL_SOPASS, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_WOL_CNT,
|
|
- ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
|
|
-};
|
|
-
|
|
-/* FEATURES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEATURES_UNSPEC,
|
|
- ETHTOOL_A_FEATURES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEATURES_HW, /* bitset */
|
|
- ETHTOOL_A_FEATURES_WANTED, /* bitset */
|
|
- ETHTOOL_A_FEATURES_ACTIVE, /* bitset */
|
|
- ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEATURES_CNT,
|
|
- ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
|
|
-};
|
|
-
|
|
-/* PRIVFLAGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
- ETHTOOL_A_PRIVFLAGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PRIVFLAGS_FLAGS, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
- ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1
|
|
-};
|
|
-
|
|
-/* RINGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,
|
|
- ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
- ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RINGS_UNSPEC,
|
|
- ETHTOOL_A_RINGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_RINGS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */
|
|
- ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_RX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_RINGS_CNT,
|
|
- ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CHANNELS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CHANNELS_UNSPEC,
|
|
- ETHTOOL_A_CHANNELS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CHANNELS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_RX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_COUNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CHANNELS_CNT,
|
|
- ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* COALESCE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_COALESCE_UNSPEC,
|
|
- ETHTOOL_A_COALESCE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_COALESCE_RX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, /* u32 */
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_COALESCE_CNT,
|
|
- ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PROFILE_UNSPEC,
|
|
- /* nest, _A_IRQ_MODERATION_* */
|
|
- ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
- __ETHTOOL_A_PROFILE_CNT,
|
|
- ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
- ETHTOOL_A_IRQ_MODERATION_USEC, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_PKTS, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_COMPS, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
- ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
-};
|
|
-
|
|
-/* PAUSE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PAUSE_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_PAUSE_RX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_TX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_STATS, /* nest - _PAUSE_STAT_* */
|
|
- ETHTOOL_A_PAUSE_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PAUSE_CNT,
|
|
- ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
- ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
-
|
|
- /* add new constants above here
|
|
- * adjust ETHTOOL_PAUSE_STAT_CNT if adding non-stats!
|
|
- */
|
|
- __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
- ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* EEE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_EEE_UNSPEC,
|
|
- ETHTOOL_A_EEE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_EEE_MODES_OURS, /* bitset */
|
|
- ETHTOOL_A_EEE_MODES_PEER, /* bitset */
|
|
- ETHTOOL_A_EEE_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_EEE_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_TIMER, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_EEE_CNT,
|
|
- ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
-};
|
|
-
|
|
-/* TSINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TSINFO_UNSPEC,
|
|
- ETHTOOL_A_TSINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_TSINFO_TIMESTAMPING, /* bitset */
|
|
- ETHTOOL_A_TSINFO_TX_TYPES, /* bitset */
|
|
- ETHTOOL_A_TSINFO_RX_FILTERS, /* bitset */
|
|
- ETHTOOL_A_TSINFO_PHC_INDEX, /* u32 */
|
|
- ETHTOOL_A_TSINFO_STATS, /* nest - _A_TSINFO_STAT */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TSINFO_CNT,
|
|
- ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TS_STAT_UNSPEC,
|
|
-
|
|
- ETHTOOL_A_TS_STAT_TX_PKTS, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_LOST, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_ERR, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TS_STAT_CNT,
|
|
- ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
-
|
|
-};
|
|
-
|
|
-/* PHC VCLOCKS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
- ETHTOOL_A_PHC_VCLOCKS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHC_VCLOCKS_NUM, /* u32 */
|
|
- ETHTOOL_A_PHC_VCLOCKS_INDEX, /* array, s32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
- ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST NOTIFY */
|
|
enum {
|
|
ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC,
|
|
@@ -583,73 +50,11 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
- ETHTOOL_A_CABLE_RESULT_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_RESULT_CODE, /* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */
|
|
- ETHTOOL_A_CABLE_RESULT_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
- ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_CM, /* u32 */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED
|
|
};
|
|
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_NEST_RESULT, /* nest - ETHTOOL_A_CABLE_RESULT_ */
|
|
- ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, /* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */
|
|
- __ETHTOOL_A_CABLE_NEST_CNT,
|
|
- ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST TDR */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG, /* nest - *_TDR_CFG_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST TDR NOTIFY */
|
|
|
|
enum {
|
|
@@ -690,163 +95,17 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
- 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)
|
|
-};
|
|
-
|
|
-/* FEC */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_UNSPEC,
|
|
- ETHTOOL_A_FEC_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEC_MODES, /* bitset */
|
|
- ETHTOOL_A_FEC_AUTO, /* u8 */
|
|
- ETHTOOL_A_FEC_ACTIVE, /* u32 */
|
|
- ETHTOOL_A_FEC_STATS, /* nest - _A_FEC_STAT */
|
|
-
|
|
- __ETHTOOL_A_FEC_CNT,
|
|
- ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
- ETHTOOL_A_FEC_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_FEC_STAT_CORRECTED, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_UNCORR, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_CORR_BITS, /* array, u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEC_STAT_CNT,
|
|
- ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE EEPROM */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
- ETHTOOL_A_MODULE_EEPROM_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- ETHTOOL_A_MODULE_EEPROM_OFFSET, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_LENGTH, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */
|
|
-
|
|
- __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
- ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* STATS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STATS_UNSPEC,
|
|
- ETHTOOL_A_STATS_PAD,
|
|
- ETHTOOL_A_STATS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STATS_GROUPS, /* bitset */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP, /* nest - _A_STATS_GRP_* */
|
|
-
|
|
- ETHTOOL_A_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_CNT,
|
|
- ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_STATS_ETH_PHY,
|
|
ETHTOOL_STATS_ETH_MAC,
|
|
ETHTOOL_STATS_ETH_CTRL,
|
|
ETHTOOL_STATS_RMON,
|
|
+ ETHTOOL_STATS_PHY,
|
|
|
|
/* add new constants above here */
|
|
__ETHTOOL_STATS_CNT
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
- ETHTOOL_A_STATS_GRP_PAD,
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_ID, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_SS_ID, /* u32 */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_STAT, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_RX, /* nest */
|
|
- ETHTOOL_A_STATS_GRP_HIST_TX, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_LOW, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_HI, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_VAL, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_GRP_CNT,
|
|
- ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
/* 30.3.2.1.5 aSymbolErrorDuringCarrier */
|
|
ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR,
|
|
|
|
@@ -935,160 +194,20 @@ enum {
|
|
ETHTOOL_A_STATS_RMON_MAX = (__ETHTOOL_A_STATS_RMON_CNT - 1)
|
|
};
|
|
|
|
-/* MODULE */
|
|
-
|
|
enum {
|
|
- ETHTOOL_A_MODULE_UNSPEC,
|
|
- ETHTOOL_A_MODULE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_POWER_MODE_POLICY, /* u8 */
|
|
- ETHTOOL_A_MODULE_POWER_MODE, /* u8 */
|
|
+ /* Basic packet counters if PHY has separate counters from the MAC */
|
|
+ ETHTOOL_A_STATS_PHY_RX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_RX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_RX_ERRORS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_TX_ERRORS,
|
|
|
|
/* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_CNT,
|
|
- ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+ __ETHTOOL_A_STATS_PHY_CNT,
|
|
+ ETHTOOL_A_STATS_PHY_MAX = (__ETHTOOL_A_STATS_PHY_CNT - 1)
|
|
};
|
|
|
|
-/* Power Sourcing Equipment */
|
|
-enum {
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MIN, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MAX, /* u32 */
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PSE_UNSPEC,
|
|
- ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_CLASS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ACTUAL_PW, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_SUBSTATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES, /* nest - _C33_PSE_PW_LIMIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PSE_CNT,
|
|
- ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RSS_UNSPEC,
|
|
- ETHTOOL_A_RSS_HEADER,
|
|
- ETHTOOL_A_RSS_CONTEXT, /* u32 */
|
|
- ETHTOOL_A_RSS_HFUNC, /* u32 */
|
|
- ETHTOOL_A_RSS_INDIR, /* binary */
|
|
- ETHTOOL_A_RSS_HKEY, /* binary */
|
|
- ETHTOOL_A_RSS_INPUT_XFRM, /* u32 */
|
|
- ETHTOOL_A_RSS_START_CONTEXT, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_RSS_CNT,
|
|
- ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
|
|
-};
|
|
-
|
|
-/* PLCA */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PLCA_UNSPEC,
|
|
- ETHTOOL_A_PLCA_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PLCA_VERSION, /* u16 */
|
|
- ETHTOOL_A_PLCA_ENABLED, /* u8 */
|
|
- ETHTOOL_A_PLCA_STATUS, /* u8 */
|
|
- ETHTOOL_A_PLCA_NODE_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_NODE_ID, /* u32 */
|
|
- ETHTOOL_A_PLCA_TO_TMR, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_TMR, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PLCA_CNT,
|
|
- ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MAC Merge (802.3) */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_STAT_UNSPEC,
|
|
- ETHTOOL_A_MM_STAT_PAD,
|
|
-
|
|
- /* aMACMergeFrameAssErrorCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameSmdErrorCount */
|
|
- ETHTOOL_A_MM_STAT_SMD_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameAssOkCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_OK, /* u64 */
|
|
- /* aMACMergeFragCountRx */
|
|
- ETHTOOL_A_MM_STAT_RX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeFragCountTx */
|
|
- ETHTOOL_A_MM_STAT_TX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeHoldCount */
|
|
- ETHTOOL_A_MM_STAT_HOLD_COUNT, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_STAT_CNT,
|
|
- ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_UNSPEC,
|
|
- ETHTOOL_A_MM_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MM_PMAC_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_RX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_VERIFY_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_STATUS, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_MAX_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_STATS, /* nest - _A_MM_STAT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_CNT,
|
|
- ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE_FW_FLASH */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_PASSWORD, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_DONE, /* uint */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_TOTAL, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHY_UNSPEC,
|
|
- ETHTOOL_A_PHY_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHY_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_DRVNAME, /* string */
|
|
- ETHTOOL_A_PHY_NAME, /* string */
|
|
- ETHTOOL_A_PHY_UPSTREAM_TYPE, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_SFP_NAME, /* string */
|
|
- ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHY_CNT,
|
|
- ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
-};
|
|
-
|
|
-/* generic netlink info */
|
|
-#define ETHTOOL_GENL_NAME "ethtool"
|
|
-#define ETHTOOL_GENL_VERSION 1
|
|
-
|
|
#define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
|
|
|
|
#endif /* _LINUX_ETHTOOL_NETLINK_H_ */
|
|
--- /dev/null
|
|
+++ b/mips/usr/include/linux/ethtool_netlink_generated.h
|
|
@@ -0,0 +1,821 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/ethtool.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+#define _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+
|
|
+#define ETHTOOL_GENL_NAME "ethtool"
|
|
+#define ETHTOOL_GENL_VERSION 1
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_GENEVE,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE,
|
|
+
|
|
+ /* private: */
|
|
+ __ETHTOOL_UDP_TUNNEL_TYPE_CNT,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_MAX = (__ETHTOOL_UDP_TUNNEL_TYPE_CNT - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum ethtool_header_flags - common ethtool header flags
|
|
+ * @ETHTOOL_FLAG_COMPACT_BITSETS: use compact bitsets in reply
|
|
+ * @ETHTOOL_FLAG_OMIT_REPLY: provide optional reply for SET or ACT requests
|
|
+ * @ETHTOOL_FLAG_STATS: request statistics, if supported by the driver
|
|
+ */
|
|
+enum ethtool_header_flags {
|
|
+ ETHTOOL_FLAG_COMPACT_BITSETS = 1,
|
|
+ ETHTOOL_FLAG_OMIT_REPLY = 2,
|
|
+ ETHTOOL_FLAG_STATS = 4,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_MAC,
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_PHY,
|
|
+};
|
|
+
|
|
+enum ethtool_tcp_data_split {
|
|
+ ETHTOOL_TCP_DATA_SPLIT_UNKNOWN,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_HEADER_UNSPEC,
|
|
+ ETHTOOL_A_HEADER_DEV_INDEX,
|
|
+ ETHTOOL_A_HEADER_DEV_NAME,
|
|
+ ETHTOOL_A_HEADER_FLAGS,
|
|
+ ETHTOOL_A_HEADER_PHY_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_HEADER_CNT,
|
|
+ ETHTOOL_A_HEADER_MAX = (__ETHTOOL_A_HEADER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BIT_INDEX,
|
|
+ ETHTOOL_A_BITSET_BIT_NAME,
|
|
+ ETHTOOL_A_BITSET_BIT_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BIT_CNT,
|
|
+ ETHTOOL_A_BITSET_BIT_MAX = (__ETHTOOL_A_BITSET_BIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BITS_BIT,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BITS_CNT,
|
|
+ ETHTOOL_A_BITSET_BITS_MAX = (__ETHTOOL_A_BITSET_BITS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_NOMASK,
|
|
+ ETHTOOL_A_BITSET_SIZE,
|
|
+ ETHTOOL_A_BITSET_BITS,
|
|
+ ETHTOOL_A_BITSET_VALUE,
|
|
+ ETHTOOL_A_BITSET_MASK,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_CNT,
|
|
+ ETHTOOL_A_BITSET_MAX = (__ETHTOOL_A_BITSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRING_UNSPEC,
|
|
+ ETHTOOL_A_STRING_INDEX,
|
|
+ ETHTOOL_A_STRING_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_STRING_CNT,
|
|
+ ETHTOOL_A_STRING_MAX = (__ETHTOOL_A_STRING_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGS_STRING,
|
|
+
|
|
+ __ETHTOOL_A_STRINGS_CNT,
|
|
+ ETHTOOL_A_STRINGS_MAX = (__ETHTOOL_A_STRINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSET_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSET_ID,
|
|
+ ETHTOOL_A_STRINGSET_COUNT,
|
|
+ ETHTOOL_A_STRINGSET_STRINGS,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSET_CNT,
|
|
+ ETHTOOL_A_STRINGSET_MAX = (__ETHTOOL_A_STRINGSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSETS_STRINGSET,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSETS_CNT,
|
|
+ ETHTOOL_A_STRINGSETS_MAX = (__ETHTOOL_A_STRINGSETS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRSET_UNSPEC,
|
|
+ ETHTOOL_A_STRSET_HEADER,
|
|
+ ETHTOOL_A_STRSET_STRINGSETS,
|
|
+ ETHTOOL_A_STRSET_COUNTS_ONLY,
|
|
+
|
|
+ __ETHTOOL_A_STRSET_CNT,
|
|
+ ETHTOOL_A_STRSET_MAX = (__ETHTOOL_A_STRSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
+ ETHTOOL_A_PRIVFLAGS_HEADER,
|
|
+ ETHTOOL_A_PRIVFLAGS_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
+ ETHTOOL_A_PRIVFLAGS_MAX = (__ETHTOOL_A_PRIVFLAGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RINGS_UNSPEC,
|
|
+ ETHTOOL_A_RINGS_HEADER,
|
|
+ ETHTOOL_A_RINGS_RX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO_MAX,
|
|
+ ETHTOOL_A_RINGS_TX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO,
|
|
+ ETHTOOL_A_RINGS_TX,
|
|
+ ETHTOOL_A_RINGS_RX_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
|
|
+ ETHTOOL_A_RINGS_CQE_SIZE,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH,
|
|
+ ETHTOOL_A_RINGS_RX_PUSH,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH_MAX,
|
|
+
|
|
+ __ETHTOOL_A_RINGS_CNT,
|
|
+ ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_STAT_UNSPEC,
|
|
+ ETHTOOL_A_MM_STAT_PAD,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_SMD_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_OK,
|
|
+ ETHTOOL_A_MM_STAT_RX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_TX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_HOLD_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_MM_STAT_CNT,
|
|
+ ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_UNSPEC,
|
|
+ ETHTOOL_A_MM_HEADER,
|
|
+ ETHTOOL_A_MM_PMAC_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ACTIVE,
|
|
+ ETHTOOL_A_MM_TX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_RX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_VERIFY_ENABLED,
|
|
+ ETHTOOL_A_MM_VERIFY_STATUS,
|
|
+ ETHTOOL_A_MM_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_MAX_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_STATS,
|
|
+
|
|
+ __ETHTOOL_A_MM_CNT,
|
|
+ ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKINFO_UNSPEC,
|
|
+ ETHTOOL_A_LINKINFO_HEADER,
|
|
+ ETHTOOL_A_LINKINFO_PORT,
|
|
+ ETHTOOL_A_LINKINFO_PHYADDR,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX_CTRL,
|
|
+ ETHTOOL_A_LINKINFO_TRANSCEIVER,
|
|
+
|
|
+ __ETHTOOL_A_LINKINFO_CNT,
|
|
+ ETHTOOL_A_LINKINFO_MAX = (__ETHTOOL_A_LINKINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKMODES_UNSPEC,
|
|
+ ETHTOOL_A_LINKMODES_HEADER,
|
|
+ ETHTOOL_A_LINKMODES_AUTONEG,
|
|
+ ETHTOOL_A_LINKMODES_OURS,
|
|
+ ETHTOOL_A_LINKMODES_PEER,
|
|
+ ETHTOOL_A_LINKMODES_SPEED,
|
|
+ ETHTOOL_A_LINKMODES_DUPLEX,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE,
|
|
+ ETHTOOL_A_LINKMODES_LANES,
|
|
+ ETHTOOL_A_LINKMODES_RATE_MATCHING,
|
|
+
|
|
+ __ETHTOOL_A_LINKMODES_CNT,
|
|
+ ETHTOOL_A_LINKMODES_MAX = (__ETHTOOL_A_LINKMODES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
+ ETHTOOL_A_LINKSTATE_HEADER,
|
|
+ ETHTOOL_A_LINKSTATE_LINK,
|
|
+ ETHTOOL_A_LINKSTATE_SQI,
|
|
+ ETHTOOL_A_LINKSTATE_SQI_MAX,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_STATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT,
|
|
+
|
|
+ __ETHTOOL_A_LINKSTATE_CNT,
|
|
+ ETHTOOL_A_LINKSTATE_MAX = (__ETHTOOL_A_LINKSTATE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_DEBUG_UNSPEC,
|
|
+ ETHTOOL_A_DEBUG_HEADER,
|
|
+ ETHTOOL_A_DEBUG_MSGMASK,
|
|
+
|
|
+ __ETHTOOL_A_DEBUG_CNT,
|
|
+ ETHTOOL_A_DEBUG_MAX = (__ETHTOOL_A_DEBUG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_WOL_UNSPEC,
|
|
+ ETHTOOL_A_WOL_HEADER,
|
|
+ ETHTOOL_A_WOL_MODES,
|
|
+ ETHTOOL_A_WOL_SOPASS,
|
|
+
|
|
+ __ETHTOOL_A_WOL_CNT,
|
|
+ ETHTOOL_A_WOL_MAX = (__ETHTOOL_A_WOL_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEATURES_UNSPEC,
|
|
+ ETHTOOL_A_FEATURES_HEADER,
|
|
+ ETHTOOL_A_FEATURES_HW,
|
|
+ ETHTOOL_A_FEATURES_WANTED,
|
|
+ ETHTOOL_A_FEATURES_ACTIVE,
|
|
+ ETHTOOL_A_FEATURES_NOCHANGE,
|
|
+
|
|
+ __ETHTOOL_A_FEATURES_CNT,
|
|
+ ETHTOOL_A_FEATURES_MAX = (__ETHTOOL_A_FEATURES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CHANNELS_UNSPEC,
|
|
+ ETHTOOL_A_CHANNELS_HEADER,
|
|
+ ETHTOOL_A_CHANNELS_RX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_TX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_MAX,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_MAX,
|
|
+ ETHTOOL_A_CHANNELS_RX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_TX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_CHANNELS_CNT,
|
|
+ ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_USEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_PKTS,
|
|
+ ETHTOOL_A_IRQ_MODERATION_COMPS,
|
|
+
|
|
+ __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
+ ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PROFILE_UNSPEC,
|
|
+ ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
+
|
|
+ __ETHTOOL_A_PROFILE_CNT,
|
|
+ ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_COALESCE_UNSPEC,
|
|
+ ETHTOOL_A_COALESCE_HEADER,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_STATS_BLOCK_USECS,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_TX,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_RX,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
+ ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
+
|
|
+ __ETHTOOL_A_COALESCE_CNT,
|
|
+ ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_STAT_PAD,
|
|
+ ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
+ ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
+ ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_HEADER,
|
|
+ ETHTOOL_A_PAUSE_AUTONEG,
|
|
+ ETHTOOL_A_PAUSE_RX,
|
|
+ ETHTOOL_A_PAUSE_TX,
|
|
+ ETHTOOL_A_PAUSE_STATS,
|
|
+ ETHTOOL_A_PAUSE_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_CNT,
|
|
+ ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_EEE_UNSPEC,
|
|
+ ETHTOOL_A_EEE_HEADER,
|
|
+ ETHTOOL_A_EEE_MODES_OURS,
|
|
+ ETHTOOL_A_EEE_MODES_PEER,
|
|
+ ETHTOOL_A_EEE_ACTIVE,
|
|
+ ETHTOOL_A_EEE_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_TIMER,
|
|
+
|
|
+ __ETHTOOL_A_EEE_CNT,
|
|
+ ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_STAT_UNSPEC,
|
|
+ ETHTOOL_A_TS_STAT_TX_PKTS,
|
|
+ ETHTOOL_A_TS_STAT_TX_LOST,
|
|
+ ETHTOOL_A_TS_STAT_TX_ERR,
|
|
+ ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED,
|
|
+
|
|
+ __ETHTOOL_A_TS_STAT_CNT,
|
|
+ ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER,
|
|
+
|
|
+ __ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = (__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSINFO_UNSPEC,
|
|
+ ETHTOOL_A_TSINFO_HEADER,
|
|
+ ETHTOOL_A_TSINFO_TIMESTAMPING,
|
|
+ ETHTOOL_A_TSINFO_TX_TYPES,
|
|
+ ETHTOOL_A_TSINFO_RX_FILTERS,
|
|
+ ETHTOOL_A_TSINFO_PHC_INDEX,
|
|
+ ETHTOOL_A_TSINFO_STATS,
|
|
+ ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER,
|
|
+
|
|
+ __ETHTOOL_A_TSINFO_CNT,
|
|
+ ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_RESULT_PAIR,
|
|
+ ETHTOOL_A_CABLE_RESULT_CODE,
|
|
+ ETHTOOL_A_CABLE_RESULT_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
+ ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_CM,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_NEST_RESULT,
|
|
+ ETHTOOL_A_CABLE_NEST_FAULT_LENGTH,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_NEST_CNT,
|
|
+ ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_HEADER,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_MAX = (__ETHTOOL_A_CABLE_TEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY,
|
|
+
|
|
+ __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,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_INFO_UDP_PORTS,
|
|
+
|
|
+ __ETHTOOL_A_TUNNEL_INFO_CNT,
|
|
+ ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
+ ETHTOOL_A_FEC_STAT_PAD,
|
|
+ ETHTOOL_A_FEC_STAT_CORRECTED,
|
|
+ ETHTOOL_A_FEC_STAT_UNCORR,
|
|
+ ETHTOOL_A_FEC_STAT_CORR_BITS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_STAT_CNT,
|
|
+ ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_UNSPEC,
|
|
+ ETHTOOL_A_FEC_HEADER,
|
|
+ ETHTOOL_A_FEC_MODES,
|
|
+ ETHTOOL_A_FEC_AUTO,
|
|
+ ETHTOOL_A_FEC_ACTIVE,
|
|
+ ETHTOOL_A_FEC_STATS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_CNT,
|
|
+ ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_EEPROM_HEADER,
|
|
+ ETHTOOL_A_MODULE_EEPROM_OFFSET,
|
|
+ ETHTOOL_A_MODULE_EEPROM_LENGTH,
|
|
+ ETHTOOL_A_MODULE_EEPROM_PAGE,
|
|
+ ETHTOOL_A_MODULE_EEPROM_BANK,
|
|
+ ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS,
|
|
+ ETHTOOL_A_MODULE_EEPROM_DATA,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
+ ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
+ ETHTOOL_A_STATS_GRP_PAD,
|
|
+ ETHTOOL_A_STATS_GRP_ID,
|
|
+ ETHTOOL_A_STATS_GRP_SS_ID,
|
|
+ ETHTOOL_A_STATS_GRP_STAT,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_RX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_TX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_LOW,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_HI,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_VAL,
|
|
+
|
|
+ __ETHTOOL_A_STATS_GRP_CNT,
|
|
+ ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_UNSPEC,
|
|
+ ETHTOOL_A_STATS_PAD,
|
|
+ ETHTOOL_A_STATS_HEADER,
|
|
+ ETHTOOL_A_STATS_GROUPS,
|
|
+ ETHTOOL_A_STATS_GRP,
|
|
+ ETHTOOL_A_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_STATS_CNT,
|
|
+ ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_HEADER,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_NUM,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_HEADER,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE_POLICY,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_CNT,
|
|
+ ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MIN,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MAX,
|
|
+
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_CNT,
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = (__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PSE_UNSPEC,
|
|
+ ETHTOOL_A_PSE_HEADER,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_PODL_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_C33_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_PW_CLASS,
|
|
+ ETHTOOL_A_C33_PSE_ACTUAL_PW,
|
|
+ ETHTOOL_A_C33_PSE_EXT_STATE,
|
|
+ ETHTOOL_A_C33_PSE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES,
|
|
+
|
|
+ __ETHTOOL_A_PSE_CNT,
|
|
+ ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RSS_UNSPEC,
|
|
+ ETHTOOL_A_RSS_HEADER,
|
|
+ ETHTOOL_A_RSS_CONTEXT,
|
|
+ ETHTOOL_A_RSS_HFUNC,
|
|
+ ETHTOOL_A_RSS_INDIR,
|
|
+ ETHTOOL_A_RSS_HKEY,
|
|
+ ETHTOOL_A_RSS_INPUT_XFRM,
|
|
+ ETHTOOL_A_RSS_START_CONTEXT,
|
|
+
|
|
+ __ETHTOOL_A_RSS_CNT,
|
|
+ ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PLCA_UNSPEC,
|
|
+ ETHTOOL_A_PLCA_HEADER,
|
|
+ ETHTOOL_A_PLCA_VERSION,
|
|
+ ETHTOOL_A_PLCA_ENABLED,
|
|
+ ETHTOOL_A_PLCA_STATUS,
|
|
+ ETHTOOL_A_PLCA_NODE_CNT,
|
|
+ ETHTOOL_A_PLCA_NODE_ID,
|
|
+ ETHTOOL_A_PLCA_TO_TMR,
|
|
+ ETHTOOL_A_PLCA_BURST_CNT,
|
|
+ ETHTOOL_A_PLCA_BURST_TMR,
|
|
+
|
|
+ __ETHTOOL_A_PLCA_CNT,
|
|
+ ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_HEADER,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_PASSWORD,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_DONE,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_TOTAL,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHY_UNSPEC,
|
|
+ ETHTOOL_A_PHY_HEADER,
|
|
+ ETHTOOL_A_PHY_INDEX,
|
|
+ ETHTOOL_A_PHY_DRVNAME,
|
|
+ ETHTOOL_A_PHY_NAME,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_TYPE,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_INDEX,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_SFP_NAME,
|
|
+ ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME,
|
|
+
|
|
+ __ETHTOOL_A_PHY_CNT,
|
|
+ ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSCONFIG_UNSPEC,
|
|
+ ETHTOOL_A_TSCONFIG_HEADER,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER,
|
|
+ ETHTOOL_A_TSCONFIG_TX_TYPES,
|
|
+ ETHTOOL_A_TSCONFIG_RX_FILTERS,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_TSCONFIG_CNT,
|
|
+ ETHTOOL_A_TSCONFIG_MAX = (__ETHTOOL_A_TSCONFIG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_USER_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET,
|
|
+ ETHTOOL_MSG_LINKINFO_SET,
|
|
+ ETHTOOL_MSG_LINKMODES_GET,
|
|
+ ETHTOOL_MSG_LINKMODES_SET,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET,
|
|
+ ETHTOOL_MSG_DEBUG_GET,
|
|
+ ETHTOOL_MSG_DEBUG_SET,
|
|
+ ETHTOOL_MSG_WOL_GET,
|
|
+ ETHTOOL_MSG_WOL_SET,
|
|
+ ETHTOOL_MSG_FEATURES_GET,
|
|
+ ETHTOOL_MSG_FEATURES_SET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
+ ETHTOOL_MSG_RINGS_GET,
|
|
+ ETHTOOL_MSG_RINGS_SET,
|
|
+ ETHTOOL_MSG_CHANNELS_GET,
|
|
+ ETHTOOL_MSG_CHANNELS_SET,
|
|
+ ETHTOOL_MSG_COALESCE_GET,
|
|
+ ETHTOOL_MSG_COALESCE_SET,
|
|
+ ETHTOOL_MSG_PAUSE_GET,
|
|
+ ETHTOOL_MSG_PAUSE_SET,
|
|
+ ETHTOOL_MSG_EEE_GET,
|
|
+ ETHTOOL_MSG_EEE_SET,
|
|
+ ETHTOOL_MSG_TSINFO_GET,
|
|
+ ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
+ ETHTOOL_MSG_FEC_GET,
|
|
+ ETHTOOL_MSG_FEC_SET,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
+ ETHTOOL_MSG_STATS_GET,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
+ ETHTOOL_MSG_MODULE_GET,
|
|
+ ETHTOOL_MSG_MODULE_SET,
|
|
+ ETHTOOL_MSG_PSE_GET,
|
|
+ ETHTOOL_MSG_PSE_SET,
|
|
+ ETHTOOL_MSG_RSS_GET,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_SET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
+ ETHTOOL_MSG_MM_GET,
|
|
+ ETHTOOL_MSG_MM_SET,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
+ ETHTOOL_MSG_PHY_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET,
|
|
+
|
|
+ __ETHTOOL_MSG_USER_CNT,
|
|
+ ETHTOOL_MSG_USER_MAX = (__ETHTOOL_MSG_USER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_KERNEL_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET_REPLY = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKINFO_NTF,
|
|
+ ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKMODES_NTF,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_NTF,
|
|
+ ETHTOOL_MSG_WOL_GET_REPLY,
|
|
+ ETHTOOL_MSG_WOL_NTF,
|
|
+ ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_NTF,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
+ ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_RINGS_NTF,
|
|
+ ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
+ ETHTOOL_MSG_CHANNELS_NTF,
|
|
+ ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
+ ETHTOOL_MSG_COALESCE_NTF,
|
|
+ ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_PAUSE_NTF,
|
|
+ ETHTOOL_MSG_EEE_GET_REPLY,
|
|
+ ETHTOOL_MSG_EEE_NTF,
|
|
+ ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_NTF,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
+ ETHTOOL_MSG_STATS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_NTF,
|
|
+ ETHTOOL_MSG_PSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_RSS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_NTF,
|
|
+ ETHTOOL_MSG_MM_GET_REPLY,
|
|
+ ETHTOOL_MSG_MM_NTF,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
+ ETHTOOL_MSG_PHY_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHY_NTF,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET_REPLY,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET_REPLY,
|
|
+
|
|
+ __ETHTOOL_MSG_KERNEL_CNT,
|
|
+ ETHTOOL_MSG_KERNEL_MAX = (__ETHTOOL_MSG_KERNEL_CNT - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_ETHTOOL_NETLINK_GENERATED_H */
|
|
--- a/mips/usr/include/linux/fs.h
|
|
+++ b/mips/usr/include/linux/fs.h
|
|
@@ -36,6 +36,15 @@
|
|
#define BLOCK_SIZE_BITS 10
|
|
#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
|
|
|
|
+/* flags for integrity meta */
|
|
+#define IO_INTEGRITY_CHK_GUARD (1U << 0) /* enforce guard check */
|
|
+#define IO_INTEGRITY_CHK_REFTAG (1U << 1) /* enforce ref check */
|
|
+#define IO_INTEGRITY_CHK_APPTAG (1U << 2) /* enforce app check */
|
|
+
|
|
+#define IO_INTEGRITY_VALID_FLAGS (IO_INTEGRITY_CHK_GUARD | \
|
|
+ IO_INTEGRITY_CHK_REFTAG | \
|
|
+ IO_INTEGRITY_CHK_APPTAG)
|
|
+
|
|
#define SEEK_SET 0 /* seek relative to beginning of file */
|
|
#define SEEK_CUR 1 /* seek relative to current file position */
|
|
#define SEEK_END 2 /* seek relative to end of file */
|
|
--- a/mips/usr/include/linux/hidraw.h
|
|
+++ b/mips/usr/include/linux/hidraw.h
|
|
@@ -48,6 +48,8 @@ struct hidraw_devinfo {
|
|
#define HIDIOCGOUTPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0C, len)
|
|
#define HIDIOCREVOKE _IOW('H', 0x0D, int) /* Revoke device access */
|
|
|
|
+#define HIDIOCTL_LAST _IOC_NR(HIDIOCREVOKE)
|
|
+
|
|
#define HIDRAW_FIRST_MINOR 0
|
|
#define HIDRAW_MAX_DEVICES 64
|
|
/* number of reports to buffer */
|
|
--- a/mips/usr/include/linux/if_link.h
|
|
+++ b/mips/usr/include/linux/if_link.h
|
|
@@ -377,6 +377,7 @@ enum {
|
|
IFLA_GSO_IPV4_MAX_SIZE,
|
|
IFLA_GRO_IPV4_MAX_SIZE,
|
|
IFLA_DPLL_PIN,
|
|
+ IFLA_MAX_PACING_OFFLOAD_HORIZON,
|
|
__IFLA_MAX
|
|
};
|
|
|
|
--- a/mips/usr/include/linux/input-event-codes.h
|
|
+++ b/mips/usr/include/linux/input-event-codes.h
|
|
@@ -519,6 +519,7 @@
|
|
#define KEY_NOTIFICATION_CENTER 0x1bc /* Show/hide the notification center */
|
|
#define KEY_PICKUP_PHONE 0x1bd /* Answer incoming call */
|
|
#define KEY_HANGUP_PHONE 0x1be /* Decline incoming call */
|
|
+#define KEY_LINK_PHONE 0x1bf /* AL Phone Syncing */
|
|
|
|
#define KEY_DEL_EOL 0x1c0
|
|
#define KEY_DEL_EOS 0x1c1
|
|
--- a/mips/usr/include/linux/io_uring.h
|
|
+++ b/mips/usr/include/linux/io_uring.h
|
|
@@ -98,6 +98,10 @@ struct io_uring_sqe {
|
|
__u64 addr3;
|
|
__u64 __pad2[1];
|
|
};
|
|
+ struct {
|
|
+ __u64 attr_ptr; /* pointer to attribute information */
|
|
+ __u64 attr_type_mask; /* bit mask of attributes */
|
|
+ };
|
|
__u64 optval;
|
|
/*
|
|
* If the ring is initialized with IORING_SETUP_SQE128, then
|
|
@@ -107,6 +111,18 @@ struct io_uring_sqe {
|
|
};
|
|
};
|
|
|
|
+/* sqe->attr_type_mask flags */
|
|
+#define IORING_RW_ATTR_FLAG_PI (1U << 0)
|
|
+/* PI attribute information */
|
|
+struct io_uring_attr_pi {
|
|
+ __u16 flags;
|
|
+ __u16 app_tag;
|
|
+ __u32 len;
|
|
+ __u64 addr;
|
|
+ __u64 seed;
|
|
+ __u64 rsvd;
|
|
+};
|
|
+
|
|
/*
|
|
* If sqe->file_index is set to this for opcodes that instantiate a new
|
|
* direct descriptor (like openat/openat2/accept), then io_uring will allocate
|
|
@@ -554,6 +570,7 @@ struct io_uring_params {
|
|
#define IORING_FEAT_REG_REG_RING (1U << 13)
|
|
#define IORING_FEAT_RECVSEND_BUNDLE (1U << 14)
|
|
#define IORING_FEAT_MIN_TIMEOUT (1U << 15)
|
|
+#define IORING_FEAT_RW_ATTR (1U << 16)
|
|
|
|
/*
|
|
* io_uring_register(2) opcodes and arguments
|
|
--- a/mips/usr/include/linux/iommufd.h
|
|
+++ b/mips/usr/include/linux/iommufd.h
|
|
@@ -737,6 +737,7 @@ enum iommu_hwpt_pgfault_perm {
|
|
* @pasid: Process Address Space ID
|
|
* @grpid: Page Request Group Index
|
|
* @perm: Combination of enum iommu_hwpt_pgfault_perm
|
|
+ * @__reserved: Must be 0.
|
|
* @addr: Fault address
|
|
* @length: a hint of how much data the requestor is expecting to fetch. For
|
|
* example, if the PRI initiator knows it is going to do a 10MB
|
|
@@ -752,7 +753,8 @@ struct iommu_hwpt_pgfault {
|
|
__u32 pasid;
|
|
__u32 grpid;
|
|
__u32 perm;
|
|
- __u64 addr;
|
|
+ __u32 __reserved;
|
|
+ __aligned_u64 addr;
|
|
__u32 length;
|
|
__u32 cookie;
|
|
};
|
|
--- a/mips/usr/include/linux/kfd_ioctl.h
|
|
+++ b/mips/usr/include/linux/kfd_ioctl.h
|
|
@@ -62,6 +62,8 @@ struct kfd_ioctl_get_version_args {
|
|
#define KFD_MAX_QUEUE_PERCENTAGE 100
|
|
#define KFD_MAX_QUEUE_PRIORITY 15
|
|
|
|
+#define KFD_MIN_QUEUE_RING_SIZE 1024
|
|
+
|
|
struct kfd_ioctl_create_queue_args {
|
|
__u64 ring_base_address; /* to KFD */
|
|
__u64 write_pointer_address; /* from KFD */
|
|
--- a/mips/usr/include/linux/kvm.h
|
|
+++ b/mips/usr/include/linux/kvm.h
|
|
@@ -178,6 +178,7 @@ struct kvm_xen_exit {
|
|
#define KVM_EXIT_NOTIFY 37
|
|
#define KVM_EXIT_LOONGARCH_IOCSR 38
|
|
#define KVM_EXIT_MEMORY_FAULT 39
|
|
+#define KVM_EXIT_TDX 40
|
|
|
|
/* For KVM_EXIT_INTERNAL_ERROR */
|
|
/* Emulate instruction failed. */
|
|
@@ -369,6 +370,7 @@ struct kvm_run {
|
|
#define KVM_SYSTEM_EVENT_WAKEUP 4
|
|
#define KVM_SYSTEM_EVENT_SUSPEND 5
|
|
#define KVM_SYSTEM_EVENT_SEV_TERM 6
|
|
+#define KVM_SYSTEM_EVENT_TDX_FATAL 7
|
|
__u32 type;
|
|
__u32 ndata;
|
|
union {
|
|
@@ -438,6 +440,33 @@ struct kvm_run {
|
|
__u64 gpa;
|
|
__u64 size;
|
|
} memory_fault;
|
|
+#ifndef __GENKSYMS__
|
|
+ /* KVM_EXIT_TDX */
|
|
+ struct {
|
|
+ __u64 flags;
|
|
+ __u64 nr;
|
|
+ union {
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 data[5];
|
|
+ } unknown;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 gpa;
|
|
+ __u64 size;
|
|
+ } get_quote;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 leaf;
|
|
+ __u64 r11, r12, r13, r14;
|
|
+ } get_tdvmcall_info;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 vector;
|
|
+ } setup_event_notify;
|
|
+ };
|
|
+ } tdx;
|
|
+#endif
|
|
/* Fix the size of the union. */
|
|
char padding[256];
|
|
};
|
|
@@ -1150,7 +1179,15 @@ enum kvm_device_type {
|
|
#define KVM_DEV_TYPE_ARM_PV_TIME KVM_DEV_TYPE_ARM_PV_TIME
|
|
KVM_DEV_TYPE_RISCV_AIA,
|
|
#define KVM_DEV_TYPE_RISCV_AIA KVM_DEV_TYPE_RISCV_AIA
|
|
+ KVM_DEV_TYPE_LOONGARCH_IPI,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_IPI KVM_DEV_TYPE_LOONGARCH_IPI
|
|
+ KVM_DEV_TYPE_LOONGARCH_EIOINTC,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_EIOINTC KVM_DEV_TYPE_LOONGARCH_EIOINTC
|
|
+ KVM_DEV_TYPE_LOONGARCH_PCHPIC,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_PCHPIC KVM_DEV_TYPE_LOONGARCH_PCHPIC
|
|
+
|
|
KVM_DEV_TYPE_MAX,
|
|
+
|
|
};
|
|
|
|
struct kvm_vfio_spapr_tce {
|
|
--- a/mips/usr/include/linux/landlock.h
|
|
+++ b/mips/usr/include/linux/landlock.h
|
|
@@ -57,9 +57,11 @@ struct landlock_ruleset_attr {
|
|
*
|
|
* - %LANDLOCK_CREATE_RULESET_VERSION: Get the highest supported Landlock ABI
|
|
* version.
|
|
+ * - %LANDLOCK_CREATE_RULESET_ERRATA: Get a bitmask of fixed issues.
|
|
*/
|
|
/* clang-format off */
|
|
#define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
|
|
+#define LANDLOCK_CREATE_RULESET_ERRATA (1U << 1)
|
|
/* clang-format on */
|
|
|
|
/**
|
|
--- /dev/null
|
|
+++ b/mips/usr/include/linux/livepatch.h
|
|
@@ -0,0 +1,15 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+
|
|
+/*
|
|
+ * livepatch.h - Kernel Live Patching Core
|
|
+ *
|
|
+ * Copyright (C) 2016 Josh Poimboeuf <jpoimboe@redhat.com>
|
|
+ */
|
|
+
|
|
+#ifndef _LIVEPATCH_H
|
|
+#define _LIVEPATCH_H
|
|
+
|
|
+#define KLP_RELA_PREFIX ".klp.rela."
|
|
+#define KLP_SYM_PREFIX ".klp.sym."
|
|
+
|
|
+#endif /* _LIVEPATCH_H */
|
|
--- /dev/null
|
|
+++ b/mips/usr/include/linux/mshv.h
|
|
@@ -0,0 +1,291 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+/*
|
|
+ * Userspace interfaces for /dev/mshv* devices and derived fds
|
|
+ *
|
|
+ * This file is divided into sections containing data structures and IOCTLs for
|
|
+ * a particular set of related devices or derived file descriptors.
|
|
+ *
|
|
+ * The IOCTL definitions are at the end of each section. They are grouped by
|
|
+ * device/fd, so that new IOCTLs can easily be added with a monotonically
|
|
+ * increasing number.
|
|
+ */
|
|
+#ifndef _LINUX_MSHV_H
|
|
+#define _LINUX_MSHV_H
|
|
+
|
|
+#include <linux/types.h>
|
|
+
|
|
+#define MSHV_IOCTL 0xB8
|
|
+
|
|
+/*
|
|
+ *******************************************
|
|
+ * Entry point to main VMM APIs: /dev/mshv *
|
|
+ *******************************************
|
|
+ */
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_BIT_LAPIC,
|
|
+ MSHV_PT_BIT_X2APIC,
|
|
+ MSHV_PT_BIT_GPA_SUPER_PAGES,
|
|
+ MSHV_PT_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_PT_FLAGS_MASK ((1 << MSHV_PT_BIT_COUNT) - 1)
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_ISOLATION_NONE,
|
|
+ MSHV_PT_ISOLATION_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_create_partition - arguments for MSHV_CREATE_PARTITION
|
|
+ * @pt_flags: Bitmask of 1 << MSHV_PT_BIT_*
|
|
+ * @pt_isolation: MSHV_PT_ISOLATION_*
|
|
+ *
|
|
+ * Returns a file descriptor to act as a handle to a guest partition.
|
|
+ * At this point the partition is not yet initialized in the hypervisor.
|
|
+ * Some operations must be done with the partition in this state, e.g. setting
|
|
+ * so-called "early" partition properties. The partition can then be
|
|
+ * initialized with MSHV_INITIALIZE_PARTITION.
|
|
+ */
|
|
+struct mshv_create_partition {
|
|
+ __u64 pt_flags;
|
|
+ __u64 pt_isolation;
|
|
+};
|
|
+
|
|
+/* /dev/mshv */
|
|
+#define MSHV_CREATE_PARTITION _IOW(MSHV_IOCTL, 0x00, struct mshv_create_partition)
|
|
+
|
|
+/*
|
|
+ ************************
|
|
+ * Child partition APIs *
|
|
+ ************************
|
|
+ */
|
|
+
|
|
+struct mshv_create_vp {
|
|
+ __u32 vp_index;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_SET_MEM_BIT_WRITABLE,
|
|
+ MSHV_SET_MEM_BIT_EXECUTABLE,
|
|
+ MSHV_SET_MEM_BIT_UNMAP,
|
|
+ MSHV_SET_MEM_BIT_COUNT
|
|
+};
|
|
+
|
|
+#define MSHV_SET_MEM_FLAGS_MASK ((1 << MSHV_SET_MEM_BIT_COUNT) - 1)
|
|
+
|
|
+/* The hypervisor's "native" page size */
|
|
+#define MSHV_HV_PAGE_SIZE 0x1000
|
|
+
|
|
+/**
|
|
+ * struct mshv_user_mem_region - arguments for MSHV_SET_GUEST_MEMORY
|
|
+ * @size: Size of the memory region (bytes). Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @guest_pfn: Base guest page number to map
|
|
+ * @userspace_addr: Base address of userspace memory. Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @flags: Bitmask of 1 << MSHV_SET_MEM_BIT_*. If (1 << MSHV_SET_MEM_BIT_UNMAP)
|
|
+ * is set, ignore other bits.
|
|
+ * @rsvd: MBZ
|
|
+ *
|
|
+ * Map or unmap a region of userspace memory to Guest Physical Addresses (GPA).
|
|
+ * Mappings can't overlap in GPA space or userspace.
|
|
+ * To unmap, these fields must match an existing mapping.
|
|
+ */
|
|
+struct mshv_user_mem_region {
|
|
+ __u64 size;
|
|
+ __u64 guest_pfn;
|
|
+ __u64 userspace_addr;
|
|
+ __u8 flags;
|
|
+ __u8 rsvd[7];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IRQFD_BIT_DEASSIGN,
|
|
+ MSHV_IRQFD_BIT_RESAMPLE,
|
|
+ MSHV_IRQFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IRQFD_FLAGS_MASK ((1 << MSHV_IRQFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_irqfd {
|
|
+ __s32 fd;
|
|
+ __s32 resamplefd;
|
|
+ __u32 gsi;
|
|
+ __u32 flags;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IOEVENTFD_BIT_DATAMATCH,
|
|
+ MSHV_IOEVENTFD_BIT_PIO,
|
|
+ MSHV_IOEVENTFD_BIT_DEASSIGN,
|
|
+ MSHV_IOEVENTFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IOEVENTFD_FLAGS_MASK ((1 << MSHV_IOEVENTFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_ioeventfd {
|
|
+ __u64 datamatch;
|
|
+ __u64 addr; /* legal pio/mmio address */
|
|
+ __u32 len; /* 1, 2, 4, or 8 bytes */
|
|
+ __s32 fd;
|
|
+ __u32 flags;
|
|
+ __u8 rsvd[4];
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_entry {
|
|
+ __u32 gsi;
|
|
+ __u32 address_lo;
|
|
+ __u32 address_hi;
|
|
+ __u32 data;
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_table {
|
|
+ __u32 nr;
|
|
+ __u32 rsvd; /* MBZ */
|
|
+ struct mshv_user_irq_entry entries[];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_TYPE_ACCESSED,
|
|
+ MSHV_GPAP_ACCESS_TYPE_DIRTY,
|
|
+ MSHV_GPAP_ACCESS_TYPE_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_OP_NOOP,
|
|
+ MSHV_GPAP_ACCESS_OP_CLEAR,
|
|
+ MSHV_GPAP_ACCESS_OP_SET,
|
|
+ MSHV_GPAP_ACCESS_OP_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_gpap_access_bitmap - arguments for MSHV_GET_GPAP_ACCESS_BITMAP
|
|
+ * @access_type: MSHV_GPAP_ACCESS_TYPE_* - The type of access to record in the
|
|
+ * bitmap
|
|
+ * @access_op: MSHV_GPAP_ACCESS_OP_* - Allows an optional clear or set of all
|
|
+ * the access states in the range, after retrieving the current
|
|
+ * states.
|
|
+ * @rsvd: MBZ
|
|
+ * @page_count: Number of pages
|
|
+ * @gpap_base: Base gpa page number
|
|
+ * @bitmap_ptr: Output buffer for bitmap, at least (page_count + 7) / 8 bytes
|
|
+ *
|
|
+ * Retrieve a bitmap of either ACCESSED or DIRTY bits for a given range of guest
|
|
+ * memory, and optionally clear or set the bits.
|
|
+ */
|
|
+struct mshv_gpap_access_bitmap {
|
|
+ __u8 access_type;
|
|
+ __u8 access_op;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 page_count;
|
|
+ __u64 gpap_base;
|
|
+ __u64 bitmap_ptr;
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_root_hvcall - arguments for MSHV_ROOT_HVCALL
|
|
+ * @code: Hypercall code (HVCALL_*)
|
|
+ * @reps: in: Rep count ('repcount')
|
|
+ * out: Reps completed ('repcomp'). MBZ unless rep hvcall
|
|
+ * @in_sz: Size of input incl rep data. <= MSHV_HV_PAGE_SIZE
|
|
+ * @out_sz: Size of output buffer. <= MSHV_HV_PAGE_SIZE. MBZ if out_ptr is 0
|
|
+ * @status: in: MBZ
|
|
+ * out: HV_STATUS_* from hypercall
|
|
+ * @rsvd: MBZ
|
|
+ * @in_ptr: Input data buffer (struct hv_input_*). If used with partition or
|
|
+ * vp fd, partition id field is populated by kernel.
|
|
+ * @out_ptr: Output data buffer (optional)
|
|
+ */
|
|
+struct mshv_root_hvcall {
|
|
+ __u16 code;
|
|
+ __u16 reps;
|
|
+ __u16 in_sz;
|
|
+ __u16 out_sz;
|
|
+ __u16 status;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 in_ptr;
|
|
+ __u64 out_ptr;
|
|
+};
|
|
+
|
|
+/* Partition fds created with MSHV_CREATE_PARTITION */
|
|
+#define MSHV_INITIALIZE_PARTITION _IO(MSHV_IOCTL, 0x00)
|
|
+#define MSHV_CREATE_VP _IOW(MSHV_IOCTL, 0x01, struct mshv_create_vp)
|
|
+#define MSHV_SET_GUEST_MEMORY _IOW(MSHV_IOCTL, 0x02, struct mshv_user_mem_region)
|
|
+#define MSHV_IRQFD _IOW(MSHV_IOCTL, 0x03, struct mshv_user_irqfd)
|
|
+#define MSHV_IOEVENTFD _IOW(MSHV_IOCTL, 0x04, struct mshv_user_ioeventfd)
|
|
+#define MSHV_SET_MSI_ROUTING _IOW(MSHV_IOCTL, 0x05, struct mshv_user_irq_table)
|
|
+#define MSHV_GET_GPAP_ACCESS_BITMAP _IOWR(MSHV_IOCTL, 0x06, struct mshv_gpap_access_bitmap)
|
|
+/* Generic hypercall */
|
|
+#define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+
|
|
+/*
|
|
+ ********************************
|
|
+ * VP APIs for child partitions *
|
|
+ ********************************
|
|
+ */
|
|
+
|
|
+#define MSHV_RUN_VP_BUF_SZ 256
|
|
+
|
|
+/*
|
|
+ * VP state pages may be mapped to userspace via mmap().
|
|
+ * To specify which state page, use MSHV_VP_MMAP_OFFSET_ values multiplied by
|
|
+ * the system page size.
|
|
+ * e.g.
|
|
+ * long page_size = sysconf(_SC_PAGE_SIZE);
|
|
+ * void *reg_page = mmap(NULL, MSHV_HV_PAGE_SIZE, PROT_READ|PROT_WRITE,
|
|
+ * MAP_SHARED, vp_fd,
|
|
+ * MSHV_VP_MMAP_OFFSET_REGISTERS * page_size);
|
|
+ */
|
|
+enum {
|
|
+ MSHV_VP_MMAP_OFFSET_REGISTERS,
|
|
+ MSHV_VP_MMAP_OFFSET_INTERCEPT_MESSAGE,
|
|
+ MSHV_VP_MMAP_OFFSET_GHCB,
|
|
+ MSHV_VP_MMAP_OFFSET_COUNT
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_run_vp - argument for MSHV_RUN_VP
|
|
+ * @msg_buf: On success, the intercept message is copied here. It can be
|
|
+ * interpreted using the relevant hypervisor definitions.
|
|
+ */
|
|
+struct mshv_run_vp {
|
|
+ __u8 msg_buf[MSHV_RUN_VP_BUF_SZ];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_VP_STATE_LAPIC, /* Local interrupt controller state (either arch) */
|
|
+ MSHV_VP_STATE_XSAVE, /* XSAVE data in compacted form (x86_64) */
|
|
+ MSHV_VP_STATE_SIMP,
|
|
+ MSHV_VP_STATE_SIEFP,
|
|
+ MSHV_VP_STATE_SYNTHETIC_TIMERS,
|
|
+ MSHV_VP_STATE_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_get_set_vp_state - arguments for MSHV_[GET,SET]_VP_STATE
|
|
+ * @type: MSHV_VP_STATE_*
|
|
+ * @rsvd: MBZ
|
|
+ * @buf_sz: in: 4k page-aligned size of buffer
|
|
+ * out: Actual size of data (on EINVAL, check this to see if buffer
|
|
+ * was too small)
|
|
+ * @buf_ptr: 4k page-aligned data buffer
|
|
+ */
|
|
+struct mshv_get_set_vp_state {
|
|
+ __u8 type;
|
|
+ __u8 rsvd[3];
|
|
+ __u32 buf_sz;
|
|
+ __u64 buf_ptr;
|
|
+};
|
|
+
|
|
+/* VP fds created with MSHV_CREATE_VP */
|
|
+#define MSHV_RUN_VP _IOR(MSHV_IOCTL, 0x00, struct mshv_run_vp)
|
|
+#define MSHV_GET_VP_STATE _IOWR(MSHV_IOCTL, 0x01, struct mshv_get_set_vp_state)
|
|
+#define MSHV_SET_VP_STATE _IOWR(MSHV_IOCTL, 0x02, struct mshv_get_set_vp_state)
|
|
+/*
|
|
+ * Generic hypercall
|
|
+ * Defined above in partition IOCTLs, avoid redefining it here
|
|
+ * #define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+ */
|
|
+
|
|
+#endif
|
|
--- /dev/null
|
|
+++ b/mips/usr/include/linux/net_shaper.h
|
|
@@ -0,0 +1,95 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/net_shaper.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_NET_SHAPER_H
|
|
+#define _LINUX_NET_SHAPER_H
|
|
+
|
|
+#define NET_SHAPER_FAMILY_NAME "net-shaper"
|
|
+#define NET_SHAPER_FAMILY_VERSION 1
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_scope - Defines the shaper @id interpretation.
|
|
+ * @NET_SHAPER_SCOPE_UNSPEC: The scope is not specified.
|
|
+ * @NET_SHAPER_SCOPE_NETDEV: The main shaper for the given network device.
|
|
+ * @NET_SHAPER_SCOPE_QUEUE: The shaper is attached to the given device queue,
|
|
+ * the @id represents the queue number.
|
|
+ * @NET_SHAPER_SCOPE_NODE: The shaper allows grouping of queues or other node
|
|
+ * shapers; can be nested in either @netdev shapers or other @node shapers,
|
|
+ * allowing placement in any location of the scheduling tree, except leaves
|
|
+ * and root.
|
|
+ */
|
|
+enum net_shaper_scope {
|
|
+ NET_SHAPER_SCOPE_UNSPEC,
|
|
+ NET_SHAPER_SCOPE_NETDEV,
|
|
+ NET_SHAPER_SCOPE_QUEUE,
|
|
+ NET_SHAPER_SCOPE_NODE,
|
|
+
|
|
+ /* private: */
|
|
+ __NET_SHAPER_SCOPE_MAX,
|
|
+ NET_SHAPER_SCOPE_MAX = (__NET_SHAPER_SCOPE_MAX - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_metric - Different metric supported by the shaper.
|
|
+ * @NET_SHAPER_METRIC_BPS: Shaper operates on a bits per second basis.
|
|
+ * @NET_SHAPER_METRIC_PPS: Shaper operates on a packets per second basis.
|
|
+ */
|
|
+enum net_shaper_metric {
|
|
+ NET_SHAPER_METRIC_BPS,
|
|
+ NET_SHAPER_METRIC_PPS,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE = 1,
|
|
+ NET_SHAPER_A_METRIC,
|
|
+ NET_SHAPER_A_BW_MIN,
|
|
+ NET_SHAPER_A_BW_MAX,
|
|
+ NET_SHAPER_A_BURST,
|
|
+ NET_SHAPER_A_PRIORITY,
|
|
+ NET_SHAPER_A_WEIGHT,
|
|
+ NET_SHAPER_A_IFINDEX,
|
|
+ NET_SHAPER_A_PARENT,
|
|
+ NET_SHAPER_A_LEAVES,
|
|
+
|
|
+ __NET_SHAPER_A_MAX,
|
|
+ NET_SHAPER_A_MAX = (__NET_SHAPER_A_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE_SCOPE = 1,
|
|
+ NET_SHAPER_A_HANDLE_ID,
|
|
+
|
|
+ __NET_SHAPER_A_HANDLE_MAX,
|
|
+ NET_SHAPER_A_HANDLE_MAX = (__NET_SHAPER_A_HANDLE_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_CAPS_IFINDEX = 1,
|
|
+ NET_SHAPER_A_CAPS_SCOPE,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_BPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_PPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_NESTING,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MIN,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MAX,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BURST,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_PRIORITY,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_WEIGHT,
|
|
+
|
|
+ __NET_SHAPER_A_CAPS_MAX,
|
|
+ NET_SHAPER_A_CAPS_MAX = (__NET_SHAPER_A_CAPS_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_CMD_GET = 1,
|
|
+ NET_SHAPER_CMD_SET,
|
|
+ NET_SHAPER_CMD_DELETE,
|
|
+ NET_SHAPER_CMD_GROUP,
|
|
+ NET_SHAPER_CMD_CAP_GET,
|
|
+
|
|
+ __NET_SHAPER_CMD_MAX,
|
|
+ NET_SHAPER_CMD_MAX = (__NET_SHAPER_CMD_MAX - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_NET_SHAPER_H */
|
|
--- a/mips/usr/include/linux/net_tstamp.h
|
|
+++ b/mips/usr/include/linux/net_tstamp.h
|
|
@@ -13,6 +13,17 @@
|
|
#include <linux/types.h>
|
|
#include <linux/socket.h> /* for SO_TIMESTAMPING */
|
|
|
|
+/*
|
|
+ * Possible type of hwtstamp provider. Mainly "precise" the default one
|
|
+ * is for IEEE 1588 quality and "approx" is for NICs DMA point.
|
|
+ */
|
|
+enum hwtstamp_provider_qualifier {
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_PRECISE,
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_APPROX,
|
|
+
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_CNT,
|
|
+};
|
|
+
|
|
/* SO_TIMESTAMPING flags */
|
|
enum {
|
|
SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
|
|
--- a/mips/usr/include/linux/netdev.h
|
|
+++ b/mips/usr/include/linux/netdev.h
|
|
@@ -122,6 +122,9 @@ enum {
|
|
NETDEV_A_NAPI_ID,
|
|
NETDEV_A_NAPI_IRQ,
|
|
NETDEV_A_NAPI_PID,
|
|
+ NETDEV_A_NAPI_DEFER_HARD_IRQS,
|
|
+ NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT,
|
|
+ NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT,
|
|
|
|
__NETDEV_A_NAPI_MAX,
|
|
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
|
@@ -199,6 +202,7 @@ enum {
|
|
NETDEV_CMD_NAPI_GET,
|
|
NETDEV_CMD_QSTATS_GET,
|
|
NETDEV_CMD_BIND_RX,
|
|
+ NETDEV_CMD_NAPI_SET,
|
|
|
|
__NETDEV_CMD_MAX,
|
|
NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)
|
|
--- a/mips/usr/include/linux/nl80211.h
|
|
+++ b/mips/usr/include/linux/nl80211.h
|
|
@@ -4294,6 +4294,8 @@ enum nl80211_wmm_rule {
|
|
* otherwise completely disabled.
|
|
* @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a
|
|
* very low power (VLP) AP, despite being NO_IR.
|
|
+ * @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in
|
|
+ * 20 MHz bandwidth, despite being NO_IR.
|
|
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
|
* currently defined
|
|
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
|
@@ -4338,6 +4340,7 @@ enum nl80211_frequency_attr {
|
|
NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
|
|
NL80211_FREQUENCY_ATTR_CAN_MONITOR,
|
|
NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
|
|
+ NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY,
|
|
|
|
/* keep last */
|
|
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
|
@@ -4549,31 +4552,34 @@ enum nl80211_sched_scan_match_attr {
|
|
* @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed
|
|
* @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted
|
|
* despite NO_IR configuration.
|
|
+ * @NL80211_RRF_ALLOW_20MHZ_ACTIVITY: Allow activity in 20 MHz bandwidth,
|
|
+ * despite NO_IR configuration.
|
|
*/
|
|
enum nl80211_reg_rule_flags {
|
|
- NL80211_RRF_NO_OFDM = 1<<0,
|
|
- NL80211_RRF_NO_CCK = 1<<1,
|
|
- NL80211_RRF_NO_INDOOR = 1<<2,
|
|
- NL80211_RRF_NO_OUTDOOR = 1<<3,
|
|
- NL80211_RRF_DFS = 1<<4,
|
|
- NL80211_RRF_PTP_ONLY = 1<<5,
|
|
- NL80211_RRF_PTMP_ONLY = 1<<6,
|
|
- NL80211_RRF_NO_IR = 1<<7,
|
|
- __NL80211_RRF_NO_IBSS = 1<<8,
|
|
- NL80211_RRF_AUTO_BW = 1<<11,
|
|
- NL80211_RRF_IR_CONCURRENT = 1<<12,
|
|
- NL80211_RRF_NO_HT40MINUS = 1<<13,
|
|
- NL80211_RRF_NO_HT40PLUS = 1<<14,
|
|
- NL80211_RRF_NO_80MHZ = 1<<15,
|
|
- NL80211_RRF_NO_160MHZ = 1<<16,
|
|
- NL80211_RRF_NO_HE = 1<<17,
|
|
- NL80211_RRF_NO_320MHZ = 1<<18,
|
|
- NL80211_RRF_NO_EHT = 1<<19,
|
|
- NL80211_RRF_PSD = 1<<20,
|
|
- NL80211_RRF_DFS_CONCURRENT = 1<<21,
|
|
- NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22,
|
|
- NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23,
|
|
- NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24,
|
|
+ NL80211_RRF_NO_OFDM = 1 << 0,
|
|
+ NL80211_RRF_NO_CCK = 1 << 1,
|
|
+ NL80211_RRF_NO_INDOOR = 1 << 2,
|
|
+ NL80211_RRF_NO_OUTDOOR = 1 << 3,
|
|
+ NL80211_RRF_DFS = 1 << 4,
|
|
+ NL80211_RRF_PTP_ONLY = 1 << 5,
|
|
+ NL80211_RRF_PTMP_ONLY = 1 << 6,
|
|
+ NL80211_RRF_NO_IR = 1 << 7,
|
|
+ __NL80211_RRF_NO_IBSS = 1 << 8,
|
|
+ NL80211_RRF_AUTO_BW = 1 << 11,
|
|
+ NL80211_RRF_IR_CONCURRENT = 1 << 12,
|
|
+ NL80211_RRF_NO_HT40MINUS = 1 << 13,
|
|
+ NL80211_RRF_NO_HT40PLUS = 1 << 14,
|
|
+ NL80211_RRF_NO_80MHZ = 1 << 15,
|
|
+ NL80211_RRF_NO_160MHZ = 1 << 16,
|
|
+ NL80211_RRF_NO_HE = 1 << 17,
|
|
+ NL80211_RRF_NO_320MHZ = 1 << 18,
|
|
+ NL80211_RRF_NO_EHT = 1 << 19,
|
|
+ NL80211_RRF_PSD = 1 << 20,
|
|
+ NL80211_RRF_DFS_CONCURRENT = 1 << 21,
|
|
+ NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22,
|
|
+ NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23,
|
|
+ NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24,
|
|
+ NL80211_RRF_ALLOW_20MHZ_ACTIVITY = 1 << 25,
|
|
};
|
|
|
|
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
|
|
--- a/mips/usr/include/linux/pci_regs.h
|
|
+++ b/mips/usr/include/linux/pci_regs.h
|
|
@@ -340,7 +340,8 @@
|
|
#define PCI_MSIX_ENTRY_UPPER_ADDR 0x4 /* Message Upper Address */
|
|
#define PCI_MSIX_ENTRY_DATA 0x8 /* Message Data */
|
|
#define PCI_MSIX_ENTRY_VECTOR_CTRL 0xc /* Vector Control */
|
|
-#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001
|
|
+#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001 /* Mask Bit */
|
|
+#define PCI_MSIX_ENTRY_CTRL_ST 0xffff0000 /* Steering Tag */
|
|
|
|
/* CompactPCI Hotswap Register */
|
|
|
|
@@ -659,6 +660,7 @@
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP64 0x00000100 /* 64b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP128 0x00000200 /* 128b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_LTR 0x00000800 /* Latency tolerance reporting */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_MASK 0x00003000 /* TPH completer support */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000 /* OBFF support mechanism */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000 /* New message signaling */
|
|
#define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
|
|
@@ -1023,15 +1025,34 @@
|
|
#define PCI_DPA_CAP_SUBSTATE_MASK 0x1F /* # substates - 1 */
|
|
#define PCI_DPA_BASE_SIZEOF 16 /* size with 0 substates */
|
|
|
|
+/* TPH Completer Support */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_NONE 0x0 /* None */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_TPH_ONLY 0x1 /* TPH only */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_EXT_TPH 0x3 /* TPH and Extended TPH */
|
|
+
|
|
/* TPH Requester */
|
|
#define PCI_TPH_CAP 4 /* capability register */
|
|
-#define PCI_TPH_CAP_LOC_MASK 0x600 /* location mask */
|
|
-#define PCI_TPH_LOC_NONE 0x000 /* no location */
|
|
-#define PCI_TPH_LOC_CAP 0x200 /* in capability */
|
|
-#define PCI_TPH_LOC_MSIX 0x400 /* in MSI-X */
|
|
-#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST table mask */
|
|
-#define PCI_TPH_CAP_ST_SHIFT 16 /* ST table shift */
|
|
-#define PCI_TPH_BASE_SIZEOF 0xc /* size with no ST table */
|
|
+#define PCI_TPH_CAP_ST_NS 0x00000001 /* No ST Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_IV 0x00000002 /* Interrupt Vector Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_DS 0x00000004 /* Device Specific Mode Supported */
|
|
+#define PCI_TPH_CAP_EXT_TPH 0x00000100 /* Ext TPH Requester Supported */
|
|
+#define PCI_TPH_CAP_LOC_MASK 0x00000600 /* ST Table Location */
|
|
+#define PCI_TPH_LOC_NONE 0x00000000 /* Not present */
|
|
+#define PCI_TPH_LOC_CAP 0x00000200 /* In capability */
|
|
+#define PCI_TPH_LOC_MSIX 0x00000400 /* In MSI-X */
|
|
+#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST Table Size */
|
|
+#define PCI_TPH_CAP_ST_SHIFT 16 /* ST Table Size shift */
|
|
+#define PCI_TPH_BASE_SIZEOF 0xc /* Size with no ST table */
|
|
+
|
|
+#define PCI_TPH_CTRL 8 /* control register */
|
|
+#define PCI_TPH_CTRL_MODE_SEL_MASK 0x00000007 /* ST Mode Select */
|
|
+#define PCI_TPH_ST_NS_MODE 0x0 /* No ST Mode */
|
|
+#define PCI_TPH_ST_IV_MODE 0x1 /* Interrupt Vector Mode */
|
|
+#define PCI_TPH_ST_DS_MODE 0x2 /* Device Specific Mode */
|
|
+#define PCI_TPH_CTRL_REQ_EN_MASK 0x00000300 /* TPH Requester Enable */
|
|
+#define PCI_TPH_REQ_DISABLE 0x0 /* No TPH requests allowed */
|
|
+#define PCI_TPH_REQ_TPH_ONLY 0x1 /* TPH only requests allowed */
|
|
+#define PCI_TPH_REQ_EXT_TPH 0x3 /* Extended TPH requests allowed */
|
|
|
|
/* Downstream Port Containment */
|
|
#define PCI_EXP_DPC_CAP 0x04 /* DPC Capability */
|
|
--- a/mips/usr/include/linux/perf_event.h
|
|
+++ b/mips/usr/include/linux/perf_event.h
|
|
@@ -385,6 +385,8 @@ enum perf_event_read_format {
|
|
*
|
|
* @sample_max_stack: Max number of frame pointers in a callchain,
|
|
* should be < /proc/sys/kernel/perf_event_max_stack
|
|
+ * Max number of entries of branch stack
|
|
+ * should be < hardware limit
|
|
*/
|
|
struct perf_event_attr {
|
|
|
|
@@ -511,7 +513,16 @@ struct perf_event_attr {
|
|
__u16 sample_max_stack;
|
|
__u16 __reserved_2;
|
|
__u32 aux_sample_size;
|
|
- __u32 __reserved_3;
|
|
+
|
|
+ union {
|
|
+ __u32 aux_action;
|
|
+ struct {
|
|
+ __u32 aux_start_paused : 1, /* start AUX area tracing paused */
|
|
+ aux_pause : 1, /* on overflow, pause AUX area tracing */
|
|
+ aux_resume : 1, /* on overflow, resume AUX area tracing */
|
|
+ __reserved_3 : 29;
|
|
+ };
|
|
+ };
|
|
|
|
/*
|
|
* User provided data if sigtrap=1, passed back to user via
|
|
--- a/mips/usr/include/linux/pfrut.h
|
|
+++ b/mips/usr/include/linux/pfrut.h
|
|
@@ -89,6 +89,7 @@ struct pfru_payload_hdr {
|
|
__u32 hw_ver;
|
|
__u32 rt_ver;
|
|
__u8 platform_id[16];
|
|
+ __u32 svn_ver;
|
|
};
|
|
|
|
enum pfru_dsm_status {
|
|
--- a/mips/usr/include/linux/pidfd.h
|
|
+++ b/mips/usr/include/linux/pidfd.h
|
|
@@ -16,6 +16,56 @@
|
|
#define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1)
|
|
#define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2)
|
|
|
|
+/* Flags for pidfd_info. */
|
|
+#define PIDFD_INFO_PID (1UL << 0) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CREDS (1UL << 1) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CGROUPID (1UL << 2) /* Always returned if available, even if not requested */
|
|
+#define PIDFD_INFO_EXIT (1UL << 3) /* Only returned if requested. */
|
|
+
|
|
+#define PIDFD_INFO_SIZE_VER0 64 /* sizeof first published struct */
|
|
+
|
|
+struct pidfd_info {
|
|
+ /*
|
|
+ * This mask is similar to the request_mask in statx(2).
|
|
+ *
|
|
+ * Userspace indicates what extensions or expensive-to-calculate fields
|
|
+ * they want by setting the corresponding bits in mask. The kernel
|
|
+ * will ignore bits that it does not know about.
|
|
+ *
|
|
+ * When filling the structure, the kernel will only set bits
|
|
+ * corresponding to the fields that were actually filled by the kernel.
|
|
+ * This also includes any future extensions that might be automatically
|
|
+ * filled. If the structure size is too small to contain a field
|
|
+ * (requested or not), to avoid confusion the mask will not
|
|
+ * contain a bit for that field.
|
|
+ *
|
|
+ * As such, userspace MUST verify that mask contains the
|
|
+ * corresponding flags after the ioctl(2) returns to ensure that it is
|
|
+ * using valid data.
|
|
+ */
|
|
+ __u64 mask;
|
|
+ /*
|
|
+ * The information contained in the following fields might be stale at the
|
|
+ * time it is received, as the target process might have exited as soon as
|
|
+ * the IOCTL was processed, and there is no way to avoid that. However, it
|
|
+ * is guaranteed that if the call was successful, then the information was
|
|
+ * correct and referred to the intended process at the time the work was
|
|
+ * performed. */
|
|
+ __u64 cgroupid;
|
|
+ __u32 pid;
|
|
+ __u32 tgid;
|
|
+ __u32 ppid;
|
|
+ __u32 ruid;
|
|
+ __u32 rgid;
|
|
+ __u32 euid;
|
|
+ __u32 egid;
|
|
+ __u32 suid;
|
|
+ __u32 sgid;
|
|
+ __u32 fsuid;
|
|
+ __u32 fsgid;
|
|
+ __s32 exit_code;
|
|
+};
|
|
+
|
|
#define PIDFS_IOCTL_MAGIC 0xFF
|
|
|
|
#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1)
|
|
@@ -28,5 +78,6 @@
|
|
#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8)
|
|
#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9)
|
|
#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10)
|
|
+#define PIDFD_GET_INFO _IOWR(PIDFS_IOCTL_MAGIC, 11, struct pidfd_info)
|
|
|
|
#endif /* _LINUX_PIDFD_H */
|
|
--- a/mips/usr/include/linux/psci.h
|
|
+++ b/mips/usr/include/linux/psci.h
|
|
@@ -59,6 +59,7 @@
|
|
#define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18)
|
|
#define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19)
|
|
#define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(20)
|
|
+#define PSCI_1_3_FN_SYSTEM_OFF2 PSCI_0_2_FN(21)
|
|
|
|
#define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12)
|
|
#define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13)
|
|
@@ -68,6 +69,7 @@
|
|
|
|
#define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18)
|
|
#define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(20)
|
|
+#define PSCI_1_3_FN64_SYSTEM_OFF2 PSCI_0_2_FN64(21)
|
|
|
|
/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
|
|
#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
|
|
@@ -100,6 +102,9 @@
|
|
#define PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET 0
|
|
#define PSCI_1_1_RESET_TYPE_VENDOR_START 0x80000000U
|
|
|
|
+/* PSCI v1.3 hibernate type for SYSTEM_OFF2 */
|
|
+#define PSCI_1_3_OFF_TYPE_HIBERNATE_OFF BIT(0)
|
|
+
|
|
/* PSCI version decoding (independent of PSCI version) */
|
|
#define PSCI_VERSION_MAJOR_SHIFT 16
|
|
#define PSCI_VERSION_MINOR_MASK \
|
|
--- a/mips/usr/include/linux/psp-sev.h
|
|
+++ b/mips/usr/include/linux/psp-sev.h
|
|
@@ -73,13 +73,20 @@ typedef enum {
|
|
SEV_RET_INVALID_PARAM,
|
|
SEV_RET_RESOURCE_LIMIT,
|
|
SEV_RET_SECURE_DATA_INVALID,
|
|
- SEV_RET_INVALID_KEY = 0x27,
|
|
- SEV_RET_INVALID_PAGE_SIZE,
|
|
- SEV_RET_INVALID_PAGE_STATE,
|
|
- SEV_RET_INVALID_MDATA_ENTRY,
|
|
- SEV_RET_INVALID_PAGE_OWNER,
|
|
- SEV_RET_INVALID_PAGE_AEAD_OFLOW,
|
|
- SEV_RET_RMP_INIT_REQUIRED,
|
|
+ SEV_RET_INVALID_PAGE_SIZE = 0x0019,
|
|
+ SEV_RET_INVALID_PAGE_STATE = 0x001A,
|
|
+ SEV_RET_INVALID_MDATA_ENTRY = 0x001B,
|
|
+ SEV_RET_INVALID_PAGE_OWNER = 0x001C,
|
|
+ SEV_RET_AEAD_OFLOW = 0x001D,
|
|
+ SEV_RET_EXIT_RING_BUFFER = 0x001F,
|
|
+ SEV_RET_RMP_INIT_REQUIRED = 0x0020,
|
|
+ SEV_RET_BAD_SVN = 0x0021,
|
|
+ SEV_RET_BAD_VERSION = 0x0022,
|
|
+ SEV_RET_SHUTDOWN_REQUIRED = 0x0023,
|
|
+ SEV_RET_UPDATE_FAILED = 0x0024,
|
|
+ SEV_RET_RESTORE_REQUIRED = 0x0025,
|
|
+ SEV_RET_RMP_INITIALIZATION_FAILED = 0x0026,
|
|
+ SEV_RET_INVALID_KEY = 0x0027,
|
|
SEV_RET_MAX,
|
|
} sev_ret_code;
|
|
|
|
--- a/mips/usr/include/linux/raid/md_p.h
|
|
+++ b/mips/usr/include/linux/raid/md_p.h
|
|
@@ -85,6 +85,7 @@
|
|
* devices available - and don't try to
|
|
* correct read errors.
|
|
*/
|
|
+#define MD_DISK_TIMEOUT 11 /* disk is faulty due to timeout */
|
|
|
|
#define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
|
|
* read requests will only be sent here in
|
|
@@ -95,6 +96,7 @@
|
|
#define MD_DISK_ROLE_SPARE 0xffff
|
|
#define MD_DISK_ROLE_FAULTY 0xfffe
|
|
#define MD_DISK_ROLE_JOURNAL 0xfffd
|
|
+#define MD_DISK_ROLE_TIMEOUT 0xfff0 /* SUSE-only timed-out */
|
|
#define MD_DISK_ROLE_MAX 0xff00 /* max value of regular disk role */
|
|
|
|
typedef struct mdp_device_descriptor_s {
|
|
@@ -233,7 +235,7 @@ struct mdp_superblock_1 {
|
|
char set_name[32]; /* set and interpreted by user-space */
|
|
|
|
__le64 ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/
|
|
- __le32 level; /* 0,1,4,5 */
|
|
+ __le32 level; /* 0,1,4,5, -1 (linear) */
|
|
__le32 layout; /* only for raid5 and raid10 currently */
|
|
__le64 size; /* used size of component devices, in 512byte sectors */
|
|
|
|
--- a/mips/usr/include/linux/raid/md_u.h
|
|
+++ b/mips/usr/include/linux/raid/md_u.h
|
|
@@ -103,6 +103,8 @@ typedef struct mdu_array_info_s {
|
|
|
|
} mdu_array_info_t;
|
|
|
|
+#define LEVEL_LINEAR (-1)
|
|
+
|
|
/* we need a value for 'no level specified' and 0
|
|
* means 'raid0', so we need something else. This is
|
|
* for internal use only
|
|
--- a/mips/usr/include/linux/rkisp1-config.h
|
|
+++ b/mips/usr/include/linux/rkisp1-config.h
|
|
@@ -1528,7 +1528,7 @@ enum rksip1_ext_param_buffer_version {
|
|
* The expected memory layout of the parameters buffer is::
|
|
*
|
|
* +-------------------- struct rkisp1_ext_params_cfg -------------------+
|
|
- * | version = RKISP_EXT_PARAMS_BUFFER_V1; |
|
|
+ * | version = RKISP1_EXT_PARAM_BUFFER_V1; |
|
|
* | data_size = sizeof(struct rkisp1_ext_params_bls_config) |
|
|
* | + sizeof(struct rkisp1_ext_params_dpcc_config); |
|
|
* | +------------------------- data ---------------------------------+ |
|
|
--- a/mips/usr/include/linux/rtnetlink.h
|
|
+++ b/mips/usr/include/linux/rtnetlink.h
|
|
@@ -174,7 +174,7 @@ enum {
|
|
#define RTM_GETLINKPROP RTM_GETLINKPROP
|
|
|
|
RTM_NEWVLAN = 112,
|
|
-#define RTM_NEWNVLAN RTM_NEWVLAN
|
|
+#define RTM_NEWVLAN RTM_NEWVLAN
|
|
RTM_DELVLAN,
|
|
#define RTM_DELVLAN RTM_DELVLAN
|
|
RTM_GETVLAN,
|
|
--- a/mips/usr/include/linux/sed-opal.h
|
|
+++ b/mips/usr/include/linux/sed-opal.h
|
|
@@ -215,5 +215,6 @@ struct opal_revert_lsp {
|
|
#define IOC_OPAL_GET_GEOMETRY _IOR('p', 238, struct opal_geometry)
|
|
#define IOC_OPAL_DISCOVERY _IOW('p', 239, struct opal_discovery)
|
|
#define IOC_OPAL_REVERT_LSP _IOW('p', 240, struct opal_revert_lsp)
|
|
+#define IOC_OPAL_SET_SID_PW _IOW('p', 241, struct opal_new_pw)
|
|
|
|
#endif /* _SED_OPAL_H */
|
|
--- a/mips/usr/include/linux/stddef.h
|
|
+++ b/mips/usr/include/linux/stddef.h
|
|
@@ -8,6 +8,13 @@
|
|
#define __always_inline __inline__
|
|
#endif
|
|
|
|
+/* Not all C++ standards support type declarations inside an anonymous union */
|
|
+#ifndef __cplusplus
|
|
+#define __struct_group_tag(TAG) TAG
|
|
+#else
|
|
+#define __struct_group_tag(TAG)
|
|
+#endif
|
|
+
|
|
/**
|
|
* __struct_group() - Create a mirrored named and anonyomous struct
|
|
*
|
|
@@ -20,13 +27,13 @@
|
|
* and size: one anonymous and one named. The former's members can be used
|
|
* normally without sub-struct naming, and the latter can be used to
|
|
* reason about the start, end, and size of the group of struct members.
|
|
- * The named struct can also be explicitly tagged for layer reuse, as well
|
|
- * as both having struct attributes appended.
|
|
+ * The named struct can also be explicitly tagged for layer reuse (C only),
|
|
+ * as well as both having struct attributes appended.
|
|
*/
|
|
#define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
|
|
union { \
|
|
struct { MEMBERS } ATTRS; \
|
|
- struct TAG { MEMBERS } ATTRS NAME; \
|
|
+ struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \
|
|
} ATTRS
|
|
|
|
#ifdef __cplusplus
|
|
--- a/mips/usr/include/linux/types.h
|
|
+++ b/mips/usr/include/linux/types.h
|
|
@@ -48,6 +48,7 @@ typedef __u32 __bitwise __wsum;
|
|
* No conversions are necessary between 32-bit user-space and a 64-bit kernel.
|
|
*/
|
|
#define __aligned_u64 __u64 __attribute__((aligned(8)))
|
|
+#define __aligned_s64 __s64 __attribute__((aligned(8)))
|
|
#define __aligned_be64 __be64 __attribute__((aligned(8)))
|
|
#define __aligned_le64 __le64 __attribute__((aligned(8)))
|
|
|
|
--- a/mips/usr/include/linux/usb/ch9.h
|
|
+++ b/mips/usr/include/linux/usb/ch9.h
|
|
@@ -253,6 +253,9 @@ struct usb_ctrlrequest {
|
|
#define USB_DT_BOS 0x0f
|
|
#define USB_DT_DEVICE_CAPABILITY 0x10
|
|
#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11
|
|
+/* From the eUSB2 spec */
|
|
+#define USB_DT_EUSB2_ISOC_ENDPOINT_COMP 0x12
|
|
+/* From Wireless USB spec */
|
|
#define USB_DT_WIRE_ADAPTER 0x21
|
|
/* From USB Device Firmware Upgrade Specification, Revision 1.1 */
|
|
#define USB_DT_DFU_FUNCTIONAL 0x21
|
|
@@ -330,6 +333,7 @@ struct usb_device_descriptor {
|
|
#define USB_CLASS_AUDIO_VIDEO 0x10
|
|
#define USB_CLASS_BILLBOARD 0x11
|
|
#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
|
|
+#define USB_CLASS_MCTP 0x14
|
|
#define USB_CLASS_MISC 0xef
|
|
#define USB_CLASS_APP_SPEC 0xfe
|
|
#define USB_SUBCLASS_DFU 0x01
|
|
@@ -675,6 +679,18 @@ static __inline__ int usb_endpoint_inter
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
+/* USB_DT_EUSB2_ISOC_ENDPOINT_COMP: eUSB2 Isoch Endpoint Companion descriptor */
|
|
+struct usb_eusb2_isoc_ep_comp_descriptor {
|
|
+ __u8 bLength;
|
|
+ __u8 bDescriptorType;
|
|
+ __le16 wMaxPacketSize;
|
|
+ __le32 dwBytesPerInterval;
|
|
+} __attribute__ ((packed));
|
|
+
|
|
+#define USB_DT_EUSB2_ISOC_EP_COMP_SIZE 8
|
|
+
|
|
+/*-------------------------------------------------------------------------*/
|
|
+
|
|
/* USB_DT_SSP_ISOC_ENDPOINT_COMP: SuperSpeedPlus Isochronous Endpoint Companion
|
|
* descriptor
|
|
*/
|
|
--- a/mips/usr/include/linux/usb/functionfs.h
|
|
+++ b/mips/usr/include/linux/usb/functionfs.h
|
|
@@ -205,7 +205,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -223,7 +223,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -236,7 +236,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* | 11 | ExtProp[] | | list of ext. prop. d. |
|
|
* +-----+-----------------+------+--------------------------+
|
|
*
|
|
- * ExtCompat[] is an array of valid Extended Compatiblity descriptors
|
|
+ * ExtCompat[] is an array of valid Extended Compatibility descriptors
|
|
* which have the following format:
|
|
*
|
|
* +-----+-----------------------+------+-------------------------------------+
|
|
@@ -294,7 +294,7 @@ struct usb_functionfs_strings_head {
|
|
* | 16 | stringtab | StringTab[lang_count] | table of strings per lang |
|
|
*
|
|
* For each language there is one stringtab entry (ie. there are lang_count
|
|
- * stringtab entires). Each StringTab has following format:
|
|
+ * stringtab entries). Each StringTab has following format:
|
|
*
|
|
* | off | name | type | description |
|
|
* |-----+---------+-------------------+------------------------------------|
|
|
--- a/mips/usr/include/linux/vhost.h
|
|
+++ b/mips/usr/include/linux/vhost.h
|
|
@@ -235,4 +235,33 @@
|
|
*/
|
|
#define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \
|
|
struct vhost_vring_state)
|
|
+
|
|
+/* fork_owner values for vhost */
|
|
+#define VHOST_FORK_OWNER_KTHREAD 0
|
|
+#define VHOST_FORK_OWNER_TASK 1
|
|
+
|
|
+/**
|
|
+ * VHOST_SET_FORK_FROM_OWNER - Set the fork_owner flag for the vhost device,
|
|
+ * This ioctl must called before VHOST_SET_OWNER.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @param fork_owner: An 8-bit value that determines the vhost thread mode
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_TASK(default value):
|
|
+ * - Vhost will create vhost worker as tasks forked from the owner,
|
|
+ * inheriting all of the owner's attributes.
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_KTHREAD:
|
|
+ * - Vhost will create vhost workers as kernel threads.
|
|
+ */
|
|
+#define VHOST_SET_FORK_FROM_OWNER _IOW(VHOST_VIRTIO, 0x84, __u8)
|
|
+
|
|
+/**
|
|
+ * VHOST_GET_FORK_OWNER - Get the current fork_owner flag for the vhost device.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @return: An 8-bit value indicating the current thread mode.
|
|
+ */
|
|
+#define VHOST_GET_FORK_FROM_OWNER _IOR(VHOST_VIRTIO, 0x85, __u8)
|
|
+
|
|
#endif
|
|
--- a/mips/usr/include/linux/videodev2.h
|
|
+++ b/mips/usr/include/linux/videodev2.h
|
|
@@ -771,6 +771,7 @@ struct v4l2_pix_format {
|
|
#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
|
|
#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
|
|
+#define V4L2_PIX_FMT_Y16I v4l2_fourcc('Y', '1', '6', 'I') /* Greyscale 16-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
|
|
#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
|
|
#define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */
|
|
@@ -832,6 +833,8 @@ struct v4l2_pix_format {
|
|
|
|
/* Vendor specific - used for RaspberryPi PiSP */
|
|
#define V4L2_META_FMT_RPI_BE_CFG v4l2_fourcc('R', 'P', 'B', 'C') /* PiSP BE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_CFG v4l2_fourcc('R', 'P', 'F', 'C') /* PiSP FE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_STATS v4l2_fourcc('R', 'P', 'F', 'S') /* PiSP FE stats */
|
|
|
|
|
|
/* priv field value to indicates that subsequent fields are valid. */
|
|
--- a/mips/usr/include/linux/xfrm.h
|
|
+++ b/mips/usr/include/linux/xfrm.h
|
|
@@ -322,6 +322,7 @@ enum xfrm_attr_type_t {
|
|
XFRMA_MTIMER_THRESH, /* __u32 in seconds for input SA */
|
|
XFRMA_SA_DIR, /* __u8 */
|
|
XFRMA_NAT_KEEPALIVE_INTERVAL, /* __u32 in seconds for NAT keepalive */
|
|
+ XFRMA_SA_PCPU, /* __u32 */
|
|
__XFRMA_MAX
|
|
|
|
#define XFRMA_OUTPUT_MARK XFRMA_SET_MARK /* Compatibility */
|
|
@@ -437,6 +438,7 @@ struct xfrm_userpolicy_info {
|
|
#define XFRM_POLICY_LOCALOK 1 /* Allow user to override global policy */
|
|
/* Automatically expand selector to include matching ICMP payloads. */
|
|
#define XFRM_POLICY_ICMP 2
|
|
+#define XFRM_POLICY_CPU_ACQUIRE 4
|
|
__u8 share;
|
|
};
|
|
|
|
--- a/mips/usr/include/rdma/efa-abi.h
|
|
+++ b/mips/usr/include/rdma/efa-abi.h
|
|
@@ -95,7 +95,8 @@ struct efa_ibv_create_qp {
|
|
__u32 sq_ring_size; /* bytes */
|
|
__u32 driver_qp_type;
|
|
__u16 flags;
|
|
- __u8 reserved_90[6];
|
|
+ __u8 sl;
|
|
+ __u8 reserved_98[5];
|
|
};
|
|
|
|
struct efa_ibv_create_qp_resp {
|
|
--- a/mips/usr/include/rdma/mlx5-abi.h
|
|
+++ b/mips/usr/include/rdma/mlx5-abi.h
|
|
@@ -252,6 +252,7 @@ enum mlx5_ib_query_dev_resp_flags {
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1,
|
|
MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE = 1 << 2,
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT = 1 << 3,
|
|
+ MLX5_IB_QUERY_DEV_RESP_FLAGS_OOO_DP = 1 << 4,
|
|
};
|
|
|
|
enum mlx5_ib_tunnel_offloads {
|
|
@@ -439,6 +440,10 @@ struct mlx5_ib_burst_info {
|
|
__u16 reserved;
|
|
};
|
|
|
|
+enum mlx5_ib_modify_qp_mask {
|
|
+ MLX5_IB_MODIFY_QP_OOO_DP = 1 << 0,
|
|
+};
|
|
+
|
|
struct mlx5_ib_modify_qp {
|
|
__u32 comp_mask;
|
|
struct mlx5_ib_burst_info burst_info;
|
|
--- a/mips/usr/include/rdma/rdma_netlink.h
|
|
+++ b/mips/usr/include/rdma/rdma_netlink.h
|
|
@@ -638,6 +638,8 @@ enum rdma_nl_notify_event_type {
|
|
RDMA_UNREGISTER_EVENT,
|
|
RDMA_NETDEV_ATTACH_EVENT,
|
|
RDMA_NETDEV_DETACH_EVENT,
|
|
+ RDMA_RENAME_EVENT,
|
|
+ RDMA_NETDEV_RENAME_EVENT,
|
|
};
|
|
|
|
#endif /* _RDMA_NETLINK_H */
|
|
--- a/mips/usr/include/scsi/fc/fc_els.h
|
|
+++ b/mips/usr/include/scsi/fc/fc_els.h
|
|
@@ -11,6 +11,8 @@
|
|
#include <linux/types.h>
|
|
#include <asm/byteorder.h>
|
|
|
|
+#include <stddef.h> /* for offsetof */
|
|
+
|
|
/*
|
|
* Fibre Channel Switch - Enhanced Link Services definitions.
|
|
* From T11 FC-LS Rev 1.2 June 7, 2005.
|
|
@@ -1109,12 +1111,15 @@ struct fc_els_fpin {
|
|
|
|
/* Diagnostic Function Descriptor - FPIN Registration */
|
|
struct fc_df_desc_fpin_reg {
|
|
- __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
- __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
- * Size of descriptor excluding
|
|
- * desc_tag and desc_len fields.
|
|
- */
|
|
- __be32 count; /* Number of desc_tags elements */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_df_desc_fpin_reg_hdr, __hdr, /* no attrs */,
|
|
+ __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
+ __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
+ * Size of descriptor excluding
|
|
+ * desc_tag and desc_len fields.
|
|
+ */
|
|
+ __be32 count; /* Number of desc_tags elements */
|
|
+ );
|
|
__be32 desc_tags[]; /* Array of Descriptor Tags.
|
|
* Each tag indicates a function
|
|
* supported by the N_Port (request)
|
|
@@ -1124,33 +1129,44 @@ struct fc_df_desc_fpin_reg {
|
|
* See ELS_FN_DTAG_xxx for tag values.
|
|
*/
|
|
};
|
|
+_Static_assert(offsetof(struct fc_df_desc_fpin_reg, desc_tags) == sizeof(struct fc_df_desc_fpin_reg_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS_RDF - Register Diagnostic Functions
|
|
*/
|
|
struct fc_els_rdf {
|
|
- __u8 fpin_cmd; /* command (0x19) */
|
|
- __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
- __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
- * Size of ELS excluding fpin_cmd,
|
|
- * fpin_zero and desc_len fields.
|
|
- */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_hdr, __hdr, /* no attrs */,
|
|
+ __u8 fpin_cmd; /* command (0x19) */
|
|
+ __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
+ __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
+ * Size of ELS excluding fpin_cmd,
|
|
+ * fpin_zero and desc_len fields.
|
|
+ */
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Descriptor list */
|
|
};
|
|
+_Static_assert(offsetof(struct fc_els_rdf, desc) == sizeof(struct fc_els_rdf_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS RDF LS_ACC Response.
|
|
*/
|
|
struct fc_els_rdf_resp {
|
|
- struct fc_els_ls_acc acc_hdr;
|
|
- __be32 desc_list_len; /* Length of response (in
|
|
- * bytes). Excludes acc_hdr
|
|
- * and desc_list_len fields.
|
|
- */
|
|
- struct fc_els_lsri_desc lsri;
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_resp_hdr, __hdr, /* no attrs */,
|
|
+ struct fc_els_ls_acc acc_hdr;
|
|
+ __be32 desc_list_len; /* Length of response (in
|
|
+ * bytes). Excludes acc_hdr
|
|
+ * and desc_list_len fields.
|
|
+ */
|
|
+ struct fc_els_lsri_desc lsri;
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Supported Descriptor list */
|
|
};
|
|
-
|
|
+_Static_assert(offsetof(struct fc_els_rdf_resp, desc) == sizeof(struct fc_els_rdf_resp_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* Diagnostic Capability Descriptors for EDC ELS
|
|
--- a/parisc/usr/include/asm-generic/mman-common.h
|
|
+++ b/parisc/usr/include/asm-generic/mman-common.h
|
|
@@ -79,6 +79,9 @@
|
|
|
|
#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */
|
|
|
|
+#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */
|
|
+#define MADV_GUARD_REMOVE 103 /* unguard range */
|
|
+
|
|
/* compatibility flags */
|
|
#define MAP_FILE 0
|
|
|
|
--- a/parisc/usr/include/asm/mman.h
|
|
+++ b/parisc/usr/include/asm/mman.h
|
|
@@ -75,6 +75,9 @@
|
|
#define MADV_HWPOISON 100 /* poison a page for testing */
|
|
#define MADV_SOFT_OFFLINE 101 /* soft offline page for testing */
|
|
|
|
+#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */
|
|
+#define MADV_GUARD_REMOVE 103 /* unguard range */
|
|
+
|
|
/* compatibility flags */
|
|
#define MAP_FILE 0
|
|
|
|
--- a/parisc/usr/include/linux/devlink.h
|
|
+++ b/parisc/usr/include/linux/devlink.h
|
|
@@ -385,6 +385,21 @@ enum devlink_linecard_state {
|
|
DEVLINK_LINECARD_STATE_MAX = __DEVLINK_LINECARD_STATE_MAX - 1
|
|
};
|
|
|
|
+/* Variable attribute type. */
|
|
+enum devlink_var_attr_type {
|
|
+ /* Following values relate to the internal NLA_* values */
|
|
+ DEVLINK_VAR_ATTR_TYPE_U8 = 1,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U16,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U32,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U64,
|
|
+ DEVLINK_VAR_ATTR_TYPE_STRING,
|
|
+ DEVLINK_VAR_ATTR_TYPE_FLAG,
|
|
+ DEVLINK_VAR_ATTR_TYPE_NUL_STRING = 10,
|
|
+ DEVLINK_VAR_ATTR_TYPE_BINARY,
|
|
+ __DEVLINK_VAR_ATTR_TYPE_CUSTOM_BASE = 0x80,
|
|
+ /* Any possible custom types, unrelated to NLA_* values go below */
|
|
+};
|
|
+
|
|
enum devlink_attr {
|
|
/* don't change the order or add anything between, this is ABI! */
|
|
DEVLINK_ATTR_UNSPEC,
|
|
--- a/parisc/usr/include/linux/dm-ioctl.h
|
|
+++ b/parisc/usr/include/linux/dm-ioctl.h
|
|
@@ -286,9 +286,9 @@ enum {
|
|
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
|
|
|
#define DM_VERSION_MAJOR 4
|
|
-#define DM_VERSION_MINOR 48
|
|
+#define DM_VERSION_MINOR 49
|
|
#define DM_VERSION_PATCHLEVEL 0
|
|
-#define DM_VERSION_EXTRA "-ioctl (2023-03-01)"
|
|
+#define DM_VERSION_EXTRA "-ioctl (2025-01-17)"
|
|
|
|
/* Status bits */
|
|
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
|
--- a/parisc/usr/include/linux/dpll.h
|
|
+++ b/parisc/usr/include/linux/dpll.h
|
|
@@ -79,6 +79,29 @@ enum dpll_lock_status_error {
|
|
DPLL_LOCK_STATUS_ERROR_MAX = (__DPLL_LOCK_STATUS_ERROR_MAX - 1)
|
|
};
|
|
|
|
+/**
|
|
+ * enum dpll_clock_quality_level - level of quality of a clock device. This
|
|
+ * mainly applies when the dpll lock-status is DPLL_LOCK_STATUS_HOLDOVER. The
|
|
+ * current list is defined according to the table 11-7 contained in ITU-T
|
|
+ * G.8264/Y.1364 document. One may extend this list freely by other ITU-T
|
|
+ * defined clock qualities, or different ones defined by another
|
|
+ * standardization body (for those, please use different prefix).
|
|
+ */
|
|
+enum dpll_clock_quality_level {
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRC = 1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_A,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_B,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEC1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEEC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRC,
|
|
+
|
|
+ /* private: */
|
|
+ __DPLL_CLOCK_QUALITY_LEVEL_MAX,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_MAX = (__DPLL_CLOCK_QUALITY_LEVEL_MAX - 1)
|
|
+};
|
|
+
|
|
#define DPLL_TEMP_DIVIDER 1000
|
|
|
|
/**
|
|
@@ -180,6 +203,7 @@ enum dpll_a {
|
|
DPLL_A_TEMP,
|
|
DPLL_A_TYPE,
|
|
DPLL_A_LOCK_STATUS_ERROR,
|
|
+ DPLL_A_CLOCK_QUALITY_LEVEL,
|
|
|
|
__DPLL_A_MAX,
|
|
DPLL_A_MAX = (__DPLL_A_MAX - 1)
|
|
--- a/parisc/usr/include/linux/ethtool.h
|
|
+++ b/parisc/usr/include/linux/ethtool.h
|
|
@@ -679,6 +679,8 @@ enum ethtool_link_ext_substate_module {
|
|
* @ETH_SS_STATS_ETH_MAC: names of IEEE 802.3 MAC statistics
|
|
* @ETH_SS_STATS_ETH_CTRL: names of IEEE 802.3 MAC Control statistics
|
|
* @ETH_SS_STATS_RMON: names of RMON statistics
|
|
+ * @ETH_SS_STATS_PHY: names of PHY(dev) statistics
|
|
+ * @ETH_SS_TS_FLAGS: hardware timestamping flags
|
|
*
|
|
* @ETH_SS_COUNT: number of defined string sets
|
|
*/
|
|
@@ -704,6 +706,8 @@ enum ethtool_stringset {
|
|
ETH_SS_STATS_ETH_MAC,
|
|
ETH_SS_STATS_ETH_CTRL,
|
|
ETH_SS_STATS_RMON,
|
|
+ ETH_SS_STATS_PHY,
|
|
+ ETH_SS_TS_FLAGS,
|
|
|
|
/* add new constants above here */
|
|
ETH_SS_COUNT
|
|
--- a/parisc/usr/include/linux/ethtool_netlink.h
|
|
+++ b/parisc/usr/include/linux/ethtool_netlink.h
|
|
@@ -10,545 +10,12 @@
|
|
#define _LINUX_ETHTOOL_NETLINK_H_
|
|
|
|
#include <linux/ethtool.h>
|
|
-
|
|
-/* message types - userspace to kernel */
|
|
-enum {
|
|
- ETHTOOL_MSG_USER_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET,
|
|
- ETHTOOL_MSG_LINKINFO_GET,
|
|
- ETHTOOL_MSG_LINKINFO_SET,
|
|
- ETHTOOL_MSG_LINKMODES_GET,
|
|
- ETHTOOL_MSG_LINKMODES_SET,
|
|
- ETHTOOL_MSG_LINKSTATE_GET,
|
|
- ETHTOOL_MSG_DEBUG_GET,
|
|
- ETHTOOL_MSG_DEBUG_SET,
|
|
- ETHTOOL_MSG_WOL_GET,
|
|
- ETHTOOL_MSG_WOL_SET,
|
|
- ETHTOOL_MSG_FEATURES_GET,
|
|
- ETHTOOL_MSG_FEATURES_SET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
- ETHTOOL_MSG_RINGS_GET,
|
|
- ETHTOOL_MSG_RINGS_SET,
|
|
- ETHTOOL_MSG_CHANNELS_GET,
|
|
- ETHTOOL_MSG_CHANNELS_SET,
|
|
- ETHTOOL_MSG_COALESCE_GET,
|
|
- ETHTOOL_MSG_COALESCE_SET,
|
|
- ETHTOOL_MSG_PAUSE_GET,
|
|
- ETHTOOL_MSG_PAUSE_SET,
|
|
- ETHTOOL_MSG_EEE_GET,
|
|
- ETHTOOL_MSG_EEE_SET,
|
|
- ETHTOOL_MSG_TSINFO_GET,
|
|
- ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
- ETHTOOL_MSG_FEC_GET,
|
|
- ETHTOOL_MSG_FEC_SET,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
- ETHTOOL_MSG_STATS_GET,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
- ETHTOOL_MSG_MODULE_GET,
|
|
- ETHTOOL_MSG_MODULE_SET,
|
|
- ETHTOOL_MSG_PSE_GET,
|
|
- ETHTOOL_MSG_PSE_SET,
|
|
- ETHTOOL_MSG_RSS_GET,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG,
|
|
- ETHTOOL_MSG_PLCA_SET_CFG,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
- ETHTOOL_MSG_MM_GET,
|
|
- ETHTOOL_MSG_MM_SET,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
- ETHTOOL_MSG_PHY_GET,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_USER_CNT,
|
|
- ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
|
|
-};
|
|
-
|
|
-/* message types - kernel to userspace */
|
|
-enum {
|
|
- ETHTOOL_MSG_KERNEL_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_NTF,
|
|
- ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKMODES_NTF,
|
|
- ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_NTF,
|
|
- ETHTOOL_MSG_WOL_GET_REPLY,
|
|
- ETHTOOL_MSG_WOL_NTF,
|
|
- ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_NTF,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
- ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
- ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
- ETHTOOL_MSG_RINGS_NTF,
|
|
- ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
- ETHTOOL_MSG_CHANNELS_NTF,
|
|
- ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
- ETHTOOL_MSG_COALESCE_NTF,
|
|
- ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
- ETHTOOL_MSG_PAUSE_NTF,
|
|
- ETHTOOL_MSG_EEE_GET_REPLY,
|
|
- ETHTOOL_MSG_EEE_NTF,
|
|
- ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_NTF,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
- ETHTOOL_MSG_STATS_GET_REPLY,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_NTF,
|
|
- ETHTOOL_MSG_PSE_GET_REPLY,
|
|
- ETHTOOL_MSG_RSS_GET_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
- ETHTOOL_MSG_PLCA_NTF,
|
|
- ETHTOOL_MSG_MM_GET_REPLY,
|
|
- ETHTOOL_MSG_MM_NTF,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
- ETHTOOL_MSG_PHY_GET_REPLY,
|
|
- ETHTOOL_MSG_PHY_NTF,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_KERNEL_CNT,
|
|
- ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
|
|
-};
|
|
-
|
|
-/* request header */
|
|
-
|
|
-enum ethtool_header_flags {
|
|
- ETHTOOL_FLAG_COMPACT_BITSETS = 1 << 0, /* use compact bitsets in reply */
|
|
- ETHTOOL_FLAG_OMIT_REPLY = 1 << 1, /* provide optional reply for SET or ACT requests */
|
|
- ETHTOOL_FLAG_STATS = 1 << 2, /* request statistics, if supported by the driver */
|
|
-};
|
|
+#include <linux/ethtool_netlink_generated.h>
|
|
|
|
#define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \
|
|
ETHTOOL_FLAG_OMIT_REPLY | \
|
|
ETHTOOL_FLAG_STATS)
|
|
|
|
-enum {
|
|
- ETHTOOL_A_HEADER_UNSPEC,
|
|
- ETHTOOL_A_HEADER_DEV_INDEX, /* u32 */
|
|
- ETHTOOL_A_HEADER_DEV_NAME, /* string */
|
|
- ETHTOOL_A_HEADER_FLAGS, /* u32 - ETHTOOL_FLAG_* */
|
|
- ETHTOOL_A_HEADER_PHY_INDEX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_HEADER_CNT,
|
|
- ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1
|
|
-};
|
|
-
|
|
-/* bit sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BIT_INDEX, /* u32 */
|
|
- ETHTOOL_A_BITSET_BIT_NAME, /* string */
|
|
- ETHTOOL_A_BITSET_BIT_VALUE, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BIT_CNT,
|
|
- ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BITS_BIT, /* nest - _A_BITSET_BIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BITS_CNT,
|
|
- ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_UNSPEC,
|
|
- ETHTOOL_A_BITSET_NOMASK, /* flag */
|
|
- ETHTOOL_A_BITSET_SIZE, /* u32 */
|
|
- ETHTOOL_A_BITSET_BITS, /* nest - _A_BITSET_BITS_* */
|
|
- ETHTOOL_A_BITSET_VALUE, /* binary */
|
|
- ETHTOOL_A_BITSET_MASK, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_CNT,
|
|
- ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* string sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRING_UNSPEC,
|
|
- ETHTOOL_A_STRING_INDEX, /* u32 */
|
|
- ETHTOOL_A_STRING_VALUE, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRING_CNT,
|
|
- ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGS_UNSPEC,
|
|
- ETHTOOL_A_STRINGS_STRING, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGS_CNT,
|
|
- ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSET_UNSPEC,
|
|
- ETHTOOL_A_STRINGSET_ID, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_COUNT, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_STRINGS, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSET_CNT,
|
|
- ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
- ETHTOOL_A_STRINGSETS_STRINGSET, /* nest - _A_STRINGSET_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSETS_CNT,
|
|
- ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1
|
|
-};
|
|
-
|
|
-/* STRSET */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRSET_UNSPEC,
|
|
- ETHTOOL_A_STRSET_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STRSET_STRINGSETS, /* nest - _A_STRINGSETS_* */
|
|
- ETHTOOL_A_STRSET_COUNTS_ONLY, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRSET_CNT,
|
|
- ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKINFO_UNSPEC,
|
|
- ETHTOOL_A_LINKINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKINFO_PORT, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_PHYADDR, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TRANSCEIVER, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKINFO_CNT,
|
|
- ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKMODES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKMODES_UNSPEC,
|
|
- ETHTOOL_A_LINKMODES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_OURS, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_PEER, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_SPEED, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_LANES, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKMODES_CNT,
|
|
- ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKSTATE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
- ETHTOOL_A_LINKSTATE_HEADER, /* nest - _A_HEADER_* */
|
|
- 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 */
|
|
- ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKSTATE_CNT,
|
|
- ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1
|
|
-};
|
|
-
|
|
-/* DEBUG */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_DEBUG_UNSPEC,
|
|
- ETHTOOL_A_DEBUG_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_DEBUG_MSGMASK, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_DEBUG_CNT,
|
|
- ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1
|
|
-};
|
|
-
|
|
-/* WOL */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_WOL_UNSPEC,
|
|
- ETHTOOL_A_WOL_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_WOL_MODES, /* bitset */
|
|
- ETHTOOL_A_WOL_SOPASS, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_WOL_CNT,
|
|
- ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
|
|
-};
|
|
-
|
|
-/* FEATURES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEATURES_UNSPEC,
|
|
- ETHTOOL_A_FEATURES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEATURES_HW, /* bitset */
|
|
- ETHTOOL_A_FEATURES_WANTED, /* bitset */
|
|
- ETHTOOL_A_FEATURES_ACTIVE, /* bitset */
|
|
- ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEATURES_CNT,
|
|
- ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
|
|
-};
|
|
-
|
|
-/* PRIVFLAGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
- ETHTOOL_A_PRIVFLAGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PRIVFLAGS_FLAGS, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
- ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1
|
|
-};
|
|
-
|
|
-/* RINGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,
|
|
- ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
- ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RINGS_UNSPEC,
|
|
- ETHTOOL_A_RINGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_RINGS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */
|
|
- ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_RX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_RINGS_CNT,
|
|
- ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CHANNELS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CHANNELS_UNSPEC,
|
|
- ETHTOOL_A_CHANNELS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CHANNELS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_RX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_COUNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CHANNELS_CNT,
|
|
- ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* COALESCE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_COALESCE_UNSPEC,
|
|
- ETHTOOL_A_COALESCE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_COALESCE_RX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, /* u32 */
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_COALESCE_CNT,
|
|
- ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PROFILE_UNSPEC,
|
|
- /* nest, _A_IRQ_MODERATION_* */
|
|
- ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
- __ETHTOOL_A_PROFILE_CNT,
|
|
- ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
- ETHTOOL_A_IRQ_MODERATION_USEC, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_PKTS, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_COMPS, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
- ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
-};
|
|
-
|
|
-/* PAUSE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PAUSE_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_PAUSE_RX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_TX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_STATS, /* nest - _PAUSE_STAT_* */
|
|
- ETHTOOL_A_PAUSE_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PAUSE_CNT,
|
|
- ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
- ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
-
|
|
- /* add new constants above here
|
|
- * adjust ETHTOOL_PAUSE_STAT_CNT if adding non-stats!
|
|
- */
|
|
- __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
- ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* EEE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_EEE_UNSPEC,
|
|
- ETHTOOL_A_EEE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_EEE_MODES_OURS, /* bitset */
|
|
- ETHTOOL_A_EEE_MODES_PEER, /* bitset */
|
|
- ETHTOOL_A_EEE_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_EEE_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_TIMER, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_EEE_CNT,
|
|
- ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
-};
|
|
-
|
|
-/* TSINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TSINFO_UNSPEC,
|
|
- ETHTOOL_A_TSINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_TSINFO_TIMESTAMPING, /* bitset */
|
|
- ETHTOOL_A_TSINFO_TX_TYPES, /* bitset */
|
|
- ETHTOOL_A_TSINFO_RX_FILTERS, /* bitset */
|
|
- ETHTOOL_A_TSINFO_PHC_INDEX, /* u32 */
|
|
- ETHTOOL_A_TSINFO_STATS, /* nest - _A_TSINFO_STAT */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TSINFO_CNT,
|
|
- ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TS_STAT_UNSPEC,
|
|
-
|
|
- ETHTOOL_A_TS_STAT_TX_PKTS, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_LOST, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_ERR, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TS_STAT_CNT,
|
|
- ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
-
|
|
-};
|
|
-
|
|
-/* PHC VCLOCKS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
- ETHTOOL_A_PHC_VCLOCKS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHC_VCLOCKS_NUM, /* u32 */
|
|
- ETHTOOL_A_PHC_VCLOCKS_INDEX, /* array, s32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
- ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST NOTIFY */
|
|
enum {
|
|
ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC,
|
|
@@ -583,73 +50,11 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
- ETHTOOL_A_CABLE_RESULT_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_RESULT_CODE, /* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */
|
|
- ETHTOOL_A_CABLE_RESULT_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
- ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_CM, /* u32 */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED
|
|
};
|
|
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_NEST_RESULT, /* nest - ETHTOOL_A_CABLE_RESULT_ */
|
|
- ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, /* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */
|
|
- __ETHTOOL_A_CABLE_NEST_CNT,
|
|
- ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST TDR */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG, /* nest - *_TDR_CFG_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST TDR NOTIFY */
|
|
|
|
enum {
|
|
@@ -690,163 +95,17 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
- 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)
|
|
-};
|
|
-
|
|
-/* FEC */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_UNSPEC,
|
|
- ETHTOOL_A_FEC_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEC_MODES, /* bitset */
|
|
- ETHTOOL_A_FEC_AUTO, /* u8 */
|
|
- ETHTOOL_A_FEC_ACTIVE, /* u32 */
|
|
- ETHTOOL_A_FEC_STATS, /* nest - _A_FEC_STAT */
|
|
-
|
|
- __ETHTOOL_A_FEC_CNT,
|
|
- ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
- ETHTOOL_A_FEC_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_FEC_STAT_CORRECTED, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_UNCORR, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_CORR_BITS, /* array, u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEC_STAT_CNT,
|
|
- ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE EEPROM */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
- ETHTOOL_A_MODULE_EEPROM_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- ETHTOOL_A_MODULE_EEPROM_OFFSET, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_LENGTH, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */
|
|
-
|
|
- __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
- ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* STATS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STATS_UNSPEC,
|
|
- ETHTOOL_A_STATS_PAD,
|
|
- ETHTOOL_A_STATS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STATS_GROUPS, /* bitset */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP, /* nest - _A_STATS_GRP_* */
|
|
-
|
|
- ETHTOOL_A_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_CNT,
|
|
- ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_STATS_ETH_PHY,
|
|
ETHTOOL_STATS_ETH_MAC,
|
|
ETHTOOL_STATS_ETH_CTRL,
|
|
ETHTOOL_STATS_RMON,
|
|
+ ETHTOOL_STATS_PHY,
|
|
|
|
/* add new constants above here */
|
|
__ETHTOOL_STATS_CNT
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
- ETHTOOL_A_STATS_GRP_PAD,
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_ID, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_SS_ID, /* u32 */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_STAT, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_RX, /* nest */
|
|
- ETHTOOL_A_STATS_GRP_HIST_TX, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_LOW, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_HI, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_VAL, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_GRP_CNT,
|
|
- ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
/* 30.3.2.1.5 aSymbolErrorDuringCarrier */
|
|
ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR,
|
|
|
|
@@ -935,160 +194,20 @@ enum {
|
|
ETHTOOL_A_STATS_RMON_MAX = (__ETHTOOL_A_STATS_RMON_CNT - 1)
|
|
};
|
|
|
|
-/* MODULE */
|
|
-
|
|
enum {
|
|
- ETHTOOL_A_MODULE_UNSPEC,
|
|
- ETHTOOL_A_MODULE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_POWER_MODE_POLICY, /* u8 */
|
|
- ETHTOOL_A_MODULE_POWER_MODE, /* u8 */
|
|
+ /* Basic packet counters if PHY has separate counters from the MAC */
|
|
+ ETHTOOL_A_STATS_PHY_RX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_RX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_RX_ERRORS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_TX_ERRORS,
|
|
|
|
/* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_CNT,
|
|
- ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+ __ETHTOOL_A_STATS_PHY_CNT,
|
|
+ ETHTOOL_A_STATS_PHY_MAX = (__ETHTOOL_A_STATS_PHY_CNT - 1)
|
|
};
|
|
|
|
-/* Power Sourcing Equipment */
|
|
-enum {
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MIN, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MAX, /* u32 */
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PSE_UNSPEC,
|
|
- ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_CLASS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ACTUAL_PW, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_SUBSTATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES, /* nest - _C33_PSE_PW_LIMIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PSE_CNT,
|
|
- ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RSS_UNSPEC,
|
|
- ETHTOOL_A_RSS_HEADER,
|
|
- ETHTOOL_A_RSS_CONTEXT, /* u32 */
|
|
- ETHTOOL_A_RSS_HFUNC, /* u32 */
|
|
- ETHTOOL_A_RSS_INDIR, /* binary */
|
|
- ETHTOOL_A_RSS_HKEY, /* binary */
|
|
- ETHTOOL_A_RSS_INPUT_XFRM, /* u32 */
|
|
- ETHTOOL_A_RSS_START_CONTEXT, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_RSS_CNT,
|
|
- ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
|
|
-};
|
|
-
|
|
-/* PLCA */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PLCA_UNSPEC,
|
|
- ETHTOOL_A_PLCA_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PLCA_VERSION, /* u16 */
|
|
- ETHTOOL_A_PLCA_ENABLED, /* u8 */
|
|
- ETHTOOL_A_PLCA_STATUS, /* u8 */
|
|
- ETHTOOL_A_PLCA_NODE_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_NODE_ID, /* u32 */
|
|
- ETHTOOL_A_PLCA_TO_TMR, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_TMR, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PLCA_CNT,
|
|
- ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MAC Merge (802.3) */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_STAT_UNSPEC,
|
|
- ETHTOOL_A_MM_STAT_PAD,
|
|
-
|
|
- /* aMACMergeFrameAssErrorCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameSmdErrorCount */
|
|
- ETHTOOL_A_MM_STAT_SMD_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameAssOkCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_OK, /* u64 */
|
|
- /* aMACMergeFragCountRx */
|
|
- ETHTOOL_A_MM_STAT_RX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeFragCountTx */
|
|
- ETHTOOL_A_MM_STAT_TX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeHoldCount */
|
|
- ETHTOOL_A_MM_STAT_HOLD_COUNT, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_STAT_CNT,
|
|
- ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_UNSPEC,
|
|
- ETHTOOL_A_MM_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MM_PMAC_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_RX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_VERIFY_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_STATUS, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_MAX_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_STATS, /* nest - _A_MM_STAT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_CNT,
|
|
- ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE_FW_FLASH */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_PASSWORD, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_DONE, /* uint */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_TOTAL, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHY_UNSPEC,
|
|
- ETHTOOL_A_PHY_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHY_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_DRVNAME, /* string */
|
|
- ETHTOOL_A_PHY_NAME, /* string */
|
|
- ETHTOOL_A_PHY_UPSTREAM_TYPE, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_SFP_NAME, /* string */
|
|
- ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHY_CNT,
|
|
- ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
-};
|
|
-
|
|
-/* generic netlink info */
|
|
-#define ETHTOOL_GENL_NAME "ethtool"
|
|
-#define ETHTOOL_GENL_VERSION 1
|
|
-
|
|
#define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
|
|
|
|
#endif /* _LINUX_ETHTOOL_NETLINK_H_ */
|
|
--- /dev/null
|
|
+++ b/parisc/usr/include/linux/ethtool_netlink_generated.h
|
|
@@ -0,0 +1,821 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/ethtool.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+#define _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+
|
|
+#define ETHTOOL_GENL_NAME "ethtool"
|
|
+#define ETHTOOL_GENL_VERSION 1
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_GENEVE,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE,
|
|
+
|
|
+ /* private: */
|
|
+ __ETHTOOL_UDP_TUNNEL_TYPE_CNT,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_MAX = (__ETHTOOL_UDP_TUNNEL_TYPE_CNT - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum ethtool_header_flags - common ethtool header flags
|
|
+ * @ETHTOOL_FLAG_COMPACT_BITSETS: use compact bitsets in reply
|
|
+ * @ETHTOOL_FLAG_OMIT_REPLY: provide optional reply for SET or ACT requests
|
|
+ * @ETHTOOL_FLAG_STATS: request statistics, if supported by the driver
|
|
+ */
|
|
+enum ethtool_header_flags {
|
|
+ ETHTOOL_FLAG_COMPACT_BITSETS = 1,
|
|
+ ETHTOOL_FLAG_OMIT_REPLY = 2,
|
|
+ ETHTOOL_FLAG_STATS = 4,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_MAC,
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_PHY,
|
|
+};
|
|
+
|
|
+enum ethtool_tcp_data_split {
|
|
+ ETHTOOL_TCP_DATA_SPLIT_UNKNOWN,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_HEADER_UNSPEC,
|
|
+ ETHTOOL_A_HEADER_DEV_INDEX,
|
|
+ ETHTOOL_A_HEADER_DEV_NAME,
|
|
+ ETHTOOL_A_HEADER_FLAGS,
|
|
+ ETHTOOL_A_HEADER_PHY_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_HEADER_CNT,
|
|
+ ETHTOOL_A_HEADER_MAX = (__ETHTOOL_A_HEADER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BIT_INDEX,
|
|
+ ETHTOOL_A_BITSET_BIT_NAME,
|
|
+ ETHTOOL_A_BITSET_BIT_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BIT_CNT,
|
|
+ ETHTOOL_A_BITSET_BIT_MAX = (__ETHTOOL_A_BITSET_BIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BITS_BIT,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BITS_CNT,
|
|
+ ETHTOOL_A_BITSET_BITS_MAX = (__ETHTOOL_A_BITSET_BITS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_NOMASK,
|
|
+ ETHTOOL_A_BITSET_SIZE,
|
|
+ ETHTOOL_A_BITSET_BITS,
|
|
+ ETHTOOL_A_BITSET_VALUE,
|
|
+ ETHTOOL_A_BITSET_MASK,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_CNT,
|
|
+ ETHTOOL_A_BITSET_MAX = (__ETHTOOL_A_BITSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRING_UNSPEC,
|
|
+ ETHTOOL_A_STRING_INDEX,
|
|
+ ETHTOOL_A_STRING_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_STRING_CNT,
|
|
+ ETHTOOL_A_STRING_MAX = (__ETHTOOL_A_STRING_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGS_STRING,
|
|
+
|
|
+ __ETHTOOL_A_STRINGS_CNT,
|
|
+ ETHTOOL_A_STRINGS_MAX = (__ETHTOOL_A_STRINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSET_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSET_ID,
|
|
+ ETHTOOL_A_STRINGSET_COUNT,
|
|
+ ETHTOOL_A_STRINGSET_STRINGS,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSET_CNT,
|
|
+ ETHTOOL_A_STRINGSET_MAX = (__ETHTOOL_A_STRINGSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSETS_STRINGSET,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSETS_CNT,
|
|
+ ETHTOOL_A_STRINGSETS_MAX = (__ETHTOOL_A_STRINGSETS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRSET_UNSPEC,
|
|
+ ETHTOOL_A_STRSET_HEADER,
|
|
+ ETHTOOL_A_STRSET_STRINGSETS,
|
|
+ ETHTOOL_A_STRSET_COUNTS_ONLY,
|
|
+
|
|
+ __ETHTOOL_A_STRSET_CNT,
|
|
+ ETHTOOL_A_STRSET_MAX = (__ETHTOOL_A_STRSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
+ ETHTOOL_A_PRIVFLAGS_HEADER,
|
|
+ ETHTOOL_A_PRIVFLAGS_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
+ ETHTOOL_A_PRIVFLAGS_MAX = (__ETHTOOL_A_PRIVFLAGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RINGS_UNSPEC,
|
|
+ ETHTOOL_A_RINGS_HEADER,
|
|
+ ETHTOOL_A_RINGS_RX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO_MAX,
|
|
+ ETHTOOL_A_RINGS_TX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO,
|
|
+ ETHTOOL_A_RINGS_TX,
|
|
+ ETHTOOL_A_RINGS_RX_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
|
|
+ ETHTOOL_A_RINGS_CQE_SIZE,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH,
|
|
+ ETHTOOL_A_RINGS_RX_PUSH,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH_MAX,
|
|
+
|
|
+ __ETHTOOL_A_RINGS_CNT,
|
|
+ ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_STAT_UNSPEC,
|
|
+ ETHTOOL_A_MM_STAT_PAD,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_SMD_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_OK,
|
|
+ ETHTOOL_A_MM_STAT_RX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_TX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_HOLD_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_MM_STAT_CNT,
|
|
+ ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_UNSPEC,
|
|
+ ETHTOOL_A_MM_HEADER,
|
|
+ ETHTOOL_A_MM_PMAC_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ACTIVE,
|
|
+ ETHTOOL_A_MM_TX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_RX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_VERIFY_ENABLED,
|
|
+ ETHTOOL_A_MM_VERIFY_STATUS,
|
|
+ ETHTOOL_A_MM_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_MAX_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_STATS,
|
|
+
|
|
+ __ETHTOOL_A_MM_CNT,
|
|
+ ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKINFO_UNSPEC,
|
|
+ ETHTOOL_A_LINKINFO_HEADER,
|
|
+ ETHTOOL_A_LINKINFO_PORT,
|
|
+ ETHTOOL_A_LINKINFO_PHYADDR,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX_CTRL,
|
|
+ ETHTOOL_A_LINKINFO_TRANSCEIVER,
|
|
+
|
|
+ __ETHTOOL_A_LINKINFO_CNT,
|
|
+ ETHTOOL_A_LINKINFO_MAX = (__ETHTOOL_A_LINKINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKMODES_UNSPEC,
|
|
+ ETHTOOL_A_LINKMODES_HEADER,
|
|
+ ETHTOOL_A_LINKMODES_AUTONEG,
|
|
+ ETHTOOL_A_LINKMODES_OURS,
|
|
+ ETHTOOL_A_LINKMODES_PEER,
|
|
+ ETHTOOL_A_LINKMODES_SPEED,
|
|
+ ETHTOOL_A_LINKMODES_DUPLEX,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE,
|
|
+ ETHTOOL_A_LINKMODES_LANES,
|
|
+ ETHTOOL_A_LINKMODES_RATE_MATCHING,
|
|
+
|
|
+ __ETHTOOL_A_LINKMODES_CNT,
|
|
+ ETHTOOL_A_LINKMODES_MAX = (__ETHTOOL_A_LINKMODES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
+ ETHTOOL_A_LINKSTATE_HEADER,
|
|
+ ETHTOOL_A_LINKSTATE_LINK,
|
|
+ ETHTOOL_A_LINKSTATE_SQI,
|
|
+ ETHTOOL_A_LINKSTATE_SQI_MAX,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_STATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT,
|
|
+
|
|
+ __ETHTOOL_A_LINKSTATE_CNT,
|
|
+ ETHTOOL_A_LINKSTATE_MAX = (__ETHTOOL_A_LINKSTATE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_DEBUG_UNSPEC,
|
|
+ ETHTOOL_A_DEBUG_HEADER,
|
|
+ ETHTOOL_A_DEBUG_MSGMASK,
|
|
+
|
|
+ __ETHTOOL_A_DEBUG_CNT,
|
|
+ ETHTOOL_A_DEBUG_MAX = (__ETHTOOL_A_DEBUG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_WOL_UNSPEC,
|
|
+ ETHTOOL_A_WOL_HEADER,
|
|
+ ETHTOOL_A_WOL_MODES,
|
|
+ ETHTOOL_A_WOL_SOPASS,
|
|
+
|
|
+ __ETHTOOL_A_WOL_CNT,
|
|
+ ETHTOOL_A_WOL_MAX = (__ETHTOOL_A_WOL_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEATURES_UNSPEC,
|
|
+ ETHTOOL_A_FEATURES_HEADER,
|
|
+ ETHTOOL_A_FEATURES_HW,
|
|
+ ETHTOOL_A_FEATURES_WANTED,
|
|
+ ETHTOOL_A_FEATURES_ACTIVE,
|
|
+ ETHTOOL_A_FEATURES_NOCHANGE,
|
|
+
|
|
+ __ETHTOOL_A_FEATURES_CNT,
|
|
+ ETHTOOL_A_FEATURES_MAX = (__ETHTOOL_A_FEATURES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CHANNELS_UNSPEC,
|
|
+ ETHTOOL_A_CHANNELS_HEADER,
|
|
+ ETHTOOL_A_CHANNELS_RX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_TX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_MAX,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_MAX,
|
|
+ ETHTOOL_A_CHANNELS_RX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_TX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_CHANNELS_CNT,
|
|
+ ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_USEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_PKTS,
|
|
+ ETHTOOL_A_IRQ_MODERATION_COMPS,
|
|
+
|
|
+ __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
+ ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PROFILE_UNSPEC,
|
|
+ ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
+
|
|
+ __ETHTOOL_A_PROFILE_CNT,
|
|
+ ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_COALESCE_UNSPEC,
|
|
+ ETHTOOL_A_COALESCE_HEADER,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_STATS_BLOCK_USECS,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_TX,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_RX,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
+ ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
+
|
|
+ __ETHTOOL_A_COALESCE_CNT,
|
|
+ ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_STAT_PAD,
|
|
+ ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
+ ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
+ ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_HEADER,
|
|
+ ETHTOOL_A_PAUSE_AUTONEG,
|
|
+ ETHTOOL_A_PAUSE_RX,
|
|
+ ETHTOOL_A_PAUSE_TX,
|
|
+ ETHTOOL_A_PAUSE_STATS,
|
|
+ ETHTOOL_A_PAUSE_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_CNT,
|
|
+ ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_EEE_UNSPEC,
|
|
+ ETHTOOL_A_EEE_HEADER,
|
|
+ ETHTOOL_A_EEE_MODES_OURS,
|
|
+ ETHTOOL_A_EEE_MODES_PEER,
|
|
+ ETHTOOL_A_EEE_ACTIVE,
|
|
+ ETHTOOL_A_EEE_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_TIMER,
|
|
+
|
|
+ __ETHTOOL_A_EEE_CNT,
|
|
+ ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_STAT_UNSPEC,
|
|
+ ETHTOOL_A_TS_STAT_TX_PKTS,
|
|
+ ETHTOOL_A_TS_STAT_TX_LOST,
|
|
+ ETHTOOL_A_TS_STAT_TX_ERR,
|
|
+ ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED,
|
|
+
|
|
+ __ETHTOOL_A_TS_STAT_CNT,
|
|
+ ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER,
|
|
+
|
|
+ __ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = (__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSINFO_UNSPEC,
|
|
+ ETHTOOL_A_TSINFO_HEADER,
|
|
+ ETHTOOL_A_TSINFO_TIMESTAMPING,
|
|
+ ETHTOOL_A_TSINFO_TX_TYPES,
|
|
+ ETHTOOL_A_TSINFO_RX_FILTERS,
|
|
+ ETHTOOL_A_TSINFO_PHC_INDEX,
|
|
+ ETHTOOL_A_TSINFO_STATS,
|
|
+ ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER,
|
|
+
|
|
+ __ETHTOOL_A_TSINFO_CNT,
|
|
+ ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_RESULT_PAIR,
|
|
+ ETHTOOL_A_CABLE_RESULT_CODE,
|
|
+ ETHTOOL_A_CABLE_RESULT_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
+ ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_CM,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_NEST_RESULT,
|
|
+ ETHTOOL_A_CABLE_NEST_FAULT_LENGTH,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_NEST_CNT,
|
|
+ ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_HEADER,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_MAX = (__ETHTOOL_A_CABLE_TEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY,
|
|
+
|
|
+ __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,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_INFO_UDP_PORTS,
|
|
+
|
|
+ __ETHTOOL_A_TUNNEL_INFO_CNT,
|
|
+ ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
+ ETHTOOL_A_FEC_STAT_PAD,
|
|
+ ETHTOOL_A_FEC_STAT_CORRECTED,
|
|
+ ETHTOOL_A_FEC_STAT_UNCORR,
|
|
+ ETHTOOL_A_FEC_STAT_CORR_BITS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_STAT_CNT,
|
|
+ ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_UNSPEC,
|
|
+ ETHTOOL_A_FEC_HEADER,
|
|
+ ETHTOOL_A_FEC_MODES,
|
|
+ ETHTOOL_A_FEC_AUTO,
|
|
+ ETHTOOL_A_FEC_ACTIVE,
|
|
+ ETHTOOL_A_FEC_STATS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_CNT,
|
|
+ ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_EEPROM_HEADER,
|
|
+ ETHTOOL_A_MODULE_EEPROM_OFFSET,
|
|
+ ETHTOOL_A_MODULE_EEPROM_LENGTH,
|
|
+ ETHTOOL_A_MODULE_EEPROM_PAGE,
|
|
+ ETHTOOL_A_MODULE_EEPROM_BANK,
|
|
+ ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS,
|
|
+ ETHTOOL_A_MODULE_EEPROM_DATA,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
+ ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
+ ETHTOOL_A_STATS_GRP_PAD,
|
|
+ ETHTOOL_A_STATS_GRP_ID,
|
|
+ ETHTOOL_A_STATS_GRP_SS_ID,
|
|
+ ETHTOOL_A_STATS_GRP_STAT,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_RX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_TX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_LOW,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_HI,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_VAL,
|
|
+
|
|
+ __ETHTOOL_A_STATS_GRP_CNT,
|
|
+ ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_UNSPEC,
|
|
+ ETHTOOL_A_STATS_PAD,
|
|
+ ETHTOOL_A_STATS_HEADER,
|
|
+ ETHTOOL_A_STATS_GROUPS,
|
|
+ ETHTOOL_A_STATS_GRP,
|
|
+ ETHTOOL_A_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_STATS_CNT,
|
|
+ ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_HEADER,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_NUM,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_HEADER,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE_POLICY,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_CNT,
|
|
+ ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MIN,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MAX,
|
|
+
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_CNT,
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = (__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PSE_UNSPEC,
|
|
+ ETHTOOL_A_PSE_HEADER,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_PODL_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_C33_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_PW_CLASS,
|
|
+ ETHTOOL_A_C33_PSE_ACTUAL_PW,
|
|
+ ETHTOOL_A_C33_PSE_EXT_STATE,
|
|
+ ETHTOOL_A_C33_PSE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES,
|
|
+
|
|
+ __ETHTOOL_A_PSE_CNT,
|
|
+ ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RSS_UNSPEC,
|
|
+ ETHTOOL_A_RSS_HEADER,
|
|
+ ETHTOOL_A_RSS_CONTEXT,
|
|
+ ETHTOOL_A_RSS_HFUNC,
|
|
+ ETHTOOL_A_RSS_INDIR,
|
|
+ ETHTOOL_A_RSS_HKEY,
|
|
+ ETHTOOL_A_RSS_INPUT_XFRM,
|
|
+ ETHTOOL_A_RSS_START_CONTEXT,
|
|
+
|
|
+ __ETHTOOL_A_RSS_CNT,
|
|
+ ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PLCA_UNSPEC,
|
|
+ ETHTOOL_A_PLCA_HEADER,
|
|
+ ETHTOOL_A_PLCA_VERSION,
|
|
+ ETHTOOL_A_PLCA_ENABLED,
|
|
+ ETHTOOL_A_PLCA_STATUS,
|
|
+ ETHTOOL_A_PLCA_NODE_CNT,
|
|
+ ETHTOOL_A_PLCA_NODE_ID,
|
|
+ ETHTOOL_A_PLCA_TO_TMR,
|
|
+ ETHTOOL_A_PLCA_BURST_CNT,
|
|
+ ETHTOOL_A_PLCA_BURST_TMR,
|
|
+
|
|
+ __ETHTOOL_A_PLCA_CNT,
|
|
+ ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_HEADER,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_PASSWORD,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_DONE,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_TOTAL,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHY_UNSPEC,
|
|
+ ETHTOOL_A_PHY_HEADER,
|
|
+ ETHTOOL_A_PHY_INDEX,
|
|
+ ETHTOOL_A_PHY_DRVNAME,
|
|
+ ETHTOOL_A_PHY_NAME,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_TYPE,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_INDEX,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_SFP_NAME,
|
|
+ ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME,
|
|
+
|
|
+ __ETHTOOL_A_PHY_CNT,
|
|
+ ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSCONFIG_UNSPEC,
|
|
+ ETHTOOL_A_TSCONFIG_HEADER,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER,
|
|
+ ETHTOOL_A_TSCONFIG_TX_TYPES,
|
|
+ ETHTOOL_A_TSCONFIG_RX_FILTERS,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_TSCONFIG_CNT,
|
|
+ ETHTOOL_A_TSCONFIG_MAX = (__ETHTOOL_A_TSCONFIG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_USER_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET,
|
|
+ ETHTOOL_MSG_LINKINFO_SET,
|
|
+ ETHTOOL_MSG_LINKMODES_GET,
|
|
+ ETHTOOL_MSG_LINKMODES_SET,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET,
|
|
+ ETHTOOL_MSG_DEBUG_GET,
|
|
+ ETHTOOL_MSG_DEBUG_SET,
|
|
+ ETHTOOL_MSG_WOL_GET,
|
|
+ ETHTOOL_MSG_WOL_SET,
|
|
+ ETHTOOL_MSG_FEATURES_GET,
|
|
+ ETHTOOL_MSG_FEATURES_SET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
+ ETHTOOL_MSG_RINGS_GET,
|
|
+ ETHTOOL_MSG_RINGS_SET,
|
|
+ ETHTOOL_MSG_CHANNELS_GET,
|
|
+ ETHTOOL_MSG_CHANNELS_SET,
|
|
+ ETHTOOL_MSG_COALESCE_GET,
|
|
+ ETHTOOL_MSG_COALESCE_SET,
|
|
+ ETHTOOL_MSG_PAUSE_GET,
|
|
+ ETHTOOL_MSG_PAUSE_SET,
|
|
+ ETHTOOL_MSG_EEE_GET,
|
|
+ ETHTOOL_MSG_EEE_SET,
|
|
+ ETHTOOL_MSG_TSINFO_GET,
|
|
+ ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
+ ETHTOOL_MSG_FEC_GET,
|
|
+ ETHTOOL_MSG_FEC_SET,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
+ ETHTOOL_MSG_STATS_GET,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
+ ETHTOOL_MSG_MODULE_GET,
|
|
+ ETHTOOL_MSG_MODULE_SET,
|
|
+ ETHTOOL_MSG_PSE_GET,
|
|
+ ETHTOOL_MSG_PSE_SET,
|
|
+ ETHTOOL_MSG_RSS_GET,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_SET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
+ ETHTOOL_MSG_MM_GET,
|
|
+ ETHTOOL_MSG_MM_SET,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
+ ETHTOOL_MSG_PHY_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET,
|
|
+
|
|
+ __ETHTOOL_MSG_USER_CNT,
|
|
+ ETHTOOL_MSG_USER_MAX = (__ETHTOOL_MSG_USER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_KERNEL_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET_REPLY = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKINFO_NTF,
|
|
+ ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKMODES_NTF,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_NTF,
|
|
+ ETHTOOL_MSG_WOL_GET_REPLY,
|
|
+ ETHTOOL_MSG_WOL_NTF,
|
|
+ ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_NTF,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
+ ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_RINGS_NTF,
|
|
+ ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
+ ETHTOOL_MSG_CHANNELS_NTF,
|
|
+ ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
+ ETHTOOL_MSG_COALESCE_NTF,
|
|
+ ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_PAUSE_NTF,
|
|
+ ETHTOOL_MSG_EEE_GET_REPLY,
|
|
+ ETHTOOL_MSG_EEE_NTF,
|
|
+ ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_NTF,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
+ ETHTOOL_MSG_STATS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_NTF,
|
|
+ ETHTOOL_MSG_PSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_RSS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_NTF,
|
|
+ ETHTOOL_MSG_MM_GET_REPLY,
|
|
+ ETHTOOL_MSG_MM_NTF,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
+ ETHTOOL_MSG_PHY_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHY_NTF,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET_REPLY,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET_REPLY,
|
|
+
|
|
+ __ETHTOOL_MSG_KERNEL_CNT,
|
|
+ ETHTOOL_MSG_KERNEL_MAX = (__ETHTOOL_MSG_KERNEL_CNT - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_ETHTOOL_NETLINK_GENERATED_H */
|
|
--- a/parisc/usr/include/linux/fs.h
|
|
+++ b/parisc/usr/include/linux/fs.h
|
|
@@ -36,6 +36,15 @@
|
|
#define BLOCK_SIZE_BITS 10
|
|
#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
|
|
|
|
+/* flags for integrity meta */
|
|
+#define IO_INTEGRITY_CHK_GUARD (1U << 0) /* enforce guard check */
|
|
+#define IO_INTEGRITY_CHK_REFTAG (1U << 1) /* enforce ref check */
|
|
+#define IO_INTEGRITY_CHK_APPTAG (1U << 2) /* enforce app check */
|
|
+
|
|
+#define IO_INTEGRITY_VALID_FLAGS (IO_INTEGRITY_CHK_GUARD | \
|
|
+ IO_INTEGRITY_CHK_REFTAG | \
|
|
+ IO_INTEGRITY_CHK_APPTAG)
|
|
+
|
|
#define SEEK_SET 0 /* seek relative to beginning of file */
|
|
#define SEEK_CUR 1 /* seek relative to current file position */
|
|
#define SEEK_END 2 /* seek relative to end of file */
|
|
--- a/parisc/usr/include/linux/hidraw.h
|
|
+++ b/parisc/usr/include/linux/hidraw.h
|
|
@@ -48,6 +48,8 @@ struct hidraw_devinfo {
|
|
#define HIDIOCGOUTPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0C, len)
|
|
#define HIDIOCREVOKE _IOW('H', 0x0D, int) /* Revoke device access */
|
|
|
|
+#define HIDIOCTL_LAST _IOC_NR(HIDIOCREVOKE)
|
|
+
|
|
#define HIDRAW_FIRST_MINOR 0
|
|
#define HIDRAW_MAX_DEVICES 64
|
|
/* number of reports to buffer */
|
|
--- a/parisc/usr/include/linux/if_link.h
|
|
+++ b/parisc/usr/include/linux/if_link.h
|
|
@@ -377,6 +377,7 @@ enum {
|
|
IFLA_GSO_IPV4_MAX_SIZE,
|
|
IFLA_GRO_IPV4_MAX_SIZE,
|
|
IFLA_DPLL_PIN,
|
|
+ IFLA_MAX_PACING_OFFLOAD_HORIZON,
|
|
__IFLA_MAX
|
|
};
|
|
|
|
--- a/parisc/usr/include/linux/input-event-codes.h
|
|
+++ b/parisc/usr/include/linux/input-event-codes.h
|
|
@@ -519,6 +519,7 @@
|
|
#define KEY_NOTIFICATION_CENTER 0x1bc /* Show/hide the notification center */
|
|
#define KEY_PICKUP_PHONE 0x1bd /* Answer incoming call */
|
|
#define KEY_HANGUP_PHONE 0x1be /* Decline incoming call */
|
|
+#define KEY_LINK_PHONE 0x1bf /* AL Phone Syncing */
|
|
|
|
#define KEY_DEL_EOL 0x1c0
|
|
#define KEY_DEL_EOS 0x1c1
|
|
--- a/parisc/usr/include/linux/io_uring.h
|
|
+++ b/parisc/usr/include/linux/io_uring.h
|
|
@@ -98,6 +98,10 @@ struct io_uring_sqe {
|
|
__u64 addr3;
|
|
__u64 __pad2[1];
|
|
};
|
|
+ struct {
|
|
+ __u64 attr_ptr; /* pointer to attribute information */
|
|
+ __u64 attr_type_mask; /* bit mask of attributes */
|
|
+ };
|
|
__u64 optval;
|
|
/*
|
|
* If the ring is initialized with IORING_SETUP_SQE128, then
|
|
@@ -107,6 +111,18 @@ struct io_uring_sqe {
|
|
};
|
|
};
|
|
|
|
+/* sqe->attr_type_mask flags */
|
|
+#define IORING_RW_ATTR_FLAG_PI (1U << 0)
|
|
+/* PI attribute information */
|
|
+struct io_uring_attr_pi {
|
|
+ __u16 flags;
|
|
+ __u16 app_tag;
|
|
+ __u32 len;
|
|
+ __u64 addr;
|
|
+ __u64 seed;
|
|
+ __u64 rsvd;
|
|
+};
|
|
+
|
|
/*
|
|
* If sqe->file_index is set to this for opcodes that instantiate a new
|
|
* direct descriptor (like openat/openat2/accept), then io_uring will allocate
|
|
@@ -554,6 +570,7 @@ struct io_uring_params {
|
|
#define IORING_FEAT_REG_REG_RING (1U << 13)
|
|
#define IORING_FEAT_RECVSEND_BUNDLE (1U << 14)
|
|
#define IORING_FEAT_MIN_TIMEOUT (1U << 15)
|
|
+#define IORING_FEAT_RW_ATTR (1U << 16)
|
|
|
|
/*
|
|
* io_uring_register(2) opcodes and arguments
|
|
--- a/parisc/usr/include/linux/iommufd.h
|
|
+++ b/parisc/usr/include/linux/iommufd.h
|
|
@@ -737,6 +737,7 @@ enum iommu_hwpt_pgfault_perm {
|
|
* @pasid: Process Address Space ID
|
|
* @grpid: Page Request Group Index
|
|
* @perm: Combination of enum iommu_hwpt_pgfault_perm
|
|
+ * @__reserved: Must be 0.
|
|
* @addr: Fault address
|
|
* @length: a hint of how much data the requestor is expecting to fetch. For
|
|
* example, if the PRI initiator knows it is going to do a 10MB
|
|
@@ -752,7 +753,8 @@ struct iommu_hwpt_pgfault {
|
|
__u32 pasid;
|
|
__u32 grpid;
|
|
__u32 perm;
|
|
- __u64 addr;
|
|
+ __u32 __reserved;
|
|
+ __aligned_u64 addr;
|
|
__u32 length;
|
|
__u32 cookie;
|
|
};
|
|
--- a/parisc/usr/include/linux/kfd_ioctl.h
|
|
+++ b/parisc/usr/include/linux/kfd_ioctl.h
|
|
@@ -62,6 +62,8 @@ struct kfd_ioctl_get_version_args {
|
|
#define KFD_MAX_QUEUE_PERCENTAGE 100
|
|
#define KFD_MAX_QUEUE_PRIORITY 15
|
|
|
|
+#define KFD_MIN_QUEUE_RING_SIZE 1024
|
|
+
|
|
struct kfd_ioctl_create_queue_args {
|
|
__u64 ring_base_address; /* to KFD */
|
|
__u64 write_pointer_address; /* from KFD */
|
|
--- a/parisc/usr/include/linux/landlock.h
|
|
+++ b/parisc/usr/include/linux/landlock.h
|
|
@@ -57,9 +57,11 @@ struct landlock_ruleset_attr {
|
|
*
|
|
* - %LANDLOCK_CREATE_RULESET_VERSION: Get the highest supported Landlock ABI
|
|
* version.
|
|
+ * - %LANDLOCK_CREATE_RULESET_ERRATA: Get a bitmask of fixed issues.
|
|
*/
|
|
/* clang-format off */
|
|
#define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
|
|
+#define LANDLOCK_CREATE_RULESET_ERRATA (1U << 1)
|
|
/* clang-format on */
|
|
|
|
/**
|
|
--- /dev/null
|
|
+++ b/parisc/usr/include/linux/livepatch.h
|
|
@@ -0,0 +1,15 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+
|
|
+/*
|
|
+ * livepatch.h - Kernel Live Patching Core
|
|
+ *
|
|
+ * Copyright (C) 2016 Josh Poimboeuf <jpoimboe@redhat.com>
|
|
+ */
|
|
+
|
|
+#ifndef _LIVEPATCH_H
|
|
+#define _LIVEPATCH_H
|
|
+
|
|
+#define KLP_RELA_PREFIX ".klp.rela."
|
|
+#define KLP_SYM_PREFIX ".klp.sym."
|
|
+
|
|
+#endif /* _LIVEPATCH_H */
|
|
--- /dev/null
|
|
+++ b/parisc/usr/include/linux/mshv.h
|
|
@@ -0,0 +1,291 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+/*
|
|
+ * Userspace interfaces for /dev/mshv* devices and derived fds
|
|
+ *
|
|
+ * This file is divided into sections containing data structures and IOCTLs for
|
|
+ * a particular set of related devices or derived file descriptors.
|
|
+ *
|
|
+ * The IOCTL definitions are at the end of each section. They are grouped by
|
|
+ * device/fd, so that new IOCTLs can easily be added with a monotonically
|
|
+ * increasing number.
|
|
+ */
|
|
+#ifndef _LINUX_MSHV_H
|
|
+#define _LINUX_MSHV_H
|
|
+
|
|
+#include <linux/types.h>
|
|
+
|
|
+#define MSHV_IOCTL 0xB8
|
|
+
|
|
+/*
|
|
+ *******************************************
|
|
+ * Entry point to main VMM APIs: /dev/mshv *
|
|
+ *******************************************
|
|
+ */
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_BIT_LAPIC,
|
|
+ MSHV_PT_BIT_X2APIC,
|
|
+ MSHV_PT_BIT_GPA_SUPER_PAGES,
|
|
+ MSHV_PT_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_PT_FLAGS_MASK ((1 << MSHV_PT_BIT_COUNT) - 1)
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_ISOLATION_NONE,
|
|
+ MSHV_PT_ISOLATION_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_create_partition - arguments for MSHV_CREATE_PARTITION
|
|
+ * @pt_flags: Bitmask of 1 << MSHV_PT_BIT_*
|
|
+ * @pt_isolation: MSHV_PT_ISOLATION_*
|
|
+ *
|
|
+ * Returns a file descriptor to act as a handle to a guest partition.
|
|
+ * At this point the partition is not yet initialized in the hypervisor.
|
|
+ * Some operations must be done with the partition in this state, e.g. setting
|
|
+ * so-called "early" partition properties. The partition can then be
|
|
+ * initialized with MSHV_INITIALIZE_PARTITION.
|
|
+ */
|
|
+struct mshv_create_partition {
|
|
+ __u64 pt_flags;
|
|
+ __u64 pt_isolation;
|
|
+};
|
|
+
|
|
+/* /dev/mshv */
|
|
+#define MSHV_CREATE_PARTITION _IOW(MSHV_IOCTL, 0x00, struct mshv_create_partition)
|
|
+
|
|
+/*
|
|
+ ************************
|
|
+ * Child partition APIs *
|
|
+ ************************
|
|
+ */
|
|
+
|
|
+struct mshv_create_vp {
|
|
+ __u32 vp_index;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_SET_MEM_BIT_WRITABLE,
|
|
+ MSHV_SET_MEM_BIT_EXECUTABLE,
|
|
+ MSHV_SET_MEM_BIT_UNMAP,
|
|
+ MSHV_SET_MEM_BIT_COUNT
|
|
+};
|
|
+
|
|
+#define MSHV_SET_MEM_FLAGS_MASK ((1 << MSHV_SET_MEM_BIT_COUNT) - 1)
|
|
+
|
|
+/* The hypervisor's "native" page size */
|
|
+#define MSHV_HV_PAGE_SIZE 0x1000
|
|
+
|
|
+/**
|
|
+ * struct mshv_user_mem_region - arguments for MSHV_SET_GUEST_MEMORY
|
|
+ * @size: Size of the memory region (bytes). Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @guest_pfn: Base guest page number to map
|
|
+ * @userspace_addr: Base address of userspace memory. Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @flags: Bitmask of 1 << MSHV_SET_MEM_BIT_*. If (1 << MSHV_SET_MEM_BIT_UNMAP)
|
|
+ * is set, ignore other bits.
|
|
+ * @rsvd: MBZ
|
|
+ *
|
|
+ * Map or unmap a region of userspace memory to Guest Physical Addresses (GPA).
|
|
+ * Mappings can't overlap in GPA space or userspace.
|
|
+ * To unmap, these fields must match an existing mapping.
|
|
+ */
|
|
+struct mshv_user_mem_region {
|
|
+ __u64 size;
|
|
+ __u64 guest_pfn;
|
|
+ __u64 userspace_addr;
|
|
+ __u8 flags;
|
|
+ __u8 rsvd[7];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IRQFD_BIT_DEASSIGN,
|
|
+ MSHV_IRQFD_BIT_RESAMPLE,
|
|
+ MSHV_IRQFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IRQFD_FLAGS_MASK ((1 << MSHV_IRQFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_irqfd {
|
|
+ __s32 fd;
|
|
+ __s32 resamplefd;
|
|
+ __u32 gsi;
|
|
+ __u32 flags;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IOEVENTFD_BIT_DATAMATCH,
|
|
+ MSHV_IOEVENTFD_BIT_PIO,
|
|
+ MSHV_IOEVENTFD_BIT_DEASSIGN,
|
|
+ MSHV_IOEVENTFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IOEVENTFD_FLAGS_MASK ((1 << MSHV_IOEVENTFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_ioeventfd {
|
|
+ __u64 datamatch;
|
|
+ __u64 addr; /* legal pio/mmio address */
|
|
+ __u32 len; /* 1, 2, 4, or 8 bytes */
|
|
+ __s32 fd;
|
|
+ __u32 flags;
|
|
+ __u8 rsvd[4];
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_entry {
|
|
+ __u32 gsi;
|
|
+ __u32 address_lo;
|
|
+ __u32 address_hi;
|
|
+ __u32 data;
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_table {
|
|
+ __u32 nr;
|
|
+ __u32 rsvd; /* MBZ */
|
|
+ struct mshv_user_irq_entry entries[];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_TYPE_ACCESSED,
|
|
+ MSHV_GPAP_ACCESS_TYPE_DIRTY,
|
|
+ MSHV_GPAP_ACCESS_TYPE_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_OP_NOOP,
|
|
+ MSHV_GPAP_ACCESS_OP_CLEAR,
|
|
+ MSHV_GPAP_ACCESS_OP_SET,
|
|
+ MSHV_GPAP_ACCESS_OP_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_gpap_access_bitmap - arguments for MSHV_GET_GPAP_ACCESS_BITMAP
|
|
+ * @access_type: MSHV_GPAP_ACCESS_TYPE_* - The type of access to record in the
|
|
+ * bitmap
|
|
+ * @access_op: MSHV_GPAP_ACCESS_OP_* - Allows an optional clear or set of all
|
|
+ * the access states in the range, after retrieving the current
|
|
+ * states.
|
|
+ * @rsvd: MBZ
|
|
+ * @page_count: Number of pages
|
|
+ * @gpap_base: Base gpa page number
|
|
+ * @bitmap_ptr: Output buffer for bitmap, at least (page_count + 7) / 8 bytes
|
|
+ *
|
|
+ * Retrieve a bitmap of either ACCESSED or DIRTY bits for a given range of guest
|
|
+ * memory, and optionally clear or set the bits.
|
|
+ */
|
|
+struct mshv_gpap_access_bitmap {
|
|
+ __u8 access_type;
|
|
+ __u8 access_op;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 page_count;
|
|
+ __u64 gpap_base;
|
|
+ __u64 bitmap_ptr;
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_root_hvcall - arguments for MSHV_ROOT_HVCALL
|
|
+ * @code: Hypercall code (HVCALL_*)
|
|
+ * @reps: in: Rep count ('repcount')
|
|
+ * out: Reps completed ('repcomp'). MBZ unless rep hvcall
|
|
+ * @in_sz: Size of input incl rep data. <= MSHV_HV_PAGE_SIZE
|
|
+ * @out_sz: Size of output buffer. <= MSHV_HV_PAGE_SIZE. MBZ if out_ptr is 0
|
|
+ * @status: in: MBZ
|
|
+ * out: HV_STATUS_* from hypercall
|
|
+ * @rsvd: MBZ
|
|
+ * @in_ptr: Input data buffer (struct hv_input_*). If used with partition or
|
|
+ * vp fd, partition id field is populated by kernel.
|
|
+ * @out_ptr: Output data buffer (optional)
|
|
+ */
|
|
+struct mshv_root_hvcall {
|
|
+ __u16 code;
|
|
+ __u16 reps;
|
|
+ __u16 in_sz;
|
|
+ __u16 out_sz;
|
|
+ __u16 status;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 in_ptr;
|
|
+ __u64 out_ptr;
|
|
+};
|
|
+
|
|
+/* Partition fds created with MSHV_CREATE_PARTITION */
|
|
+#define MSHV_INITIALIZE_PARTITION _IO(MSHV_IOCTL, 0x00)
|
|
+#define MSHV_CREATE_VP _IOW(MSHV_IOCTL, 0x01, struct mshv_create_vp)
|
|
+#define MSHV_SET_GUEST_MEMORY _IOW(MSHV_IOCTL, 0x02, struct mshv_user_mem_region)
|
|
+#define MSHV_IRQFD _IOW(MSHV_IOCTL, 0x03, struct mshv_user_irqfd)
|
|
+#define MSHV_IOEVENTFD _IOW(MSHV_IOCTL, 0x04, struct mshv_user_ioeventfd)
|
|
+#define MSHV_SET_MSI_ROUTING _IOW(MSHV_IOCTL, 0x05, struct mshv_user_irq_table)
|
|
+#define MSHV_GET_GPAP_ACCESS_BITMAP _IOWR(MSHV_IOCTL, 0x06, struct mshv_gpap_access_bitmap)
|
|
+/* Generic hypercall */
|
|
+#define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+
|
|
+/*
|
|
+ ********************************
|
|
+ * VP APIs for child partitions *
|
|
+ ********************************
|
|
+ */
|
|
+
|
|
+#define MSHV_RUN_VP_BUF_SZ 256
|
|
+
|
|
+/*
|
|
+ * VP state pages may be mapped to userspace via mmap().
|
|
+ * To specify which state page, use MSHV_VP_MMAP_OFFSET_ values multiplied by
|
|
+ * the system page size.
|
|
+ * e.g.
|
|
+ * long page_size = sysconf(_SC_PAGE_SIZE);
|
|
+ * void *reg_page = mmap(NULL, MSHV_HV_PAGE_SIZE, PROT_READ|PROT_WRITE,
|
|
+ * MAP_SHARED, vp_fd,
|
|
+ * MSHV_VP_MMAP_OFFSET_REGISTERS * page_size);
|
|
+ */
|
|
+enum {
|
|
+ MSHV_VP_MMAP_OFFSET_REGISTERS,
|
|
+ MSHV_VP_MMAP_OFFSET_INTERCEPT_MESSAGE,
|
|
+ MSHV_VP_MMAP_OFFSET_GHCB,
|
|
+ MSHV_VP_MMAP_OFFSET_COUNT
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_run_vp - argument for MSHV_RUN_VP
|
|
+ * @msg_buf: On success, the intercept message is copied here. It can be
|
|
+ * interpreted using the relevant hypervisor definitions.
|
|
+ */
|
|
+struct mshv_run_vp {
|
|
+ __u8 msg_buf[MSHV_RUN_VP_BUF_SZ];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_VP_STATE_LAPIC, /* Local interrupt controller state (either arch) */
|
|
+ MSHV_VP_STATE_XSAVE, /* XSAVE data in compacted form (x86_64) */
|
|
+ MSHV_VP_STATE_SIMP,
|
|
+ MSHV_VP_STATE_SIEFP,
|
|
+ MSHV_VP_STATE_SYNTHETIC_TIMERS,
|
|
+ MSHV_VP_STATE_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_get_set_vp_state - arguments for MSHV_[GET,SET]_VP_STATE
|
|
+ * @type: MSHV_VP_STATE_*
|
|
+ * @rsvd: MBZ
|
|
+ * @buf_sz: in: 4k page-aligned size of buffer
|
|
+ * out: Actual size of data (on EINVAL, check this to see if buffer
|
|
+ * was too small)
|
|
+ * @buf_ptr: 4k page-aligned data buffer
|
|
+ */
|
|
+struct mshv_get_set_vp_state {
|
|
+ __u8 type;
|
|
+ __u8 rsvd[3];
|
|
+ __u32 buf_sz;
|
|
+ __u64 buf_ptr;
|
|
+};
|
|
+
|
|
+/* VP fds created with MSHV_CREATE_VP */
|
|
+#define MSHV_RUN_VP _IOR(MSHV_IOCTL, 0x00, struct mshv_run_vp)
|
|
+#define MSHV_GET_VP_STATE _IOWR(MSHV_IOCTL, 0x01, struct mshv_get_set_vp_state)
|
|
+#define MSHV_SET_VP_STATE _IOWR(MSHV_IOCTL, 0x02, struct mshv_get_set_vp_state)
|
|
+/*
|
|
+ * Generic hypercall
|
|
+ * Defined above in partition IOCTLs, avoid redefining it here
|
|
+ * #define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+ */
|
|
+
|
|
+#endif
|
|
--- /dev/null
|
|
+++ b/parisc/usr/include/linux/net_shaper.h
|
|
@@ -0,0 +1,95 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/net_shaper.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_NET_SHAPER_H
|
|
+#define _LINUX_NET_SHAPER_H
|
|
+
|
|
+#define NET_SHAPER_FAMILY_NAME "net-shaper"
|
|
+#define NET_SHAPER_FAMILY_VERSION 1
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_scope - Defines the shaper @id interpretation.
|
|
+ * @NET_SHAPER_SCOPE_UNSPEC: The scope is not specified.
|
|
+ * @NET_SHAPER_SCOPE_NETDEV: The main shaper for the given network device.
|
|
+ * @NET_SHAPER_SCOPE_QUEUE: The shaper is attached to the given device queue,
|
|
+ * the @id represents the queue number.
|
|
+ * @NET_SHAPER_SCOPE_NODE: The shaper allows grouping of queues or other node
|
|
+ * shapers; can be nested in either @netdev shapers or other @node shapers,
|
|
+ * allowing placement in any location of the scheduling tree, except leaves
|
|
+ * and root.
|
|
+ */
|
|
+enum net_shaper_scope {
|
|
+ NET_SHAPER_SCOPE_UNSPEC,
|
|
+ NET_SHAPER_SCOPE_NETDEV,
|
|
+ NET_SHAPER_SCOPE_QUEUE,
|
|
+ NET_SHAPER_SCOPE_NODE,
|
|
+
|
|
+ /* private: */
|
|
+ __NET_SHAPER_SCOPE_MAX,
|
|
+ NET_SHAPER_SCOPE_MAX = (__NET_SHAPER_SCOPE_MAX - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_metric - Different metric supported by the shaper.
|
|
+ * @NET_SHAPER_METRIC_BPS: Shaper operates on a bits per second basis.
|
|
+ * @NET_SHAPER_METRIC_PPS: Shaper operates on a packets per second basis.
|
|
+ */
|
|
+enum net_shaper_metric {
|
|
+ NET_SHAPER_METRIC_BPS,
|
|
+ NET_SHAPER_METRIC_PPS,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE = 1,
|
|
+ NET_SHAPER_A_METRIC,
|
|
+ NET_SHAPER_A_BW_MIN,
|
|
+ NET_SHAPER_A_BW_MAX,
|
|
+ NET_SHAPER_A_BURST,
|
|
+ NET_SHAPER_A_PRIORITY,
|
|
+ NET_SHAPER_A_WEIGHT,
|
|
+ NET_SHAPER_A_IFINDEX,
|
|
+ NET_SHAPER_A_PARENT,
|
|
+ NET_SHAPER_A_LEAVES,
|
|
+
|
|
+ __NET_SHAPER_A_MAX,
|
|
+ NET_SHAPER_A_MAX = (__NET_SHAPER_A_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE_SCOPE = 1,
|
|
+ NET_SHAPER_A_HANDLE_ID,
|
|
+
|
|
+ __NET_SHAPER_A_HANDLE_MAX,
|
|
+ NET_SHAPER_A_HANDLE_MAX = (__NET_SHAPER_A_HANDLE_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_CAPS_IFINDEX = 1,
|
|
+ NET_SHAPER_A_CAPS_SCOPE,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_BPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_PPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_NESTING,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MIN,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MAX,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BURST,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_PRIORITY,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_WEIGHT,
|
|
+
|
|
+ __NET_SHAPER_A_CAPS_MAX,
|
|
+ NET_SHAPER_A_CAPS_MAX = (__NET_SHAPER_A_CAPS_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_CMD_GET = 1,
|
|
+ NET_SHAPER_CMD_SET,
|
|
+ NET_SHAPER_CMD_DELETE,
|
|
+ NET_SHAPER_CMD_GROUP,
|
|
+ NET_SHAPER_CMD_CAP_GET,
|
|
+
|
|
+ __NET_SHAPER_CMD_MAX,
|
|
+ NET_SHAPER_CMD_MAX = (__NET_SHAPER_CMD_MAX - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_NET_SHAPER_H */
|
|
--- a/parisc/usr/include/linux/net_tstamp.h
|
|
+++ b/parisc/usr/include/linux/net_tstamp.h
|
|
@@ -13,6 +13,17 @@
|
|
#include <linux/types.h>
|
|
#include <linux/socket.h> /* for SO_TIMESTAMPING */
|
|
|
|
+/*
|
|
+ * Possible type of hwtstamp provider. Mainly "precise" the default one
|
|
+ * is for IEEE 1588 quality and "approx" is for NICs DMA point.
|
|
+ */
|
|
+enum hwtstamp_provider_qualifier {
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_PRECISE,
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_APPROX,
|
|
+
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_CNT,
|
|
+};
|
|
+
|
|
/* SO_TIMESTAMPING flags */
|
|
enum {
|
|
SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
|
|
--- a/parisc/usr/include/linux/netdev.h
|
|
+++ b/parisc/usr/include/linux/netdev.h
|
|
@@ -122,6 +122,9 @@ enum {
|
|
NETDEV_A_NAPI_ID,
|
|
NETDEV_A_NAPI_IRQ,
|
|
NETDEV_A_NAPI_PID,
|
|
+ NETDEV_A_NAPI_DEFER_HARD_IRQS,
|
|
+ NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT,
|
|
+ NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT,
|
|
|
|
__NETDEV_A_NAPI_MAX,
|
|
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
|
@@ -199,6 +202,7 @@ enum {
|
|
NETDEV_CMD_NAPI_GET,
|
|
NETDEV_CMD_QSTATS_GET,
|
|
NETDEV_CMD_BIND_RX,
|
|
+ NETDEV_CMD_NAPI_SET,
|
|
|
|
__NETDEV_CMD_MAX,
|
|
NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)
|
|
--- a/parisc/usr/include/linux/nl80211.h
|
|
+++ b/parisc/usr/include/linux/nl80211.h
|
|
@@ -4294,6 +4294,8 @@ enum nl80211_wmm_rule {
|
|
* otherwise completely disabled.
|
|
* @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a
|
|
* very low power (VLP) AP, despite being NO_IR.
|
|
+ * @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in
|
|
+ * 20 MHz bandwidth, despite being NO_IR.
|
|
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
|
* currently defined
|
|
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
|
@@ -4338,6 +4340,7 @@ enum nl80211_frequency_attr {
|
|
NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
|
|
NL80211_FREQUENCY_ATTR_CAN_MONITOR,
|
|
NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
|
|
+ NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY,
|
|
|
|
/* keep last */
|
|
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
|
@@ -4549,31 +4552,34 @@ enum nl80211_sched_scan_match_attr {
|
|
* @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed
|
|
* @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted
|
|
* despite NO_IR configuration.
|
|
+ * @NL80211_RRF_ALLOW_20MHZ_ACTIVITY: Allow activity in 20 MHz bandwidth,
|
|
+ * despite NO_IR configuration.
|
|
*/
|
|
enum nl80211_reg_rule_flags {
|
|
- NL80211_RRF_NO_OFDM = 1<<0,
|
|
- NL80211_RRF_NO_CCK = 1<<1,
|
|
- NL80211_RRF_NO_INDOOR = 1<<2,
|
|
- NL80211_RRF_NO_OUTDOOR = 1<<3,
|
|
- NL80211_RRF_DFS = 1<<4,
|
|
- NL80211_RRF_PTP_ONLY = 1<<5,
|
|
- NL80211_RRF_PTMP_ONLY = 1<<6,
|
|
- NL80211_RRF_NO_IR = 1<<7,
|
|
- __NL80211_RRF_NO_IBSS = 1<<8,
|
|
- NL80211_RRF_AUTO_BW = 1<<11,
|
|
- NL80211_RRF_IR_CONCURRENT = 1<<12,
|
|
- NL80211_RRF_NO_HT40MINUS = 1<<13,
|
|
- NL80211_RRF_NO_HT40PLUS = 1<<14,
|
|
- NL80211_RRF_NO_80MHZ = 1<<15,
|
|
- NL80211_RRF_NO_160MHZ = 1<<16,
|
|
- NL80211_RRF_NO_HE = 1<<17,
|
|
- NL80211_RRF_NO_320MHZ = 1<<18,
|
|
- NL80211_RRF_NO_EHT = 1<<19,
|
|
- NL80211_RRF_PSD = 1<<20,
|
|
- NL80211_RRF_DFS_CONCURRENT = 1<<21,
|
|
- NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22,
|
|
- NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23,
|
|
- NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24,
|
|
+ NL80211_RRF_NO_OFDM = 1 << 0,
|
|
+ NL80211_RRF_NO_CCK = 1 << 1,
|
|
+ NL80211_RRF_NO_INDOOR = 1 << 2,
|
|
+ NL80211_RRF_NO_OUTDOOR = 1 << 3,
|
|
+ NL80211_RRF_DFS = 1 << 4,
|
|
+ NL80211_RRF_PTP_ONLY = 1 << 5,
|
|
+ NL80211_RRF_PTMP_ONLY = 1 << 6,
|
|
+ NL80211_RRF_NO_IR = 1 << 7,
|
|
+ __NL80211_RRF_NO_IBSS = 1 << 8,
|
|
+ NL80211_RRF_AUTO_BW = 1 << 11,
|
|
+ NL80211_RRF_IR_CONCURRENT = 1 << 12,
|
|
+ NL80211_RRF_NO_HT40MINUS = 1 << 13,
|
|
+ NL80211_RRF_NO_HT40PLUS = 1 << 14,
|
|
+ NL80211_RRF_NO_80MHZ = 1 << 15,
|
|
+ NL80211_RRF_NO_160MHZ = 1 << 16,
|
|
+ NL80211_RRF_NO_HE = 1 << 17,
|
|
+ NL80211_RRF_NO_320MHZ = 1 << 18,
|
|
+ NL80211_RRF_NO_EHT = 1 << 19,
|
|
+ NL80211_RRF_PSD = 1 << 20,
|
|
+ NL80211_RRF_DFS_CONCURRENT = 1 << 21,
|
|
+ NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22,
|
|
+ NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23,
|
|
+ NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24,
|
|
+ NL80211_RRF_ALLOW_20MHZ_ACTIVITY = 1 << 25,
|
|
};
|
|
|
|
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
|
|
--- a/parisc/usr/include/linux/pci_regs.h
|
|
+++ b/parisc/usr/include/linux/pci_regs.h
|
|
@@ -340,7 +340,8 @@
|
|
#define PCI_MSIX_ENTRY_UPPER_ADDR 0x4 /* Message Upper Address */
|
|
#define PCI_MSIX_ENTRY_DATA 0x8 /* Message Data */
|
|
#define PCI_MSIX_ENTRY_VECTOR_CTRL 0xc /* Vector Control */
|
|
-#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001
|
|
+#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001 /* Mask Bit */
|
|
+#define PCI_MSIX_ENTRY_CTRL_ST 0xffff0000 /* Steering Tag */
|
|
|
|
/* CompactPCI Hotswap Register */
|
|
|
|
@@ -659,6 +660,7 @@
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP64 0x00000100 /* 64b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP128 0x00000200 /* 128b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_LTR 0x00000800 /* Latency tolerance reporting */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_MASK 0x00003000 /* TPH completer support */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000 /* OBFF support mechanism */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000 /* New message signaling */
|
|
#define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
|
|
@@ -1023,15 +1025,34 @@
|
|
#define PCI_DPA_CAP_SUBSTATE_MASK 0x1F /* # substates - 1 */
|
|
#define PCI_DPA_BASE_SIZEOF 16 /* size with 0 substates */
|
|
|
|
+/* TPH Completer Support */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_NONE 0x0 /* None */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_TPH_ONLY 0x1 /* TPH only */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_EXT_TPH 0x3 /* TPH and Extended TPH */
|
|
+
|
|
/* TPH Requester */
|
|
#define PCI_TPH_CAP 4 /* capability register */
|
|
-#define PCI_TPH_CAP_LOC_MASK 0x600 /* location mask */
|
|
-#define PCI_TPH_LOC_NONE 0x000 /* no location */
|
|
-#define PCI_TPH_LOC_CAP 0x200 /* in capability */
|
|
-#define PCI_TPH_LOC_MSIX 0x400 /* in MSI-X */
|
|
-#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST table mask */
|
|
-#define PCI_TPH_CAP_ST_SHIFT 16 /* ST table shift */
|
|
-#define PCI_TPH_BASE_SIZEOF 0xc /* size with no ST table */
|
|
+#define PCI_TPH_CAP_ST_NS 0x00000001 /* No ST Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_IV 0x00000002 /* Interrupt Vector Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_DS 0x00000004 /* Device Specific Mode Supported */
|
|
+#define PCI_TPH_CAP_EXT_TPH 0x00000100 /* Ext TPH Requester Supported */
|
|
+#define PCI_TPH_CAP_LOC_MASK 0x00000600 /* ST Table Location */
|
|
+#define PCI_TPH_LOC_NONE 0x00000000 /* Not present */
|
|
+#define PCI_TPH_LOC_CAP 0x00000200 /* In capability */
|
|
+#define PCI_TPH_LOC_MSIX 0x00000400 /* In MSI-X */
|
|
+#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST Table Size */
|
|
+#define PCI_TPH_CAP_ST_SHIFT 16 /* ST Table Size shift */
|
|
+#define PCI_TPH_BASE_SIZEOF 0xc /* Size with no ST table */
|
|
+
|
|
+#define PCI_TPH_CTRL 8 /* control register */
|
|
+#define PCI_TPH_CTRL_MODE_SEL_MASK 0x00000007 /* ST Mode Select */
|
|
+#define PCI_TPH_ST_NS_MODE 0x0 /* No ST Mode */
|
|
+#define PCI_TPH_ST_IV_MODE 0x1 /* Interrupt Vector Mode */
|
|
+#define PCI_TPH_ST_DS_MODE 0x2 /* Device Specific Mode */
|
|
+#define PCI_TPH_CTRL_REQ_EN_MASK 0x00000300 /* TPH Requester Enable */
|
|
+#define PCI_TPH_REQ_DISABLE 0x0 /* No TPH requests allowed */
|
|
+#define PCI_TPH_REQ_TPH_ONLY 0x1 /* TPH only requests allowed */
|
|
+#define PCI_TPH_REQ_EXT_TPH 0x3 /* Extended TPH requests allowed */
|
|
|
|
/* Downstream Port Containment */
|
|
#define PCI_EXP_DPC_CAP 0x04 /* DPC Capability */
|
|
--- a/parisc/usr/include/linux/perf_event.h
|
|
+++ b/parisc/usr/include/linux/perf_event.h
|
|
@@ -385,6 +385,8 @@ enum perf_event_read_format {
|
|
*
|
|
* @sample_max_stack: Max number of frame pointers in a callchain,
|
|
* should be < /proc/sys/kernel/perf_event_max_stack
|
|
+ * Max number of entries of branch stack
|
|
+ * should be < hardware limit
|
|
*/
|
|
struct perf_event_attr {
|
|
|
|
@@ -511,7 +513,16 @@ struct perf_event_attr {
|
|
__u16 sample_max_stack;
|
|
__u16 __reserved_2;
|
|
__u32 aux_sample_size;
|
|
- __u32 __reserved_3;
|
|
+
|
|
+ union {
|
|
+ __u32 aux_action;
|
|
+ struct {
|
|
+ __u32 aux_start_paused : 1, /* start AUX area tracing paused */
|
|
+ aux_pause : 1, /* on overflow, pause AUX area tracing */
|
|
+ aux_resume : 1, /* on overflow, resume AUX area tracing */
|
|
+ __reserved_3 : 29;
|
|
+ };
|
|
+ };
|
|
|
|
/*
|
|
* User provided data if sigtrap=1, passed back to user via
|
|
--- a/parisc/usr/include/linux/pfrut.h
|
|
+++ b/parisc/usr/include/linux/pfrut.h
|
|
@@ -89,6 +89,7 @@ struct pfru_payload_hdr {
|
|
__u32 hw_ver;
|
|
__u32 rt_ver;
|
|
__u8 platform_id[16];
|
|
+ __u32 svn_ver;
|
|
};
|
|
|
|
enum pfru_dsm_status {
|
|
--- a/parisc/usr/include/linux/pidfd.h
|
|
+++ b/parisc/usr/include/linux/pidfd.h
|
|
@@ -16,6 +16,56 @@
|
|
#define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1)
|
|
#define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2)
|
|
|
|
+/* Flags for pidfd_info. */
|
|
+#define PIDFD_INFO_PID (1UL << 0) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CREDS (1UL << 1) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CGROUPID (1UL << 2) /* Always returned if available, even if not requested */
|
|
+#define PIDFD_INFO_EXIT (1UL << 3) /* Only returned if requested. */
|
|
+
|
|
+#define PIDFD_INFO_SIZE_VER0 64 /* sizeof first published struct */
|
|
+
|
|
+struct pidfd_info {
|
|
+ /*
|
|
+ * This mask is similar to the request_mask in statx(2).
|
|
+ *
|
|
+ * Userspace indicates what extensions or expensive-to-calculate fields
|
|
+ * they want by setting the corresponding bits in mask. The kernel
|
|
+ * will ignore bits that it does not know about.
|
|
+ *
|
|
+ * When filling the structure, the kernel will only set bits
|
|
+ * corresponding to the fields that were actually filled by the kernel.
|
|
+ * This also includes any future extensions that might be automatically
|
|
+ * filled. If the structure size is too small to contain a field
|
|
+ * (requested or not), to avoid confusion the mask will not
|
|
+ * contain a bit for that field.
|
|
+ *
|
|
+ * As such, userspace MUST verify that mask contains the
|
|
+ * corresponding flags after the ioctl(2) returns to ensure that it is
|
|
+ * using valid data.
|
|
+ */
|
|
+ __u64 mask;
|
|
+ /*
|
|
+ * The information contained in the following fields might be stale at the
|
|
+ * time it is received, as the target process might have exited as soon as
|
|
+ * the IOCTL was processed, and there is no way to avoid that. However, it
|
|
+ * is guaranteed that if the call was successful, then the information was
|
|
+ * correct and referred to the intended process at the time the work was
|
|
+ * performed. */
|
|
+ __u64 cgroupid;
|
|
+ __u32 pid;
|
|
+ __u32 tgid;
|
|
+ __u32 ppid;
|
|
+ __u32 ruid;
|
|
+ __u32 rgid;
|
|
+ __u32 euid;
|
|
+ __u32 egid;
|
|
+ __u32 suid;
|
|
+ __u32 sgid;
|
|
+ __u32 fsuid;
|
|
+ __u32 fsgid;
|
|
+ __s32 exit_code;
|
|
+};
|
|
+
|
|
#define PIDFS_IOCTL_MAGIC 0xFF
|
|
|
|
#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1)
|
|
@@ -28,5 +78,6 @@
|
|
#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8)
|
|
#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9)
|
|
#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10)
|
|
+#define PIDFD_GET_INFO _IOWR(PIDFS_IOCTL_MAGIC, 11, struct pidfd_info)
|
|
|
|
#endif /* _LINUX_PIDFD_H */
|
|
--- a/parisc/usr/include/linux/psci.h
|
|
+++ b/parisc/usr/include/linux/psci.h
|
|
@@ -59,6 +59,7 @@
|
|
#define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18)
|
|
#define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19)
|
|
#define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(20)
|
|
+#define PSCI_1_3_FN_SYSTEM_OFF2 PSCI_0_2_FN(21)
|
|
|
|
#define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12)
|
|
#define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13)
|
|
@@ -68,6 +69,7 @@
|
|
|
|
#define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18)
|
|
#define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(20)
|
|
+#define PSCI_1_3_FN64_SYSTEM_OFF2 PSCI_0_2_FN64(21)
|
|
|
|
/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
|
|
#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
|
|
@@ -100,6 +102,9 @@
|
|
#define PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET 0
|
|
#define PSCI_1_1_RESET_TYPE_VENDOR_START 0x80000000U
|
|
|
|
+/* PSCI v1.3 hibernate type for SYSTEM_OFF2 */
|
|
+#define PSCI_1_3_OFF_TYPE_HIBERNATE_OFF BIT(0)
|
|
+
|
|
/* PSCI version decoding (independent of PSCI version) */
|
|
#define PSCI_VERSION_MAJOR_SHIFT 16
|
|
#define PSCI_VERSION_MINOR_MASK \
|
|
--- a/parisc/usr/include/linux/psp-sev.h
|
|
+++ b/parisc/usr/include/linux/psp-sev.h
|
|
@@ -73,13 +73,20 @@ typedef enum {
|
|
SEV_RET_INVALID_PARAM,
|
|
SEV_RET_RESOURCE_LIMIT,
|
|
SEV_RET_SECURE_DATA_INVALID,
|
|
- SEV_RET_INVALID_KEY = 0x27,
|
|
- SEV_RET_INVALID_PAGE_SIZE,
|
|
- SEV_RET_INVALID_PAGE_STATE,
|
|
- SEV_RET_INVALID_MDATA_ENTRY,
|
|
- SEV_RET_INVALID_PAGE_OWNER,
|
|
- SEV_RET_INVALID_PAGE_AEAD_OFLOW,
|
|
- SEV_RET_RMP_INIT_REQUIRED,
|
|
+ SEV_RET_INVALID_PAGE_SIZE = 0x0019,
|
|
+ SEV_RET_INVALID_PAGE_STATE = 0x001A,
|
|
+ SEV_RET_INVALID_MDATA_ENTRY = 0x001B,
|
|
+ SEV_RET_INVALID_PAGE_OWNER = 0x001C,
|
|
+ SEV_RET_AEAD_OFLOW = 0x001D,
|
|
+ SEV_RET_EXIT_RING_BUFFER = 0x001F,
|
|
+ SEV_RET_RMP_INIT_REQUIRED = 0x0020,
|
|
+ SEV_RET_BAD_SVN = 0x0021,
|
|
+ SEV_RET_BAD_VERSION = 0x0022,
|
|
+ SEV_RET_SHUTDOWN_REQUIRED = 0x0023,
|
|
+ SEV_RET_UPDATE_FAILED = 0x0024,
|
|
+ SEV_RET_RESTORE_REQUIRED = 0x0025,
|
|
+ SEV_RET_RMP_INITIALIZATION_FAILED = 0x0026,
|
|
+ SEV_RET_INVALID_KEY = 0x0027,
|
|
SEV_RET_MAX,
|
|
} sev_ret_code;
|
|
|
|
--- a/parisc/usr/include/linux/raid/md_p.h
|
|
+++ b/parisc/usr/include/linux/raid/md_p.h
|
|
@@ -85,6 +85,7 @@
|
|
* devices available - and don't try to
|
|
* correct read errors.
|
|
*/
|
|
+#define MD_DISK_TIMEOUT 11 /* disk is faulty due to timeout */
|
|
|
|
#define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
|
|
* read requests will only be sent here in
|
|
@@ -95,6 +96,7 @@
|
|
#define MD_DISK_ROLE_SPARE 0xffff
|
|
#define MD_DISK_ROLE_FAULTY 0xfffe
|
|
#define MD_DISK_ROLE_JOURNAL 0xfffd
|
|
+#define MD_DISK_ROLE_TIMEOUT 0xfff0 /* SUSE-only timed-out */
|
|
#define MD_DISK_ROLE_MAX 0xff00 /* max value of regular disk role */
|
|
|
|
typedef struct mdp_device_descriptor_s {
|
|
@@ -233,7 +235,7 @@ struct mdp_superblock_1 {
|
|
char set_name[32]; /* set and interpreted by user-space */
|
|
|
|
__le64 ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/
|
|
- __le32 level; /* 0,1,4,5 */
|
|
+ __le32 level; /* 0,1,4,5, -1 (linear) */
|
|
__le32 layout; /* only for raid5 and raid10 currently */
|
|
__le64 size; /* used size of component devices, in 512byte sectors */
|
|
|
|
--- a/parisc/usr/include/linux/raid/md_u.h
|
|
+++ b/parisc/usr/include/linux/raid/md_u.h
|
|
@@ -103,6 +103,8 @@ typedef struct mdu_array_info_s {
|
|
|
|
} mdu_array_info_t;
|
|
|
|
+#define LEVEL_LINEAR (-1)
|
|
+
|
|
/* we need a value for 'no level specified' and 0
|
|
* means 'raid0', so we need something else. This is
|
|
* for internal use only
|
|
--- a/parisc/usr/include/linux/rkisp1-config.h
|
|
+++ b/parisc/usr/include/linux/rkisp1-config.h
|
|
@@ -1528,7 +1528,7 @@ enum rksip1_ext_param_buffer_version {
|
|
* The expected memory layout of the parameters buffer is::
|
|
*
|
|
* +-------------------- struct rkisp1_ext_params_cfg -------------------+
|
|
- * | version = RKISP_EXT_PARAMS_BUFFER_V1; |
|
|
+ * | version = RKISP1_EXT_PARAM_BUFFER_V1; |
|
|
* | data_size = sizeof(struct rkisp1_ext_params_bls_config) |
|
|
* | + sizeof(struct rkisp1_ext_params_dpcc_config); |
|
|
* | +------------------------- data ---------------------------------+ |
|
|
--- a/parisc/usr/include/linux/rtnetlink.h
|
|
+++ b/parisc/usr/include/linux/rtnetlink.h
|
|
@@ -174,7 +174,7 @@ enum {
|
|
#define RTM_GETLINKPROP RTM_GETLINKPROP
|
|
|
|
RTM_NEWVLAN = 112,
|
|
-#define RTM_NEWNVLAN RTM_NEWVLAN
|
|
+#define RTM_NEWVLAN RTM_NEWVLAN
|
|
RTM_DELVLAN,
|
|
#define RTM_DELVLAN RTM_DELVLAN
|
|
RTM_GETVLAN,
|
|
--- a/parisc/usr/include/linux/sed-opal.h
|
|
+++ b/parisc/usr/include/linux/sed-opal.h
|
|
@@ -215,5 +215,6 @@ struct opal_revert_lsp {
|
|
#define IOC_OPAL_GET_GEOMETRY _IOR('p', 238, struct opal_geometry)
|
|
#define IOC_OPAL_DISCOVERY _IOW('p', 239, struct opal_discovery)
|
|
#define IOC_OPAL_REVERT_LSP _IOW('p', 240, struct opal_revert_lsp)
|
|
+#define IOC_OPAL_SET_SID_PW _IOW('p', 241, struct opal_new_pw)
|
|
|
|
#endif /* _SED_OPAL_H */
|
|
--- a/parisc/usr/include/linux/stddef.h
|
|
+++ b/parisc/usr/include/linux/stddef.h
|
|
@@ -8,6 +8,13 @@
|
|
#define __always_inline __inline__
|
|
#endif
|
|
|
|
+/* Not all C++ standards support type declarations inside an anonymous union */
|
|
+#ifndef __cplusplus
|
|
+#define __struct_group_tag(TAG) TAG
|
|
+#else
|
|
+#define __struct_group_tag(TAG)
|
|
+#endif
|
|
+
|
|
/**
|
|
* __struct_group() - Create a mirrored named and anonyomous struct
|
|
*
|
|
@@ -20,13 +27,13 @@
|
|
* and size: one anonymous and one named. The former's members can be used
|
|
* normally without sub-struct naming, and the latter can be used to
|
|
* reason about the start, end, and size of the group of struct members.
|
|
- * The named struct can also be explicitly tagged for layer reuse, as well
|
|
- * as both having struct attributes appended.
|
|
+ * The named struct can also be explicitly tagged for layer reuse (C only),
|
|
+ * as well as both having struct attributes appended.
|
|
*/
|
|
#define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
|
|
union { \
|
|
struct { MEMBERS } ATTRS; \
|
|
- struct TAG { MEMBERS } ATTRS NAME; \
|
|
+ struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \
|
|
} ATTRS
|
|
|
|
#ifdef __cplusplus
|
|
--- a/parisc/usr/include/linux/types.h
|
|
+++ b/parisc/usr/include/linux/types.h
|
|
@@ -48,6 +48,7 @@ typedef __u32 __bitwise __wsum;
|
|
* No conversions are necessary between 32-bit user-space and a 64-bit kernel.
|
|
*/
|
|
#define __aligned_u64 __u64 __attribute__((aligned(8)))
|
|
+#define __aligned_s64 __s64 __attribute__((aligned(8)))
|
|
#define __aligned_be64 __be64 __attribute__((aligned(8)))
|
|
#define __aligned_le64 __le64 __attribute__((aligned(8)))
|
|
|
|
--- a/parisc/usr/include/linux/usb/ch9.h
|
|
+++ b/parisc/usr/include/linux/usb/ch9.h
|
|
@@ -253,6 +253,9 @@ struct usb_ctrlrequest {
|
|
#define USB_DT_BOS 0x0f
|
|
#define USB_DT_DEVICE_CAPABILITY 0x10
|
|
#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11
|
|
+/* From the eUSB2 spec */
|
|
+#define USB_DT_EUSB2_ISOC_ENDPOINT_COMP 0x12
|
|
+/* From Wireless USB spec */
|
|
#define USB_DT_WIRE_ADAPTER 0x21
|
|
/* From USB Device Firmware Upgrade Specification, Revision 1.1 */
|
|
#define USB_DT_DFU_FUNCTIONAL 0x21
|
|
@@ -330,6 +333,7 @@ struct usb_device_descriptor {
|
|
#define USB_CLASS_AUDIO_VIDEO 0x10
|
|
#define USB_CLASS_BILLBOARD 0x11
|
|
#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
|
|
+#define USB_CLASS_MCTP 0x14
|
|
#define USB_CLASS_MISC 0xef
|
|
#define USB_CLASS_APP_SPEC 0xfe
|
|
#define USB_SUBCLASS_DFU 0x01
|
|
@@ -675,6 +679,18 @@ static __inline__ int usb_endpoint_inter
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
+/* USB_DT_EUSB2_ISOC_ENDPOINT_COMP: eUSB2 Isoch Endpoint Companion descriptor */
|
|
+struct usb_eusb2_isoc_ep_comp_descriptor {
|
|
+ __u8 bLength;
|
|
+ __u8 bDescriptorType;
|
|
+ __le16 wMaxPacketSize;
|
|
+ __le32 dwBytesPerInterval;
|
|
+} __attribute__ ((packed));
|
|
+
|
|
+#define USB_DT_EUSB2_ISOC_EP_COMP_SIZE 8
|
|
+
|
|
+/*-------------------------------------------------------------------------*/
|
|
+
|
|
/* USB_DT_SSP_ISOC_ENDPOINT_COMP: SuperSpeedPlus Isochronous Endpoint Companion
|
|
* descriptor
|
|
*/
|
|
--- a/parisc/usr/include/linux/usb/functionfs.h
|
|
+++ b/parisc/usr/include/linux/usb/functionfs.h
|
|
@@ -205,7 +205,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -223,7 +223,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -236,7 +236,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* | 11 | ExtProp[] | | list of ext. prop. d. |
|
|
* +-----+-----------------+------+--------------------------+
|
|
*
|
|
- * ExtCompat[] is an array of valid Extended Compatiblity descriptors
|
|
+ * ExtCompat[] is an array of valid Extended Compatibility descriptors
|
|
* which have the following format:
|
|
*
|
|
* +-----+-----------------------+------+-------------------------------------+
|
|
@@ -294,7 +294,7 @@ struct usb_functionfs_strings_head {
|
|
* | 16 | stringtab | StringTab[lang_count] | table of strings per lang |
|
|
*
|
|
* For each language there is one stringtab entry (ie. there are lang_count
|
|
- * stringtab entires). Each StringTab has following format:
|
|
+ * stringtab entries). Each StringTab has following format:
|
|
*
|
|
* | off | name | type | description |
|
|
* |-----+---------+-------------------+------------------------------------|
|
|
--- a/parisc/usr/include/linux/vhost.h
|
|
+++ b/parisc/usr/include/linux/vhost.h
|
|
@@ -235,4 +235,33 @@
|
|
*/
|
|
#define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \
|
|
struct vhost_vring_state)
|
|
+
|
|
+/* fork_owner values for vhost */
|
|
+#define VHOST_FORK_OWNER_KTHREAD 0
|
|
+#define VHOST_FORK_OWNER_TASK 1
|
|
+
|
|
+/**
|
|
+ * VHOST_SET_FORK_FROM_OWNER - Set the fork_owner flag for the vhost device,
|
|
+ * This ioctl must called before VHOST_SET_OWNER.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @param fork_owner: An 8-bit value that determines the vhost thread mode
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_TASK(default value):
|
|
+ * - Vhost will create vhost worker as tasks forked from the owner,
|
|
+ * inheriting all of the owner's attributes.
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_KTHREAD:
|
|
+ * - Vhost will create vhost workers as kernel threads.
|
|
+ */
|
|
+#define VHOST_SET_FORK_FROM_OWNER _IOW(VHOST_VIRTIO, 0x84, __u8)
|
|
+
|
|
+/**
|
|
+ * VHOST_GET_FORK_OWNER - Get the current fork_owner flag for the vhost device.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @return: An 8-bit value indicating the current thread mode.
|
|
+ */
|
|
+#define VHOST_GET_FORK_FROM_OWNER _IOR(VHOST_VIRTIO, 0x85, __u8)
|
|
+
|
|
#endif
|
|
--- a/parisc/usr/include/linux/videodev2.h
|
|
+++ b/parisc/usr/include/linux/videodev2.h
|
|
@@ -771,6 +771,7 @@ struct v4l2_pix_format {
|
|
#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
|
|
#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
|
|
+#define V4L2_PIX_FMT_Y16I v4l2_fourcc('Y', '1', '6', 'I') /* Greyscale 16-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
|
|
#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
|
|
#define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */
|
|
@@ -832,6 +833,8 @@ struct v4l2_pix_format {
|
|
|
|
/* Vendor specific - used for RaspberryPi PiSP */
|
|
#define V4L2_META_FMT_RPI_BE_CFG v4l2_fourcc('R', 'P', 'B', 'C') /* PiSP BE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_CFG v4l2_fourcc('R', 'P', 'F', 'C') /* PiSP FE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_STATS v4l2_fourcc('R', 'P', 'F', 'S') /* PiSP FE stats */
|
|
|
|
|
|
/* priv field value to indicates that subsequent fields are valid. */
|
|
--- a/parisc/usr/include/linux/xfrm.h
|
|
+++ b/parisc/usr/include/linux/xfrm.h
|
|
@@ -322,6 +322,7 @@ enum xfrm_attr_type_t {
|
|
XFRMA_MTIMER_THRESH, /* __u32 in seconds for input SA */
|
|
XFRMA_SA_DIR, /* __u8 */
|
|
XFRMA_NAT_KEEPALIVE_INTERVAL, /* __u32 in seconds for NAT keepalive */
|
|
+ XFRMA_SA_PCPU, /* __u32 */
|
|
__XFRMA_MAX
|
|
|
|
#define XFRMA_OUTPUT_MARK XFRMA_SET_MARK /* Compatibility */
|
|
@@ -437,6 +438,7 @@ struct xfrm_userpolicy_info {
|
|
#define XFRM_POLICY_LOCALOK 1 /* Allow user to override global policy */
|
|
/* Automatically expand selector to include matching ICMP payloads. */
|
|
#define XFRM_POLICY_ICMP 2
|
|
+#define XFRM_POLICY_CPU_ACQUIRE 4
|
|
__u8 share;
|
|
};
|
|
|
|
--- a/parisc/usr/include/rdma/efa-abi.h
|
|
+++ b/parisc/usr/include/rdma/efa-abi.h
|
|
@@ -95,7 +95,8 @@ struct efa_ibv_create_qp {
|
|
__u32 sq_ring_size; /* bytes */
|
|
__u32 driver_qp_type;
|
|
__u16 flags;
|
|
- __u8 reserved_90[6];
|
|
+ __u8 sl;
|
|
+ __u8 reserved_98[5];
|
|
};
|
|
|
|
struct efa_ibv_create_qp_resp {
|
|
--- a/parisc/usr/include/rdma/mlx5-abi.h
|
|
+++ b/parisc/usr/include/rdma/mlx5-abi.h
|
|
@@ -252,6 +252,7 @@ enum mlx5_ib_query_dev_resp_flags {
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1,
|
|
MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE = 1 << 2,
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT = 1 << 3,
|
|
+ MLX5_IB_QUERY_DEV_RESP_FLAGS_OOO_DP = 1 << 4,
|
|
};
|
|
|
|
enum mlx5_ib_tunnel_offloads {
|
|
@@ -439,6 +440,10 @@ struct mlx5_ib_burst_info {
|
|
__u16 reserved;
|
|
};
|
|
|
|
+enum mlx5_ib_modify_qp_mask {
|
|
+ MLX5_IB_MODIFY_QP_OOO_DP = 1 << 0,
|
|
+};
|
|
+
|
|
struct mlx5_ib_modify_qp {
|
|
__u32 comp_mask;
|
|
struct mlx5_ib_burst_info burst_info;
|
|
--- a/parisc/usr/include/rdma/rdma_netlink.h
|
|
+++ b/parisc/usr/include/rdma/rdma_netlink.h
|
|
@@ -638,6 +638,8 @@ enum rdma_nl_notify_event_type {
|
|
RDMA_UNREGISTER_EVENT,
|
|
RDMA_NETDEV_ATTACH_EVENT,
|
|
RDMA_NETDEV_DETACH_EVENT,
|
|
+ RDMA_RENAME_EVENT,
|
|
+ RDMA_NETDEV_RENAME_EVENT,
|
|
};
|
|
|
|
#endif /* _RDMA_NETLINK_H */
|
|
--- a/parisc/usr/include/scsi/fc/fc_els.h
|
|
+++ b/parisc/usr/include/scsi/fc/fc_els.h
|
|
@@ -11,6 +11,8 @@
|
|
#include <linux/types.h>
|
|
#include <asm/byteorder.h>
|
|
|
|
+#include <stddef.h> /* for offsetof */
|
|
+
|
|
/*
|
|
* Fibre Channel Switch - Enhanced Link Services definitions.
|
|
* From T11 FC-LS Rev 1.2 June 7, 2005.
|
|
@@ -1109,12 +1111,15 @@ struct fc_els_fpin {
|
|
|
|
/* Diagnostic Function Descriptor - FPIN Registration */
|
|
struct fc_df_desc_fpin_reg {
|
|
- __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
- __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
- * Size of descriptor excluding
|
|
- * desc_tag and desc_len fields.
|
|
- */
|
|
- __be32 count; /* Number of desc_tags elements */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_df_desc_fpin_reg_hdr, __hdr, /* no attrs */,
|
|
+ __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
+ __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
+ * Size of descriptor excluding
|
|
+ * desc_tag and desc_len fields.
|
|
+ */
|
|
+ __be32 count; /* Number of desc_tags elements */
|
|
+ );
|
|
__be32 desc_tags[]; /* Array of Descriptor Tags.
|
|
* Each tag indicates a function
|
|
* supported by the N_Port (request)
|
|
@@ -1124,33 +1129,44 @@ struct fc_df_desc_fpin_reg {
|
|
* See ELS_FN_DTAG_xxx for tag values.
|
|
*/
|
|
};
|
|
+_Static_assert(offsetof(struct fc_df_desc_fpin_reg, desc_tags) == sizeof(struct fc_df_desc_fpin_reg_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS_RDF - Register Diagnostic Functions
|
|
*/
|
|
struct fc_els_rdf {
|
|
- __u8 fpin_cmd; /* command (0x19) */
|
|
- __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
- __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
- * Size of ELS excluding fpin_cmd,
|
|
- * fpin_zero and desc_len fields.
|
|
- */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_hdr, __hdr, /* no attrs */,
|
|
+ __u8 fpin_cmd; /* command (0x19) */
|
|
+ __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
+ __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
+ * Size of ELS excluding fpin_cmd,
|
|
+ * fpin_zero and desc_len fields.
|
|
+ */
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Descriptor list */
|
|
};
|
|
+_Static_assert(offsetof(struct fc_els_rdf, desc) == sizeof(struct fc_els_rdf_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS RDF LS_ACC Response.
|
|
*/
|
|
struct fc_els_rdf_resp {
|
|
- struct fc_els_ls_acc acc_hdr;
|
|
- __be32 desc_list_len; /* Length of response (in
|
|
- * bytes). Excludes acc_hdr
|
|
- * and desc_list_len fields.
|
|
- */
|
|
- struct fc_els_lsri_desc lsri;
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_resp_hdr, __hdr, /* no attrs */,
|
|
+ struct fc_els_ls_acc acc_hdr;
|
|
+ __be32 desc_list_len; /* Length of response (in
|
|
+ * bytes). Excludes acc_hdr
|
|
+ * and desc_list_len fields.
|
|
+ */
|
|
+ struct fc_els_lsri_desc lsri;
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Supported Descriptor list */
|
|
};
|
|
-
|
|
+_Static_assert(offsetof(struct fc_els_rdf_resp, desc) == sizeof(struct fc_els_rdf_resp_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* Diagnostic Capability Descriptors for EDC ELS
|
|
--- a/powerpc/usr/include/asm-generic/mman-common.h
|
|
+++ b/powerpc/usr/include/asm-generic/mman-common.h
|
|
@@ -79,6 +79,9 @@
|
|
|
|
#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */
|
|
|
|
+#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */
|
|
+#define MADV_GUARD_REMOVE 103 /* unguard range */
|
|
+
|
|
/* compatibility flags */
|
|
#define MAP_FILE 0
|
|
|
|
--- /dev/null
|
|
+++ b/powerpc/usr/include/asm/papr-indices.h
|
|
@@ -0,0 +1,41 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+#ifndef _PAPR_INDICES_H_
|
|
+#define _PAPR_INDICES_H_
|
|
+
|
|
+#include <linux/types.h>
|
|
+#include <asm/ioctl.h>
|
|
+#include <asm/papr-miscdev.h>
|
|
+
|
|
+#define LOC_CODE_SIZE 80
|
|
+#define RTAS_GET_INDICES_BUF_SIZE SZ_4K
|
|
+
|
|
+struct papr_indices_io_block {
|
|
+ union {
|
|
+ struct {
|
|
+ __u8 is_sensor; /* 0 for indicator and 1 for sensor */
|
|
+ __u32 indice_type;
|
|
+ } indices;
|
|
+ struct {
|
|
+ __u32 token; /* Sensor or indicator token */
|
|
+ __u32 state; /* get / set state */
|
|
+ /*
|
|
+ * PAPR+ 12.3.2.4 Converged Location Code Rules - Length
|
|
+ * Restrictions. 79 characters plus null.
|
|
+ */
|
|
+ char location_code_str[LOC_CODE_SIZE]; /* location code */
|
|
+ } dynamic_param;
|
|
+ };
|
|
+};
|
|
+
|
|
+/*
|
|
+ * ioctls for /dev/papr-indices.
|
|
+ * PAPR_INDICES_IOC_GET: Returns a get-indices handle fd to read data
|
|
+ * PAPR_DYNAMIC_SENSOR_IOC_GET: Gets the state of the input sensor
|
|
+ * PAPR_DYNAMIC_INDICATOR_IOC_SET: Sets the new state for the input indicator
|
|
+ */
|
|
+#define PAPR_INDICES_IOC_GET _IOW(PAPR_MISCDEV_IOC_ID, 3, struct papr_indices_io_block)
|
|
+#define PAPR_DYNAMIC_SENSOR_IOC_GET _IOWR(PAPR_MISCDEV_IOC_ID, 4, struct papr_indices_io_block)
|
|
+#define PAPR_DYNAMIC_INDICATOR_IOC_SET _IOW(PAPR_MISCDEV_IOC_ID, 5, struct papr_indices_io_block)
|
|
+
|
|
+
|
|
+#endif /* _PAPR_INDICES_H_ */
|
|
--- /dev/null
|
|
+++ b/powerpc/usr/include/asm/papr-physical-attestation.h
|
|
@@ -0,0 +1,31 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+#ifndef _PAPR_PHYSICAL_ATTESTATION_H_
|
|
+#define _PAPR_PHYSICAL_ATTESTATION_H_
|
|
+
|
|
+#include <linux/types.h>
|
|
+#include <asm/ioctl.h>
|
|
+#include <asm/papr-miscdev.h>
|
|
+
|
|
+#define PAPR_PHYATTEST_MAX_INPUT 4084 /* Max 4K buffer: 4K-12 */
|
|
+
|
|
+/*
|
|
+ * Defined in PAPR 2.13+ 21.6 Attestation Command Structures.
|
|
+ * User space pass this struct and the max size should be 4K.
|
|
+ */
|
|
+struct papr_phy_attest_io_block {
|
|
+ __u8 version;
|
|
+ __u8 command;
|
|
+ __u8 TCG_major_ver;
|
|
+ __u8 TCG_minor_ver;
|
|
+ __be32 length;
|
|
+ __be32 correlator;
|
|
+ __u8 payload[PAPR_PHYATTEST_MAX_INPUT];
|
|
+};
|
|
+
|
|
+/*
|
|
+ * ioctl for /dev/papr-physical-attestation. Returns a attestation
|
|
+ * command fd handle
|
|
+ */
|
|
+#define PAPR_PHY_ATTEST_IOC_HANDLE _IOW(PAPR_MISCDEV_IOC_ID, 8, struct papr_phy_attest_io_block)
|
|
+
|
|
+#endif /* _PAPR_PHYSICAL_ATTESTATION_H_ */
|
|
--- /dev/null
|
|
+++ b/powerpc/usr/include/asm/papr-platform-dump.h
|
|
@@ -0,0 +1,16 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+#ifndef _PAPR_PLATFORM_DUMP_H_
|
|
+#define _PAPR_PLATFORM_DUMP_H_
|
|
+
|
|
+#include <linux/types.h>
|
|
+#include <asm/ioctl.h>
|
|
+#include <asm/papr-miscdev.h>
|
|
+
|
|
+/*
|
|
+ * ioctl for /dev/papr-platform-dump. Returns a platform-dump handle fd
|
|
+ * corresponding to dump tag.
|
|
+ */
|
|
+#define PAPR_PLATFORM_DUMP_IOC_CREATE_HANDLE _IOW(PAPR_MISCDEV_IOC_ID, 6, __u64)
|
|
+#define PAPR_PLATFORM_DUMP_IOC_INVALIDATE _IOW(PAPR_MISCDEV_IOC_ID, 7, __u64)
|
|
+
|
|
+#endif /* _PAPR_PLATFORM_DUMP_H_ */
|
|
--- a/powerpc/usr/include/linux/devlink.h
|
|
+++ b/powerpc/usr/include/linux/devlink.h
|
|
@@ -385,6 +385,21 @@ enum devlink_linecard_state {
|
|
DEVLINK_LINECARD_STATE_MAX = __DEVLINK_LINECARD_STATE_MAX - 1
|
|
};
|
|
|
|
+/* Variable attribute type. */
|
|
+enum devlink_var_attr_type {
|
|
+ /* Following values relate to the internal NLA_* values */
|
|
+ DEVLINK_VAR_ATTR_TYPE_U8 = 1,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U16,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U32,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U64,
|
|
+ DEVLINK_VAR_ATTR_TYPE_STRING,
|
|
+ DEVLINK_VAR_ATTR_TYPE_FLAG,
|
|
+ DEVLINK_VAR_ATTR_TYPE_NUL_STRING = 10,
|
|
+ DEVLINK_VAR_ATTR_TYPE_BINARY,
|
|
+ __DEVLINK_VAR_ATTR_TYPE_CUSTOM_BASE = 0x80,
|
|
+ /* Any possible custom types, unrelated to NLA_* values go below */
|
|
+};
|
|
+
|
|
enum devlink_attr {
|
|
/* don't change the order or add anything between, this is ABI! */
|
|
DEVLINK_ATTR_UNSPEC,
|
|
--- a/powerpc/usr/include/linux/dm-ioctl.h
|
|
+++ b/powerpc/usr/include/linux/dm-ioctl.h
|
|
@@ -286,9 +286,9 @@ enum {
|
|
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
|
|
|
#define DM_VERSION_MAJOR 4
|
|
-#define DM_VERSION_MINOR 48
|
|
+#define DM_VERSION_MINOR 49
|
|
#define DM_VERSION_PATCHLEVEL 0
|
|
-#define DM_VERSION_EXTRA "-ioctl (2023-03-01)"
|
|
+#define DM_VERSION_EXTRA "-ioctl (2025-01-17)"
|
|
|
|
/* Status bits */
|
|
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
|
--- a/powerpc/usr/include/linux/dpll.h
|
|
+++ b/powerpc/usr/include/linux/dpll.h
|
|
@@ -79,6 +79,29 @@ enum dpll_lock_status_error {
|
|
DPLL_LOCK_STATUS_ERROR_MAX = (__DPLL_LOCK_STATUS_ERROR_MAX - 1)
|
|
};
|
|
|
|
+/**
|
|
+ * enum dpll_clock_quality_level - level of quality of a clock device. This
|
|
+ * mainly applies when the dpll lock-status is DPLL_LOCK_STATUS_HOLDOVER. The
|
|
+ * current list is defined according to the table 11-7 contained in ITU-T
|
|
+ * G.8264/Y.1364 document. One may extend this list freely by other ITU-T
|
|
+ * defined clock qualities, or different ones defined by another
|
|
+ * standardization body (for those, please use different prefix).
|
|
+ */
|
|
+enum dpll_clock_quality_level {
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRC = 1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_A,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_B,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEC1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEEC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRC,
|
|
+
|
|
+ /* private: */
|
|
+ __DPLL_CLOCK_QUALITY_LEVEL_MAX,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_MAX = (__DPLL_CLOCK_QUALITY_LEVEL_MAX - 1)
|
|
+};
|
|
+
|
|
#define DPLL_TEMP_DIVIDER 1000
|
|
|
|
/**
|
|
@@ -180,6 +203,7 @@ enum dpll_a {
|
|
DPLL_A_TEMP,
|
|
DPLL_A_TYPE,
|
|
DPLL_A_LOCK_STATUS_ERROR,
|
|
+ DPLL_A_CLOCK_QUALITY_LEVEL,
|
|
|
|
__DPLL_A_MAX,
|
|
DPLL_A_MAX = (__DPLL_A_MAX - 1)
|
|
--- a/powerpc/usr/include/linux/ethtool.h
|
|
+++ b/powerpc/usr/include/linux/ethtool.h
|
|
@@ -679,6 +679,8 @@ enum ethtool_link_ext_substate_module {
|
|
* @ETH_SS_STATS_ETH_MAC: names of IEEE 802.3 MAC statistics
|
|
* @ETH_SS_STATS_ETH_CTRL: names of IEEE 802.3 MAC Control statistics
|
|
* @ETH_SS_STATS_RMON: names of RMON statistics
|
|
+ * @ETH_SS_STATS_PHY: names of PHY(dev) statistics
|
|
+ * @ETH_SS_TS_FLAGS: hardware timestamping flags
|
|
*
|
|
* @ETH_SS_COUNT: number of defined string sets
|
|
*/
|
|
@@ -704,6 +706,8 @@ enum ethtool_stringset {
|
|
ETH_SS_STATS_ETH_MAC,
|
|
ETH_SS_STATS_ETH_CTRL,
|
|
ETH_SS_STATS_RMON,
|
|
+ ETH_SS_STATS_PHY,
|
|
+ ETH_SS_TS_FLAGS,
|
|
|
|
/* add new constants above here */
|
|
ETH_SS_COUNT
|
|
--- a/powerpc/usr/include/linux/ethtool_netlink.h
|
|
+++ b/powerpc/usr/include/linux/ethtool_netlink.h
|
|
@@ -10,545 +10,12 @@
|
|
#define _LINUX_ETHTOOL_NETLINK_H_
|
|
|
|
#include <linux/ethtool.h>
|
|
-
|
|
-/* message types - userspace to kernel */
|
|
-enum {
|
|
- ETHTOOL_MSG_USER_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET,
|
|
- ETHTOOL_MSG_LINKINFO_GET,
|
|
- ETHTOOL_MSG_LINKINFO_SET,
|
|
- ETHTOOL_MSG_LINKMODES_GET,
|
|
- ETHTOOL_MSG_LINKMODES_SET,
|
|
- ETHTOOL_MSG_LINKSTATE_GET,
|
|
- ETHTOOL_MSG_DEBUG_GET,
|
|
- ETHTOOL_MSG_DEBUG_SET,
|
|
- ETHTOOL_MSG_WOL_GET,
|
|
- ETHTOOL_MSG_WOL_SET,
|
|
- ETHTOOL_MSG_FEATURES_GET,
|
|
- ETHTOOL_MSG_FEATURES_SET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
- ETHTOOL_MSG_RINGS_GET,
|
|
- ETHTOOL_MSG_RINGS_SET,
|
|
- ETHTOOL_MSG_CHANNELS_GET,
|
|
- ETHTOOL_MSG_CHANNELS_SET,
|
|
- ETHTOOL_MSG_COALESCE_GET,
|
|
- ETHTOOL_MSG_COALESCE_SET,
|
|
- ETHTOOL_MSG_PAUSE_GET,
|
|
- ETHTOOL_MSG_PAUSE_SET,
|
|
- ETHTOOL_MSG_EEE_GET,
|
|
- ETHTOOL_MSG_EEE_SET,
|
|
- ETHTOOL_MSG_TSINFO_GET,
|
|
- ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
- ETHTOOL_MSG_FEC_GET,
|
|
- ETHTOOL_MSG_FEC_SET,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
- ETHTOOL_MSG_STATS_GET,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
- ETHTOOL_MSG_MODULE_GET,
|
|
- ETHTOOL_MSG_MODULE_SET,
|
|
- ETHTOOL_MSG_PSE_GET,
|
|
- ETHTOOL_MSG_PSE_SET,
|
|
- ETHTOOL_MSG_RSS_GET,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG,
|
|
- ETHTOOL_MSG_PLCA_SET_CFG,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
- ETHTOOL_MSG_MM_GET,
|
|
- ETHTOOL_MSG_MM_SET,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
- ETHTOOL_MSG_PHY_GET,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_USER_CNT,
|
|
- ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
|
|
-};
|
|
-
|
|
-/* message types - kernel to userspace */
|
|
-enum {
|
|
- ETHTOOL_MSG_KERNEL_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_NTF,
|
|
- ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKMODES_NTF,
|
|
- ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_NTF,
|
|
- ETHTOOL_MSG_WOL_GET_REPLY,
|
|
- ETHTOOL_MSG_WOL_NTF,
|
|
- ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_NTF,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
- ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
- ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
- ETHTOOL_MSG_RINGS_NTF,
|
|
- ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
- ETHTOOL_MSG_CHANNELS_NTF,
|
|
- ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
- ETHTOOL_MSG_COALESCE_NTF,
|
|
- ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
- ETHTOOL_MSG_PAUSE_NTF,
|
|
- ETHTOOL_MSG_EEE_GET_REPLY,
|
|
- ETHTOOL_MSG_EEE_NTF,
|
|
- ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_NTF,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
- ETHTOOL_MSG_STATS_GET_REPLY,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_NTF,
|
|
- ETHTOOL_MSG_PSE_GET_REPLY,
|
|
- ETHTOOL_MSG_RSS_GET_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
- ETHTOOL_MSG_PLCA_NTF,
|
|
- ETHTOOL_MSG_MM_GET_REPLY,
|
|
- ETHTOOL_MSG_MM_NTF,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
- ETHTOOL_MSG_PHY_GET_REPLY,
|
|
- ETHTOOL_MSG_PHY_NTF,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_KERNEL_CNT,
|
|
- ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
|
|
-};
|
|
-
|
|
-/* request header */
|
|
-
|
|
-enum ethtool_header_flags {
|
|
- ETHTOOL_FLAG_COMPACT_BITSETS = 1 << 0, /* use compact bitsets in reply */
|
|
- ETHTOOL_FLAG_OMIT_REPLY = 1 << 1, /* provide optional reply for SET or ACT requests */
|
|
- ETHTOOL_FLAG_STATS = 1 << 2, /* request statistics, if supported by the driver */
|
|
-};
|
|
+#include <linux/ethtool_netlink_generated.h>
|
|
|
|
#define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \
|
|
ETHTOOL_FLAG_OMIT_REPLY | \
|
|
ETHTOOL_FLAG_STATS)
|
|
|
|
-enum {
|
|
- ETHTOOL_A_HEADER_UNSPEC,
|
|
- ETHTOOL_A_HEADER_DEV_INDEX, /* u32 */
|
|
- ETHTOOL_A_HEADER_DEV_NAME, /* string */
|
|
- ETHTOOL_A_HEADER_FLAGS, /* u32 - ETHTOOL_FLAG_* */
|
|
- ETHTOOL_A_HEADER_PHY_INDEX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_HEADER_CNT,
|
|
- ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1
|
|
-};
|
|
-
|
|
-/* bit sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BIT_INDEX, /* u32 */
|
|
- ETHTOOL_A_BITSET_BIT_NAME, /* string */
|
|
- ETHTOOL_A_BITSET_BIT_VALUE, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BIT_CNT,
|
|
- ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BITS_BIT, /* nest - _A_BITSET_BIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BITS_CNT,
|
|
- ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_UNSPEC,
|
|
- ETHTOOL_A_BITSET_NOMASK, /* flag */
|
|
- ETHTOOL_A_BITSET_SIZE, /* u32 */
|
|
- ETHTOOL_A_BITSET_BITS, /* nest - _A_BITSET_BITS_* */
|
|
- ETHTOOL_A_BITSET_VALUE, /* binary */
|
|
- ETHTOOL_A_BITSET_MASK, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_CNT,
|
|
- ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* string sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRING_UNSPEC,
|
|
- ETHTOOL_A_STRING_INDEX, /* u32 */
|
|
- ETHTOOL_A_STRING_VALUE, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRING_CNT,
|
|
- ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGS_UNSPEC,
|
|
- ETHTOOL_A_STRINGS_STRING, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGS_CNT,
|
|
- ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSET_UNSPEC,
|
|
- ETHTOOL_A_STRINGSET_ID, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_COUNT, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_STRINGS, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSET_CNT,
|
|
- ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
- ETHTOOL_A_STRINGSETS_STRINGSET, /* nest - _A_STRINGSET_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSETS_CNT,
|
|
- ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1
|
|
-};
|
|
-
|
|
-/* STRSET */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRSET_UNSPEC,
|
|
- ETHTOOL_A_STRSET_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STRSET_STRINGSETS, /* nest - _A_STRINGSETS_* */
|
|
- ETHTOOL_A_STRSET_COUNTS_ONLY, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRSET_CNT,
|
|
- ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKINFO_UNSPEC,
|
|
- ETHTOOL_A_LINKINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKINFO_PORT, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_PHYADDR, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TRANSCEIVER, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKINFO_CNT,
|
|
- ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKMODES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKMODES_UNSPEC,
|
|
- ETHTOOL_A_LINKMODES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_OURS, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_PEER, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_SPEED, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_LANES, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKMODES_CNT,
|
|
- ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKSTATE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
- ETHTOOL_A_LINKSTATE_HEADER, /* nest - _A_HEADER_* */
|
|
- 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 */
|
|
- ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKSTATE_CNT,
|
|
- ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1
|
|
-};
|
|
-
|
|
-/* DEBUG */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_DEBUG_UNSPEC,
|
|
- ETHTOOL_A_DEBUG_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_DEBUG_MSGMASK, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_DEBUG_CNT,
|
|
- ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1
|
|
-};
|
|
-
|
|
-/* WOL */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_WOL_UNSPEC,
|
|
- ETHTOOL_A_WOL_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_WOL_MODES, /* bitset */
|
|
- ETHTOOL_A_WOL_SOPASS, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_WOL_CNT,
|
|
- ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
|
|
-};
|
|
-
|
|
-/* FEATURES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEATURES_UNSPEC,
|
|
- ETHTOOL_A_FEATURES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEATURES_HW, /* bitset */
|
|
- ETHTOOL_A_FEATURES_WANTED, /* bitset */
|
|
- ETHTOOL_A_FEATURES_ACTIVE, /* bitset */
|
|
- ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEATURES_CNT,
|
|
- ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
|
|
-};
|
|
-
|
|
-/* PRIVFLAGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
- ETHTOOL_A_PRIVFLAGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PRIVFLAGS_FLAGS, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
- ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1
|
|
-};
|
|
-
|
|
-/* RINGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,
|
|
- ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
- ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RINGS_UNSPEC,
|
|
- ETHTOOL_A_RINGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_RINGS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */
|
|
- ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_RX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_RINGS_CNT,
|
|
- ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CHANNELS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CHANNELS_UNSPEC,
|
|
- ETHTOOL_A_CHANNELS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CHANNELS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_RX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_COUNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CHANNELS_CNT,
|
|
- ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* COALESCE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_COALESCE_UNSPEC,
|
|
- ETHTOOL_A_COALESCE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_COALESCE_RX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, /* u32 */
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_COALESCE_CNT,
|
|
- ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PROFILE_UNSPEC,
|
|
- /* nest, _A_IRQ_MODERATION_* */
|
|
- ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
- __ETHTOOL_A_PROFILE_CNT,
|
|
- ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
- ETHTOOL_A_IRQ_MODERATION_USEC, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_PKTS, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_COMPS, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
- ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
-};
|
|
-
|
|
-/* PAUSE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PAUSE_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_PAUSE_RX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_TX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_STATS, /* nest - _PAUSE_STAT_* */
|
|
- ETHTOOL_A_PAUSE_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PAUSE_CNT,
|
|
- ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
- ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
-
|
|
- /* add new constants above here
|
|
- * adjust ETHTOOL_PAUSE_STAT_CNT if adding non-stats!
|
|
- */
|
|
- __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
- ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* EEE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_EEE_UNSPEC,
|
|
- ETHTOOL_A_EEE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_EEE_MODES_OURS, /* bitset */
|
|
- ETHTOOL_A_EEE_MODES_PEER, /* bitset */
|
|
- ETHTOOL_A_EEE_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_EEE_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_TIMER, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_EEE_CNT,
|
|
- ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
-};
|
|
-
|
|
-/* TSINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TSINFO_UNSPEC,
|
|
- ETHTOOL_A_TSINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_TSINFO_TIMESTAMPING, /* bitset */
|
|
- ETHTOOL_A_TSINFO_TX_TYPES, /* bitset */
|
|
- ETHTOOL_A_TSINFO_RX_FILTERS, /* bitset */
|
|
- ETHTOOL_A_TSINFO_PHC_INDEX, /* u32 */
|
|
- ETHTOOL_A_TSINFO_STATS, /* nest - _A_TSINFO_STAT */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TSINFO_CNT,
|
|
- ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TS_STAT_UNSPEC,
|
|
-
|
|
- ETHTOOL_A_TS_STAT_TX_PKTS, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_LOST, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_ERR, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TS_STAT_CNT,
|
|
- ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
-
|
|
-};
|
|
-
|
|
-/* PHC VCLOCKS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
- ETHTOOL_A_PHC_VCLOCKS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHC_VCLOCKS_NUM, /* u32 */
|
|
- ETHTOOL_A_PHC_VCLOCKS_INDEX, /* array, s32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
- ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST NOTIFY */
|
|
enum {
|
|
ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC,
|
|
@@ -583,73 +50,11 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
- ETHTOOL_A_CABLE_RESULT_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_RESULT_CODE, /* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */
|
|
- ETHTOOL_A_CABLE_RESULT_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
- ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_CM, /* u32 */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED
|
|
};
|
|
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_NEST_RESULT, /* nest - ETHTOOL_A_CABLE_RESULT_ */
|
|
- ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, /* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */
|
|
- __ETHTOOL_A_CABLE_NEST_CNT,
|
|
- ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST TDR */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG, /* nest - *_TDR_CFG_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST TDR NOTIFY */
|
|
|
|
enum {
|
|
@@ -690,163 +95,17 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
- 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)
|
|
-};
|
|
-
|
|
-/* FEC */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_UNSPEC,
|
|
- ETHTOOL_A_FEC_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEC_MODES, /* bitset */
|
|
- ETHTOOL_A_FEC_AUTO, /* u8 */
|
|
- ETHTOOL_A_FEC_ACTIVE, /* u32 */
|
|
- ETHTOOL_A_FEC_STATS, /* nest - _A_FEC_STAT */
|
|
-
|
|
- __ETHTOOL_A_FEC_CNT,
|
|
- ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
- ETHTOOL_A_FEC_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_FEC_STAT_CORRECTED, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_UNCORR, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_CORR_BITS, /* array, u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEC_STAT_CNT,
|
|
- ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE EEPROM */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
- ETHTOOL_A_MODULE_EEPROM_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- ETHTOOL_A_MODULE_EEPROM_OFFSET, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_LENGTH, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */
|
|
-
|
|
- __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
- ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* STATS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STATS_UNSPEC,
|
|
- ETHTOOL_A_STATS_PAD,
|
|
- ETHTOOL_A_STATS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STATS_GROUPS, /* bitset */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP, /* nest - _A_STATS_GRP_* */
|
|
-
|
|
- ETHTOOL_A_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_CNT,
|
|
- ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_STATS_ETH_PHY,
|
|
ETHTOOL_STATS_ETH_MAC,
|
|
ETHTOOL_STATS_ETH_CTRL,
|
|
ETHTOOL_STATS_RMON,
|
|
+ ETHTOOL_STATS_PHY,
|
|
|
|
/* add new constants above here */
|
|
__ETHTOOL_STATS_CNT
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
- ETHTOOL_A_STATS_GRP_PAD,
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_ID, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_SS_ID, /* u32 */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_STAT, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_RX, /* nest */
|
|
- ETHTOOL_A_STATS_GRP_HIST_TX, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_LOW, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_HI, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_VAL, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_GRP_CNT,
|
|
- ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
/* 30.3.2.1.5 aSymbolErrorDuringCarrier */
|
|
ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR,
|
|
|
|
@@ -935,160 +194,20 @@ enum {
|
|
ETHTOOL_A_STATS_RMON_MAX = (__ETHTOOL_A_STATS_RMON_CNT - 1)
|
|
};
|
|
|
|
-/* MODULE */
|
|
-
|
|
enum {
|
|
- ETHTOOL_A_MODULE_UNSPEC,
|
|
- ETHTOOL_A_MODULE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_POWER_MODE_POLICY, /* u8 */
|
|
- ETHTOOL_A_MODULE_POWER_MODE, /* u8 */
|
|
+ /* Basic packet counters if PHY has separate counters from the MAC */
|
|
+ ETHTOOL_A_STATS_PHY_RX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_RX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_RX_ERRORS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_TX_ERRORS,
|
|
|
|
/* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_CNT,
|
|
- ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+ __ETHTOOL_A_STATS_PHY_CNT,
|
|
+ ETHTOOL_A_STATS_PHY_MAX = (__ETHTOOL_A_STATS_PHY_CNT - 1)
|
|
};
|
|
|
|
-/* Power Sourcing Equipment */
|
|
-enum {
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MIN, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MAX, /* u32 */
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PSE_UNSPEC,
|
|
- ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_CLASS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ACTUAL_PW, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_SUBSTATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES, /* nest - _C33_PSE_PW_LIMIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PSE_CNT,
|
|
- ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RSS_UNSPEC,
|
|
- ETHTOOL_A_RSS_HEADER,
|
|
- ETHTOOL_A_RSS_CONTEXT, /* u32 */
|
|
- ETHTOOL_A_RSS_HFUNC, /* u32 */
|
|
- ETHTOOL_A_RSS_INDIR, /* binary */
|
|
- ETHTOOL_A_RSS_HKEY, /* binary */
|
|
- ETHTOOL_A_RSS_INPUT_XFRM, /* u32 */
|
|
- ETHTOOL_A_RSS_START_CONTEXT, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_RSS_CNT,
|
|
- ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
|
|
-};
|
|
-
|
|
-/* PLCA */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PLCA_UNSPEC,
|
|
- ETHTOOL_A_PLCA_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PLCA_VERSION, /* u16 */
|
|
- ETHTOOL_A_PLCA_ENABLED, /* u8 */
|
|
- ETHTOOL_A_PLCA_STATUS, /* u8 */
|
|
- ETHTOOL_A_PLCA_NODE_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_NODE_ID, /* u32 */
|
|
- ETHTOOL_A_PLCA_TO_TMR, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_TMR, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PLCA_CNT,
|
|
- ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MAC Merge (802.3) */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_STAT_UNSPEC,
|
|
- ETHTOOL_A_MM_STAT_PAD,
|
|
-
|
|
- /* aMACMergeFrameAssErrorCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameSmdErrorCount */
|
|
- ETHTOOL_A_MM_STAT_SMD_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameAssOkCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_OK, /* u64 */
|
|
- /* aMACMergeFragCountRx */
|
|
- ETHTOOL_A_MM_STAT_RX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeFragCountTx */
|
|
- ETHTOOL_A_MM_STAT_TX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeHoldCount */
|
|
- ETHTOOL_A_MM_STAT_HOLD_COUNT, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_STAT_CNT,
|
|
- ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_UNSPEC,
|
|
- ETHTOOL_A_MM_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MM_PMAC_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_RX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_VERIFY_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_STATUS, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_MAX_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_STATS, /* nest - _A_MM_STAT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_CNT,
|
|
- ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE_FW_FLASH */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_PASSWORD, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_DONE, /* uint */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_TOTAL, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHY_UNSPEC,
|
|
- ETHTOOL_A_PHY_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHY_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_DRVNAME, /* string */
|
|
- ETHTOOL_A_PHY_NAME, /* string */
|
|
- ETHTOOL_A_PHY_UPSTREAM_TYPE, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_SFP_NAME, /* string */
|
|
- ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHY_CNT,
|
|
- ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
-};
|
|
-
|
|
-/* generic netlink info */
|
|
-#define ETHTOOL_GENL_NAME "ethtool"
|
|
-#define ETHTOOL_GENL_VERSION 1
|
|
-
|
|
#define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
|
|
|
|
#endif /* _LINUX_ETHTOOL_NETLINK_H_ */
|
|
--- /dev/null
|
|
+++ b/powerpc/usr/include/linux/ethtool_netlink_generated.h
|
|
@@ -0,0 +1,821 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/ethtool.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+#define _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+
|
|
+#define ETHTOOL_GENL_NAME "ethtool"
|
|
+#define ETHTOOL_GENL_VERSION 1
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_GENEVE,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE,
|
|
+
|
|
+ /* private: */
|
|
+ __ETHTOOL_UDP_TUNNEL_TYPE_CNT,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_MAX = (__ETHTOOL_UDP_TUNNEL_TYPE_CNT - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum ethtool_header_flags - common ethtool header flags
|
|
+ * @ETHTOOL_FLAG_COMPACT_BITSETS: use compact bitsets in reply
|
|
+ * @ETHTOOL_FLAG_OMIT_REPLY: provide optional reply for SET or ACT requests
|
|
+ * @ETHTOOL_FLAG_STATS: request statistics, if supported by the driver
|
|
+ */
|
|
+enum ethtool_header_flags {
|
|
+ ETHTOOL_FLAG_COMPACT_BITSETS = 1,
|
|
+ ETHTOOL_FLAG_OMIT_REPLY = 2,
|
|
+ ETHTOOL_FLAG_STATS = 4,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_MAC,
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_PHY,
|
|
+};
|
|
+
|
|
+enum ethtool_tcp_data_split {
|
|
+ ETHTOOL_TCP_DATA_SPLIT_UNKNOWN,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_HEADER_UNSPEC,
|
|
+ ETHTOOL_A_HEADER_DEV_INDEX,
|
|
+ ETHTOOL_A_HEADER_DEV_NAME,
|
|
+ ETHTOOL_A_HEADER_FLAGS,
|
|
+ ETHTOOL_A_HEADER_PHY_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_HEADER_CNT,
|
|
+ ETHTOOL_A_HEADER_MAX = (__ETHTOOL_A_HEADER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BIT_INDEX,
|
|
+ ETHTOOL_A_BITSET_BIT_NAME,
|
|
+ ETHTOOL_A_BITSET_BIT_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BIT_CNT,
|
|
+ ETHTOOL_A_BITSET_BIT_MAX = (__ETHTOOL_A_BITSET_BIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BITS_BIT,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BITS_CNT,
|
|
+ ETHTOOL_A_BITSET_BITS_MAX = (__ETHTOOL_A_BITSET_BITS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_NOMASK,
|
|
+ ETHTOOL_A_BITSET_SIZE,
|
|
+ ETHTOOL_A_BITSET_BITS,
|
|
+ ETHTOOL_A_BITSET_VALUE,
|
|
+ ETHTOOL_A_BITSET_MASK,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_CNT,
|
|
+ ETHTOOL_A_BITSET_MAX = (__ETHTOOL_A_BITSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRING_UNSPEC,
|
|
+ ETHTOOL_A_STRING_INDEX,
|
|
+ ETHTOOL_A_STRING_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_STRING_CNT,
|
|
+ ETHTOOL_A_STRING_MAX = (__ETHTOOL_A_STRING_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGS_STRING,
|
|
+
|
|
+ __ETHTOOL_A_STRINGS_CNT,
|
|
+ ETHTOOL_A_STRINGS_MAX = (__ETHTOOL_A_STRINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSET_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSET_ID,
|
|
+ ETHTOOL_A_STRINGSET_COUNT,
|
|
+ ETHTOOL_A_STRINGSET_STRINGS,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSET_CNT,
|
|
+ ETHTOOL_A_STRINGSET_MAX = (__ETHTOOL_A_STRINGSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSETS_STRINGSET,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSETS_CNT,
|
|
+ ETHTOOL_A_STRINGSETS_MAX = (__ETHTOOL_A_STRINGSETS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRSET_UNSPEC,
|
|
+ ETHTOOL_A_STRSET_HEADER,
|
|
+ ETHTOOL_A_STRSET_STRINGSETS,
|
|
+ ETHTOOL_A_STRSET_COUNTS_ONLY,
|
|
+
|
|
+ __ETHTOOL_A_STRSET_CNT,
|
|
+ ETHTOOL_A_STRSET_MAX = (__ETHTOOL_A_STRSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
+ ETHTOOL_A_PRIVFLAGS_HEADER,
|
|
+ ETHTOOL_A_PRIVFLAGS_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
+ ETHTOOL_A_PRIVFLAGS_MAX = (__ETHTOOL_A_PRIVFLAGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RINGS_UNSPEC,
|
|
+ ETHTOOL_A_RINGS_HEADER,
|
|
+ ETHTOOL_A_RINGS_RX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO_MAX,
|
|
+ ETHTOOL_A_RINGS_TX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO,
|
|
+ ETHTOOL_A_RINGS_TX,
|
|
+ ETHTOOL_A_RINGS_RX_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
|
|
+ ETHTOOL_A_RINGS_CQE_SIZE,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH,
|
|
+ ETHTOOL_A_RINGS_RX_PUSH,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH_MAX,
|
|
+
|
|
+ __ETHTOOL_A_RINGS_CNT,
|
|
+ ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_STAT_UNSPEC,
|
|
+ ETHTOOL_A_MM_STAT_PAD,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_SMD_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_OK,
|
|
+ ETHTOOL_A_MM_STAT_RX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_TX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_HOLD_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_MM_STAT_CNT,
|
|
+ ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_UNSPEC,
|
|
+ ETHTOOL_A_MM_HEADER,
|
|
+ ETHTOOL_A_MM_PMAC_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ACTIVE,
|
|
+ ETHTOOL_A_MM_TX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_RX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_VERIFY_ENABLED,
|
|
+ ETHTOOL_A_MM_VERIFY_STATUS,
|
|
+ ETHTOOL_A_MM_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_MAX_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_STATS,
|
|
+
|
|
+ __ETHTOOL_A_MM_CNT,
|
|
+ ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKINFO_UNSPEC,
|
|
+ ETHTOOL_A_LINKINFO_HEADER,
|
|
+ ETHTOOL_A_LINKINFO_PORT,
|
|
+ ETHTOOL_A_LINKINFO_PHYADDR,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX_CTRL,
|
|
+ ETHTOOL_A_LINKINFO_TRANSCEIVER,
|
|
+
|
|
+ __ETHTOOL_A_LINKINFO_CNT,
|
|
+ ETHTOOL_A_LINKINFO_MAX = (__ETHTOOL_A_LINKINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKMODES_UNSPEC,
|
|
+ ETHTOOL_A_LINKMODES_HEADER,
|
|
+ ETHTOOL_A_LINKMODES_AUTONEG,
|
|
+ ETHTOOL_A_LINKMODES_OURS,
|
|
+ ETHTOOL_A_LINKMODES_PEER,
|
|
+ ETHTOOL_A_LINKMODES_SPEED,
|
|
+ ETHTOOL_A_LINKMODES_DUPLEX,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE,
|
|
+ ETHTOOL_A_LINKMODES_LANES,
|
|
+ ETHTOOL_A_LINKMODES_RATE_MATCHING,
|
|
+
|
|
+ __ETHTOOL_A_LINKMODES_CNT,
|
|
+ ETHTOOL_A_LINKMODES_MAX = (__ETHTOOL_A_LINKMODES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
+ ETHTOOL_A_LINKSTATE_HEADER,
|
|
+ ETHTOOL_A_LINKSTATE_LINK,
|
|
+ ETHTOOL_A_LINKSTATE_SQI,
|
|
+ ETHTOOL_A_LINKSTATE_SQI_MAX,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_STATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT,
|
|
+
|
|
+ __ETHTOOL_A_LINKSTATE_CNT,
|
|
+ ETHTOOL_A_LINKSTATE_MAX = (__ETHTOOL_A_LINKSTATE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_DEBUG_UNSPEC,
|
|
+ ETHTOOL_A_DEBUG_HEADER,
|
|
+ ETHTOOL_A_DEBUG_MSGMASK,
|
|
+
|
|
+ __ETHTOOL_A_DEBUG_CNT,
|
|
+ ETHTOOL_A_DEBUG_MAX = (__ETHTOOL_A_DEBUG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_WOL_UNSPEC,
|
|
+ ETHTOOL_A_WOL_HEADER,
|
|
+ ETHTOOL_A_WOL_MODES,
|
|
+ ETHTOOL_A_WOL_SOPASS,
|
|
+
|
|
+ __ETHTOOL_A_WOL_CNT,
|
|
+ ETHTOOL_A_WOL_MAX = (__ETHTOOL_A_WOL_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEATURES_UNSPEC,
|
|
+ ETHTOOL_A_FEATURES_HEADER,
|
|
+ ETHTOOL_A_FEATURES_HW,
|
|
+ ETHTOOL_A_FEATURES_WANTED,
|
|
+ ETHTOOL_A_FEATURES_ACTIVE,
|
|
+ ETHTOOL_A_FEATURES_NOCHANGE,
|
|
+
|
|
+ __ETHTOOL_A_FEATURES_CNT,
|
|
+ ETHTOOL_A_FEATURES_MAX = (__ETHTOOL_A_FEATURES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CHANNELS_UNSPEC,
|
|
+ ETHTOOL_A_CHANNELS_HEADER,
|
|
+ ETHTOOL_A_CHANNELS_RX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_TX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_MAX,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_MAX,
|
|
+ ETHTOOL_A_CHANNELS_RX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_TX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_CHANNELS_CNT,
|
|
+ ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_USEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_PKTS,
|
|
+ ETHTOOL_A_IRQ_MODERATION_COMPS,
|
|
+
|
|
+ __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
+ ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PROFILE_UNSPEC,
|
|
+ ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
+
|
|
+ __ETHTOOL_A_PROFILE_CNT,
|
|
+ ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_COALESCE_UNSPEC,
|
|
+ ETHTOOL_A_COALESCE_HEADER,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_STATS_BLOCK_USECS,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_TX,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_RX,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
+ ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
+
|
|
+ __ETHTOOL_A_COALESCE_CNT,
|
|
+ ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_STAT_PAD,
|
|
+ ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
+ ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
+ ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_HEADER,
|
|
+ ETHTOOL_A_PAUSE_AUTONEG,
|
|
+ ETHTOOL_A_PAUSE_RX,
|
|
+ ETHTOOL_A_PAUSE_TX,
|
|
+ ETHTOOL_A_PAUSE_STATS,
|
|
+ ETHTOOL_A_PAUSE_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_CNT,
|
|
+ ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_EEE_UNSPEC,
|
|
+ ETHTOOL_A_EEE_HEADER,
|
|
+ ETHTOOL_A_EEE_MODES_OURS,
|
|
+ ETHTOOL_A_EEE_MODES_PEER,
|
|
+ ETHTOOL_A_EEE_ACTIVE,
|
|
+ ETHTOOL_A_EEE_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_TIMER,
|
|
+
|
|
+ __ETHTOOL_A_EEE_CNT,
|
|
+ ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_STAT_UNSPEC,
|
|
+ ETHTOOL_A_TS_STAT_TX_PKTS,
|
|
+ ETHTOOL_A_TS_STAT_TX_LOST,
|
|
+ ETHTOOL_A_TS_STAT_TX_ERR,
|
|
+ ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED,
|
|
+
|
|
+ __ETHTOOL_A_TS_STAT_CNT,
|
|
+ ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER,
|
|
+
|
|
+ __ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = (__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSINFO_UNSPEC,
|
|
+ ETHTOOL_A_TSINFO_HEADER,
|
|
+ ETHTOOL_A_TSINFO_TIMESTAMPING,
|
|
+ ETHTOOL_A_TSINFO_TX_TYPES,
|
|
+ ETHTOOL_A_TSINFO_RX_FILTERS,
|
|
+ ETHTOOL_A_TSINFO_PHC_INDEX,
|
|
+ ETHTOOL_A_TSINFO_STATS,
|
|
+ ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER,
|
|
+
|
|
+ __ETHTOOL_A_TSINFO_CNT,
|
|
+ ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_RESULT_PAIR,
|
|
+ ETHTOOL_A_CABLE_RESULT_CODE,
|
|
+ ETHTOOL_A_CABLE_RESULT_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
+ ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_CM,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_NEST_RESULT,
|
|
+ ETHTOOL_A_CABLE_NEST_FAULT_LENGTH,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_NEST_CNT,
|
|
+ ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_HEADER,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_MAX = (__ETHTOOL_A_CABLE_TEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY,
|
|
+
|
|
+ __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,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_INFO_UDP_PORTS,
|
|
+
|
|
+ __ETHTOOL_A_TUNNEL_INFO_CNT,
|
|
+ ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
+ ETHTOOL_A_FEC_STAT_PAD,
|
|
+ ETHTOOL_A_FEC_STAT_CORRECTED,
|
|
+ ETHTOOL_A_FEC_STAT_UNCORR,
|
|
+ ETHTOOL_A_FEC_STAT_CORR_BITS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_STAT_CNT,
|
|
+ ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_UNSPEC,
|
|
+ ETHTOOL_A_FEC_HEADER,
|
|
+ ETHTOOL_A_FEC_MODES,
|
|
+ ETHTOOL_A_FEC_AUTO,
|
|
+ ETHTOOL_A_FEC_ACTIVE,
|
|
+ ETHTOOL_A_FEC_STATS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_CNT,
|
|
+ ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_EEPROM_HEADER,
|
|
+ ETHTOOL_A_MODULE_EEPROM_OFFSET,
|
|
+ ETHTOOL_A_MODULE_EEPROM_LENGTH,
|
|
+ ETHTOOL_A_MODULE_EEPROM_PAGE,
|
|
+ ETHTOOL_A_MODULE_EEPROM_BANK,
|
|
+ ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS,
|
|
+ ETHTOOL_A_MODULE_EEPROM_DATA,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
+ ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
+ ETHTOOL_A_STATS_GRP_PAD,
|
|
+ ETHTOOL_A_STATS_GRP_ID,
|
|
+ ETHTOOL_A_STATS_GRP_SS_ID,
|
|
+ ETHTOOL_A_STATS_GRP_STAT,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_RX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_TX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_LOW,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_HI,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_VAL,
|
|
+
|
|
+ __ETHTOOL_A_STATS_GRP_CNT,
|
|
+ ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_UNSPEC,
|
|
+ ETHTOOL_A_STATS_PAD,
|
|
+ ETHTOOL_A_STATS_HEADER,
|
|
+ ETHTOOL_A_STATS_GROUPS,
|
|
+ ETHTOOL_A_STATS_GRP,
|
|
+ ETHTOOL_A_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_STATS_CNT,
|
|
+ ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_HEADER,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_NUM,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_HEADER,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE_POLICY,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_CNT,
|
|
+ ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MIN,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MAX,
|
|
+
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_CNT,
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = (__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PSE_UNSPEC,
|
|
+ ETHTOOL_A_PSE_HEADER,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_PODL_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_C33_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_PW_CLASS,
|
|
+ ETHTOOL_A_C33_PSE_ACTUAL_PW,
|
|
+ ETHTOOL_A_C33_PSE_EXT_STATE,
|
|
+ ETHTOOL_A_C33_PSE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES,
|
|
+
|
|
+ __ETHTOOL_A_PSE_CNT,
|
|
+ ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RSS_UNSPEC,
|
|
+ ETHTOOL_A_RSS_HEADER,
|
|
+ ETHTOOL_A_RSS_CONTEXT,
|
|
+ ETHTOOL_A_RSS_HFUNC,
|
|
+ ETHTOOL_A_RSS_INDIR,
|
|
+ ETHTOOL_A_RSS_HKEY,
|
|
+ ETHTOOL_A_RSS_INPUT_XFRM,
|
|
+ ETHTOOL_A_RSS_START_CONTEXT,
|
|
+
|
|
+ __ETHTOOL_A_RSS_CNT,
|
|
+ ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PLCA_UNSPEC,
|
|
+ ETHTOOL_A_PLCA_HEADER,
|
|
+ ETHTOOL_A_PLCA_VERSION,
|
|
+ ETHTOOL_A_PLCA_ENABLED,
|
|
+ ETHTOOL_A_PLCA_STATUS,
|
|
+ ETHTOOL_A_PLCA_NODE_CNT,
|
|
+ ETHTOOL_A_PLCA_NODE_ID,
|
|
+ ETHTOOL_A_PLCA_TO_TMR,
|
|
+ ETHTOOL_A_PLCA_BURST_CNT,
|
|
+ ETHTOOL_A_PLCA_BURST_TMR,
|
|
+
|
|
+ __ETHTOOL_A_PLCA_CNT,
|
|
+ ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_HEADER,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_PASSWORD,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_DONE,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_TOTAL,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHY_UNSPEC,
|
|
+ ETHTOOL_A_PHY_HEADER,
|
|
+ ETHTOOL_A_PHY_INDEX,
|
|
+ ETHTOOL_A_PHY_DRVNAME,
|
|
+ ETHTOOL_A_PHY_NAME,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_TYPE,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_INDEX,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_SFP_NAME,
|
|
+ ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME,
|
|
+
|
|
+ __ETHTOOL_A_PHY_CNT,
|
|
+ ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSCONFIG_UNSPEC,
|
|
+ ETHTOOL_A_TSCONFIG_HEADER,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER,
|
|
+ ETHTOOL_A_TSCONFIG_TX_TYPES,
|
|
+ ETHTOOL_A_TSCONFIG_RX_FILTERS,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_TSCONFIG_CNT,
|
|
+ ETHTOOL_A_TSCONFIG_MAX = (__ETHTOOL_A_TSCONFIG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_USER_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET,
|
|
+ ETHTOOL_MSG_LINKINFO_SET,
|
|
+ ETHTOOL_MSG_LINKMODES_GET,
|
|
+ ETHTOOL_MSG_LINKMODES_SET,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET,
|
|
+ ETHTOOL_MSG_DEBUG_GET,
|
|
+ ETHTOOL_MSG_DEBUG_SET,
|
|
+ ETHTOOL_MSG_WOL_GET,
|
|
+ ETHTOOL_MSG_WOL_SET,
|
|
+ ETHTOOL_MSG_FEATURES_GET,
|
|
+ ETHTOOL_MSG_FEATURES_SET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
+ ETHTOOL_MSG_RINGS_GET,
|
|
+ ETHTOOL_MSG_RINGS_SET,
|
|
+ ETHTOOL_MSG_CHANNELS_GET,
|
|
+ ETHTOOL_MSG_CHANNELS_SET,
|
|
+ ETHTOOL_MSG_COALESCE_GET,
|
|
+ ETHTOOL_MSG_COALESCE_SET,
|
|
+ ETHTOOL_MSG_PAUSE_GET,
|
|
+ ETHTOOL_MSG_PAUSE_SET,
|
|
+ ETHTOOL_MSG_EEE_GET,
|
|
+ ETHTOOL_MSG_EEE_SET,
|
|
+ ETHTOOL_MSG_TSINFO_GET,
|
|
+ ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
+ ETHTOOL_MSG_FEC_GET,
|
|
+ ETHTOOL_MSG_FEC_SET,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
+ ETHTOOL_MSG_STATS_GET,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
+ ETHTOOL_MSG_MODULE_GET,
|
|
+ ETHTOOL_MSG_MODULE_SET,
|
|
+ ETHTOOL_MSG_PSE_GET,
|
|
+ ETHTOOL_MSG_PSE_SET,
|
|
+ ETHTOOL_MSG_RSS_GET,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_SET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
+ ETHTOOL_MSG_MM_GET,
|
|
+ ETHTOOL_MSG_MM_SET,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
+ ETHTOOL_MSG_PHY_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET,
|
|
+
|
|
+ __ETHTOOL_MSG_USER_CNT,
|
|
+ ETHTOOL_MSG_USER_MAX = (__ETHTOOL_MSG_USER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_KERNEL_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET_REPLY = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKINFO_NTF,
|
|
+ ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKMODES_NTF,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_NTF,
|
|
+ ETHTOOL_MSG_WOL_GET_REPLY,
|
|
+ ETHTOOL_MSG_WOL_NTF,
|
|
+ ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_NTF,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
+ ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_RINGS_NTF,
|
|
+ ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
+ ETHTOOL_MSG_CHANNELS_NTF,
|
|
+ ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
+ ETHTOOL_MSG_COALESCE_NTF,
|
|
+ ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_PAUSE_NTF,
|
|
+ ETHTOOL_MSG_EEE_GET_REPLY,
|
|
+ ETHTOOL_MSG_EEE_NTF,
|
|
+ ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_NTF,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
+ ETHTOOL_MSG_STATS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_NTF,
|
|
+ ETHTOOL_MSG_PSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_RSS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_NTF,
|
|
+ ETHTOOL_MSG_MM_GET_REPLY,
|
|
+ ETHTOOL_MSG_MM_NTF,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
+ ETHTOOL_MSG_PHY_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHY_NTF,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET_REPLY,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET_REPLY,
|
|
+
|
|
+ __ETHTOOL_MSG_KERNEL_CNT,
|
|
+ ETHTOOL_MSG_KERNEL_MAX = (__ETHTOOL_MSG_KERNEL_CNT - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_ETHTOOL_NETLINK_GENERATED_H */
|
|
--- a/powerpc/usr/include/linux/fs.h
|
|
+++ b/powerpc/usr/include/linux/fs.h
|
|
@@ -36,6 +36,15 @@
|
|
#define BLOCK_SIZE_BITS 10
|
|
#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
|
|
|
|
+/* flags for integrity meta */
|
|
+#define IO_INTEGRITY_CHK_GUARD (1U << 0) /* enforce guard check */
|
|
+#define IO_INTEGRITY_CHK_REFTAG (1U << 1) /* enforce ref check */
|
|
+#define IO_INTEGRITY_CHK_APPTAG (1U << 2) /* enforce app check */
|
|
+
|
|
+#define IO_INTEGRITY_VALID_FLAGS (IO_INTEGRITY_CHK_GUARD | \
|
|
+ IO_INTEGRITY_CHK_REFTAG | \
|
|
+ IO_INTEGRITY_CHK_APPTAG)
|
|
+
|
|
#define SEEK_SET 0 /* seek relative to beginning of file */
|
|
#define SEEK_CUR 1 /* seek relative to current file position */
|
|
#define SEEK_END 2 /* seek relative to end of file */
|
|
--- a/powerpc/usr/include/linux/hidraw.h
|
|
+++ b/powerpc/usr/include/linux/hidraw.h
|
|
@@ -48,6 +48,8 @@ struct hidraw_devinfo {
|
|
#define HIDIOCGOUTPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0C, len)
|
|
#define HIDIOCREVOKE _IOW('H', 0x0D, int) /* Revoke device access */
|
|
|
|
+#define HIDIOCTL_LAST _IOC_NR(HIDIOCREVOKE)
|
|
+
|
|
#define HIDRAW_FIRST_MINOR 0
|
|
#define HIDRAW_MAX_DEVICES 64
|
|
/* number of reports to buffer */
|
|
--- a/powerpc/usr/include/linux/if_link.h
|
|
+++ b/powerpc/usr/include/linux/if_link.h
|
|
@@ -377,6 +377,7 @@ enum {
|
|
IFLA_GSO_IPV4_MAX_SIZE,
|
|
IFLA_GRO_IPV4_MAX_SIZE,
|
|
IFLA_DPLL_PIN,
|
|
+ IFLA_MAX_PACING_OFFLOAD_HORIZON,
|
|
__IFLA_MAX
|
|
};
|
|
|
|
--- a/powerpc/usr/include/linux/input-event-codes.h
|
|
+++ b/powerpc/usr/include/linux/input-event-codes.h
|
|
@@ -519,6 +519,7 @@
|
|
#define KEY_NOTIFICATION_CENTER 0x1bc /* Show/hide the notification center */
|
|
#define KEY_PICKUP_PHONE 0x1bd /* Answer incoming call */
|
|
#define KEY_HANGUP_PHONE 0x1be /* Decline incoming call */
|
|
+#define KEY_LINK_PHONE 0x1bf /* AL Phone Syncing */
|
|
|
|
#define KEY_DEL_EOL 0x1c0
|
|
#define KEY_DEL_EOS 0x1c1
|
|
--- a/powerpc/usr/include/linux/io_uring.h
|
|
+++ b/powerpc/usr/include/linux/io_uring.h
|
|
@@ -98,6 +98,10 @@ struct io_uring_sqe {
|
|
__u64 addr3;
|
|
__u64 __pad2[1];
|
|
};
|
|
+ struct {
|
|
+ __u64 attr_ptr; /* pointer to attribute information */
|
|
+ __u64 attr_type_mask; /* bit mask of attributes */
|
|
+ };
|
|
__u64 optval;
|
|
/*
|
|
* If the ring is initialized with IORING_SETUP_SQE128, then
|
|
@@ -107,6 +111,18 @@ struct io_uring_sqe {
|
|
};
|
|
};
|
|
|
|
+/* sqe->attr_type_mask flags */
|
|
+#define IORING_RW_ATTR_FLAG_PI (1U << 0)
|
|
+/* PI attribute information */
|
|
+struct io_uring_attr_pi {
|
|
+ __u16 flags;
|
|
+ __u16 app_tag;
|
|
+ __u32 len;
|
|
+ __u64 addr;
|
|
+ __u64 seed;
|
|
+ __u64 rsvd;
|
|
+};
|
|
+
|
|
/*
|
|
* If sqe->file_index is set to this for opcodes that instantiate a new
|
|
* direct descriptor (like openat/openat2/accept), then io_uring will allocate
|
|
@@ -554,6 +570,7 @@ struct io_uring_params {
|
|
#define IORING_FEAT_REG_REG_RING (1U << 13)
|
|
#define IORING_FEAT_RECVSEND_BUNDLE (1U << 14)
|
|
#define IORING_FEAT_MIN_TIMEOUT (1U << 15)
|
|
+#define IORING_FEAT_RW_ATTR (1U << 16)
|
|
|
|
/*
|
|
* io_uring_register(2) opcodes and arguments
|
|
--- a/powerpc/usr/include/linux/iommufd.h
|
|
+++ b/powerpc/usr/include/linux/iommufd.h
|
|
@@ -737,6 +737,7 @@ enum iommu_hwpt_pgfault_perm {
|
|
* @pasid: Process Address Space ID
|
|
* @grpid: Page Request Group Index
|
|
* @perm: Combination of enum iommu_hwpt_pgfault_perm
|
|
+ * @__reserved: Must be 0.
|
|
* @addr: Fault address
|
|
* @length: a hint of how much data the requestor is expecting to fetch. For
|
|
* example, if the PRI initiator knows it is going to do a 10MB
|
|
@@ -752,7 +753,8 @@ struct iommu_hwpt_pgfault {
|
|
__u32 pasid;
|
|
__u32 grpid;
|
|
__u32 perm;
|
|
- __u64 addr;
|
|
+ __u32 __reserved;
|
|
+ __aligned_u64 addr;
|
|
__u32 length;
|
|
__u32 cookie;
|
|
};
|
|
--- a/powerpc/usr/include/linux/kfd_ioctl.h
|
|
+++ b/powerpc/usr/include/linux/kfd_ioctl.h
|
|
@@ -62,6 +62,8 @@ struct kfd_ioctl_get_version_args {
|
|
#define KFD_MAX_QUEUE_PERCENTAGE 100
|
|
#define KFD_MAX_QUEUE_PRIORITY 15
|
|
|
|
+#define KFD_MIN_QUEUE_RING_SIZE 1024
|
|
+
|
|
struct kfd_ioctl_create_queue_args {
|
|
__u64 ring_base_address; /* to KFD */
|
|
__u64 write_pointer_address; /* from KFD */
|
|
--- a/powerpc/usr/include/linux/kvm.h
|
|
+++ b/powerpc/usr/include/linux/kvm.h
|
|
@@ -178,6 +178,7 @@ struct kvm_xen_exit {
|
|
#define KVM_EXIT_NOTIFY 37
|
|
#define KVM_EXIT_LOONGARCH_IOCSR 38
|
|
#define KVM_EXIT_MEMORY_FAULT 39
|
|
+#define KVM_EXIT_TDX 40
|
|
|
|
/* For KVM_EXIT_INTERNAL_ERROR */
|
|
/* Emulate instruction failed. */
|
|
@@ -369,6 +370,7 @@ struct kvm_run {
|
|
#define KVM_SYSTEM_EVENT_WAKEUP 4
|
|
#define KVM_SYSTEM_EVENT_SUSPEND 5
|
|
#define KVM_SYSTEM_EVENT_SEV_TERM 6
|
|
+#define KVM_SYSTEM_EVENT_TDX_FATAL 7
|
|
__u32 type;
|
|
__u32 ndata;
|
|
union {
|
|
@@ -438,6 +440,33 @@ struct kvm_run {
|
|
__u64 gpa;
|
|
__u64 size;
|
|
} memory_fault;
|
|
+#ifndef __GENKSYMS__
|
|
+ /* KVM_EXIT_TDX */
|
|
+ struct {
|
|
+ __u64 flags;
|
|
+ __u64 nr;
|
|
+ union {
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 data[5];
|
|
+ } unknown;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 gpa;
|
|
+ __u64 size;
|
|
+ } get_quote;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 leaf;
|
|
+ __u64 r11, r12, r13, r14;
|
|
+ } get_tdvmcall_info;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 vector;
|
|
+ } setup_event_notify;
|
|
+ };
|
|
+ } tdx;
|
|
+#endif
|
|
/* Fix the size of the union. */
|
|
char padding[256];
|
|
};
|
|
@@ -1150,7 +1179,15 @@ enum kvm_device_type {
|
|
#define KVM_DEV_TYPE_ARM_PV_TIME KVM_DEV_TYPE_ARM_PV_TIME
|
|
KVM_DEV_TYPE_RISCV_AIA,
|
|
#define KVM_DEV_TYPE_RISCV_AIA KVM_DEV_TYPE_RISCV_AIA
|
|
+ KVM_DEV_TYPE_LOONGARCH_IPI,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_IPI KVM_DEV_TYPE_LOONGARCH_IPI
|
|
+ KVM_DEV_TYPE_LOONGARCH_EIOINTC,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_EIOINTC KVM_DEV_TYPE_LOONGARCH_EIOINTC
|
|
+ KVM_DEV_TYPE_LOONGARCH_PCHPIC,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_PCHPIC KVM_DEV_TYPE_LOONGARCH_PCHPIC
|
|
+
|
|
KVM_DEV_TYPE_MAX,
|
|
+
|
|
};
|
|
|
|
struct kvm_vfio_spapr_tce {
|
|
--- a/powerpc/usr/include/linux/landlock.h
|
|
+++ b/powerpc/usr/include/linux/landlock.h
|
|
@@ -57,9 +57,11 @@ struct landlock_ruleset_attr {
|
|
*
|
|
* - %LANDLOCK_CREATE_RULESET_VERSION: Get the highest supported Landlock ABI
|
|
* version.
|
|
+ * - %LANDLOCK_CREATE_RULESET_ERRATA: Get a bitmask of fixed issues.
|
|
*/
|
|
/* clang-format off */
|
|
#define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
|
|
+#define LANDLOCK_CREATE_RULESET_ERRATA (1U << 1)
|
|
/* clang-format on */
|
|
|
|
/**
|
|
--- /dev/null
|
|
+++ b/powerpc/usr/include/linux/livepatch.h
|
|
@@ -0,0 +1,15 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+
|
|
+/*
|
|
+ * livepatch.h - Kernel Live Patching Core
|
|
+ *
|
|
+ * Copyright (C) 2016 Josh Poimboeuf <jpoimboe@redhat.com>
|
|
+ */
|
|
+
|
|
+#ifndef _LIVEPATCH_H
|
|
+#define _LIVEPATCH_H
|
|
+
|
|
+#define KLP_RELA_PREFIX ".klp.rela."
|
|
+#define KLP_SYM_PREFIX ".klp.sym."
|
|
+
|
|
+#endif /* _LIVEPATCH_H */
|
|
--- /dev/null
|
|
+++ b/powerpc/usr/include/linux/mshv.h
|
|
@@ -0,0 +1,291 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+/*
|
|
+ * Userspace interfaces for /dev/mshv* devices and derived fds
|
|
+ *
|
|
+ * This file is divided into sections containing data structures and IOCTLs for
|
|
+ * a particular set of related devices or derived file descriptors.
|
|
+ *
|
|
+ * The IOCTL definitions are at the end of each section. They are grouped by
|
|
+ * device/fd, so that new IOCTLs can easily be added with a monotonically
|
|
+ * increasing number.
|
|
+ */
|
|
+#ifndef _LINUX_MSHV_H
|
|
+#define _LINUX_MSHV_H
|
|
+
|
|
+#include <linux/types.h>
|
|
+
|
|
+#define MSHV_IOCTL 0xB8
|
|
+
|
|
+/*
|
|
+ *******************************************
|
|
+ * Entry point to main VMM APIs: /dev/mshv *
|
|
+ *******************************************
|
|
+ */
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_BIT_LAPIC,
|
|
+ MSHV_PT_BIT_X2APIC,
|
|
+ MSHV_PT_BIT_GPA_SUPER_PAGES,
|
|
+ MSHV_PT_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_PT_FLAGS_MASK ((1 << MSHV_PT_BIT_COUNT) - 1)
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_ISOLATION_NONE,
|
|
+ MSHV_PT_ISOLATION_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_create_partition - arguments for MSHV_CREATE_PARTITION
|
|
+ * @pt_flags: Bitmask of 1 << MSHV_PT_BIT_*
|
|
+ * @pt_isolation: MSHV_PT_ISOLATION_*
|
|
+ *
|
|
+ * Returns a file descriptor to act as a handle to a guest partition.
|
|
+ * At this point the partition is not yet initialized in the hypervisor.
|
|
+ * Some operations must be done with the partition in this state, e.g. setting
|
|
+ * so-called "early" partition properties. The partition can then be
|
|
+ * initialized with MSHV_INITIALIZE_PARTITION.
|
|
+ */
|
|
+struct mshv_create_partition {
|
|
+ __u64 pt_flags;
|
|
+ __u64 pt_isolation;
|
|
+};
|
|
+
|
|
+/* /dev/mshv */
|
|
+#define MSHV_CREATE_PARTITION _IOW(MSHV_IOCTL, 0x00, struct mshv_create_partition)
|
|
+
|
|
+/*
|
|
+ ************************
|
|
+ * Child partition APIs *
|
|
+ ************************
|
|
+ */
|
|
+
|
|
+struct mshv_create_vp {
|
|
+ __u32 vp_index;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_SET_MEM_BIT_WRITABLE,
|
|
+ MSHV_SET_MEM_BIT_EXECUTABLE,
|
|
+ MSHV_SET_MEM_BIT_UNMAP,
|
|
+ MSHV_SET_MEM_BIT_COUNT
|
|
+};
|
|
+
|
|
+#define MSHV_SET_MEM_FLAGS_MASK ((1 << MSHV_SET_MEM_BIT_COUNT) - 1)
|
|
+
|
|
+/* The hypervisor's "native" page size */
|
|
+#define MSHV_HV_PAGE_SIZE 0x1000
|
|
+
|
|
+/**
|
|
+ * struct mshv_user_mem_region - arguments for MSHV_SET_GUEST_MEMORY
|
|
+ * @size: Size of the memory region (bytes). Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @guest_pfn: Base guest page number to map
|
|
+ * @userspace_addr: Base address of userspace memory. Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @flags: Bitmask of 1 << MSHV_SET_MEM_BIT_*. If (1 << MSHV_SET_MEM_BIT_UNMAP)
|
|
+ * is set, ignore other bits.
|
|
+ * @rsvd: MBZ
|
|
+ *
|
|
+ * Map or unmap a region of userspace memory to Guest Physical Addresses (GPA).
|
|
+ * Mappings can't overlap in GPA space or userspace.
|
|
+ * To unmap, these fields must match an existing mapping.
|
|
+ */
|
|
+struct mshv_user_mem_region {
|
|
+ __u64 size;
|
|
+ __u64 guest_pfn;
|
|
+ __u64 userspace_addr;
|
|
+ __u8 flags;
|
|
+ __u8 rsvd[7];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IRQFD_BIT_DEASSIGN,
|
|
+ MSHV_IRQFD_BIT_RESAMPLE,
|
|
+ MSHV_IRQFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IRQFD_FLAGS_MASK ((1 << MSHV_IRQFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_irqfd {
|
|
+ __s32 fd;
|
|
+ __s32 resamplefd;
|
|
+ __u32 gsi;
|
|
+ __u32 flags;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IOEVENTFD_BIT_DATAMATCH,
|
|
+ MSHV_IOEVENTFD_BIT_PIO,
|
|
+ MSHV_IOEVENTFD_BIT_DEASSIGN,
|
|
+ MSHV_IOEVENTFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IOEVENTFD_FLAGS_MASK ((1 << MSHV_IOEVENTFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_ioeventfd {
|
|
+ __u64 datamatch;
|
|
+ __u64 addr; /* legal pio/mmio address */
|
|
+ __u32 len; /* 1, 2, 4, or 8 bytes */
|
|
+ __s32 fd;
|
|
+ __u32 flags;
|
|
+ __u8 rsvd[4];
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_entry {
|
|
+ __u32 gsi;
|
|
+ __u32 address_lo;
|
|
+ __u32 address_hi;
|
|
+ __u32 data;
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_table {
|
|
+ __u32 nr;
|
|
+ __u32 rsvd; /* MBZ */
|
|
+ struct mshv_user_irq_entry entries[];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_TYPE_ACCESSED,
|
|
+ MSHV_GPAP_ACCESS_TYPE_DIRTY,
|
|
+ MSHV_GPAP_ACCESS_TYPE_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_OP_NOOP,
|
|
+ MSHV_GPAP_ACCESS_OP_CLEAR,
|
|
+ MSHV_GPAP_ACCESS_OP_SET,
|
|
+ MSHV_GPAP_ACCESS_OP_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_gpap_access_bitmap - arguments for MSHV_GET_GPAP_ACCESS_BITMAP
|
|
+ * @access_type: MSHV_GPAP_ACCESS_TYPE_* - The type of access to record in the
|
|
+ * bitmap
|
|
+ * @access_op: MSHV_GPAP_ACCESS_OP_* - Allows an optional clear or set of all
|
|
+ * the access states in the range, after retrieving the current
|
|
+ * states.
|
|
+ * @rsvd: MBZ
|
|
+ * @page_count: Number of pages
|
|
+ * @gpap_base: Base gpa page number
|
|
+ * @bitmap_ptr: Output buffer for bitmap, at least (page_count + 7) / 8 bytes
|
|
+ *
|
|
+ * Retrieve a bitmap of either ACCESSED or DIRTY bits for a given range of guest
|
|
+ * memory, and optionally clear or set the bits.
|
|
+ */
|
|
+struct mshv_gpap_access_bitmap {
|
|
+ __u8 access_type;
|
|
+ __u8 access_op;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 page_count;
|
|
+ __u64 gpap_base;
|
|
+ __u64 bitmap_ptr;
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_root_hvcall - arguments for MSHV_ROOT_HVCALL
|
|
+ * @code: Hypercall code (HVCALL_*)
|
|
+ * @reps: in: Rep count ('repcount')
|
|
+ * out: Reps completed ('repcomp'). MBZ unless rep hvcall
|
|
+ * @in_sz: Size of input incl rep data. <= MSHV_HV_PAGE_SIZE
|
|
+ * @out_sz: Size of output buffer. <= MSHV_HV_PAGE_SIZE. MBZ if out_ptr is 0
|
|
+ * @status: in: MBZ
|
|
+ * out: HV_STATUS_* from hypercall
|
|
+ * @rsvd: MBZ
|
|
+ * @in_ptr: Input data buffer (struct hv_input_*). If used with partition or
|
|
+ * vp fd, partition id field is populated by kernel.
|
|
+ * @out_ptr: Output data buffer (optional)
|
|
+ */
|
|
+struct mshv_root_hvcall {
|
|
+ __u16 code;
|
|
+ __u16 reps;
|
|
+ __u16 in_sz;
|
|
+ __u16 out_sz;
|
|
+ __u16 status;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 in_ptr;
|
|
+ __u64 out_ptr;
|
|
+};
|
|
+
|
|
+/* Partition fds created with MSHV_CREATE_PARTITION */
|
|
+#define MSHV_INITIALIZE_PARTITION _IO(MSHV_IOCTL, 0x00)
|
|
+#define MSHV_CREATE_VP _IOW(MSHV_IOCTL, 0x01, struct mshv_create_vp)
|
|
+#define MSHV_SET_GUEST_MEMORY _IOW(MSHV_IOCTL, 0x02, struct mshv_user_mem_region)
|
|
+#define MSHV_IRQFD _IOW(MSHV_IOCTL, 0x03, struct mshv_user_irqfd)
|
|
+#define MSHV_IOEVENTFD _IOW(MSHV_IOCTL, 0x04, struct mshv_user_ioeventfd)
|
|
+#define MSHV_SET_MSI_ROUTING _IOW(MSHV_IOCTL, 0x05, struct mshv_user_irq_table)
|
|
+#define MSHV_GET_GPAP_ACCESS_BITMAP _IOWR(MSHV_IOCTL, 0x06, struct mshv_gpap_access_bitmap)
|
|
+/* Generic hypercall */
|
|
+#define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+
|
|
+/*
|
|
+ ********************************
|
|
+ * VP APIs for child partitions *
|
|
+ ********************************
|
|
+ */
|
|
+
|
|
+#define MSHV_RUN_VP_BUF_SZ 256
|
|
+
|
|
+/*
|
|
+ * VP state pages may be mapped to userspace via mmap().
|
|
+ * To specify which state page, use MSHV_VP_MMAP_OFFSET_ values multiplied by
|
|
+ * the system page size.
|
|
+ * e.g.
|
|
+ * long page_size = sysconf(_SC_PAGE_SIZE);
|
|
+ * void *reg_page = mmap(NULL, MSHV_HV_PAGE_SIZE, PROT_READ|PROT_WRITE,
|
|
+ * MAP_SHARED, vp_fd,
|
|
+ * MSHV_VP_MMAP_OFFSET_REGISTERS * page_size);
|
|
+ */
|
|
+enum {
|
|
+ MSHV_VP_MMAP_OFFSET_REGISTERS,
|
|
+ MSHV_VP_MMAP_OFFSET_INTERCEPT_MESSAGE,
|
|
+ MSHV_VP_MMAP_OFFSET_GHCB,
|
|
+ MSHV_VP_MMAP_OFFSET_COUNT
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_run_vp - argument for MSHV_RUN_VP
|
|
+ * @msg_buf: On success, the intercept message is copied here. It can be
|
|
+ * interpreted using the relevant hypervisor definitions.
|
|
+ */
|
|
+struct mshv_run_vp {
|
|
+ __u8 msg_buf[MSHV_RUN_VP_BUF_SZ];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_VP_STATE_LAPIC, /* Local interrupt controller state (either arch) */
|
|
+ MSHV_VP_STATE_XSAVE, /* XSAVE data in compacted form (x86_64) */
|
|
+ MSHV_VP_STATE_SIMP,
|
|
+ MSHV_VP_STATE_SIEFP,
|
|
+ MSHV_VP_STATE_SYNTHETIC_TIMERS,
|
|
+ MSHV_VP_STATE_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_get_set_vp_state - arguments for MSHV_[GET,SET]_VP_STATE
|
|
+ * @type: MSHV_VP_STATE_*
|
|
+ * @rsvd: MBZ
|
|
+ * @buf_sz: in: 4k page-aligned size of buffer
|
|
+ * out: Actual size of data (on EINVAL, check this to see if buffer
|
|
+ * was too small)
|
|
+ * @buf_ptr: 4k page-aligned data buffer
|
|
+ */
|
|
+struct mshv_get_set_vp_state {
|
|
+ __u8 type;
|
|
+ __u8 rsvd[3];
|
|
+ __u32 buf_sz;
|
|
+ __u64 buf_ptr;
|
|
+};
|
|
+
|
|
+/* VP fds created with MSHV_CREATE_VP */
|
|
+#define MSHV_RUN_VP _IOR(MSHV_IOCTL, 0x00, struct mshv_run_vp)
|
|
+#define MSHV_GET_VP_STATE _IOWR(MSHV_IOCTL, 0x01, struct mshv_get_set_vp_state)
|
|
+#define MSHV_SET_VP_STATE _IOWR(MSHV_IOCTL, 0x02, struct mshv_get_set_vp_state)
|
|
+/*
|
|
+ * Generic hypercall
|
|
+ * Defined above in partition IOCTLs, avoid redefining it here
|
|
+ * #define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+ */
|
|
+
|
|
+#endif
|
|
--- /dev/null
|
|
+++ b/powerpc/usr/include/linux/net_shaper.h
|
|
@@ -0,0 +1,95 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/net_shaper.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_NET_SHAPER_H
|
|
+#define _LINUX_NET_SHAPER_H
|
|
+
|
|
+#define NET_SHAPER_FAMILY_NAME "net-shaper"
|
|
+#define NET_SHAPER_FAMILY_VERSION 1
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_scope - Defines the shaper @id interpretation.
|
|
+ * @NET_SHAPER_SCOPE_UNSPEC: The scope is not specified.
|
|
+ * @NET_SHAPER_SCOPE_NETDEV: The main shaper for the given network device.
|
|
+ * @NET_SHAPER_SCOPE_QUEUE: The shaper is attached to the given device queue,
|
|
+ * the @id represents the queue number.
|
|
+ * @NET_SHAPER_SCOPE_NODE: The shaper allows grouping of queues or other node
|
|
+ * shapers; can be nested in either @netdev shapers or other @node shapers,
|
|
+ * allowing placement in any location of the scheduling tree, except leaves
|
|
+ * and root.
|
|
+ */
|
|
+enum net_shaper_scope {
|
|
+ NET_SHAPER_SCOPE_UNSPEC,
|
|
+ NET_SHAPER_SCOPE_NETDEV,
|
|
+ NET_SHAPER_SCOPE_QUEUE,
|
|
+ NET_SHAPER_SCOPE_NODE,
|
|
+
|
|
+ /* private: */
|
|
+ __NET_SHAPER_SCOPE_MAX,
|
|
+ NET_SHAPER_SCOPE_MAX = (__NET_SHAPER_SCOPE_MAX - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_metric - Different metric supported by the shaper.
|
|
+ * @NET_SHAPER_METRIC_BPS: Shaper operates on a bits per second basis.
|
|
+ * @NET_SHAPER_METRIC_PPS: Shaper operates on a packets per second basis.
|
|
+ */
|
|
+enum net_shaper_metric {
|
|
+ NET_SHAPER_METRIC_BPS,
|
|
+ NET_SHAPER_METRIC_PPS,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE = 1,
|
|
+ NET_SHAPER_A_METRIC,
|
|
+ NET_SHAPER_A_BW_MIN,
|
|
+ NET_SHAPER_A_BW_MAX,
|
|
+ NET_SHAPER_A_BURST,
|
|
+ NET_SHAPER_A_PRIORITY,
|
|
+ NET_SHAPER_A_WEIGHT,
|
|
+ NET_SHAPER_A_IFINDEX,
|
|
+ NET_SHAPER_A_PARENT,
|
|
+ NET_SHAPER_A_LEAVES,
|
|
+
|
|
+ __NET_SHAPER_A_MAX,
|
|
+ NET_SHAPER_A_MAX = (__NET_SHAPER_A_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE_SCOPE = 1,
|
|
+ NET_SHAPER_A_HANDLE_ID,
|
|
+
|
|
+ __NET_SHAPER_A_HANDLE_MAX,
|
|
+ NET_SHAPER_A_HANDLE_MAX = (__NET_SHAPER_A_HANDLE_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_CAPS_IFINDEX = 1,
|
|
+ NET_SHAPER_A_CAPS_SCOPE,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_BPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_PPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_NESTING,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MIN,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MAX,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BURST,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_PRIORITY,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_WEIGHT,
|
|
+
|
|
+ __NET_SHAPER_A_CAPS_MAX,
|
|
+ NET_SHAPER_A_CAPS_MAX = (__NET_SHAPER_A_CAPS_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_CMD_GET = 1,
|
|
+ NET_SHAPER_CMD_SET,
|
|
+ NET_SHAPER_CMD_DELETE,
|
|
+ NET_SHAPER_CMD_GROUP,
|
|
+ NET_SHAPER_CMD_CAP_GET,
|
|
+
|
|
+ __NET_SHAPER_CMD_MAX,
|
|
+ NET_SHAPER_CMD_MAX = (__NET_SHAPER_CMD_MAX - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_NET_SHAPER_H */
|
|
--- a/powerpc/usr/include/linux/net_tstamp.h
|
|
+++ b/powerpc/usr/include/linux/net_tstamp.h
|
|
@@ -13,6 +13,17 @@
|
|
#include <linux/types.h>
|
|
#include <linux/socket.h> /* for SO_TIMESTAMPING */
|
|
|
|
+/*
|
|
+ * Possible type of hwtstamp provider. Mainly "precise" the default one
|
|
+ * is for IEEE 1588 quality and "approx" is for NICs DMA point.
|
|
+ */
|
|
+enum hwtstamp_provider_qualifier {
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_PRECISE,
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_APPROX,
|
|
+
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_CNT,
|
|
+};
|
|
+
|
|
/* SO_TIMESTAMPING flags */
|
|
enum {
|
|
SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
|
|
--- a/powerpc/usr/include/linux/netdev.h
|
|
+++ b/powerpc/usr/include/linux/netdev.h
|
|
@@ -122,6 +122,9 @@ enum {
|
|
NETDEV_A_NAPI_ID,
|
|
NETDEV_A_NAPI_IRQ,
|
|
NETDEV_A_NAPI_PID,
|
|
+ NETDEV_A_NAPI_DEFER_HARD_IRQS,
|
|
+ NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT,
|
|
+ NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT,
|
|
|
|
__NETDEV_A_NAPI_MAX,
|
|
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
|
@@ -199,6 +202,7 @@ enum {
|
|
NETDEV_CMD_NAPI_GET,
|
|
NETDEV_CMD_QSTATS_GET,
|
|
NETDEV_CMD_BIND_RX,
|
|
+ NETDEV_CMD_NAPI_SET,
|
|
|
|
__NETDEV_CMD_MAX,
|
|
NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)
|
|
--- a/powerpc/usr/include/linux/nl80211.h
|
|
+++ b/powerpc/usr/include/linux/nl80211.h
|
|
@@ -4294,6 +4294,8 @@ enum nl80211_wmm_rule {
|
|
* otherwise completely disabled.
|
|
* @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a
|
|
* very low power (VLP) AP, despite being NO_IR.
|
|
+ * @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in
|
|
+ * 20 MHz bandwidth, despite being NO_IR.
|
|
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
|
* currently defined
|
|
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
|
@@ -4338,6 +4340,7 @@ enum nl80211_frequency_attr {
|
|
NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
|
|
NL80211_FREQUENCY_ATTR_CAN_MONITOR,
|
|
NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
|
|
+ NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY,
|
|
|
|
/* keep last */
|
|
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
|
@@ -4549,31 +4552,34 @@ enum nl80211_sched_scan_match_attr {
|
|
* @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed
|
|
* @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted
|
|
* despite NO_IR configuration.
|
|
+ * @NL80211_RRF_ALLOW_20MHZ_ACTIVITY: Allow activity in 20 MHz bandwidth,
|
|
+ * despite NO_IR configuration.
|
|
*/
|
|
enum nl80211_reg_rule_flags {
|
|
- NL80211_RRF_NO_OFDM = 1<<0,
|
|
- NL80211_RRF_NO_CCK = 1<<1,
|
|
- NL80211_RRF_NO_INDOOR = 1<<2,
|
|
- NL80211_RRF_NO_OUTDOOR = 1<<3,
|
|
- NL80211_RRF_DFS = 1<<4,
|
|
- NL80211_RRF_PTP_ONLY = 1<<5,
|
|
- NL80211_RRF_PTMP_ONLY = 1<<6,
|
|
- NL80211_RRF_NO_IR = 1<<7,
|
|
- __NL80211_RRF_NO_IBSS = 1<<8,
|
|
- NL80211_RRF_AUTO_BW = 1<<11,
|
|
- NL80211_RRF_IR_CONCURRENT = 1<<12,
|
|
- NL80211_RRF_NO_HT40MINUS = 1<<13,
|
|
- NL80211_RRF_NO_HT40PLUS = 1<<14,
|
|
- NL80211_RRF_NO_80MHZ = 1<<15,
|
|
- NL80211_RRF_NO_160MHZ = 1<<16,
|
|
- NL80211_RRF_NO_HE = 1<<17,
|
|
- NL80211_RRF_NO_320MHZ = 1<<18,
|
|
- NL80211_RRF_NO_EHT = 1<<19,
|
|
- NL80211_RRF_PSD = 1<<20,
|
|
- NL80211_RRF_DFS_CONCURRENT = 1<<21,
|
|
- NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22,
|
|
- NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23,
|
|
- NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24,
|
|
+ NL80211_RRF_NO_OFDM = 1 << 0,
|
|
+ NL80211_RRF_NO_CCK = 1 << 1,
|
|
+ NL80211_RRF_NO_INDOOR = 1 << 2,
|
|
+ NL80211_RRF_NO_OUTDOOR = 1 << 3,
|
|
+ NL80211_RRF_DFS = 1 << 4,
|
|
+ NL80211_RRF_PTP_ONLY = 1 << 5,
|
|
+ NL80211_RRF_PTMP_ONLY = 1 << 6,
|
|
+ NL80211_RRF_NO_IR = 1 << 7,
|
|
+ __NL80211_RRF_NO_IBSS = 1 << 8,
|
|
+ NL80211_RRF_AUTO_BW = 1 << 11,
|
|
+ NL80211_RRF_IR_CONCURRENT = 1 << 12,
|
|
+ NL80211_RRF_NO_HT40MINUS = 1 << 13,
|
|
+ NL80211_RRF_NO_HT40PLUS = 1 << 14,
|
|
+ NL80211_RRF_NO_80MHZ = 1 << 15,
|
|
+ NL80211_RRF_NO_160MHZ = 1 << 16,
|
|
+ NL80211_RRF_NO_HE = 1 << 17,
|
|
+ NL80211_RRF_NO_320MHZ = 1 << 18,
|
|
+ NL80211_RRF_NO_EHT = 1 << 19,
|
|
+ NL80211_RRF_PSD = 1 << 20,
|
|
+ NL80211_RRF_DFS_CONCURRENT = 1 << 21,
|
|
+ NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22,
|
|
+ NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23,
|
|
+ NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24,
|
|
+ NL80211_RRF_ALLOW_20MHZ_ACTIVITY = 1 << 25,
|
|
};
|
|
|
|
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
|
|
--- a/powerpc/usr/include/linux/pci_regs.h
|
|
+++ b/powerpc/usr/include/linux/pci_regs.h
|
|
@@ -340,7 +340,8 @@
|
|
#define PCI_MSIX_ENTRY_UPPER_ADDR 0x4 /* Message Upper Address */
|
|
#define PCI_MSIX_ENTRY_DATA 0x8 /* Message Data */
|
|
#define PCI_MSIX_ENTRY_VECTOR_CTRL 0xc /* Vector Control */
|
|
-#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001
|
|
+#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001 /* Mask Bit */
|
|
+#define PCI_MSIX_ENTRY_CTRL_ST 0xffff0000 /* Steering Tag */
|
|
|
|
/* CompactPCI Hotswap Register */
|
|
|
|
@@ -659,6 +660,7 @@
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP64 0x00000100 /* 64b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP128 0x00000200 /* 128b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_LTR 0x00000800 /* Latency tolerance reporting */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_MASK 0x00003000 /* TPH completer support */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000 /* OBFF support mechanism */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000 /* New message signaling */
|
|
#define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
|
|
@@ -1023,15 +1025,34 @@
|
|
#define PCI_DPA_CAP_SUBSTATE_MASK 0x1F /* # substates - 1 */
|
|
#define PCI_DPA_BASE_SIZEOF 16 /* size with 0 substates */
|
|
|
|
+/* TPH Completer Support */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_NONE 0x0 /* None */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_TPH_ONLY 0x1 /* TPH only */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_EXT_TPH 0x3 /* TPH and Extended TPH */
|
|
+
|
|
/* TPH Requester */
|
|
#define PCI_TPH_CAP 4 /* capability register */
|
|
-#define PCI_TPH_CAP_LOC_MASK 0x600 /* location mask */
|
|
-#define PCI_TPH_LOC_NONE 0x000 /* no location */
|
|
-#define PCI_TPH_LOC_CAP 0x200 /* in capability */
|
|
-#define PCI_TPH_LOC_MSIX 0x400 /* in MSI-X */
|
|
-#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST table mask */
|
|
-#define PCI_TPH_CAP_ST_SHIFT 16 /* ST table shift */
|
|
-#define PCI_TPH_BASE_SIZEOF 0xc /* size with no ST table */
|
|
+#define PCI_TPH_CAP_ST_NS 0x00000001 /* No ST Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_IV 0x00000002 /* Interrupt Vector Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_DS 0x00000004 /* Device Specific Mode Supported */
|
|
+#define PCI_TPH_CAP_EXT_TPH 0x00000100 /* Ext TPH Requester Supported */
|
|
+#define PCI_TPH_CAP_LOC_MASK 0x00000600 /* ST Table Location */
|
|
+#define PCI_TPH_LOC_NONE 0x00000000 /* Not present */
|
|
+#define PCI_TPH_LOC_CAP 0x00000200 /* In capability */
|
|
+#define PCI_TPH_LOC_MSIX 0x00000400 /* In MSI-X */
|
|
+#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST Table Size */
|
|
+#define PCI_TPH_CAP_ST_SHIFT 16 /* ST Table Size shift */
|
|
+#define PCI_TPH_BASE_SIZEOF 0xc /* Size with no ST table */
|
|
+
|
|
+#define PCI_TPH_CTRL 8 /* control register */
|
|
+#define PCI_TPH_CTRL_MODE_SEL_MASK 0x00000007 /* ST Mode Select */
|
|
+#define PCI_TPH_ST_NS_MODE 0x0 /* No ST Mode */
|
|
+#define PCI_TPH_ST_IV_MODE 0x1 /* Interrupt Vector Mode */
|
|
+#define PCI_TPH_ST_DS_MODE 0x2 /* Device Specific Mode */
|
|
+#define PCI_TPH_CTRL_REQ_EN_MASK 0x00000300 /* TPH Requester Enable */
|
|
+#define PCI_TPH_REQ_DISABLE 0x0 /* No TPH requests allowed */
|
|
+#define PCI_TPH_REQ_TPH_ONLY 0x1 /* TPH only requests allowed */
|
|
+#define PCI_TPH_REQ_EXT_TPH 0x3 /* Extended TPH requests allowed */
|
|
|
|
/* Downstream Port Containment */
|
|
#define PCI_EXP_DPC_CAP 0x04 /* DPC Capability */
|
|
--- a/powerpc/usr/include/linux/perf_event.h
|
|
+++ b/powerpc/usr/include/linux/perf_event.h
|
|
@@ -385,6 +385,8 @@ enum perf_event_read_format {
|
|
*
|
|
* @sample_max_stack: Max number of frame pointers in a callchain,
|
|
* should be < /proc/sys/kernel/perf_event_max_stack
|
|
+ * Max number of entries of branch stack
|
|
+ * should be < hardware limit
|
|
*/
|
|
struct perf_event_attr {
|
|
|
|
@@ -511,7 +513,16 @@ struct perf_event_attr {
|
|
__u16 sample_max_stack;
|
|
__u16 __reserved_2;
|
|
__u32 aux_sample_size;
|
|
- __u32 __reserved_3;
|
|
+
|
|
+ union {
|
|
+ __u32 aux_action;
|
|
+ struct {
|
|
+ __u32 aux_start_paused : 1, /* start AUX area tracing paused */
|
|
+ aux_pause : 1, /* on overflow, pause AUX area tracing */
|
|
+ aux_resume : 1, /* on overflow, resume AUX area tracing */
|
|
+ __reserved_3 : 29;
|
|
+ };
|
|
+ };
|
|
|
|
/*
|
|
* User provided data if sigtrap=1, passed back to user via
|
|
--- a/powerpc/usr/include/linux/pfrut.h
|
|
+++ b/powerpc/usr/include/linux/pfrut.h
|
|
@@ -89,6 +89,7 @@ struct pfru_payload_hdr {
|
|
__u32 hw_ver;
|
|
__u32 rt_ver;
|
|
__u8 platform_id[16];
|
|
+ __u32 svn_ver;
|
|
};
|
|
|
|
enum pfru_dsm_status {
|
|
--- a/powerpc/usr/include/linux/pidfd.h
|
|
+++ b/powerpc/usr/include/linux/pidfd.h
|
|
@@ -16,6 +16,56 @@
|
|
#define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1)
|
|
#define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2)
|
|
|
|
+/* Flags for pidfd_info. */
|
|
+#define PIDFD_INFO_PID (1UL << 0) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CREDS (1UL << 1) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CGROUPID (1UL << 2) /* Always returned if available, even if not requested */
|
|
+#define PIDFD_INFO_EXIT (1UL << 3) /* Only returned if requested. */
|
|
+
|
|
+#define PIDFD_INFO_SIZE_VER0 64 /* sizeof first published struct */
|
|
+
|
|
+struct pidfd_info {
|
|
+ /*
|
|
+ * This mask is similar to the request_mask in statx(2).
|
|
+ *
|
|
+ * Userspace indicates what extensions or expensive-to-calculate fields
|
|
+ * they want by setting the corresponding bits in mask. The kernel
|
|
+ * will ignore bits that it does not know about.
|
|
+ *
|
|
+ * When filling the structure, the kernel will only set bits
|
|
+ * corresponding to the fields that were actually filled by the kernel.
|
|
+ * This also includes any future extensions that might be automatically
|
|
+ * filled. If the structure size is too small to contain a field
|
|
+ * (requested or not), to avoid confusion the mask will not
|
|
+ * contain a bit for that field.
|
|
+ *
|
|
+ * As such, userspace MUST verify that mask contains the
|
|
+ * corresponding flags after the ioctl(2) returns to ensure that it is
|
|
+ * using valid data.
|
|
+ */
|
|
+ __u64 mask;
|
|
+ /*
|
|
+ * The information contained in the following fields might be stale at the
|
|
+ * time it is received, as the target process might have exited as soon as
|
|
+ * the IOCTL was processed, and there is no way to avoid that. However, it
|
|
+ * is guaranteed that if the call was successful, then the information was
|
|
+ * correct and referred to the intended process at the time the work was
|
|
+ * performed. */
|
|
+ __u64 cgroupid;
|
|
+ __u32 pid;
|
|
+ __u32 tgid;
|
|
+ __u32 ppid;
|
|
+ __u32 ruid;
|
|
+ __u32 rgid;
|
|
+ __u32 euid;
|
|
+ __u32 egid;
|
|
+ __u32 suid;
|
|
+ __u32 sgid;
|
|
+ __u32 fsuid;
|
|
+ __u32 fsgid;
|
|
+ __s32 exit_code;
|
|
+};
|
|
+
|
|
#define PIDFS_IOCTL_MAGIC 0xFF
|
|
|
|
#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1)
|
|
@@ -28,5 +78,6 @@
|
|
#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8)
|
|
#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9)
|
|
#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10)
|
|
+#define PIDFD_GET_INFO _IOWR(PIDFS_IOCTL_MAGIC, 11, struct pidfd_info)
|
|
|
|
#endif /* _LINUX_PIDFD_H */
|
|
--- a/powerpc/usr/include/linux/psci.h
|
|
+++ b/powerpc/usr/include/linux/psci.h
|
|
@@ -59,6 +59,7 @@
|
|
#define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18)
|
|
#define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19)
|
|
#define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(20)
|
|
+#define PSCI_1_3_FN_SYSTEM_OFF2 PSCI_0_2_FN(21)
|
|
|
|
#define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12)
|
|
#define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13)
|
|
@@ -68,6 +69,7 @@
|
|
|
|
#define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18)
|
|
#define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(20)
|
|
+#define PSCI_1_3_FN64_SYSTEM_OFF2 PSCI_0_2_FN64(21)
|
|
|
|
/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
|
|
#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
|
|
@@ -100,6 +102,9 @@
|
|
#define PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET 0
|
|
#define PSCI_1_1_RESET_TYPE_VENDOR_START 0x80000000U
|
|
|
|
+/* PSCI v1.3 hibernate type for SYSTEM_OFF2 */
|
|
+#define PSCI_1_3_OFF_TYPE_HIBERNATE_OFF BIT(0)
|
|
+
|
|
/* PSCI version decoding (independent of PSCI version) */
|
|
#define PSCI_VERSION_MAJOR_SHIFT 16
|
|
#define PSCI_VERSION_MINOR_MASK \
|
|
--- a/powerpc/usr/include/linux/psp-sev.h
|
|
+++ b/powerpc/usr/include/linux/psp-sev.h
|
|
@@ -73,13 +73,20 @@ typedef enum {
|
|
SEV_RET_INVALID_PARAM,
|
|
SEV_RET_RESOURCE_LIMIT,
|
|
SEV_RET_SECURE_DATA_INVALID,
|
|
- SEV_RET_INVALID_KEY = 0x27,
|
|
- SEV_RET_INVALID_PAGE_SIZE,
|
|
- SEV_RET_INVALID_PAGE_STATE,
|
|
- SEV_RET_INVALID_MDATA_ENTRY,
|
|
- SEV_RET_INVALID_PAGE_OWNER,
|
|
- SEV_RET_INVALID_PAGE_AEAD_OFLOW,
|
|
- SEV_RET_RMP_INIT_REQUIRED,
|
|
+ SEV_RET_INVALID_PAGE_SIZE = 0x0019,
|
|
+ SEV_RET_INVALID_PAGE_STATE = 0x001A,
|
|
+ SEV_RET_INVALID_MDATA_ENTRY = 0x001B,
|
|
+ SEV_RET_INVALID_PAGE_OWNER = 0x001C,
|
|
+ SEV_RET_AEAD_OFLOW = 0x001D,
|
|
+ SEV_RET_EXIT_RING_BUFFER = 0x001F,
|
|
+ SEV_RET_RMP_INIT_REQUIRED = 0x0020,
|
|
+ SEV_RET_BAD_SVN = 0x0021,
|
|
+ SEV_RET_BAD_VERSION = 0x0022,
|
|
+ SEV_RET_SHUTDOWN_REQUIRED = 0x0023,
|
|
+ SEV_RET_UPDATE_FAILED = 0x0024,
|
|
+ SEV_RET_RESTORE_REQUIRED = 0x0025,
|
|
+ SEV_RET_RMP_INITIALIZATION_FAILED = 0x0026,
|
|
+ SEV_RET_INVALID_KEY = 0x0027,
|
|
SEV_RET_MAX,
|
|
} sev_ret_code;
|
|
|
|
--- a/powerpc/usr/include/linux/raid/md_p.h
|
|
+++ b/powerpc/usr/include/linux/raid/md_p.h
|
|
@@ -85,6 +85,7 @@
|
|
* devices available - and don't try to
|
|
* correct read errors.
|
|
*/
|
|
+#define MD_DISK_TIMEOUT 11 /* disk is faulty due to timeout */
|
|
|
|
#define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
|
|
* read requests will only be sent here in
|
|
@@ -95,6 +96,7 @@
|
|
#define MD_DISK_ROLE_SPARE 0xffff
|
|
#define MD_DISK_ROLE_FAULTY 0xfffe
|
|
#define MD_DISK_ROLE_JOURNAL 0xfffd
|
|
+#define MD_DISK_ROLE_TIMEOUT 0xfff0 /* SUSE-only timed-out */
|
|
#define MD_DISK_ROLE_MAX 0xff00 /* max value of regular disk role */
|
|
|
|
typedef struct mdp_device_descriptor_s {
|
|
@@ -233,7 +235,7 @@ struct mdp_superblock_1 {
|
|
char set_name[32]; /* set and interpreted by user-space */
|
|
|
|
__le64 ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/
|
|
- __le32 level; /* 0,1,4,5 */
|
|
+ __le32 level; /* 0,1,4,5, -1 (linear) */
|
|
__le32 layout; /* only for raid5 and raid10 currently */
|
|
__le64 size; /* used size of component devices, in 512byte sectors */
|
|
|
|
--- a/powerpc/usr/include/linux/raid/md_u.h
|
|
+++ b/powerpc/usr/include/linux/raid/md_u.h
|
|
@@ -103,6 +103,8 @@ typedef struct mdu_array_info_s {
|
|
|
|
} mdu_array_info_t;
|
|
|
|
+#define LEVEL_LINEAR (-1)
|
|
+
|
|
/* we need a value for 'no level specified' and 0
|
|
* means 'raid0', so we need something else. This is
|
|
* for internal use only
|
|
--- a/powerpc/usr/include/linux/rkisp1-config.h
|
|
+++ b/powerpc/usr/include/linux/rkisp1-config.h
|
|
@@ -1528,7 +1528,7 @@ enum rksip1_ext_param_buffer_version {
|
|
* The expected memory layout of the parameters buffer is::
|
|
*
|
|
* +-------------------- struct rkisp1_ext_params_cfg -------------------+
|
|
- * | version = RKISP_EXT_PARAMS_BUFFER_V1; |
|
|
+ * | version = RKISP1_EXT_PARAM_BUFFER_V1; |
|
|
* | data_size = sizeof(struct rkisp1_ext_params_bls_config) |
|
|
* | + sizeof(struct rkisp1_ext_params_dpcc_config); |
|
|
* | +------------------------- data ---------------------------------+ |
|
|
--- a/powerpc/usr/include/linux/rtnetlink.h
|
|
+++ b/powerpc/usr/include/linux/rtnetlink.h
|
|
@@ -174,7 +174,7 @@ enum {
|
|
#define RTM_GETLINKPROP RTM_GETLINKPROP
|
|
|
|
RTM_NEWVLAN = 112,
|
|
-#define RTM_NEWNVLAN RTM_NEWVLAN
|
|
+#define RTM_NEWVLAN RTM_NEWVLAN
|
|
RTM_DELVLAN,
|
|
#define RTM_DELVLAN RTM_DELVLAN
|
|
RTM_GETVLAN,
|
|
--- a/powerpc/usr/include/linux/sed-opal.h
|
|
+++ b/powerpc/usr/include/linux/sed-opal.h
|
|
@@ -215,5 +215,6 @@ struct opal_revert_lsp {
|
|
#define IOC_OPAL_GET_GEOMETRY _IOR('p', 238, struct opal_geometry)
|
|
#define IOC_OPAL_DISCOVERY _IOW('p', 239, struct opal_discovery)
|
|
#define IOC_OPAL_REVERT_LSP _IOW('p', 240, struct opal_revert_lsp)
|
|
+#define IOC_OPAL_SET_SID_PW _IOW('p', 241, struct opal_new_pw)
|
|
|
|
#endif /* _SED_OPAL_H */
|
|
--- a/powerpc/usr/include/linux/stddef.h
|
|
+++ b/powerpc/usr/include/linux/stddef.h
|
|
@@ -8,6 +8,13 @@
|
|
#define __always_inline __inline__
|
|
#endif
|
|
|
|
+/* Not all C++ standards support type declarations inside an anonymous union */
|
|
+#ifndef __cplusplus
|
|
+#define __struct_group_tag(TAG) TAG
|
|
+#else
|
|
+#define __struct_group_tag(TAG)
|
|
+#endif
|
|
+
|
|
/**
|
|
* __struct_group() - Create a mirrored named and anonyomous struct
|
|
*
|
|
@@ -20,13 +27,13 @@
|
|
* and size: one anonymous and one named. The former's members can be used
|
|
* normally without sub-struct naming, and the latter can be used to
|
|
* reason about the start, end, and size of the group of struct members.
|
|
- * The named struct can also be explicitly tagged for layer reuse, as well
|
|
- * as both having struct attributes appended.
|
|
+ * The named struct can also be explicitly tagged for layer reuse (C only),
|
|
+ * as well as both having struct attributes appended.
|
|
*/
|
|
#define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
|
|
union { \
|
|
struct { MEMBERS } ATTRS; \
|
|
- struct TAG { MEMBERS } ATTRS NAME; \
|
|
+ struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \
|
|
} ATTRS
|
|
|
|
#ifdef __cplusplus
|
|
--- a/powerpc/usr/include/linux/types.h
|
|
+++ b/powerpc/usr/include/linux/types.h
|
|
@@ -48,6 +48,7 @@ typedef __u32 __bitwise __wsum;
|
|
* No conversions are necessary between 32-bit user-space and a 64-bit kernel.
|
|
*/
|
|
#define __aligned_u64 __u64 __attribute__((aligned(8)))
|
|
+#define __aligned_s64 __s64 __attribute__((aligned(8)))
|
|
#define __aligned_be64 __be64 __attribute__((aligned(8)))
|
|
#define __aligned_le64 __le64 __attribute__((aligned(8)))
|
|
|
|
--- a/powerpc/usr/include/linux/usb/ch9.h
|
|
+++ b/powerpc/usr/include/linux/usb/ch9.h
|
|
@@ -253,6 +253,9 @@ struct usb_ctrlrequest {
|
|
#define USB_DT_BOS 0x0f
|
|
#define USB_DT_DEVICE_CAPABILITY 0x10
|
|
#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11
|
|
+/* From the eUSB2 spec */
|
|
+#define USB_DT_EUSB2_ISOC_ENDPOINT_COMP 0x12
|
|
+/* From Wireless USB spec */
|
|
#define USB_DT_WIRE_ADAPTER 0x21
|
|
/* From USB Device Firmware Upgrade Specification, Revision 1.1 */
|
|
#define USB_DT_DFU_FUNCTIONAL 0x21
|
|
@@ -330,6 +333,7 @@ struct usb_device_descriptor {
|
|
#define USB_CLASS_AUDIO_VIDEO 0x10
|
|
#define USB_CLASS_BILLBOARD 0x11
|
|
#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
|
|
+#define USB_CLASS_MCTP 0x14
|
|
#define USB_CLASS_MISC 0xef
|
|
#define USB_CLASS_APP_SPEC 0xfe
|
|
#define USB_SUBCLASS_DFU 0x01
|
|
@@ -675,6 +679,18 @@ static __inline__ int usb_endpoint_inter
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
+/* USB_DT_EUSB2_ISOC_ENDPOINT_COMP: eUSB2 Isoch Endpoint Companion descriptor */
|
|
+struct usb_eusb2_isoc_ep_comp_descriptor {
|
|
+ __u8 bLength;
|
|
+ __u8 bDescriptorType;
|
|
+ __le16 wMaxPacketSize;
|
|
+ __le32 dwBytesPerInterval;
|
|
+} __attribute__ ((packed));
|
|
+
|
|
+#define USB_DT_EUSB2_ISOC_EP_COMP_SIZE 8
|
|
+
|
|
+/*-------------------------------------------------------------------------*/
|
|
+
|
|
/* USB_DT_SSP_ISOC_ENDPOINT_COMP: SuperSpeedPlus Isochronous Endpoint Companion
|
|
* descriptor
|
|
*/
|
|
--- a/powerpc/usr/include/linux/usb/functionfs.h
|
|
+++ b/powerpc/usr/include/linux/usb/functionfs.h
|
|
@@ -205,7 +205,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -223,7 +223,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -236,7 +236,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* | 11 | ExtProp[] | | list of ext. prop. d. |
|
|
* +-----+-----------------+------+--------------------------+
|
|
*
|
|
- * ExtCompat[] is an array of valid Extended Compatiblity descriptors
|
|
+ * ExtCompat[] is an array of valid Extended Compatibility descriptors
|
|
* which have the following format:
|
|
*
|
|
* +-----+-----------------------+------+-------------------------------------+
|
|
@@ -294,7 +294,7 @@ struct usb_functionfs_strings_head {
|
|
* | 16 | stringtab | StringTab[lang_count] | table of strings per lang |
|
|
*
|
|
* For each language there is one stringtab entry (ie. there are lang_count
|
|
- * stringtab entires). Each StringTab has following format:
|
|
+ * stringtab entries). Each StringTab has following format:
|
|
*
|
|
* | off | name | type | description |
|
|
* |-----+---------+-------------------+------------------------------------|
|
|
--- a/powerpc/usr/include/linux/vhost.h
|
|
+++ b/powerpc/usr/include/linux/vhost.h
|
|
@@ -235,4 +235,33 @@
|
|
*/
|
|
#define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \
|
|
struct vhost_vring_state)
|
|
+
|
|
+/* fork_owner values for vhost */
|
|
+#define VHOST_FORK_OWNER_KTHREAD 0
|
|
+#define VHOST_FORK_OWNER_TASK 1
|
|
+
|
|
+/**
|
|
+ * VHOST_SET_FORK_FROM_OWNER - Set the fork_owner flag for the vhost device,
|
|
+ * This ioctl must called before VHOST_SET_OWNER.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @param fork_owner: An 8-bit value that determines the vhost thread mode
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_TASK(default value):
|
|
+ * - Vhost will create vhost worker as tasks forked from the owner,
|
|
+ * inheriting all of the owner's attributes.
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_KTHREAD:
|
|
+ * - Vhost will create vhost workers as kernel threads.
|
|
+ */
|
|
+#define VHOST_SET_FORK_FROM_OWNER _IOW(VHOST_VIRTIO, 0x84, __u8)
|
|
+
|
|
+/**
|
|
+ * VHOST_GET_FORK_OWNER - Get the current fork_owner flag for the vhost device.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @return: An 8-bit value indicating the current thread mode.
|
|
+ */
|
|
+#define VHOST_GET_FORK_FROM_OWNER _IOR(VHOST_VIRTIO, 0x85, __u8)
|
|
+
|
|
#endif
|
|
--- a/powerpc/usr/include/linux/videodev2.h
|
|
+++ b/powerpc/usr/include/linux/videodev2.h
|
|
@@ -771,6 +771,7 @@ struct v4l2_pix_format {
|
|
#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
|
|
#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
|
|
+#define V4L2_PIX_FMT_Y16I v4l2_fourcc('Y', '1', '6', 'I') /* Greyscale 16-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
|
|
#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
|
|
#define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */
|
|
@@ -832,6 +833,8 @@ struct v4l2_pix_format {
|
|
|
|
/* Vendor specific - used for RaspberryPi PiSP */
|
|
#define V4L2_META_FMT_RPI_BE_CFG v4l2_fourcc('R', 'P', 'B', 'C') /* PiSP BE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_CFG v4l2_fourcc('R', 'P', 'F', 'C') /* PiSP FE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_STATS v4l2_fourcc('R', 'P', 'F', 'S') /* PiSP FE stats */
|
|
|
|
|
|
/* priv field value to indicates that subsequent fields are valid. */
|
|
--- a/powerpc/usr/include/linux/xfrm.h
|
|
+++ b/powerpc/usr/include/linux/xfrm.h
|
|
@@ -322,6 +322,7 @@ enum xfrm_attr_type_t {
|
|
XFRMA_MTIMER_THRESH, /* __u32 in seconds for input SA */
|
|
XFRMA_SA_DIR, /* __u8 */
|
|
XFRMA_NAT_KEEPALIVE_INTERVAL, /* __u32 in seconds for NAT keepalive */
|
|
+ XFRMA_SA_PCPU, /* __u32 */
|
|
__XFRMA_MAX
|
|
|
|
#define XFRMA_OUTPUT_MARK XFRMA_SET_MARK /* Compatibility */
|
|
@@ -437,6 +438,7 @@ struct xfrm_userpolicy_info {
|
|
#define XFRM_POLICY_LOCALOK 1 /* Allow user to override global policy */
|
|
/* Automatically expand selector to include matching ICMP payloads. */
|
|
#define XFRM_POLICY_ICMP 2
|
|
+#define XFRM_POLICY_CPU_ACQUIRE 4
|
|
__u8 share;
|
|
};
|
|
|
|
--- a/powerpc/usr/include/rdma/efa-abi.h
|
|
+++ b/powerpc/usr/include/rdma/efa-abi.h
|
|
@@ -95,7 +95,8 @@ struct efa_ibv_create_qp {
|
|
__u32 sq_ring_size; /* bytes */
|
|
__u32 driver_qp_type;
|
|
__u16 flags;
|
|
- __u8 reserved_90[6];
|
|
+ __u8 sl;
|
|
+ __u8 reserved_98[5];
|
|
};
|
|
|
|
struct efa_ibv_create_qp_resp {
|
|
--- a/powerpc/usr/include/rdma/mlx5-abi.h
|
|
+++ b/powerpc/usr/include/rdma/mlx5-abi.h
|
|
@@ -252,6 +252,7 @@ enum mlx5_ib_query_dev_resp_flags {
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1,
|
|
MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE = 1 << 2,
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT = 1 << 3,
|
|
+ MLX5_IB_QUERY_DEV_RESP_FLAGS_OOO_DP = 1 << 4,
|
|
};
|
|
|
|
enum mlx5_ib_tunnel_offloads {
|
|
@@ -439,6 +440,10 @@ struct mlx5_ib_burst_info {
|
|
__u16 reserved;
|
|
};
|
|
|
|
+enum mlx5_ib_modify_qp_mask {
|
|
+ MLX5_IB_MODIFY_QP_OOO_DP = 1 << 0,
|
|
+};
|
|
+
|
|
struct mlx5_ib_modify_qp {
|
|
__u32 comp_mask;
|
|
struct mlx5_ib_burst_info burst_info;
|
|
--- a/powerpc/usr/include/rdma/rdma_netlink.h
|
|
+++ b/powerpc/usr/include/rdma/rdma_netlink.h
|
|
@@ -638,6 +638,8 @@ enum rdma_nl_notify_event_type {
|
|
RDMA_UNREGISTER_EVENT,
|
|
RDMA_NETDEV_ATTACH_EVENT,
|
|
RDMA_NETDEV_DETACH_EVENT,
|
|
+ RDMA_RENAME_EVENT,
|
|
+ RDMA_NETDEV_RENAME_EVENT,
|
|
};
|
|
|
|
#endif /* _RDMA_NETLINK_H */
|
|
--- a/powerpc/usr/include/scsi/fc/fc_els.h
|
|
+++ b/powerpc/usr/include/scsi/fc/fc_els.h
|
|
@@ -11,6 +11,8 @@
|
|
#include <linux/types.h>
|
|
#include <asm/byteorder.h>
|
|
|
|
+#include <stddef.h> /* for offsetof */
|
|
+
|
|
/*
|
|
* Fibre Channel Switch - Enhanced Link Services definitions.
|
|
* From T11 FC-LS Rev 1.2 June 7, 2005.
|
|
@@ -1109,12 +1111,15 @@ struct fc_els_fpin {
|
|
|
|
/* Diagnostic Function Descriptor - FPIN Registration */
|
|
struct fc_df_desc_fpin_reg {
|
|
- __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
- __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
- * Size of descriptor excluding
|
|
- * desc_tag and desc_len fields.
|
|
- */
|
|
- __be32 count; /* Number of desc_tags elements */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_df_desc_fpin_reg_hdr, __hdr, /* no attrs */,
|
|
+ __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
+ __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
+ * Size of descriptor excluding
|
|
+ * desc_tag and desc_len fields.
|
|
+ */
|
|
+ __be32 count; /* Number of desc_tags elements */
|
|
+ );
|
|
__be32 desc_tags[]; /* Array of Descriptor Tags.
|
|
* Each tag indicates a function
|
|
* supported by the N_Port (request)
|
|
@@ -1124,33 +1129,44 @@ struct fc_df_desc_fpin_reg {
|
|
* See ELS_FN_DTAG_xxx for tag values.
|
|
*/
|
|
};
|
|
+_Static_assert(offsetof(struct fc_df_desc_fpin_reg, desc_tags) == sizeof(struct fc_df_desc_fpin_reg_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS_RDF - Register Diagnostic Functions
|
|
*/
|
|
struct fc_els_rdf {
|
|
- __u8 fpin_cmd; /* command (0x19) */
|
|
- __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
- __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
- * Size of ELS excluding fpin_cmd,
|
|
- * fpin_zero and desc_len fields.
|
|
- */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_hdr, __hdr, /* no attrs */,
|
|
+ __u8 fpin_cmd; /* command (0x19) */
|
|
+ __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
+ __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
+ * Size of ELS excluding fpin_cmd,
|
|
+ * fpin_zero and desc_len fields.
|
|
+ */
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Descriptor list */
|
|
};
|
|
+_Static_assert(offsetof(struct fc_els_rdf, desc) == sizeof(struct fc_els_rdf_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS RDF LS_ACC Response.
|
|
*/
|
|
struct fc_els_rdf_resp {
|
|
- struct fc_els_ls_acc acc_hdr;
|
|
- __be32 desc_list_len; /* Length of response (in
|
|
- * bytes). Excludes acc_hdr
|
|
- * and desc_list_len fields.
|
|
- */
|
|
- struct fc_els_lsri_desc lsri;
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_resp_hdr, __hdr, /* no attrs */,
|
|
+ struct fc_els_ls_acc acc_hdr;
|
|
+ __be32 desc_list_len; /* Length of response (in
|
|
+ * bytes). Excludes acc_hdr
|
|
+ * and desc_list_len fields.
|
|
+ */
|
|
+ struct fc_els_lsri_desc lsri;
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Supported Descriptor list */
|
|
};
|
|
-
|
|
+_Static_assert(offsetof(struct fc_els_rdf_resp, desc) == sizeof(struct fc_els_rdf_resp_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* Diagnostic Capability Descriptors for EDC ELS
|
|
--- a/riscv/usr/include/asm-generic/mman-common.h
|
|
+++ b/riscv/usr/include/asm-generic/mman-common.h
|
|
@@ -79,6 +79,9 @@
|
|
|
|
#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */
|
|
|
|
+#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */
|
|
+#define MADV_GUARD_REMOVE 103 /* unguard range */
|
|
+
|
|
/* compatibility flags */
|
|
#define MAP_FILE 0
|
|
|
|
--- a/riscv/usr/include/asm/kvm.h
|
|
+++ b/riscv/usr/include/asm/kvm.h
|
|
@@ -194,6 +194,7 @@ enum KVM_RISCV_SBI_EXT_ID {
|
|
KVM_RISCV_SBI_EXT_VENDOR,
|
|
KVM_RISCV_SBI_EXT_DBCN,
|
|
KVM_RISCV_SBI_EXT_STA,
|
|
+ KVM_RISCV_SBI_EXT_SUSP,
|
|
KVM_RISCV_SBI_EXT_MAX,
|
|
};
|
|
|
|
--- a/riscv/usr/include/linux/devlink.h
|
|
+++ b/riscv/usr/include/linux/devlink.h
|
|
@@ -385,6 +385,21 @@ enum devlink_linecard_state {
|
|
DEVLINK_LINECARD_STATE_MAX = __DEVLINK_LINECARD_STATE_MAX - 1
|
|
};
|
|
|
|
+/* Variable attribute type. */
|
|
+enum devlink_var_attr_type {
|
|
+ /* Following values relate to the internal NLA_* values */
|
|
+ DEVLINK_VAR_ATTR_TYPE_U8 = 1,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U16,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U32,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U64,
|
|
+ DEVLINK_VAR_ATTR_TYPE_STRING,
|
|
+ DEVLINK_VAR_ATTR_TYPE_FLAG,
|
|
+ DEVLINK_VAR_ATTR_TYPE_NUL_STRING = 10,
|
|
+ DEVLINK_VAR_ATTR_TYPE_BINARY,
|
|
+ __DEVLINK_VAR_ATTR_TYPE_CUSTOM_BASE = 0x80,
|
|
+ /* Any possible custom types, unrelated to NLA_* values go below */
|
|
+};
|
|
+
|
|
enum devlink_attr {
|
|
/* don't change the order or add anything between, this is ABI! */
|
|
DEVLINK_ATTR_UNSPEC,
|
|
--- a/riscv/usr/include/linux/dm-ioctl.h
|
|
+++ b/riscv/usr/include/linux/dm-ioctl.h
|
|
@@ -286,9 +286,9 @@ enum {
|
|
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
|
|
|
#define DM_VERSION_MAJOR 4
|
|
-#define DM_VERSION_MINOR 48
|
|
+#define DM_VERSION_MINOR 49
|
|
#define DM_VERSION_PATCHLEVEL 0
|
|
-#define DM_VERSION_EXTRA "-ioctl (2023-03-01)"
|
|
+#define DM_VERSION_EXTRA "-ioctl (2025-01-17)"
|
|
|
|
/* Status bits */
|
|
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
|
--- a/riscv/usr/include/linux/dpll.h
|
|
+++ b/riscv/usr/include/linux/dpll.h
|
|
@@ -79,6 +79,29 @@ enum dpll_lock_status_error {
|
|
DPLL_LOCK_STATUS_ERROR_MAX = (__DPLL_LOCK_STATUS_ERROR_MAX - 1)
|
|
};
|
|
|
|
+/**
|
|
+ * enum dpll_clock_quality_level - level of quality of a clock device. This
|
|
+ * mainly applies when the dpll lock-status is DPLL_LOCK_STATUS_HOLDOVER. The
|
|
+ * current list is defined according to the table 11-7 contained in ITU-T
|
|
+ * G.8264/Y.1364 document. One may extend this list freely by other ITU-T
|
|
+ * defined clock qualities, or different ones defined by another
|
|
+ * standardization body (for those, please use different prefix).
|
|
+ */
|
|
+enum dpll_clock_quality_level {
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRC = 1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_A,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_B,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEC1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEEC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRC,
|
|
+
|
|
+ /* private: */
|
|
+ __DPLL_CLOCK_QUALITY_LEVEL_MAX,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_MAX = (__DPLL_CLOCK_QUALITY_LEVEL_MAX - 1)
|
|
+};
|
|
+
|
|
#define DPLL_TEMP_DIVIDER 1000
|
|
|
|
/**
|
|
@@ -180,6 +203,7 @@ enum dpll_a {
|
|
DPLL_A_TEMP,
|
|
DPLL_A_TYPE,
|
|
DPLL_A_LOCK_STATUS_ERROR,
|
|
+ DPLL_A_CLOCK_QUALITY_LEVEL,
|
|
|
|
__DPLL_A_MAX,
|
|
DPLL_A_MAX = (__DPLL_A_MAX - 1)
|
|
--- a/riscv/usr/include/linux/ethtool.h
|
|
+++ b/riscv/usr/include/linux/ethtool.h
|
|
@@ -679,6 +679,8 @@ enum ethtool_link_ext_substate_module {
|
|
* @ETH_SS_STATS_ETH_MAC: names of IEEE 802.3 MAC statistics
|
|
* @ETH_SS_STATS_ETH_CTRL: names of IEEE 802.3 MAC Control statistics
|
|
* @ETH_SS_STATS_RMON: names of RMON statistics
|
|
+ * @ETH_SS_STATS_PHY: names of PHY(dev) statistics
|
|
+ * @ETH_SS_TS_FLAGS: hardware timestamping flags
|
|
*
|
|
* @ETH_SS_COUNT: number of defined string sets
|
|
*/
|
|
@@ -704,6 +706,8 @@ enum ethtool_stringset {
|
|
ETH_SS_STATS_ETH_MAC,
|
|
ETH_SS_STATS_ETH_CTRL,
|
|
ETH_SS_STATS_RMON,
|
|
+ ETH_SS_STATS_PHY,
|
|
+ ETH_SS_TS_FLAGS,
|
|
|
|
/* add new constants above here */
|
|
ETH_SS_COUNT
|
|
--- a/riscv/usr/include/linux/ethtool_netlink.h
|
|
+++ b/riscv/usr/include/linux/ethtool_netlink.h
|
|
@@ -10,545 +10,12 @@
|
|
#define _LINUX_ETHTOOL_NETLINK_H_
|
|
|
|
#include <linux/ethtool.h>
|
|
-
|
|
-/* message types - userspace to kernel */
|
|
-enum {
|
|
- ETHTOOL_MSG_USER_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET,
|
|
- ETHTOOL_MSG_LINKINFO_GET,
|
|
- ETHTOOL_MSG_LINKINFO_SET,
|
|
- ETHTOOL_MSG_LINKMODES_GET,
|
|
- ETHTOOL_MSG_LINKMODES_SET,
|
|
- ETHTOOL_MSG_LINKSTATE_GET,
|
|
- ETHTOOL_MSG_DEBUG_GET,
|
|
- ETHTOOL_MSG_DEBUG_SET,
|
|
- ETHTOOL_MSG_WOL_GET,
|
|
- ETHTOOL_MSG_WOL_SET,
|
|
- ETHTOOL_MSG_FEATURES_GET,
|
|
- ETHTOOL_MSG_FEATURES_SET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
- ETHTOOL_MSG_RINGS_GET,
|
|
- ETHTOOL_MSG_RINGS_SET,
|
|
- ETHTOOL_MSG_CHANNELS_GET,
|
|
- ETHTOOL_MSG_CHANNELS_SET,
|
|
- ETHTOOL_MSG_COALESCE_GET,
|
|
- ETHTOOL_MSG_COALESCE_SET,
|
|
- ETHTOOL_MSG_PAUSE_GET,
|
|
- ETHTOOL_MSG_PAUSE_SET,
|
|
- ETHTOOL_MSG_EEE_GET,
|
|
- ETHTOOL_MSG_EEE_SET,
|
|
- ETHTOOL_MSG_TSINFO_GET,
|
|
- ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
- ETHTOOL_MSG_FEC_GET,
|
|
- ETHTOOL_MSG_FEC_SET,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
- ETHTOOL_MSG_STATS_GET,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
- ETHTOOL_MSG_MODULE_GET,
|
|
- ETHTOOL_MSG_MODULE_SET,
|
|
- ETHTOOL_MSG_PSE_GET,
|
|
- ETHTOOL_MSG_PSE_SET,
|
|
- ETHTOOL_MSG_RSS_GET,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG,
|
|
- ETHTOOL_MSG_PLCA_SET_CFG,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
- ETHTOOL_MSG_MM_GET,
|
|
- ETHTOOL_MSG_MM_SET,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
- ETHTOOL_MSG_PHY_GET,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_USER_CNT,
|
|
- ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
|
|
-};
|
|
-
|
|
-/* message types - kernel to userspace */
|
|
-enum {
|
|
- ETHTOOL_MSG_KERNEL_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_NTF,
|
|
- ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKMODES_NTF,
|
|
- ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_NTF,
|
|
- ETHTOOL_MSG_WOL_GET_REPLY,
|
|
- ETHTOOL_MSG_WOL_NTF,
|
|
- ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_NTF,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
- ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
- ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
- ETHTOOL_MSG_RINGS_NTF,
|
|
- ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
- ETHTOOL_MSG_CHANNELS_NTF,
|
|
- ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
- ETHTOOL_MSG_COALESCE_NTF,
|
|
- ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
- ETHTOOL_MSG_PAUSE_NTF,
|
|
- ETHTOOL_MSG_EEE_GET_REPLY,
|
|
- ETHTOOL_MSG_EEE_NTF,
|
|
- ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_NTF,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
- ETHTOOL_MSG_STATS_GET_REPLY,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_NTF,
|
|
- ETHTOOL_MSG_PSE_GET_REPLY,
|
|
- ETHTOOL_MSG_RSS_GET_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
- ETHTOOL_MSG_PLCA_NTF,
|
|
- ETHTOOL_MSG_MM_GET_REPLY,
|
|
- ETHTOOL_MSG_MM_NTF,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
- ETHTOOL_MSG_PHY_GET_REPLY,
|
|
- ETHTOOL_MSG_PHY_NTF,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_KERNEL_CNT,
|
|
- ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
|
|
-};
|
|
-
|
|
-/* request header */
|
|
-
|
|
-enum ethtool_header_flags {
|
|
- ETHTOOL_FLAG_COMPACT_BITSETS = 1 << 0, /* use compact bitsets in reply */
|
|
- ETHTOOL_FLAG_OMIT_REPLY = 1 << 1, /* provide optional reply for SET or ACT requests */
|
|
- ETHTOOL_FLAG_STATS = 1 << 2, /* request statistics, if supported by the driver */
|
|
-};
|
|
+#include <linux/ethtool_netlink_generated.h>
|
|
|
|
#define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \
|
|
ETHTOOL_FLAG_OMIT_REPLY | \
|
|
ETHTOOL_FLAG_STATS)
|
|
|
|
-enum {
|
|
- ETHTOOL_A_HEADER_UNSPEC,
|
|
- ETHTOOL_A_HEADER_DEV_INDEX, /* u32 */
|
|
- ETHTOOL_A_HEADER_DEV_NAME, /* string */
|
|
- ETHTOOL_A_HEADER_FLAGS, /* u32 - ETHTOOL_FLAG_* */
|
|
- ETHTOOL_A_HEADER_PHY_INDEX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_HEADER_CNT,
|
|
- ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1
|
|
-};
|
|
-
|
|
-/* bit sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BIT_INDEX, /* u32 */
|
|
- ETHTOOL_A_BITSET_BIT_NAME, /* string */
|
|
- ETHTOOL_A_BITSET_BIT_VALUE, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BIT_CNT,
|
|
- ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BITS_BIT, /* nest - _A_BITSET_BIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BITS_CNT,
|
|
- ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_UNSPEC,
|
|
- ETHTOOL_A_BITSET_NOMASK, /* flag */
|
|
- ETHTOOL_A_BITSET_SIZE, /* u32 */
|
|
- ETHTOOL_A_BITSET_BITS, /* nest - _A_BITSET_BITS_* */
|
|
- ETHTOOL_A_BITSET_VALUE, /* binary */
|
|
- ETHTOOL_A_BITSET_MASK, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_CNT,
|
|
- ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* string sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRING_UNSPEC,
|
|
- ETHTOOL_A_STRING_INDEX, /* u32 */
|
|
- ETHTOOL_A_STRING_VALUE, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRING_CNT,
|
|
- ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGS_UNSPEC,
|
|
- ETHTOOL_A_STRINGS_STRING, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGS_CNT,
|
|
- ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSET_UNSPEC,
|
|
- ETHTOOL_A_STRINGSET_ID, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_COUNT, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_STRINGS, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSET_CNT,
|
|
- ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
- ETHTOOL_A_STRINGSETS_STRINGSET, /* nest - _A_STRINGSET_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSETS_CNT,
|
|
- ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1
|
|
-};
|
|
-
|
|
-/* STRSET */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRSET_UNSPEC,
|
|
- ETHTOOL_A_STRSET_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STRSET_STRINGSETS, /* nest - _A_STRINGSETS_* */
|
|
- ETHTOOL_A_STRSET_COUNTS_ONLY, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRSET_CNT,
|
|
- ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKINFO_UNSPEC,
|
|
- ETHTOOL_A_LINKINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKINFO_PORT, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_PHYADDR, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TRANSCEIVER, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKINFO_CNT,
|
|
- ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKMODES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKMODES_UNSPEC,
|
|
- ETHTOOL_A_LINKMODES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_OURS, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_PEER, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_SPEED, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_LANES, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKMODES_CNT,
|
|
- ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKSTATE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
- ETHTOOL_A_LINKSTATE_HEADER, /* nest - _A_HEADER_* */
|
|
- 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 */
|
|
- ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKSTATE_CNT,
|
|
- ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1
|
|
-};
|
|
-
|
|
-/* DEBUG */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_DEBUG_UNSPEC,
|
|
- ETHTOOL_A_DEBUG_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_DEBUG_MSGMASK, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_DEBUG_CNT,
|
|
- ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1
|
|
-};
|
|
-
|
|
-/* WOL */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_WOL_UNSPEC,
|
|
- ETHTOOL_A_WOL_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_WOL_MODES, /* bitset */
|
|
- ETHTOOL_A_WOL_SOPASS, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_WOL_CNT,
|
|
- ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
|
|
-};
|
|
-
|
|
-/* FEATURES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEATURES_UNSPEC,
|
|
- ETHTOOL_A_FEATURES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEATURES_HW, /* bitset */
|
|
- ETHTOOL_A_FEATURES_WANTED, /* bitset */
|
|
- ETHTOOL_A_FEATURES_ACTIVE, /* bitset */
|
|
- ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEATURES_CNT,
|
|
- ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
|
|
-};
|
|
-
|
|
-/* PRIVFLAGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
- ETHTOOL_A_PRIVFLAGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PRIVFLAGS_FLAGS, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
- ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1
|
|
-};
|
|
-
|
|
-/* RINGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,
|
|
- ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
- ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RINGS_UNSPEC,
|
|
- ETHTOOL_A_RINGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_RINGS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */
|
|
- ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_RX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_RINGS_CNT,
|
|
- ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CHANNELS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CHANNELS_UNSPEC,
|
|
- ETHTOOL_A_CHANNELS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CHANNELS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_RX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_COUNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CHANNELS_CNT,
|
|
- ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* COALESCE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_COALESCE_UNSPEC,
|
|
- ETHTOOL_A_COALESCE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_COALESCE_RX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, /* u32 */
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_COALESCE_CNT,
|
|
- ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PROFILE_UNSPEC,
|
|
- /* nest, _A_IRQ_MODERATION_* */
|
|
- ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
- __ETHTOOL_A_PROFILE_CNT,
|
|
- ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
- ETHTOOL_A_IRQ_MODERATION_USEC, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_PKTS, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_COMPS, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
- ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
-};
|
|
-
|
|
-/* PAUSE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PAUSE_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_PAUSE_RX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_TX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_STATS, /* nest - _PAUSE_STAT_* */
|
|
- ETHTOOL_A_PAUSE_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PAUSE_CNT,
|
|
- ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
- ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
-
|
|
- /* add new constants above here
|
|
- * adjust ETHTOOL_PAUSE_STAT_CNT if adding non-stats!
|
|
- */
|
|
- __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
- ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* EEE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_EEE_UNSPEC,
|
|
- ETHTOOL_A_EEE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_EEE_MODES_OURS, /* bitset */
|
|
- ETHTOOL_A_EEE_MODES_PEER, /* bitset */
|
|
- ETHTOOL_A_EEE_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_EEE_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_TIMER, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_EEE_CNT,
|
|
- ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
-};
|
|
-
|
|
-/* TSINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TSINFO_UNSPEC,
|
|
- ETHTOOL_A_TSINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_TSINFO_TIMESTAMPING, /* bitset */
|
|
- ETHTOOL_A_TSINFO_TX_TYPES, /* bitset */
|
|
- ETHTOOL_A_TSINFO_RX_FILTERS, /* bitset */
|
|
- ETHTOOL_A_TSINFO_PHC_INDEX, /* u32 */
|
|
- ETHTOOL_A_TSINFO_STATS, /* nest - _A_TSINFO_STAT */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TSINFO_CNT,
|
|
- ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TS_STAT_UNSPEC,
|
|
-
|
|
- ETHTOOL_A_TS_STAT_TX_PKTS, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_LOST, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_ERR, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TS_STAT_CNT,
|
|
- ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
-
|
|
-};
|
|
-
|
|
-/* PHC VCLOCKS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
- ETHTOOL_A_PHC_VCLOCKS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHC_VCLOCKS_NUM, /* u32 */
|
|
- ETHTOOL_A_PHC_VCLOCKS_INDEX, /* array, s32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
- ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST NOTIFY */
|
|
enum {
|
|
ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC,
|
|
@@ -583,73 +50,11 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
- ETHTOOL_A_CABLE_RESULT_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_RESULT_CODE, /* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */
|
|
- ETHTOOL_A_CABLE_RESULT_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
- ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_CM, /* u32 */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED
|
|
};
|
|
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_NEST_RESULT, /* nest - ETHTOOL_A_CABLE_RESULT_ */
|
|
- ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, /* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */
|
|
- __ETHTOOL_A_CABLE_NEST_CNT,
|
|
- ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST TDR */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG, /* nest - *_TDR_CFG_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST TDR NOTIFY */
|
|
|
|
enum {
|
|
@@ -690,163 +95,17 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
- 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)
|
|
-};
|
|
-
|
|
-/* FEC */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_UNSPEC,
|
|
- ETHTOOL_A_FEC_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEC_MODES, /* bitset */
|
|
- ETHTOOL_A_FEC_AUTO, /* u8 */
|
|
- ETHTOOL_A_FEC_ACTIVE, /* u32 */
|
|
- ETHTOOL_A_FEC_STATS, /* nest - _A_FEC_STAT */
|
|
-
|
|
- __ETHTOOL_A_FEC_CNT,
|
|
- ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
- ETHTOOL_A_FEC_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_FEC_STAT_CORRECTED, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_UNCORR, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_CORR_BITS, /* array, u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEC_STAT_CNT,
|
|
- ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE EEPROM */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
- ETHTOOL_A_MODULE_EEPROM_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- ETHTOOL_A_MODULE_EEPROM_OFFSET, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_LENGTH, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */
|
|
-
|
|
- __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
- ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* STATS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STATS_UNSPEC,
|
|
- ETHTOOL_A_STATS_PAD,
|
|
- ETHTOOL_A_STATS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STATS_GROUPS, /* bitset */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP, /* nest - _A_STATS_GRP_* */
|
|
-
|
|
- ETHTOOL_A_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_CNT,
|
|
- ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_STATS_ETH_PHY,
|
|
ETHTOOL_STATS_ETH_MAC,
|
|
ETHTOOL_STATS_ETH_CTRL,
|
|
ETHTOOL_STATS_RMON,
|
|
+ ETHTOOL_STATS_PHY,
|
|
|
|
/* add new constants above here */
|
|
__ETHTOOL_STATS_CNT
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
- ETHTOOL_A_STATS_GRP_PAD,
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_ID, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_SS_ID, /* u32 */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_STAT, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_RX, /* nest */
|
|
- ETHTOOL_A_STATS_GRP_HIST_TX, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_LOW, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_HI, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_VAL, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_GRP_CNT,
|
|
- ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
/* 30.3.2.1.5 aSymbolErrorDuringCarrier */
|
|
ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR,
|
|
|
|
@@ -935,160 +194,20 @@ enum {
|
|
ETHTOOL_A_STATS_RMON_MAX = (__ETHTOOL_A_STATS_RMON_CNT - 1)
|
|
};
|
|
|
|
-/* MODULE */
|
|
-
|
|
enum {
|
|
- ETHTOOL_A_MODULE_UNSPEC,
|
|
- ETHTOOL_A_MODULE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_POWER_MODE_POLICY, /* u8 */
|
|
- ETHTOOL_A_MODULE_POWER_MODE, /* u8 */
|
|
+ /* Basic packet counters if PHY has separate counters from the MAC */
|
|
+ ETHTOOL_A_STATS_PHY_RX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_RX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_RX_ERRORS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_TX_ERRORS,
|
|
|
|
/* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_CNT,
|
|
- ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+ __ETHTOOL_A_STATS_PHY_CNT,
|
|
+ ETHTOOL_A_STATS_PHY_MAX = (__ETHTOOL_A_STATS_PHY_CNT - 1)
|
|
};
|
|
|
|
-/* Power Sourcing Equipment */
|
|
-enum {
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MIN, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MAX, /* u32 */
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PSE_UNSPEC,
|
|
- ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_CLASS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ACTUAL_PW, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_SUBSTATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES, /* nest - _C33_PSE_PW_LIMIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PSE_CNT,
|
|
- ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RSS_UNSPEC,
|
|
- ETHTOOL_A_RSS_HEADER,
|
|
- ETHTOOL_A_RSS_CONTEXT, /* u32 */
|
|
- ETHTOOL_A_RSS_HFUNC, /* u32 */
|
|
- ETHTOOL_A_RSS_INDIR, /* binary */
|
|
- ETHTOOL_A_RSS_HKEY, /* binary */
|
|
- ETHTOOL_A_RSS_INPUT_XFRM, /* u32 */
|
|
- ETHTOOL_A_RSS_START_CONTEXT, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_RSS_CNT,
|
|
- ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
|
|
-};
|
|
-
|
|
-/* PLCA */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PLCA_UNSPEC,
|
|
- ETHTOOL_A_PLCA_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PLCA_VERSION, /* u16 */
|
|
- ETHTOOL_A_PLCA_ENABLED, /* u8 */
|
|
- ETHTOOL_A_PLCA_STATUS, /* u8 */
|
|
- ETHTOOL_A_PLCA_NODE_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_NODE_ID, /* u32 */
|
|
- ETHTOOL_A_PLCA_TO_TMR, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_TMR, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PLCA_CNT,
|
|
- ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MAC Merge (802.3) */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_STAT_UNSPEC,
|
|
- ETHTOOL_A_MM_STAT_PAD,
|
|
-
|
|
- /* aMACMergeFrameAssErrorCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameSmdErrorCount */
|
|
- ETHTOOL_A_MM_STAT_SMD_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameAssOkCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_OK, /* u64 */
|
|
- /* aMACMergeFragCountRx */
|
|
- ETHTOOL_A_MM_STAT_RX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeFragCountTx */
|
|
- ETHTOOL_A_MM_STAT_TX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeHoldCount */
|
|
- ETHTOOL_A_MM_STAT_HOLD_COUNT, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_STAT_CNT,
|
|
- ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_UNSPEC,
|
|
- ETHTOOL_A_MM_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MM_PMAC_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_RX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_VERIFY_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_STATUS, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_MAX_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_STATS, /* nest - _A_MM_STAT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_CNT,
|
|
- ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE_FW_FLASH */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_PASSWORD, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_DONE, /* uint */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_TOTAL, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHY_UNSPEC,
|
|
- ETHTOOL_A_PHY_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHY_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_DRVNAME, /* string */
|
|
- ETHTOOL_A_PHY_NAME, /* string */
|
|
- ETHTOOL_A_PHY_UPSTREAM_TYPE, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_SFP_NAME, /* string */
|
|
- ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHY_CNT,
|
|
- ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
-};
|
|
-
|
|
-/* generic netlink info */
|
|
-#define ETHTOOL_GENL_NAME "ethtool"
|
|
-#define ETHTOOL_GENL_VERSION 1
|
|
-
|
|
#define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
|
|
|
|
#endif /* _LINUX_ETHTOOL_NETLINK_H_ */
|
|
--- /dev/null
|
|
+++ b/riscv/usr/include/linux/ethtool_netlink_generated.h
|
|
@@ -0,0 +1,821 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/ethtool.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+#define _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+
|
|
+#define ETHTOOL_GENL_NAME "ethtool"
|
|
+#define ETHTOOL_GENL_VERSION 1
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_GENEVE,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE,
|
|
+
|
|
+ /* private: */
|
|
+ __ETHTOOL_UDP_TUNNEL_TYPE_CNT,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_MAX = (__ETHTOOL_UDP_TUNNEL_TYPE_CNT - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum ethtool_header_flags - common ethtool header flags
|
|
+ * @ETHTOOL_FLAG_COMPACT_BITSETS: use compact bitsets in reply
|
|
+ * @ETHTOOL_FLAG_OMIT_REPLY: provide optional reply for SET or ACT requests
|
|
+ * @ETHTOOL_FLAG_STATS: request statistics, if supported by the driver
|
|
+ */
|
|
+enum ethtool_header_flags {
|
|
+ ETHTOOL_FLAG_COMPACT_BITSETS = 1,
|
|
+ ETHTOOL_FLAG_OMIT_REPLY = 2,
|
|
+ ETHTOOL_FLAG_STATS = 4,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_MAC,
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_PHY,
|
|
+};
|
|
+
|
|
+enum ethtool_tcp_data_split {
|
|
+ ETHTOOL_TCP_DATA_SPLIT_UNKNOWN,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_HEADER_UNSPEC,
|
|
+ ETHTOOL_A_HEADER_DEV_INDEX,
|
|
+ ETHTOOL_A_HEADER_DEV_NAME,
|
|
+ ETHTOOL_A_HEADER_FLAGS,
|
|
+ ETHTOOL_A_HEADER_PHY_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_HEADER_CNT,
|
|
+ ETHTOOL_A_HEADER_MAX = (__ETHTOOL_A_HEADER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BIT_INDEX,
|
|
+ ETHTOOL_A_BITSET_BIT_NAME,
|
|
+ ETHTOOL_A_BITSET_BIT_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BIT_CNT,
|
|
+ ETHTOOL_A_BITSET_BIT_MAX = (__ETHTOOL_A_BITSET_BIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BITS_BIT,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BITS_CNT,
|
|
+ ETHTOOL_A_BITSET_BITS_MAX = (__ETHTOOL_A_BITSET_BITS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_NOMASK,
|
|
+ ETHTOOL_A_BITSET_SIZE,
|
|
+ ETHTOOL_A_BITSET_BITS,
|
|
+ ETHTOOL_A_BITSET_VALUE,
|
|
+ ETHTOOL_A_BITSET_MASK,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_CNT,
|
|
+ ETHTOOL_A_BITSET_MAX = (__ETHTOOL_A_BITSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRING_UNSPEC,
|
|
+ ETHTOOL_A_STRING_INDEX,
|
|
+ ETHTOOL_A_STRING_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_STRING_CNT,
|
|
+ ETHTOOL_A_STRING_MAX = (__ETHTOOL_A_STRING_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGS_STRING,
|
|
+
|
|
+ __ETHTOOL_A_STRINGS_CNT,
|
|
+ ETHTOOL_A_STRINGS_MAX = (__ETHTOOL_A_STRINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSET_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSET_ID,
|
|
+ ETHTOOL_A_STRINGSET_COUNT,
|
|
+ ETHTOOL_A_STRINGSET_STRINGS,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSET_CNT,
|
|
+ ETHTOOL_A_STRINGSET_MAX = (__ETHTOOL_A_STRINGSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSETS_STRINGSET,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSETS_CNT,
|
|
+ ETHTOOL_A_STRINGSETS_MAX = (__ETHTOOL_A_STRINGSETS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRSET_UNSPEC,
|
|
+ ETHTOOL_A_STRSET_HEADER,
|
|
+ ETHTOOL_A_STRSET_STRINGSETS,
|
|
+ ETHTOOL_A_STRSET_COUNTS_ONLY,
|
|
+
|
|
+ __ETHTOOL_A_STRSET_CNT,
|
|
+ ETHTOOL_A_STRSET_MAX = (__ETHTOOL_A_STRSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
+ ETHTOOL_A_PRIVFLAGS_HEADER,
|
|
+ ETHTOOL_A_PRIVFLAGS_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
+ ETHTOOL_A_PRIVFLAGS_MAX = (__ETHTOOL_A_PRIVFLAGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RINGS_UNSPEC,
|
|
+ ETHTOOL_A_RINGS_HEADER,
|
|
+ ETHTOOL_A_RINGS_RX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO_MAX,
|
|
+ ETHTOOL_A_RINGS_TX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO,
|
|
+ ETHTOOL_A_RINGS_TX,
|
|
+ ETHTOOL_A_RINGS_RX_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
|
|
+ ETHTOOL_A_RINGS_CQE_SIZE,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH,
|
|
+ ETHTOOL_A_RINGS_RX_PUSH,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH_MAX,
|
|
+
|
|
+ __ETHTOOL_A_RINGS_CNT,
|
|
+ ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_STAT_UNSPEC,
|
|
+ ETHTOOL_A_MM_STAT_PAD,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_SMD_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_OK,
|
|
+ ETHTOOL_A_MM_STAT_RX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_TX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_HOLD_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_MM_STAT_CNT,
|
|
+ ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_UNSPEC,
|
|
+ ETHTOOL_A_MM_HEADER,
|
|
+ ETHTOOL_A_MM_PMAC_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ACTIVE,
|
|
+ ETHTOOL_A_MM_TX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_RX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_VERIFY_ENABLED,
|
|
+ ETHTOOL_A_MM_VERIFY_STATUS,
|
|
+ ETHTOOL_A_MM_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_MAX_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_STATS,
|
|
+
|
|
+ __ETHTOOL_A_MM_CNT,
|
|
+ ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKINFO_UNSPEC,
|
|
+ ETHTOOL_A_LINKINFO_HEADER,
|
|
+ ETHTOOL_A_LINKINFO_PORT,
|
|
+ ETHTOOL_A_LINKINFO_PHYADDR,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX_CTRL,
|
|
+ ETHTOOL_A_LINKINFO_TRANSCEIVER,
|
|
+
|
|
+ __ETHTOOL_A_LINKINFO_CNT,
|
|
+ ETHTOOL_A_LINKINFO_MAX = (__ETHTOOL_A_LINKINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKMODES_UNSPEC,
|
|
+ ETHTOOL_A_LINKMODES_HEADER,
|
|
+ ETHTOOL_A_LINKMODES_AUTONEG,
|
|
+ ETHTOOL_A_LINKMODES_OURS,
|
|
+ ETHTOOL_A_LINKMODES_PEER,
|
|
+ ETHTOOL_A_LINKMODES_SPEED,
|
|
+ ETHTOOL_A_LINKMODES_DUPLEX,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE,
|
|
+ ETHTOOL_A_LINKMODES_LANES,
|
|
+ ETHTOOL_A_LINKMODES_RATE_MATCHING,
|
|
+
|
|
+ __ETHTOOL_A_LINKMODES_CNT,
|
|
+ ETHTOOL_A_LINKMODES_MAX = (__ETHTOOL_A_LINKMODES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
+ ETHTOOL_A_LINKSTATE_HEADER,
|
|
+ ETHTOOL_A_LINKSTATE_LINK,
|
|
+ ETHTOOL_A_LINKSTATE_SQI,
|
|
+ ETHTOOL_A_LINKSTATE_SQI_MAX,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_STATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT,
|
|
+
|
|
+ __ETHTOOL_A_LINKSTATE_CNT,
|
|
+ ETHTOOL_A_LINKSTATE_MAX = (__ETHTOOL_A_LINKSTATE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_DEBUG_UNSPEC,
|
|
+ ETHTOOL_A_DEBUG_HEADER,
|
|
+ ETHTOOL_A_DEBUG_MSGMASK,
|
|
+
|
|
+ __ETHTOOL_A_DEBUG_CNT,
|
|
+ ETHTOOL_A_DEBUG_MAX = (__ETHTOOL_A_DEBUG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_WOL_UNSPEC,
|
|
+ ETHTOOL_A_WOL_HEADER,
|
|
+ ETHTOOL_A_WOL_MODES,
|
|
+ ETHTOOL_A_WOL_SOPASS,
|
|
+
|
|
+ __ETHTOOL_A_WOL_CNT,
|
|
+ ETHTOOL_A_WOL_MAX = (__ETHTOOL_A_WOL_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEATURES_UNSPEC,
|
|
+ ETHTOOL_A_FEATURES_HEADER,
|
|
+ ETHTOOL_A_FEATURES_HW,
|
|
+ ETHTOOL_A_FEATURES_WANTED,
|
|
+ ETHTOOL_A_FEATURES_ACTIVE,
|
|
+ ETHTOOL_A_FEATURES_NOCHANGE,
|
|
+
|
|
+ __ETHTOOL_A_FEATURES_CNT,
|
|
+ ETHTOOL_A_FEATURES_MAX = (__ETHTOOL_A_FEATURES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CHANNELS_UNSPEC,
|
|
+ ETHTOOL_A_CHANNELS_HEADER,
|
|
+ ETHTOOL_A_CHANNELS_RX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_TX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_MAX,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_MAX,
|
|
+ ETHTOOL_A_CHANNELS_RX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_TX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_CHANNELS_CNT,
|
|
+ ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_USEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_PKTS,
|
|
+ ETHTOOL_A_IRQ_MODERATION_COMPS,
|
|
+
|
|
+ __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
+ ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PROFILE_UNSPEC,
|
|
+ ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
+
|
|
+ __ETHTOOL_A_PROFILE_CNT,
|
|
+ ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_COALESCE_UNSPEC,
|
|
+ ETHTOOL_A_COALESCE_HEADER,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_STATS_BLOCK_USECS,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_TX,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_RX,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
+ ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
+
|
|
+ __ETHTOOL_A_COALESCE_CNT,
|
|
+ ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_STAT_PAD,
|
|
+ ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
+ ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
+ ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_HEADER,
|
|
+ ETHTOOL_A_PAUSE_AUTONEG,
|
|
+ ETHTOOL_A_PAUSE_RX,
|
|
+ ETHTOOL_A_PAUSE_TX,
|
|
+ ETHTOOL_A_PAUSE_STATS,
|
|
+ ETHTOOL_A_PAUSE_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_CNT,
|
|
+ ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_EEE_UNSPEC,
|
|
+ ETHTOOL_A_EEE_HEADER,
|
|
+ ETHTOOL_A_EEE_MODES_OURS,
|
|
+ ETHTOOL_A_EEE_MODES_PEER,
|
|
+ ETHTOOL_A_EEE_ACTIVE,
|
|
+ ETHTOOL_A_EEE_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_TIMER,
|
|
+
|
|
+ __ETHTOOL_A_EEE_CNT,
|
|
+ ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_STAT_UNSPEC,
|
|
+ ETHTOOL_A_TS_STAT_TX_PKTS,
|
|
+ ETHTOOL_A_TS_STAT_TX_LOST,
|
|
+ ETHTOOL_A_TS_STAT_TX_ERR,
|
|
+ ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED,
|
|
+
|
|
+ __ETHTOOL_A_TS_STAT_CNT,
|
|
+ ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER,
|
|
+
|
|
+ __ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = (__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSINFO_UNSPEC,
|
|
+ ETHTOOL_A_TSINFO_HEADER,
|
|
+ ETHTOOL_A_TSINFO_TIMESTAMPING,
|
|
+ ETHTOOL_A_TSINFO_TX_TYPES,
|
|
+ ETHTOOL_A_TSINFO_RX_FILTERS,
|
|
+ ETHTOOL_A_TSINFO_PHC_INDEX,
|
|
+ ETHTOOL_A_TSINFO_STATS,
|
|
+ ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER,
|
|
+
|
|
+ __ETHTOOL_A_TSINFO_CNT,
|
|
+ ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_RESULT_PAIR,
|
|
+ ETHTOOL_A_CABLE_RESULT_CODE,
|
|
+ ETHTOOL_A_CABLE_RESULT_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
+ ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_CM,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_NEST_RESULT,
|
|
+ ETHTOOL_A_CABLE_NEST_FAULT_LENGTH,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_NEST_CNT,
|
|
+ ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_HEADER,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_MAX = (__ETHTOOL_A_CABLE_TEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY,
|
|
+
|
|
+ __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,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_INFO_UDP_PORTS,
|
|
+
|
|
+ __ETHTOOL_A_TUNNEL_INFO_CNT,
|
|
+ ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
+ ETHTOOL_A_FEC_STAT_PAD,
|
|
+ ETHTOOL_A_FEC_STAT_CORRECTED,
|
|
+ ETHTOOL_A_FEC_STAT_UNCORR,
|
|
+ ETHTOOL_A_FEC_STAT_CORR_BITS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_STAT_CNT,
|
|
+ ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_UNSPEC,
|
|
+ ETHTOOL_A_FEC_HEADER,
|
|
+ ETHTOOL_A_FEC_MODES,
|
|
+ ETHTOOL_A_FEC_AUTO,
|
|
+ ETHTOOL_A_FEC_ACTIVE,
|
|
+ ETHTOOL_A_FEC_STATS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_CNT,
|
|
+ ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_EEPROM_HEADER,
|
|
+ ETHTOOL_A_MODULE_EEPROM_OFFSET,
|
|
+ ETHTOOL_A_MODULE_EEPROM_LENGTH,
|
|
+ ETHTOOL_A_MODULE_EEPROM_PAGE,
|
|
+ ETHTOOL_A_MODULE_EEPROM_BANK,
|
|
+ ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS,
|
|
+ ETHTOOL_A_MODULE_EEPROM_DATA,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
+ ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
+ ETHTOOL_A_STATS_GRP_PAD,
|
|
+ ETHTOOL_A_STATS_GRP_ID,
|
|
+ ETHTOOL_A_STATS_GRP_SS_ID,
|
|
+ ETHTOOL_A_STATS_GRP_STAT,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_RX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_TX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_LOW,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_HI,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_VAL,
|
|
+
|
|
+ __ETHTOOL_A_STATS_GRP_CNT,
|
|
+ ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_UNSPEC,
|
|
+ ETHTOOL_A_STATS_PAD,
|
|
+ ETHTOOL_A_STATS_HEADER,
|
|
+ ETHTOOL_A_STATS_GROUPS,
|
|
+ ETHTOOL_A_STATS_GRP,
|
|
+ ETHTOOL_A_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_STATS_CNT,
|
|
+ ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_HEADER,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_NUM,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_HEADER,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE_POLICY,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_CNT,
|
|
+ ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MIN,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MAX,
|
|
+
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_CNT,
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = (__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PSE_UNSPEC,
|
|
+ ETHTOOL_A_PSE_HEADER,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_PODL_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_C33_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_PW_CLASS,
|
|
+ ETHTOOL_A_C33_PSE_ACTUAL_PW,
|
|
+ ETHTOOL_A_C33_PSE_EXT_STATE,
|
|
+ ETHTOOL_A_C33_PSE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES,
|
|
+
|
|
+ __ETHTOOL_A_PSE_CNT,
|
|
+ ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RSS_UNSPEC,
|
|
+ ETHTOOL_A_RSS_HEADER,
|
|
+ ETHTOOL_A_RSS_CONTEXT,
|
|
+ ETHTOOL_A_RSS_HFUNC,
|
|
+ ETHTOOL_A_RSS_INDIR,
|
|
+ ETHTOOL_A_RSS_HKEY,
|
|
+ ETHTOOL_A_RSS_INPUT_XFRM,
|
|
+ ETHTOOL_A_RSS_START_CONTEXT,
|
|
+
|
|
+ __ETHTOOL_A_RSS_CNT,
|
|
+ ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PLCA_UNSPEC,
|
|
+ ETHTOOL_A_PLCA_HEADER,
|
|
+ ETHTOOL_A_PLCA_VERSION,
|
|
+ ETHTOOL_A_PLCA_ENABLED,
|
|
+ ETHTOOL_A_PLCA_STATUS,
|
|
+ ETHTOOL_A_PLCA_NODE_CNT,
|
|
+ ETHTOOL_A_PLCA_NODE_ID,
|
|
+ ETHTOOL_A_PLCA_TO_TMR,
|
|
+ ETHTOOL_A_PLCA_BURST_CNT,
|
|
+ ETHTOOL_A_PLCA_BURST_TMR,
|
|
+
|
|
+ __ETHTOOL_A_PLCA_CNT,
|
|
+ ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_HEADER,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_PASSWORD,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_DONE,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_TOTAL,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHY_UNSPEC,
|
|
+ ETHTOOL_A_PHY_HEADER,
|
|
+ ETHTOOL_A_PHY_INDEX,
|
|
+ ETHTOOL_A_PHY_DRVNAME,
|
|
+ ETHTOOL_A_PHY_NAME,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_TYPE,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_INDEX,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_SFP_NAME,
|
|
+ ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME,
|
|
+
|
|
+ __ETHTOOL_A_PHY_CNT,
|
|
+ ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSCONFIG_UNSPEC,
|
|
+ ETHTOOL_A_TSCONFIG_HEADER,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER,
|
|
+ ETHTOOL_A_TSCONFIG_TX_TYPES,
|
|
+ ETHTOOL_A_TSCONFIG_RX_FILTERS,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_TSCONFIG_CNT,
|
|
+ ETHTOOL_A_TSCONFIG_MAX = (__ETHTOOL_A_TSCONFIG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_USER_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET,
|
|
+ ETHTOOL_MSG_LINKINFO_SET,
|
|
+ ETHTOOL_MSG_LINKMODES_GET,
|
|
+ ETHTOOL_MSG_LINKMODES_SET,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET,
|
|
+ ETHTOOL_MSG_DEBUG_GET,
|
|
+ ETHTOOL_MSG_DEBUG_SET,
|
|
+ ETHTOOL_MSG_WOL_GET,
|
|
+ ETHTOOL_MSG_WOL_SET,
|
|
+ ETHTOOL_MSG_FEATURES_GET,
|
|
+ ETHTOOL_MSG_FEATURES_SET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
+ ETHTOOL_MSG_RINGS_GET,
|
|
+ ETHTOOL_MSG_RINGS_SET,
|
|
+ ETHTOOL_MSG_CHANNELS_GET,
|
|
+ ETHTOOL_MSG_CHANNELS_SET,
|
|
+ ETHTOOL_MSG_COALESCE_GET,
|
|
+ ETHTOOL_MSG_COALESCE_SET,
|
|
+ ETHTOOL_MSG_PAUSE_GET,
|
|
+ ETHTOOL_MSG_PAUSE_SET,
|
|
+ ETHTOOL_MSG_EEE_GET,
|
|
+ ETHTOOL_MSG_EEE_SET,
|
|
+ ETHTOOL_MSG_TSINFO_GET,
|
|
+ ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
+ ETHTOOL_MSG_FEC_GET,
|
|
+ ETHTOOL_MSG_FEC_SET,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
+ ETHTOOL_MSG_STATS_GET,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
+ ETHTOOL_MSG_MODULE_GET,
|
|
+ ETHTOOL_MSG_MODULE_SET,
|
|
+ ETHTOOL_MSG_PSE_GET,
|
|
+ ETHTOOL_MSG_PSE_SET,
|
|
+ ETHTOOL_MSG_RSS_GET,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_SET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
+ ETHTOOL_MSG_MM_GET,
|
|
+ ETHTOOL_MSG_MM_SET,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
+ ETHTOOL_MSG_PHY_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET,
|
|
+
|
|
+ __ETHTOOL_MSG_USER_CNT,
|
|
+ ETHTOOL_MSG_USER_MAX = (__ETHTOOL_MSG_USER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_KERNEL_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET_REPLY = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKINFO_NTF,
|
|
+ ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKMODES_NTF,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_NTF,
|
|
+ ETHTOOL_MSG_WOL_GET_REPLY,
|
|
+ ETHTOOL_MSG_WOL_NTF,
|
|
+ ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_NTF,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
+ ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_RINGS_NTF,
|
|
+ ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
+ ETHTOOL_MSG_CHANNELS_NTF,
|
|
+ ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
+ ETHTOOL_MSG_COALESCE_NTF,
|
|
+ ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_PAUSE_NTF,
|
|
+ ETHTOOL_MSG_EEE_GET_REPLY,
|
|
+ ETHTOOL_MSG_EEE_NTF,
|
|
+ ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_NTF,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
+ ETHTOOL_MSG_STATS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_NTF,
|
|
+ ETHTOOL_MSG_PSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_RSS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_NTF,
|
|
+ ETHTOOL_MSG_MM_GET_REPLY,
|
|
+ ETHTOOL_MSG_MM_NTF,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
+ ETHTOOL_MSG_PHY_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHY_NTF,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET_REPLY,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET_REPLY,
|
|
+
|
|
+ __ETHTOOL_MSG_KERNEL_CNT,
|
|
+ ETHTOOL_MSG_KERNEL_MAX = (__ETHTOOL_MSG_KERNEL_CNT - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_ETHTOOL_NETLINK_GENERATED_H */
|
|
--- a/riscv/usr/include/linux/fs.h
|
|
+++ b/riscv/usr/include/linux/fs.h
|
|
@@ -36,6 +36,15 @@
|
|
#define BLOCK_SIZE_BITS 10
|
|
#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
|
|
|
|
+/* flags for integrity meta */
|
|
+#define IO_INTEGRITY_CHK_GUARD (1U << 0) /* enforce guard check */
|
|
+#define IO_INTEGRITY_CHK_REFTAG (1U << 1) /* enforce ref check */
|
|
+#define IO_INTEGRITY_CHK_APPTAG (1U << 2) /* enforce app check */
|
|
+
|
|
+#define IO_INTEGRITY_VALID_FLAGS (IO_INTEGRITY_CHK_GUARD | \
|
|
+ IO_INTEGRITY_CHK_REFTAG | \
|
|
+ IO_INTEGRITY_CHK_APPTAG)
|
|
+
|
|
#define SEEK_SET 0 /* seek relative to beginning of file */
|
|
#define SEEK_CUR 1 /* seek relative to current file position */
|
|
#define SEEK_END 2 /* seek relative to end of file */
|
|
--- a/riscv/usr/include/linux/hidraw.h
|
|
+++ b/riscv/usr/include/linux/hidraw.h
|
|
@@ -48,6 +48,8 @@ struct hidraw_devinfo {
|
|
#define HIDIOCGOUTPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0C, len)
|
|
#define HIDIOCREVOKE _IOW('H', 0x0D, int) /* Revoke device access */
|
|
|
|
+#define HIDIOCTL_LAST _IOC_NR(HIDIOCREVOKE)
|
|
+
|
|
#define HIDRAW_FIRST_MINOR 0
|
|
#define HIDRAW_MAX_DEVICES 64
|
|
/* number of reports to buffer */
|
|
--- a/riscv/usr/include/linux/if_link.h
|
|
+++ b/riscv/usr/include/linux/if_link.h
|
|
@@ -377,6 +377,7 @@ enum {
|
|
IFLA_GSO_IPV4_MAX_SIZE,
|
|
IFLA_GRO_IPV4_MAX_SIZE,
|
|
IFLA_DPLL_PIN,
|
|
+ IFLA_MAX_PACING_OFFLOAD_HORIZON,
|
|
__IFLA_MAX
|
|
};
|
|
|
|
--- a/riscv/usr/include/linux/input-event-codes.h
|
|
+++ b/riscv/usr/include/linux/input-event-codes.h
|
|
@@ -519,6 +519,7 @@
|
|
#define KEY_NOTIFICATION_CENTER 0x1bc /* Show/hide the notification center */
|
|
#define KEY_PICKUP_PHONE 0x1bd /* Answer incoming call */
|
|
#define KEY_HANGUP_PHONE 0x1be /* Decline incoming call */
|
|
+#define KEY_LINK_PHONE 0x1bf /* AL Phone Syncing */
|
|
|
|
#define KEY_DEL_EOL 0x1c0
|
|
#define KEY_DEL_EOS 0x1c1
|
|
--- a/riscv/usr/include/linux/io_uring.h
|
|
+++ b/riscv/usr/include/linux/io_uring.h
|
|
@@ -98,6 +98,10 @@ struct io_uring_sqe {
|
|
__u64 addr3;
|
|
__u64 __pad2[1];
|
|
};
|
|
+ struct {
|
|
+ __u64 attr_ptr; /* pointer to attribute information */
|
|
+ __u64 attr_type_mask; /* bit mask of attributes */
|
|
+ };
|
|
__u64 optval;
|
|
/*
|
|
* If the ring is initialized with IORING_SETUP_SQE128, then
|
|
@@ -107,6 +111,18 @@ struct io_uring_sqe {
|
|
};
|
|
};
|
|
|
|
+/* sqe->attr_type_mask flags */
|
|
+#define IORING_RW_ATTR_FLAG_PI (1U << 0)
|
|
+/* PI attribute information */
|
|
+struct io_uring_attr_pi {
|
|
+ __u16 flags;
|
|
+ __u16 app_tag;
|
|
+ __u32 len;
|
|
+ __u64 addr;
|
|
+ __u64 seed;
|
|
+ __u64 rsvd;
|
|
+};
|
|
+
|
|
/*
|
|
* If sqe->file_index is set to this for opcodes that instantiate a new
|
|
* direct descriptor (like openat/openat2/accept), then io_uring will allocate
|
|
@@ -554,6 +570,7 @@ struct io_uring_params {
|
|
#define IORING_FEAT_REG_REG_RING (1U << 13)
|
|
#define IORING_FEAT_RECVSEND_BUNDLE (1U << 14)
|
|
#define IORING_FEAT_MIN_TIMEOUT (1U << 15)
|
|
+#define IORING_FEAT_RW_ATTR (1U << 16)
|
|
|
|
/*
|
|
* io_uring_register(2) opcodes and arguments
|
|
--- a/riscv/usr/include/linux/iommufd.h
|
|
+++ b/riscv/usr/include/linux/iommufd.h
|
|
@@ -737,6 +737,7 @@ enum iommu_hwpt_pgfault_perm {
|
|
* @pasid: Process Address Space ID
|
|
* @grpid: Page Request Group Index
|
|
* @perm: Combination of enum iommu_hwpt_pgfault_perm
|
|
+ * @__reserved: Must be 0.
|
|
* @addr: Fault address
|
|
* @length: a hint of how much data the requestor is expecting to fetch. For
|
|
* example, if the PRI initiator knows it is going to do a 10MB
|
|
@@ -752,7 +753,8 @@ struct iommu_hwpt_pgfault {
|
|
__u32 pasid;
|
|
__u32 grpid;
|
|
__u32 perm;
|
|
- __u64 addr;
|
|
+ __u32 __reserved;
|
|
+ __aligned_u64 addr;
|
|
__u32 length;
|
|
__u32 cookie;
|
|
};
|
|
--- a/riscv/usr/include/linux/kfd_ioctl.h
|
|
+++ b/riscv/usr/include/linux/kfd_ioctl.h
|
|
@@ -62,6 +62,8 @@ struct kfd_ioctl_get_version_args {
|
|
#define KFD_MAX_QUEUE_PERCENTAGE 100
|
|
#define KFD_MAX_QUEUE_PRIORITY 15
|
|
|
|
+#define KFD_MIN_QUEUE_RING_SIZE 1024
|
|
+
|
|
struct kfd_ioctl_create_queue_args {
|
|
__u64 ring_base_address; /* to KFD */
|
|
__u64 write_pointer_address; /* from KFD */
|
|
--- a/riscv/usr/include/linux/kvm.h
|
|
+++ b/riscv/usr/include/linux/kvm.h
|
|
@@ -178,6 +178,7 @@ struct kvm_xen_exit {
|
|
#define KVM_EXIT_NOTIFY 37
|
|
#define KVM_EXIT_LOONGARCH_IOCSR 38
|
|
#define KVM_EXIT_MEMORY_FAULT 39
|
|
+#define KVM_EXIT_TDX 40
|
|
|
|
/* For KVM_EXIT_INTERNAL_ERROR */
|
|
/* Emulate instruction failed. */
|
|
@@ -369,6 +370,7 @@ struct kvm_run {
|
|
#define KVM_SYSTEM_EVENT_WAKEUP 4
|
|
#define KVM_SYSTEM_EVENT_SUSPEND 5
|
|
#define KVM_SYSTEM_EVENT_SEV_TERM 6
|
|
+#define KVM_SYSTEM_EVENT_TDX_FATAL 7
|
|
__u32 type;
|
|
__u32 ndata;
|
|
union {
|
|
@@ -438,6 +440,33 @@ struct kvm_run {
|
|
__u64 gpa;
|
|
__u64 size;
|
|
} memory_fault;
|
|
+#ifndef __GENKSYMS__
|
|
+ /* KVM_EXIT_TDX */
|
|
+ struct {
|
|
+ __u64 flags;
|
|
+ __u64 nr;
|
|
+ union {
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 data[5];
|
|
+ } unknown;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 gpa;
|
|
+ __u64 size;
|
|
+ } get_quote;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 leaf;
|
|
+ __u64 r11, r12, r13, r14;
|
|
+ } get_tdvmcall_info;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 vector;
|
|
+ } setup_event_notify;
|
|
+ };
|
|
+ } tdx;
|
|
+#endif
|
|
/* Fix the size of the union. */
|
|
char padding[256];
|
|
};
|
|
@@ -1150,7 +1179,15 @@ enum kvm_device_type {
|
|
#define KVM_DEV_TYPE_ARM_PV_TIME KVM_DEV_TYPE_ARM_PV_TIME
|
|
KVM_DEV_TYPE_RISCV_AIA,
|
|
#define KVM_DEV_TYPE_RISCV_AIA KVM_DEV_TYPE_RISCV_AIA
|
|
+ KVM_DEV_TYPE_LOONGARCH_IPI,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_IPI KVM_DEV_TYPE_LOONGARCH_IPI
|
|
+ KVM_DEV_TYPE_LOONGARCH_EIOINTC,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_EIOINTC KVM_DEV_TYPE_LOONGARCH_EIOINTC
|
|
+ KVM_DEV_TYPE_LOONGARCH_PCHPIC,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_PCHPIC KVM_DEV_TYPE_LOONGARCH_PCHPIC
|
|
+
|
|
KVM_DEV_TYPE_MAX,
|
|
+
|
|
};
|
|
|
|
struct kvm_vfio_spapr_tce {
|
|
--- a/riscv/usr/include/linux/landlock.h
|
|
+++ b/riscv/usr/include/linux/landlock.h
|
|
@@ -57,9 +57,11 @@ struct landlock_ruleset_attr {
|
|
*
|
|
* - %LANDLOCK_CREATE_RULESET_VERSION: Get the highest supported Landlock ABI
|
|
* version.
|
|
+ * - %LANDLOCK_CREATE_RULESET_ERRATA: Get a bitmask of fixed issues.
|
|
*/
|
|
/* clang-format off */
|
|
#define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
|
|
+#define LANDLOCK_CREATE_RULESET_ERRATA (1U << 1)
|
|
/* clang-format on */
|
|
|
|
/**
|
|
--- /dev/null
|
|
+++ b/riscv/usr/include/linux/livepatch.h
|
|
@@ -0,0 +1,15 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+
|
|
+/*
|
|
+ * livepatch.h - Kernel Live Patching Core
|
|
+ *
|
|
+ * Copyright (C) 2016 Josh Poimboeuf <jpoimboe@redhat.com>
|
|
+ */
|
|
+
|
|
+#ifndef _LIVEPATCH_H
|
|
+#define _LIVEPATCH_H
|
|
+
|
|
+#define KLP_RELA_PREFIX ".klp.rela."
|
|
+#define KLP_SYM_PREFIX ".klp.sym."
|
|
+
|
|
+#endif /* _LIVEPATCH_H */
|
|
--- /dev/null
|
|
+++ b/riscv/usr/include/linux/mshv.h
|
|
@@ -0,0 +1,291 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+/*
|
|
+ * Userspace interfaces for /dev/mshv* devices and derived fds
|
|
+ *
|
|
+ * This file is divided into sections containing data structures and IOCTLs for
|
|
+ * a particular set of related devices or derived file descriptors.
|
|
+ *
|
|
+ * The IOCTL definitions are at the end of each section. They are grouped by
|
|
+ * device/fd, so that new IOCTLs can easily be added with a monotonically
|
|
+ * increasing number.
|
|
+ */
|
|
+#ifndef _LINUX_MSHV_H
|
|
+#define _LINUX_MSHV_H
|
|
+
|
|
+#include <linux/types.h>
|
|
+
|
|
+#define MSHV_IOCTL 0xB8
|
|
+
|
|
+/*
|
|
+ *******************************************
|
|
+ * Entry point to main VMM APIs: /dev/mshv *
|
|
+ *******************************************
|
|
+ */
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_BIT_LAPIC,
|
|
+ MSHV_PT_BIT_X2APIC,
|
|
+ MSHV_PT_BIT_GPA_SUPER_PAGES,
|
|
+ MSHV_PT_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_PT_FLAGS_MASK ((1 << MSHV_PT_BIT_COUNT) - 1)
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_ISOLATION_NONE,
|
|
+ MSHV_PT_ISOLATION_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_create_partition - arguments for MSHV_CREATE_PARTITION
|
|
+ * @pt_flags: Bitmask of 1 << MSHV_PT_BIT_*
|
|
+ * @pt_isolation: MSHV_PT_ISOLATION_*
|
|
+ *
|
|
+ * Returns a file descriptor to act as a handle to a guest partition.
|
|
+ * At this point the partition is not yet initialized in the hypervisor.
|
|
+ * Some operations must be done with the partition in this state, e.g. setting
|
|
+ * so-called "early" partition properties. The partition can then be
|
|
+ * initialized with MSHV_INITIALIZE_PARTITION.
|
|
+ */
|
|
+struct mshv_create_partition {
|
|
+ __u64 pt_flags;
|
|
+ __u64 pt_isolation;
|
|
+};
|
|
+
|
|
+/* /dev/mshv */
|
|
+#define MSHV_CREATE_PARTITION _IOW(MSHV_IOCTL, 0x00, struct mshv_create_partition)
|
|
+
|
|
+/*
|
|
+ ************************
|
|
+ * Child partition APIs *
|
|
+ ************************
|
|
+ */
|
|
+
|
|
+struct mshv_create_vp {
|
|
+ __u32 vp_index;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_SET_MEM_BIT_WRITABLE,
|
|
+ MSHV_SET_MEM_BIT_EXECUTABLE,
|
|
+ MSHV_SET_MEM_BIT_UNMAP,
|
|
+ MSHV_SET_MEM_BIT_COUNT
|
|
+};
|
|
+
|
|
+#define MSHV_SET_MEM_FLAGS_MASK ((1 << MSHV_SET_MEM_BIT_COUNT) - 1)
|
|
+
|
|
+/* The hypervisor's "native" page size */
|
|
+#define MSHV_HV_PAGE_SIZE 0x1000
|
|
+
|
|
+/**
|
|
+ * struct mshv_user_mem_region - arguments for MSHV_SET_GUEST_MEMORY
|
|
+ * @size: Size of the memory region (bytes). Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @guest_pfn: Base guest page number to map
|
|
+ * @userspace_addr: Base address of userspace memory. Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @flags: Bitmask of 1 << MSHV_SET_MEM_BIT_*. If (1 << MSHV_SET_MEM_BIT_UNMAP)
|
|
+ * is set, ignore other bits.
|
|
+ * @rsvd: MBZ
|
|
+ *
|
|
+ * Map or unmap a region of userspace memory to Guest Physical Addresses (GPA).
|
|
+ * Mappings can't overlap in GPA space or userspace.
|
|
+ * To unmap, these fields must match an existing mapping.
|
|
+ */
|
|
+struct mshv_user_mem_region {
|
|
+ __u64 size;
|
|
+ __u64 guest_pfn;
|
|
+ __u64 userspace_addr;
|
|
+ __u8 flags;
|
|
+ __u8 rsvd[7];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IRQFD_BIT_DEASSIGN,
|
|
+ MSHV_IRQFD_BIT_RESAMPLE,
|
|
+ MSHV_IRQFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IRQFD_FLAGS_MASK ((1 << MSHV_IRQFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_irqfd {
|
|
+ __s32 fd;
|
|
+ __s32 resamplefd;
|
|
+ __u32 gsi;
|
|
+ __u32 flags;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IOEVENTFD_BIT_DATAMATCH,
|
|
+ MSHV_IOEVENTFD_BIT_PIO,
|
|
+ MSHV_IOEVENTFD_BIT_DEASSIGN,
|
|
+ MSHV_IOEVENTFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IOEVENTFD_FLAGS_MASK ((1 << MSHV_IOEVENTFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_ioeventfd {
|
|
+ __u64 datamatch;
|
|
+ __u64 addr; /* legal pio/mmio address */
|
|
+ __u32 len; /* 1, 2, 4, or 8 bytes */
|
|
+ __s32 fd;
|
|
+ __u32 flags;
|
|
+ __u8 rsvd[4];
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_entry {
|
|
+ __u32 gsi;
|
|
+ __u32 address_lo;
|
|
+ __u32 address_hi;
|
|
+ __u32 data;
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_table {
|
|
+ __u32 nr;
|
|
+ __u32 rsvd; /* MBZ */
|
|
+ struct mshv_user_irq_entry entries[];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_TYPE_ACCESSED,
|
|
+ MSHV_GPAP_ACCESS_TYPE_DIRTY,
|
|
+ MSHV_GPAP_ACCESS_TYPE_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_OP_NOOP,
|
|
+ MSHV_GPAP_ACCESS_OP_CLEAR,
|
|
+ MSHV_GPAP_ACCESS_OP_SET,
|
|
+ MSHV_GPAP_ACCESS_OP_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_gpap_access_bitmap - arguments for MSHV_GET_GPAP_ACCESS_BITMAP
|
|
+ * @access_type: MSHV_GPAP_ACCESS_TYPE_* - The type of access to record in the
|
|
+ * bitmap
|
|
+ * @access_op: MSHV_GPAP_ACCESS_OP_* - Allows an optional clear or set of all
|
|
+ * the access states in the range, after retrieving the current
|
|
+ * states.
|
|
+ * @rsvd: MBZ
|
|
+ * @page_count: Number of pages
|
|
+ * @gpap_base: Base gpa page number
|
|
+ * @bitmap_ptr: Output buffer for bitmap, at least (page_count + 7) / 8 bytes
|
|
+ *
|
|
+ * Retrieve a bitmap of either ACCESSED or DIRTY bits for a given range of guest
|
|
+ * memory, and optionally clear or set the bits.
|
|
+ */
|
|
+struct mshv_gpap_access_bitmap {
|
|
+ __u8 access_type;
|
|
+ __u8 access_op;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 page_count;
|
|
+ __u64 gpap_base;
|
|
+ __u64 bitmap_ptr;
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_root_hvcall - arguments for MSHV_ROOT_HVCALL
|
|
+ * @code: Hypercall code (HVCALL_*)
|
|
+ * @reps: in: Rep count ('repcount')
|
|
+ * out: Reps completed ('repcomp'). MBZ unless rep hvcall
|
|
+ * @in_sz: Size of input incl rep data. <= MSHV_HV_PAGE_SIZE
|
|
+ * @out_sz: Size of output buffer. <= MSHV_HV_PAGE_SIZE. MBZ if out_ptr is 0
|
|
+ * @status: in: MBZ
|
|
+ * out: HV_STATUS_* from hypercall
|
|
+ * @rsvd: MBZ
|
|
+ * @in_ptr: Input data buffer (struct hv_input_*). If used with partition or
|
|
+ * vp fd, partition id field is populated by kernel.
|
|
+ * @out_ptr: Output data buffer (optional)
|
|
+ */
|
|
+struct mshv_root_hvcall {
|
|
+ __u16 code;
|
|
+ __u16 reps;
|
|
+ __u16 in_sz;
|
|
+ __u16 out_sz;
|
|
+ __u16 status;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 in_ptr;
|
|
+ __u64 out_ptr;
|
|
+};
|
|
+
|
|
+/* Partition fds created with MSHV_CREATE_PARTITION */
|
|
+#define MSHV_INITIALIZE_PARTITION _IO(MSHV_IOCTL, 0x00)
|
|
+#define MSHV_CREATE_VP _IOW(MSHV_IOCTL, 0x01, struct mshv_create_vp)
|
|
+#define MSHV_SET_GUEST_MEMORY _IOW(MSHV_IOCTL, 0x02, struct mshv_user_mem_region)
|
|
+#define MSHV_IRQFD _IOW(MSHV_IOCTL, 0x03, struct mshv_user_irqfd)
|
|
+#define MSHV_IOEVENTFD _IOW(MSHV_IOCTL, 0x04, struct mshv_user_ioeventfd)
|
|
+#define MSHV_SET_MSI_ROUTING _IOW(MSHV_IOCTL, 0x05, struct mshv_user_irq_table)
|
|
+#define MSHV_GET_GPAP_ACCESS_BITMAP _IOWR(MSHV_IOCTL, 0x06, struct mshv_gpap_access_bitmap)
|
|
+/* Generic hypercall */
|
|
+#define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+
|
|
+/*
|
|
+ ********************************
|
|
+ * VP APIs for child partitions *
|
|
+ ********************************
|
|
+ */
|
|
+
|
|
+#define MSHV_RUN_VP_BUF_SZ 256
|
|
+
|
|
+/*
|
|
+ * VP state pages may be mapped to userspace via mmap().
|
|
+ * To specify which state page, use MSHV_VP_MMAP_OFFSET_ values multiplied by
|
|
+ * the system page size.
|
|
+ * e.g.
|
|
+ * long page_size = sysconf(_SC_PAGE_SIZE);
|
|
+ * void *reg_page = mmap(NULL, MSHV_HV_PAGE_SIZE, PROT_READ|PROT_WRITE,
|
|
+ * MAP_SHARED, vp_fd,
|
|
+ * MSHV_VP_MMAP_OFFSET_REGISTERS * page_size);
|
|
+ */
|
|
+enum {
|
|
+ MSHV_VP_MMAP_OFFSET_REGISTERS,
|
|
+ MSHV_VP_MMAP_OFFSET_INTERCEPT_MESSAGE,
|
|
+ MSHV_VP_MMAP_OFFSET_GHCB,
|
|
+ MSHV_VP_MMAP_OFFSET_COUNT
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_run_vp - argument for MSHV_RUN_VP
|
|
+ * @msg_buf: On success, the intercept message is copied here. It can be
|
|
+ * interpreted using the relevant hypervisor definitions.
|
|
+ */
|
|
+struct mshv_run_vp {
|
|
+ __u8 msg_buf[MSHV_RUN_VP_BUF_SZ];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_VP_STATE_LAPIC, /* Local interrupt controller state (either arch) */
|
|
+ MSHV_VP_STATE_XSAVE, /* XSAVE data in compacted form (x86_64) */
|
|
+ MSHV_VP_STATE_SIMP,
|
|
+ MSHV_VP_STATE_SIEFP,
|
|
+ MSHV_VP_STATE_SYNTHETIC_TIMERS,
|
|
+ MSHV_VP_STATE_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_get_set_vp_state - arguments for MSHV_[GET,SET]_VP_STATE
|
|
+ * @type: MSHV_VP_STATE_*
|
|
+ * @rsvd: MBZ
|
|
+ * @buf_sz: in: 4k page-aligned size of buffer
|
|
+ * out: Actual size of data (on EINVAL, check this to see if buffer
|
|
+ * was too small)
|
|
+ * @buf_ptr: 4k page-aligned data buffer
|
|
+ */
|
|
+struct mshv_get_set_vp_state {
|
|
+ __u8 type;
|
|
+ __u8 rsvd[3];
|
|
+ __u32 buf_sz;
|
|
+ __u64 buf_ptr;
|
|
+};
|
|
+
|
|
+/* VP fds created with MSHV_CREATE_VP */
|
|
+#define MSHV_RUN_VP _IOR(MSHV_IOCTL, 0x00, struct mshv_run_vp)
|
|
+#define MSHV_GET_VP_STATE _IOWR(MSHV_IOCTL, 0x01, struct mshv_get_set_vp_state)
|
|
+#define MSHV_SET_VP_STATE _IOWR(MSHV_IOCTL, 0x02, struct mshv_get_set_vp_state)
|
|
+/*
|
|
+ * Generic hypercall
|
|
+ * Defined above in partition IOCTLs, avoid redefining it here
|
|
+ * #define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+ */
|
|
+
|
|
+#endif
|
|
--- /dev/null
|
|
+++ b/riscv/usr/include/linux/net_shaper.h
|
|
@@ -0,0 +1,95 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/net_shaper.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_NET_SHAPER_H
|
|
+#define _LINUX_NET_SHAPER_H
|
|
+
|
|
+#define NET_SHAPER_FAMILY_NAME "net-shaper"
|
|
+#define NET_SHAPER_FAMILY_VERSION 1
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_scope - Defines the shaper @id interpretation.
|
|
+ * @NET_SHAPER_SCOPE_UNSPEC: The scope is not specified.
|
|
+ * @NET_SHAPER_SCOPE_NETDEV: The main shaper for the given network device.
|
|
+ * @NET_SHAPER_SCOPE_QUEUE: The shaper is attached to the given device queue,
|
|
+ * the @id represents the queue number.
|
|
+ * @NET_SHAPER_SCOPE_NODE: The shaper allows grouping of queues or other node
|
|
+ * shapers; can be nested in either @netdev shapers or other @node shapers,
|
|
+ * allowing placement in any location of the scheduling tree, except leaves
|
|
+ * and root.
|
|
+ */
|
|
+enum net_shaper_scope {
|
|
+ NET_SHAPER_SCOPE_UNSPEC,
|
|
+ NET_SHAPER_SCOPE_NETDEV,
|
|
+ NET_SHAPER_SCOPE_QUEUE,
|
|
+ NET_SHAPER_SCOPE_NODE,
|
|
+
|
|
+ /* private: */
|
|
+ __NET_SHAPER_SCOPE_MAX,
|
|
+ NET_SHAPER_SCOPE_MAX = (__NET_SHAPER_SCOPE_MAX - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_metric - Different metric supported by the shaper.
|
|
+ * @NET_SHAPER_METRIC_BPS: Shaper operates on a bits per second basis.
|
|
+ * @NET_SHAPER_METRIC_PPS: Shaper operates on a packets per second basis.
|
|
+ */
|
|
+enum net_shaper_metric {
|
|
+ NET_SHAPER_METRIC_BPS,
|
|
+ NET_SHAPER_METRIC_PPS,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE = 1,
|
|
+ NET_SHAPER_A_METRIC,
|
|
+ NET_SHAPER_A_BW_MIN,
|
|
+ NET_SHAPER_A_BW_MAX,
|
|
+ NET_SHAPER_A_BURST,
|
|
+ NET_SHAPER_A_PRIORITY,
|
|
+ NET_SHAPER_A_WEIGHT,
|
|
+ NET_SHAPER_A_IFINDEX,
|
|
+ NET_SHAPER_A_PARENT,
|
|
+ NET_SHAPER_A_LEAVES,
|
|
+
|
|
+ __NET_SHAPER_A_MAX,
|
|
+ NET_SHAPER_A_MAX = (__NET_SHAPER_A_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE_SCOPE = 1,
|
|
+ NET_SHAPER_A_HANDLE_ID,
|
|
+
|
|
+ __NET_SHAPER_A_HANDLE_MAX,
|
|
+ NET_SHAPER_A_HANDLE_MAX = (__NET_SHAPER_A_HANDLE_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_CAPS_IFINDEX = 1,
|
|
+ NET_SHAPER_A_CAPS_SCOPE,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_BPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_PPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_NESTING,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MIN,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MAX,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BURST,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_PRIORITY,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_WEIGHT,
|
|
+
|
|
+ __NET_SHAPER_A_CAPS_MAX,
|
|
+ NET_SHAPER_A_CAPS_MAX = (__NET_SHAPER_A_CAPS_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_CMD_GET = 1,
|
|
+ NET_SHAPER_CMD_SET,
|
|
+ NET_SHAPER_CMD_DELETE,
|
|
+ NET_SHAPER_CMD_GROUP,
|
|
+ NET_SHAPER_CMD_CAP_GET,
|
|
+
|
|
+ __NET_SHAPER_CMD_MAX,
|
|
+ NET_SHAPER_CMD_MAX = (__NET_SHAPER_CMD_MAX - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_NET_SHAPER_H */
|
|
--- a/riscv/usr/include/linux/net_tstamp.h
|
|
+++ b/riscv/usr/include/linux/net_tstamp.h
|
|
@@ -13,6 +13,17 @@
|
|
#include <linux/types.h>
|
|
#include <linux/socket.h> /* for SO_TIMESTAMPING */
|
|
|
|
+/*
|
|
+ * Possible type of hwtstamp provider. Mainly "precise" the default one
|
|
+ * is for IEEE 1588 quality and "approx" is for NICs DMA point.
|
|
+ */
|
|
+enum hwtstamp_provider_qualifier {
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_PRECISE,
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_APPROX,
|
|
+
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_CNT,
|
|
+};
|
|
+
|
|
/* SO_TIMESTAMPING flags */
|
|
enum {
|
|
SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
|
|
--- a/riscv/usr/include/linux/netdev.h
|
|
+++ b/riscv/usr/include/linux/netdev.h
|
|
@@ -122,6 +122,9 @@ enum {
|
|
NETDEV_A_NAPI_ID,
|
|
NETDEV_A_NAPI_IRQ,
|
|
NETDEV_A_NAPI_PID,
|
|
+ NETDEV_A_NAPI_DEFER_HARD_IRQS,
|
|
+ NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT,
|
|
+ NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT,
|
|
|
|
__NETDEV_A_NAPI_MAX,
|
|
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
|
@@ -199,6 +202,7 @@ enum {
|
|
NETDEV_CMD_NAPI_GET,
|
|
NETDEV_CMD_QSTATS_GET,
|
|
NETDEV_CMD_BIND_RX,
|
|
+ NETDEV_CMD_NAPI_SET,
|
|
|
|
__NETDEV_CMD_MAX,
|
|
NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)
|
|
--- a/riscv/usr/include/linux/nl80211.h
|
|
+++ b/riscv/usr/include/linux/nl80211.h
|
|
@@ -4294,6 +4294,8 @@ enum nl80211_wmm_rule {
|
|
* otherwise completely disabled.
|
|
* @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a
|
|
* very low power (VLP) AP, despite being NO_IR.
|
|
+ * @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in
|
|
+ * 20 MHz bandwidth, despite being NO_IR.
|
|
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
|
* currently defined
|
|
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
|
@@ -4338,6 +4340,7 @@ enum nl80211_frequency_attr {
|
|
NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
|
|
NL80211_FREQUENCY_ATTR_CAN_MONITOR,
|
|
NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
|
|
+ NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY,
|
|
|
|
/* keep last */
|
|
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
|
@@ -4549,31 +4552,34 @@ enum nl80211_sched_scan_match_attr {
|
|
* @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed
|
|
* @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted
|
|
* despite NO_IR configuration.
|
|
+ * @NL80211_RRF_ALLOW_20MHZ_ACTIVITY: Allow activity in 20 MHz bandwidth,
|
|
+ * despite NO_IR configuration.
|
|
*/
|
|
enum nl80211_reg_rule_flags {
|
|
- NL80211_RRF_NO_OFDM = 1<<0,
|
|
- NL80211_RRF_NO_CCK = 1<<1,
|
|
- NL80211_RRF_NO_INDOOR = 1<<2,
|
|
- NL80211_RRF_NO_OUTDOOR = 1<<3,
|
|
- NL80211_RRF_DFS = 1<<4,
|
|
- NL80211_RRF_PTP_ONLY = 1<<5,
|
|
- NL80211_RRF_PTMP_ONLY = 1<<6,
|
|
- NL80211_RRF_NO_IR = 1<<7,
|
|
- __NL80211_RRF_NO_IBSS = 1<<8,
|
|
- NL80211_RRF_AUTO_BW = 1<<11,
|
|
- NL80211_RRF_IR_CONCURRENT = 1<<12,
|
|
- NL80211_RRF_NO_HT40MINUS = 1<<13,
|
|
- NL80211_RRF_NO_HT40PLUS = 1<<14,
|
|
- NL80211_RRF_NO_80MHZ = 1<<15,
|
|
- NL80211_RRF_NO_160MHZ = 1<<16,
|
|
- NL80211_RRF_NO_HE = 1<<17,
|
|
- NL80211_RRF_NO_320MHZ = 1<<18,
|
|
- NL80211_RRF_NO_EHT = 1<<19,
|
|
- NL80211_RRF_PSD = 1<<20,
|
|
- NL80211_RRF_DFS_CONCURRENT = 1<<21,
|
|
- NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22,
|
|
- NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23,
|
|
- NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24,
|
|
+ NL80211_RRF_NO_OFDM = 1 << 0,
|
|
+ NL80211_RRF_NO_CCK = 1 << 1,
|
|
+ NL80211_RRF_NO_INDOOR = 1 << 2,
|
|
+ NL80211_RRF_NO_OUTDOOR = 1 << 3,
|
|
+ NL80211_RRF_DFS = 1 << 4,
|
|
+ NL80211_RRF_PTP_ONLY = 1 << 5,
|
|
+ NL80211_RRF_PTMP_ONLY = 1 << 6,
|
|
+ NL80211_RRF_NO_IR = 1 << 7,
|
|
+ __NL80211_RRF_NO_IBSS = 1 << 8,
|
|
+ NL80211_RRF_AUTO_BW = 1 << 11,
|
|
+ NL80211_RRF_IR_CONCURRENT = 1 << 12,
|
|
+ NL80211_RRF_NO_HT40MINUS = 1 << 13,
|
|
+ NL80211_RRF_NO_HT40PLUS = 1 << 14,
|
|
+ NL80211_RRF_NO_80MHZ = 1 << 15,
|
|
+ NL80211_RRF_NO_160MHZ = 1 << 16,
|
|
+ NL80211_RRF_NO_HE = 1 << 17,
|
|
+ NL80211_RRF_NO_320MHZ = 1 << 18,
|
|
+ NL80211_RRF_NO_EHT = 1 << 19,
|
|
+ NL80211_RRF_PSD = 1 << 20,
|
|
+ NL80211_RRF_DFS_CONCURRENT = 1 << 21,
|
|
+ NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22,
|
|
+ NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23,
|
|
+ NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24,
|
|
+ NL80211_RRF_ALLOW_20MHZ_ACTIVITY = 1 << 25,
|
|
};
|
|
|
|
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
|
|
--- a/riscv/usr/include/linux/pci_regs.h
|
|
+++ b/riscv/usr/include/linux/pci_regs.h
|
|
@@ -340,7 +340,8 @@
|
|
#define PCI_MSIX_ENTRY_UPPER_ADDR 0x4 /* Message Upper Address */
|
|
#define PCI_MSIX_ENTRY_DATA 0x8 /* Message Data */
|
|
#define PCI_MSIX_ENTRY_VECTOR_CTRL 0xc /* Vector Control */
|
|
-#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001
|
|
+#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001 /* Mask Bit */
|
|
+#define PCI_MSIX_ENTRY_CTRL_ST 0xffff0000 /* Steering Tag */
|
|
|
|
/* CompactPCI Hotswap Register */
|
|
|
|
@@ -659,6 +660,7 @@
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP64 0x00000100 /* 64b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP128 0x00000200 /* 128b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_LTR 0x00000800 /* Latency tolerance reporting */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_MASK 0x00003000 /* TPH completer support */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000 /* OBFF support mechanism */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000 /* New message signaling */
|
|
#define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
|
|
@@ -1023,15 +1025,34 @@
|
|
#define PCI_DPA_CAP_SUBSTATE_MASK 0x1F /* # substates - 1 */
|
|
#define PCI_DPA_BASE_SIZEOF 16 /* size with 0 substates */
|
|
|
|
+/* TPH Completer Support */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_NONE 0x0 /* None */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_TPH_ONLY 0x1 /* TPH only */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_EXT_TPH 0x3 /* TPH and Extended TPH */
|
|
+
|
|
/* TPH Requester */
|
|
#define PCI_TPH_CAP 4 /* capability register */
|
|
-#define PCI_TPH_CAP_LOC_MASK 0x600 /* location mask */
|
|
-#define PCI_TPH_LOC_NONE 0x000 /* no location */
|
|
-#define PCI_TPH_LOC_CAP 0x200 /* in capability */
|
|
-#define PCI_TPH_LOC_MSIX 0x400 /* in MSI-X */
|
|
-#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST table mask */
|
|
-#define PCI_TPH_CAP_ST_SHIFT 16 /* ST table shift */
|
|
-#define PCI_TPH_BASE_SIZEOF 0xc /* size with no ST table */
|
|
+#define PCI_TPH_CAP_ST_NS 0x00000001 /* No ST Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_IV 0x00000002 /* Interrupt Vector Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_DS 0x00000004 /* Device Specific Mode Supported */
|
|
+#define PCI_TPH_CAP_EXT_TPH 0x00000100 /* Ext TPH Requester Supported */
|
|
+#define PCI_TPH_CAP_LOC_MASK 0x00000600 /* ST Table Location */
|
|
+#define PCI_TPH_LOC_NONE 0x00000000 /* Not present */
|
|
+#define PCI_TPH_LOC_CAP 0x00000200 /* In capability */
|
|
+#define PCI_TPH_LOC_MSIX 0x00000400 /* In MSI-X */
|
|
+#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST Table Size */
|
|
+#define PCI_TPH_CAP_ST_SHIFT 16 /* ST Table Size shift */
|
|
+#define PCI_TPH_BASE_SIZEOF 0xc /* Size with no ST table */
|
|
+
|
|
+#define PCI_TPH_CTRL 8 /* control register */
|
|
+#define PCI_TPH_CTRL_MODE_SEL_MASK 0x00000007 /* ST Mode Select */
|
|
+#define PCI_TPH_ST_NS_MODE 0x0 /* No ST Mode */
|
|
+#define PCI_TPH_ST_IV_MODE 0x1 /* Interrupt Vector Mode */
|
|
+#define PCI_TPH_ST_DS_MODE 0x2 /* Device Specific Mode */
|
|
+#define PCI_TPH_CTRL_REQ_EN_MASK 0x00000300 /* TPH Requester Enable */
|
|
+#define PCI_TPH_REQ_DISABLE 0x0 /* No TPH requests allowed */
|
|
+#define PCI_TPH_REQ_TPH_ONLY 0x1 /* TPH only requests allowed */
|
|
+#define PCI_TPH_REQ_EXT_TPH 0x3 /* Extended TPH requests allowed */
|
|
|
|
/* Downstream Port Containment */
|
|
#define PCI_EXP_DPC_CAP 0x04 /* DPC Capability */
|
|
--- a/riscv/usr/include/linux/perf_event.h
|
|
+++ b/riscv/usr/include/linux/perf_event.h
|
|
@@ -385,6 +385,8 @@ enum perf_event_read_format {
|
|
*
|
|
* @sample_max_stack: Max number of frame pointers in a callchain,
|
|
* should be < /proc/sys/kernel/perf_event_max_stack
|
|
+ * Max number of entries of branch stack
|
|
+ * should be < hardware limit
|
|
*/
|
|
struct perf_event_attr {
|
|
|
|
@@ -511,7 +513,16 @@ struct perf_event_attr {
|
|
__u16 sample_max_stack;
|
|
__u16 __reserved_2;
|
|
__u32 aux_sample_size;
|
|
- __u32 __reserved_3;
|
|
+
|
|
+ union {
|
|
+ __u32 aux_action;
|
|
+ struct {
|
|
+ __u32 aux_start_paused : 1, /* start AUX area tracing paused */
|
|
+ aux_pause : 1, /* on overflow, pause AUX area tracing */
|
|
+ aux_resume : 1, /* on overflow, resume AUX area tracing */
|
|
+ __reserved_3 : 29;
|
|
+ };
|
|
+ };
|
|
|
|
/*
|
|
* User provided data if sigtrap=1, passed back to user via
|
|
--- a/riscv/usr/include/linux/pfrut.h
|
|
+++ b/riscv/usr/include/linux/pfrut.h
|
|
@@ -89,6 +89,7 @@ struct pfru_payload_hdr {
|
|
__u32 hw_ver;
|
|
__u32 rt_ver;
|
|
__u8 platform_id[16];
|
|
+ __u32 svn_ver;
|
|
};
|
|
|
|
enum pfru_dsm_status {
|
|
--- a/riscv/usr/include/linux/pidfd.h
|
|
+++ b/riscv/usr/include/linux/pidfd.h
|
|
@@ -16,6 +16,56 @@
|
|
#define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1)
|
|
#define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2)
|
|
|
|
+/* Flags for pidfd_info. */
|
|
+#define PIDFD_INFO_PID (1UL << 0) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CREDS (1UL << 1) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CGROUPID (1UL << 2) /* Always returned if available, even if not requested */
|
|
+#define PIDFD_INFO_EXIT (1UL << 3) /* Only returned if requested. */
|
|
+
|
|
+#define PIDFD_INFO_SIZE_VER0 64 /* sizeof first published struct */
|
|
+
|
|
+struct pidfd_info {
|
|
+ /*
|
|
+ * This mask is similar to the request_mask in statx(2).
|
|
+ *
|
|
+ * Userspace indicates what extensions or expensive-to-calculate fields
|
|
+ * they want by setting the corresponding bits in mask. The kernel
|
|
+ * will ignore bits that it does not know about.
|
|
+ *
|
|
+ * When filling the structure, the kernel will only set bits
|
|
+ * corresponding to the fields that were actually filled by the kernel.
|
|
+ * This also includes any future extensions that might be automatically
|
|
+ * filled. If the structure size is too small to contain a field
|
|
+ * (requested or not), to avoid confusion the mask will not
|
|
+ * contain a bit for that field.
|
|
+ *
|
|
+ * As such, userspace MUST verify that mask contains the
|
|
+ * corresponding flags after the ioctl(2) returns to ensure that it is
|
|
+ * using valid data.
|
|
+ */
|
|
+ __u64 mask;
|
|
+ /*
|
|
+ * The information contained in the following fields might be stale at the
|
|
+ * time it is received, as the target process might have exited as soon as
|
|
+ * the IOCTL was processed, and there is no way to avoid that. However, it
|
|
+ * is guaranteed that if the call was successful, then the information was
|
|
+ * correct and referred to the intended process at the time the work was
|
|
+ * performed. */
|
|
+ __u64 cgroupid;
|
|
+ __u32 pid;
|
|
+ __u32 tgid;
|
|
+ __u32 ppid;
|
|
+ __u32 ruid;
|
|
+ __u32 rgid;
|
|
+ __u32 euid;
|
|
+ __u32 egid;
|
|
+ __u32 suid;
|
|
+ __u32 sgid;
|
|
+ __u32 fsuid;
|
|
+ __u32 fsgid;
|
|
+ __s32 exit_code;
|
|
+};
|
|
+
|
|
#define PIDFS_IOCTL_MAGIC 0xFF
|
|
|
|
#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1)
|
|
@@ -28,5 +78,6 @@
|
|
#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8)
|
|
#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9)
|
|
#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10)
|
|
+#define PIDFD_GET_INFO _IOWR(PIDFS_IOCTL_MAGIC, 11, struct pidfd_info)
|
|
|
|
#endif /* _LINUX_PIDFD_H */
|
|
--- a/riscv/usr/include/linux/psci.h
|
|
+++ b/riscv/usr/include/linux/psci.h
|
|
@@ -59,6 +59,7 @@
|
|
#define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18)
|
|
#define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19)
|
|
#define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(20)
|
|
+#define PSCI_1_3_FN_SYSTEM_OFF2 PSCI_0_2_FN(21)
|
|
|
|
#define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12)
|
|
#define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13)
|
|
@@ -68,6 +69,7 @@
|
|
|
|
#define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18)
|
|
#define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(20)
|
|
+#define PSCI_1_3_FN64_SYSTEM_OFF2 PSCI_0_2_FN64(21)
|
|
|
|
/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
|
|
#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
|
|
@@ -100,6 +102,9 @@
|
|
#define PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET 0
|
|
#define PSCI_1_1_RESET_TYPE_VENDOR_START 0x80000000U
|
|
|
|
+/* PSCI v1.3 hibernate type for SYSTEM_OFF2 */
|
|
+#define PSCI_1_3_OFF_TYPE_HIBERNATE_OFF BIT(0)
|
|
+
|
|
/* PSCI version decoding (independent of PSCI version) */
|
|
#define PSCI_VERSION_MAJOR_SHIFT 16
|
|
#define PSCI_VERSION_MINOR_MASK \
|
|
--- a/riscv/usr/include/linux/psp-sev.h
|
|
+++ b/riscv/usr/include/linux/psp-sev.h
|
|
@@ -73,13 +73,20 @@ typedef enum {
|
|
SEV_RET_INVALID_PARAM,
|
|
SEV_RET_RESOURCE_LIMIT,
|
|
SEV_RET_SECURE_DATA_INVALID,
|
|
- SEV_RET_INVALID_KEY = 0x27,
|
|
- SEV_RET_INVALID_PAGE_SIZE,
|
|
- SEV_RET_INVALID_PAGE_STATE,
|
|
- SEV_RET_INVALID_MDATA_ENTRY,
|
|
- SEV_RET_INVALID_PAGE_OWNER,
|
|
- SEV_RET_INVALID_PAGE_AEAD_OFLOW,
|
|
- SEV_RET_RMP_INIT_REQUIRED,
|
|
+ SEV_RET_INVALID_PAGE_SIZE = 0x0019,
|
|
+ SEV_RET_INVALID_PAGE_STATE = 0x001A,
|
|
+ SEV_RET_INVALID_MDATA_ENTRY = 0x001B,
|
|
+ SEV_RET_INVALID_PAGE_OWNER = 0x001C,
|
|
+ SEV_RET_AEAD_OFLOW = 0x001D,
|
|
+ SEV_RET_EXIT_RING_BUFFER = 0x001F,
|
|
+ SEV_RET_RMP_INIT_REQUIRED = 0x0020,
|
|
+ SEV_RET_BAD_SVN = 0x0021,
|
|
+ SEV_RET_BAD_VERSION = 0x0022,
|
|
+ SEV_RET_SHUTDOWN_REQUIRED = 0x0023,
|
|
+ SEV_RET_UPDATE_FAILED = 0x0024,
|
|
+ SEV_RET_RESTORE_REQUIRED = 0x0025,
|
|
+ SEV_RET_RMP_INITIALIZATION_FAILED = 0x0026,
|
|
+ SEV_RET_INVALID_KEY = 0x0027,
|
|
SEV_RET_MAX,
|
|
} sev_ret_code;
|
|
|
|
--- a/riscv/usr/include/linux/raid/md_p.h
|
|
+++ b/riscv/usr/include/linux/raid/md_p.h
|
|
@@ -85,6 +85,7 @@
|
|
* devices available - and don't try to
|
|
* correct read errors.
|
|
*/
|
|
+#define MD_DISK_TIMEOUT 11 /* disk is faulty due to timeout */
|
|
|
|
#define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
|
|
* read requests will only be sent here in
|
|
@@ -95,6 +96,7 @@
|
|
#define MD_DISK_ROLE_SPARE 0xffff
|
|
#define MD_DISK_ROLE_FAULTY 0xfffe
|
|
#define MD_DISK_ROLE_JOURNAL 0xfffd
|
|
+#define MD_DISK_ROLE_TIMEOUT 0xfff0 /* SUSE-only timed-out */
|
|
#define MD_DISK_ROLE_MAX 0xff00 /* max value of regular disk role */
|
|
|
|
typedef struct mdp_device_descriptor_s {
|
|
@@ -233,7 +235,7 @@ struct mdp_superblock_1 {
|
|
char set_name[32]; /* set and interpreted by user-space */
|
|
|
|
__le64 ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/
|
|
- __le32 level; /* 0,1,4,5 */
|
|
+ __le32 level; /* 0,1,4,5, -1 (linear) */
|
|
__le32 layout; /* only for raid5 and raid10 currently */
|
|
__le64 size; /* used size of component devices, in 512byte sectors */
|
|
|
|
--- a/riscv/usr/include/linux/raid/md_u.h
|
|
+++ b/riscv/usr/include/linux/raid/md_u.h
|
|
@@ -103,6 +103,8 @@ typedef struct mdu_array_info_s {
|
|
|
|
} mdu_array_info_t;
|
|
|
|
+#define LEVEL_LINEAR (-1)
|
|
+
|
|
/* we need a value for 'no level specified' and 0
|
|
* means 'raid0', so we need something else. This is
|
|
* for internal use only
|
|
--- a/riscv/usr/include/linux/rkisp1-config.h
|
|
+++ b/riscv/usr/include/linux/rkisp1-config.h
|
|
@@ -1528,7 +1528,7 @@ enum rksip1_ext_param_buffer_version {
|
|
* The expected memory layout of the parameters buffer is::
|
|
*
|
|
* +-------------------- struct rkisp1_ext_params_cfg -------------------+
|
|
- * | version = RKISP_EXT_PARAMS_BUFFER_V1; |
|
|
+ * | version = RKISP1_EXT_PARAM_BUFFER_V1; |
|
|
* | data_size = sizeof(struct rkisp1_ext_params_bls_config) |
|
|
* | + sizeof(struct rkisp1_ext_params_dpcc_config); |
|
|
* | +------------------------- data ---------------------------------+ |
|
|
--- a/riscv/usr/include/linux/rtnetlink.h
|
|
+++ b/riscv/usr/include/linux/rtnetlink.h
|
|
@@ -174,7 +174,7 @@ enum {
|
|
#define RTM_GETLINKPROP RTM_GETLINKPROP
|
|
|
|
RTM_NEWVLAN = 112,
|
|
-#define RTM_NEWNVLAN RTM_NEWVLAN
|
|
+#define RTM_NEWVLAN RTM_NEWVLAN
|
|
RTM_DELVLAN,
|
|
#define RTM_DELVLAN RTM_DELVLAN
|
|
RTM_GETVLAN,
|
|
--- a/riscv/usr/include/linux/sed-opal.h
|
|
+++ b/riscv/usr/include/linux/sed-opal.h
|
|
@@ -215,5 +215,6 @@ struct opal_revert_lsp {
|
|
#define IOC_OPAL_GET_GEOMETRY _IOR('p', 238, struct opal_geometry)
|
|
#define IOC_OPAL_DISCOVERY _IOW('p', 239, struct opal_discovery)
|
|
#define IOC_OPAL_REVERT_LSP _IOW('p', 240, struct opal_revert_lsp)
|
|
+#define IOC_OPAL_SET_SID_PW _IOW('p', 241, struct opal_new_pw)
|
|
|
|
#endif /* _SED_OPAL_H */
|
|
--- a/riscv/usr/include/linux/stddef.h
|
|
+++ b/riscv/usr/include/linux/stddef.h
|
|
@@ -8,6 +8,13 @@
|
|
#define __always_inline __inline__
|
|
#endif
|
|
|
|
+/* Not all C++ standards support type declarations inside an anonymous union */
|
|
+#ifndef __cplusplus
|
|
+#define __struct_group_tag(TAG) TAG
|
|
+#else
|
|
+#define __struct_group_tag(TAG)
|
|
+#endif
|
|
+
|
|
/**
|
|
* __struct_group() - Create a mirrored named and anonyomous struct
|
|
*
|
|
@@ -20,13 +27,13 @@
|
|
* and size: one anonymous and one named. The former's members can be used
|
|
* normally without sub-struct naming, and the latter can be used to
|
|
* reason about the start, end, and size of the group of struct members.
|
|
- * The named struct can also be explicitly tagged for layer reuse, as well
|
|
- * as both having struct attributes appended.
|
|
+ * The named struct can also be explicitly tagged for layer reuse (C only),
|
|
+ * as well as both having struct attributes appended.
|
|
*/
|
|
#define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
|
|
union { \
|
|
struct { MEMBERS } ATTRS; \
|
|
- struct TAG { MEMBERS } ATTRS NAME; \
|
|
+ struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \
|
|
} ATTRS
|
|
|
|
#ifdef __cplusplus
|
|
--- a/riscv/usr/include/linux/types.h
|
|
+++ b/riscv/usr/include/linux/types.h
|
|
@@ -48,6 +48,7 @@ typedef __u32 __bitwise __wsum;
|
|
* No conversions are necessary between 32-bit user-space and a 64-bit kernel.
|
|
*/
|
|
#define __aligned_u64 __u64 __attribute__((aligned(8)))
|
|
+#define __aligned_s64 __s64 __attribute__((aligned(8)))
|
|
#define __aligned_be64 __be64 __attribute__((aligned(8)))
|
|
#define __aligned_le64 __le64 __attribute__((aligned(8)))
|
|
|
|
--- a/riscv/usr/include/linux/usb/ch9.h
|
|
+++ b/riscv/usr/include/linux/usb/ch9.h
|
|
@@ -253,6 +253,9 @@ struct usb_ctrlrequest {
|
|
#define USB_DT_BOS 0x0f
|
|
#define USB_DT_DEVICE_CAPABILITY 0x10
|
|
#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11
|
|
+/* From the eUSB2 spec */
|
|
+#define USB_DT_EUSB2_ISOC_ENDPOINT_COMP 0x12
|
|
+/* From Wireless USB spec */
|
|
#define USB_DT_WIRE_ADAPTER 0x21
|
|
/* From USB Device Firmware Upgrade Specification, Revision 1.1 */
|
|
#define USB_DT_DFU_FUNCTIONAL 0x21
|
|
@@ -330,6 +333,7 @@ struct usb_device_descriptor {
|
|
#define USB_CLASS_AUDIO_VIDEO 0x10
|
|
#define USB_CLASS_BILLBOARD 0x11
|
|
#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
|
|
+#define USB_CLASS_MCTP 0x14
|
|
#define USB_CLASS_MISC 0xef
|
|
#define USB_CLASS_APP_SPEC 0xfe
|
|
#define USB_SUBCLASS_DFU 0x01
|
|
@@ -675,6 +679,18 @@ static __inline__ int usb_endpoint_inter
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
+/* USB_DT_EUSB2_ISOC_ENDPOINT_COMP: eUSB2 Isoch Endpoint Companion descriptor */
|
|
+struct usb_eusb2_isoc_ep_comp_descriptor {
|
|
+ __u8 bLength;
|
|
+ __u8 bDescriptorType;
|
|
+ __le16 wMaxPacketSize;
|
|
+ __le32 dwBytesPerInterval;
|
|
+} __attribute__ ((packed));
|
|
+
|
|
+#define USB_DT_EUSB2_ISOC_EP_COMP_SIZE 8
|
|
+
|
|
+/*-------------------------------------------------------------------------*/
|
|
+
|
|
/* USB_DT_SSP_ISOC_ENDPOINT_COMP: SuperSpeedPlus Isochronous Endpoint Companion
|
|
* descriptor
|
|
*/
|
|
--- a/riscv/usr/include/linux/usb/functionfs.h
|
|
+++ b/riscv/usr/include/linux/usb/functionfs.h
|
|
@@ -205,7 +205,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -223,7 +223,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -236,7 +236,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* | 11 | ExtProp[] | | list of ext. prop. d. |
|
|
* +-----+-----------------+------+--------------------------+
|
|
*
|
|
- * ExtCompat[] is an array of valid Extended Compatiblity descriptors
|
|
+ * ExtCompat[] is an array of valid Extended Compatibility descriptors
|
|
* which have the following format:
|
|
*
|
|
* +-----+-----------------------+------+-------------------------------------+
|
|
@@ -294,7 +294,7 @@ struct usb_functionfs_strings_head {
|
|
* | 16 | stringtab | StringTab[lang_count] | table of strings per lang |
|
|
*
|
|
* For each language there is one stringtab entry (ie. there are lang_count
|
|
- * stringtab entires). Each StringTab has following format:
|
|
+ * stringtab entries). Each StringTab has following format:
|
|
*
|
|
* | off | name | type | description |
|
|
* |-----+---------+-------------------+------------------------------------|
|
|
--- a/riscv/usr/include/linux/vhost.h
|
|
+++ b/riscv/usr/include/linux/vhost.h
|
|
@@ -235,4 +235,33 @@
|
|
*/
|
|
#define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \
|
|
struct vhost_vring_state)
|
|
+
|
|
+/* fork_owner values for vhost */
|
|
+#define VHOST_FORK_OWNER_KTHREAD 0
|
|
+#define VHOST_FORK_OWNER_TASK 1
|
|
+
|
|
+/**
|
|
+ * VHOST_SET_FORK_FROM_OWNER - Set the fork_owner flag for the vhost device,
|
|
+ * This ioctl must called before VHOST_SET_OWNER.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @param fork_owner: An 8-bit value that determines the vhost thread mode
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_TASK(default value):
|
|
+ * - Vhost will create vhost worker as tasks forked from the owner,
|
|
+ * inheriting all of the owner's attributes.
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_KTHREAD:
|
|
+ * - Vhost will create vhost workers as kernel threads.
|
|
+ */
|
|
+#define VHOST_SET_FORK_FROM_OWNER _IOW(VHOST_VIRTIO, 0x84, __u8)
|
|
+
|
|
+/**
|
|
+ * VHOST_GET_FORK_OWNER - Get the current fork_owner flag for the vhost device.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @return: An 8-bit value indicating the current thread mode.
|
|
+ */
|
|
+#define VHOST_GET_FORK_FROM_OWNER _IOR(VHOST_VIRTIO, 0x85, __u8)
|
|
+
|
|
#endif
|
|
--- a/riscv/usr/include/linux/videodev2.h
|
|
+++ b/riscv/usr/include/linux/videodev2.h
|
|
@@ -771,6 +771,7 @@ struct v4l2_pix_format {
|
|
#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
|
|
#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
|
|
+#define V4L2_PIX_FMT_Y16I v4l2_fourcc('Y', '1', '6', 'I') /* Greyscale 16-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
|
|
#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
|
|
#define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */
|
|
@@ -832,6 +833,8 @@ struct v4l2_pix_format {
|
|
|
|
/* Vendor specific - used for RaspberryPi PiSP */
|
|
#define V4L2_META_FMT_RPI_BE_CFG v4l2_fourcc('R', 'P', 'B', 'C') /* PiSP BE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_CFG v4l2_fourcc('R', 'P', 'F', 'C') /* PiSP FE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_STATS v4l2_fourcc('R', 'P', 'F', 'S') /* PiSP FE stats */
|
|
|
|
|
|
/* priv field value to indicates that subsequent fields are valid. */
|
|
--- a/riscv/usr/include/linux/xfrm.h
|
|
+++ b/riscv/usr/include/linux/xfrm.h
|
|
@@ -322,6 +322,7 @@ enum xfrm_attr_type_t {
|
|
XFRMA_MTIMER_THRESH, /* __u32 in seconds for input SA */
|
|
XFRMA_SA_DIR, /* __u8 */
|
|
XFRMA_NAT_KEEPALIVE_INTERVAL, /* __u32 in seconds for NAT keepalive */
|
|
+ XFRMA_SA_PCPU, /* __u32 */
|
|
__XFRMA_MAX
|
|
|
|
#define XFRMA_OUTPUT_MARK XFRMA_SET_MARK /* Compatibility */
|
|
@@ -437,6 +438,7 @@ struct xfrm_userpolicy_info {
|
|
#define XFRM_POLICY_LOCALOK 1 /* Allow user to override global policy */
|
|
/* Automatically expand selector to include matching ICMP payloads. */
|
|
#define XFRM_POLICY_ICMP 2
|
|
+#define XFRM_POLICY_CPU_ACQUIRE 4
|
|
__u8 share;
|
|
};
|
|
|
|
--- a/riscv/usr/include/rdma/efa-abi.h
|
|
+++ b/riscv/usr/include/rdma/efa-abi.h
|
|
@@ -95,7 +95,8 @@ struct efa_ibv_create_qp {
|
|
__u32 sq_ring_size; /* bytes */
|
|
__u32 driver_qp_type;
|
|
__u16 flags;
|
|
- __u8 reserved_90[6];
|
|
+ __u8 sl;
|
|
+ __u8 reserved_98[5];
|
|
};
|
|
|
|
struct efa_ibv_create_qp_resp {
|
|
--- a/riscv/usr/include/rdma/mlx5-abi.h
|
|
+++ b/riscv/usr/include/rdma/mlx5-abi.h
|
|
@@ -252,6 +252,7 @@ enum mlx5_ib_query_dev_resp_flags {
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1,
|
|
MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE = 1 << 2,
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT = 1 << 3,
|
|
+ MLX5_IB_QUERY_DEV_RESP_FLAGS_OOO_DP = 1 << 4,
|
|
};
|
|
|
|
enum mlx5_ib_tunnel_offloads {
|
|
@@ -439,6 +440,10 @@ struct mlx5_ib_burst_info {
|
|
__u16 reserved;
|
|
};
|
|
|
|
+enum mlx5_ib_modify_qp_mask {
|
|
+ MLX5_IB_MODIFY_QP_OOO_DP = 1 << 0,
|
|
+};
|
|
+
|
|
struct mlx5_ib_modify_qp {
|
|
__u32 comp_mask;
|
|
struct mlx5_ib_burst_info burst_info;
|
|
--- a/riscv/usr/include/rdma/rdma_netlink.h
|
|
+++ b/riscv/usr/include/rdma/rdma_netlink.h
|
|
@@ -638,6 +638,8 @@ enum rdma_nl_notify_event_type {
|
|
RDMA_UNREGISTER_EVENT,
|
|
RDMA_NETDEV_ATTACH_EVENT,
|
|
RDMA_NETDEV_DETACH_EVENT,
|
|
+ RDMA_RENAME_EVENT,
|
|
+ RDMA_NETDEV_RENAME_EVENT,
|
|
};
|
|
|
|
#endif /* _RDMA_NETLINK_H */
|
|
--- a/riscv/usr/include/scsi/fc/fc_els.h
|
|
+++ b/riscv/usr/include/scsi/fc/fc_els.h
|
|
@@ -11,6 +11,8 @@
|
|
#include <linux/types.h>
|
|
#include <asm/byteorder.h>
|
|
|
|
+#include <stddef.h> /* for offsetof */
|
|
+
|
|
/*
|
|
* Fibre Channel Switch - Enhanced Link Services definitions.
|
|
* From T11 FC-LS Rev 1.2 June 7, 2005.
|
|
@@ -1109,12 +1111,15 @@ struct fc_els_fpin {
|
|
|
|
/* Diagnostic Function Descriptor - FPIN Registration */
|
|
struct fc_df_desc_fpin_reg {
|
|
- __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
- __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
- * Size of descriptor excluding
|
|
- * desc_tag and desc_len fields.
|
|
- */
|
|
- __be32 count; /* Number of desc_tags elements */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_df_desc_fpin_reg_hdr, __hdr, /* no attrs */,
|
|
+ __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
+ __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
+ * Size of descriptor excluding
|
|
+ * desc_tag and desc_len fields.
|
|
+ */
|
|
+ __be32 count; /* Number of desc_tags elements */
|
|
+ );
|
|
__be32 desc_tags[]; /* Array of Descriptor Tags.
|
|
* Each tag indicates a function
|
|
* supported by the N_Port (request)
|
|
@@ -1124,33 +1129,44 @@ struct fc_df_desc_fpin_reg {
|
|
* See ELS_FN_DTAG_xxx for tag values.
|
|
*/
|
|
};
|
|
+_Static_assert(offsetof(struct fc_df_desc_fpin_reg, desc_tags) == sizeof(struct fc_df_desc_fpin_reg_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS_RDF - Register Diagnostic Functions
|
|
*/
|
|
struct fc_els_rdf {
|
|
- __u8 fpin_cmd; /* command (0x19) */
|
|
- __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
- __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
- * Size of ELS excluding fpin_cmd,
|
|
- * fpin_zero and desc_len fields.
|
|
- */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_hdr, __hdr, /* no attrs */,
|
|
+ __u8 fpin_cmd; /* command (0x19) */
|
|
+ __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
+ __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
+ * Size of ELS excluding fpin_cmd,
|
|
+ * fpin_zero and desc_len fields.
|
|
+ */
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Descriptor list */
|
|
};
|
|
+_Static_assert(offsetof(struct fc_els_rdf, desc) == sizeof(struct fc_els_rdf_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS RDF LS_ACC Response.
|
|
*/
|
|
struct fc_els_rdf_resp {
|
|
- struct fc_els_ls_acc acc_hdr;
|
|
- __be32 desc_list_len; /* Length of response (in
|
|
- * bytes). Excludes acc_hdr
|
|
- * and desc_list_len fields.
|
|
- */
|
|
- struct fc_els_lsri_desc lsri;
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_resp_hdr, __hdr, /* no attrs */,
|
|
+ struct fc_els_ls_acc acc_hdr;
|
|
+ __be32 desc_list_len; /* Length of response (in
|
|
+ * bytes). Excludes acc_hdr
|
|
+ * and desc_list_len fields.
|
|
+ */
|
|
+ struct fc_els_lsri_desc lsri;
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Supported Descriptor list */
|
|
};
|
|
-
|
|
+_Static_assert(offsetof(struct fc_els_rdf_resp, desc) == sizeof(struct fc_els_rdf_resp_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* Diagnostic Capability Descriptors for EDC ELS
|
|
--- a/s390/usr/include/asm-generic/mman-common.h
|
|
+++ b/s390/usr/include/asm-generic/mman-common.h
|
|
@@ -79,6 +79,9 @@
|
|
|
|
#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */
|
|
|
|
+#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */
|
|
+#define MADV_GUARD_REMOVE 103 /* unguard range */
|
|
+
|
|
/* compatibility flags */
|
|
#define MAP_FILE 0
|
|
|
|
--- a/s390/usr/include/asm/dasd.h
|
|
+++ b/s390/usr/include/asm/dasd.h
|
|
@@ -294,7 +294,7 @@ struct dasd_snid_ioctl_data {
|
|
/********************************************************************************
|
|
* SECTION: Definition of IOCTLs
|
|
*
|
|
- * Here ist how the ioctl-nr should be used:
|
|
+ * Here is how the ioctl-nr should be used:
|
|
* 0 - 31 DASD driver itself
|
|
* 32 - 239 still open
|
|
* 240 - 255 reserved for EMC
|
|
--- /dev/null
|
|
+++ b/s390/usr/include/asm/diag.h
|
|
@@ -0,0 +1,24 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+/*
|
|
+ * Diag ioctls and its associated structures definitions.
|
|
+ *
|
|
+ * Copyright IBM Corp. 2024
|
|
+ */
|
|
+
|
|
+#ifndef __S390_UAPI_ASM_DIAG_H
|
|
+#define __S390_UAPI_ASM_DIAG_H
|
|
+
|
|
+#include <linux/types.h>
|
|
+
|
|
+#define DIAG_MAGIC_STR 'D'
|
|
+
|
|
+struct diag324_pib {
|
|
+ __u64 address;
|
|
+ __u64 sequence;
|
|
+};
|
|
+
|
|
+/* Diag ioctl definitions */
|
|
+#define DIAG324_GET_PIBBUF _IOWR(DIAG_MAGIC_STR, 0x77, struct diag324_pib)
|
|
+#define DIAG324_GET_PIBLEN _IOR(DIAG_MAGIC_STR, 0x78, size_t)
|
|
+
|
|
+#endif /* __S390_UAPI_ASM_DIAG_H */
|
|
--- a/s390/usr/include/asm/kvm.h
|
|
+++ b/s390/usr/include/asm/kvm.h
|
|
@@ -469,7 +469,8 @@ struct kvm_s390_vm_cpu_subfunc {
|
|
__u8 kdsa[16]; /* with MSA9 */
|
|
__u8 sortl[32]; /* with STFLE.150 */
|
|
__u8 dfltcc[32]; /* with STFLE.151 */
|
|
- __u8 reserved[1728];
|
|
+ __u8 pfcr[16]; /* with STFLE.201 */
|
|
+ __u8 reserved[1712];
|
|
};
|
|
|
|
#define KVM_S390_VM_CPU_PROCESSOR_UV_FEAT_GUEST 6
|
|
--- a/s390/usr/include/asm/pkey.h
|
|
+++ b/s390/usr/include/asm/pkey.h
|
|
@@ -55,6 +55,7 @@ enum pkey_key_type {
|
|
PKEY_TYPE_EP11_AES = (__u32) 6,
|
|
PKEY_TYPE_EP11_ECC = (__u32) 7,
|
|
PKEY_TYPE_PROTKEY = (__u32) 8,
|
|
+ PKEY_TYPE_UVSECRET = (__u32) 9,
|
|
};
|
|
|
|
/* the newer ioctls use a pkey_key_size enum for key size information */
|
|
--- a/s390/usr/include/asm/uvdevice.h
|
|
+++ b/s390/usr/include/asm/uvdevice.h
|
|
@@ -1,6 +1,6 @@
|
|
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
/*
|
|
- * Copyright IBM Corp. 2022
|
|
+ * Copyright IBM Corp. 2022, 2024
|
|
* Author(s): Steffen Eiden <seiden@linux.ibm.com>
|
|
*/
|
|
#ifndef __S390_ASM_UVDEVICE_H
|
|
@@ -52,7 +52,7 @@ struct uvio_uvdev_info {
|
|
__u64 supp_uvio_cmds;
|
|
/*
|
|
* If bit `n` is set, the Ultravisor(UV) supports the UV-call
|
|
- * corresponding to the IOCTL with nr `n` in the calling contextx (host
|
|
+ * corresponding to the IOCTL with nr `n` in the calling context (host
|
|
* or guest). The value is only valid if the corresponding bit in
|
|
* @supp_uvio_cmds is set as well.
|
|
*/
|
|
@@ -71,6 +71,7 @@ struct uvio_uvdev_info {
|
|
#define UVIO_ATT_ADDITIONAL_MAX_LEN 0x8000
|
|
#define UVIO_ADD_SECRET_MAX_LEN 0x100000
|
|
#define UVIO_LIST_SECRETS_LEN 0x1000
|
|
+#define UVIO_RETR_SECRET_MAX_LEN 0x2000
|
|
|
|
#define UVIO_DEVICE_NAME "uv"
|
|
#define UVIO_TYPE_UVC 'u'
|
|
@@ -81,22 +82,25 @@ enum UVIO_IOCTL_NR {
|
|
UVIO_IOCTL_ADD_SECRET_NR,
|
|
UVIO_IOCTL_LIST_SECRETS_NR,
|
|
UVIO_IOCTL_LOCK_SECRETS_NR,
|
|
+ UVIO_IOCTL_RETR_SECRET_NR,
|
|
/* must be the last entry */
|
|
UVIO_IOCTL_NUM_IOCTLS
|
|
};
|
|
|
|
-#define UVIO_IOCTL(nr) _IOWR(UVIO_TYPE_UVC, nr, struct uvio_ioctl_cb)
|
|
-#define UVIO_IOCTL_UVDEV_INFO UVIO_IOCTL(UVIO_IOCTL_UVDEV_INFO_NR)
|
|
-#define UVIO_IOCTL_ATT UVIO_IOCTL(UVIO_IOCTL_ATT_NR)
|
|
-#define UVIO_IOCTL_ADD_SECRET UVIO_IOCTL(UVIO_IOCTL_ADD_SECRET_NR)
|
|
-#define UVIO_IOCTL_LIST_SECRETS UVIO_IOCTL(UVIO_IOCTL_LIST_SECRETS_NR)
|
|
-#define UVIO_IOCTL_LOCK_SECRETS UVIO_IOCTL(UVIO_IOCTL_LOCK_SECRETS_NR)
|
|
-
|
|
-#define UVIO_SUPP_CALL(nr) (1ULL << (nr))
|
|
-#define UVIO_SUPP_UDEV_INFO UVIO_SUPP_CALL(UVIO_IOCTL_UDEV_INFO_NR)
|
|
-#define UVIO_SUPP_ATT UVIO_SUPP_CALL(UVIO_IOCTL_ATT_NR)
|
|
-#define UVIO_SUPP_ADD_SECRET UVIO_SUPP_CALL(UVIO_IOCTL_ADD_SECRET_NR)
|
|
-#define UVIO_SUPP_LIST_SECRETS UVIO_SUPP_CALL(UVIO_IOCTL_LIST_SECRETS_NR)
|
|
-#define UVIO_SUPP_LOCK_SECRETS UVIO_SUPP_CALL(UVIO_IOCTL_LOCK_SECRETS_NR)
|
|
+#define UVIO_IOCTL(nr) _IOWR(UVIO_TYPE_UVC, nr, struct uvio_ioctl_cb)
|
|
+#define UVIO_IOCTL_UVDEV_INFO UVIO_IOCTL(UVIO_IOCTL_UVDEV_INFO_NR)
|
|
+#define UVIO_IOCTL_ATT UVIO_IOCTL(UVIO_IOCTL_ATT_NR)
|
|
+#define UVIO_IOCTL_ADD_SECRET UVIO_IOCTL(UVIO_IOCTL_ADD_SECRET_NR)
|
|
+#define UVIO_IOCTL_LIST_SECRETS UVIO_IOCTL(UVIO_IOCTL_LIST_SECRETS_NR)
|
|
+#define UVIO_IOCTL_LOCK_SECRETS UVIO_IOCTL(UVIO_IOCTL_LOCK_SECRETS_NR)
|
|
+#define UVIO_IOCTL_RETR_SECRET UVIO_IOCTL(UVIO_IOCTL_RETR_SECRET_NR)
|
|
+
|
|
+#define UVIO_SUPP_CALL(nr) (1ULL << (nr))
|
|
+#define UVIO_SUPP_UDEV_INFO UVIO_SUPP_CALL(UVIO_IOCTL_UDEV_INFO_NR)
|
|
+#define UVIO_SUPP_ATT UVIO_SUPP_CALL(UVIO_IOCTL_ATT_NR)
|
|
+#define UVIO_SUPP_ADD_SECRET UVIO_SUPP_CALL(UVIO_IOCTL_ADD_SECRET_NR)
|
|
+#define UVIO_SUPP_LIST_SECRETS UVIO_SUPP_CALL(UVIO_IOCTL_LIST_SECRETS_NR)
|
|
+#define UVIO_SUPP_LOCK_SECRETS UVIO_SUPP_CALL(UVIO_IOCTL_LOCK_SECRETS_NR)
|
|
+#define UVIO_SUPP_RETR_SECRET UVIO_SUPP_CALL(UVIO_IOCTL_RETR_SECRET_NR)
|
|
|
|
#endif /* __S390_ASM_UVDEVICE_H */
|
|
--- a/s390/usr/include/linux/devlink.h
|
|
+++ b/s390/usr/include/linux/devlink.h
|
|
@@ -385,6 +385,21 @@ enum devlink_linecard_state {
|
|
DEVLINK_LINECARD_STATE_MAX = __DEVLINK_LINECARD_STATE_MAX - 1
|
|
};
|
|
|
|
+/* Variable attribute type. */
|
|
+enum devlink_var_attr_type {
|
|
+ /* Following values relate to the internal NLA_* values */
|
|
+ DEVLINK_VAR_ATTR_TYPE_U8 = 1,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U16,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U32,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U64,
|
|
+ DEVLINK_VAR_ATTR_TYPE_STRING,
|
|
+ DEVLINK_VAR_ATTR_TYPE_FLAG,
|
|
+ DEVLINK_VAR_ATTR_TYPE_NUL_STRING = 10,
|
|
+ DEVLINK_VAR_ATTR_TYPE_BINARY,
|
|
+ __DEVLINK_VAR_ATTR_TYPE_CUSTOM_BASE = 0x80,
|
|
+ /* Any possible custom types, unrelated to NLA_* values go below */
|
|
+};
|
|
+
|
|
enum devlink_attr {
|
|
/* don't change the order or add anything between, this is ABI! */
|
|
DEVLINK_ATTR_UNSPEC,
|
|
--- a/s390/usr/include/linux/dm-ioctl.h
|
|
+++ b/s390/usr/include/linux/dm-ioctl.h
|
|
@@ -286,9 +286,9 @@ enum {
|
|
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
|
|
|
#define DM_VERSION_MAJOR 4
|
|
-#define DM_VERSION_MINOR 48
|
|
+#define DM_VERSION_MINOR 49
|
|
#define DM_VERSION_PATCHLEVEL 0
|
|
-#define DM_VERSION_EXTRA "-ioctl (2023-03-01)"
|
|
+#define DM_VERSION_EXTRA "-ioctl (2025-01-17)"
|
|
|
|
/* Status bits */
|
|
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
|
--- a/s390/usr/include/linux/dpll.h
|
|
+++ b/s390/usr/include/linux/dpll.h
|
|
@@ -79,6 +79,29 @@ enum dpll_lock_status_error {
|
|
DPLL_LOCK_STATUS_ERROR_MAX = (__DPLL_LOCK_STATUS_ERROR_MAX - 1)
|
|
};
|
|
|
|
+/**
|
|
+ * enum dpll_clock_quality_level - level of quality of a clock device. This
|
|
+ * mainly applies when the dpll lock-status is DPLL_LOCK_STATUS_HOLDOVER. The
|
|
+ * current list is defined according to the table 11-7 contained in ITU-T
|
|
+ * G.8264/Y.1364 document. One may extend this list freely by other ITU-T
|
|
+ * defined clock qualities, or different ones defined by another
|
|
+ * standardization body (for those, please use different prefix).
|
|
+ */
|
|
+enum dpll_clock_quality_level {
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRC = 1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_A,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_B,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEC1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEEC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRC,
|
|
+
|
|
+ /* private: */
|
|
+ __DPLL_CLOCK_QUALITY_LEVEL_MAX,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_MAX = (__DPLL_CLOCK_QUALITY_LEVEL_MAX - 1)
|
|
+};
|
|
+
|
|
#define DPLL_TEMP_DIVIDER 1000
|
|
|
|
/**
|
|
@@ -180,6 +203,7 @@ enum dpll_a {
|
|
DPLL_A_TEMP,
|
|
DPLL_A_TYPE,
|
|
DPLL_A_LOCK_STATUS_ERROR,
|
|
+ DPLL_A_CLOCK_QUALITY_LEVEL,
|
|
|
|
__DPLL_A_MAX,
|
|
DPLL_A_MAX = (__DPLL_A_MAX - 1)
|
|
--- a/s390/usr/include/linux/ethtool.h
|
|
+++ b/s390/usr/include/linux/ethtool.h
|
|
@@ -679,6 +679,8 @@ enum ethtool_link_ext_substate_module {
|
|
* @ETH_SS_STATS_ETH_MAC: names of IEEE 802.3 MAC statistics
|
|
* @ETH_SS_STATS_ETH_CTRL: names of IEEE 802.3 MAC Control statistics
|
|
* @ETH_SS_STATS_RMON: names of RMON statistics
|
|
+ * @ETH_SS_STATS_PHY: names of PHY(dev) statistics
|
|
+ * @ETH_SS_TS_FLAGS: hardware timestamping flags
|
|
*
|
|
* @ETH_SS_COUNT: number of defined string sets
|
|
*/
|
|
@@ -704,6 +706,8 @@ enum ethtool_stringset {
|
|
ETH_SS_STATS_ETH_MAC,
|
|
ETH_SS_STATS_ETH_CTRL,
|
|
ETH_SS_STATS_RMON,
|
|
+ ETH_SS_STATS_PHY,
|
|
+ ETH_SS_TS_FLAGS,
|
|
|
|
/* add new constants above here */
|
|
ETH_SS_COUNT
|
|
--- a/s390/usr/include/linux/ethtool_netlink.h
|
|
+++ b/s390/usr/include/linux/ethtool_netlink.h
|
|
@@ -10,545 +10,12 @@
|
|
#define _LINUX_ETHTOOL_NETLINK_H_
|
|
|
|
#include <linux/ethtool.h>
|
|
-
|
|
-/* message types - userspace to kernel */
|
|
-enum {
|
|
- ETHTOOL_MSG_USER_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET,
|
|
- ETHTOOL_MSG_LINKINFO_GET,
|
|
- ETHTOOL_MSG_LINKINFO_SET,
|
|
- ETHTOOL_MSG_LINKMODES_GET,
|
|
- ETHTOOL_MSG_LINKMODES_SET,
|
|
- ETHTOOL_MSG_LINKSTATE_GET,
|
|
- ETHTOOL_MSG_DEBUG_GET,
|
|
- ETHTOOL_MSG_DEBUG_SET,
|
|
- ETHTOOL_MSG_WOL_GET,
|
|
- ETHTOOL_MSG_WOL_SET,
|
|
- ETHTOOL_MSG_FEATURES_GET,
|
|
- ETHTOOL_MSG_FEATURES_SET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
- ETHTOOL_MSG_RINGS_GET,
|
|
- ETHTOOL_MSG_RINGS_SET,
|
|
- ETHTOOL_MSG_CHANNELS_GET,
|
|
- ETHTOOL_MSG_CHANNELS_SET,
|
|
- ETHTOOL_MSG_COALESCE_GET,
|
|
- ETHTOOL_MSG_COALESCE_SET,
|
|
- ETHTOOL_MSG_PAUSE_GET,
|
|
- ETHTOOL_MSG_PAUSE_SET,
|
|
- ETHTOOL_MSG_EEE_GET,
|
|
- ETHTOOL_MSG_EEE_SET,
|
|
- ETHTOOL_MSG_TSINFO_GET,
|
|
- ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
- ETHTOOL_MSG_FEC_GET,
|
|
- ETHTOOL_MSG_FEC_SET,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
- ETHTOOL_MSG_STATS_GET,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
- ETHTOOL_MSG_MODULE_GET,
|
|
- ETHTOOL_MSG_MODULE_SET,
|
|
- ETHTOOL_MSG_PSE_GET,
|
|
- ETHTOOL_MSG_PSE_SET,
|
|
- ETHTOOL_MSG_RSS_GET,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG,
|
|
- ETHTOOL_MSG_PLCA_SET_CFG,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
- ETHTOOL_MSG_MM_GET,
|
|
- ETHTOOL_MSG_MM_SET,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
- ETHTOOL_MSG_PHY_GET,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_USER_CNT,
|
|
- ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
|
|
-};
|
|
-
|
|
-/* message types - kernel to userspace */
|
|
-enum {
|
|
- ETHTOOL_MSG_KERNEL_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_NTF,
|
|
- ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKMODES_NTF,
|
|
- ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_NTF,
|
|
- ETHTOOL_MSG_WOL_GET_REPLY,
|
|
- ETHTOOL_MSG_WOL_NTF,
|
|
- ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_NTF,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
- ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
- ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
- ETHTOOL_MSG_RINGS_NTF,
|
|
- ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
- ETHTOOL_MSG_CHANNELS_NTF,
|
|
- ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
- ETHTOOL_MSG_COALESCE_NTF,
|
|
- ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
- ETHTOOL_MSG_PAUSE_NTF,
|
|
- ETHTOOL_MSG_EEE_GET_REPLY,
|
|
- ETHTOOL_MSG_EEE_NTF,
|
|
- ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_NTF,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
- ETHTOOL_MSG_STATS_GET_REPLY,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_NTF,
|
|
- ETHTOOL_MSG_PSE_GET_REPLY,
|
|
- ETHTOOL_MSG_RSS_GET_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
- ETHTOOL_MSG_PLCA_NTF,
|
|
- ETHTOOL_MSG_MM_GET_REPLY,
|
|
- ETHTOOL_MSG_MM_NTF,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
- ETHTOOL_MSG_PHY_GET_REPLY,
|
|
- ETHTOOL_MSG_PHY_NTF,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_KERNEL_CNT,
|
|
- ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
|
|
-};
|
|
-
|
|
-/* request header */
|
|
-
|
|
-enum ethtool_header_flags {
|
|
- ETHTOOL_FLAG_COMPACT_BITSETS = 1 << 0, /* use compact bitsets in reply */
|
|
- ETHTOOL_FLAG_OMIT_REPLY = 1 << 1, /* provide optional reply for SET or ACT requests */
|
|
- ETHTOOL_FLAG_STATS = 1 << 2, /* request statistics, if supported by the driver */
|
|
-};
|
|
+#include <linux/ethtool_netlink_generated.h>
|
|
|
|
#define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \
|
|
ETHTOOL_FLAG_OMIT_REPLY | \
|
|
ETHTOOL_FLAG_STATS)
|
|
|
|
-enum {
|
|
- ETHTOOL_A_HEADER_UNSPEC,
|
|
- ETHTOOL_A_HEADER_DEV_INDEX, /* u32 */
|
|
- ETHTOOL_A_HEADER_DEV_NAME, /* string */
|
|
- ETHTOOL_A_HEADER_FLAGS, /* u32 - ETHTOOL_FLAG_* */
|
|
- ETHTOOL_A_HEADER_PHY_INDEX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_HEADER_CNT,
|
|
- ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1
|
|
-};
|
|
-
|
|
-/* bit sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BIT_INDEX, /* u32 */
|
|
- ETHTOOL_A_BITSET_BIT_NAME, /* string */
|
|
- ETHTOOL_A_BITSET_BIT_VALUE, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BIT_CNT,
|
|
- ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BITS_BIT, /* nest - _A_BITSET_BIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BITS_CNT,
|
|
- ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_UNSPEC,
|
|
- ETHTOOL_A_BITSET_NOMASK, /* flag */
|
|
- ETHTOOL_A_BITSET_SIZE, /* u32 */
|
|
- ETHTOOL_A_BITSET_BITS, /* nest - _A_BITSET_BITS_* */
|
|
- ETHTOOL_A_BITSET_VALUE, /* binary */
|
|
- ETHTOOL_A_BITSET_MASK, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_CNT,
|
|
- ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* string sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRING_UNSPEC,
|
|
- ETHTOOL_A_STRING_INDEX, /* u32 */
|
|
- ETHTOOL_A_STRING_VALUE, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRING_CNT,
|
|
- ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGS_UNSPEC,
|
|
- ETHTOOL_A_STRINGS_STRING, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGS_CNT,
|
|
- ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSET_UNSPEC,
|
|
- ETHTOOL_A_STRINGSET_ID, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_COUNT, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_STRINGS, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSET_CNT,
|
|
- ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
- ETHTOOL_A_STRINGSETS_STRINGSET, /* nest - _A_STRINGSET_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSETS_CNT,
|
|
- ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1
|
|
-};
|
|
-
|
|
-/* STRSET */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRSET_UNSPEC,
|
|
- ETHTOOL_A_STRSET_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STRSET_STRINGSETS, /* nest - _A_STRINGSETS_* */
|
|
- ETHTOOL_A_STRSET_COUNTS_ONLY, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRSET_CNT,
|
|
- ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKINFO_UNSPEC,
|
|
- ETHTOOL_A_LINKINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKINFO_PORT, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_PHYADDR, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TRANSCEIVER, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKINFO_CNT,
|
|
- ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKMODES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKMODES_UNSPEC,
|
|
- ETHTOOL_A_LINKMODES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_OURS, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_PEER, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_SPEED, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_LANES, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKMODES_CNT,
|
|
- ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKSTATE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
- ETHTOOL_A_LINKSTATE_HEADER, /* nest - _A_HEADER_* */
|
|
- 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 */
|
|
- ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKSTATE_CNT,
|
|
- ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1
|
|
-};
|
|
-
|
|
-/* DEBUG */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_DEBUG_UNSPEC,
|
|
- ETHTOOL_A_DEBUG_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_DEBUG_MSGMASK, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_DEBUG_CNT,
|
|
- ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1
|
|
-};
|
|
-
|
|
-/* WOL */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_WOL_UNSPEC,
|
|
- ETHTOOL_A_WOL_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_WOL_MODES, /* bitset */
|
|
- ETHTOOL_A_WOL_SOPASS, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_WOL_CNT,
|
|
- ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
|
|
-};
|
|
-
|
|
-/* FEATURES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEATURES_UNSPEC,
|
|
- ETHTOOL_A_FEATURES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEATURES_HW, /* bitset */
|
|
- ETHTOOL_A_FEATURES_WANTED, /* bitset */
|
|
- ETHTOOL_A_FEATURES_ACTIVE, /* bitset */
|
|
- ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEATURES_CNT,
|
|
- ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
|
|
-};
|
|
-
|
|
-/* PRIVFLAGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
- ETHTOOL_A_PRIVFLAGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PRIVFLAGS_FLAGS, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
- ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1
|
|
-};
|
|
-
|
|
-/* RINGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,
|
|
- ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
- ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RINGS_UNSPEC,
|
|
- ETHTOOL_A_RINGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_RINGS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */
|
|
- ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_RX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_RINGS_CNT,
|
|
- ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CHANNELS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CHANNELS_UNSPEC,
|
|
- ETHTOOL_A_CHANNELS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CHANNELS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_RX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_COUNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CHANNELS_CNT,
|
|
- ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* COALESCE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_COALESCE_UNSPEC,
|
|
- ETHTOOL_A_COALESCE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_COALESCE_RX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, /* u32 */
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_COALESCE_CNT,
|
|
- ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PROFILE_UNSPEC,
|
|
- /* nest, _A_IRQ_MODERATION_* */
|
|
- ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
- __ETHTOOL_A_PROFILE_CNT,
|
|
- ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
- ETHTOOL_A_IRQ_MODERATION_USEC, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_PKTS, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_COMPS, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
- ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
-};
|
|
-
|
|
-/* PAUSE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PAUSE_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_PAUSE_RX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_TX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_STATS, /* nest - _PAUSE_STAT_* */
|
|
- ETHTOOL_A_PAUSE_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PAUSE_CNT,
|
|
- ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
- ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
-
|
|
- /* add new constants above here
|
|
- * adjust ETHTOOL_PAUSE_STAT_CNT if adding non-stats!
|
|
- */
|
|
- __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
- ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* EEE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_EEE_UNSPEC,
|
|
- ETHTOOL_A_EEE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_EEE_MODES_OURS, /* bitset */
|
|
- ETHTOOL_A_EEE_MODES_PEER, /* bitset */
|
|
- ETHTOOL_A_EEE_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_EEE_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_TIMER, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_EEE_CNT,
|
|
- ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
-};
|
|
-
|
|
-/* TSINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TSINFO_UNSPEC,
|
|
- ETHTOOL_A_TSINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_TSINFO_TIMESTAMPING, /* bitset */
|
|
- ETHTOOL_A_TSINFO_TX_TYPES, /* bitset */
|
|
- ETHTOOL_A_TSINFO_RX_FILTERS, /* bitset */
|
|
- ETHTOOL_A_TSINFO_PHC_INDEX, /* u32 */
|
|
- ETHTOOL_A_TSINFO_STATS, /* nest - _A_TSINFO_STAT */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TSINFO_CNT,
|
|
- ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TS_STAT_UNSPEC,
|
|
-
|
|
- ETHTOOL_A_TS_STAT_TX_PKTS, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_LOST, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_ERR, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TS_STAT_CNT,
|
|
- ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
-
|
|
-};
|
|
-
|
|
-/* PHC VCLOCKS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
- ETHTOOL_A_PHC_VCLOCKS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHC_VCLOCKS_NUM, /* u32 */
|
|
- ETHTOOL_A_PHC_VCLOCKS_INDEX, /* array, s32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
- ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST NOTIFY */
|
|
enum {
|
|
ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC,
|
|
@@ -583,73 +50,11 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
- ETHTOOL_A_CABLE_RESULT_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_RESULT_CODE, /* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */
|
|
- ETHTOOL_A_CABLE_RESULT_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
- ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_CM, /* u32 */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED
|
|
};
|
|
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_NEST_RESULT, /* nest - ETHTOOL_A_CABLE_RESULT_ */
|
|
- ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, /* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */
|
|
- __ETHTOOL_A_CABLE_NEST_CNT,
|
|
- ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST TDR */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG, /* nest - *_TDR_CFG_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST TDR NOTIFY */
|
|
|
|
enum {
|
|
@@ -690,163 +95,17 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
- 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)
|
|
-};
|
|
-
|
|
-/* FEC */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_UNSPEC,
|
|
- ETHTOOL_A_FEC_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEC_MODES, /* bitset */
|
|
- ETHTOOL_A_FEC_AUTO, /* u8 */
|
|
- ETHTOOL_A_FEC_ACTIVE, /* u32 */
|
|
- ETHTOOL_A_FEC_STATS, /* nest - _A_FEC_STAT */
|
|
-
|
|
- __ETHTOOL_A_FEC_CNT,
|
|
- ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
- ETHTOOL_A_FEC_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_FEC_STAT_CORRECTED, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_UNCORR, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_CORR_BITS, /* array, u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEC_STAT_CNT,
|
|
- ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE EEPROM */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
- ETHTOOL_A_MODULE_EEPROM_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- ETHTOOL_A_MODULE_EEPROM_OFFSET, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_LENGTH, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */
|
|
-
|
|
- __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
- ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* STATS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STATS_UNSPEC,
|
|
- ETHTOOL_A_STATS_PAD,
|
|
- ETHTOOL_A_STATS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STATS_GROUPS, /* bitset */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP, /* nest - _A_STATS_GRP_* */
|
|
-
|
|
- ETHTOOL_A_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_CNT,
|
|
- ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_STATS_ETH_PHY,
|
|
ETHTOOL_STATS_ETH_MAC,
|
|
ETHTOOL_STATS_ETH_CTRL,
|
|
ETHTOOL_STATS_RMON,
|
|
+ ETHTOOL_STATS_PHY,
|
|
|
|
/* add new constants above here */
|
|
__ETHTOOL_STATS_CNT
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
- ETHTOOL_A_STATS_GRP_PAD,
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_ID, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_SS_ID, /* u32 */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_STAT, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_RX, /* nest */
|
|
- ETHTOOL_A_STATS_GRP_HIST_TX, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_LOW, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_HI, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_VAL, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_GRP_CNT,
|
|
- ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
/* 30.3.2.1.5 aSymbolErrorDuringCarrier */
|
|
ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR,
|
|
|
|
@@ -935,160 +194,20 @@ enum {
|
|
ETHTOOL_A_STATS_RMON_MAX = (__ETHTOOL_A_STATS_RMON_CNT - 1)
|
|
};
|
|
|
|
-/* MODULE */
|
|
-
|
|
enum {
|
|
- ETHTOOL_A_MODULE_UNSPEC,
|
|
- ETHTOOL_A_MODULE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_POWER_MODE_POLICY, /* u8 */
|
|
- ETHTOOL_A_MODULE_POWER_MODE, /* u8 */
|
|
+ /* Basic packet counters if PHY has separate counters from the MAC */
|
|
+ ETHTOOL_A_STATS_PHY_RX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_RX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_RX_ERRORS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_TX_ERRORS,
|
|
|
|
/* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_CNT,
|
|
- ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+ __ETHTOOL_A_STATS_PHY_CNT,
|
|
+ ETHTOOL_A_STATS_PHY_MAX = (__ETHTOOL_A_STATS_PHY_CNT - 1)
|
|
};
|
|
|
|
-/* Power Sourcing Equipment */
|
|
-enum {
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MIN, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MAX, /* u32 */
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PSE_UNSPEC,
|
|
- ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_CLASS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ACTUAL_PW, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_SUBSTATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES, /* nest - _C33_PSE_PW_LIMIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PSE_CNT,
|
|
- ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RSS_UNSPEC,
|
|
- ETHTOOL_A_RSS_HEADER,
|
|
- ETHTOOL_A_RSS_CONTEXT, /* u32 */
|
|
- ETHTOOL_A_RSS_HFUNC, /* u32 */
|
|
- ETHTOOL_A_RSS_INDIR, /* binary */
|
|
- ETHTOOL_A_RSS_HKEY, /* binary */
|
|
- ETHTOOL_A_RSS_INPUT_XFRM, /* u32 */
|
|
- ETHTOOL_A_RSS_START_CONTEXT, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_RSS_CNT,
|
|
- ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
|
|
-};
|
|
-
|
|
-/* PLCA */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PLCA_UNSPEC,
|
|
- ETHTOOL_A_PLCA_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PLCA_VERSION, /* u16 */
|
|
- ETHTOOL_A_PLCA_ENABLED, /* u8 */
|
|
- ETHTOOL_A_PLCA_STATUS, /* u8 */
|
|
- ETHTOOL_A_PLCA_NODE_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_NODE_ID, /* u32 */
|
|
- ETHTOOL_A_PLCA_TO_TMR, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_TMR, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PLCA_CNT,
|
|
- ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MAC Merge (802.3) */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_STAT_UNSPEC,
|
|
- ETHTOOL_A_MM_STAT_PAD,
|
|
-
|
|
- /* aMACMergeFrameAssErrorCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameSmdErrorCount */
|
|
- ETHTOOL_A_MM_STAT_SMD_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameAssOkCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_OK, /* u64 */
|
|
- /* aMACMergeFragCountRx */
|
|
- ETHTOOL_A_MM_STAT_RX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeFragCountTx */
|
|
- ETHTOOL_A_MM_STAT_TX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeHoldCount */
|
|
- ETHTOOL_A_MM_STAT_HOLD_COUNT, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_STAT_CNT,
|
|
- ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_UNSPEC,
|
|
- ETHTOOL_A_MM_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MM_PMAC_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_RX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_VERIFY_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_STATUS, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_MAX_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_STATS, /* nest - _A_MM_STAT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_CNT,
|
|
- ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE_FW_FLASH */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_PASSWORD, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_DONE, /* uint */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_TOTAL, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHY_UNSPEC,
|
|
- ETHTOOL_A_PHY_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHY_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_DRVNAME, /* string */
|
|
- ETHTOOL_A_PHY_NAME, /* string */
|
|
- ETHTOOL_A_PHY_UPSTREAM_TYPE, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_SFP_NAME, /* string */
|
|
- ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHY_CNT,
|
|
- ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
-};
|
|
-
|
|
-/* generic netlink info */
|
|
-#define ETHTOOL_GENL_NAME "ethtool"
|
|
-#define ETHTOOL_GENL_VERSION 1
|
|
-
|
|
#define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
|
|
|
|
#endif /* _LINUX_ETHTOOL_NETLINK_H_ */
|
|
--- /dev/null
|
|
+++ b/s390/usr/include/linux/ethtool_netlink_generated.h
|
|
@@ -0,0 +1,821 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/ethtool.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+#define _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+
|
|
+#define ETHTOOL_GENL_NAME "ethtool"
|
|
+#define ETHTOOL_GENL_VERSION 1
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_GENEVE,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE,
|
|
+
|
|
+ /* private: */
|
|
+ __ETHTOOL_UDP_TUNNEL_TYPE_CNT,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_MAX = (__ETHTOOL_UDP_TUNNEL_TYPE_CNT - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum ethtool_header_flags - common ethtool header flags
|
|
+ * @ETHTOOL_FLAG_COMPACT_BITSETS: use compact bitsets in reply
|
|
+ * @ETHTOOL_FLAG_OMIT_REPLY: provide optional reply for SET or ACT requests
|
|
+ * @ETHTOOL_FLAG_STATS: request statistics, if supported by the driver
|
|
+ */
|
|
+enum ethtool_header_flags {
|
|
+ ETHTOOL_FLAG_COMPACT_BITSETS = 1,
|
|
+ ETHTOOL_FLAG_OMIT_REPLY = 2,
|
|
+ ETHTOOL_FLAG_STATS = 4,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_MAC,
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_PHY,
|
|
+};
|
|
+
|
|
+enum ethtool_tcp_data_split {
|
|
+ ETHTOOL_TCP_DATA_SPLIT_UNKNOWN,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_HEADER_UNSPEC,
|
|
+ ETHTOOL_A_HEADER_DEV_INDEX,
|
|
+ ETHTOOL_A_HEADER_DEV_NAME,
|
|
+ ETHTOOL_A_HEADER_FLAGS,
|
|
+ ETHTOOL_A_HEADER_PHY_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_HEADER_CNT,
|
|
+ ETHTOOL_A_HEADER_MAX = (__ETHTOOL_A_HEADER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BIT_INDEX,
|
|
+ ETHTOOL_A_BITSET_BIT_NAME,
|
|
+ ETHTOOL_A_BITSET_BIT_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BIT_CNT,
|
|
+ ETHTOOL_A_BITSET_BIT_MAX = (__ETHTOOL_A_BITSET_BIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BITS_BIT,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BITS_CNT,
|
|
+ ETHTOOL_A_BITSET_BITS_MAX = (__ETHTOOL_A_BITSET_BITS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_NOMASK,
|
|
+ ETHTOOL_A_BITSET_SIZE,
|
|
+ ETHTOOL_A_BITSET_BITS,
|
|
+ ETHTOOL_A_BITSET_VALUE,
|
|
+ ETHTOOL_A_BITSET_MASK,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_CNT,
|
|
+ ETHTOOL_A_BITSET_MAX = (__ETHTOOL_A_BITSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRING_UNSPEC,
|
|
+ ETHTOOL_A_STRING_INDEX,
|
|
+ ETHTOOL_A_STRING_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_STRING_CNT,
|
|
+ ETHTOOL_A_STRING_MAX = (__ETHTOOL_A_STRING_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGS_STRING,
|
|
+
|
|
+ __ETHTOOL_A_STRINGS_CNT,
|
|
+ ETHTOOL_A_STRINGS_MAX = (__ETHTOOL_A_STRINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSET_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSET_ID,
|
|
+ ETHTOOL_A_STRINGSET_COUNT,
|
|
+ ETHTOOL_A_STRINGSET_STRINGS,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSET_CNT,
|
|
+ ETHTOOL_A_STRINGSET_MAX = (__ETHTOOL_A_STRINGSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSETS_STRINGSET,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSETS_CNT,
|
|
+ ETHTOOL_A_STRINGSETS_MAX = (__ETHTOOL_A_STRINGSETS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRSET_UNSPEC,
|
|
+ ETHTOOL_A_STRSET_HEADER,
|
|
+ ETHTOOL_A_STRSET_STRINGSETS,
|
|
+ ETHTOOL_A_STRSET_COUNTS_ONLY,
|
|
+
|
|
+ __ETHTOOL_A_STRSET_CNT,
|
|
+ ETHTOOL_A_STRSET_MAX = (__ETHTOOL_A_STRSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
+ ETHTOOL_A_PRIVFLAGS_HEADER,
|
|
+ ETHTOOL_A_PRIVFLAGS_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
+ ETHTOOL_A_PRIVFLAGS_MAX = (__ETHTOOL_A_PRIVFLAGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RINGS_UNSPEC,
|
|
+ ETHTOOL_A_RINGS_HEADER,
|
|
+ ETHTOOL_A_RINGS_RX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO_MAX,
|
|
+ ETHTOOL_A_RINGS_TX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO,
|
|
+ ETHTOOL_A_RINGS_TX,
|
|
+ ETHTOOL_A_RINGS_RX_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
|
|
+ ETHTOOL_A_RINGS_CQE_SIZE,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH,
|
|
+ ETHTOOL_A_RINGS_RX_PUSH,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH_MAX,
|
|
+
|
|
+ __ETHTOOL_A_RINGS_CNT,
|
|
+ ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_STAT_UNSPEC,
|
|
+ ETHTOOL_A_MM_STAT_PAD,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_SMD_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_OK,
|
|
+ ETHTOOL_A_MM_STAT_RX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_TX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_HOLD_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_MM_STAT_CNT,
|
|
+ ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_UNSPEC,
|
|
+ ETHTOOL_A_MM_HEADER,
|
|
+ ETHTOOL_A_MM_PMAC_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ACTIVE,
|
|
+ ETHTOOL_A_MM_TX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_RX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_VERIFY_ENABLED,
|
|
+ ETHTOOL_A_MM_VERIFY_STATUS,
|
|
+ ETHTOOL_A_MM_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_MAX_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_STATS,
|
|
+
|
|
+ __ETHTOOL_A_MM_CNT,
|
|
+ ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKINFO_UNSPEC,
|
|
+ ETHTOOL_A_LINKINFO_HEADER,
|
|
+ ETHTOOL_A_LINKINFO_PORT,
|
|
+ ETHTOOL_A_LINKINFO_PHYADDR,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX_CTRL,
|
|
+ ETHTOOL_A_LINKINFO_TRANSCEIVER,
|
|
+
|
|
+ __ETHTOOL_A_LINKINFO_CNT,
|
|
+ ETHTOOL_A_LINKINFO_MAX = (__ETHTOOL_A_LINKINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKMODES_UNSPEC,
|
|
+ ETHTOOL_A_LINKMODES_HEADER,
|
|
+ ETHTOOL_A_LINKMODES_AUTONEG,
|
|
+ ETHTOOL_A_LINKMODES_OURS,
|
|
+ ETHTOOL_A_LINKMODES_PEER,
|
|
+ ETHTOOL_A_LINKMODES_SPEED,
|
|
+ ETHTOOL_A_LINKMODES_DUPLEX,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE,
|
|
+ ETHTOOL_A_LINKMODES_LANES,
|
|
+ ETHTOOL_A_LINKMODES_RATE_MATCHING,
|
|
+
|
|
+ __ETHTOOL_A_LINKMODES_CNT,
|
|
+ ETHTOOL_A_LINKMODES_MAX = (__ETHTOOL_A_LINKMODES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
+ ETHTOOL_A_LINKSTATE_HEADER,
|
|
+ ETHTOOL_A_LINKSTATE_LINK,
|
|
+ ETHTOOL_A_LINKSTATE_SQI,
|
|
+ ETHTOOL_A_LINKSTATE_SQI_MAX,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_STATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT,
|
|
+
|
|
+ __ETHTOOL_A_LINKSTATE_CNT,
|
|
+ ETHTOOL_A_LINKSTATE_MAX = (__ETHTOOL_A_LINKSTATE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_DEBUG_UNSPEC,
|
|
+ ETHTOOL_A_DEBUG_HEADER,
|
|
+ ETHTOOL_A_DEBUG_MSGMASK,
|
|
+
|
|
+ __ETHTOOL_A_DEBUG_CNT,
|
|
+ ETHTOOL_A_DEBUG_MAX = (__ETHTOOL_A_DEBUG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_WOL_UNSPEC,
|
|
+ ETHTOOL_A_WOL_HEADER,
|
|
+ ETHTOOL_A_WOL_MODES,
|
|
+ ETHTOOL_A_WOL_SOPASS,
|
|
+
|
|
+ __ETHTOOL_A_WOL_CNT,
|
|
+ ETHTOOL_A_WOL_MAX = (__ETHTOOL_A_WOL_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEATURES_UNSPEC,
|
|
+ ETHTOOL_A_FEATURES_HEADER,
|
|
+ ETHTOOL_A_FEATURES_HW,
|
|
+ ETHTOOL_A_FEATURES_WANTED,
|
|
+ ETHTOOL_A_FEATURES_ACTIVE,
|
|
+ ETHTOOL_A_FEATURES_NOCHANGE,
|
|
+
|
|
+ __ETHTOOL_A_FEATURES_CNT,
|
|
+ ETHTOOL_A_FEATURES_MAX = (__ETHTOOL_A_FEATURES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CHANNELS_UNSPEC,
|
|
+ ETHTOOL_A_CHANNELS_HEADER,
|
|
+ ETHTOOL_A_CHANNELS_RX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_TX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_MAX,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_MAX,
|
|
+ ETHTOOL_A_CHANNELS_RX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_TX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_CHANNELS_CNT,
|
|
+ ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_USEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_PKTS,
|
|
+ ETHTOOL_A_IRQ_MODERATION_COMPS,
|
|
+
|
|
+ __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
+ ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PROFILE_UNSPEC,
|
|
+ ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
+
|
|
+ __ETHTOOL_A_PROFILE_CNT,
|
|
+ ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_COALESCE_UNSPEC,
|
|
+ ETHTOOL_A_COALESCE_HEADER,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_STATS_BLOCK_USECS,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_TX,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_RX,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
+ ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
+
|
|
+ __ETHTOOL_A_COALESCE_CNT,
|
|
+ ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_STAT_PAD,
|
|
+ ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
+ ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
+ ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_HEADER,
|
|
+ ETHTOOL_A_PAUSE_AUTONEG,
|
|
+ ETHTOOL_A_PAUSE_RX,
|
|
+ ETHTOOL_A_PAUSE_TX,
|
|
+ ETHTOOL_A_PAUSE_STATS,
|
|
+ ETHTOOL_A_PAUSE_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_CNT,
|
|
+ ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_EEE_UNSPEC,
|
|
+ ETHTOOL_A_EEE_HEADER,
|
|
+ ETHTOOL_A_EEE_MODES_OURS,
|
|
+ ETHTOOL_A_EEE_MODES_PEER,
|
|
+ ETHTOOL_A_EEE_ACTIVE,
|
|
+ ETHTOOL_A_EEE_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_TIMER,
|
|
+
|
|
+ __ETHTOOL_A_EEE_CNT,
|
|
+ ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_STAT_UNSPEC,
|
|
+ ETHTOOL_A_TS_STAT_TX_PKTS,
|
|
+ ETHTOOL_A_TS_STAT_TX_LOST,
|
|
+ ETHTOOL_A_TS_STAT_TX_ERR,
|
|
+ ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED,
|
|
+
|
|
+ __ETHTOOL_A_TS_STAT_CNT,
|
|
+ ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER,
|
|
+
|
|
+ __ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = (__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSINFO_UNSPEC,
|
|
+ ETHTOOL_A_TSINFO_HEADER,
|
|
+ ETHTOOL_A_TSINFO_TIMESTAMPING,
|
|
+ ETHTOOL_A_TSINFO_TX_TYPES,
|
|
+ ETHTOOL_A_TSINFO_RX_FILTERS,
|
|
+ ETHTOOL_A_TSINFO_PHC_INDEX,
|
|
+ ETHTOOL_A_TSINFO_STATS,
|
|
+ ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER,
|
|
+
|
|
+ __ETHTOOL_A_TSINFO_CNT,
|
|
+ ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_RESULT_PAIR,
|
|
+ ETHTOOL_A_CABLE_RESULT_CODE,
|
|
+ ETHTOOL_A_CABLE_RESULT_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
+ ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_CM,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_NEST_RESULT,
|
|
+ ETHTOOL_A_CABLE_NEST_FAULT_LENGTH,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_NEST_CNT,
|
|
+ ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_HEADER,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_MAX = (__ETHTOOL_A_CABLE_TEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY,
|
|
+
|
|
+ __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,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_INFO_UDP_PORTS,
|
|
+
|
|
+ __ETHTOOL_A_TUNNEL_INFO_CNT,
|
|
+ ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
+ ETHTOOL_A_FEC_STAT_PAD,
|
|
+ ETHTOOL_A_FEC_STAT_CORRECTED,
|
|
+ ETHTOOL_A_FEC_STAT_UNCORR,
|
|
+ ETHTOOL_A_FEC_STAT_CORR_BITS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_STAT_CNT,
|
|
+ ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_UNSPEC,
|
|
+ ETHTOOL_A_FEC_HEADER,
|
|
+ ETHTOOL_A_FEC_MODES,
|
|
+ ETHTOOL_A_FEC_AUTO,
|
|
+ ETHTOOL_A_FEC_ACTIVE,
|
|
+ ETHTOOL_A_FEC_STATS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_CNT,
|
|
+ ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_EEPROM_HEADER,
|
|
+ ETHTOOL_A_MODULE_EEPROM_OFFSET,
|
|
+ ETHTOOL_A_MODULE_EEPROM_LENGTH,
|
|
+ ETHTOOL_A_MODULE_EEPROM_PAGE,
|
|
+ ETHTOOL_A_MODULE_EEPROM_BANK,
|
|
+ ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS,
|
|
+ ETHTOOL_A_MODULE_EEPROM_DATA,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
+ ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
+ ETHTOOL_A_STATS_GRP_PAD,
|
|
+ ETHTOOL_A_STATS_GRP_ID,
|
|
+ ETHTOOL_A_STATS_GRP_SS_ID,
|
|
+ ETHTOOL_A_STATS_GRP_STAT,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_RX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_TX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_LOW,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_HI,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_VAL,
|
|
+
|
|
+ __ETHTOOL_A_STATS_GRP_CNT,
|
|
+ ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_UNSPEC,
|
|
+ ETHTOOL_A_STATS_PAD,
|
|
+ ETHTOOL_A_STATS_HEADER,
|
|
+ ETHTOOL_A_STATS_GROUPS,
|
|
+ ETHTOOL_A_STATS_GRP,
|
|
+ ETHTOOL_A_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_STATS_CNT,
|
|
+ ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_HEADER,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_NUM,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_HEADER,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE_POLICY,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_CNT,
|
|
+ ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MIN,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MAX,
|
|
+
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_CNT,
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = (__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PSE_UNSPEC,
|
|
+ ETHTOOL_A_PSE_HEADER,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_PODL_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_C33_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_PW_CLASS,
|
|
+ ETHTOOL_A_C33_PSE_ACTUAL_PW,
|
|
+ ETHTOOL_A_C33_PSE_EXT_STATE,
|
|
+ ETHTOOL_A_C33_PSE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES,
|
|
+
|
|
+ __ETHTOOL_A_PSE_CNT,
|
|
+ ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RSS_UNSPEC,
|
|
+ ETHTOOL_A_RSS_HEADER,
|
|
+ ETHTOOL_A_RSS_CONTEXT,
|
|
+ ETHTOOL_A_RSS_HFUNC,
|
|
+ ETHTOOL_A_RSS_INDIR,
|
|
+ ETHTOOL_A_RSS_HKEY,
|
|
+ ETHTOOL_A_RSS_INPUT_XFRM,
|
|
+ ETHTOOL_A_RSS_START_CONTEXT,
|
|
+
|
|
+ __ETHTOOL_A_RSS_CNT,
|
|
+ ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PLCA_UNSPEC,
|
|
+ ETHTOOL_A_PLCA_HEADER,
|
|
+ ETHTOOL_A_PLCA_VERSION,
|
|
+ ETHTOOL_A_PLCA_ENABLED,
|
|
+ ETHTOOL_A_PLCA_STATUS,
|
|
+ ETHTOOL_A_PLCA_NODE_CNT,
|
|
+ ETHTOOL_A_PLCA_NODE_ID,
|
|
+ ETHTOOL_A_PLCA_TO_TMR,
|
|
+ ETHTOOL_A_PLCA_BURST_CNT,
|
|
+ ETHTOOL_A_PLCA_BURST_TMR,
|
|
+
|
|
+ __ETHTOOL_A_PLCA_CNT,
|
|
+ ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_HEADER,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_PASSWORD,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_DONE,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_TOTAL,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHY_UNSPEC,
|
|
+ ETHTOOL_A_PHY_HEADER,
|
|
+ ETHTOOL_A_PHY_INDEX,
|
|
+ ETHTOOL_A_PHY_DRVNAME,
|
|
+ ETHTOOL_A_PHY_NAME,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_TYPE,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_INDEX,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_SFP_NAME,
|
|
+ ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME,
|
|
+
|
|
+ __ETHTOOL_A_PHY_CNT,
|
|
+ ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSCONFIG_UNSPEC,
|
|
+ ETHTOOL_A_TSCONFIG_HEADER,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER,
|
|
+ ETHTOOL_A_TSCONFIG_TX_TYPES,
|
|
+ ETHTOOL_A_TSCONFIG_RX_FILTERS,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_TSCONFIG_CNT,
|
|
+ ETHTOOL_A_TSCONFIG_MAX = (__ETHTOOL_A_TSCONFIG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_USER_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET,
|
|
+ ETHTOOL_MSG_LINKINFO_SET,
|
|
+ ETHTOOL_MSG_LINKMODES_GET,
|
|
+ ETHTOOL_MSG_LINKMODES_SET,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET,
|
|
+ ETHTOOL_MSG_DEBUG_GET,
|
|
+ ETHTOOL_MSG_DEBUG_SET,
|
|
+ ETHTOOL_MSG_WOL_GET,
|
|
+ ETHTOOL_MSG_WOL_SET,
|
|
+ ETHTOOL_MSG_FEATURES_GET,
|
|
+ ETHTOOL_MSG_FEATURES_SET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
+ ETHTOOL_MSG_RINGS_GET,
|
|
+ ETHTOOL_MSG_RINGS_SET,
|
|
+ ETHTOOL_MSG_CHANNELS_GET,
|
|
+ ETHTOOL_MSG_CHANNELS_SET,
|
|
+ ETHTOOL_MSG_COALESCE_GET,
|
|
+ ETHTOOL_MSG_COALESCE_SET,
|
|
+ ETHTOOL_MSG_PAUSE_GET,
|
|
+ ETHTOOL_MSG_PAUSE_SET,
|
|
+ ETHTOOL_MSG_EEE_GET,
|
|
+ ETHTOOL_MSG_EEE_SET,
|
|
+ ETHTOOL_MSG_TSINFO_GET,
|
|
+ ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
+ ETHTOOL_MSG_FEC_GET,
|
|
+ ETHTOOL_MSG_FEC_SET,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
+ ETHTOOL_MSG_STATS_GET,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
+ ETHTOOL_MSG_MODULE_GET,
|
|
+ ETHTOOL_MSG_MODULE_SET,
|
|
+ ETHTOOL_MSG_PSE_GET,
|
|
+ ETHTOOL_MSG_PSE_SET,
|
|
+ ETHTOOL_MSG_RSS_GET,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_SET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
+ ETHTOOL_MSG_MM_GET,
|
|
+ ETHTOOL_MSG_MM_SET,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
+ ETHTOOL_MSG_PHY_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET,
|
|
+
|
|
+ __ETHTOOL_MSG_USER_CNT,
|
|
+ ETHTOOL_MSG_USER_MAX = (__ETHTOOL_MSG_USER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_KERNEL_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET_REPLY = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKINFO_NTF,
|
|
+ ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKMODES_NTF,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_NTF,
|
|
+ ETHTOOL_MSG_WOL_GET_REPLY,
|
|
+ ETHTOOL_MSG_WOL_NTF,
|
|
+ ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_NTF,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
+ ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_RINGS_NTF,
|
|
+ ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
+ ETHTOOL_MSG_CHANNELS_NTF,
|
|
+ ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
+ ETHTOOL_MSG_COALESCE_NTF,
|
|
+ ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_PAUSE_NTF,
|
|
+ ETHTOOL_MSG_EEE_GET_REPLY,
|
|
+ ETHTOOL_MSG_EEE_NTF,
|
|
+ ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_NTF,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
+ ETHTOOL_MSG_STATS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_NTF,
|
|
+ ETHTOOL_MSG_PSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_RSS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_NTF,
|
|
+ ETHTOOL_MSG_MM_GET_REPLY,
|
|
+ ETHTOOL_MSG_MM_NTF,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
+ ETHTOOL_MSG_PHY_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHY_NTF,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET_REPLY,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET_REPLY,
|
|
+
|
|
+ __ETHTOOL_MSG_KERNEL_CNT,
|
|
+ ETHTOOL_MSG_KERNEL_MAX = (__ETHTOOL_MSG_KERNEL_CNT - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_ETHTOOL_NETLINK_GENERATED_H */
|
|
--- a/s390/usr/include/linux/fs.h
|
|
+++ b/s390/usr/include/linux/fs.h
|
|
@@ -36,6 +36,15 @@
|
|
#define BLOCK_SIZE_BITS 10
|
|
#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
|
|
|
|
+/* flags for integrity meta */
|
|
+#define IO_INTEGRITY_CHK_GUARD (1U << 0) /* enforce guard check */
|
|
+#define IO_INTEGRITY_CHK_REFTAG (1U << 1) /* enforce ref check */
|
|
+#define IO_INTEGRITY_CHK_APPTAG (1U << 2) /* enforce app check */
|
|
+
|
|
+#define IO_INTEGRITY_VALID_FLAGS (IO_INTEGRITY_CHK_GUARD | \
|
|
+ IO_INTEGRITY_CHK_REFTAG | \
|
|
+ IO_INTEGRITY_CHK_APPTAG)
|
|
+
|
|
#define SEEK_SET 0 /* seek relative to beginning of file */
|
|
#define SEEK_CUR 1 /* seek relative to current file position */
|
|
#define SEEK_END 2 /* seek relative to end of file */
|
|
--- a/s390/usr/include/linux/hidraw.h
|
|
+++ b/s390/usr/include/linux/hidraw.h
|
|
@@ -48,6 +48,8 @@ struct hidraw_devinfo {
|
|
#define HIDIOCGOUTPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0C, len)
|
|
#define HIDIOCREVOKE _IOW('H', 0x0D, int) /* Revoke device access */
|
|
|
|
+#define HIDIOCTL_LAST _IOC_NR(HIDIOCREVOKE)
|
|
+
|
|
#define HIDRAW_FIRST_MINOR 0
|
|
#define HIDRAW_MAX_DEVICES 64
|
|
/* number of reports to buffer */
|
|
--- a/s390/usr/include/linux/if_link.h
|
|
+++ b/s390/usr/include/linux/if_link.h
|
|
@@ -377,6 +377,7 @@ enum {
|
|
IFLA_GSO_IPV4_MAX_SIZE,
|
|
IFLA_GRO_IPV4_MAX_SIZE,
|
|
IFLA_DPLL_PIN,
|
|
+ IFLA_MAX_PACING_OFFLOAD_HORIZON,
|
|
__IFLA_MAX
|
|
};
|
|
|
|
--- a/s390/usr/include/linux/input-event-codes.h
|
|
+++ b/s390/usr/include/linux/input-event-codes.h
|
|
@@ -519,6 +519,7 @@
|
|
#define KEY_NOTIFICATION_CENTER 0x1bc /* Show/hide the notification center */
|
|
#define KEY_PICKUP_PHONE 0x1bd /* Answer incoming call */
|
|
#define KEY_HANGUP_PHONE 0x1be /* Decline incoming call */
|
|
+#define KEY_LINK_PHONE 0x1bf /* AL Phone Syncing */
|
|
|
|
#define KEY_DEL_EOL 0x1c0
|
|
#define KEY_DEL_EOS 0x1c1
|
|
--- a/s390/usr/include/linux/io_uring.h
|
|
+++ b/s390/usr/include/linux/io_uring.h
|
|
@@ -98,6 +98,10 @@ struct io_uring_sqe {
|
|
__u64 addr3;
|
|
__u64 __pad2[1];
|
|
};
|
|
+ struct {
|
|
+ __u64 attr_ptr; /* pointer to attribute information */
|
|
+ __u64 attr_type_mask; /* bit mask of attributes */
|
|
+ };
|
|
__u64 optval;
|
|
/*
|
|
* If the ring is initialized with IORING_SETUP_SQE128, then
|
|
@@ -107,6 +111,18 @@ struct io_uring_sqe {
|
|
};
|
|
};
|
|
|
|
+/* sqe->attr_type_mask flags */
|
|
+#define IORING_RW_ATTR_FLAG_PI (1U << 0)
|
|
+/* PI attribute information */
|
|
+struct io_uring_attr_pi {
|
|
+ __u16 flags;
|
|
+ __u16 app_tag;
|
|
+ __u32 len;
|
|
+ __u64 addr;
|
|
+ __u64 seed;
|
|
+ __u64 rsvd;
|
|
+};
|
|
+
|
|
/*
|
|
* If sqe->file_index is set to this for opcodes that instantiate a new
|
|
* direct descriptor (like openat/openat2/accept), then io_uring will allocate
|
|
@@ -554,6 +570,7 @@ struct io_uring_params {
|
|
#define IORING_FEAT_REG_REG_RING (1U << 13)
|
|
#define IORING_FEAT_RECVSEND_BUNDLE (1U << 14)
|
|
#define IORING_FEAT_MIN_TIMEOUT (1U << 15)
|
|
+#define IORING_FEAT_RW_ATTR (1U << 16)
|
|
|
|
/*
|
|
* io_uring_register(2) opcodes and arguments
|
|
--- a/s390/usr/include/linux/iommufd.h
|
|
+++ b/s390/usr/include/linux/iommufd.h
|
|
@@ -737,6 +737,7 @@ enum iommu_hwpt_pgfault_perm {
|
|
* @pasid: Process Address Space ID
|
|
* @grpid: Page Request Group Index
|
|
* @perm: Combination of enum iommu_hwpt_pgfault_perm
|
|
+ * @__reserved: Must be 0.
|
|
* @addr: Fault address
|
|
* @length: a hint of how much data the requestor is expecting to fetch. For
|
|
* example, if the PRI initiator knows it is going to do a 10MB
|
|
@@ -752,7 +753,8 @@ struct iommu_hwpt_pgfault {
|
|
__u32 pasid;
|
|
__u32 grpid;
|
|
__u32 perm;
|
|
- __u64 addr;
|
|
+ __u32 __reserved;
|
|
+ __aligned_u64 addr;
|
|
__u32 length;
|
|
__u32 cookie;
|
|
};
|
|
--- a/s390/usr/include/linux/kfd_ioctl.h
|
|
+++ b/s390/usr/include/linux/kfd_ioctl.h
|
|
@@ -62,6 +62,8 @@ struct kfd_ioctl_get_version_args {
|
|
#define KFD_MAX_QUEUE_PERCENTAGE 100
|
|
#define KFD_MAX_QUEUE_PRIORITY 15
|
|
|
|
+#define KFD_MIN_QUEUE_RING_SIZE 1024
|
|
+
|
|
struct kfd_ioctl_create_queue_args {
|
|
__u64 ring_base_address; /* to KFD */
|
|
__u64 write_pointer_address; /* from KFD */
|
|
--- a/s390/usr/include/linux/kvm.h
|
|
+++ b/s390/usr/include/linux/kvm.h
|
|
@@ -178,6 +178,7 @@ struct kvm_xen_exit {
|
|
#define KVM_EXIT_NOTIFY 37
|
|
#define KVM_EXIT_LOONGARCH_IOCSR 38
|
|
#define KVM_EXIT_MEMORY_FAULT 39
|
|
+#define KVM_EXIT_TDX 40
|
|
|
|
/* For KVM_EXIT_INTERNAL_ERROR */
|
|
/* Emulate instruction failed. */
|
|
@@ -369,6 +370,7 @@ struct kvm_run {
|
|
#define KVM_SYSTEM_EVENT_WAKEUP 4
|
|
#define KVM_SYSTEM_EVENT_SUSPEND 5
|
|
#define KVM_SYSTEM_EVENT_SEV_TERM 6
|
|
+#define KVM_SYSTEM_EVENT_TDX_FATAL 7
|
|
__u32 type;
|
|
__u32 ndata;
|
|
union {
|
|
@@ -438,6 +440,33 @@ struct kvm_run {
|
|
__u64 gpa;
|
|
__u64 size;
|
|
} memory_fault;
|
|
+#ifndef __GENKSYMS__
|
|
+ /* KVM_EXIT_TDX */
|
|
+ struct {
|
|
+ __u64 flags;
|
|
+ __u64 nr;
|
|
+ union {
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 data[5];
|
|
+ } unknown;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 gpa;
|
|
+ __u64 size;
|
|
+ } get_quote;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 leaf;
|
|
+ __u64 r11, r12, r13, r14;
|
|
+ } get_tdvmcall_info;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 vector;
|
|
+ } setup_event_notify;
|
|
+ };
|
|
+ } tdx;
|
|
+#endif
|
|
/* Fix the size of the union. */
|
|
char padding[256];
|
|
};
|
|
@@ -1150,7 +1179,15 @@ enum kvm_device_type {
|
|
#define KVM_DEV_TYPE_ARM_PV_TIME KVM_DEV_TYPE_ARM_PV_TIME
|
|
KVM_DEV_TYPE_RISCV_AIA,
|
|
#define KVM_DEV_TYPE_RISCV_AIA KVM_DEV_TYPE_RISCV_AIA
|
|
+ KVM_DEV_TYPE_LOONGARCH_IPI,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_IPI KVM_DEV_TYPE_LOONGARCH_IPI
|
|
+ KVM_DEV_TYPE_LOONGARCH_EIOINTC,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_EIOINTC KVM_DEV_TYPE_LOONGARCH_EIOINTC
|
|
+ KVM_DEV_TYPE_LOONGARCH_PCHPIC,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_PCHPIC KVM_DEV_TYPE_LOONGARCH_PCHPIC
|
|
+
|
|
KVM_DEV_TYPE_MAX,
|
|
+
|
|
};
|
|
|
|
struct kvm_vfio_spapr_tce {
|
|
--- a/s390/usr/include/linux/landlock.h
|
|
+++ b/s390/usr/include/linux/landlock.h
|
|
@@ -57,9 +57,11 @@ struct landlock_ruleset_attr {
|
|
*
|
|
* - %LANDLOCK_CREATE_RULESET_VERSION: Get the highest supported Landlock ABI
|
|
* version.
|
|
+ * - %LANDLOCK_CREATE_RULESET_ERRATA: Get a bitmask of fixed issues.
|
|
*/
|
|
/* clang-format off */
|
|
#define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
|
|
+#define LANDLOCK_CREATE_RULESET_ERRATA (1U << 1)
|
|
/* clang-format on */
|
|
|
|
/**
|
|
--- /dev/null
|
|
+++ b/s390/usr/include/linux/livepatch.h
|
|
@@ -0,0 +1,15 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+
|
|
+/*
|
|
+ * livepatch.h - Kernel Live Patching Core
|
|
+ *
|
|
+ * Copyright (C) 2016 Josh Poimboeuf <jpoimboe@redhat.com>
|
|
+ */
|
|
+
|
|
+#ifndef _LIVEPATCH_H
|
|
+#define _LIVEPATCH_H
|
|
+
|
|
+#define KLP_RELA_PREFIX ".klp.rela."
|
|
+#define KLP_SYM_PREFIX ".klp.sym."
|
|
+
|
|
+#endif /* _LIVEPATCH_H */
|
|
--- /dev/null
|
|
+++ b/s390/usr/include/linux/mshv.h
|
|
@@ -0,0 +1,291 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+/*
|
|
+ * Userspace interfaces for /dev/mshv* devices and derived fds
|
|
+ *
|
|
+ * This file is divided into sections containing data structures and IOCTLs for
|
|
+ * a particular set of related devices or derived file descriptors.
|
|
+ *
|
|
+ * The IOCTL definitions are at the end of each section. They are grouped by
|
|
+ * device/fd, so that new IOCTLs can easily be added with a monotonically
|
|
+ * increasing number.
|
|
+ */
|
|
+#ifndef _LINUX_MSHV_H
|
|
+#define _LINUX_MSHV_H
|
|
+
|
|
+#include <linux/types.h>
|
|
+
|
|
+#define MSHV_IOCTL 0xB8
|
|
+
|
|
+/*
|
|
+ *******************************************
|
|
+ * Entry point to main VMM APIs: /dev/mshv *
|
|
+ *******************************************
|
|
+ */
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_BIT_LAPIC,
|
|
+ MSHV_PT_BIT_X2APIC,
|
|
+ MSHV_PT_BIT_GPA_SUPER_PAGES,
|
|
+ MSHV_PT_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_PT_FLAGS_MASK ((1 << MSHV_PT_BIT_COUNT) - 1)
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_ISOLATION_NONE,
|
|
+ MSHV_PT_ISOLATION_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_create_partition - arguments for MSHV_CREATE_PARTITION
|
|
+ * @pt_flags: Bitmask of 1 << MSHV_PT_BIT_*
|
|
+ * @pt_isolation: MSHV_PT_ISOLATION_*
|
|
+ *
|
|
+ * Returns a file descriptor to act as a handle to a guest partition.
|
|
+ * At this point the partition is not yet initialized in the hypervisor.
|
|
+ * Some operations must be done with the partition in this state, e.g. setting
|
|
+ * so-called "early" partition properties. The partition can then be
|
|
+ * initialized with MSHV_INITIALIZE_PARTITION.
|
|
+ */
|
|
+struct mshv_create_partition {
|
|
+ __u64 pt_flags;
|
|
+ __u64 pt_isolation;
|
|
+};
|
|
+
|
|
+/* /dev/mshv */
|
|
+#define MSHV_CREATE_PARTITION _IOW(MSHV_IOCTL, 0x00, struct mshv_create_partition)
|
|
+
|
|
+/*
|
|
+ ************************
|
|
+ * Child partition APIs *
|
|
+ ************************
|
|
+ */
|
|
+
|
|
+struct mshv_create_vp {
|
|
+ __u32 vp_index;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_SET_MEM_BIT_WRITABLE,
|
|
+ MSHV_SET_MEM_BIT_EXECUTABLE,
|
|
+ MSHV_SET_MEM_BIT_UNMAP,
|
|
+ MSHV_SET_MEM_BIT_COUNT
|
|
+};
|
|
+
|
|
+#define MSHV_SET_MEM_FLAGS_MASK ((1 << MSHV_SET_MEM_BIT_COUNT) - 1)
|
|
+
|
|
+/* The hypervisor's "native" page size */
|
|
+#define MSHV_HV_PAGE_SIZE 0x1000
|
|
+
|
|
+/**
|
|
+ * struct mshv_user_mem_region - arguments for MSHV_SET_GUEST_MEMORY
|
|
+ * @size: Size of the memory region (bytes). Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @guest_pfn: Base guest page number to map
|
|
+ * @userspace_addr: Base address of userspace memory. Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @flags: Bitmask of 1 << MSHV_SET_MEM_BIT_*. If (1 << MSHV_SET_MEM_BIT_UNMAP)
|
|
+ * is set, ignore other bits.
|
|
+ * @rsvd: MBZ
|
|
+ *
|
|
+ * Map or unmap a region of userspace memory to Guest Physical Addresses (GPA).
|
|
+ * Mappings can't overlap in GPA space or userspace.
|
|
+ * To unmap, these fields must match an existing mapping.
|
|
+ */
|
|
+struct mshv_user_mem_region {
|
|
+ __u64 size;
|
|
+ __u64 guest_pfn;
|
|
+ __u64 userspace_addr;
|
|
+ __u8 flags;
|
|
+ __u8 rsvd[7];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IRQFD_BIT_DEASSIGN,
|
|
+ MSHV_IRQFD_BIT_RESAMPLE,
|
|
+ MSHV_IRQFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IRQFD_FLAGS_MASK ((1 << MSHV_IRQFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_irqfd {
|
|
+ __s32 fd;
|
|
+ __s32 resamplefd;
|
|
+ __u32 gsi;
|
|
+ __u32 flags;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IOEVENTFD_BIT_DATAMATCH,
|
|
+ MSHV_IOEVENTFD_BIT_PIO,
|
|
+ MSHV_IOEVENTFD_BIT_DEASSIGN,
|
|
+ MSHV_IOEVENTFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IOEVENTFD_FLAGS_MASK ((1 << MSHV_IOEVENTFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_ioeventfd {
|
|
+ __u64 datamatch;
|
|
+ __u64 addr; /* legal pio/mmio address */
|
|
+ __u32 len; /* 1, 2, 4, or 8 bytes */
|
|
+ __s32 fd;
|
|
+ __u32 flags;
|
|
+ __u8 rsvd[4];
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_entry {
|
|
+ __u32 gsi;
|
|
+ __u32 address_lo;
|
|
+ __u32 address_hi;
|
|
+ __u32 data;
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_table {
|
|
+ __u32 nr;
|
|
+ __u32 rsvd; /* MBZ */
|
|
+ struct mshv_user_irq_entry entries[];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_TYPE_ACCESSED,
|
|
+ MSHV_GPAP_ACCESS_TYPE_DIRTY,
|
|
+ MSHV_GPAP_ACCESS_TYPE_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_OP_NOOP,
|
|
+ MSHV_GPAP_ACCESS_OP_CLEAR,
|
|
+ MSHV_GPAP_ACCESS_OP_SET,
|
|
+ MSHV_GPAP_ACCESS_OP_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_gpap_access_bitmap - arguments for MSHV_GET_GPAP_ACCESS_BITMAP
|
|
+ * @access_type: MSHV_GPAP_ACCESS_TYPE_* - The type of access to record in the
|
|
+ * bitmap
|
|
+ * @access_op: MSHV_GPAP_ACCESS_OP_* - Allows an optional clear or set of all
|
|
+ * the access states in the range, after retrieving the current
|
|
+ * states.
|
|
+ * @rsvd: MBZ
|
|
+ * @page_count: Number of pages
|
|
+ * @gpap_base: Base gpa page number
|
|
+ * @bitmap_ptr: Output buffer for bitmap, at least (page_count + 7) / 8 bytes
|
|
+ *
|
|
+ * Retrieve a bitmap of either ACCESSED or DIRTY bits for a given range of guest
|
|
+ * memory, and optionally clear or set the bits.
|
|
+ */
|
|
+struct mshv_gpap_access_bitmap {
|
|
+ __u8 access_type;
|
|
+ __u8 access_op;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 page_count;
|
|
+ __u64 gpap_base;
|
|
+ __u64 bitmap_ptr;
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_root_hvcall - arguments for MSHV_ROOT_HVCALL
|
|
+ * @code: Hypercall code (HVCALL_*)
|
|
+ * @reps: in: Rep count ('repcount')
|
|
+ * out: Reps completed ('repcomp'). MBZ unless rep hvcall
|
|
+ * @in_sz: Size of input incl rep data. <= MSHV_HV_PAGE_SIZE
|
|
+ * @out_sz: Size of output buffer. <= MSHV_HV_PAGE_SIZE. MBZ if out_ptr is 0
|
|
+ * @status: in: MBZ
|
|
+ * out: HV_STATUS_* from hypercall
|
|
+ * @rsvd: MBZ
|
|
+ * @in_ptr: Input data buffer (struct hv_input_*). If used with partition or
|
|
+ * vp fd, partition id field is populated by kernel.
|
|
+ * @out_ptr: Output data buffer (optional)
|
|
+ */
|
|
+struct mshv_root_hvcall {
|
|
+ __u16 code;
|
|
+ __u16 reps;
|
|
+ __u16 in_sz;
|
|
+ __u16 out_sz;
|
|
+ __u16 status;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 in_ptr;
|
|
+ __u64 out_ptr;
|
|
+};
|
|
+
|
|
+/* Partition fds created with MSHV_CREATE_PARTITION */
|
|
+#define MSHV_INITIALIZE_PARTITION _IO(MSHV_IOCTL, 0x00)
|
|
+#define MSHV_CREATE_VP _IOW(MSHV_IOCTL, 0x01, struct mshv_create_vp)
|
|
+#define MSHV_SET_GUEST_MEMORY _IOW(MSHV_IOCTL, 0x02, struct mshv_user_mem_region)
|
|
+#define MSHV_IRQFD _IOW(MSHV_IOCTL, 0x03, struct mshv_user_irqfd)
|
|
+#define MSHV_IOEVENTFD _IOW(MSHV_IOCTL, 0x04, struct mshv_user_ioeventfd)
|
|
+#define MSHV_SET_MSI_ROUTING _IOW(MSHV_IOCTL, 0x05, struct mshv_user_irq_table)
|
|
+#define MSHV_GET_GPAP_ACCESS_BITMAP _IOWR(MSHV_IOCTL, 0x06, struct mshv_gpap_access_bitmap)
|
|
+/* Generic hypercall */
|
|
+#define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+
|
|
+/*
|
|
+ ********************************
|
|
+ * VP APIs for child partitions *
|
|
+ ********************************
|
|
+ */
|
|
+
|
|
+#define MSHV_RUN_VP_BUF_SZ 256
|
|
+
|
|
+/*
|
|
+ * VP state pages may be mapped to userspace via mmap().
|
|
+ * To specify which state page, use MSHV_VP_MMAP_OFFSET_ values multiplied by
|
|
+ * the system page size.
|
|
+ * e.g.
|
|
+ * long page_size = sysconf(_SC_PAGE_SIZE);
|
|
+ * void *reg_page = mmap(NULL, MSHV_HV_PAGE_SIZE, PROT_READ|PROT_WRITE,
|
|
+ * MAP_SHARED, vp_fd,
|
|
+ * MSHV_VP_MMAP_OFFSET_REGISTERS * page_size);
|
|
+ */
|
|
+enum {
|
|
+ MSHV_VP_MMAP_OFFSET_REGISTERS,
|
|
+ MSHV_VP_MMAP_OFFSET_INTERCEPT_MESSAGE,
|
|
+ MSHV_VP_MMAP_OFFSET_GHCB,
|
|
+ MSHV_VP_MMAP_OFFSET_COUNT
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_run_vp - argument for MSHV_RUN_VP
|
|
+ * @msg_buf: On success, the intercept message is copied here. It can be
|
|
+ * interpreted using the relevant hypervisor definitions.
|
|
+ */
|
|
+struct mshv_run_vp {
|
|
+ __u8 msg_buf[MSHV_RUN_VP_BUF_SZ];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_VP_STATE_LAPIC, /* Local interrupt controller state (either arch) */
|
|
+ MSHV_VP_STATE_XSAVE, /* XSAVE data in compacted form (x86_64) */
|
|
+ MSHV_VP_STATE_SIMP,
|
|
+ MSHV_VP_STATE_SIEFP,
|
|
+ MSHV_VP_STATE_SYNTHETIC_TIMERS,
|
|
+ MSHV_VP_STATE_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_get_set_vp_state - arguments for MSHV_[GET,SET]_VP_STATE
|
|
+ * @type: MSHV_VP_STATE_*
|
|
+ * @rsvd: MBZ
|
|
+ * @buf_sz: in: 4k page-aligned size of buffer
|
|
+ * out: Actual size of data (on EINVAL, check this to see if buffer
|
|
+ * was too small)
|
|
+ * @buf_ptr: 4k page-aligned data buffer
|
|
+ */
|
|
+struct mshv_get_set_vp_state {
|
|
+ __u8 type;
|
|
+ __u8 rsvd[3];
|
|
+ __u32 buf_sz;
|
|
+ __u64 buf_ptr;
|
|
+};
|
|
+
|
|
+/* VP fds created with MSHV_CREATE_VP */
|
|
+#define MSHV_RUN_VP _IOR(MSHV_IOCTL, 0x00, struct mshv_run_vp)
|
|
+#define MSHV_GET_VP_STATE _IOWR(MSHV_IOCTL, 0x01, struct mshv_get_set_vp_state)
|
|
+#define MSHV_SET_VP_STATE _IOWR(MSHV_IOCTL, 0x02, struct mshv_get_set_vp_state)
|
|
+/*
|
|
+ * Generic hypercall
|
|
+ * Defined above in partition IOCTLs, avoid redefining it here
|
|
+ * #define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+ */
|
|
+
|
|
+#endif
|
|
--- /dev/null
|
|
+++ b/s390/usr/include/linux/net_shaper.h
|
|
@@ -0,0 +1,95 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/net_shaper.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_NET_SHAPER_H
|
|
+#define _LINUX_NET_SHAPER_H
|
|
+
|
|
+#define NET_SHAPER_FAMILY_NAME "net-shaper"
|
|
+#define NET_SHAPER_FAMILY_VERSION 1
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_scope - Defines the shaper @id interpretation.
|
|
+ * @NET_SHAPER_SCOPE_UNSPEC: The scope is not specified.
|
|
+ * @NET_SHAPER_SCOPE_NETDEV: The main shaper for the given network device.
|
|
+ * @NET_SHAPER_SCOPE_QUEUE: The shaper is attached to the given device queue,
|
|
+ * the @id represents the queue number.
|
|
+ * @NET_SHAPER_SCOPE_NODE: The shaper allows grouping of queues or other node
|
|
+ * shapers; can be nested in either @netdev shapers or other @node shapers,
|
|
+ * allowing placement in any location of the scheduling tree, except leaves
|
|
+ * and root.
|
|
+ */
|
|
+enum net_shaper_scope {
|
|
+ NET_SHAPER_SCOPE_UNSPEC,
|
|
+ NET_SHAPER_SCOPE_NETDEV,
|
|
+ NET_SHAPER_SCOPE_QUEUE,
|
|
+ NET_SHAPER_SCOPE_NODE,
|
|
+
|
|
+ /* private: */
|
|
+ __NET_SHAPER_SCOPE_MAX,
|
|
+ NET_SHAPER_SCOPE_MAX = (__NET_SHAPER_SCOPE_MAX - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_metric - Different metric supported by the shaper.
|
|
+ * @NET_SHAPER_METRIC_BPS: Shaper operates on a bits per second basis.
|
|
+ * @NET_SHAPER_METRIC_PPS: Shaper operates on a packets per second basis.
|
|
+ */
|
|
+enum net_shaper_metric {
|
|
+ NET_SHAPER_METRIC_BPS,
|
|
+ NET_SHAPER_METRIC_PPS,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE = 1,
|
|
+ NET_SHAPER_A_METRIC,
|
|
+ NET_SHAPER_A_BW_MIN,
|
|
+ NET_SHAPER_A_BW_MAX,
|
|
+ NET_SHAPER_A_BURST,
|
|
+ NET_SHAPER_A_PRIORITY,
|
|
+ NET_SHAPER_A_WEIGHT,
|
|
+ NET_SHAPER_A_IFINDEX,
|
|
+ NET_SHAPER_A_PARENT,
|
|
+ NET_SHAPER_A_LEAVES,
|
|
+
|
|
+ __NET_SHAPER_A_MAX,
|
|
+ NET_SHAPER_A_MAX = (__NET_SHAPER_A_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE_SCOPE = 1,
|
|
+ NET_SHAPER_A_HANDLE_ID,
|
|
+
|
|
+ __NET_SHAPER_A_HANDLE_MAX,
|
|
+ NET_SHAPER_A_HANDLE_MAX = (__NET_SHAPER_A_HANDLE_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_CAPS_IFINDEX = 1,
|
|
+ NET_SHAPER_A_CAPS_SCOPE,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_BPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_PPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_NESTING,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MIN,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MAX,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BURST,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_PRIORITY,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_WEIGHT,
|
|
+
|
|
+ __NET_SHAPER_A_CAPS_MAX,
|
|
+ NET_SHAPER_A_CAPS_MAX = (__NET_SHAPER_A_CAPS_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_CMD_GET = 1,
|
|
+ NET_SHAPER_CMD_SET,
|
|
+ NET_SHAPER_CMD_DELETE,
|
|
+ NET_SHAPER_CMD_GROUP,
|
|
+ NET_SHAPER_CMD_CAP_GET,
|
|
+
|
|
+ __NET_SHAPER_CMD_MAX,
|
|
+ NET_SHAPER_CMD_MAX = (__NET_SHAPER_CMD_MAX - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_NET_SHAPER_H */
|
|
--- a/s390/usr/include/linux/net_tstamp.h
|
|
+++ b/s390/usr/include/linux/net_tstamp.h
|
|
@@ -13,6 +13,17 @@
|
|
#include <linux/types.h>
|
|
#include <linux/socket.h> /* for SO_TIMESTAMPING */
|
|
|
|
+/*
|
|
+ * Possible type of hwtstamp provider. Mainly "precise" the default one
|
|
+ * is for IEEE 1588 quality and "approx" is for NICs DMA point.
|
|
+ */
|
|
+enum hwtstamp_provider_qualifier {
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_PRECISE,
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_APPROX,
|
|
+
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_CNT,
|
|
+};
|
|
+
|
|
/* SO_TIMESTAMPING flags */
|
|
enum {
|
|
SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
|
|
--- a/s390/usr/include/linux/netdev.h
|
|
+++ b/s390/usr/include/linux/netdev.h
|
|
@@ -122,6 +122,9 @@ enum {
|
|
NETDEV_A_NAPI_ID,
|
|
NETDEV_A_NAPI_IRQ,
|
|
NETDEV_A_NAPI_PID,
|
|
+ NETDEV_A_NAPI_DEFER_HARD_IRQS,
|
|
+ NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT,
|
|
+ NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT,
|
|
|
|
__NETDEV_A_NAPI_MAX,
|
|
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
|
@@ -199,6 +202,7 @@ enum {
|
|
NETDEV_CMD_NAPI_GET,
|
|
NETDEV_CMD_QSTATS_GET,
|
|
NETDEV_CMD_BIND_RX,
|
|
+ NETDEV_CMD_NAPI_SET,
|
|
|
|
__NETDEV_CMD_MAX,
|
|
NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)
|
|
--- a/s390/usr/include/linux/nl80211.h
|
|
+++ b/s390/usr/include/linux/nl80211.h
|
|
@@ -4294,6 +4294,8 @@ enum nl80211_wmm_rule {
|
|
* otherwise completely disabled.
|
|
* @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a
|
|
* very low power (VLP) AP, despite being NO_IR.
|
|
+ * @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in
|
|
+ * 20 MHz bandwidth, despite being NO_IR.
|
|
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
|
* currently defined
|
|
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
|
@@ -4338,6 +4340,7 @@ enum nl80211_frequency_attr {
|
|
NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
|
|
NL80211_FREQUENCY_ATTR_CAN_MONITOR,
|
|
NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
|
|
+ NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY,
|
|
|
|
/* keep last */
|
|
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
|
@@ -4549,31 +4552,34 @@ enum nl80211_sched_scan_match_attr {
|
|
* @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed
|
|
* @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted
|
|
* despite NO_IR configuration.
|
|
+ * @NL80211_RRF_ALLOW_20MHZ_ACTIVITY: Allow activity in 20 MHz bandwidth,
|
|
+ * despite NO_IR configuration.
|
|
*/
|
|
enum nl80211_reg_rule_flags {
|
|
- NL80211_RRF_NO_OFDM = 1<<0,
|
|
- NL80211_RRF_NO_CCK = 1<<1,
|
|
- NL80211_RRF_NO_INDOOR = 1<<2,
|
|
- NL80211_RRF_NO_OUTDOOR = 1<<3,
|
|
- NL80211_RRF_DFS = 1<<4,
|
|
- NL80211_RRF_PTP_ONLY = 1<<5,
|
|
- NL80211_RRF_PTMP_ONLY = 1<<6,
|
|
- NL80211_RRF_NO_IR = 1<<7,
|
|
- __NL80211_RRF_NO_IBSS = 1<<8,
|
|
- NL80211_RRF_AUTO_BW = 1<<11,
|
|
- NL80211_RRF_IR_CONCURRENT = 1<<12,
|
|
- NL80211_RRF_NO_HT40MINUS = 1<<13,
|
|
- NL80211_RRF_NO_HT40PLUS = 1<<14,
|
|
- NL80211_RRF_NO_80MHZ = 1<<15,
|
|
- NL80211_RRF_NO_160MHZ = 1<<16,
|
|
- NL80211_RRF_NO_HE = 1<<17,
|
|
- NL80211_RRF_NO_320MHZ = 1<<18,
|
|
- NL80211_RRF_NO_EHT = 1<<19,
|
|
- NL80211_RRF_PSD = 1<<20,
|
|
- NL80211_RRF_DFS_CONCURRENT = 1<<21,
|
|
- NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22,
|
|
- NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23,
|
|
- NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24,
|
|
+ NL80211_RRF_NO_OFDM = 1 << 0,
|
|
+ NL80211_RRF_NO_CCK = 1 << 1,
|
|
+ NL80211_RRF_NO_INDOOR = 1 << 2,
|
|
+ NL80211_RRF_NO_OUTDOOR = 1 << 3,
|
|
+ NL80211_RRF_DFS = 1 << 4,
|
|
+ NL80211_RRF_PTP_ONLY = 1 << 5,
|
|
+ NL80211_RRF_PTMP_ONLY = 1 << 6,
|
|
+ NL80211_RRF_NO_IR = 1 << 7,
|
|
+ __NL80211_RRF_NO_IBSS = 1 << 8,
|
|
+ NL80211_RRF_AUTO_BW = 1 << 11,
|
|
+ NL80211_RRF_IR_CONCURRENT = 1 << 12,
|
|
+ NL80211_RRF_NO_HT40MINUS = 1 << 13,
|
|
+ NL80211_RRF_NO_HT40PLUS = 1 << 14,
|
|
+ NL80211_RRF_NO_80MHZ = 1 << 15,
|
|
+ NL80211_RRF_NO_160MHZ = 1 << 16,
|
|
+ NL80211_RRF_NO_HE = 1 << 17,
|
|
+ NL80211_RRF_NO_320MHZ = 1 << 18,
|
|
+ NL80211_RRF_NO_EHT = 1 << 19,
|
|
+ NL80211_RRF_PSD = 1 << 20,
|
|
+ NL80211_RRF_DFS_CONCURRENT = 1 << 21,
|
|
+ NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22,
|
|
+ NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23,
|
|
+ NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24,
|
|
+ NL80211_RRF_ALLOW_20MHZ_ACTIVITY = 1 << 25,
|
|
};
|
|
|
|
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
|
|
--- a/s390/usr/include/linux/pci_regs.h
|
|
+++ b/s390/usr/include/linux/pci_regs.h
|
|
@@ -340,7 +340,8 @@
|
|
#define PCI_MSIX_ENTRY_UPPER_ADDR 0x4 /* Message Upper Address */
|
|
#define PCI_MSIX_ENTRY_DATA 0x8 /* Message Data */
|
|
#define PCI_MSIX_ENTRY_VECTOR_CTRL 0xc /* Vector Control */
|
|
-#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001
|
|
+#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001 /* Mask Bit */
|
|
+#define PCI_MSIX_ENTRY_CTRL_ST 0xffff0000 /* Steering Tag */
|
|
|
|
/* CompactPCI Hotswap Register */
|
|
|
|
@@ -659,6 +660,7 @@
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP64 0x00000100 /* 64b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP128 0x00000200 /* 128b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_LTR 0x00000800 /* Latency tolerance reporting */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_MASK 0x00003000 /* TPH completer support */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000 /* OBFF support mechanism */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000 /* New message signaling */
|
|
#define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
|
|
@@ -1023,15 +1025,34 @@
|
|
#define PCI_DPA_CAP_SUBSTATE_MASK 0x1F /* # substates - 1 */
|
|
#define PCI_DPA_BASE_SIZEOF 16 /* size with 0 substates */
|
|
|
|
+/* TPH Completer Support */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_NONE 0x0 /* None */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_TPH_ONLY 0x1 /* TPH only */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_EXT_TPH 0x3 /* TPH and Extended TPH */
|
|
+
|
|
/* TPH Requester */
|
|
#define PCI_TPH_CAP 4 /* capability register */
|
|
-#define PCI_TPH_CAP_LOC_MASK 0x600 /* location mask */
|
|
-#define PCI_TPH_LOC_NONE 0x000 /* no location */
|
|
-#define PCI_TPH_LOC_CAP 0x200 /* in capability */
|
|
-#define PCI_TPH_LOC_MSIX 0x400 /* in MSI-X */
|
|
-#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST table mask */
|
|
-#define PCI_TPH_CAP_ST_SHIFT 16 /* ST table shift */
|
|
-#define PCI_TPH_BASE_SIZEOF 0xc /* size with no ST table */
|
|
+#define PCI_TPH_CAP_ST_NS 0x00000001 /* No ST Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_IV 0x00000002 /* Interrupt Vector Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_DS 0x00000004 /* Device Specific Mode Supported */
|
|
+#define PCI_TPH_CAP_EXT_TPH 0x00000100 /* Ext TPH Requester Supported */
|
|
+#define PCI_TPH_CAP_LOC_MASK 0x00000600 /* ST Table Location */
|
|
+#define PCI_TPH_LOC_NONE 0x00000000 /* Not present */
|
|
+#define PCI_TPH_LOC_CAP 0x00000200 /* In capability */
|
|
+#define PCI_TPH_LOC_MSIX 0x00000400 /* In MSI-X */
|
|
+#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST Table Size */
|
|
+#define PCI_TPH_CAP_ST_SHIFT 16 /* ST Table Size shift */
|
|
+#define PCI_TPH_BASE_SIZEOF 0xc /* Size with no ST table */
|
|
+
|
|
+#define PCI_TPH_CTRL 8 /* control register */
|
|
+#define PCI_TPH_CTRL_MODE_SEL_MASK 0x00000007 /* ST Mode Select */
|
|
+#define PCI_TPH_ST_NS_MODE 0x0 /* No ST Mode */
|
|
+#define PCI_TPH_ST_IV_MODE 0x1 /* Interrupt Vector Mode */
|
|
+#define PCI_TPH_ST_DS_MODE 0x2 /* Device Specific Mode */
|
|
+#define PCI_TPH_CTRL_REQ_EN_MASK 0x00000300 /* TPH Requester Enable */
|
|
+#define PCI_TPH_REQ_DISABLE 0x0 /* No TPH requests allowed */
|
|
+#define PCI_TPH_REQ_TPH_ONLY 0x1 /* TPH only requests allowed */
|
|
+#define PCI_TPH_REQ_EXT_TPH 0x3 /* Extended TPH requests allowed */
|
|
|
|
/* Downstream Port Containment */
|
|
#define PCI_EXP_DPC_CAP 0x04 /* DPC Capability */
|
|
--- a/s390/usr/include/linux/perf_event.h
|
|
+++ b/s390/usr/include/linux/perf_event.h
|
|
@@ -385,6 +385,8 @@ enum perf_event_read_format {
|
|
*
|
|
* @sample_max_stack: Max number of frame pointers in a callchain,
|
|
* should be < /proc/sys/kernel/perf_event_max_stack
|
|
+ * Max number of entries of branch stack
|
|
+ * should be < hardware limit
|
|
*/
|
|
struct perf_event_attr {
|
|
|
|
@@ -511,7 +513,16 @@ struct perf_event_attr {
|
|
__u16 sample_max_stack;
|
|
__u16 __reserved_2;
|
|
__u32 aux_sample_size;
|
|
- __u32 __reserved_3;
|
|
+
|
|
+ union {
|
|
+ __u32 aux_action;
|
|
+ struct {
|
|
+ __u32 aux_start_paused : 1, /* start AUX area tracing paused */
|
|
+ aux_pause : 1, /* on overflow, pause AUX area tracing */
|
|
+ aux_resume : 1, /* on overflow, resume AUX area tracing */
|
|
+ __reserved_3 : 29;
|
|
+ };
|
|
+ };
|
|
|
|
/*
|
|
* User provided data if sigtrap=1, passed back to user via
|
|
--- a/s390/usr/include/linux/pfrut.h
|
|
+++ b/s390/usr/include/linux/pfrut.h
|
|
@@ -89,6 +89,7 @@ struct pfru_payload_hdr {
|
|
__u32 hw_ver;
|
|
__u32 rt_ver;
|
|
__u8 platform_id[16];
|
|
+ __u32 svn_ver;
|
|
};
|
|
|
|
enum pfru_dsm_status {
|
|
--- a/s390/usr/include/linux/pidfd.h
|
|
+++ b/s390/usr/include/linux/pidfd.h
|
|
@@ -16,6 +16,56 @@
|
|
#define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1)
|
|
#define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2)
|
|
|
|
+/* Flags for pidfd_info. */
|
|
+#define PIDFD_INFO_PID (1UL << 0) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CREDS (1UL << 1) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CGROUPID (1UL << 2) /* Always returned if available, even if not requested */
|
|
+#define PIDFD_INFO_EXIT (1UL << 3) /* Only returned if requested. */
|
|
+
|
|
+#define PIDFD_INFO_SIZE_VER0 64 /* sizeof first published struct */
|
|
+
|
|
+struct pidfd_info {
|
|
+ /*
|
|
+ * This mask is similar to the request_mask in statx(2).
|
|
+ *
|
|
+ * Userspace indicates what extensions or expensive-to-calculate fields
|
|
+ * they want by setting the corresponding bits in mask. The kernel
|
|
+ * will ignore bits that it does not know about.
|
|
+ *
|
|
+ * When filling the structure, the kernel will only set bits
|
|
+ * corresponding to the fields that were actually filled by the kernel.
|
|
+ * This also includes any future extensions that might be automatically
|
|
+ * filled. If the structure size is too small to contain a field
|
|
+ * (requested or not), to avoid confusion the mask will not
|
|
+ * contain a bit for that field.
|
|
+ *
|
|
+ * As such, userspace MUST verify that mask contains the
|
|
+ * corresponding flags after the ioctl(2) returns to ensure that it is
|
|
+ * using valid data.
|
|
+ */
|
|
+ __u64 mask;
|
|
+ /*
|
|
+ * The information contained in the following fields might be stale at the
|
|
+ * time it is received, as the target process might have exited as soon as
|
|
+ * the IOCTL was processed, and there is no way to avoid that. However, it
|
|
+ * is guaranteed that if the call was successful, then the information was
|
|
+ * correct and referred to the intended process at the time the work was
|
|
+ * performed. */
|
|
+ __u64 cgroupid;
|
|
+ __u32 pid;
|
|
+ __u32 tgid;
|
|
+ __u32 ppid;
|
|
+ __u32 ruid;
|
|
+ __u32 rgid;
|
|
+ __u32 euid;
|
|
+ __u32 egid;
|
|
+ __u32 suid;
|
|
+ __u32 sgid;
|
|
+ __u32 fsuid;
|
|
+ __u32 fsgid;
|
|
+ __s32 exit_code;
|
|
+};
|
|
+
|
|
#define PIDFS_IOCTL_MAGIC 0xFF
|
|
|
|
#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1)
|
|
@@ -28,5 +78,6 @@
|
|
#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8)
|
|
#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9)
|
|
#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10)
|
|
+#define PIDFD_GET_INFO _IOWR(PIDFS_IOCTL_MAGIC, 11, struct pidfd_info)
|
|
|
|
#endif /* _LINUX_PIDFD_H */
|
|
--- a/s390/usr/include/linux/psci.h
|
|
+++ b/s390/usr/include/linux/psci.h
|
|
@@ -59,6 +59,7 @@
|
|
#define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18)
|
|
#define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19)
|
|
#define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(20)
|
|
+#define PSCI_1_3_FN_SYSTEM_OFF2 PSCI_0_2_FN(21)
|
|
|
|
#define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12)
|
|
#define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13)
|
|
@@ -68,6 +69,7 @@
|
|
|
|
#define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18)
|
|
#define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(20)
|
|
+#define PSCI_1_3_FN64_SYSTEM_OFF2 PSCI_0_2_FN64(21)
|
|
|
|
/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
|
|
#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
|
|
@@ -100,6 +102,9 @@
|
|
#define PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET 0
|
|
#define PSCI_1_1_RESET_TYPE_VENDOR_START 0x80000000U
|
|
|
|
+/* PSCI v1.3 hibernate type for SYSTEM_OFF2 */
|
|
+#define PSCI_1_3_OFF_TYPE_HIBERNATE_OFF BIT(0)
|
|
+
|
|
/* PSCI version decoding (independent of PSCI version) */
|
|
#define PSCI_VERSION_MAJOR_SHIFT 16
|
|
#define PSCI_VERSION_MINOR_MASK \
|
|
--- a/s390/usr/include/linux/psp-sev.h
|
|
+++ b/s390/usr/include/linux/psp-sev.h
|
|
@@ -73,13 +73,20 @@ typedef enum {
|
|
SEV_RET_INVALID_PARAM,
|
|
SEV_RET_RESOURCE_LIMIT,
|
|
SEV_RET_SECURE_DATA_INVALID,
|
|
- SEV_RET_INVALID_KEY = 0x27,
|
|
- SEV_RET_INVALID_PAGE_SIZE,
|
|
- SEV_RET_INVALID_PAGE_STATE,
|
|
- SEV_RET_INVALID_MDATA_ENTRY,
|
|
- SEV_RET_INVALID_PAGE_OWNER,
|
|
- SEV_RET_INVALID_PAGE_AEAD_OFLOW,
|
|
- SEV_RET_RMP_INIT_REQUIRED,
|
|
+ SEV_RET_INVALID_PAGE_SIZE = 0x0019,
|
|
+ SEV_RET_INVALID_PAGE_STATE = 0x001A,
|
|
+ SEV_RET_INVALID_MDATA_ENTRY = 0x001B,
|
|
+ SEV_RET_INVALID_PAGE_OWNER = 0x001C,
|
|
+ SEV_RET_AEAD_OFLOW = 0x001D,
|
|
+ SEV_RET_EXIT_RING_BUFFER = 0x001F,
|
|
+ SEV_RET_RMP_INIT_REQUIRED = 0x0020,
|
|
+ SEV_RET_BAD_SVN = 0x0021,
|
|
+ SEV_RET_BAD_VERSION = 0x0022,
|
|
+ SEV_RET_SHUTDOWN_REQUIRED = 0x0023,
|
|
+ SEV_RET_UPDATE_FAILED = 0x0024,
|
|
+ SEV_RET_RESTORE_REQUIRED = 0x0025,
|
|
+ SEV_RET_RMP_INITIALIZATION_FAILED = 0x0026,
|
|
+ SEV_RET_INVALID_KEY = 0x0027,
|
|
SEV_RET_MAX,
|
|
} sev_ret_code;
|
|
|
|
--- a/s390/usr/include/linux/raid/md_p.h
|
|
+++ b/s390/usr/include/linux/raid/md_p.h
|
|
@@ -85,6 +85,7 @@
|
|
* devices available - and don't try to
|
|
* correct read errors.
|
|
*/
|
|
+#define MD_DISK_TIMEOUT 11 /* disk is faulty due to timeout */
|
|
|
|
#define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
|
|
* read requests will only be sent here in
|
|
@@ -95,6 +96,7 @@
|
|
#define MD_DISK_ROLE_SPARE 0xffff
|
|
#define MD_DISK_ROLE_FAULTY 0xfffe
|
|
#define MD_DISK_ROLE_JOURNAL 0xfffd
|
|
+#define MD_DISK_ROLE_TIMEOUT 0xfff0 /* SUSE-only timed-out */
|
|
#define MD_DISK_ROLE_MAX 0xff00 /* max value of regular disk role */
|
|
|
|
typedef struct mdp_device_descriptor_s {
|
|
@@ -233,7 +235,7 @@ struct mdp_superblock_1 {
|
|
char set_name[32]; /* set and interpreted by user-space */
|
|
|
|
__le64 ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/
|
|
- __le32 level; /* 0,1,4,5 */
|
|
+ __le32 level; /* 0,1,4,5, -1 (linear) */
|
|
__le32 layout; /* only for raid5 and raid10 currently */
|
|
__le64 size; /* used size of component devices, in 512byte sectors */
|
|
|
|
--- a/s390/usr/include/linux/raid/md_u.h
|
|
+++ b/s390/usr/include/linux/raid/md_u.h
|
|
@@ -103,6 +103,8 @@ typedef struct mdu_array_info_s {
|
|
|
|
} mdu_array_info_t;
|
|
|
|
+#define LEVEL_LINEAR (-1)
|
|
+
|
|
/* we need a value for 'no level specified' and 0
|
|
* means 'raid0', so we need something else. This is
|
|
* for internal use only
|
|
--- a/s390/usr/include/linux/rkisp1-config.h
|
|
+++ b/s390/usr/include/linux/rkisp1-config.h
|
|
@@ -1528,7 +1528,7 @@ enum rksip1_ext_param_buffer_version {
|
|
* The expected memory layout of the parameters buffer is::
|
|
*
|
|
* +-------------------- struct rkisp1_ext_params_cfg -------------------+
|
|
- * | version = RKISP_EXT_PARAMS_BUFFER_V1; |
|
|
+ * | version = RKISP1_EXT_PARAM_BUFFER_V1; |
|
|
* | data_size = sizeof(struct rkisp1_ext_params_bls_config) |
|
|
* | + sizeof(struct rkisp1_ext_params_dpcc_config); |
|
|
* | +------------------------- data ---------------------------------+ |
|
|
--- a/s390/usr/include/linux/rtnetlink.h
|
|
+++ b/s390/usr/include/linux/rtnetlink.h
|
|
@@ -174,7 +174,7 @@ enum {
|
|
#define RTM_GETLINKPROP RTM_GETLINKPROP
|
|
|
|
RTM_NEWVLAN = 112,
|
|
-#define RTM_NEWNVLAN RTM_NEWVLAN
|
|
+#define RTM_NEWVLAN RTM_NEWVLAN
|
|
RTM_DELVLAN,
|
|
#define RTM_DELVLAN RTM_DELVLAN
|
|
RTM_GETVLAN,
|
|
--- a/s390/usr/include/linux/sed-opal.h
|
|
+++ b/s390/usr/include/linux/sed-opal.h
|
|
@@ -215,5 +215,6 @@ struct opal_revert_lsp {
|
|
#define IOC_OPAL_GET_GEOMETRY _IOR('p', 238, struct opal_geometry)
|
|
#define IOC_OPAL_DISCOVERY _IOW('p', 239, struct opal_discovery)
|
|
#define IOC_OPAL_REVERT_LSP _IOW('p', 240, struct opal_revert_lsp)
|
|
+#define IOC_OPAL_SET_SID_PW _IOW('p', 241, struct opal_new_pw)
|
|
|
|
#endif /* _SED_OPAL_H */
|
|
--- a/s390/usr/include/linux/stddef.h
|
|
+++ b/s390/usr/include/linux/stddef.h
|
|
@@ -8,6 +8,13 @@
|
|
#define __always_inline __inline__
|
|
#endif
|
|
|
|
+/* Not all C++ standards support type declarations inside an anonymous union */
|
|
+#ifndef __cplusplus
|
|
+#define __struct_group_tag(TAG) TAG
|
|
+#else
|
|
+#define __struct_group_tag(TAG)
|
|
+#endif
|
|
+
|
|
/**
|
|
* __struct_group() - Create a mirrored named and anonyomous struct
|
|
*
|
|
@@ -20,13 +27,13 @@
|
|
* and size: one anonymous and one named. The former's members can be used
|
|
* normally without sub-struct naming, and the latter can be used to
|
|
* reason about the start, end, and size of the group of struct members.
|
|
- * The named struct can also be explicitly tagged for layer reuse, as well
|
|
- * as both having struct attributes appended.
|
|
+ * The named struct can also be explicitly tagged for layer reuse (C only),
|
|
+ * as well as both having struct attributes appended.
|
|
*/
|
|
#define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
|
|
union { \
|
|
struct { MEMBERS } ATTRS; \
|
|
- struct TAG { MEMBERS } ATTRS NAME; \
|
|
+ struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \
|
|
} ATTRS
|
|
|
|
#ifdef __cplusplus
|
|
--- a/s390/usr/include/linux/types.h
|
|
+++ b/s390/usr/include/linux/types.h
|
|
@@ -48,6 +48,7 @@ typedef __u32 __bitwise __wsum;
|
|
* No conversions are necessary between 32-bit user-space and a 64-bit kernel.
|
|
*/
|
|
#define __aligned_u64 __u64 __attribute__((aligned(8)))
|
|
+#define __aligned_s64 __s64 __attribute__((aligned(8)))
|
|
#define __aligned_be64 __be64 __attribute__((aligned(8)))
|
|
#define __aligned_le64 __le64 __attribute__((aligned(8)))
|
|
|
|
--- a/s390/usr/include/linux/usb/ch9.h
|
|
+++ b/s390/usr/include/linux/usb/ch9.h
|
|
@@ -253,6 +253,9 @@ struct usb_ctrlrequest {
|
|
#define USB_DT_BOS 0x0f
|
|
#define USB_DT_DEVICE_CAPABILITY 0x10
|
|
#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11
|
|
+/* From the eUSB2 spec */
|
|
+#define USB_DT_EUSB2_ISOC_ENDPOINT_COMP 0x12
|
|
+/* From Wireless USB spec */
|
|
#define USB_DT_WIRE_ADAPTER 0x21
|
|
/* From USB Device Firmware Upgrade Specification, Revision 1.1 */
|
|
#define USB_DT_DFU_FUNCTIONAL 0x21
|
|
@@ -330,6 +333,7 @@ struct usb_device_descriptor {
|
|
#define USB_CLASS_AUDIO_VIDEO 0x10
|
|
#define USB_CLASS_BILLBOARD 0x11
|
|
#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
|
|
+#define USB_CLASS_MCTP 0x14
|
|
#define USB_CLASS_MISC 0xef
|
|
#define USB_CLASS_APP_SPEC 0xfe
|
|
#define USB_SUBCLASS_DFU 0x01
|
|
@@ -675,6 +679,18 @@ static __inline__ int usb_endpoint_inter
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
+/* USB_DT_EUSB2_ISOC_ENDPOINT_COMP: eUSB2 Isoch Endpoint Companion descriptor */
|
|
+struct usb_eusb2_isoc_ep_comp_descriptor {
|
|
+ __u8 bLength;
|
|
+ __u8 bDescriptorType;
|
|
+ __le16 wMaxPacketSize;
|
|
+ __le32 dwBytesPerInterval;
|
|
+} __attribute__ ((packed));
|
|
+
|
|
+#define USB_DT_EUSB2_ISOC_EP_COMP_SIZE 8
|
|
+
|
|
+/*-------------------------------------------------------------------------*/
|
|
+
|
|
/* USB_DT_SSP_ISOC_ENDPOINT_COMP: SuperSpeedPlus Isochronous Endpoint Companion
|
|
* descriptor
|
|
*/
|
|
--- a/s390/usr/include/linux/usb/functionfs.h
|
|
+++ b/s390/usr/include/linux/usb/functionfs.h
|
|
@@ -205,7 +205,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -223,7 +223,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -236,7 +236,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* | 11 | ExtProp[] | | list of ext. prop. d. |
|
|
* +-----+-----------------+------+--------------------------+
|
|
*
|
|
- * ExtCompat[] is an array of valid Extended Compatiblity descriptors
|
|
+ * ExtCompat[] is an array of valid Extended Compatibility descriptors
|
|
* which have the following format:
|
|
*
|
|
* +-----+-----------------------+------+-------------------------------------+
|
|
@@ -294,7 +294,7 @@ struct usb_functionfs_strings_head {
|
|
* | 16 | stringtab | StringTab[lang_count] | table of strings per lang |
|
|
*
|
|
* For each language there is one stringtab entry (ie. there are lang_count
|
|
- * stringtab entires). Each StringTab has following format:
|
|
+ * stringtab entries). Each StringTab has following format:
|
|
*
|
|
* | off | name | type | description |
|
|
* |-----+---------+-------------------+------------------------------------|
|
|
--- a/s390/usr/include/linux/vhost.h
|
|
+++ b/s390/usr/include/linux/vhost.h
|
|
@@ -235,4 +235,33 @@
|
|
*/
|
|
#define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \
|
|
struct vhost_vring_state)
|
|
+
|
|
+/* fork_owner values for vhost */
|
|
+#define VHOST_FORK_OWNER_KTHREAD 0
|
|
+#define VHOST_FORK_OWNER_TASK 1
|
|
+
|
|
+/**
|
|
+ * VHOST_SET_FORK_FROM_OWNER - Set the fork_owner flag for the vhost device,
|
|
+ * This ioctl must called before VHOST_SET_OWNER.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @param fork_owner: An 8-bit value that determines the vhost thread mode
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_TASK(default value):
|
|
+ * - Vhost will create vhost worker as tasks forked from the owner,
|
|
+ * inheriting all of the owner's attributes.
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_KTHREAD:
|
|
+ * - Vhost will create vhost workers as kernel threads.
|
|
+ */
|
|
+#define VHOST_SET_FORK_FROM_OWNER _IOW(VHOST_VIRTIO, 0x84, __u8)
|
|
+
|
|
+/**
|
|
+ * VHOST_GET_FORK_OWNER - Get the current fork_owner flag for the vhost device.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @return: An 8-bit value indicating the current thread mode.
|
|
+ */
|
|
+#define VHOST_GET_FORK_FROM_OWNER _IOR(VHOST_VIRTIO, 0x85, __u8)
|
|
+
|
|
#endif
|
|
--- a/s390/usr/include/linux/videodev2.h
|
|
+++ b/s390/usr/include/linux/videodev2.h
|
|
@@ -771,6 +771,7 @@ struct v4l2_pix_format {
|
|
#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
|
|
#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
|
|
+#define V4L2_PIX_FMT_Y16I v4l2_fourcc('Y', '1', '6', 'I') /* Greyscale 16-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
|
|
#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
|
|
#define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */
|
|
@@ -832,6 +833,8 @@ struct v4l2_pix_format {
|
|
|
|
/* Vendor specific - used for RaspberryPi PiSP */
|
|
#define V4L2_META_FMT_RPI_BE_CFG v4l2_fourcc('R', 'P', 'B', 'C') /* PiSP BE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_CFG v4l2_fourcc('R', 'P', 'F', 'C') /* PiSP FE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_STATS v4l2_fourcc('R', 'P', 'F', 'S') /* PiSP FE stats */
|
|
|
|
|
|
/* priv field value to indicates that subsequent fields are valid. */
|
|
--- a/s390/usr/include/linux/xfrm.h
|
|
+++ b/s390/usr/include/linux/xfrm.h
|
|
@@ -322,6 +322,7 @@ enum xfrm_attr_type_t {
|
|
XFRMA_MTIMER_THRESH, /* __u32 in seconds for input SA */
|
|
XFRMA_SA_DIR, /* __u8 */
|
|
XFRMA_NAT_KEEPALIVE_INTERVAL, /* __u32 in seconds for NAT keepalive */
|
|
+ XFRMA_SA_PCPU, /* __u32 */
|
|
__XFRMA_MAX
|
|
|
|
#define XFRMA_OUTPUT_MARK XFRMA_SET_MARK /* Compatibility */
|
|
@@ -437,6 +438,7 @@ struct xfrm_userpolicy_info {
|
|
#define XFRM_POLICY_LOCALOK 1 /* Allow user to override global policy */
|
|
/* Automatically expand selector to include matching ICMP payloads. */
|
|
#define XFRM_POLICY_ICMP 2
|
|
+#define XFRM_POLICY_CPU_ACQUIRE 4
|
|
__u8 share;
|
|
};
|
|
|
|
--- a/s390/usr/include/rdma/efa-abi.h
|
|
+++ b/s390/usr/include/rdma/efa-abi.h
|
|
@@ -95,7 +95,8 @@ struct efa_ibv_create_qp {
|
|
__u32 sq_ring_size; /* bytes */
|
|
__u32 driver_qp_type;
|
|
__u16 flags;
|
|
- __u8 reserved_90[6];
|
|
+ __u8 sl;
|
|
+ __u8 reserved_98[5];
|
|
};
|
|
|
|
struct efa_ibv_create_qp_resp {
|
|
--- a/s390/usr/include/rdma/mlx5-abi.h
|
|
+++ b/s390/usr/include/rdma/mlx5-abi.h
|
|
@@ -252,6 +252,7 @@ enum mlx5_ib_query_dev_resp_flags {
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1,
|
|
MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE = 1 << 2,
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT = 1 << 3,
|
|
+ MLX5_IB_QUERY_DEV_RESP_FLAGS_OOO_DP = 1 << 4,
|
|
};
|
|
|
|
enum mlx5_ib_tunnel_offloads {
|
|
@@ -439,6 +440,10 @@ struct mlx5_ib_burst_info {
|
|
__u16 reserved;
|
|
};
|
|
|
|
+enum mlx5_ib_modify_qp_mask {
|
|
+ MLX5_IB_MODIFY_QP_OOO_DP = 1 << 0,
|
|
+};
|
|
+
|
|
struct mlx5_ib_modify_qp {
|
|
__u32 comp_mask;
|
|
struct mlx5_ib_burst_info burst_info;
|
|
--- a/s390/usr/include/rdma/rdma_netlink.h
|
|
+++ b/s390/usr/include/rdma/rdma_netlink.h
|
|
@@ -638,6 +638,8 @@ enum rdma_nl_notify_event_type {
|
|
RDMA_UNREGISTER_EVENT,
|
|
RDMA_NETDEV_ATTACH_EVENT,
|
|
RDMA_NETDEV_DETACH_EVENT,
|
|
+ RDMA_RENAME_EVENT,
|
|
+ RDMA_NETDEV_RENAME_EVENT,
|
|
};
|
|
|
|
#endif /* _RDMA_NETLINK_H */
|
|
--- a/s390/usr/include/scsi/fc/fc_els.h
|
|
+++ b/s390/usr/include/scsi/fc/fc_els.h
|
|
@@ -11,6 +11,8 @@
|
|
#include <linux/types.h>
|
|
#include <asm/byteorder.h>
|
|
|
|
+#include <stddef.h> /* for offsetof */
|
|
+
|
|
/*
|
|
* Fibre Channel Switch - Enhanced Link Services definitions.
|
|
* From T11 FC-LS Rev 1.2 June 7, 2005.
|
|
@@ -1109,12 +1111,15 @@ struct fc_els_fpin {
|
|
|
|
/* Diagnostic Function Descriptor - FPIN Registration */
|
|
struct fc_df_desc_fpin_reg {
|
|
- __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
- __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
- * Size of descriptor excluding
|
|
- * desc_tag and desc_len fields.
|
|
- */
|
|
- __be32 count; /* Number of desc_tags elements */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_df_desc_fpin_reg_hdr, __hdr, /* no attrs */,
|
|
+ __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
+ __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
+ * Size of descriptor excluding
|
|
+ * desc_tag and desc_len fields.
|
|
+ */
|
|
+ __be32 count; /* Number of desc_tags elements */
|
|
+ );
|
|
__be32 desc_tags[]; /* Array of Descriptor Tags.
|
|
* Each tag indicates a function
|
|
* supported by the N_Port (request)
|
|
@@ -1124,33 +1129,44 @@ struct fc_df_desc_fpin_reg {
|
|
* See ELS_FN_DTAG_xxx for tag values.
|
|
*/
|
|
};
|
|
+_Static_assert(offsetof(struct fc_df_desc_fpin_reg, desc_tags) == sizeof(struct fc_df_desc_fpin_reg_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS_RDF - Register Diagnostic Functions
|
|
*/
|
|
struct fc_els_rdf {
|
|
- __u8 fpin_cmd; /* command (0x19) */
|
|
- __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
- __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
- * Size of ELS excluding fpin_cmd,
|
|
- * fpin_zero and desc_len fields.
|
|
- */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_hdr, __hdr, /* no attrs */,
|
|
+ __u8 fpin_cmd; /* command (0x19) */
|
|
+ __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
+ __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
+ * Size of ELS excluding fpin_cmd,
|
|
+ * fpin_zero and desc_len fields.
|
|
+ */
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Descriptor list */
|
|
};
|
|
+_Static_assert(offsetof(struct fc_els_rdf, desc) == sizeof(struct fc_els_rdf_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS RDF LS_ACC Response.
|
|
*/
|
|
struct fc_els_rdf_resp {
|
|
- struct fc_els_ls_acc acc_hdr;
|
|
- __be32 desc_list_len; /* Length of response (in
|
|
- * bytes). Excludes acc_hdr
|
|
- * and desc_list_len fields.
|
|
- */
|
|
- struct fc_els_lsri_desc lsri;
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_resp_hdr, __hdr, /* no attrs */,
|
|
+ struct fc_els_ls_acc acc_hdr;
|
|
+ __be32 desc_list_len; /* Length of response (in
|
|
+ * bytes). Excludes acc_hdr
|
|
+ * and desc_list_len fields.
|
|
+ */
|
|
+ struct fc_els_lsri_desc lsri;
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Supported Descriptor list */
|
|
};
|
|
-
|
|
+_Static_assert(offsetof(struct fc_els_rdf_resp, desc) == sizeof(struct fc_els_rdf_resp_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* Diagnostic Capability Descriptors for EDC ELS
|
|
--- a/sparc/usr/include/asm-generic/mman-common.h
|
|
+++ b/sparc/usr/include/asm-generic/mman-common.h
|
|
@@ -79,6 +79,9 @@
|
|
|
|
#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */
|
|
|
|
+#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */
|
|
+#define MADV_GUARD_REMOVE 103 /* unguard range */
|
|
+
|
|
/* compatibility flags */
|
|
#define MAP_FILE 0
|
|
|
|
--- a/sparc/usr/include/linux/devlink.h
|
|
+++ b/sparc/usr/include/linux/devlink.h
|
|
@@ -385,6 +385,21 @@ enum devlink_linecard_state {
|
|
DEVLINK_LINECARD_STATE_MAX = __DEVLINK_LINECARD_STATE_MAX - 1
|
|
};
|
|
|
|
+/* Variable attribute type. */
|
|
+enum devlink_var_attr_type {
|
|
+ /* Following values relate to the internal NLA_* values */
|
|
+ DEVLINK_VAR_ATTR_TYPE_U8 = 1,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U16,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U32,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U64,
|
|
+ DEVLINK_VAR_ATTR_TYPE_STRING,
|
|
+ DEVLINK_VAR_ATTR_TYPE_FLAG,
|
|
+ DEVLINK_VAR_ATTR_TYPE_NUL_STRING = 10,
|
|
+ DEVLINK_VAR_ATTR_TYPE_BINARY,
|
|
+ __DEVLINK_VAR_ATTR_TYPE_CUSTOM_BASE = 0x80,
|
|
+ /* Any possible custom types, unrelated to NLA_* values go below */
|
|
+};
|
|
+
|
|
enum devlink_attr {
|
|
/* don't change the order or add anything between, this is ABI! */
|
|
DEVLINK_ATTR_UNSPEC,
|
|
--- a/sparc/usr/include/linux/dm-ioctl.h
|
|
+++ b/sparc/usr/include/linux/dm-ioctl.h
|
|
@@ -286,9 +286,9 @@ enum {
|
|
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
|
|
|
#define DM_VERSION_MAJOR 4
|
|
-#define DM_VERSION_MINOR 48
|
|
+#define DM_VERSION_MINOR 49
|
|
#define DM_VERSION_PATCHLEVEL 0
|
|
-#define DM_VERSION_EXTRA "-ioctl (2023-03-01)"
|
|
+#define DM_VERSION_EXTRA "-ioctl (2025-01-17)"
|
|
|
|
/* Status bits */
|
|
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
|
--- a/sparc/usr/include/linux/dpll.h
|
|
+++ b/sparc/usr/include/linux/dpll.h
|
|
@@ -79,6 +79,29 @@ enum dpll_lock_status_error {
|
|
DPLL_LOCK_STATUS_ERROR_MAX = (__DPLL_LOCK_STATUS_ERROR_MAX - 1)
|
|
};
|
|
|
|
+/**
|
|
+ * enum dpll_clock_quality_level - level of quality of a clock device. This
|
|
+ * mainly applies when the dpll lock-status is DPLL_LOCK_STATUS_HOLDOVER. The
|
|
+ * current list is defined according to the table 11-7 contained in ITU-T
|
|
+ * G.8264/Y.1364 document. One may extend this list freely by other ITU-T
|
|
+ * defined clock qualities, or different ones defined by another
|
|
+ * standardization body (for those, please use different prefix).
|
|
+ */
|
|
+enum dpll_clock_quality_level {
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRC = 1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_A,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_B,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEC1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEEC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRC,
|
|
+
|
|
+ /* private: */
|
|
+ __DPLL_CLOCK_QUALITY_LEVEL_MAX,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_MAX = (__DPLL_CLOCK_QUALITY_LEVEL_MAX - 1)
|
|
+};
|
|
+
|
|
#define DPLL_TEMP_DIVIDER 1000
|
|
|
|
/**
|
|
@@ -180,6 +203,7 @@ enum dpll_a {
|
|
DPLL_A_TEMP,
|
|
DPLL_A_TYPE,
|
|
DPLL_A_LOCK_STATUS_ERROR,
|
|
+ DPLL_A_CLOCK_QUALITY_LEVEL,
|
|
|
|
__DPLL_A_MAX,
|
|
DPLL_A_MAX = (__DPLL_A_MAX - 1)
|
|
--- a/sparc/usr/include/linux/ethtool.h
|
|
+++ b/sparc/usr/include/linux/ethtool.h
|
|
@@ -679,6 +679,8 @@ enum ethtool_link_ext_substate_module {
|
|
* @ETH_SS_STATS_ETH_MAC: names of IEEE 802.3 MAC statistics
|
|
* @ETH_SS_STATS_ETH_CTRL: names of IEEE 802.3 MAC Control statistics
|
|
* @ETH_SS_STATS_RMON: names of RMON statistics
|
|
+ * @ETH_SS_STATS_PHY: names of PHY(dev) statistics
|
|
+ * @ETH_SS_TS_FLAGS: hardware timestamping flags
|
|
*
|
|
* @ETH_SS_COUNT: number of defined string sets
|
|
*/
|
|
@@ -704,6 +706,8 @@ enum ethtool_stringset {
|
|
ETH_SS_STATS_ETH_MAC,
|
|
ETH_SS_STATS_ETH_CTRL,
|
|
ETH_SS_STATS_RMON,
|
|
+ ETH_SS_STATS_PHY,
|
|
+ ETH_SS_TS_FLAGS,
|
|
|
|
/* add new constants above here */
|
|
ETH_SS_COUNT
|
|
--- a/sparc/usr/include/linux/ethtool_netlink.h
|
|
+++ b/sparc/usr/include/linux/ethtool_netlink.h
|
|
@@ -10,545 +10,12 @@
|
|
#define _LINUX_ETHTOOL_NETLINK_H_
|
|
|
|
#include <linux/ethtool.h>
|
|
-
|
|
-/* message types - userspace to kernel */
|
|
-enum {
|
|
- ETHTOOL_MSG_USER_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET,
|
|
- ETHTOOL_MSG_LINKINFO_GET,
|
|
- ETHTOOL_MSG_LINKINFO_SET,
|
|
- ETHTOOL_MSG_LINKMODES_GET,
|
|
- ETHTOOL_MSG_LINKMODES_SET,
|
|
- ETHTOOL_MSG_LINKSTATE_GET,
|
|
- ETHTOOL_MSG_DEBUG_GET,
|
|
- ETHTOOL_MSG_DEBUG_SET,
|
|
- ETHTOOL_MSG_WOL_GET,
|
|
- ETHTOOL_MSG_WOL_SET,
|
|
- ETHTOOL_MSG_FEATURES_GET,
|
|
- ETHTOOL_MSG_FEATURES_SET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
- ETHTOOL_MSG_RINGS_GET,
|
|
- ETHTOOL_MSG_RINGS_SET,
|
|
- ETHTOOL_MSG_CHANNELS_GET,
|
|
- ETHTOOL_MSG_CHANNELS_SET,
|
|
- ETHTOOL_MSG_COALESCE_GET,
|
|
- ETHTOOL_MSG_COALESCE_SET,
|
|
- ETHTOOL_MSG_PAUSE_GET,
|
|
- ETHTOOL_MSG_PAUSE_SET,
|
|
- ETHTOOL_MSG_EEE_GET,
|
|
- ETHTOOL_MSG_EEE_SET,
|
|
- ETHTOOL_MSG_TSINFO_GET,
|
|
- ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
- ETHTOOL_MSG_FEC_GET,
|
|
- ETHTOOL_MSG_FEC_SET,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
- ETHTOOL_MSG_STATS_GET,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
- ETHTOOL_MSG_MODULE_GET,
|
|
- ETHTOOL_MSG_MODULE_SET,
|
|
- ETHTOOL_MSG_PSE_GET,
|
|
- ETHTOOL_MSG_PSE_SET,
|
|
- ETHTOOL_MSG_RSS_GET,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG,
|
|
- ETHTOOL_MSG_PLCA_SET_CFG,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
- ETHTOOL_MSG_MM_GET,
|
|
- ETHTOOL_MSG_MM_SET,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
- ETHTOOL_MSG_PHY_GET,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_USER_CNT,
|
|
- ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
|
|
-};
|
|
-
|
|
-/* message types - kernel to userspace */
|
|
-enum {
|
|
- ETHTOOL_MSG_KERNEL_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_NTF,
|
|
- ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKMODES_NTF,
|
|
- ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_NTF,
|
|
- ETHTOOL_MSG_WOL_GET_REPLY,
|
|
- ETHTOOL_MSG_WOL_NTF,
|
|
- ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_NTF,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
- ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
- ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
- ETHTOOL_MSG_RINGS_NTF,
|
|
- ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
- ETHTOOL_MSG_CHANNELS_NTF,
|
|
- ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
- ETHTOOL_MSG_COALESCE_NTF,
|
|
- ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
- ETHTOOL_MSG_PAUSE_NTF,
|
|
- ETHTOOL_MSG_EEE_GET_REPLY,
|
|
- ETHTOOL_MSG_EEE_NTF,
|
|
- ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_NTF,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
- ETHTOOL_MSG_STATS_GET_REPLY,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_NTF,
|
|
- ETHTOOL_MSG_PSE_GET_REPLY,
|
|
- ETHTOOL_MSG_RSS_GET_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
- ETHTOOL_MSG_PLCA_NTF,
|
|
- ETHTOOL_MSG_MM_GET_REPLY,
|
|
- ETHTOOL_MSG_MM_NTF,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
- ETHTOOL_MSG_PHY_GET_REPLY,
|
|
- ETHTOOL_MSG_PHY_NTF,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_KERNEL_CNT,
|
|
- ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
|
|
-};
|
|
-
|
|
-/* request header */
|
|
-
|
|
-enum ethtool_header_flags {
|
|
- ETHTOOL_FLAG_COMPACT_BITSETS = 1 << 0, /* use compact bitsets in reply */
|
|
- ETHTOOL_FLAG_OMIT_REPLY = 1 << 1, /* provide optional reply for SET or ACT requests */
|
|
- ETHTOOL_FLAG_STATS = 1 << 2, /* request statistics, if supported by the driver */
|
|
-};
|
|
+#include <linux/ethtool_netlink_generated.h>
|
|
|
|
#define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \
|
|
ETHTOOL_FLAG_OMIT_REPLY | \
|
|
ETHTOOL_FLAG_STATS)
|
|
|
|
-enum {
|
|
- ETHTOOL_A_HEADER_UNSPEC,
|
|
- ETHTOOL_A_HEADER_DEV_INDEX, /* u32 */
|
|
- ETHTOOL_A_HEADER_DEV_NAME, /* string */
|
|
- ETHTOOL_A_HEADER_FLAGS, /* u32 - ETHTOOL_FLAG_* */
|
|
- ETHTOOL_A_HEADER_PHY_INDEX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_HEADER_CNT,
|
|
- ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1
|
|
-};
|
|
-
|
|
-/* bit sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BIT_INDEX, /* u32 */
|
|
- ETHTOOL_A_BITSET_BIT_NAME, /* string */
|
|
- ETHTOOL_A_BITSET_BIT_VALUE, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BIT_CNT,
|
|
- ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BITS_BIT, /* nest - _A_BITSET_BIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BITS_CNT,
|
|
- ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_UNSPEC,
|
|
- ETHTOOL_A_BITSET_NOMASK, /* flag */
|
|
- ETHTOOL_A_BITSET_SIZE, /* u32 */
|
|
- ETHTOOL_A_BITSET_BITS, /* nest - _A_BITSET_BITS_* */
|
|
- ETHTOOL_A_BITSET_VALUE, /* binary */
|
|
- ETHTOOL_A_BITSET_MASK, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_CNT,
|
|
- ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* string sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRING_UNSPEC,
|
|
- ETHTOOL_A_STRING_INDEX, /* u32 */
|
|
- ETHTOOL_A_STRING_VALUE, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRING_CNT,
|
|
- ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGS_UNSPEC,
|
|
- ETHTOOL_A_STRINGS_STRING, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGS_CNT,
|
|
- ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSET_UNSPEC,
|
|
- ETHTOOL_A_STRINGSET_ID, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_COUNT, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_STRINGS, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSET_CNT,
|
|
- ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
- ETHTOOL_A_STRINGSETS_STRINGSET, /* nest - _A_STRINGSET_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSETS_CNT,
|
|
- ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1
|
|
-};
|
|
-
|
|
-/* STRSET */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRSET_UNSPEC,
|
|
- ETHTOOL_A_STRSET_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STRSET_STRINGSETS, /* nest - _A_STRINGSETS_* */
|
|
- ETHTOOL_A_STRSET_COUNTS_ONLY, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRSET_CNT,
|
|
- ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKINFO_UNSPEC,
|
|
- ETHTOOL_A_LINKINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKINFO_PORT, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_PHYADDR, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TRANSCEIVER, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKINFO_CNT,
|
|
- ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKMODES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKMODES_UNSPEC,
|
|
- ETHTOOL_A_LINKMODES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_OURS, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_PEER, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_SPEED, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_LANES, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKMODES_CNT,
|
|
- ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKSTATE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
- ETHTOOL_A_LINKSTATE_HEADER, /* nest - _A_HEADER_* */
|
|
- 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 */
|
|
- ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKSTATE_CNT,
|
|
- ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1
|
|
-};
|
|
-
|
|
-/* DEBUG */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_DEBUG_UNSPEC,
|
|
- ETHTOOL_A_DEBUG_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_DEBUG_MSGMASK, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_DEBUG_CNT,
|
|
- ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1
|
|
-};
|
|
-
|
|
-/* WOL */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_WOL_UNSPEC,
|
|
- ETHTOOL_A_WOL_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_WOL_MODES, /* bitset */
|
|
- ETHTOOL_A_WOL_SOPASS, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_WOL_CNT,
|
|
- ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
|
|
-};
|
|
-
|
|
-/* FEATURES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEATURES_UNSPEC,
|
|
- ETHTOOL_A_FEATURES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEATURES_HW, /* bitset */
|
|
- ETHTOOL_A_FEATURES_WANTED, /* bitset */
|
|
- ETHTOOL_A_FEATURES_ACTIVE, /* bitset */
|
|
- ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEATURES_CNT,
|
|
- ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
|
|
-};
|
|
-
|
|
-/* PRIVFLAGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
- ETHTOOL_A_PRIVFLAGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PRIVFLAGS_FLAGS, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
- ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1
|
|
-};
|
|
-
|
|
-/* RINGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,
|
|
- ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
- ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RINGS_UNSPEC,
|
|
- ETHTOOL_A_RINGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_RINGS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */
|
|
- ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_RX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_RINGS_CNT,
|
|
- ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CHANNELS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CHANNELS_UNSPEC,
|
|
- ETHTOOL_A_CHANNELS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CHANNELS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_RX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_COUNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CHANNELS_CNT,
|
|
- ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* COALESCE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_COALESCE_UNSPEC,
|
|
- ETHTOOL_A_COALESCE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_COALESCE_RX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, /* u32 */
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_COALESCE_CNT,
|
|
- ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PROFILE_UNSPEC,
|
|
- /* nest, _A_IRQ_MODERATION_* */
|
|
- ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
- __ETHTOOL_A_PROFILE_CNT,
|
|
- ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
- ETHTOOL_A_IRQ_MODERATION_USEC, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_PKTS, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_COMPS, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
- ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
-};
|
|
-
|
|
-/* PAUSE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PAUSE_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_PAUSE_RX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_TX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_STATS, /* nest - _PAUSE_STAT_* */
|
|
- ETHTOOL_A_PAUSE_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PAUSE_CNT,
|
|
- ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
- ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
-
|
|
- /* add new constants above here
|
|
- * adjust ETHTOOL_PAUSE_STAT_CNT if adding non-stats!
|
|
- */
|
|
- __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
- ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* EEE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_EEE_UNSPEC,
|
|
- ETHTOOL_A_EEE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_EEE_MODES_OURS, /* bitset */
|
|
- ETHTOOL_A_EEE_MODES_PEER, /* bitset */
|
|
- ETHTOOL_A_EEE_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_EEE_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_TIMER, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_EEE_CNT,
|
|
- ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
-};
|
|
-
|
|
-/* TSINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TSINFO_UNSPEC,
|
|
- ETHTOOL_A_TSINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_TSINFO_TIMESTAMPING, /* bitset */
|
|
- ETHTOOL_A_TSINFO_TX_TYPES, /* bitset */
|
|
- ETHTOOL_A_TSINFO_RX_FILTERS, /* bitset */
|
|
- ETHTOOL_A_TSINFO_PHC_INDEX, /* u32 */
|
|
- ETHTOOL_A_TSINFO_STATS, /* nest - _A_TSINFO_STAT */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TSINFO_CNT,
|
|
- ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TS_STAT_UNSPEC,
|
|
-
|
|
- ETHTOOL_A_TS_STAT_TX_PKTS, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_LOST, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_ERR, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TS_STAT_CNT,
|
|
- ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
-
|
|
-};
|
|
-
|
|
-/* PHC VCLOCKS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
- ETHTOOL_A_PHC_VCLOCKS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHC_VCLOCKS_NUM, /* u32 */
|
|
- ETHTOOL_A_PHC_VCLOCKS_INDEX, /* array, s32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
- ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST NOTIFY */
|
|
enum {
|
|
ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC,
|
|
@@ -583,73 +50,11 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
- ETHTOOL_A_CABLE_RESULT_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_RESULT_CODE, /* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */
|
|
- ETHTOOL_A_CABLE_RESULT_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
- ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_CM, /* u32 */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED
|
|
};
|
|
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_NEST_RESULT, /* nest - ETHTOOL_A_CABLE_RESULT_ */
|
|
- ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, /* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */
|
|
- __ETHTOOL_A_CABLE_NEST_CNT,
|
|
- ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST TDR */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG, /* nest - *_TDR_CFG_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST TDR NOTIFY */
|
|
|
|
enum {
|
|
@@ -690,163 +95,17 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
- 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)
|
|
-};
|
|
-
|
|
-/* FEC */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_UNSPEC,
|
|
- ETHTOOL_A_FEC_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEC_MODES, /* bitset */
|
|
- ETHTOOL_A_FEC_AUTO, /* u8 */
|
|
- ETHTOOL_A_FEC_ACTIVE, /* u32 */
|
|
- ETHTOOL_A_FEC_STATS, /* nest - _A_FEC_STAT */
|
|
-
|
|
- __ETHTOOL_A_FEC_CNT,
|
|
- ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
- ETHTOOL_A_FEC_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_FEC_STAT_CORRECTED, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_UNCORR, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_CORR_BITS, /* array, u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEC_STAT_CNT,
|
|
- ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE EEPROM */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
- ETHTOOL_A_MODULE_EEPROM_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- ETHTOOL_A_MODULE_EEPROM_OFFSET, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_LENGTH, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */
|
|
-
|
|
- __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
- ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* STATS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STATS_UNSPEC,
|
|
- ETHTOOL_A_STATS_PAD,
|
|
- ETHTOOL_A_STATS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STATS_GROUPS, /* bitset */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP, /* nest - _A_STATS_GRP_* */
|
|
-
|
|
- ETHTOOL_A_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_CNT,
|
|
- ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_STATS_ETH_PHY,
|
|
ETHTOOL_STATS_ETH_MAC,
|
|
ETHTOOL_STATS_ETH_CTRL,
|
|
ETHTOOL_STATS_RMON,
|
|
+ ETHTOOL_STATS_PHY,
|
|
|
|
/* add new constants above here */
|
|
__ETHTOOL_STATS_CNT
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
- ETHTOOL_A_STATS_GRP_PAD,
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_ID, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_SS_ID, /* u32 */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_STAT, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_RX, /* nest */
|
|
- ETHTOOL_A_STATS_GRP_HIST_TX, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_LOW, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_HI, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_VAL, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_GRP_CNT,
|
|
- ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
/* 30.3.2.1.5 aSymbolErrorDuringCarrier */
|
|
ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR,
|
|
|
|
@@ -935,160 +194,20 @@ enum {
|
|
ETHTOOL_A_STATS_RMON_MAX = (__ETHTOOL_A_STATS_RMON_CNT - 1)
|
|
};
|
|
|
|
-/* MODULE */
|
|
-
|
|
enum {
|
|
- ETHTOOL_A_MODULE_UNSPEC,
|
|
- ETHTOOL_A_MODULE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_POWER_MODE_POLICY, /* u8 */
|
|
- ETHTOOL_A_MODULE_POWER_MODE, /* u8 */
|
|
+ /* Basic packet counters if PHY has separate counters from the MAC */
|
|
+ ETHTOOL_A_STATS_PHY_RX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_RX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_RX_ERRORS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_TX_ERRORS,
|
|
|
|
/* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_CNT,
|
|
- ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+ __ETHTOOL_A_STATS_PHY_CNT,
|
|
+ ETHTOOL_A_STATS_PHY_MAX = (__ETHTOOL_A_STATS_PHY_CNT - 1)
|
|
};
|
|
|
|
-/* Power Sourcing Equipment */
|
|
-enum {
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MIN, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MAX, /* u32 */
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PSE_UNSPEC,
|
|
- ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_CLASS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ACTUAL_PW, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_SUBSTATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES, /* nest - _C33_PSE_PW_LIMIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PSE_CNT,
|
|
- ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RSS_UNSPEC,
|
|
- ETHTOOL_A_RSS_HEADER,
|
|
- ETHTOOL_A_RSS_CONTEXT, /* u32 */
|
|
- ETHTOOL_A_RSS_HFUNC, /* u32 */
|
|
- ETHTOOL_A_RSS_INDIR, /* binary */
|
|
- ETHTOOL_A_RSS_HKEY, /* binary */
|
|
- ETHTOOL_A_RSS_INPUT_XFRM, /* u32 */
|
|
- ETHTOOL_A_RSS_START_CONTEXT, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_RSS_CNT,
|
|
- ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
|
|
-};
|
|
-
|
|
-/* PLCA */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PLCA_UNSPEC,
|
|
- ETHTOOL_A_PLCA_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PLCA_VERSION, /* u16 */
|
|
- ETHTOOL_A_PLCA_ENABLED, /* u8 */
|
|
- ETHTOOL_A_PLCA_STATUS, /* u8 */
|
|
- ETHTOOL_A_PLCA_NODE_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_NODE_ID, /* u32 */
|
|
- ETHTOOL_A_PLCA_TO_TMR, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_TMR, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PLCA_CNT,
|
|
- ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MAC Merge (802.3) */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_STAT_UNSPEC,
|
|
- ETHTOOL_A_MM_STAT_PAD,
|
|
-
|
|
- /* aMACMergeFrameAssErrorCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameSmdErrorCount */
|
|
- ETHTOOL_A_MM_STAT_SMD_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameAssOkCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_OK, /* u64 */
|
|
- /* aMACMergeFragCountRx */
|
|
- ETHTOOL_A_MM_STAT_RX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeFragCountTx */
|
|
- ETHTOOL_A_MM_STAT_TX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeHoldCount */
|
|
- ETHTOOL_A_MM_STAT_HOLD_COUNT, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_STAT_CNT,
|
|
- ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_UNSPEC,
|
|
- ETHTOOL_A_MM_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MM_PMAC_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_RX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_VERIFY_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_STATUS, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_MAX_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_STATS, /* nest - _A_MM_STAT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_CNT,
|
|
- ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE_FW_FLASH */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_PASSWORD, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_DONE, /* uint */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_TOTAL, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHY_UNSPEC,
|
|
- ETHTOOL_A_PHY_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHY_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_DRVNAME, /* string */
|
|
- ETHTOOL_A_PHY_NAME, /* string */
|
|
- ETHTOOL_A_PHY_UPSTREAM_TYPE, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_SFP_NAME, /* string */
|
|
- ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHY_CNT,
|
|
- ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
-};
|
|
-
|
|
-/* generic netlink info */
|
|
-#define ETHTOOL_GENL_NAME "ethtool"
|
|
-#define ETHTOOL_GENL_VERSION 1
|
|
-
|
|
#define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
|
|
|
|
#endif /* _LINUX_ETHTOOL_NETLINK_H_ */
|
|
--- /dev/null
|
|
+++ b/sparc/usr/include/linux/ethtool_netlink_generated.h
|
|
@@ -0,0 +1,821 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/ethtool.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+#define _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+
|
|
+#define ETHTOOL_GENL_NAME "ethtool"
|
|
+#define ETHTOOL_GENL_VERSION 1
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_GENEVE,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE,
|
|
+
|
|
+ /* private: */
|
|
+ __ETHTOOL_UDP_TUNNEL_TYPE_CNT,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_MAX = (__ETHTOOL_UDP_TUNNEL_TYPE_CNT - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum ethtool_header_flags - common ethtool header flags
|
|
+ * @ETHTOOL_FLAG_COMPACT_BITSETS: use compact bitsets in reply
|
|
+ * @ETHTOOL_FLAG_OMIT_REPLY: provide optional reply for SET or ACT requests
|
|
+ * @ETHTOOL_FLAG_STATS: request statistics, if supported by the driver
|
|
+ */
|
|
+enum ethtool_header_flags {
|
|
+ ETHTOOL_FLAG_COMPACT_BITSETS = 1,
|
|
+ ETHTOOL_FLAG_OMIT_REPLY = 2,
|
|
+ ETHTOOL_FLAG_STATS = 4,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_MAC,
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_PHY,
|
|
+};
|
|
+
|
|
+enum ethtool_tcp_data_split {
|
|
+ ETHTOOL_TCP_DATA_SPLIT_UNKNOWN,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_HEADER_UNSPEC,
|
|
+ ETHTOOL_A_HEADER_DEV_INDEX,
|
|
+ ETHTOOL_A_HEADER_DEV_NAME,
|
|
+ ETHTOOL_A_HEADER_FLAGS,
|
|
+ ETHTOOL_A_HEADER_PHY_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_HEADER_CNT,
|
|
+ ETHTOOL_A_HEADER_MAX = (__ETHTOOL_A_HEADER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BIT_INDEX,
|
|
+ ETHTOOL_A_BITSET_BIT_NAME,
|
|
+ ETHTOOL_A_BITSET_BIT_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BIT_CNT,
|
|
+ ETHTOOL_A_BITSET_BIT_MAX = (__ETHTOOL_A_BITSET_BIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BITS_BIT,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BITS_CNT,
|
|
+ ETHTOOL_A_BITSET_BITS_MAX = (__ETHTOOL_A_BITSET_BITS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_NOMASK,
|
|
+ ETHTOOL_A_BITSET_SIZE,
|
|
+ ETHTOOL_A_BITSET_BITS,
|
|
+ ETHTOOL_A_BITSET_VALUE,
|
|
+ ETHTOOL_A_BITSET_MASK,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_CNT,
|
|
+ ETHTOOL_A_BITSET_MAX = (__ETHTOOL_A_BITSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRING_UNSPEC,
|
|
+ ETHTOOL_A_STRING_INDEX,
|
|
+ ETHTOOL_A_STRING_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_STRING_CNT,
|
|
+ ETHTOOL_A_STRING_MAX = (__ETHTOOL_A_STRING_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGS_STRING,
|
|
+
|
|
+ __ETHTOOL_A_STRINGS_CNT,
|
|
+ ETHTOOL_A_STRINGS_MAX = (__ETHTOOL_A_STRINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSET_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSET_ID,
|
|
+ ETHTOOL_A_STRINGSET_COUNT,
|
|
+ ETHTOOL_A_STRINGSET_STRINGS,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSET_CNT,
|
|
+ ETHTOOL_A_STRINGSET_MAX = (__ETHTOOL_A_STRINGSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSETS_STRINGSET,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSETS_CNT,
|
|
+ ETHTOOL_A_STRINGSETS_MAX = (__ETHTOOL_A_STRINGSETS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRSET_UNSPEC,
|
|
+ ETHTOOL_A_STRSET_HEADER,
|
|
+ ETHTOOL_A_STRSET_STRINGSETS,
|
|
+ ETHTOOL_A_STRSET_COUNTS_ONLY,
|
|
+
|
|
+ __ETHTOOL_A_STRSET_CNT,
|
|
+ ETHTOOL_A_STRSET_MAX = (__ETHTOOL_A_STRSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
+ ETHTOOL_A_PRIVFLAGS_HEADER,
|
|
+ ETHTOOL_A_PRIVFLAGS_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
+ ETHTOOL_A_PRIVFLAGS_MAX = (__ETHTOOL_A_PRIVFLAGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RINGS_UNSPEC,
|
|
+ ETHTOOL_A_RINGS_HEADER,
|
|
+ ETHTOOL_A_RINGS_RX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO_MAX,
|
|
+ ETHTOOL_A_RINGS_TX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO,
|
|
+ ETHTOOL_A_RINGS_TX,
|
|
+ ETHTOOL_A_RINGS_RX_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
|
|
+ ETHTOOL_A_RINGS_CQE_SIZE,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH,
|
|
+ ETHTOOL_A_RINGS_RX_PUSH,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH_MAX,
|
|
+
|
|
+ __ETHTOOL_A_RINGS_CNT,
|
|
+ ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_STAT_UNSPEC,
|
|
+ ETHTOOL_A_MM_STAT_PAD,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_SMD_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_OK,
|
|
+ ETHTOOL_A_MM_STAT_RX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_TX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_HOLD_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_MM_STAT_CNT,
|
|
+ ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_UNSPEC,
|
|
+ ETHTOOL_A_MM_HEADER,
|
|
+ ETHTOOL_A_MM_PMAC_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ACTIVE,
|
|
+ ETHTOOL_A_MM_TX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_RX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_VERIFY_ENABLED,
|
|
+ ETHTOOL_A_MM_VERIFY_STATUS,
|
|
+ ETHTOOL_A_MM_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_MAX_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_STATS,
|
|
+
|
|
+ __ETHTOOL_A_MM_CNT,
|
|
+ ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKINFO_UNSPEC,
|
|
+ ETHTOOL_A_LINKINFO_HEADER,
|
|
+ ETHTOOL_A_LINKINFO_PORT,
|
|
+ ETHTOOL_A_LINKINFO_PHYADDR,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX_CTRL,
|
|
+ ETHTOOL_A_LINKINFO_TRANSCEIVER,
|
|
+
|
|
+ __ETHTOOL_A_LINKINFO_CNT,
|
|
+ ETHTOOL_A_LINKINFO_MAX = (__ETHTOOL_A_LINKINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKMODES_UNSPEC,
|
|
+ ETHTOOL_A_LINKMODES_HEADER,
|
|
+ ETHTOOL_A_LINKMODES_AUTONEG,
|
|
+ ETHTOOL_A_LINKMODES_OURS,
|
|
+ ETHTOOL_A_LINKMODES_PEER,
|
|
+ ETHTOOL_A_LINKMODES_SPEED,
|
|
+ ETHTOOL_A_LINKMODES_DUPLEX,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE,
|
|
+ ETHTOOL_A_LINKMODES_LANES,
|
|
+ ETHTOOL_A_LINKMODES_RATE_MATCHING,
|
|
+
|
|
+ __ETHTOOL_A_LINKMODES_CNT,
|
|
+ ETHTOOL_A_LINKMODES_MAX = (__ETHTOOL_A_LINKMODES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
+ ETHTOOL_A_LINKSTATE_HEADER,
|
|
+ ETHTOOL_A_LINKSTATE_LINK,
|
|
+ ETHTOOL_A_LINKSTATE_SQI,
|
|
+ ETHTOOL_A_LINKSTATE_SQI_MAX,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_STATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT,
|
|
+
|
|
+ __ETHTOOL_A_LINKSTATE_CNT,
|
|
+ ETHTOOL_A_LINKSTATE_MAX = (__ETHTOOL_A_LINKSTATE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_DEBUG_UNSPEC,
|
|
+ ETHTOOL_A_DEBUG_HEADER,
|
|
+ ETHTOOL_A_DEBUG_MSGMASK,
|
|
+
|
|
+ __ETHTOOL_A_DEBUG_CNT,
|
|
+ ETHTOOL_A_DEBUG_MAX = (__ETHTOOL_A_DEBUG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_WOL_UNSPEC,
|
|
+ ETHTOOL_A_WOL_HEADER,
|
|
+ ETHTOOL_A_WOL_MODES,
|
|
+ ETHTOOL_A_WOL_SOPASS,
|
|
+
|
|
+ __ETHTOOL_A_WOL_CNT,
|
|
+ ETHTOOL_A_WOL_MAX = (__ETHTOOL_A_WOL_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEATURES_UNSPEC,
|
|
+ ETHTOOL_A_FEATURES_HEADER,
|
|
+ ETHTOOL_A_FEATURES_HW,
|
|
+ ETHTOOL_A_FEATURES_WANTED,
|
|
+ ETHTOOL_A_FEATURES_ACTIVE,
|
|
+ ETHTOOL_A_FEATURES_NOCHANGE,
|
|
+
|
|
+ __ETHTOOL_A_FEATURES_CNT,
|
|
+ ETHTOOL_A_FEATURES_MAX = (__ETHTOOL_A_FEATURES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CHANNELS_UNSPEC,
|
|
+ ETHTOOL_A_CHANNELS_HEADER,
|
|
+ ETHTOOL_A_CHANNELS_RX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_TX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_MAX,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_MAX,
|
|
+ ETHTOOL_A_CHANNELS_RX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_TX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_CHANNELS_CNT,
|
|
+ ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_USEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_PKTS,
|
|
+ ETHTOOL_A_IRQ_MODERATION_COMPS,
|
|
+
|
|
+ __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
+ ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PROFILE_UNSPEC,
|
|
+ ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
+
|
|
+ __ETHTOOL_A_PROFILE_CNT,
|
|
+ ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_COALESCE_UNSPEC,
|
|
+ ETHTOOL_A_COALESCE_HEADER,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_STATS_BLOCK_USECS,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_TX,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_RX,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
+ ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
+
|
|
+ __ETHTOOL_A_COALESCE_CNT,
|
|
+ ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_STAT_PAD,
|
|
+ ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
+ ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
+ ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_HEADER,
|
|
+ ETHTOOL_A_PAUSE_AUTONEG,
|
|
+ ETHTOOL_A_PAUSE_RX,
|
|
+ ETHTOOL_A_PAUSE_TX,
|
|
+ ETHTOOL_A_PAUSE_STATS,
|
|
+ ETHTOOL_A_PAUSE_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_CNT,
|
|
+ ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_EEE_UNSPEC,
|
|
+ ETHTOOL_A_EEE_HEADER,
|
|
+ ETHTOOL_A_EEE_MODES_OURS,
|
|
+ ETHTOOL_A_EEE_MODES_PEER,
|
|
+ ETHTOOL_A_EEE_ACTIVE,
|
|
+ ETHTOOL_A_EEE_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_TIMER,
|
|
+
|
|
+ __ETHTOOL_A_EEE_CNT,
|
|
+ ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_STAT_UNSPEC,
|
|
+ ETHTOOL_A_TS_STAT_TX_PKTS,
|
|
+ ETHTOOL_A_TS_STAT_TX_LOST,
|
|
+ ETHTOOL_A_TS_STAT_TX_ERR,
|
|
+ ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED,
|
|
+
|
|
+ __ETHTOOL_A_TS_STAT_CNT,
|
|
+ ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER,
|
|
+
|
|
+ __ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = (__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSINFO_UNSPEC,
|
|
+ ETHTOOL_A_TSINFO_HEADER,
|
|
+ ETHTOOL_A_TSINFO_TIMESTAMPING,
|
|
+ ETHTOOL_A_TSINFO_TX_TYPES,
|
|
+ ETHTOOL_A_TSINFO_RX_FILTERS,
|
|
+ ETHTOOL_A_TSINFO_PHC_INDEX,
|
|
+ ETHTOOL_A_TSINFO_STATS,
|
|
+ ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER,
|
|
+
|
|
+ __ETHTOOL_A_TSINFO_CNT,
|
|
+ ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_RESULT_PAIR,
|
|
+ ETHTOOL_A_CABLE_RESULT_CODE,
|
|
+ ETHTOOL_A_CABLE_RESULT_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
+ ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_CM,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_NEST_RESULT,
|
|
+ ETHTOOL_A_CABLE_NEST_FAULT_LENGTH,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_NEST_CNT,
|
|
+ ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_HEADER,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_MAX = (__ETHTOOL_A_CABLE_TEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY,
|
|
+
|
|
+ __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,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_INFO_UDP_PORTS,
|
|
+
|
|
+ __ETHTOOL_A_TUNNEL_INFO_CNT,
|
|
+ ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
+ ETHTOOL_A_FEC_STAT_PAD,
|
|
+ ETHTOOL_A_FEC_STAT_CORRECTED,
|
|
+ ETHTOOL_A_FEC_STAT_UNCORR,
|
|
+ ETHTOOL_A_FEC_STAT_CORR_BITS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_STAT_CNT,
|
|
+ ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_UNSPEC,
|
|
+ ETHTOOL_A_FEC_HEADER,
|
|
+ ETHTOOL_A_FEC_MODES,
|
|
+ ETHTOOL_A_FEC_AUTO,
|
|
+ ETHTOOL_A_FEC_ACTIVE,
|
|
+ ETHTOOL_A_FEC_STATS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_CNT,
|
|
+ ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_EEPROM_HEADER,
|
|
+ ETHTOOL_A_MODULE_EEPROM_OFFSET,
|
|
+ ETHTOOL_A_MODULE_EEPROM_LENGTH,
|
|
+ ETHTOOL_A_MODULE_EEPROM_PAGE,
|
|
+ ETHTOOL_A_MODULE_EEPROM_BANK,
|
|
+ ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS,
|
|
+ ETHTOOL_A_MODULE_EEPROM_DATA,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
+ ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
+ ETHTOOL_A_STATS_GRP_PAD,
|
|
+ ETHTOOL_A_STATS_GRP_ID,
|
|
+ ETHTOOL_A_STATS_GRP_SS_ID,
|
|
+ ETHTOOL_A_STATS_GRP_STAT,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_RX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_TX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_LOW,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_HI,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_VAL,
|
|
+
|
|
+ __ETHTOOL_A_STATS_GRP_CNT,
|
|
+ ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_UNSPEC,
|
|
+ ETHTOOL_A_STATS_PAD,
|
|
+ ETHTOOL_A_STATS_HEADER,
|
|
+ ETHTOOL_A_STATS_GROUPS,
|
|
+ ETHTOOL_A_STATS_GRP,
|
|
+ ETHTOOL_A_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_STATS_CNT,
|
|
+ ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_HEADER,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_NUM,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_HEADER,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE_POLICY,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_CNT,
|
|
+ ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MIN,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MAX,
|
|
+
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_CNT,
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = (__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PSE_UNSPEC,
|
|
+ ETHTOOL_A_PSE_HEADER,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_PODL_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_C33_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_PW_CLASS,
|
|
+ ETHTOOL_A_C33_PSE_ACTUAL_PW,
|
|
+ ETHTOOL_A_C33_PSE_EXT_STATE,
|
|
+ ETHTOOL_A_C33_PSE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES,
|
|
+
|
|
+ __ETHTOOL_A_PSE_CNT,
|
|
+ ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RSS_UNSPEC,
|
|
+ ETHTOOL_A_RSS_HEADER,
|
|
+ ETHTOOL_A_RSS_CONTEXT,
|
|
+ ETHTOOL_A_RSS_HFUNC,
|
|
+ ETHTOOL_A_RSS_INDIR,
|
|
+ ETHTOOL_A_RSS_HKEY,
|
|
+ ETHTOOL_A_RSS_INPUT_XFRM,
|
|
+ ETHTOOL_A_RSS_START_CONTEXT,
|
|
+
|
|
+ __ETHTOOL_A_RSS_CNT,
|
|
+ ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PLCA_UNSPEC,
|
|
+ ETHTOOL_A_PLCA_HEADER,
|
|
+ ETHTOOL_A_PLCA_VERSION,
|
|
+ ETHTOOL_A_PLCA_ENABLED,
|
|
+ ETHTOOL_A_PLCA_STATUS,
|
|
+ ETHTOOL_A_PLCA_NODE_CNT,
|
|
+ ETHTOOL_A_PLCA_NODE_ID,
|
|
+ ETHTOOL_A_PLCA_TO_TMR,
|
|
+ ETHTOOL_A_PLCA_BURST_CNT,
|
|
+ ETHTOOL_A_PLCA_BURST_TMR,
|
|
+
|
|
+ __ETHTOOL_A_PLCA_CNT,
|
|
+ ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_HEADER,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_PASSWORD,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_DONE,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_TOTAL,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHY_UNSPEC,
|
|
+ ETHTOOL_A_PHY_HEADER,
|
|
+ ETHTOOL_A_PHY_INDEX,
|
|
+ ETHTOOL_A_PHY_DRVNAME,
|
|
+ ETHTOOL_A_PHY_NAME,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_TYPE,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_INDEX,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_SFP_NAME,
|
|
+ ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME,
|
|
+
|
|
+ __ETHTOOL_A_PHY_CNT,
|
|
+ ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSCONFIG_UNSPEC,
|
|
+ ETHTOOL_A_TSCONFIG_HEADER,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER,
|
|
+ ETHTOOL_A_TSCONFIG_TX_TYPES,
|
|
+ ETHTOOL_A_TSCONFIG_RX_FILTERS,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_TSCONFIG_CNT,
|
|
+ ETHTOOL_A_TSCONFIG_MAX = (__ETHTOOL_A_TSCONFIG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_USER_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET,
|
|
+ ETHTOOL_MSG_LINKINFO_SET,
|
|
+ ETHTOOL_MSG_LINKMODES_GET,
|
|
+ ETHTOOL_MSG_LINKMODES_SET,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET,
|
|
+ ETHTOOL_MSG_DEBUG_GET,
|
|
+ ETHTOOL_MSG_DEBUG_SET,
|
|
+ ETHTOOL_MSG_WOL_GET,
|
|
+ ETHTOOL_MSG_WOL_SET,
|
|
+ ETHTOOL_MSG_FEATURES_GET,
|
|
+ ETHTOOL_MSG_FEATURES_SET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
+ ETHTOOL_MSG_RINGS_GET,
|
|
+ ETHTOOL_MSG_RINGS_SET,
|
|
+ ETHTOOL_MSG_CHANNELS_GET,
|
|
+ ETHTOOL_MSG_CHANNELS_SET,
|
|
+ ETHTOOL_MSG_COALESCE_GET,
|
|
+ ETHTOOL_MSG_COALESCE_SET,
|
|
+ ETHTOOL_MSG_PAUSE_GET,
|
|
+ ETHTOOL_MSG_PAUSE_SET,
|
|
+ ETHTOOL_MSG_EEE_GET,
|
|
+ ETHTOOL_MSG_EEE_SET,
|
|
+ ETHTOOL_MSG_TSINFO_GET,
|
|
+ ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
+ ETHTOOL_MSG_FEC_GET,
|
|
+ ETHTOOL_MSG_FEC_SET,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
+ ETHTOOL_MSG_STATS_GET,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
+ ETHTOOL_MSG_MODULE_GET,
|
|
+ ETHTOOL_MSG_MODULE_SET,
|
|
+ ETHTOOL_MSG_PSE_GET,
|
|
+ ETHTOOL_MSG_PSE_SET,
|
|
+ ETHTOOL_MSG_RSS_GET,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_SET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
+ ETHTOOL_MSG_MM_GET,
|
|
+ ETHTOOL_MSG_MM_SET,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
+ ETHTOOL_MSG_PHY_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET,
|
|
+
|
|
+ __ETHTOOL_MSG_USER_CNT,
|
|
+ ETHTOOL_MSG_USER_MAX = (__ETHTOOL_MSG_USER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_KERNEL_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET_REPLY = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKINFO_NTF,
|
|
+ ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKMODES_NTF,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_NTF,
|
|
+ ETHTOOL_MSG_WOL_GET_REPLY,
|
|
+ ETHTOOL_MSG_WOL_NTF,
|
|
+ ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_NTF,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
+ ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_RINGS_NTF,
|
|
+ ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
+ ETHTOOL_MSG_CHANNELS_NTF,
|
|
+ ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
+ ETHTOOL_MSG_COALESCE_NTF,
|
|
+ ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_PAUSE_NTF,
|
|
+ ETHTOOL_MSG_EEE_GET_REPLY,
|
|
+ ETHTOOL_MSG_EEE_NTF,
|
|
+ ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_NTF,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
+ ETHTOOL_MSG_STATS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_NTF,
|
|
+ ETHTOOL_MSG_PSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_RSS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_NTF,
|
|
+ ETHTOOL_MSG_MM_GET_REPLY,
|
|
+ ETHTOOL_MSG_MM_NTF,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
+ ETHTOOL_MSG_PHY_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHY_NTF,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET_REPLY,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET_REPLY,
|
|
+
|
|
+ __ETHTOOL_MSG_KERNEL_CNT,
|
|
+ ETHTOOL_MSG_KERNEL_MAX = (__ETHTOOL_MSG_KERNEL_CNT - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_ETHTOOL_NETLINK_GENERATED_H */
|
|
--- a/sparc/usr/include/linux/fs.h
|
|
+++ b/sparc/usr/include/linux/fs.h
|
|
@@ -36,6 +36,15 @@
|
|
#define BLOCK_SIZE_BITS 10
|
|
#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
|
|
|
|
+/* flags for integrity meta */
|
|
+#define IO_INTEGRITY_CHK_GUARD (1U << 0) /* enforce guard check */
|
|
+#define IO_INTEGRITY_CHK_REFTAG (1U << 1) /* enforce ref check */
|
|
+#define IO_INTEGRITY_CHK_APPTAG (1U << 2) /* enforce app check */
|
|
+
|
|
+#define IO_INTEGRITY_VALID_FLAGS (IO_INTEGRITY_CHK_GUARD | \
|
|
+ IO_INTEGRITY_CHK_REFTAG | \
|
|
+ IO_INTEGRITY_CHK_APPTAG)
|
|
+
|
|
#define SEEK_SET 0 /* seek relative to beginning of file */
|
|
#define SEEK_CUR 1 /* seek relative to current file position */
|
|
#define SEEK_END 2 /* seek relative to end of file */
|
|
--- a/sparc/usr/include/linux/hidraw.h
|
|
+++ b/sparc/usr/include/linux/hidraw.h
|
|
@@ -48,6 +48,8 @@ struct hidraw_devinfo {
|
|
#define HIDIOCGOUTPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0C, len)
|
|
#define HIDIOCREVOKE _IOW('H', 0x0D, int) /* Revoke device access */
|
|
|
|
+#define HIDIOCTL_LAST _IOC_NR(HIDIOCREVOKE)
|
|
+
|
|
#define HIDRAW_FIRST_MINOR 0
|
|
#define HIDRAW_MAX_DEVICES 64
|
|
/* number of reports to buffer */
|
|
--- a/sparc/usr/include/linux/if_link.h
|
|
+++ b/sparc/usr/include/linux/if_link.h
|
|
@@ -377,6 +377,7 @@ enum {
|
|
IFLA_GSO_IPV4_MAX_SIZE,
|
|
IFLA_GRO_IPV4_MAX_SIZE,
|
|
IFLA_DPLL_PIN,
|
|
+ IFLA_MAX_PACING_OFFLOAD_HORIZON,
|
|
__IFLA_MAX
|
|
};
|
|
|
|
--- a/sparc/usr/include/linux/input-event-codes.h
|
|
+++ b/sparc/usr/include/linux/input-event-codes.h
|
|
@@ -519,6 +519,7 @@
|
|
#define KEY_NOTIFICATION_CENTER 0x1bc /* Show/hide the notification center */
|
|
#define KEY_PICKUP_PHONE 0x1bd /* Answer incoming call */
|
|
#define KEY_HANGUP_PHONE 0x1be /* Decline incoming call */
|
|
+#define KEY_LINK_PHONE 0x1bf /* AL Phone Syncing */
|
|
|
|
#define KEY_DEL_EOL 0x1c0
|
|
#define KEY_DEL_EOS 0x1c1
|
|
--- a/sparc/usr/include/linux/io_uring.h
|
|
+++ b/sparc/usr/include/linux/io_uring.h
|
|
@@ -98,6 +98,10 @@ struct io_uring_sqe {
|
|
__u64 addr3;
|
|
__u64 __pad2[1];
|
|
};
|
|
+ struct {
|
|
+ __u64 attr_ptr; /* pointer to attribute information */
|
|
+ __u64 attr_type_mask; /* bit mask of attributes */
|
|
+ };
|
|
__u64 optval;
|
|
/*
|
|
* If the ring is initialized with IORING_SETUP_SQE128, then
|
|
@@ -107,6 +111,18 @@ struct io_uring_sqe {
|
|
};
|
|
};
|
|
|
|
+/* sqe->attr_type_mask flags */
|
|
+#define IORING_RW_ATTR_FLAG_PI (1U << 0)
|
|
+/* PI attribute information */
|
|
+struct io_uring_attr_pi {
|
|
+ __u16 flags;
|
|
+ __u16 app_tag;
|
|
+ __u32 len;
|
|
+ __u64 addr;
|
|
+ __u64 seed;
|
|
+ __u64 rsvd;
|
|
+};
|
|
+
|
|
/*
|
|
* If sqe->file_index is set to this for opcodes that instantiate a new
|
|
* direct descriptor (like openat/openat2/accept), then io_uring will allocate
|
|
@@ -554,6 +570,7 @@ struct io_uring_params {
|
|
#define IORING_FEAT_REG_REG_RING (1U << 13)
|
|
#define IORING_FEAT_RECVSEND_BUNDLE (1U << 14)
|
|
#define IORING_FEAT_MIN_TIMEOUT (1U << 15)
|
|
+#define IORING_FEAT_RW_ATTR (1U << 16)
|
|
|
|
/*
|
|
* io_uring_register(2) opcodes and arguments
|
|
--- a/sparc/usr/include/linux/iommufd.h
|
|
+++ b/sparc/usr/include/linux/iommufd.h
|
|
@@ -737,6 +737,7 @@ enum iommu_hwpt_pgfault_perm {
|
|
* @pasid: Process Address Space ID
|
|
* @grpid: Page Request Group Index
|
|
* @perm: Combination of enum iommu_hwpt_pgfault_perm
|
|
+ * @__reserved: Must be 0.
|
|
* @addr: Fault address
|
|
* @length: a hint of how much data the requestor is expecting to fetch. For
|
|
* example, if the PRI initiator knows it is going to do a 10MB
|
|
@@ -752,7 +753,8 @@ struct iommu_hwpt_pgfault {
|
|
__u32 pasid;
|
|
__u32 grpid;
|
|
__u32 perm;
|
|
- __u64 addr;
|
|
+ __u32 __reserved;
|
|
+ __aligned_u64 addr;
|
|
__u32 length;
|
|
__u32 cookie;
|
|
};
|
|
--- a/sparc/usr/include/linux/kfd_ioctl.h
|
|
+++ b/sparc/usr/include/linux/kfd_ioctl.h
|
|
@@ -62,6 +62,8 @@ struct kfd_ioctl_get_version_args {
|
|
#define KFD_MAX_QUEUE_PERCENTAGE 100
|
|
#define KFD_MAX_QUEUE_PRIORITY 15
|
|
|
|
+#define KFD_MIN_QUEUE_RING_SIZE 1024
|
|
+
|
|
struct kfd_ioctl_create_queue_args {
|
|
__u64 ring_base_address; /* to KFD */
|
|
__u64 write_pointer_address; /* from KFD */
|
|
--- a/sparc/usr/include/linux/landlock.h
|
|
+++ b/sparc/usr/include/linux/landlock.h
|
|
@@ -57,9 +57,11 @@ struct landlock_ruleset_attr {
|
|
*
|
|
* - %LANDLOCK_CREATE_RULESET_VERSION: Get the highest supported Landlock ABI
|
|
* version.
|
|
+ * - %LANDLOCK_CREATE_RULESET_ERRATA: Get a bitmask of fixed issues.
|
|
*/
|
|
/* clang-format off */
|
|
#define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
|
|
+#define LANDLOCK_CREATE_RULESET_ERRATA (1U << 1)
|
|
/* clang-format on */
|
|
|
|
/**
|
|
--- /dev/null
|
|
+++ b/sparc/usr/include/linux/livepatch.h
|
|
@@ -0,0 +1,15 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+
|
|
+/*
|
|
+ * livepatch.h - Kernel Live Patching Core
|
|
+ *
|
|
+ * Copyright (C) 2016 Josh Poimboeuf <jpoimboe@redhat.com>
|
|
+ */
|
|
+
|
|
+#ifndef _LIVEPATCH_H
|
|
+#define _LIVEPATCH_H
|
|
+
|
|
+#define KLP_RELA_PREFIX ".klp.rela."
|
|
+#define KLP_SYM_PREFIX ".klp.sym."
|
|
+
|
|
+#endif /* _LIVEPATCH_H */
|
|
--- /dev/null
|
|
+++ b/sparc/usr/include/linux/mshv.h
|
|
@@ -0,0 +1,291 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+/*
|
|
+ * Userspace interfaces for /dev/mshv* devices and derived fds
|
|
+ *
|
|
+ * This file is divided into sections containing data structures and IOCTLs for
|
|
+ * a particular set of related devices or derived file descriptors.
|
|
+ *
|
|
+ * The IOCTL definitions are at the end of each section. They are grouped by
|
|
+ * device/fd, so that new IOCTLs can easily be added with a monotonically
|
|
+ * increasing number.
|
|
+ */
|
|
+#ifndef _LINUX_MSHV_H
|
|
+#define _LINUX_MSHV_H
|
|
+
|
|
+#include <linux/types.h>
|
|
+
|
|
+#define MSHV_IOCTL 0xB8
|
|
+
|
|
+/*
|
|
+ *******************************************
|
|
+ * Entry point to main VMM APIs: /dev/mshv *
|
|
+ *******************************************
|
|
+ */
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_BIT_LAPIC,
|
|
+ MSHV_PT_BIT_X2APIC,
|
|
+ MSHV_PT_BIT_GPA_SUPER_PAGES,
|
|
+ MSHV_PT_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_PT_FLAGS_MASK ((1 << MSHV_PT_BIT_COUNT) - 1)
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_ISOLATION_NONE,
|
|
+ MSHV_PT_ISOLATION_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_create_partition - arguments for MSHV_CREATE_PARTITION
|
|
+ * @pt_flags: Bitmask of 1 << MSHV_PT_BIT_*
|
|
+ * @pt_isolation: MSHV_PT_ISOLATION_*
|
|
+ *
|
|
+ * Returns a file descriptor to act as a handle to a guest partition.
|
|
+ * At this point the partition is not yet initialized in the hypervisor.
|
|
+ * Some operations must be done with the partition in this state, e.g. setting
|
|
+ * so-called "early" partition properties. The partition can then be
|
|
+ * initialized with MSHV_INITIALIZE_PARTITION.
|
|
+ */
|
|
+struct mshv_create_partition {
|
|
+ __u64 pt_flags;
|
|
+ __u64 pt_isolation;
|
|
+};
|
|
+
|
|
+/* /dev/mshv */
|
|
+#define MSHV_CREATE_PARTITION _IOW(MSHV_IOCTL, 0x00, struct mshv_create_partition)
|
|
+
|
|
+/*
|
|
+ ************************
|
|
+ * Child partition APIs *
|
|
+ ************************
|
|
+ */
|
|
+
|
|
+struct mshv_create_vp {
|
|
+ __u32 vp_index;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_SET_MEM_BIT_WRITABLE,
|
|
+ MSHV_SET_MEM_BIT_EXECUTABLE,
|
|
+ MSHV_SET_MEM_BIT_UNMAP,
|
|
+ MSHV_SET_MEM_BIT_COUNT
|
|
+};
|
|
+
|
|
+#define MSHV_SET_MEM_FLAGS_MASK ((1 << MSHV_SET_MEM_BIT_COUNT) - 1)
|
|
+
|
|
+/* The hypervisor's "native" page size */
|
|
+#define MSHV_HV_PAGE_SIZE 0x1000
|
|
+
|
|
+/**
|
|
+ * struct mshv_user_mem_region - arguments for MSHV_SET_GUEST_MEMORY
|
|
+ * @size: Size of the memory region (bytes). Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @guest_pfn: Base guest page number to map
|
|
+ * @userspace_addr: Base address of userspace memory. Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @flags: Bitmask of 1 << MSHV_SET_MEM_BIT_*. If (1 << MSHV_SET_MEM_BIT_UNMAP)
|
|
+ * is set, ignore other bits.
|
|
+ * @rsvd: MBZ
|
|
+ *
|
|
+ * Map or unmap a region of userspace memory to Guest Physical Addresses (GPA).
|
|
+ * Mappings can't overlap in GPA space or userspace.
|
|
+ * To unmap, these fields must match an existing mapping.
|
|
+ */
|
|
+struct mshv_user_mem_region {
|
|
+ __u64 size;
|
|
+ __u64 guest_pfn;
|
|
+ __u64 userspace_addr;
|
|
+ __u8 flags;
|
|
+ __u8 rsvd[7];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IRQFD_BIT_DEASSIGN,
|
|
+ MSHV_IRQFD_BIT_RESAMPLE,
|
|
+ MSHV_IRQFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IRQFD_FLAGS_MASK ((1 << MSHV_IRQFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_irqfd {
|
|
+ __s32 fd;
|
|
+ __s32 resamplefd;
|
|
+ __u32 gsi;
|
|
+ __u32 flags;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IOEVENTFD_BIT_DATAMATCH,
|
|
+ MSHV_IOEVENTFD_BIT_PIO,
|
|
+ MSHV_IOEVENTFD_BIT_DEASSIGN,
|
|
+ MSHV_IOEVENTFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IOEVENTFD_FLAGS_MASK ((1 << MSHV_IOEVENTFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_ioeventfd {
|
|
+ __u64 datamatch;
|
|
+ __u64 addr; /* legal pio/mmio address */
|
|
+ __u32 len; /* 1, 2, 4, or 8 bytes */
|
|
+ __s32 fd;
|
|
+ __u32 flags;
|
|
+ __u8 rsvd[4];
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_entry {
|
|
+ __u32 gsi;
|
|
+ __u32 address_lo;
|
|
+ __u32 address_hi;
|
|
+ __u32 data;
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_table {
|
|
+ __u32 nr;
|
|
+ __u32 rsvd; /* MBZ */
|
|
+ struct mshv_user_irq_entry entries[];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_TYPE_ACCESSED,
|
|
+ MSHV_GPAP_ACCESS_TYPE_DIRTY,
|
|
+ MSHV_GPAP_ACCESS_TYPE_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_OP_NOOP,
|
|
+ MSHV_GPAP_ACCESS_OP_CLEAR,
|
|
+ MSHV_GPAP_ACCESS_OP_SET,
|
|
+ MSHV_GPAP_ACCESS_OP_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_gpap_access_bitmap - arguments for MSHV_GET_GPAP_ACCESS_BITMAP
|
|
+ * @access_type: MSHV_GPAP_ACCESS_TYPE_* - The type of access to record in the
|
|
+ * bitmap
|
|
+ * @access_op: MSHV_GPAP_ACCESS_OP_* - Allows an optional clear or set of all
|
|
+ * the access states in the range, after retrieving the current
|
|
+ * states.
|
|
+ * @rsvd: MBZ
|
|
+ * @page_count: Number of pages
|
|
+ * @gpap_base: Base gpa page number
|
|
+ * @bitmap_ptr: Output buffer for bitmap, at least (page_count + 7) / 8 bytes
|
|
+ *
|
|
+ * Retrieve a bitmap of either ACCESSED or DIRTY bits for a given range of guest
|
|
+ * memory, and optionally clear or set the bits.
|
|
+ */
|
|
+struct mshv_gpap_access_bitmap {
|
|
+ __u8 access_type;
|
|
+ __u8 access_op;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 page_count;
|
|
+ __u64 gpap_base;
|
|
+ __u64 bitmap_ptr;
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_root_hvcall - arguments for MSHV_ROOT_HVCALL
|
|
+ * @code: Hypercall code (HVCALL_*)
|
|
+ * @reps: in: Rep count ('repcount')
|
|
+ * out: Reps completed ('repcomp'). MBZ unless rep hvcall
|
|
+ * @in_sz: Size of input incl rep data. <= MSHV_HV_PAGE_SIZE
|
|
+ * @out_sz: Size of output buffer. <= MSHV_HV_PAGE_SIZE. MBZ if out_ptr is 0
|
|
+ * @status: in: MBZ
|
|
+ * out: HV_STATUS_* from hypercall
|
|
+ * @rsvd: MBZ
|
|
+ * @in_ptr: Input data buffer (struct hv_input_*). If used with partition or
|
|
+ * vp fd, partition id field is populated by kernel.
|
|
+ * @out_ptr: Output data buffer (optional)
|
|
+ */
|
|
+struct mshv_root_hvcall {
|
|
+ __u16 code;
|
|
+ __u16 reps;
|
|
+ __u16 in_sz;
|
|
+ __u16 out_sz;
|
|
+ __u16 status;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 in_ptr;
|
|
+ __u64 out_ptr;
|
|
+};
|
|
+
|
|
+/* Partition fds created with MSHV_CREATE_PARTITION */
|
|
+#define MSHV_INITIALIZE_PARTITION _IO(MSHV_IOCTL, 0x00)
|
|
+#define MSHV_CREATE_VP _IOW(MSHV_IOCTL, 0x01, struct mshv_create_vp)
|
|
+#define MSHV_SET_GUEST_MEMORY _IOW(MSHV_IOCTL, 0x02, struct mshv_user_mem_region)
|
|
+#define MSHV_IRQFD _IOW(MSHV_IOCTL, 0x03, struct mshv_user_irqfd)
|
|
+#define MSHV_IOEVENTFD _IOW(MSHV_IOCTL, 0x04, struct mshv_user_ioeventfd)
|
|
+#define MSHV_SET_MSI_ROUTING _IOW(MSHV_IOCTL, 0x05, struct mshv_user_irq_table)
|
|
+#define MSHV_GET_GPAP_ACCESS_BITMAP _IOWR(MSHV_IOCTL, 0x06, struct mshv_gpap_access_bitmap)
|
|
+/* Generic hypercall */
|
|
+#define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+
|
|
+/*
|
|
+ ********************************
|
|
+ * VP APIs for child partitions *
|
|
+ ********************************
|
|
+ */
|
|
+
|
|
+#define MSHV_RUN_VP_BUF_SZ 256
|
|
+
|
|
+/*
|
|
+ * VP state pages may be mapped to userspace via mmap().
|
|
+ * To specify which state page, use MSHV_VP_MMAP_OFFSET_ values multiplied by
|
|
+ * the system page size.
|
|
+ * e.g.
|
|
+ * long page_size = sysconf(_SC_PAGE_SIZE);
|
|
+ * void *reg_page = mmap(NULL, MSHV_HV_PAGE_SIZE, PROT_READ|PROT_WRITE,
|
|
+ * MAP_SHARED, vp_fd,
|
|
+ * MSHV_VP_MMAP_OFFSET_REGISTERS * page_size);
|
|
+ */
|
|
+enum {
|
|
+ MSHV_VP_MMAP_OFFSET_REGISTERS,
|
|
+ MSHV_VP_MMAP_OFFSET_INTERCEPT_MESSAGE,
|
|
+ MSHV_VP_MMAP_OFFSET_GHCB,
|
|
+ MSHV_VP_MMAP_OFFSET_COUNT
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_run_vp - argument for MSHV_RUN_VP
|
|
+ * @msg_buf: On success, the intercept message is copied here. It can be
|
|
+ * interpreted using the relevant hypervisor definitions.
|
|
+ */
|
|
+struct mshv_run_vp {
|
|
+ __u8 msg_buf[MSHV_RUN_VP_BUF_SZ];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_VP_STATE_LAPIC, /* Local interrupt controller state (either arch) */
|
|
+ MSHV_VP_STATE_XSAVE, /* XSAVE data in compacted form (x86_64) */
|
|
+ MSHV_VP_STATE_SIMP,
|
|
+ MSHV_VP_STATE_SIEFP,
|
|
+ MSHV_VP_STATE_SYNTHETIC_TIMERS,
|
|
+ MSHV_VP_STATE_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_get_set_vp_state - arguments for MSHV_[GET,SET]_VP_STATE
|
|
+ * @type: MSHV_VP_STATE_*
|
|
+ * @rsvd: MBZ
|
|
+ * @buf_sz: in: 4k page-aligned size of buffer
|
|
+ * out: Actual size of data (on EINVAL, check this to see if buffer
|
|
+ * was too small)
|
|
+ * @buf_ptr: 4k page-aligned data buffer
|
|
+ */
|
|
+struct mshv_get_set_vp_state {
|
|
+ __u8 type;
|
|
+ __u8 rsvd[3];
|
|
+ __u32 buf_sz;
|
|
+ __u64 buf_ptr;
|
|
+};
|
|
+
|
|
+/* VP fds created with MSHV_CREATE_VP */
|
|
+#define MSHV_RUN_VP _IOR(MSHV_IOCTL, 0x00, struct mshv_run_vp)
|
|
+#define MSHV_GET_VP_STATE _IOWR(MSHV_IOCTL, 0x01, struct mshv_get_set_vp_state)
|
|
+#define MSHV_SET_VP_STATE _IOWR(MSHV_IOCTL, 0x02, struct mshv_get_set_vp_state)
|
|
+/*
|
|
+ * Generic hypercall
|
|
+ * Defined above in partition IOCTLs, avoid redefining it here
|
|
+ * #define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+ */
|
|
+
|
|
+#endif
|
|
--- /dev/null
|
|
+++ b/sparc/usr/include/linux/net_shaper.h
|
|
@@ -0,0 +1,95 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/net_shaper.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_NET_SHAPER_H
|
|
+#define _LINUX_NET_SHAPER_H
|
|
+
|
|
+#define NET_SHAPER_FAMILY_NAME "net-shaper"
|
|
+#define NET_SHAPER_FAMILY_VERSION 1
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_scope - Defines the shaper @id interpretation.
|
|
+ * @NET_SHAPER_SCOPE_UNSPEC: The scope is not specified.
|
|
+ * @NET_SHAPER_SCOPE_NETDEV: The main shaper for the given network device.
|
|
+ * @NET_SHAPER_SCOPE_QUEUE: The shaper is attached to the given device queue,
|
|
+ * the @id represents the queue number.
|
|
+ * @NET_SHAPER_SCOPE_NODE: The shaper allows grouping of queues or other node
|
|
+ * shapers; can be nested in either @netdev shapers or other @node shapers,
|
|
+ * allowing placement in any location of the scheduling tree, except leaves
|
|
+ * and root.
|
|
+ */
|
|
+enum net_shaper_scope {
|
|
+ NET_SHAPER_SCOPE_UNSPEC,
|
|
+ NET_SHAPER_SCOPE_NETDEV,
|
|
+ NET_SHAPER_SCOPE_QUEUE,
|
|
+ NET_SHAPER_SCOPE_NODE,
|
|
+
|
|
+ /* private: */
|
|
+ __NET_SHAPER_SCOPE_MAX,
|
|
+ NET_SHAPER_SCOPE_MAX = (__NET_SHAPER_SCOPE_MAX - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_metric - Different metric supported by the shaper.
|
|
+ * @NET_SHAPER_METRIC_BPS: Shaper operates on a bits per second basis.
|
|
+ * @NET_SHAPER_METRIC_PPS: Shaper operates on a packets per second basis.
|
|
+ */
|
|
+enum net_shaper_metric {
|
|
+ NET_SHAPER_METRIC_BPS,
|
|
+ NET_SHAPER_METRIC_PPS,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE = 1,
|
|
+ NET_SHAPER_A_METRIC,
|
|
+ NET_SHAPER_A_BW_MIN,
|
|
+ NET_SHAPER_A_BW_MAX,
|
|
+ NET_SHAPER_A_BURST,
|
|
+ NET_SHAPER_A_PRIORITY,
|
|
+ NET_SHAPER_A_WEIGHT,
|
|
+ NET_SHAPER_A_IFINDEX,
|
|
+ NET_SHAPER_A_PARENT,
|
|
+ NET_SHAPER_A_LEAVES,
|
|
+
|
|
+ __NET_SHAPER_A_MAX,
|
|
+ NET_SHAPER_A_MAX = (__NET_SHAPER_A_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE_SCOPE = 1,
|
|
+ NET_SHAPER_A_HANDLE_ID,
|
|
+
|
|
+ __NET_SHAPER_A_HANDLE_MAX,
|
|
+ NET_SHAPER_A_HANDLE_MAX = (__NET_SHAPER_A_HANDLE_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_CAPS_IFINDEX = 1,
|
|
+ NET_SHAPER_A_CAPS_SCOPE,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_BPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_PPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_NESTING,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MIN,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MAX,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BURST,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_PRIORITY,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_WEIGHT,
|
|
+
|
|
+ __NET_SHAPER_A_CAPS_MAX,
|
|
+ NET_SHAPER_A_CAPS_MAX = (__NET_SHAPER_A_CAPS_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_CMD_GET = 1,
|
|
+ NET_SHAPER_CMD_SET,
|
|
+ NET_SHAPER_CMD_DELETE,
|
|
+ NET_SHAPER_CMD_GROUP,
|
|
+ NET_SHAPER_CMD_CAP_GET,
|
|
+
|
|
+ __NET_SHAPER_CMD_MAX,
|
|
+ NET_SHAPER_CMD_MAX = (__NET_SHAPER_CMD_MAX - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_NET_SHAPER_H */
|
|
--- a/sparc/usr/include/linux/net_tstamp.h
|
|
+++ b/sparc/usr/include/linux/net_tstamp.h
|
|
@@ -13,6 +13,17 @@
|
|
#include <linux/types.h>
|
|
#include <linux/socket.h> /* for SO_TIMESTAMPING */
|
|
|
|
+/*
|
|
+ * Possible type of hwtstamp provider. Mainly "precise" the default one
|
|
+ * is for IEEE 1588 quality and "approx" is for NICs DMA point.
|
|
+ */
|
|
+enum hwtstamp_provider_qualifier {
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_PRECISE,
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_APPROX,
|
|
+
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_CNT,
|
|
+};
|
|
+
|
|
/* SO_TIMESTAMPING flags */
|
|
enum {
|
|
SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
|
|
--- a/sparc/usr/include/linux/netdev.h
|
|
+++ b/sparc/usr/include/linux/netdev.h
|
|
@@ -122,6 +122,9 @@ enum {
|
|
NETDEV_A_NAPI_ID,
|
|
NETDEV_A_NAPI_IRQ,
|
|
NETDEV_A_NAPI_PID,
|
|
+ NETDEV_A_NAPI_DEFER_HARD_IRQS,
|
|
+ NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT,
|
|
+ NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT,
|
|
|
|
__NETDEV_A_NAPI_MAX,
|
|
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
|
@@ -199,6 +202,7 @@ enum {
|
|
NETDEV_CMD_NAPI_GET,
|
|
NETDEV_CMD_QSTATS_GET,
|
|
NETDEV_CMD_BIND_RX,
|
|
+ NETDEV_CMD_NAPI_SET,
|
|
|
|
__NETDEV_CMD_MAX,
|
|
NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)
|
|
--- a/sparc/usr/include/linux/nl80211.h
|
|
+++ b/sparc/usr/include/linux/nl80211.h
|
|
@@ -4294,6 +4294,8 @@ enum nl80211_wmm_rule {
|
|
* otherwise completely disabled.
|
|
* @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a
|
|
* very low power (VLP) AP, despite being NO_IR.
|
|
+ * @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in
|
|
+ * 20 MHz bandwidth, despite being NO_IR.
|
|
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
|
* currently defined
|
|
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
|
@@ -4338,6 +4340,7 @@ enum nl80211_frequency_attr {
|
|
NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
|
|
NL80211_FREQUENCY_ATTR_CAN_MONITOR,
|
|
NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
|
|
+ NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY,
|
|
|
|
/* keep last */
|
|
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
|
@@ -4549,31 +4552,34 @@ enum nl80211_sched_scan_match_attr {
|
|
* @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed
|
|
* @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted
|
|
* despite NO_IR configuration.
|
|
+ * @NL80211_RRF_ALLOW_20MHZ_ACTIVITY: Allow activity in 20 MHz bandwidth,
|
|
+ * despite NO_IR configuration.
|
|
*/
|
|
enum nl80211_reg_rule_flags {
|
|
- NL80211_RRF_NO_OFDM = 1<<0,
|
|
- NL80211_RRF_NO_CCK = 1<<1,
|
|
- NL80211_RRF_NO_INDOOR = 1<<2,
|
|
- NL80211_RRF_NO_OUTDOOR = 1<<3,
|
|
- NL80211_RRF_DFS = 1<<4,
|
|
- NL80211_RRF_PTP_ONLY = 1<<5,
|
|
- NL80211_RRF_PTMP_ONLY = 1<<6,
|
|
- NL80211_RRF_NO_IR = 1<<7,
|
|
- __NL80211_RRF_NO_IBSS = 1<<8,
|
|
- NL80211_RRF_AUTO_BW = 1<<11,
|
|
- NL80211_RRF_IR_CONCURRENT = 1<<12,
|
|
- NL80211_RRF_NO_HT40MINUS = 1<<13,
|
|
- NL80211_RRF_NO_HT40PLUS = 1<<14,
|
|
- NL80211_RRF_NO_80MHZ = 1<<15,
|
|
- NL80211_RRF_NO_160MHZ = 1<<16,
|
|
- NL80211_RRF_NO_HE = 1<<17,
|
|
- NL80211_RRF_NO_320MHZ = 1<<18,
|
|
- NL80211_RRF_NO_EHT = 1<<19,
|
|
- NL80211_RRF_PSD = 1<<20,
|
|
- NL80211_RRF_DFS_CONCURRENT = 1<<21,
|
|
- NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22,
|
|
- NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23,
|
|
- NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24,
|
|
+ NL80211_RRF_NO_OFDM = 1 << 0,
|
|
+ NL80211_RRF_NO_CCK = 1 << 1,
|
|
+ NL80211_RRF_NO_INDOOR = 1 << 2,
|
|
+ NL80211_RRF_NO_OUTDOOR = 1 << 3,
|
|
+ NL80211_RRF_DFS = 1 << 4,
|
|
+ NL80211_RRF_PTP_ONLY = 1 << 5,
|
|
+ NL80211_RRF_PTMP_ONLY = 1 << 6,
|
|
+ NL80211_RRF_NO_IR = 1 << 7,
|
|
+ __NL80211_RRF_NO_IBSS = 1 << 8,
|
|
+ NL80211_RRF_AUTO_BW = 1 << 11,
|
|
+ NL80211_RRF_IR_CONCURRENT = 1 << 12,
|
|
+ NL80211_RRF_NO_HT40MINUS = 1 << 13,
|
|
+ NL80211_RRF_NO_HT40PLUS = 1 << 14,
|
|
+ NL80211_RRF_NO_80MHZ = 1 << 15,
|
|
+ NL80211_RRF_NO_160MHZ = 1 << 16,
|
|
+ NL80211_RRF_NO_HE = 1 << 17,
|
|
+ NL80211_RRF_NO_320MHZ = 1 << 18,
|
|
+ NL80211_RRF_NO_EHT = 1 << 19,
|
|
+ NL80211_RRF_PSD = 1 << 20,
|
|
+ NL80211_RRF_DFS_CONCURRENT = 1 << 21,
|
|
+ NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22,
|
|
+ NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23,
|
|
+ NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24,
|
|
+ NL80211_RRF_ALLOW_20MHZ_ACTIVITY = 1 << 25,
|
|
};
|
|
|
|
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
|
|
--- a/sparc/usr/include/linux/pci_regs.h
|
|
+++ b/sparc/usr/include/linux/pci_regs.h
|
|
@@ -340,7 +340,8 @@
|
|
#define PCI_MSIX_ENTRY_UPPER_ADDR 0x4 /* Message Upper Address */
|
|
#define PCI_MSIX_ENTRY_DATA 0x8 /* Message Data */
|
|
#define PCI_MSIX_ENTRY_VECTOR_CTRL 0xc /* Vector Control */
|
|
-#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001
|
|
+#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001 /* Mask Bit */
|
|
+#define PCI_MSIX_ENTRY_CTRL_ST 0xffff0000 /* Steering Tag */
|
|
|
|
/* CompactPCI Hotswap Register */
|
|
|
|
@@ -659,6 +660,7 @@
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP64 0x00000100 /* 64b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP128 0x00000200 /* 128b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_LTR 0x00000800 /* Latency tolerance reporting */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_MASK 0x00003000 /* TPH completer support */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000 /* OBFF support mechanism */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000 /* New message signaling */
|
|
#define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
|
|
@@ -1023,15 +1025,34 @@
|
|
#define PCI_DPA_CAP_SUBSTATE_MASK 0x1F /* # substates - 1 */
|
|
#define PCI_DPA_BASE_SIZEOF 16 /* size with 0 substates */
|
|
|
|
+/* TPH Completer Support */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_NONE 0x0 /* None */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_TPH_ONLY 0x1 /* TPH only */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_EXT_TPH 0x3 /* TPH and Extended TPH */
|
|
+
|
|
/* TPH Requester */
|
|
#define PCI_TPH_CAP 4 /* capability register */
|
|
-#define PCI_TPH_CAP_LOC_MASK 0x600 /* location mask */
|
|
-#define PCI_TPH_LOC_NONE 0x000 /* no location */
|
|
-#define PCI_TPH_LOC_CAP 0x200 /* in capability */
|
|
-#define PCI_TPH_LOC_MSIX 0x400 /* in MSI-X */
|
|
-#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST table mask */
|
|
-#define PCI_TPH_CAP_ST_SHIFT 16 /* ST table shift */
|
|
-#define PCI_TPH_BASE_SIZEOF 0xc /* size with no ST table */
|
|
+#define PCI_TPH_CAP_ST_NS 0x00000001 /* No ST Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_IV 0x00000002 /* Interrupt Vector Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_DS 0x00000004 /* Device Specific Mode Supported */
|
|
+#define PCI_TPH_CAP_EXT_TPH 0x00000100 /* Ext TPH Requester Supported */
|
|
+#define PCI_TPH_CAP_LOC_MASK 0x00000600 /* ST Table Location */
|
|
+#define PCI_TPH_LOC_NONE 0x00000000 /* Not present */
|
|
+#define PCI_TPH_LOC_CAP 0x00000200 /* In capability */
|
|
+#define PCI_TPH_LOC_MSIX 0x00000400 /* In MSI-X */
|
|
+#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST Table Size */
|
|
+#define PCI_TPH_CAP_ST_SHIFT 16 /* ST Table Size shift */
|
|
+#define PCI_TPH_BASE_SIZEOF 0xc /* Size with no ST table */
|
|
+
|
|
+#define PCI_TPH_CTRL 8 /* control register */
|
|
+#define PCI_TPH_CTRL_MODE_SEL_MASK 0x00000007 /* ST Mode Select */
|
|
+#define PCI_TPH_ST_NS_MODE 0x0 /* No ST Mode */
|
|
+#define PCI_TPH_ST_IV_MODE 0x1 /* Interrupt Vector Mode */
|
|
+#define PCI_TPH_ST_DS_MODE 0x2 /* Device Specific Mode */
|
|
+#define PCI_TPH_CTRL_REQ_EN_MASK 0x00000300 /* TPH Requester Enable */
|
|
+#define PCI_TPH_REQ_DISABLE 0x0 /* No TPH requests allowed */
|
|
+#define PCI_TPH_REQ_TPH_ONLY 0x1 /* TPH only requests allowed */
|
|
+#define PCI_TPH_REQ_EXT_TPH 0x3 /* Extended TPH requests allowed */
|
|
|
|
/* Downstream Port Containment */
|
|
#define PCI_EXP_DPC_CAP 0x04 /* DPC Capability */
|
|
--- a/sparc/usr/include/linux/perf_event.h
|
|
+++ b/sparc/usr/include/linux/perf_event.h
|
|
@@ -385,6 +385,8 @@ enum perf_event_read_format {
|
|
*
|
|
* @sample_max_stack: Max number of frame pointers in a callchain,
|
|
* should be < /proc/sys/kernel/perf_event_max_stack
|
|
+ * Max number of entries of branch stack
|
|
+ * should be < hardware limit
|
|
*/
|
|
struct perf_event_attr {
|
|
|
|
@@ -511,7 +513,16 @@ struct perf_event_attr {
|
|
__u16 sample_max_stack;
|
|
__u16 __reserved_2;
|
|
__u32 aux_sample_size;
|
|
- __u32 __reserved_3;
|
|
+
|
|
+ union {
|
|
+ __u32 aux_action;
|
|
+ struct {
|
|
+ __u32 aux_start_paused : 1, /* start AUX area tracing paused */
|
|
+ aux_pause : 1, /* on overflow, pause AUX area tracing */
|
|
+ aux_resume : 1, /* on overflow, resume AUX area tracing */
|
|
+ __reserved_3 : 29;
|
|
+ };
|
|
+ };
|
|
|
|
/*
|
|
* User provided data if sigtrap=1, passed back to user via
|
|
--- a/sparc/usr/include/linux/pfrut.h
|
|
+++ b/sparc/usr/include/linux/pfrut.h
|
|
@@ -89,6 +89,7 @@ struct pfru_payload_hdr {
|
|
__u32 hw_ver;
|
|
__u32 rt_ver;
|
|
__u8 platform_id[16];
|
|
+ __u32 svn_ver;
|
|
};
|
|
|
|
enum pfru_dsm_status {
|
|
--- a/sparc/usr/include/linux/pidfd.h
|
|
+++ b/sparc/usr/include/linux/pidfd.h
|
|
@@ -16,6 +16,56 @@
|
|
#define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1)
|
|
#define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2)
|
|
|
|
+/* Flags for pidfd_info. */
|
|
+#define PIDFD_INFO_PID (1UL << 0) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CREDS (1UL << 1) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CGROUPID (1UL << 2) /* Always returned if available, even if not requested */
|
|
+#define PIDFD_INFO_EXIT (1UL << 3) /* Only returned if requested. */
|
|
+
|
|
+#define PIDFD_INFO_SIZE_VER0 64 /* sizeof first published struct */
|
|
+
|
|
+struct pidfd_info {
|
|
+ /*
|
|
+ * This mask is similar to the request_mask in statx(2).
|
|
+ *
|
|
+ * Userspace indicates what extensions or expensive-to-calculate fields
|
|
+ * they want by setting the corresponding bits in mask. The kernel
|
|
+ * will ignore bits that it does not know about.
|
|
+ *
|
|
+ * When filling the structure, the kernel will only set bits
|
|
+ * corresponding to the fields that were actually filled by the kernel.
|
|
+ * This also includes any future extensions that might be automatically
|
|
+ * filled. If the structure size is too small to contain a field
|
|
+ * (requested or not), to avoid confusion the mask will not
|
|
+ * contain a bit for that field.
|
|
+ *
|
|
+ * As such, userspace MUST verify that mask contains the
|
|
+ * corresponding flags after the ioctl(2) returns to ensure that it is
|
|
+ * using valid data.
|
|
+ */
|
|
+ __u64 mask;
|
|
+ /*
|
|
+ * The information contained in the following fields might be stale at the
|
|
+ * time it is received, as the target process might have exited as soon as
|
|
+ * the IOCTL was processed, and there is no way to avoid that. However, it
|
|
+ * is guaranteed that if the call was successful, then the information was
|
|
+ * correct and referred to the intended process at the time the work was
|
|
+ * performed. */
|
|
+ __u64 cgroupid;
|
|
+ __u32 pid;
|
|
+ __u32 tgid;
|
|
+ __u32 ppid;
|
|
+ __u32 ruid;
|
|
+ __u32 rgid;
|
|
+ __u32 euid;
|
|
+ __u32 egid;
|
|
+ __u32 suid;
|
|
+ __u32 sgid;
|
|
+ __u32 fsuid;
|
|
+ __u32 fsgid;
|
|
+ __s32 exit_code;
|
|
+};
|
|
+
|
|
#define PIDFS_IOCTL_MAGIC 0xFF
|
|
|
|
#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1)
|
|
@@ -28,5 +78,6 @@
|
|
#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8)
|
|
#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9)
|
|
#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10)
|
|
+#define PIDFD_GET_INFO _IOWR(PIDFS_IOCTL_MAGIC, 11, struct pidfd_info)
|
|
|
|
#endif /* _LINUX_PIDFD_H */
|
|
--- a/sparc/usr/include/linux/psci.h
|
|
+++ b/sparc/usr/include/linux/psci.h
|
|
@@ -59,6 +59,7 @@
|
|
#define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18)
|
|
#define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19)
|
|
#define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(20)
|
|
+#define PSCI_1_3_FN_SYSTEM_OFF2 PSCI_0_2_FN(21)
|
|
|
|
#define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12)
|
|
#define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13)
|
|
@@ -68,6 +69,7 @@
|
|
|
|
#define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18)
|
|
#define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(20)
|
|
+#define PSCI_1_3_FN64_SYSTEM_OFF2 PSCI_0_2_FN64(21)
|
|
|
|
/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
|
|
#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
|
|
@@ -100,6 +102,9 @@
|
|
#define PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET 0
|
|
#define PSCI_1_1_RESET_TYPE_VENDOR_START 0x80000000U
|
|
|
|
+/* PSCI v1.3 hibernate type for SYSTEM_OFF2 */
|
|
+#define PSCI_1_3_OFF_TYPE_HIBERNATE_OFF BIT(0)
|
|
+
|
|
/* PSCI version decoding (independent of PSCI version) */
|
|
#define PSCI_VERSION_MAJOR_SHIFT 16
|
|
#define PSCI_VERSION_MINOR_MASK \
|
|
--- a/sparc/usr/include/linux/psp-sev.h
|
|
+++ b/sparc/usr/include/linux/psp-sev.h
|
|
@@ -73,13 +73,20 @@ typedef enum {
|
|
SEV_RET_INVALID_PARAM,
|
|
SEV_RET_RESOURCE_LIMIT,
|
|
SEV_RET_SECURE_DATA_INVALID,
|
|
- SEV_RET_INVALID_KEY = 0x27,
|
|
- SEV_RET_INVALID_PAGE_SIZE,
|
|
- SEV_RET_INVALID_PAGE_STATE,
|
|
- SEV_RET_INVALID_MDATA_ENTRY,
|
|
- SEV_RET_INVALID_PAGE_OWNER,
|
|
- SEV_RET_INVALID_PAGE_AEAD_OFLOW,
|
|
- SEV_RET_RMP_INIT_REQUIRED,
|
|
+ SEV_RET_INVALID_PAGE_SIZE = 0x0019,
|
|
+ SEV_RET_INVALID_PAGE_STATE = 0x001A,
|
|
+ SEV_RET_INVALID_MDATA_ENTRY = 0x001B,
|
|
+ SEV_RET_INVALID_PAGE_OWNER = 0x001C,
|
|
+ SEV_RET_AEAD_OFLOW = 0x001D,
|
|
+ SEV_RET_EXIT_RING_BUFFER = 0x001F,
|
|
+ SEV_RET_RMP_INIT_REQUIRED = 0x0020,
|
|
+ SEV_RET_BAD_SVN = 0x0021,
|
|
+ SEV_RET_BAD_VERSION = 0x0022,
|
|
+ SEV_RET_SHUTDOWN_REQUIRED = 0x0023,
|
|
+ SEV_RET_UPDATE_FAILED = 0x0024,
|
|
+ SEV_RET_RESTORE_REQUIRED = 0x0025,
|
|
+ SEV_RET_RMP_INITIALIZATION_FAILED = 0x0026,
|
|
+ SEV_RET_INVALID_KEY = 0x0027,
|
|
SEV_RET_MAX,
|
|
} sev_ret_code;
|
|
|
|
--- a/sparc/usr/include/linux/raid/md_p.h
|
|
+++ b/sparc/usr/include/linux/raid/md_p.h
|
|
@@ -85,6 +85,7 @@
|
|
* devices available - and don't try to
|
|
* correct read errors.
|
|
*/
|
|
+#define MD_DISK_TIMEOUT 11 /* disk is faulty due to timeout */
|
|
|
|
#define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
|
|
* read requests will only be sent here in
|
|
@@ -95,6 +96,7 @@
|
|
#define MD_DISK_ROLE_SPARE 0xffff
|
|
#define MD_DISK_ROLE_FAULTY 0xfffe
|
|
#define MD_DISK_ROLE_JOURNAL 0xfffd
|
|
+#define MD_DISK_ROLE_TIMEOUT 0xfff0 /* SUSE-only timed-out */
|
|
#define MD_DISK_ROLE_MAX 0xff00 /* max value of regular disk role */
|
|
|
|
typedef struct mdp_device_descriptor_s {
|
|
@@ -233,7 +235,7 @@ struct mdp_superblock_1 {
|
|
char set_name[32]; /* set and interpreted by user-space */
|
|
|
|
__le64 ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/
|
|
- __le32 level; /* 0,1,4,5 */
|
|
+ __le32 level; /* 0,1,4,5, -1 (linear) */
|
|
__le32 layout; /* only for raid5 and raid10 currently */
|
|
__le64 size; /* used size of component devices, in 512byte sectors */
|
|
|
|
--- a/sparc/usr/include/linux/raid/md_u.h
|
|
+++ b/sparc/usr/include/linux/raid/md_u.h
|
|
@@ -103,6 +103,8 @@ typedef struct mdu_array_info_s {
|
|
|
|
} mdu_array_info_t;
|
|
|
|
+#define LEVEL_LINEAR (-1)
|
|
+
|
|
/* we need a value for 'no level specified' and 0
|
|
* means 'raid0', so we need something else. This is
|
|
* for internal use only
|
|
--- a/sparc/usr/include/linux/rkisp1-config.h
|
|
+++ b/sparc/usr/include/linux/rkisp1-config.h
|
|
@@ -1528,7 +1528,7 @@ enum rksip1_ext_param_buffer_version {
|
|
* The expected memory layout of the parameters buffer is::
|
|
*
|
|
* +-------------------- struct rkisp1_ext_params_cfg -------------------+
|
|
- * | version = RKISP_EXT_PARAMS_BUFFER_V1; |
|
|
+ * | version = RKISP1_EXT_PARAM_BUFFER_V1; |
|
|
* | data_size = sizeof(struct rkisp1_ext_params_bls_config) |
|
|
* | + sizeof(struct rkisp1_ext_params_dpcc_config); |
|
|
* | +------------------------- data ---------------------------------+ |
|
|
--- a/sparc/usr/include/linux/rtnetlink.h
|
|
+++ b/sparc/usr/include/linux/rtnetlink.h
|
|
@@ -174,7 +174,7 @@ enum {
|
|
#define RTM_GETLINKPROP RTM_GETLINKPROP
|
|
|
|
RTM_NEWVLAN = 112,
|
|
-#define RTM_NEWNVLAN RTM_NEWVLAN
|
|
+#define RTM_NEWVLAN RTM_NEWVLAN
|
|
RTM_DELVLAN,
|
|
#define RTM_DELVLAN RTM_DELVLAN
|
|
RTM_GETVLAN,
|
|
--- a/sparc/usr/include/linux/sed-opal.h
|
|
+++ b/sparc/usr/include/linux/sed-opal.h
|
|
@@ -215,5 +215,6 @@ struct opal_revert_lsp {
|
|
#define IOC_OPAL_GET_GEOMETRY _IOR('p', 238, struct opal_geometry)
|
|
#define IOC_OPAL_DISCOVERY _IOW('p', 239, struct opal_discovery)
|
|
#define IOC_OPAL_REVERT_LSP _IOW('p', 240, struct opal_revert_lsp)
|
|
+#define IOC_OPAL_SET_SID_PW _IOW('p', 241, struct opal_new_pw)
|
|
|
|
#endif /* _SED_OPAL_H */
|
|
--- a/sparc/usr/include/linux/stddef.h
|
|
+++ b/sparc/usr/include/linux/stddef.h
|
|
@@ -8,6 +8,13 @@
|
|
#define __always_inline __inline__
|
|
#endif
|
|
|
|
+/* Not all C++ standards support type declarations inside an anonymous union */
|
|
+#ifndef __cplusplus
|
|
+#define __struct_group_tag(TAG) TAG
|
|
+#else
|
|
+#define __struct_group_tag(TAG)
|
|
+#endif
|
|
+
|
|
/**
|
|
* __struct_group() - Create a mirrored named and anonyomous struct
|
|
*
|
|
@@ -20,13 +27,13 @@
|
|
* and size: one anonymous and one named. The former's members can be used
|
|
* normally without sub-struct naming, and the latter can be used to
|
|
* reason about the start, end, and size of the group of struct members.
|
|
- * The named struct can also be explicitly tagged for layer reuse, as well
|
|
- * as both having struct attributes appended.
|
|
+ * The named struct can also be explicitly tagged for layer reuse (C only),
|
|
+ * as well as both having struct attributes appended.
|
|
*/
|
|
#define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
|
|
union { \
|
|
struct { MEMBERS } ATTRS; \
|
|
- struct TAG { MEMBERS } ATTRS NAME; \
|
|
+ struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \
|
|
} ATTRS
|
|
|
|
#ifdef __cplusplus
|
|
--- a/sparc/usr/include/linux/types.h
|
|
+++ b/sparc/usr/include/linux/types.h
|
|
@@ -48,6 +48,7 @@ typedef __u32 __bitwise __wsum;
|
|
* No conversions are necessary between 32-bit user-space and a 64-bit kernel.
|
|
*/
|
|
#define __aligned_u64 __u64 __attribute__((aligned(8)))
|
|
+#define __aligned_s64 __s64 __attribute__((aligned(8)))
|
|
#define __aligned_be64 __be64 __attribute__((aligned(8)))
|
|
#define __aligned_le64 __le64 __attribute__((aligned(8)))
|
|
|
|
--- a/sparc/usr/include/linux/usb/ch9.h
|
|
+++ b/sparc/usr/include/linux/usb/ch9.h
|
|
@@ -253,6 +253,9 @@ struct usb_ctrlrequest {
|
|
#define USB_DT_BOS 0x0f
|
|
#define USB_DT_DEVICE_CAPABILITY 0x10
|
|
#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11
|
|
+/* From the eUSB2 spec */
|
|
+#define USB_DT_EUSB2_ISOC_ENDPOINT_COMP 0x12
|
|
+/* From Wireless USB spec */
|
|
#define USB_DT_WIRE_ADAPTER 0x21
|
|
/* From USB Device Firmware Upgrade Specification, Revision 1.1 */
|
|
#define USB_DT_DFU_FUNCTIONAL 0x21
|
|
@@ -330,6 +333,7 @@ struct usb_device_descriptor {
|
|
#define USB_CLASS_AUDIO_VIDEO 0x10
|
|
#define USB_CLASS_BILLBOARD 0x11
|
|
#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
|
|
+#define USB_CLASS_MCTP 0x14
|
|
#define USB_CLASS_MISC 0xef
|
|
#define USB_CLASS_APP_SPEC 0xfe
|
|
#define USB_SUBCLASS_DFU 0x01
|
|
@@ -675,6 +679,18 @@ static __inline__ int usb_endpoint_inter
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
+/* USB_DT_EUSB2_ISOC_ENDPOINT_COMP: eUSB2 Isoch Endpoint Companion descriptor */
|
|
+struct usb_eusb2_isoc_ep_comp_descriptor {
|
|
+ __u8 bLength;
|
|
+ __u8 bDescriptorType;
|
|
+ __le16 wMaxPacketSize;
|
|
+ __le32 dwBytesPerInterval;
|
|
+} __attribute__ ((packed));
|
|
+
|
|
+#define USB_DT_EUSB2_ISOC_EP_COMP_SIZE 8
|
|
+
|
|
+/*-------------------------------------------------------------------------*/
|
|
+
|
|
/* USB_DT_SSP_ISOC_ENDPOINT_COMP: SuperSpeedPlus Isochronous Endpoint Companion
|
|
* descriptor
|
|
*/
|
|
--- a/sparc/usr/include/linux/usb/functionfs.h
|
|
+++ b/sparc/usr/include/linux/usb/functionfs.h
|
|
@@ -205,7 +205,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -223,7 +223,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -236,7 +236,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* | 11 | ExtProp[] | | list of ext. prop. d. |
|
|
* +-----+-----------------+------+--------------------------+
|
|
*
|
|
- * ExtCompat[] is an array of valid Extended Compatiblity descriptors
|
|
+ * ExtCompat[] is an array of valid Extended Compatibility descriptors
|
|
* which have the following format:
|
|
*
|
|
* +-----+-----------------------+------+-------------------------------------+
|
|
@@ -294,7 +294,7 @@ struct usb_functionfs_strings_head {
|
|
* | 16 | stringtab | StringTab[lang_count] | table of strings per lang |
|
|
*
|
|
* For each language there is one stringtab entry (ie. there are lang_count
|
|
- * stringtab entires). Each StringTab has following format:
|
|
+ * stringtab entries). Each StringTab has following format:
|
|
*
|
|
* | off | name | type | description |
|
|
* |-----+---------+-------------------+------------------------------------|
|
|
--- a/sparc/usr/include/linux/vhost.h
|
|
+++ b/sparc/usr/include/linux/vhost.h
|
|
@@ -235,4 +235,33 @@
|
|
*/
|
|
#define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \
|
|
struct vhost_vring_state)
|
|
+
|
|
+/* fork_owner values for vhost */
|
|
+#define VHOST_FORK_OWNER_KTHREAD 0
|
|
+#define VHOST_FORK_OWNER_TASK 1
|
|
+
|
|
+/**
|
|
+ * VHOST_SET_FORK_FROM_OWNER - Set the fork_owner flag for the vhost device,
|
|
+ * This ioctl must called before VHOST_SET_OWNER.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @param fork_owner: An 8-bit value that determines the vhost thread mode
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_TASK(default value):
|
|
+ * - Vhost will create vhost worker as tasks forked from the owner,
|
|
+ * inheriting all of the owner's attributes.
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_KTHREAD:
|
|
+ * - Vhost will create vhost workers as kernel threads.
|
|
+ */
|
|
+#define VHOST_SET_FORK_FROM_OWNER _IOW(VHOST_VIRTIO, 0x84, __u8)
|
|
+
|
|
+/**
|
|
+ * VHOST_GET_FORK_OWNER - Get the current fork_owner flag for the vhost device.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @return: An 8-bit value indicating the current thread mode.
|
|
+ */
|
|
+#define VHOST_GET_FORK_FROM_OWNER _IOR(VHOST_VIRTIO, 0x85, __u8)
|
|
+
|
|
#endif
|
|
--- a/sparc/usr/include/linux/videodev2.h
|
|
+++ b/sparc/usr/include/linux/videodev2.h
|
|
@@ -771,6 +771,7 @@ struct v4l2_pix_format {
|
|
#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
|
|
#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
|
|
+#define V4L2_PIX_FMT_Y16I v4l2_fourcc('Y', '1', '6', 'I') /* Greyscale 16-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
|
|
#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
|
|
#define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */
|
|
@@ -832,6 +833,8 @@ struct v4l2_pix_format {
|
|
|
|
/* Vendor specific - used for RaspberryPi PiSP */
|
|
#define V4L2_META_FMT_RPI_BE_CFG v4l2_fourcc('R', 'P', 'B', 'C') /* PiSP BE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_CFG v4l2_fourcc('R', 'P', 'F', 'C') /* PiSP FE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_STATS v4l2_fourcc('R', 'P', 'F', 'S') /* PiSP FE stats */
|
|
|
|
|
|
/* priv field value to indicates that subsequent fields are valid. */
|
|
--- a/sparc/usr/include/linux/xfrm.h
|
|
+++ b/sparc/usr/include/linux/xfrm.h
|
|
@@ -322,6 +322,7 @@ enum xfrm_attr_type_t {
|
|
XFRMA_MTIMER_THRESH, /* __u32 in seconds for input SA */
|
|
XFRMA_SA_DIR, /* __u8 */
|
|
XFRMA_NAT_KEEPALIVE_INTERVAL, /* __u32 in seconds for NAT keepalive */
|
|
+ XFRMA_SA_PCPU, /* __u32 */
|
|
__XFRMA_MAX
|
|
|
|
#define XFRMA_OUTPUT_MARK XFRMA_SET_MARK /* Compatibility */
|
|
@@ -437,6 +438,7 @@ struct xfrm_userpolicy_info {
|
|
#define XFRM_POLICY_LOCALOK 1 /* Allow user to override global policy */
|
|
/* Automatically expand selector to include matching ICMP payloads. */
|
|
#define XFRM_POLICY_ICMP 2
|
|
+#define XFRM_POLICY_CPU_ACQUIRE 4
|
|
__u8 share;
|
|
};
|
|
|
|
--- a/sparc/usr/include/rdma/efa-abi.h
|
|
+++ b/sparc/usr/include/rdma/efa-abi.h
|
|
@@ -95,7 +95,8 @@ struct efa_ibv_create_qp {
|
|
__u32 sq_ring_size; /* bytes */
|
|
__u32 driver_qp_type;
|
|
__u16 flags;
|
|
- __u8 reserved_90[6];
|
|
+ __u8 sl;
|
|
+ __u8 reserved_98[5];
|
|
};
|
|
|
|
struct efa_ibv_create_qp_resp {
|
|
--- a/sparc/usr/include/rdma/mlx5-abi.h
|
|
+++ b/sparc/usr/include/rdma/mlx5-abi.h
|
|
@@ -252,6 +252,7 @@ enum mlx5_ib_query_dev_resp_flags {
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1,
|
|
MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE = 1 << 2,
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT = 1 << 3,
|
|
+ MLX5_IB_QUERY_DEV_RESP_FLAGS_OOO_DP = 1 << 4,
|
|
};
|
|
|
|
enum mlx5_ib_tunnel_offloads {
|
|
@@ -439,6 +440,10 @@ struct mlx5_ib_burst_info {
|
|
__u16 reserved;
|
|
};
|
|
|
|
+enum mlx5_ib_modify_qp_mask {
|
|
+ MLX5_IB_MODIFY_QP_OOO_DP = 1 << 0,
|
|
+};
|
|
+
|
|
struct mlx5_ib_modify_qp {
|
|
__u32 comp_mask;
|
|
struct mlx5_ib_burst_info burst_info;
|
|
--- a/sparc/usr/include/rdma/rdma_netlink.h
|
|
+++ b/sparc/usr/include/rdma/rdma_netlink.h
|
|
@@ -638,6 +638,8 @@ enum rdma_nl_notify_event_type {
|
|
RDMA_UNREGISTER_EVENT,
|
|
RDMA_NETDEV_ATTACH_EVENT,
|
|
RDMA_NETDEV_DETACH_EVENT,
|
|
+ RDMA_RENAME_EVENT,
|
|
+ RDMA_NETDEV_RENAME_EVENT,
|
|
};
|
|
|
|
#endif /* _RDMA_NETLINK_H */
|
|
--- a/sparc/usr/include/scsi/fc/fc_els.h
|
|
+++ b/sparc/usr/include/scsi/fc/fc_els.h
|
|
@@ -11,6 +11,8 @@
|
|
#include <linux/types.h>
|
|
#include <asm/byteorder.h>
|
|
|
|
+#include <stddef.h> /* for offsetof */
|
|
+
|
|
/*
|
|
* Fibre Channel Switch - Enhanced Link Services definitions.
|
|
* From T11 FC-LS Rev 1.2 June 7, 2005.
|
|
@@ -1109,12 +1111,15 @@ struct fc_els_fpin {
|
|
|
|
/* Diagnostic Function Descriptor - FPIN Registration */
|
|
struct fc_df_desc_fpin_reg {
|
|
- __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
- __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
- * Size of descriptor excluding
|
|
- * desc_tag and desc_len fields.
|
|
- */
|
|
- __be32 count; /* Number of desc_tags elements */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_df_desc_fpin_reg_hdr, __hdr, /* no attrs */,
|
|
+ __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
+ __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
+ * Size of descriptor excluding
|
|
+ * desc_tag and desc_len fields.
|
|
+ */
|
|
+ __be32 count; /* Number of desc_tags elements */
|
|
+ );
|
|
__be32 desc_tags[]; /* Array of Descriptor Tags.
|
|
* Each tag indicates a function
|
|
* supported by the N_Port (request)
|
|
@@ -1124,33 +1129,44 @@ struct fc_df_desc_fpin_reg {
|
|
* See ELS_FN_DTAG_xxx for tag values.
|
|
*/
|
|
};
|
|
+_Static_assert(offsetof(struct fc_df_desc_fpin_reg, desc_tags) == sizeof(struct fc_df_desc_fpin_reg_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS_RDF - Register Diagnostic Functions
|
|
*/
|
|
struct fc_els_rdf {
|
|
- __u8 fpin_cmd; /* command (0x19) */
|
|
- __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
- __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
- * Size of ELS excluding fpin_cmd,
|
|
- * fpin_zero and desc_len fields.
|
|
- */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_hdr, __hdr, /* no attrs */,
|
|
+ __u8 fpin_cmd; /* command (0x19) */
|
|
+ __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
+ __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
+ * Size of ELS excluding fpin_cmd,
|
|
+ * fpin_zero and desc_len fields.
|
|
+ */
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Descriptor list */
|
|
};
|
|
+_Static_assert(offsetof(struct fc_els_rdf, desc) == sizeof(struct fc_els_rdf_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS RDF LS_ACC Response.
|
|
*/
|
|
struct fc_els_rdf_resp {
|
|
- struct fc_els_ls_acc acc_hdr;
|
|
- __be32 desc_list_len; /* Length of response (in
|
|
- * bytes). Excludes acc_hdr
|
|
- * and desc_list_len fields.
|
|
- */
|
|
- struct fc_els_lsri_desc lsri;
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_resp_hdr, __hdr, /* no attrs */,
|
|
+ struct fc_els_ls_acc acc_hdr;
|
|
+ __be32 desc_list_len; /* Length of response (in
|
|
+ * bytes). Excludes acc_hdr
|
|
+ * and desc_list_len fields.
|
|
+ */
|
|
+ struct fc_els_lsri_desc lsri;
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Supported Descriptor list */
|
|
};
|
|
-
|
|
+_Static_assert(offsetof(struct fc_els_rdf_resp, desc) == sizeof(struct fc_els_rdf_resp_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* Diagnostic Capability Descriptors for EDC ELS
|
|
--- a/x86/usr/include/asm-generic/mman-common.h
|
|
+++ b/x86/usr/include/asm-generic/mman-common.h
|
|
@@ -79,6 +79,9 @@
|
|
|
|
#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */
|
|
|
|
+#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */
|
|
+#define MADV_GUARD_REMOVE 103 /* unguard range */
|
|
+
|
|
/* compatibility flags */
|
|
#define MAP_FILE 0
|
|
|
|
--- a/x86/usr/include/asm/amd_hsmp.h
|
|
+++ b/x86/usr/include/asm/amd_hsmp.h
|
|
@@ -50,6 +50,12 @@ enum hsmp_message_ids {
|
|
HSMP_GET_METRIC_TABLE_VER, /* 23h Get metrics table version */
|
|
HSMP_GET_METRIC_TABLE, /* 24h Get metrics table */
|
|
HSMP_GET_METRIC_TABLE_DRAM_ADDR,/* 25h Get metrics table dram address */
|
|
+ HSMP_SET_XGMI_PSTATE_RANGE, /* 26h Set xGMI P-state range */
|
|
+ HSMP_CPU_RAIL_ISO_FREQ_POLICY, /* 27h Get/Set Cpu Iso frequency policy */
|
|
+ HSMP_DFC_ENABLE_CTRL, /* 28h Enable/Disable DF C-state */
|
|
+ HSMP_GET_RAPL_UNITS = 0x30, /* 30h Get scaling factor for energy */
|
|
+ HSMP_GET_RAPL_CORE_COUNTER, /* 31h Get core energy counter value */
|
|
+ HSMP_GET_RAPL_PACKAGE_COUNTER, /* 32h Get package energy counter value */
|
|
HSMP_MSG_ID_MAX,
|
|
};
|
|
|
|
@@ -65,6 +71,7 @@ enum hsmp_msg_type {
|
|
HSMP_RSVD = -1,
|
|
HSMP_SET = 0,
|
|
HSMP_GET = 1,
|
|
+ HSMP_SET_GET = 2,
|
|
};
|
|
|
|
enum hsmp_proto_versions {
|
|
@@ -72,7 +79,8 @@ enum hsmp_proto_versions {
|
|
HSMP_PROTO_VER3,
|
|
HSMP_PROTO_VER4,
|
|
HSMP_PROTO_VER5,
|
|
- HSMP_PROTO_VER6
|
|
+ HSMP_PROTO_VER6,
|
|
+ HSMP_PROTO_VER7
|
|
};
|
|
|
|
struct hsmp_msg_desc {
|
|
@@ -88,7 +96,8 @@ struct hsmp_msg_desc {
|
|
*
|
|
* Not supported messages would return -ENOMSG.
|
|
*/
|
|
-static const struct hsmp_msg_desc hsmp_msg_desc_table[] = {
|
|
+static const struct hsmp_msg_desc hsmp_msg_desc_table[]
|
|
+ __attribute__((unused)) = {
|
|
/* RESERVED */
|
|
{0, 0, HSMP_RSVD},
|
|
|
|
@@ -299,7 +308,7 @@ static const struct hsmp_msg_desc hsmp_m
|
|
* HSMP_SET_POWER_MODE, num_args = 1, response_sz = 0
|
|
* input: args[0] = power efficiency mode[2:0]
|
|
*/
|
|
- {1, 0, HSMP_SET},
|
|
+ {1, 1, HSMP_SET_GET},
|
|
|
|
/*
|
|
* HSMP_SET_PSTATE_MAX_MIN, num_args = 1, response_sz = 0
|
|
@@ -324,6 +333,58 @@ static const struct hsmp_msg_desc hsmp_m
|
|
* output: args[1] = upper 32 bits of the address
|
|
*/
|
|
{0, 2, HSMP_GET},
|
|
+
|
|
+ /*
|
|
+ * HSMP_SET_XGMI_PSTATE_RANGE, num_args = 1, response_sz = 0
|
|
+ * input: args[0] = min xGMI p-state[15:8] + max xGMI p-state[7:0]
|
|
+ */
|
|
+ {1, 0, HSMP_SET},
|
|
+
|
|
+ /*
|
|
+ * HSMP_CPU_RAIL_ISO_FREQ_POLICY, num_args = 1, response_sz = 1
|
|
+ * input: args[0] = set/get policy[31] +
|
|
+ * disable/enable independent control[0]
|
|
+ * output: args[0] = current policy[0]
|
|
+ */
|
|
+ {1, 1, HSMP_SET_GET},
|
|
+
|
|
+ /*
|
|
+ * HSMP_DFC_ENABLE_CTRL, num_args = 1, response_sz = 1
|
|
+ * input: args[0] = set/get policy[31] + enable/disable DFC[0]
|
|
+ * output: args[0] = current policy[0]
|
|
+ */
|
|
+ {1, 1, HSMP_SET_GET},
|
|
+
|
|
+ /* RESERVED(0x29-0x2f) */
|
|
+ {0, 0, HSMP_RSVD},
|
|
+ {0, 0, HSMP_RSVD},
|
|
+ {0, 0, HSMP_RSVD},
|
|
+ {0, 0, HSMP_RSVD},
|
|
+ {0, 0, HSMP_RSVD},
|
|
+ {0, 0, HSMP_RSVD},
|
|
+ {0, 0, HSMP_RSVD},
|
|
+
|
|
+ /*
|
|
+ * HSMP_GET_RAPL_UNITS, response_sz = 1
|
|
+ * output: args[0] = tu value[19:16] + esu value[12:8]
|
|
+ */
|
|
+ {0, 1, HSMP_GET},
|
|
+
|
|
+ /*
|
|
+ * HSMP_GET_RAPL_CORE_COUNTER, num_args = 1, response_sz = 1
|
|
+ * input: args[0] = apic id[15:0]
|
|
+ * output: args[0] = lower 32 bits of energy
|
|
+ * output: args[1] = upper 32 bits of energy
|
|
+ */
|
|
+ {1, 2, HSMP_GET},
|
|
+
|
|
+ /*
|
|
+ * HSMP_GET_RAPL_PACKAGE_COUNTER, num_args = 0, response_sz = 1
|
|
+ * output: args[0] = lower 32 bits of energy
|
|
+ * output: args[1] = upper 32 bits of energy
|
|
+ */
|
|
+ {0, 2, HSMP_GET},
|
|
+
|
|
};
|
|
|
|
/* Metrics table (supported only with proto version 6) */
|
|
--- a/x86/usr/include/asm/bootparam.h
|
|
+++ b/x86/usr/include/asm/bootparam.h
|
|
@@ -26,7 +26,7 @@
|
|
#define XLF_5LEVEL_ENABLED (1<<6)
|
|
#define XLF_MEM_ENCRYPTION (1<<7)
|
|
|
|
-#ifndef __ASSEMBLY__
|
|
+#ifndef __ASSEMBLER__
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/screen_info.h>
|
|
@@ -210,6 +210,6 @@ enum x86_hardware_subarch {
|
|
X86_NR_SUBARCHS,
|
|
};
|
|
|
|
-#endif /* __ASSEMBLY__ */
|
|
+#endif /* __ASSEMBLER__ */
|
|
|
|
#endif /* _ASM_X86_BOOTPARAM_H */
|
|
--- a/x86/usr/include/asm/debugreg.h
|
|
+++ b/x86/usr/include/asm/debugreg.h
|
|
@@ -15,7 +15,26 @@
|
|
which debugging register was responsible for the trap. The other bits
|
|
are either reserved or not of interest to us. */
|
|
|
|
-/* Define reserved bits in DR6 which are always set to 1 */
|
|
+/*
|
|
+ * Define bits in DR6 which are set to 1 by default.
|
|
+ *
|
|
+ * This is also the DR6 architectural value following Power-up, Reset or INIT.
|
|
+ *
|
|
+ * Note, with the introduction of Bus Lock Detection (BLD) and Restricted
|
|
+ * Transactional Memory (RTM), the DR6 register has been modified:
|
|
+ *
|
|
+ * 1) BLD flag (bit 11) is no longer reserved to 1 if the CPU supports
|
|
+ * Bus Lock Detection. The assertion of a bus lock could clear it.
|
|
+ *
|
|
+ * 2) RTM flag (bit 16) is no longer reserved to 1 if the CPU supports
|
|
+ * restricted transactional memory. #DB occurred inside an RTM region
|
|
+ * could clear it.
|
|
+ *
|
|
+ * Apparently, DR6.BLD and DR6.RTM are active low bits.
|
|
+ *
|
|
+ * As a result, DR6_RESERVED is an incorrect name now, but it is kept for
|
|
+ * compatibility.
|
|
+ */
|
|
#define DR6_RESERVED (0xFFFF0FF0)
|
|
|
|
#define DR_TRAP0 (0x1) /* db0 */
|
|
--- a/x86/usr/include/asm/e820.h
|
|
+++ b/x86/usr/include/asm/e820.h
|
|
@@ -52,7 +52,7 @@
|
|
*/
|
|
#define E820_RESERVED_KERN 128
|
|
|
|
-#ifndef __ASSEMBLY__
|
|
+#ifndef __ASSEMBLER__
|
|
#include <linux/types.h>
|
|
struct e820entry {
|
|
__u64 addr; /* start of memory segment */
|
|
@@ -74,7 +74,7 @@ struct e820map {
|
|
#define BIOS_ROM_BASE 0xffe00000
|
|
#define BIOS_ROM_END 0xffffffff
|
|
|
|
-#endif /* __ASSEMBLY__ */
|
|
+#endif /* __ASSEMBLER__ */
|
|
|
|
|
|
#endif /* _ASM_X86_E820_H */
|
|
--- a/x86/usr/include/asm/kvm.h
|
|
+++ b/x86/usr/include/asm/kvm.h
|
|
@@ -438,6 +438,8 @@ struct kvm_sync_regs {
|
|
#define KVM_X86_QUIRK_FIX_HYPERCALL_INSN (1 << 5)
|
|
#define KVM_X86_QUIRK_MWAIT_NEVER_UD_FAULTS (1 << 6)
|
|
#define KVM_X86_QUIRK_SLOT_ZAP_ALL (1 << 7)
|
|
+#define KVM_X86_QUIRK_STUFF_FEATURE_MSRS (1 << 8)
|
|
+#define KVM_X86_QUIRK_IGNORE_GUEST_PAT (1 << 9)
|
|
|
|
#define KVM_STATE_NESTED_FORMAT_VMX 0
|
|
#define KVM_STATE_NESTED_FORMAT_SVM 1
|
|
@@ -922,5 +924,82 @@ struct kvm_hyperv_eventfd {
|
|
#define KVM_X86_SEV_VM 2
|
|
#define KVM_X86_SEV_ES_VM 3
|
|
#define KVM_X86_SNP_VM 4
|
|
+#define KVM_X86_TDX_VM 5
|
|
+
|
|
+/* Trust Domain eXtension sub-ioctl() commands. */
|
|
+enum kvm_tdx_cmd_id {
|
|
+ KVM_TDX_CAPABILITIES = 0,
|
|
+ KVM_TDX_INIT_VM,
|
|
+ KVM_TDX_INIT_VCPU,
|
|
+ KVM_TDX_INIT_MEM_REGION,
|
|
+ KVM_TDX_FINALIZE_VM,
|
|
+ KVM_TDX_GET_CPUID,
|
|
+
|
|
+ KVM_TDX_CMD_NR_MAX,
|
|
+};
|
|
+
|
|
+struct kvm_tdx_cmd {
|
|
+ /* enum kvm_tdx_cmd_id */
|
|
+ __u32 id;
|
|
+ /* flags for sub-commend. If sub-command doesn't use this, set zero. */
|
|
+ __u32 flags;
|
|
+ /*
|
|
+ * data for each sub-command. An immediate or a pointer to the actual
|
|
+ * data in process virtual address. If sub-command doesn't use it,
|
|
+ * set zero.
|
|
+ */
|
|
+ __u64 data;
|
|
+ /*
|
|
+ * Auxiliary error code. The sub-command may return TDX SEAMCALL
|
|
+ * status code in addition to -Exxx.
|
|
+ */
|
|
+ __u64 hw_error;
|
|
+};
|
|
+
|
|
+struct kvm_tdx_capabilities {
|
|
+ __u64 supported_attrs;
|
|
+ __u64 supported_xfam;
|
|
+
|
|
+ __u64 kernel_tdvmcallinfo_1_r11;
|
|
+ __u64 user_tdvmcallinfo_1_r11;
|
|
+ __u64 kernel_tdvmcallinfo_1_r12;
|
|
+ __u64 user_tdvmcallinfo_1_r12;
|
|
+
|
|
+ __u64 reserved[250];
|
|
+
|
|
+ /* Configurable CPUID bits for userspace */
|
|
+ struct kvm_cpuid2 cpuid;
|
|
+};
|
|
+
|
|
+struct kvm_tdx_init_vm {
|
|
+ __u64 attributes;
|
|
+ __u64 xfam;
|
|
+ __u64 mrconfigid[6]; /* sha384 digest */
|
|
+ __u64 mrowner[6]; /* sha384 digest */
|
|
+ __u64 mrownerconfig[6]; /* sha384 digest */
|
|
+
|
|
+ /* The total space for TD_PARAMS before the CPUIDs is 256 bytes */
|
|
+ __u64 reserved[12];
|
|
+
|
|
+ /*
|
|
+ * Call KVM_TDX_INIT_VM before vcpu creation, thus before
|
|
+ * KVM_SET_CPUID2.
|
|
+ * This configuration supersedes KVM_SET_CPUID2s for VCPUs because the
|
|
+ * TDX module directly virtualizes those CPUIDs without VMM. The user
|
|
+ * space VMM, e.g. qemu, should make KVM_SET_CPUID2 consistent with
|
|
+ * those values. If it doesn't, KVM may have wrong idea of vCPUIDs of
|
|
+ * the guest, and KVM may wrongly emulate CPUIDs or MSRs that the TDX
|
|
+ * module doesn't virtualize.
|
|
+ */
|
|
+ struct kvm_cpuid2 cpuid;
|
|
+};
|
|
+
|
|
+#define KVM_TDX_MEASURE_MEMORY_REGION _BITULL(0)
|
|
+
|
|
+struct kvm_tdx_init_mem_region {
|
|
+ __u64 source_addr;
|
|
+ __u64 gpa;
|
|
+ __u64 nr_pages;
|
|
+};
|
|
|
|
#endif /* _ASM_X86_KVM_H */
|
|
--- a/x86/usr/include/asm/ldt.h
|
|
+++ b/x86/usr/include/asm/ldt.h
|
|
@@ -12,7 +12,7 @@
|
|
/* The size of each LDT entry. */
|
|
#define LDT_ENTRY_SIZE 8
|
|
|
|
-#ifndef __ASSEMBLY__
|
|
+#ifndef __ASSEMBLER__
|
|
/*
|
|
* Note on 64bit base and limit is ignored and you cannot set DS/ES/CS
|
|
* not to the default values if you still want to do syscalls. This
|
|
@@ -44,5 +44,5 @@ struct user_desc {
|
|
#define MODIFY_LDT_CONTENTS_STACK 1
|
|
#define MODIFY_LDT_CONTENTS_CODE 2
|
|
|
|
-#endif /* !__ASSEMBLY__ */
|
|
+#endif /* !__ASSEMBLER__ */
|
|
#endif /* _ASM_X86_LDT_H */
|
|
--- a/x86/usr/include/asm/msr.h
|
|
+++ b/x86/usr/include/asm/msr.h
|
|
@@ -2,7 +2,7 @@
|
|
#ifndef _ASM_X86_MSR_H
|
|
#define _ASM_X86_MSR_H
|
|
|
|
-#ifndef __ASSEMBLY__
|
|
+#ifndef __ASSEMBLER__
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/ioctl.h>
|
|
@@ -10,5 +10,5 @@
|
|
#define X86_IOC_RDMSR_REGS _IOWR('c', 0xA0, __u32[8])
|
|
#define X86_IOC_WRMSR_REGS _IOWR('c', 0xA1, __u32[8])
|
|
|
|
-#endif /* __ASSEMBLY__ */
|
|
+#endif /* __ASSEMBLER__ */
|
|
#endif /* _ASM_X86_MSR_H */
|
|
--- a/x86/usr/include/asm/ptrace-abi.h
|
|
+++ b/x86/usr/include/asm/ptrace-abi.h
|
|
@@ -25,7 +25,7 @@
|
|
|
|
#else /* __i386__ */
|
|
|
|
-#if defined(__ASSEMBLY__) || defined(__FRAME_OFFSETS)
|
|
+#if defined(__ASSEMBLER__) || defined(__FRAME_OFFSETS)
|
|
/*
|
|
* C ABI says these regs are callee-preserved. They aren't saved on kernel entry
|
|
* unless syscall needs a complete, fully filled "struct pt_regs".
|
|
@@ -57,7 +57,7 @@
|
|
#define EFLAGS 144
|
|
#define RSP 152
|
|
#define SS 160
|
|
-#endif /* __ASSEMBLY__ */
|
|
+#endif /* __ASSEMBLER__ */
|
|
|
|
/* top of stack page */
|
|
#define FRAME_SIZE 168
|
|
@@ -87,7 +87,7 @@
|
|
|
|
#define PTRACE_SINGLEBLOCK 33 /* resume execution until next branch */
|
|
|
|
-#ifndef __ASSEMBLY__
|
|
+#ifndef __ASSEMBLER__
|
|
#include <linux/types.h>
|
|
#endif
|
|
|
|
--- a/x86/usr/include/asm/ptrace.h
|
|
+++ b/x86/usr/include/asm/ptrace.h
|
|
@@ -7,7 +7,7 @@
|
|
#include <asm/processor-flags.h>
|
|
|
|
|
|
-#ifndef __ASSEMBLY__
|
|
+#ifndef __ASSEMBLER__
|
|
|
|
#ifdef __i386__
|
|
/* this struct defines the way the registers are stored on the
|
|
@@ -77,6 +77,6 @@ struct pt_regs {
|
|
|
|
|
|
|
|
-#endif /* !__ASSEMBLY__ */
|
|
+#endif /* !__ASSEMBLER__ */
|
|
|
|
#endif /* _ASM_X86_PTRACE_H */
|
|
--- a/x86/usr/include/asm/setup_data.h
|
|
+++ b/x86/usr/include/asm/setup_data.h
|
|
@@ -13,12 +13,13 @@
|
|
#define SETUP_CC_BLOB 7
|
|
#define SETUP_IMA 8
|
|
#define SETUP_RNG_SEED 9
|
|
-#define SETUP_ENUM_MAX SETUP_RNG_SEED
|
|
+#define SETUP_EFI_SECRET_KEY 16
|
|
+#define SETUP_ENUM_MAX SETUP_EFI_SECRET_KEY
|
|
|
|
#define SETUP_INDIRECT (1<<31)
|
|
#define SETUP_TYPE_MAX (SETUP_ENUM_MAX | SETUP_INDIRECT)
|
|
|
|
-#ifndef __ASSEMBLY__
|
|
+#ifndef __ASSEMBLER__
|
|
|
|
#include <linux/types.h>
|
|
|
|
@@ -78,6 +79,6 @@ struct ima_setup_data {
|
|
__u64 size;
|
|
} __attribute__((packed));
|
|
|
|
-#endif /* __ASSEMBLY__ */
|
|
+#endif /* __ASSEMBLER__ */
|
|
|
|
#endif /* _ASM_X86_SETUP_DATA_H */
|
|
--- a/x86/usr/include/asm/signal.h
|
|
+++ b/x86/usr/include/asm/signal.h
|
|
@@ -2,7 +2,7 @@
|
|
#ifndef _ASM_X86_SIGNAL_H
|
|
#define _ASM_X86_SIGNAL_H
|
|
|
|
-#ifndef __ASSEMBLY__
|
|
+#ifndef __ASSEMBLER__
|
|
#include <linux/types.h>
|
|
|
|
|
|
@@ -14,7 +14,7 @@ struct siginfo;
|
|
#define NSIG 32
|
|
typedef unsigned long sigset_t;
|
|
|
|
-#endif /* __ASSEMBLY__ */
|
|
+#endif /* __ASSEMBLER__ */
|
|
|
|
|
|
#define SIGHUP 1
|
|
@@ -66,7 +66,7 @@ typedef unsigned long sigset_t;
|
|
|
|
#include <asm-generic/signal-defs.h>
|
|
|
|
-#ifndef __ASSEMBLY__
|
|
+#ifndef __ASSEMBLER__
|
|
|
|
|
|
/* Here we must cater to libcs that poke about in kernel headers. */
|
|
@@ -102,6 +102,6 @@ typedef struct sigaltstack {
|
|
__kernel_size_t ss_size;
|
|
} stack_t;
|
|
|
|
-#endif /* __ASSEMBLY__ */
|
|
+#endif /* __ASSEMBLER__ */
|
|
|
|
#endif /* _ASM_X86_SIGNAL_H */
|
|
--- a/x86/usr/include/asm/svm.h
|
|
+++ b/x86/usr/include/asm/svm.h
|
|
@@ -95,6 +95,7 @@
|
|
#define SVM_EXIT_CR14_WRITE_TRAP 0x09e
|
|
#define SVM_EXIT_CR15_WRITE_TRAP 0x09f
|
|
#define SVM_EXIT_INVPCID 0x0a2
|
|
+#define SVM_EXIT_IDLE_HLT 0x0a6
|
|
#define SVM_EXIT_NPF 0x400
|
|
#define SVM_EXIT_AVIC_INCOMPLETE_IPI 0x401
|
|
#define SVM_EXIT_AVIC_UNACCELERATED_ACCESS 0x402
|
|
@@ -224,6 +225,7 @@
|
|
{ SVM_EXIT_CR4_WRITE_TRAP, "write_cr4_trap" }, \
|
|
{ SVM_EXIT_CR8_WRITE_TRAP, "write_cr8_trap" }, \
|
|
{ SVM_EXIT_INVPCID, "invpcid" }, \
|
|
+ { SVM_EXIT_IDLE_HLT, "idle-halt" }, \
|
|
{ SVM_EXIT_NPF, "npf" }, \
|
|
{ SVM_EXIT_AVIC_INCOMPLETE_IPI, "avic_incomplete_ipi" }, \
|
|
{ SVM_EXIT_AVIC_UNACCELERATED_ACCESS, "avic_unaccelerated_access" }, \
|
|
--- a/x86/usr/include/asm/vmx.h
|
|
+++ b/x86/usr/include/asm/vmx.h
|
|
@@ -34,6 +34,7 @@
|
|
#define EXIT_REASON_TRIPLE_FAULT 2
|
|
#define EXIT_REASON_INIT_SIGNAL 3
|
|
#define EXIT_REASON_SIPI_SIGNAL 4
|
|
+#define EXIT_REASON_OTHER_SMI 6
|
|
|
|
#define EXIT_REASON_INTERRUPT_WINDOW 7
|
|
#define EXIT_REASON_NMI_WINDOW 8
|
|
@@ -92,6 +93,7 @@
|
|
#define EXIT_REASON_TPAUSE 68
|
|
#define EXIT_REASON_BUS_LOCK 74
|
|
#define EXIT_REASON_NOTIFY 75
|
|
+#define EXIT_REASON_TDCALL 77
|
|
|
|
#define VMX_EXIT_REASONS \
|
|
{ EXIT_REASON_EXCEPTION_NMI, "EXCEPTION_NMI" }, \
|
|
@@ -155,7 +157,8 @@
|
|
{ EXIT_REASON_UMWAIT, "UMWAIT" }, \
|
|
{ EXIT_REASON_TPAUSE, "TPAUSE" }, \
|
|
{ EXIT_REASON_BUS_LOCK, "BUS_LOCK" }, \
|
|
- { EXIT_REASON_NOTIFY, "NOTIFY" }
|
|
+ { EXIT_REASON_NOTIFY, "NOTIFY" }, \
|
|
+ { EXIT_REASON_TDCALL, "TDCALL" }
|
|
|
|
#define VMX_EXIT_REASON_FLAGS \
|
|
{ VMX_EXIT_REASONS_FAILED_VMENTRY, "FAILED_VMENTRY" }
|
|
--- a/x86/usr/include/linux/devlink.h
|
|
+++ b/x86/usr/include/linux/devlink.h
|
|
@@ -385,6 +385,21 @@ enum devlink_linecard_state {
|
|
DEVLINK_LINECARD_STATE_MAX = __DEVLINK_LINECARD_STATE_MAX - 1
|
|
};
|
|
|
|
+/* Variable attribute type. */
|
|
+enum devlink_var_attr_type {
|
|
+ /* Following values relate to the internal NLA_* values */
|
|
+ DEVLINK_VAR_ATTR_TYPE_U8 = 1,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U16,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U32,
|
|
+ DEVLINK_VAR_ATTR_TYPE_U64,
|
|
+ DEVLINK_VAR_ATTR_TYPE_STRING,
|
|
+ DEVLINK_VAR_ATTR_TYPE_FLAG,
|
|
+ DEVLINK_VAR_ATTR_TYPE_NUL_STRING = 10,
|
|
+ DEVLINK_VAR_ATTR_TYPE_BINARY,
|
|
+ __DEVLINK_VAR_ATTR_TYPE_CUSTOM_BASE = 0x80,
|
|
+ /* Any possible custom types, unrelated to NLA_* values go below */
|
|
+};
|
|
+
|
|
enum devlink_attr {
|
|
/* don't change the order or add anything between, this is ABI! */
|
|
DEVLINK_ATTR_UNSPEC,
|
|
--- a/x86/usr/include/linux/dm-ioctl.h
|
|
+++ b/x86/usr/include/linux/dm-ioctl.h
|
|
@@ -286,9 +286,9 @@ enum {
|
|
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
|
|
|
#define DM_VERSION_MAJOR 4
|
|
-#define DM_VERSION_MINOR 48
|
|
+#define DM_VERSION_MINOR 49
|
|
#define DM_VERSION_PATCHLEVEL 0
|
|
-#define DM_VERSION_EXTRA "-ioctl (2023-03-01)"
|
|
+#define DM_VERSION_EXTRA "-ioctl (2025-01-17)"
|
|
|
|
/* Status bits */
|
|
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
|
--- a/x86/usr/include/linux/dpll.h
|
|
+++ b/x86/usr/include/linux/dpll.h
|
|
@@ -79,6 +79,29 @@ enum dpll_lock_status_error {
|
|
DPLL_LOCK_STATUS_ERROR_MAX = (__DPLL_LOCK_STATUS_ERROR_MAX - 1)
|
|
};
|
|
|
|
+/**
|
|
+ * enum dpll_clock_quality_level - level of quality of a clock device. This
|
|
+ * mainly applies when the dpll lock-status is DPLL_LOCK_STATUS_HOLDOVER. The
|
|
+ * current list is defined according to the table 11-7 contained in ITU-T
|
|
+ * G.8264/Y.1364 document. One may extend this list freely by other ITU-T
|
|
+ * defined clock qualities, or different ones defined by another
|
|
+ * standardization body (for those, please use different prefix).
|
|
+ */
|
|
+enum dpll_clock_quality_level {
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRC = 1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_A,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_B,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEC1,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRTC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEEC,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRC,
|
|
+
|
|
+ /* private: */
|
|
+ __DPLL_CLOCK_QUALITY_LEVEL_MAX,
|
|
+ DPLL_CLOCK_QUALITY_LEVEL_MAX = (__DPLL_CLOCK_QUALITY_LEVEL_MAX - 1)
|
|
+};
|
|
+
|
|
#define DPLL_TEMP_DIVIDER 1000
|
|
|
|
/**
|
|
@@ -180,6 +203,7 @@ enum dpll_a {
|
|
DPLL_A_TEMP,
|
|
DPLL_A_TYPE,
|
|
DPLL_A_LOCK_STATUS_ERROR,
|
|
+ DPLL_A_CLOCK_QUALITY_LEVEL,
|
|
|
|
__DPLL_A_MAX,
|
|
DPLL_A_MAX = (__DPLL_A_MAX - 1)
|
|
--- a/x86/usr/include/linux/ethtool.h
|
|
+++ b/x86/usr/include/linux/ethtool.h
|
|
@@ -679,6 +679,8 @@ enum ethtool_link_ext_substate_module {
|
|
* @ETH_SS_STATS_ETH_MAC: names of IEEE 802.3 MAC statistics
|
|
* @ETH_SS_STATS_ETH_CTRL: names of IEEE 802.3 MAC Control statistics
|
|
* @ETH_SS_STATS_RMON: names of RMON statistics
|
|
+ * @ETH_SS_STATS_PHY: names of PHY(dev) statistics
|
|
+ * @ETH_SS_TS_FLAGS: hardware timestamping flags
|
|
*
|
|
* @ETH_SS_COUNT: number of defined string sets
|
|
*/
|
|
@@ -704,6 +706,8 @@ enum ethtool_stringset {
|
|
ETH_SS_STATS_ETH_MAC,
|
|
ETH_SS_STATS_ETH_CTRL,
|
|
ETH_SS_STATS_RMON,
|
|
+ ETH_SS_STATS_PHY,
|
|
+ ETH_SS_TS_FLAGS,
|
|
|
|
/* add new constants above here */
|
|
ETH_SS_COUNT
|
|
--- a/x86/usr/include/linux/ethtool_netlink.h
|
|
+++ b/x86/usr/include/linux/ethtool_netlink.h
|
|
@@ -10,545 +10,12 @@
|
|
#define _LINUX_ETHTOOL_NETLINK_H_
|
|
|
|
#include <linux/ethtool.h>
|
|
-
|
|
-/* message types - userspace to kernel */
|
|
-enum {
|
|
- ETHTOOL_MSG_USER_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET,
|
|
- ETHTOOL_MSG_LINKINFO_GET,
|
|
- ETHTOOL_MSG_LINKINFO_SET,
|
|
- ETHTOOL_MSG_LINKMODES_GET,
|
|
- ETHTOOL_MSG_LINKMODES_SET,
|
|
- ETHTOOL_MSG_LINKSTATE_GET,
|
|
- ETHTOOL_MSG_DEBUG_GET,
|
|
- ETHTOOL_MSG_DEBUG_SET,
|
|
- ETHTOOL_MSG_WOL_GET,
|
|
- ETHTOOL_MSG_WOL_SET,
|
|
- ETHTOOL_MSG_FEATURES_GET,
|
|
- ETHTOOL_MSG_FEATURES_SET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
- ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
- ETHTOOL_MSG_RINGS_GET,
|
|
- ETHTOOL_MSG_RINGS_SET,
|
|
- ETHTOOL_MSG_CHANNELS_GET,
|
|
- ETHTOOL_MSG_CHANNELS_SET,
|
|
- ETHTOOL_MSG_COALESCE_GET,
|
|
- ETHTOOL_MSG_COALESCE_SET,
|
|
- ETHTOOL_MSG_PAUSE_GET,
|
|
- ETHTOOL_MSG_PAUSE_SET,
|
|
- ETHTOOL_MSG_EEE_GET,
|
|
- ETHTOOL_MSG_EEE_SET,
|
|
- ETHTOOL_MSG_TSINFO_GET,
|
|
- ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
- ETHTOOL_MSG_FEC_GET,
|
|
- ETHTOOL_MSG_FEC_SET,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
- ETHTOOL_MSG_STATS_GET,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
- ETHTOOL_MSG_MODULE_GET,
|
|
- ETHTOOL_MSG_MODULE_SET,
|
|
- ETHTOOL_MSG_PSE_GET,
|
|
- ETHTOOL_MSG_PSE_SET,
|
|
- ETHTOOL_MSG_RSS_GET,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG,
|
|
- ETHTOOL_MSG_PLCA_SET_CFG,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
- ETHTOOL_MSG_MM_GET,
|
|
- ETHTOOL_MSG_MM_SET,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
- ETHTOOL_MSG_PHY_GET,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_USER_CNT,
|
|
- ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
|
|
-};
|
|
-
|
|
-/* message types - kernel to userspace */
|
|
-enum {
|
|
- ETHTOOL_MSG_KERNEL_NONE,
|
|
- ETHTOOL_MSG_STRSET_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKINFO_NTF,
|
|
- ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
- ETHTOOL_MSG_LINKMODES_NTF,
|
|
- ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
- ETHTOOL_MSG_DEBUG_NTF,
|
|
- ETHTOOL_MSG_WOL_GET_REPLY,
|
|
- ETHTOOL_MSG_WOL_NTF,
|
|
- ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
- ETHTOOL_MSG_FEATURES_NTF,
|
|
- ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
- ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
- ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
- ETHTOOL_MSG_RINGS_NTF,
|
|
- ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
- ETHTOOL_MSG_CHANNELS_NTF,
|
|
- ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
- ETHTOOL_MSG_COALESCE_NTF,
|
|
- ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
- ETHTOOL_MSG_PAUSE_NTF,
|
|
- ETHTOOL_MSG_EEE_GET_REPLY,
|
|
- ETHTOOL_MSG_EEE_NTF,
|
|
- ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
- ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
- ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
- ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_GET_REPLY,
|
|
- ETHTOOL_MSG_FEC_NTF,
|
|
- ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
- ETHTOOL_MSG_STATS_GET_REPLY,
|
|
- ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
- ETHTOOL_MSG_MODULE_NTF,
|
|
- ETHTOOL_MSG_PSE_GET_REPLY,
|
|
- ETHTOOL_MSG_RSS_GET_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
- ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
- ETHTOOL_MSG_PLCA_NTF,
|
|
- ETHTOOL_MSG_MM_GET_REPLY,
|
|
- ETHTOOL_MSG_MM_NTF,
|
|
- ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
- ETHTOOL_MSG_PHY_GET_REPLY,
|
|
- ETHTOOL_MSG_PHY_NTF,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_MSG_KERNEL_CNT,
|
|
- ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
|
|
-};
|
|
-
|
|
-/* request header */
|
|
-
|
|
-enum ethtool_header_flags {
|
|
- ETHTOOL_FLAG_COMPACT_BITSETS = 1 << 0, /* use compact bitsets in reply */
|
|
- ETHTOOL_FLAG_OMIT_REPLY = 1 << 1, /* provide optional reply for SET or ACT requests */
|
|
- ETHTOOL_FLAG_STATS = 1 << 2, /* request statistics, if supported by the driver */
|
|
-};
|
|
+#include <linux/ethtool_netlink_generated.h>
|
|
|
|
#define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \
|
|
ETHTOOL_FLAG_OMIT_REPLY | \
|
|
ETHTOOL_FLAG_STATS)
|
|
|
|
-enum {
|
|
- ETHTOOL_A_HEADER_UNSPEC,
|
|
- ETHTOOL_A_HEADER_DEV_INDEX, /* u32 */
|
|
- ETHTOOL_A_HEADER_DEV_NAME, /* string */
|
|
- ETHTOOL_A_HEADER_FLAGS, /* u32 - ETHTOOL_FLAG_* */
|
|
- ETHTOOL_A_HEADER_PHY_INDEX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_HEADER_CNT,
|
|
- ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1
|
|
-};
|
|
-
|
|
-/* bit sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BIT_INDEX, /* u32 */
|
|
- ETHTOOL_A_BITSET_BIT_NAME, /* string */
|
|
- ETHTOOL_A_BITSET_BIT_VALUE, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BIT_CNT,
|
|
- ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
- ETHTOOL_A_BITSET_BITS_BIT, /* nest - _A_BITSET_BIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_BITS_CNT,
|
|
- ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_BITSET_UNSPEC,
|
|
- ETHTOOL_A_BITSET_NOMASK, /* flag */
|
|
- ETHTOOL_A_BITSET_SIZE, /* u32 */
|
|
- ETHTOOL_A_BITSET_BITS, /* nest - _A_BITSET_BITS_* */
|
|
- ETHTOOL_A_BITSET_VALUE, /* binary */
|
|
- ETHTOOL_A_BITSET_MASK, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_BITSET_CNT,
|
|
- ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* string sets */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRING_UNSPEC,
|
|
- ETHTOOL_A_STRING_INDEX, /* u32 */
|
|
- ETHTOOL_A_STRING_VALUE, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRING_CNT,
|
|
- ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGS_UNSPEC,
|
|
- ETHTOOL_A_STRINGS_STRING, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGS_CNT,
|
|
- ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSET_UNSPEC,
|
|
- ETHTOOL_A_STRINGSET_ID, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_COUNT, /* u32 */
|
|
- ETHTOOL_A_STRINGSET_STRINGS, /* nest - _A_STRINGS_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSET_CNT,
|
|
- ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
- ETHTOOL_A_STRINGSETS_STRINGSET, /* nest - _A_STRINGSET_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRINGSETS_CNT,
|
|
- ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1
|
|
-};
|
|
-
|
|
-/* STRSET */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STRSET_UNSPEC,
|
|
- ETHTOOL_A_STRSET_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STRSET_STRINGSETS, /* nest - _A_STRINGSETS_* */
|
|
- ETHTOOL_A_STRSET_COUNTS_ONLY, /* flag */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STRSET_CNT,
|
|
- ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKINFO_UNSPEC,
|
|
- ETHTOOL_A_LINKINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKINFO_PORT, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_PHYADDR, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, /* u8 */
|
|
- ETHTOOL_A_LINKINFO_TRANSCEIVER, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKINFO_CNT,
|
|
- ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKMODES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKMODES_UNSPEC,
|
|
- ETHTOOL_A_LINKMODES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_OURS, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_PEER, /* bitset */
|
|
- ETHTOOL_A_LINKMODES_SPEED, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
|
|
- ETHTOOL_A_LINKMODES_LANES, /* u32 */
|
|
- ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKMODES_CNT,
|
|
- ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1
|
|
-};
|
|
-
|
|
-/* LINKSTATE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
- ETHTOOL_A_LINKSTATE_HEADER, /* nest - _A_HEADER_* */
|
|
- 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 */
|
|
- ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_LINKSTATE_CNT,
|
|
- ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1
|
|
-};
|
|
-
|
|
-/* DEBUG */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_DEBUG_UNSPEC,
|
|
- ETHTOOL_A_DEBUG_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_DEBUG_MSGMASK, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_DEBUG_CNT,
|
|
- ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1
|
|
-};
|
|
-
|
|
-/* WOL */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_WOL_UNSPEC,
|
|
- ETHTOOL_A_WOL_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_WOL_MODES, /* bitset */
|
|
- ETHTOOL_A_WOL_SOPASS, /* binary */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_WOL_CNT,
|
|
- ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
|
|
-};
|
|
-
|
|
-/* FEATURES */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEATURES_UNSPEC,
|
|
- ETHTOOL_A_FEATURES_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEATURES_HW, /* bitset */
|
|
- ETHTOOL_A_FEATURES_WANTED, /* bitset */
|
|
- ETHTOOL_A_FEATURES_ACTIVE, /* bitset */
|
|
- ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEATURES_CNT,
|
|
- ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
|
|
-};
|
|
-
|
|
-/* PRIVFLAGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
- ETHTOOL_A_PRIVFLAGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PRIVFLAGS_FLAGS, /* bitset */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
- ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1
|
|
-};
|
|
-
|
|
-/* RINGS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,
|
|
- ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
- ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RINGS_UNSPEC,
|
|
- ETHTOOL_A_RINGS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_RINGS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_MINI, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX, /* u32 */
|
|
- ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */
|
|
- ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_RX_PUSH, /* u8 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, /* u32 */
|
|
- ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_RINGS_CNT,
|
|
- ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CHANNELS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CHANNELS_UNSPEC,
|
|
- ETHTOOL_A_CHANNELS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CHANNELS_RX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_MAX, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_RX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_TX_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_OTHER_COUNT, /* u32 */
|
|
- ETHTOOL_A_CHANNELS_COMBINED_COUNT, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CHANNELS_CNT,
|
|
- ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* COALESCE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_COALESCE_UNSPEC,
|
|
- ETHTOOL_A_COALESCE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_COALESCE_RX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */
|
|
- ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */
|
|
- ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */
|
|
- ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, /* u8 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, /* u32 */
|
|
- ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, /* u32 */
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
- /* nest - _A_PROFILE_IRQ_MODERATION */
|
|
- ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_COALESCE_CNT,
|
|
- ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PROFILE_UNSPEC,
|
|
- /* nest, _A_IRQ_MODERATION_* */
|
|
- ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
- __ETHTOOL_A_PROFILE_CNT,
|
|
- ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
- ETHTOOL_A_IRQ_MODERATION_USEC, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_PKTS, /* u32 */
|
|
- ETHTOOL_A_IRQ_MODERATION_COMPS, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
- ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
-};
|
|
-
|
|
-/* PAUSE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PAUSE_AUTONEG, /* u8 */
|
|
- ETHTOOL_A_PAUSE_RX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_TX, /* u8 */
|
|
- ETHTOOL_A_PAUSE_STATS, /* nest - _PAUSE_STAT_* */
|
|
- ETHTOOL_A_PAUSE_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PAUSE_CNT,
|
|
- ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
- ETHTOOL_A_PAUSE_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
- ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
-
|
|
- /* add new constants above here
|
|
- * adjust ETHTOOL_PAUSE_STAT_CNT if adding non-stats!
|
|
- */
|
|
- __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
- ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* EEE */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_EEE_UNSPEC,
|
|
- ETHTOOL_A_EEE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_EEE_MODES_OURS, /* bitset */
|
|
- ETHTOOL_A_EEE_MODES_PEER, /* bitset */
|
|
- ETHTOOL_A_EEE_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_EEE_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_ENABLED, /* u8 */
|
|
- ETHTOOL_A_EEE_TX_LPI_TIMER, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_EEE_CNT,
|
|
- ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
-};
|
|
-
|
|
-/* TSINFO */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TSINFO_UNSPEC,
|
|
- ETHTOOL_A_TSINFO_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_TSINFO_TIMESTAMPING, /* bitset */
|
|
- ETHTOOL_A_TSINFO_TX_TYPES, /* bitset */
|
|
- ETHTOOL_A_TSINFO_RX_FILTERS, /* bitset */
|
|
- ETHTOOL_A_TSINFO_PHC_INDEX, /* u32 */
|
|
- ETHTOOL_A_TSINFO_STATS, /* nest - _A_TSINFO_STAT */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TSINFO_CNT,
|
|
- ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_TS_STAT_UNSPEC,
|
|
-
|
|
- ETHTOOL_A_TS_STAT_TX_PKTS, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_LOST, /* uint */
|
|
- ETHTOOL_A_TS_STAT_TX_ERR, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_TS_STAT_CNT,
|
|
- ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
-
|
|
-};
|
|
-
|
|
-/* PHC VCLOCKS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
- ETHTOOL_A_PHC_VCLOCKS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHC_VCLOCKS_NUM, /* u32 */
|
|
- ETHTOOL_A_PHC_VCLOCKS_INDEX, /* array, s32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
- ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST NOTIFY */
|
|
enum {
|
|
ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC,
|
|
@@ -583,73 +50,11 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
- ETHTOOL_A_CABLE_RESULT_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_RESULT_CODE, /* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */
|
|
- ETHTOOL_A_CABLE_RESULT_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
- ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_CM, /* u32 */
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_SRC, /* u32 ETHTOOL_A_CABLE_INF_SRC_ */
|
|
-
|
|
- __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
- ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED,
|
|
ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED
|
|
};
|
|
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
- ETHTOOL_A_CABLE_NEST_RESULT, /* nest - ETHTOOL_A_CABLE_RESULT_ */
|
|
- ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, /* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */
|
|
- __ETHTOOL_A_CABLE_NEST_CNT,
|
|
- ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
-};
|
|
-
|
|
-/* CABLE TEST TDR */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, /* u32 */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, /* u8 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_CFG, /* nest - *_TDR_CFG_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1
|
|
-};
|
|
-
|
|
/* CABLE TEST TDR NOTIFY */
|
|
|
|
enum {
|
|
@@ -690,163 +95,17 @@ enum {
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */
|
|
- ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, /* nest - of results: */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
- 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)
|
|
-};
|
|
-
|
|
-/* FEC */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_UNSPEC,
|
|
- ETHTOOL_A_FEC_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_FEC_MODES, /* bitset */
|
|
- ETHTOOL_A_FEC_AUTO, /* u8 */
|
|
- ETHTOOL_A_FEC_ACTIVE, /* u32 */
|
|
- ETHTOOL_A_FEC_STATS, /* nest - _A_FEC_STAT */
|
|
-
|
|
- __ETHTOOL_A_FEC_CNT,
|
|
- ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
- ETHTOOL_A_FEC_STAT_PAD,
|
|
-
|
|
- ETHTOOL_A_FEC_STAT_CORRECTED, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_UNCORR, /* array, u64 */
|
|
- ETHTOOL_A_FEC_STAT_CORR_BITS, /* array, u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_FEC_STAT_CNT,
|
|
- ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE EEPROM */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
- ETHTOOL_A_MODULE_EEPROM_HEADER, /* nest - _A_HEADER_* */
|
|
-
|
|
- ETHTOOL_A_MODULE_EEPROM_OFFSET, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_LENGTH, /* u32 */
|
|
- ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */
|
|
- ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */
|
|
-
|
|
- __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
- ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* STATS */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_STATS_UNSPEC,
|
|
- ETHTOOL_A_STATS_PAD,
|
|
- ETHTOOL_A_STATS_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_STATS_GROUPS, /* bitset */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP, /* nest - _A_STATS_GRP_* */
|
|
-
|
|
- ETHTOOL_A_STATS_SRC, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_CNT,
|
|
- ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
ETHTOOL_STATS_ETH_PHY,
|
|
ETHTOOL_STATS_ETH_MAC,
|
|
ETHTOOL_STATS_ETH_CTRL,
|
|
ETHTOOL_STATS_RMON,
|
|
+ ETHTOOL_STATS_PHY,
|
|
|
|
/* add new constants above here */
|
|
__ETHTOOL_STATS_CNT
|
|
};
|
|
|
|
enum {
|
|
- ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
- ETHTOOL_A_STATS_GRP_PAD,
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_ID, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_SS_ID, /* u32 */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_STAT, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_RX, /* nest */
|
|
- ETHTOOL_A_STATS_GRP_HIST_TX, /* nest */
|
|
-
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_LOW, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_BKT_HI, /* u32 */
|
|
- ETHTOOL_A_STATS_GRP_HIST_VAL, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_STATS_GRP_CNT,
|
|
- ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
/* 30.3.2.1.5 aSymbolErrorDuringCarrier */
|
|
ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR,
|
|
|
|
@@ -935,160 +194,20 @@ enum {
|
|
ETHTOOL_A_STATS_RMON_MAX = (__ETHTOOL_A_STATS_RMON_CNT - 1)
|
|
};
|
|
|
|
-/* MODULE */
|
|
-
|
|
enum {
|
|
- ETHTOOL_A_MODULE_UNSPEC,
|
|
- ETHTOOL_A_MODULE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_POWER_MODE_POLICY, /* u8 */
|
|
- ETHTOOL_A_MODULE_POWER_MODE, /* u8 */
|
|
+ /* Basic packet counters if PHY has separate counters from the MAC */
|
|
+ ETHTOOL_A_STATS_PHY_RX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_RX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_RX_ERRORS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_PKTS,
|
|
+ ETHTOOL_A_STATS_PHY_TX_BYTES,
|
|
+ ETHTOOL_A_STATS_PHY_TX_ERRORS,
|
|
|
|
/* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_CNT,
|
|
- ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+ __ETHTOOL_A_STATS_PHY_CNT,
|
|
+ ETHTOOL_A_STATS_PHY_MAX = (__ETHTOOL_A_STATS_PHY_CNT - 1)
|
|
};
|
|
|
|
-/* Power Sourcing Equipment */
|
|
-enum {
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MIN, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_MAX, /* u32 */
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PSE_UNSPEC,
|
|
- ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ADMIN_CONTROL, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_D_STATUS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_CLASS, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_ACTUAL_PW, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_STATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_EXT_SUBSTATE, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT, /* u32 */
|
|
- ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES, /* nest - _C33_PSE_PW_LIMIT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PSE_CNT,
|
|
- ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_RSS_UNSPEC,
|
|
- ETHTOOL_A_RSS_HEADER,
|
|
- ETHTOOL_A_RSS_CONTEXT, /* u32 */
|
|
- ETHTOOL_A_RSS_HFUNC, /* u32 */
|
|
- ETHTOOL_A_RSS_INDIR, /* binary */
|
|
- ETHTOOL_A_RSS_HKEY, /* binary */
|
|
- ETHTOOL_A_RSS_INPUT_XFRM, /* u32 */
|
|
- ETHTOOL_A_RSS_START_CONTEXT, /* u32 */
|
|
-
|
|
- __ETHTOOL_A_RSS_CNT,
|
|
- ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
|
|
-};
|
|
-
|
|
-/* PLCA */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PLCA_UNSPEC,
|
|
- ETHTOOL_A_PLCA_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PLCA_VERSION, /* u16 */
|
|
- ETHTOOL_A_PLCA_ENABLED, /* u8 */
|
|
- ETHTOOL_A_PLCA_STATUS, /* u8 */
|
|
- ETHTOOL_A_PLCA_NODE_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_NODE_ID, /* u32 */
|
|
- ETHTOOL_A_PLCA_TO_TMR, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_CNT, /* u32 */
|
|
- ETHTOOL_A_PLCA_BURST_TMR, /* u32 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PLCA_CNT,
|
|
- ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MAC Merge (802.3) */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_STAT_UNSPEC,
|
|
- ETHTOOL_A_MM_STAT_PAD,
|
|
-
|
|
- /* aMACMergeFrameAssErrorCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameSmdErrorCount */
|
|
- ETHTOOL_A_MM_STAT_SMD_ERRORS, /* u64 */
|
|
- /* aMACMergeFrameAssOkCount */
|
|
- ETHTOOL_A_MM_STAT_REASSEMBLY_OK, /* u64 */
|
|
- /* aMACMergeFragCountRx */
|
|
- ETHTOOL_A_MM_STAT_RX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeFragCountTx */
|
|
- ETHTOOL_A_MM_STAT_TX_FRAG_COUNT, /* u64 */
|
|
- /* aMACMergeHoldCount */
|
|
- ETHTOOL_A_MM_STAT_HOLD_COUNT, /* u64 */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_STAT_CNT,
|
|
- ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MM_UNSPEC,
|
|
- ETHTOOL_A_MM_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MM_PMAC_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_TX_ACTIVE, /* u8 */
|
|
- ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_RX_MIN_FRAG_SIZE, /* u32 */
|
|
- ETHTOOL_A_MM_VERIFY_ENABLED, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_STATUS, /* u8 */
|
|
- ETHTOOL_A_MM_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_MAX_VERIFY_TIME, /* u32 */
|
|
- ETHTOOL_A_MM_STATS, /* nest - _A_MM_STAT_* */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MM_CNT,
|
|
- ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
-};
|
|
-
|
|
-/* MODULE_FW_FLASH */
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_PASSWORD, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS, /* u32 */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG, /* string */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_DONE, /* uint */
|
|
- ETHTOOL_A_MODULE_FW_FLASH_TOTAL, /* uint */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
- ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
-};
|
|
-
|
|
-enum {
|
|
- ETHTOOL_A_PHY_UNSPEC,
|
|
- ETHTOOL_A_PHY_HEADER, /* nest - _A_HEADER_* */
|
|
- ETHTOOL_A_PHY_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_DRVNAME, /* string */
|
|
- ETHTOOL_A_PHY_NAME, /* string */
|
|
- ETHTOOL_A_PHY_UPSTREAM_TYPE, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_INDEX, /* u32 */
|
|
- ETHTOOL_A_PHY_UPSTREAM_SFP_NAME, /* string */
|
|
- ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME, /* string */
|
|
-
|
|
- /* add new constants above here */
|
|
- __ETHTOOL_A_PHY_CNT,
|
|
- ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
-};
|
|
-
|
|
-/* generic netlink info */
|
|
-#define ETHTOOL_GENL_NAME "ethtool"
|
|
-#define ETHTOOL_GENL_VERSION 1
|
|
-
|
|
#define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
|
|
|
|
#endif /* _LINUX_ETHTOOL_NETLINK_H_ */
|
|
--- /dev/null
|
|
+++ b/x86/usr/include/linux/ethtool_netlink_generated.h
|
|
@@ -0,0 +1,821 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/ethtool.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+#define _LINUX_ETHTOOL_NETLINK_GENERATED_H
|
|
+
|
|
+#define ETHTOOL_GENL_NAME "ethtool"
|
|
+#define ETHTOOL_GENL_VERSION 1
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_GENEVE,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE,
|
|
+
|
|
+ /* private: */
|
|
+ __ETHTOOL_UDP_TUNNEL_TYPE_CNT,
|
|
+ ETHTOOL_UDP_TUNNEL_TYPE_MAX = (__ETHTOOL_UDP_TUNNEL_TYPE_CNT - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum ethtool_header_flags - common ethtool header flags
|
|
+ * @ETHTOOL_FLAG_COMPACT_BITSETS: use compact bitsets in reply
|
|
+ * @ETHTOOL_FLAG_OMIT_REPLY: provide optional reply for SET or ACT requests
|
|
+ * @ETHTOOL_FLAG_STATS: request statistics, if supported by the driver
|
|
+ */
|
|
+enum ethtool_header_flags {
|
|
+ ETHTOOL_FLAG_COMPACT_BITSETS = 1,
|
|
+ ETHTOOL_FLAG_OMIT_REPLY = 2,
|
|
+ ETHTOOL_FLAG_STATS = 4,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_MAC,
|
|
+ ETHTOOL_PHY_UPSTREAM_TYPE_PHY,
|
|
+};
|
|
+
|
|
+enum ethtool_tcp_data_split {
|
|
+ ETHTOOL_TCP_DATA_SPLIT_UNKNOWN,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_DISABLED,
|
|
+ ETHTOOL_TCP_DATA_SPLIT_ENABLED,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_HEADER_UNSPEC,
|
|
+ ETHTOOL_A_HEADER_DEV_INDEX,
|
|
+ ETHTOOL_A_HEADER_DEV_NAME,
|
|
+ ETHTOOL_A_HEADER_FLAGS,
|
|
+ ETHTOOL_A_HEADER_PHY_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_HEADER_CNT,
|
|
+ ETHTOOL_A_HEADER_MAX = (__ETHTOOL_A_HEADER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BIT_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BIT_INDEX,
|
|
+ ETHTOOL_A_BITSET_BIT_NAME,
|
|
+ ETHTOOL_A_BITSET_BIT_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BIT_CNT,
|
|
+ ETHTOOL_A_BITSET_BIT_MAX = (__ETHTOOL_A_BITSET_BIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_BITS_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_BITS_BIT,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_BITS_CNT,
|
|
+ ETHTOOL_A_BITSET_BITS_MAX = (__ETHTOOL_A_BITSET_BITS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_BITSET_UNSPEC,
|
|
+ ETHTOOL_A_BITSET_NOMASK,
|
|
+ ETHTOOL_A_BITSET_SIZE,
|
|
+ ETHTOOL_A_BITSET_BITS,
|
|
+ ETHTOOL_A_BITSET_VALUE,
|
|
+ ETHTOOL_A_BITSET_MASK,
|
|
+
|
|
+ __ETHTOOL_A_BITSET_CNT,
|
|
+ ETHTOOL_A_BITSET_MAX = (__ETHTOOL_A_BITSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRING_UNSPEC,
|
|
+ ETHTOOL_A_STRING_INDEX,
|
|
+ ETHTOOL_A_STRING_VALUE,
|
|
+
|
|
+ __ETHTOOL_A_STRING_CNT,
|
|
+ ETHTOOL_A_STRING_MAX = (__ETHTOOL_A_STRING_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGS_STRING,
|
|
+
|
|
+ __ETHTOOL_A_STRINGS_CNT,
|
|
+ ETHTOOL_A_STRINGS_MAX = (__ETHTOOL_A_STRINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSET_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSET_ID,
|
|
+ ETHTOOL_A_STRINGSET_COUNT,
|
|
+ ETHTOOL_A_STRINGSET_STRINGS,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSET_CNT,
|
|
+ ETHTOOL_A_STRINGSET_MAX = (__ETHTOOL_A_STRINGSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRINGSETS_UNSPEC,
|
|
+ ETHTOOL_A_STRINGSETS_STRINGSET,
|
|
+
|
|
+ __ETHTOOL_A_STRINGSETS_CNT,
|
|
+ ETHTOOL_A_STRINGSETS_MAX = (__ETHTOOL_A_STRINGSETS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STRSET_UNSPEC,
|
|
+ ETHTOOL_A_STRSET_HEADER,
|
|
+ ETHTOOL_A_STRSET_STRINGSETS,
|
|
+ ETHTOOL_A_STRSET_COUNTS_ONLY,
|
|
+
|
|
+ __ETHTOOL_A_STRSET_CNT,
|
|
+ ETHTOOL_A_STRSET_MAX = (__ETHTOOL_A_STRSET_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PRIVFLAGS_UNSPEC,
|
|
+ ETHTOOL_A_PRIVFLAGS_HEADER,
|
|
+ ETHTOOL_A_PRIVFLAGS_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_PRIVFLAGS_CNT,
|
|
+ ETHTOOL_A_PRIVFLAGS_MAX = (__ETHTOOL_A_PRIVFLAGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RINGS_UNSPEC,
|
|
+ ETHTOOL_A_RINGS_HEADER,
|
|
+ ETHTOOL_A_RINGS_RX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI_MAX,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO_MAX,
|
|
+ ETHTOOL_A_RINGS_TX_MAX,
|
|
+ ETHTOOL_A_RINGS_RX,
|
|
+ ETHTOOL_A_RINGS_RX_MINI,
|
|
+ ETHTOOL_A_RINGS_RX_JUMBO,
|
|
+ ETHTOOL_A_RINGS_TX,
|
|
+ ETHTOOL_A_RINGS_RX_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
|
|
+ ETHTOOL_A_RINGS_CQE_SIZE,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH,
|
|
+ ETHTOOL_A_RINGS_RX_PUSH,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,
|
|
+ ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH,
|
|
+ ETHTOOL_A_RINGS_HDS_THRESH_MAX,
|
|
+
|
|
+ __ETHTOOL_A_RINGS_CNT,
|
|
+ ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_STAT_UNSPEC,
|
|
+ ETHTOOL_A_MM_STAT_PAD,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_SMD_ERRORS,
|
|
+ ETHTOOL_A_MM_STAT_REASSEMBLY_OK,
|
|
+ ETHTOOL_A_MM_STAT_RX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_TX_FRAG_COUNT,
|
|
+ ETHTOOL_A_MM_STAT_HOLD_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_MM_STAT_CNT,
|
|
+ ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MM_UNSPEC,
|
|
+ ETHTOOL_A_MM_HEADER,
|
|
+ ETHTOOL_A_MM_PMAC_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ENABLED,
|
|
+ ETHTOOL_A_MM_TX_ACTIVE,
|
|
+ ETHTOOL_A_MM_TX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_RX_MIN_FRAG_SIZE,
|
|
+ ETHTOOL_A_MM_VERIFY_ENABLED,
|
|
+ ETHTOOL_A_MM_VERIFY_STATUS,
|
|
+ ETHTOOL_A_MM_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_MAX_VERIFY_TIME,
|
|
+ ETHTOOL_A_MM_STATS,
|
|
+
|
|
+ __ETHTOOL_A_MM_CNT,
|
|
+ ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKINFO_UNSPEC,
|
|
+ ETHTOOL_A_LINKINFO_HEADER,
|
|
+ ETHTOOL_A_LINKINFO_PORT,
|
|
+ ETHTOOL_A_LINKINFO_PHYADDR,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX,
|
|
+ ETHTOOL_A_LINKINFO_TP_MDIX_CTRL,
|
|
+ ETHTOOL_A_LINKINFO_TRANSCEIVER,
|
|
+
|
|
+ __ETHTOOL_A_LINKINFO_CNT,
|
|
+ ETHTOOL_A_LINKINFO_MAX = (__ETHTOOL_A_LINKINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKMODES_UNSPEC,
|
|
+ ETHTOOL_A_LINKMODES_HEADER,
|
|
+ ETHTOOL_A_LINKMODES_AUTONEG,
|
|
+ ETHTOOL_A_LINKMODES_OURS,
|
|
+ ETHTOOL_A_LINKMODES_PEER,
|
|
+ ETHTOOL_A_LINKMODES_SPEED,
|
|
+ ETHTOOL_A_LINKMODES_DUPLEX,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG,
|
|
+ ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE,
|
|
+ ETHTOOL_A_LINKMODES_LANES,
|
|
+ ETHTOOL_A_LINKMODES_RATE_MATCHING,
|
|
+
|
|
+ __ETHTOOL_A_LINKMODES_CNT,
|
|
+ ETHTOOL_A_LINKMODES_MAX = (__ETHTOOL_A_LINKMODES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_LINKSTATE_UNSPEC,
|
|
+ ETHTOOL_A_LINKSTATE_HEADER,
|
|
+ ETHTOOL_A_LINKSTATE_LINK,
|
|
+ ETHTOOL_A_LINKSTATE_SQI,
|
|
+ ETHTOOL_A_LINKSTATE_SQI_MAX,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_STATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT,
|
|
+
|
|
+ __ETHTOOL_A_LINKSTATE_CNT,
|
|
+ ETHTOOL_A_LINKSTATE_MAX = (__ETHTOOL_A_LINKSTATE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_DEBUG_UNSPEC,
|
|
+ ETHTOOL_A_DEBUG_HEADER,
|
|
+ ETHTOOL_A_DEBUG_MSGMASK,
|
|
+
|
|
+ __ETHTOOL_A_DEBUG_CNT,
|
|
+ ETHTOOL_A_DEBUG_MAX = (__ETHTOOL_A_DEBUG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_WOL_UNSPEC,
|
|
+ ETHTOOL_A_WOL_HEADER,
|
|
+ ETHTOOL_A_WOL_MODES,
|
|
+ ETHTOOL_A_WOL_SOPASS,
|
|
+
|
|
+ __ETHTOOL_A_WOL_CNT,
|
|
+ ETHTOOL_A_WOL_MAX = (__ETHTOOL_A_WOL_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEATURES_UNSPEC,
|
|
+ ETHTOOL_A_FEATURES_HEADER,
|
|
+ ETHTOOL_A_FEATURES_HW,
|
|
+ ETHTOOL_A_FEATURES_WANTED,
|
|
+ ETHTOOL_A_FEATURES_ACTIVE,
|
|
+ ETHTOOL_A_FEATURES_NOCHANGE,
|
|
+
|
|
+ __ETHTOOL_A_FEATURES_CNT,
|
|
+ ETHTOOL_A_FEATURES_MAX = (__ETHTOOL_A_FEATURES_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CHANNELS_UNSPEC,
|
|
+ ETHTOOL_A_CHANNELS_HEADER,
|
|
+ ETHTOOL_A_CHANNELS_RX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_TX_MAX,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_MAX,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_MAX,
|
|
+ ETHTOOL_A_CHANNELS_RX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_TX_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_OTHER_COUNT,
|
|
+ ETHTOOL_A_CHANNELS_COMBINED_COUNT,
|
|
+
|
|
+ __ETHTOOL_A_CHANNELS_CNT,
|
|
+ ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_IRQ_MODERATION_UNSPEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_USEC,
|
|
+ ETHTOOL_A_IRQ_MODERATION_PKTS,
|
|
+ ETHTOOL_A_IRQ_MODERATION_COMPS,
|
|
+
|
|
+ __ETHTOOL_A_IRQ_MODERATION_CNT,
|
|
+ ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PROFILE_UNSPEC,
|
|
+ ETHTOOL_A_PROFILE_IRQ_MODERATION,
|
|
+
|
|
+ __ETHTOOL_A_PROFILE_CNT,
|
|
+ ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_COALESCE_UNSPEC,
|
|
+ ETHTOOL_A_COALESCE_HEADER,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_IRQ,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ,
|
|
+ ETHTOOL_A_COALESCE_STATS_BLOCK_USECS,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX,
|
|
+ ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_LOW,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW,
|
|
+ ETHTOOL_A_COALESCE_PKT_RATE_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_USECS_HIGH,
|
|
+ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH,
|
|
+ ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_TX,
|
|
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_RX,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES,
|
|
+ ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS,
|
|
+ ETHTOOL_A_COALESCE_RX_PROFILE,
|
|
+ ETHTOOL_A_COALESCE_TX_PROFILE,
|
|
+
|
|
+ __ETHTOOL_A_COALESCE_CNT,
|
|
+ ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_STAT_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_STAT_PAD,
|
|
+ ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
|
|
+ ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_STAT_CNT,
|
|
+ ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PAUSE_UNSPEC,
|
|
+ ETHTOOL_A_PAUSE_HEADER,
|
|
+ ETHTOOL_A_PAUSE_AUTONEG,
|
|
+ ETHTOOL_A_PAUSE_RX,
|
|
+ ETHTOOL_A_PAUSE_TX,
|
|
+ ETHTOOL_A_PAUSE_STATS,
|
|
+ ETHTOOL_A_PAUSE_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_PAUSE_CNT,
|
|
+ ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_EEE_UNSPEC,
|
|
+ ETHTOOL_A_EEE_HEADER,
|
|
+ ETHTOOL_A_EEE_MODES_OURS,
|
|
+ ETHTOOL_A_EEE_MODES_PEER,
|
|
+ ETHTOOL_A_EEE_ACTIVE,
|
|
+ ETHTOOL_A_EEE_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_ENABLED,
|
|
+ ETHTOOL_A_EEE_TX_LPI_TIMER,
|
|
+
|
|
+ __ETHTOOL_A_EEE_CNT,
|
|
+ ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_STAT_UNSPEC,
|
|
+ ETHTOOL_A_TS_STAT_TX_PKTS,
|
|
+ ETHTOOL_A_TS_STAT_TX_LOST,
|
|
+ ETHTOOL_A_TS_STAT_TX_ERR,
|
|
+ ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED,
|
|
+
|
|
+ __ETHTOOL_A_TS_STAT_CNT,
|
|
+ ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER,
|
|
+
|
|
+ __ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT,
|
|
+ ETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = (__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSINFO_UNSPEC,
|
|
+ ETHTOOL_A_TSINFO_HEADER,
|
|
+ ETHTOOL_A_TSINFO_TIMESTAMPING,
|
|
+ ETHTOOL_A_TSINFO_TX_TYPES,
|
|
+ ETHTOOL_A_TSINFO_RX_FILTERS,
|
|
+ ETHTOOL_A_TSINFO_PHC_INDEX,
|
|
+ ETHTOOL_A_TSINFO_STATS,
|
|
+ ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER,
|
|
+
|
|
+ __ETHTOOL_A_TSINFO_CNT,
|
|
+ ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_RESULT_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_RESULT_PAIR,
|
|
+ ETHTOOL_A_CABLE_RESULT_CODE,
|
|
+ ETHTOOL_A_CABLE_RESULT_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_RESULT_CNT,
|
|
+ ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_CM,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_SRC,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
|
|
+ ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_NEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_NEST_RESULT,
|
|
+ ETHTOOL_A_CABLE_NEST_FAULT_LENGTH,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_NEST_CNT,
|
|
+ ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_HEADER,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_MAX = (__ETHTOOL_A_CABLE_TEST_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_HEADER,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_CFG,
|
|
+
|
|
+ __ETHTOOL_A_CABLE_TEST_TDR_CNT,
|
|
+ ETHTOOL_A_CABLE_TEST_TDR_MAX = (__ETHTOOL_A_CABLE_TEST_TDR_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT,
|
|
+ ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES,
|
|
+ ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY,
|
|
+
|
|
+ __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,
|
|
+
|
|
+ __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,
|
|
+ ETHTOOL_A_TUNNEL_INFO_UDP_PORTS,
|
|
+
|
|
+ __ETHTOOL_A_TUNNEL_INFO_CNT,
|
|
+ ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_STAT_UNSPEC,
|
|
+ ETHTOOL_A_FEC_STAT_PAD,
|
|
+ ETHTOOL_A_FEC_STAT_CORRECTED,
|
|
+ ETHTOOL_A_FEC_STAT_UNCORR,
|
|
+ ETHTOOL_A_FEC_STAT_CORR_BITS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_STAT_CNT,
|
|
+ ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_FEC_UNSPEC,
|
|
+ ETHTOOL_A_FEC_HEADER,
|
|
+ ETHTOOL_A_FEC_MODES,
|
|
+ ETHTOOL_A_FEC_AUTO,
|
|
+ ETHTOOL_A_FEC_ACTIVE,
|
|
+ ETHTOOL_A_FEC_STATS,
|
|
+
|
|
+ __ETHTOOL_A_FEC_CNT,
|
|
+ ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_EEPROM_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_EEPROM_HEADER,
|
|
+ ETHTOOL_A_MODULE_EEPROM_OFFSET,
|
|
+ ETHTOOL_A_MODULE_EEPROM_LENGTH,
|
|
+ ETHTOOL_A_MODULE_EEPROM_PAGE,
|
|
+ ETHTOOL_A_MODULE_EEPROM_BANK,
|
|
+ ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS,
|
|
+ ETHTOOL_A_MODULE_EEPROM_DATA,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_EEPROM_CNT,
|
|
+ ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_GRP_UNSPEC,
|
|
+ ETHTOOL_A_STATS_GRP_PAD,
|
|
+ ETHTOOL_A_STATS_GRP_ID,
|
|
+ ETHTOOL_A_STATS_GRP_SS_ID,
|
|
+ ETHTOOL_A_STATS_GRP_STAT,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_RX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_TX,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_LOW,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_BKT_HI,
|
|
+ ETHTOOL_A_STATS_GRP_HIST_VAL,
|
|
+
|
|
+ __ETHTOOL_A_STATS_GRP_CNT,
|
|
+ ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_STATS_UNSPEC,
|
|
+ ETHTOOL_A_STATS_PAD,
|
|
+ ETHTOOL_A_STATS_HEADER,
|
|
+ ETHTOOL_A_STATS_GROUPS,
|
|
+ ETHTOOL_A_STATS_GRP,
|
|
+ ETHTOOL_A_STATS_SRC,
|
|
+
|
|
+ __ETHTOOL_A_STATS_CNT,
|
|
+ ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_HEADER,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_NUM,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_INDEX,
|
|
+
|
|
+ __ETHTOOL_A_PHC_VCLOCKS_CNT,
|
|
+ ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_HEADER,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE_POLICY,
|
|
+ ETHTOOL_A_MODULE_POWER_MODE,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_CNT,
|
|
+ ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MIN,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_MAX,
|
|
+
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_CNT,
|
|
+ __ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = (__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PSE_UNSPEC,
|
|
+ ETHTOOL_A_PSE_HEADER,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_PODL_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_PODL_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_STATE,
|
|
+ ETHTOOL_A_C33_PSE_ADMIN_CONTROL,
|
|
+ ETHTOOL_A_C33_PSE_PW_D_STATUS,
|
|
+ ETHTOOL_A_C33_PSE_PW_CLASS,
|
|
+ ETHTOOL_A_C33_PSE_ACTUAL_PW,
|
|
+ ETHTOOL_A_C33_PSE_EXT_STATE,
|
|
+ ETHTOOL_A_C33_PSE_EXT_SUBSTATE,
|
|
+ ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT,
|
|
+ ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES,
|
|
+
|
|
+ __ETHTOOL_A_PSE_CNT,
|
|
+ ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_RSS_UNSPEC,
|
|
+ ETHTOOL_A_RSS_HEADER,
|
|
+ ETHTOOL_A_RSS_CONTEXT,
|
|
+ ETHTOOL_A_RSS_HFUNC,
|
|
+ ETHTOOL_A_RSS_INDIR,
|
|
+ ETHTOOL_A_RSS_HKEY,
|
|
+ ETHTOOL_A_RSS_INPUT_XFRM,
|
|
+ ETHTOOL_A_RSS_START_CONTEXT,
|
|
+
|
|
+ __ETHTOOL_A_RSS_CNT,
|
|
+ ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PLCA_UNSPEC,
|
|
+ ETHTOOL_A_PLCA_HEADER,
|
|
+ ETHTOOL_A_PLCA_VERSION,
|
|
+ ETHTOOL_A_PLCA_ENABLED,
|
|
+ ETHTOOL_A_PLCA_STATUS,
|
|
+ ETHTOOL_A_PLCA_NODE_CNT,
|
|
+ ETHTOOL_A_PLCA_NODE_ID,
|
|
+ ETHTOOL_A_PLCA_TO_TMR,
|
|
+ ETHTOOL_A_PLCA_BURST_CNT,
|
|
+ ETHTOOL_A_PLCA_BURST_TMR,
|
|
+
|
|
+ __ETHTOOL_A_PLCA_CNT,
|
|
+ ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_HEADER,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_PASSWORD,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_DONE,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_TOTAL,
|
|
+
|
|
+ __ETHTOOL_A_MODULE_FW_FLASH_CNT,
|
|
+ ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_PHY_UNSPEC,
|
|
+ ETHTOOL_A_PHY_HEADER,
|
|
+ ETHTOOL_A_PHY_INDEX,
|
|
+ ETHTOOL_A_PHY_DRVNAME,
|
|
+ ETHTOOL_A_PHY_NAME,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_TYPE,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_INDEX,
|
|
+ ETHTOOL_A_PHY_UPSTREAM_SFP_NAME,
|
|
+ ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME,
|
|
+
|
|
+ __ETHTOOL_A_PHY_CNT,
|
|
+ ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_A_TSCONFIG_UNSPEC,
|
|
+ ETHTOOL_A_TSCONFIG_HEADER,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER,
|
|
+ ETHTOOL_A_TSCONFIG_TX_TYPES,
|
|
+ ETHTOOL_A_TSCONFIG_RX_FILTERS,
|
|
+ ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS,
|
|
+
|
|
+ __ETHTOOL_A_TSCONFIG_CNT,
|
|
+ ETHTOOL_A_TSCONFIG_MAX = (__ETHTOOL_A_TSCONFIG_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_USER_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET,
|
|
+ ETHTOOL_MSG_LINKINFO_SET,
|
|
+ ETHTOOL_MSG_LINKMODES_GET,
|
|
+ ETHTOOL_MSG_LINKMODES_SET,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET,
|
|
+ ETHTOOL_MSG_DEBUG_GET,
|
|
+ ETHTOOL_MSG_DEBUG_SET,
|
|
+ ETHTOOL_MSG_WOL_GET,
|
|
+ ETHTOOL_MSG_WOL_SET,
|
|
+ ETHTOOL_MSG_FEATURES_GET,
|
|
+ ETHTOOL_MSG_FEATURES_SET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_SET,
|
|
+ ETHTOOL_MSG_RINGS_GET,
|
|
+ ETHTOOL_MSG_RINGS_SET,
|
|
+ ETHTOOL_MSG_CHANNELS_GET,
|
|
+ ETHTOOL_MSG_CHANNELS_SET,
|
|
+ ETHTOOL_MSG_COALESCE_GET,
|
|
+ ETHTOOL_MSG_COALESCE_SET,
|
|
+ ETHTOOL_MSG_PAUSE_GET,
|
|
+ ETHTOOL_MSG_PAUSE_SET,
|
|
+ ETHTOOL_MSG_EEE_GET,
|
|
+ ETHTOOL_MSG_EEE_SET,
|
|
+ ETHTOOL_MSG_TSINFO_GET,
|
|
+ ETHTOOL_MSG_CABLE_TEST_ACT,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET,
|
|
+ ETHTOOL_MSG_FEC_GET,
|
|
+ ETHTOOL_MSG_FEC_SET,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET,
|
|
+ ETHTOOL_MSG_STATS_GET,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET,
|
|
+ ETHTOOL_MSG_MODULE_GET,
|
|
+ ETHTOOL_MSG_MODULE_SET,
|
|
+ ETHTOOL_MSG_PSE_GET,
|
|
+ ETHTOOL_MSG_PSE_SET,
|
|
+ ETHTOOL_MSG_RSS_GET,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_SET_CFG,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS,
|
|
+ ETHTOOL_MSG_MM_GET,
|
|
+ ETHTOOL_MSG_MM_SET,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
|
|
+ ETHTOOL_MSG_PHY_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET,
|
|
+
|
|
+ __ETHTOOL_MSG_USER_CNT,
|
|
+ ETHTOOL_MSG_USER_MAX = (__ETHTOOL_MSG_USER_CNT - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ ETHTOOL_MSG_KERNEL_NONE = 0,
|
|
+ ETHTOOL_MSG_STRSET_GET_REPLY = 1,
|
|
+ ETHTOOL_MSG_LINKINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKINFO_NTF,
|
|
+ ETHTOOL_MSG_LINKMODES_GET_REPLY,
|
|
+ ETHTOOL_MSG_LINKMODES_NTF,
|
|
+ ETHTOOL_MSG_LINKSTATE_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_GET_REPLY,
|
|
+ ETHTOOL_MSG_DEBUG_NTF,
|
|
+ ETHTOOL_MSG_WOL_GET_REPLY,
|
|
+ ETHTOOL_MSG_WOL_NTF,
|
|
+ ETHTOOL_MSG_FEATURES_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_SET_REPLY,
|
|
+ ETHTOOL_MSG_FEATURES_NTF,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PRIVFLAGS_NTF,
|
|
+ ETHTOOL_MSG_RINGS_GET_REPLY,
|
|
+ ETHTOOL_MSG_RINGS_NTF,
|
|
+ ETHTOOL_MSG_CHANNELS_GET_REPLY,
|
|
+ ETHTOOL_MSG_CHANNELS_NTF,
|
|
+ ETHTOOL_MSG_COALESCE_GET_REPLY,
|
|
+ ETHTOOL_MSG_COALESCE_NTF,
|
|
+ ETHTOOL_MSG_PAUSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_PAUSE_NTF,
|
|
+ ETHTOOL_MSG_EEE_GET_REPLY,
|
|
+ ETHTOOL_MSG_EEE_NTF,
|
|
+ ETHTOOL_MSG_TSINFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_CABLE_TEST_NTF,
|
|
+ ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
|
|
+ ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_GET_REPLY,
|
|
+ ETHTOOL_MSG_FEC_NTF,
|
|
+ ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
|
|
+ ETHTOOL_MSG_STATS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_GET_REPLY,
|
|
+ ETHTOOL_MSG_MODULE_NTF,
|
|
+ ETHTOOL_MSG_PSE_GET_REPLY,
|
|
+ ETHTOOL_MSG_RSS_GET_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
|
|
+ ETHTOOL_MSG_PLCA_NTF,
|
|
+ ETHTOOL_MSG_MM_GET_REPLY,
|
|
+ ETHTOOL_MSG_MM_NTF,
|
|
+ ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
|
|
+ ETHTOOL_MSG_PHY_GET_REPLY,
|
|
+ ETHTOOL_MSG_PHY_NTF,
|
|
+ ETHTOOL_MSG_TSCONFIG_GET_REPLY,
|
|
+ ETHTOOL_MSG_TSCONFIG_SET_REPLY,
|
|
+
|
|
+ __ETHTOOL_MSG_KERNEL_CNT,
|
|
+ ETHTOOL_MSG_KERNEL_MAX = (__ETHTOOL_MSG_KERNEL_CNT - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_ETHTOOL_NETLINK_GENERATED_H */
|
|
--- a/x86/usr/include/linux/fs.h
|
|
+++ b/x86/usr/include/linux/fs.h
|
|
@@ -36,6 +36,15 @@
|
|
#define BLOCK_SIZE_BITS 10
|
|
#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
|
|
|
|
+/* flags for integrity meta */
|
|
+#define IO_INTEGRITY_CHK_GUARD (1U << 0) /* enforce guard check */
|
|
+#define IO_INTEGRITY_CHK_REFTAG (1U << 1) /* enforce ref check */
|
|
+#define IO_INTEGRITY_CHK_APPTAG (1U << 2) /* enforce app check */
|
|
+
|
|
+#define IO_INTEGRITY_VALID_FLAGS (IO_INTEGRITY_CHK_GUARD | \
|
|
+ IO_INTEGRITY_CHK_REFTAG | \
|
|
+ IO_INTEGRITY_CHK_APPTAG)
|
|
+
|
|
#define SEEK_SET 0 /* seek relative to beginning of file */
|
|
#define SEEK_CUR 1 /* seek relative to current file position */
|
|
#define SEEK_END 2 /* seek relative to end of file */
|
|
--- a/x86/usr/include/linux/hidraw.h
|
|
+++ b/x86/usr/include/linux/hidraw.h
|
|
@@ -48,6 +48,8 @@ struct hidraw_devinfo {
|
|
#define HIDIOCGOUTPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0C, len)
|
|
#define HIDIOCREVOKE _IOW('H', 0x0D, int) /* Revoke device access */
|
|
|
|
+#define HIDIOCTL_LAST _IOC_NR(HIDIOCREVOKE)
|
|
+
|
|
#define HIDRAW_FIRST_MINOR 0
|
|
#define HIDRAW_MAX_DEVICES 64
|
|
/* number of reports to buffer */
|
|
--- a/x86/usr/include/linux/if_link.h
|
|
+++ b/x86/usr/include/linux/if_link.h
|
|
@@ -377,6 +377,7 @@ enum {
|
|
IFLA_GSO_IPV4_MAX_SIZE,
|
|
IFLA_GRO_IPV4_MAX_SIZE,
|
|
IFLA_DPLL_PIN,
|
|
+ IFLA_MAX_PACING_OFFLOAD_HORIZON,
|
|
__IFLA_MAX
|
|
};
|
|
|
|
--- a/x86/usr/include/linux/input-event-codes.h
|
|
+++ b/x86/usr/include/linux/input-event-codes.h
|
|
@@ -519,6 +519,7 @@
|
|
#define KEY_NOTIFICATION_CENTER 0x1bc /* Show/hide the notification center */
|
|
#define KEY_PICKUP_PHONE 0x1bd /* Answer incoming call */
|
|
#define KEY_HANGUP_PHONE 0x1be /* Decline incoming call */
|
|
+#define KEY_LINK_PHONE 0x1bf /* AL Phone Syncing */
|
|
|
|
#define KEY_DEL_EOL 0x1c0
|
|
#define KEY_DEL_EOS 0x1c1
|
|
--- a/x86/usr/include/linux/io_uring.h
|
|
+++ b/x86/usr/include/linux/io_uring.h
|
|
@@ -98,6 +98,10 @@ struct io_uring_sqe {
|
|
__u64 addr3;
|
|
__u64 __pad2[1];
|
|
};
|
|
+ struct {
|
|
+ __u64 attr_ptr; /* pointer to attribute information */
|
|
+ __u64 attr_type_mask; /* bit mask of attributes */
|
|
+ };
|
|
__u64 optval;
|
|
/*
|
|
* If the ring is initialized with IORING_SETUP_SQE128, then
|
|
@@ -107,6 +111,18 @@ struct io_uring_sqe {
|
|
};
|
|
};
|
|
|
|
+/* sqe->attr_type_mask flags */
|
|
+#define IORING_RW_ATTR_FLAG_PI (1U << 0)
|
|
+/* PI attribute information */
|
|
+struct io_uring_attr_pi {
|
|
+ __u16 flags;
|
|
+ __u16 app_tag;
|
|
+ __u32 len;
|
|
+ __u64 addr;
|
|
+ __u64 seed;
|
|
+ __u64 rsvd;
|
|
+};
|
|
+
|
|
/*
|
|
* If sqe->file_index is set to this for opcodes that instantiate a new
|
|
* direct descriptor (like openat/openat2/accept), then io_uring will allocate
|
|
@@ -554,6 +570,7 @@ struct io_uring_params {
|
|
#define IORING_FEAT_REG_REG_RING (1U << 13)
|
|
#define IORING_FEAT_RECVSEND_BUNDLE (1U << 14)
|
|
#define IORING_FEAT_MIN_TIMEOUT (1U << 15)
|
|
+#define IORING_FEAT_RW_ATTR (1U << 16)
|
|
|
|
/*
|
|
* io_uring_register(2) opcodes and arguments
|
|
--- a/x86/usr/include/linux/iommufd.h
|
|
+++ b/x86/usr/include/linux/iommufd.h
|
|
@@ -737,6 +737,7 @@ enum iommu_hwpt_pgfault_perm {
|
|
* @pasid: Process Address Space ID
|
|
* @grpid: Page Request Group Index
|
|
* @perm: Combination of enum iommu_hwpt_pgfault_perm
|
|
+ * @__reserved: Must be 0.
|
|
* @addr: Fault address
|
|
* @length: a hint of how much data the requestor is expecting to fetch. For
|
|
* example, if the PRI initiator knows it is going to do a 10MB
|
|
@@ -752,7 +753,8 @@ struct iommu_hwpt_pgfault {
|
|
__u32 pasid;
|
|
__u32 grpid;
|
|
__u32 perm;
|
|
- __u64 addr;
|
|
+ __u32 __reserved;
|
|
+ __aligned_u64 addr;
|
|
__u32 length;
|
|
__u32 cookie;
|
|
};
|
|
--- a/x86/usr/include/linux/kfd_ioctl.h
|
|
+++ b/x86/usr/include/linux/kfd_ioctl.h
|
|
@@ -62,6 +62,8 @@ struct kfd_ioctl_get_version_args {
|
|
#define KFD_MAX_QUEUE_PERCENTAGE 100
|
|
#define KFD_MAX_QUEUE_PRIORITY 15
|
|
|
|
+#define KFD_MIN_QUEUE_RING_SIZE 1024
|
|
+
|
|
struct kfd_ioctl_create_queue_args {
|
|
__u64 ring_base_address; /* to KFD */
|
|
__u64 write_pointer_address; /* from KFD */
|
|
--- a/x86/usr/include/linux/kvm.h
|
|
+++ b/x86/usr/include/linux/kvm.h
|
|
@@ -178,6 +178,7 @@ struct kvm_xen_exit {
|
|
#define KVM_EXIT_NOTIFY 37
|
|
#define KVM_EXIT_LOONGARCH_IOCSR 38
|
|
#define KVM_EXIT_MEMORY_FAULT 39
|
|
+#define KVM_EXIT_TDX 40
|
|
|
|
/* For KVM_EXIT_INTERNAL_ERROR */
|
|
/* Emulate instruction failed. */
|
|
@@ -369,6 +370,7 @@ struct kvm_run {
|
|
#define KVM_SYSTEM_EVENT_WAKEUP 4
|
|
#define KVM_SYSTEM_EVENT_SUSPEND 5
|
|
#define KVM_SYSTEM_EVENT_SEV_TERM 6
|
|
+#define KVM_SYSTEM_EVENT_TDX_FATAL 7
|
|
__u32 type;
|
|
__u32 ndata;
|
|
union {
|
|
@@ -438,6 +440,33 @@ struct kvm_run {
|
|
__u64 gpa;
|
|
__u64 size;
|
|
} memory_fault;
|
|
+#ifndef __GENKSYMS__
|
|
+ /* KVM_EXIT_TDX */
|
|
+ struct {
|
|
+ __u64 flags;
|
|
+ __u64 nr;
|
|
+ union {
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 data[5];
|
|
+ } unknown;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 gpa;
|
|
+ __u64 size;
|
|
+ } get_quote;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 leaf;
|
|
+ __u64 r11, r12, r13, r14;
|
|
+ } get_tdvmcall_info;
|
|
+ struct {
|
|
+ __u64 ret;
|
|
+ __u64 vector;
|
|
+ } setup_event_notify;
|
|
+ };
|
|
+ } tdx;
|
|
+#endif
|
|
/* Fix the size of the union. */
|
|
char padding[256];
|
|
};
|
|
@@ -1150,7 +1179,15 @@ enum kvm_device_type {
|
|
#define KVM_DEV_TYPE_ARM_PV_TIME KVM_DEV_TYPE_ARM_PV_TIME
|
|
KVM_DEV_TYPE_RISCV_AIA,
|
|
#define KVM_DEV_TYPE_RISCV_AIA KVM_DEV_TYPE_RISCV_AIA
|
|
+ KVM_DEV_TYPE_LOONGARCH_IPI,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_IPI KVM_DEV_TYPE_LOONGARCH_IPI
|
|
+ KVM_DEV_TYPE_LOONGARCH_EIOINTC,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_EIOINTC KVM_DEV_TYPE_LOONGARCH_EIOINTC
|
|
+ KVM_DEV_TYPE_LOONGARCH_PCHPIC,
|
|
+#define KVM_DEV_TYPE_LOONGARCH_PCHPIC KVM_DEV_TYPE_LOONGARCH_PCHPIC
|
|
+
|
|
KVM_DEV_TYPE_MAX,
|
|
+
|
|
};
|
|
|
|
struct kvm_vfio_spapr_tce {
|
|
--- a/x86/usr/include/linux/landlock.h
|
|
+++ b/x86/usr/include/linux/landlock.h
|
|
@@ -57,9 +57,11 @@ struct landlock_ruleset_attr {
|
|
*
|
|
* - %LANDLOCK_CREATE_RULESET_VERSION: Get the highest supported Landlock ABI
|
|
* version.
|
|
+ * - %LANDLOCK_CREATE_RULESET_ERRATA: Get a bitmask of fixed issues.
|
|
*/
|
|
/* clang-format off */
|
|
#define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
|
|
+#define LANDLOCK_CREATE_RULESET_ERRATA (1U << 1)
|
|
/* clang-format on */
|
|
|
|
/**
|
|
--- /dev/null
|
|
+++ b/x86/usr/include/linux/livepatch.h
|
|
@@ -0,0 +1,15 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+
|
|
+/*
|
|
+ * livepatch.h - Kernel Live Patching Core
|
|
+ *
|
|
+ * Copyright (C) 2016 Josh Poimboeuf <jpoimboe@redhat.com>
|
|
+ */
|
|
+
|
|
+#ifndef _LIVEPATCH_H
|
|
+#define _LIVEPATCH_H
|
|
+
|
|
+#define KLP_RELA_PREFIX ".klp.rela."
|
|
+#define KLP_SYM_PREFIX ".klp.sym."
|
|
+
|
|
+#endif /* _LIVEPATCH_H */
|
|
--- /dev/null
|
|
+++ b/x86/usr/include/linux/mshv.h
|
|
@@ -0,0 +1,291 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+/*
|
|
+ * Userspace interfaces for /dev/mshv* devices and derived fds
|
|
+ *
|
|
+ * This file is divided into sections containing data structures and IOCTLs for
|
|
+ * a particular set of related devices or derived file descriptors.
|
|
+ *
|
|
+ * The IOCTL definitions are at the end of each section. They are grouped by
|
|
+ * device/fd, so that new IOCTLs can easily be added with a monotonically
|
|
+ * increasing number.
|
|
+ */
|
|
+#ifndef _LINUX_MSHV_H
|
|
+#define _LINUX_MSHV_H
|
|
+
|
|
+#include <linux/types.h>
|
|
+
|
|
+#define MSHV_IOCTL 0xB8
|
|
+
|
|
+/*
|
|
+ *******************************************
|
|
+ * Entry point to main VMM APIs: /dev/mshv *
|
|
+ *******************************************
|
|
+ */
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_BIT_LAPIC,
|
|
+ MSHV_PT_BIT_X2APIC,
|
|
+ MSHV_PT_BIT_GPA_SUPER_PAGES,
|
|
+ MSHV_PT_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_PT_FLAGS_MASK ((1 << MSHV_PT_BIT_COUNT) - 1)
|
|
+
|
|
+enum {
|
|
+ MSHV_PT_ISOLATION_NONE,
|
|
+ MSHV_PT_ISOLATION_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_create_partition - arguments for MSHV_CREATE_PARTITION
|
|
+ * @pt_flags: Bitmask of 1 << MSHV_PT_BIT_*
|
|
+ * @pt_isolation: MSHV_PT_ISOLATION_*
|
|
+ *
|
|
+ * Returns a file descriptor to act as a handle to a guest partition.
|
|
+ * At this point the partition is not yet initialized in the hypervisor.
|
|
+ * Some operations must be done with the partition in this state, e.g. setting
|
|
+ * so-called "early" partition properties. The partition can then be
|
|
+ * initialized with MSHV_INITIALIZE_PARTITION.
|
|
+ */
|
|
+struct mshv_create_partition {
|
|
+ __u64 pt_flags;
|
|
+ __u64 pt_isolation;
|
|
+};
|
|
+
|
|
+/* /dev/mshv */
|
|
+#define MSHV_CREATE_PARTITION _IOW(MSHV_IOCTL, 0x00, struct mshv_create_partition)
|
|
+
|
|
+/*
|
|
+ ************************
|
|
+ * Child partition APIs *
|
|
+ ************************
|
|
+ */
|
|
+
|
|
+struct mshv_create_vp {
|
|
+ __u32 vp_index;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_SET_MEM_BIT_WRITABLE,
|
|
+ MSHV_SET_MEM_BIT_EXECUTABLE,
|
|
+ MSHV_SET_MEM_BIT_UNMAP,
|
|
+ MSHV_SET_MEM_BIT_COUNT
|
|
+};
|
|
+
|
|
+#define MSHV_SET_MEM_FLAGS_MASK ((1 << MSHV_SET_MEM_BIT_COUNT) - 1)
|
|
+
|
|
+/* The hypervisor's "native" page size */
|
|
+#define MSHV_HV_PAGE_SIZE 0x1000
|
|
+
|
|
+/**
|
|
+ * struct mshv_user_mem_region - arguments for MSHV_SET_GUEST_MEMORY
|
|
+ * @size: Size of the memory region (bytes). Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @guest_pfn: Base guest page number to map
|
|
+ * @userspace_addr: Base address of userspace memory. Must be aligned to
|
|
+ * MSHV_HV_PAGE_SIZE
|
|
+ * @flags: Bitmask of 1 << MSHV_SET_MEM_BIT_*. If (1 << MSHV_SET_MEM_BIT_UNMAP)
|
|
+ * is set, ignore other bits.
|
|
+ * @rsvd: MBZ
|
|
+ *
|
|
+ * Map or unmap a region of userspace memory to Guest Physical Addresses (GPA).
|
|
+ * Mappings can't overlap in GPA space or userspace.
|
|
+ * To unmap, these fields must match an existing mapping.
|
|
+ */
|
|
+struct mshv_user_mem_region {
|
|
+ __u64 size;
|
|
+ __u64 guest_pfn;
|
|
+ __u64 userspace_addr;
|
|
+ __u8 flags;
|
|
+ __u8 rsvd[7];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IRQFD_BIT_DEASSIGN,
|
|
+ MSHV_IRQFD_BIT_RESAMPLE,
|
|
+ MSHV_IRQFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IRQFD_FLAGS_MASK ((1 << MSHV_IRQFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_irqfd {
|
|
+ __s32 fd;
|
|
+ __s32 resamplefd;
|
|
+ __u32 gsi;
|
|
+ __u32 flags;
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_IOEVENTFD_BIT_DATAMATCH,
|
|
+ MSHV_IOEVENTFD_BIT_PIO,
|
|
+ MSHV_IOEVENTFD_BIT_DEASSIGN,
|
|
+ MSHV_IOEVENTFD_BIT_COUNT,
|
|
+};
|
|
+
|
|
+#define MSHV_IOEVENTFD_FLAGS_MASK ((1 << MSHV_IOEVENTFD_BIT_COUNT) - 1)
|
|
+
|
|
+struct mshv_user_ioeventfd {
|
|
+ __u64 datamatch;
|
|
+ __u64 addr; /* legal pio/mmio address */
|
|
+ __u32 len; /* 1, 2, 4, or 8 bytes */
|
|
+ __s32 fd;
|
|
+ __u32 flags;
|
|
+ __u8 rsvd[4];
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_entry {
|
|
+ __u32 gsi;
|
|
+ __u32 address_lo;
|
|
+ __u32 address_hi;
|
|
+ __u32 data;
|
|
+};
|
|
+
|
|
+struct mshv_user_irq_table {
|
|
+ __u32 nr;
|
|
+ __u32 rsvd; /* MBZ */
|
|
+ struct mshv_user_irq_entry entries[];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_TYPE_ACCESSED,
|
|
+ MSHV_GPAP_ACCESS_TYPE_DIRTY,
|
|
+ MSHV_GPAP_ACCESS_TYPE_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_GPAP_ACCESS_OP_NOOP,
|
|
+ MSHV_GPAP_ACCESS_OP_CLEAR,
|
|
+ MSHV_GPAP_ACCESS_OP_SET,
|
|
+ MSHV_GPAP_ACCESS_OP_COUNT /* Count of enum members */
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_gpap_access_bitmap - arguments for MSHV_GET_GPAP_ACCESS_BITMAP
|
|
+ * @access_type: MSHV_GPAP_ACCESS_TYPE_* - The type of access to record in the
|
|
+ * bitmap
|
|
+ * @access_op: MSHV_GPAP_ACCESS_OP_* - Allows an optional clear or set of all
|
|
+ * the access states in the range, after retrieving the current
|
|
+ * states.
|
|
+ * @rsvd: MBZ
|
|
+ * @page_count: Number of pages
|
|
+ * @gpap_base: Base gpa page number
|
|
+ * @bitmap_ptr: Output buffer for bitmap, at least (page_count + 7) / 8 bytes
|
|
+ *
|
|
+ * Retrieve a bitmap of either ACCESSED or DIRTY bits for a given range of guest
|
|
+ * memory, and optionally clear or set the bits.
|
|
+ */
|
|
+struct mshv_gpap_access_bitmap {
|
|
+ __u8 access_type;
|
|
+ __u8 access_op;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 page_count;
|
|
+ __u64 gpap_base;
|
|
+ __u64 bitmap_ptr;
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_root_hvcall - arguments for MSHV_ROOT_HVCALL
|
|
+ * @code: Hypercall code (HVCALL_*)
|
|
+ * @reps: in: Rep count ('repcount')
|
|
+ * out: Reps completed ('repcomp'). MBZ unless rep hvcall
|
|
+ * @in_sz: Size of input incl rep data. <= MSHV_HV_PAGE_SIZE
|
|
+ * @out_sz: Size of output buffer. <= MSHV_HV_PAGE_SIZE. MBZ if out_ptr is 0
|
|
+ * @status: in: MBZ
|
|
+ * out: HV_STATUS_* from hypercall
|
|
+ * @rsvd: MBZ
|
|
+ * @in_ptr: Input data buffer (struct hv_input_*). If used with partition or
|
|
+ * vp fd, partition id field is populated by kernel.
|
|
+ * @out_ptr: Output data buffer (optional)
|
|
+ */
|
|
+struct mshv_root_hvcall {
|
|
+ __u16 code;
|
|
+ __u16 reps;
|
|
+ __u16 in_sz;
|
|
+ __u16 out_sz;
|
|
+ __u16 status;
|
|
+ __u8 rsvd[6];
|
|
+ __u64 in_ptr;
|
|
+ __u64 out_ptr;
|
|
+};
|
|
+
|
|
+/* Partition fds created with MSHV_CREATE_PARTITION */
|
|
+#define MSHV_INITIALIZE_PARTITION _IO(MSHV_IOCTL, 0x00)
|
|
+#define MSHV_CREATE_VP _IOW(MSHV_IOCTL, 0x01, struct mshv_create_vp)
|
|
+#define MSHV_SET_GUEST_MEMORY _IOW(MSHV_IOCTL, 0x02, struct mshv_user_mem_region)
|
|
+#define MSHV_IRQFD _IOW(MSHV_IOCTL, 0x03, struct mshv_user_irqfd)
|
|
+#define MSHV_IOEVENTFD _IOW(MSHV_IOCTL, 0x04, struct mshv_user_ioeventfd)
|
|
+#define MSHV_SET_MSI_ROUTING _IOW(MSHV_IOCTL, 0x05, struct mshv_user_irq_table)
|
|
+#define MSHV_GET_GPAP_ACCESS_BITMAP _IOWR(MSHV_IOCTL, 0x06, struct mshv_gpap_access_bitmap)
|
|
+/* Generic hypercall */
|
|
+#define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+
|
|
+/*
|
|
+ ********************************
|
|
+ * VP APIs for child partitions *
|
|
+ ********************************
|
|
+ */
|
|
+
|
|
+#define MSHV_RUN_VP_BUF_SZ 256
|
|
+
|
|
+/*
|
|
+ * VP state pages may be mapped to userspace via mmap().
|
|
+ * To specify which state page, use MSHV_VP_MMAP_OFFSET_ values multiplied by
|
|
+ * the system page size.
|
|
+ * e.g.
|
|
+ * long page_size = sysconf(_SC_PAGE_SIZE);
|
|
+ * void *reg_page = mmap(NULL, MSHV_HV_PAGE_SIZE, PROT_READ|PROT_WRITE,
|
|
+ * MAP_SHARED, vp_fd,
|
|
+ * MSHV_VP_MMAP_OFFSET_REGISTERS * page_size);
|
|
+ */
|
|
+enum {
|
|
+ MSHV_VP_MMAP_OFFSET_REGISTERS,
|
|
+ MSHV_VP_MMAP_OFFSET_INTERCEPT_MESSAGE,
|
|
+ MSHV_VP_MMAP_OFFSET_GHCB,
|
|
+ MSHV_VP_MMAP_OFFSET_COUNT
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_run_vp - argument for MSHV_RUN_VP
|
|
+ * @msg_buf: On success, the intercept message is copied here. It can be
|
|
+ * interpreted using the relevant hypervisor definitions.
|
|
+ */
|
|
+struct mshv_run_vp {
|
|
+ __u8 msg_buf[MSHV_RUN_VP_BUF_SZ];
|
|
+};
|
|
+
|
|
+enum {
|
|
+ MSHV_VP_STATE_LAPIC, /* Local interrupt controller state (either arch) */
|
|
+ MSHV_VP_STATE_XSAVE, /* XSAVE data in compacted form (x86_64) */
|
|
+ MSHV_VP_STATE_SIMP,
|
|
+ MSHV_VP_STATE_SIEFP,
|
|
+ MSHV_VP_STATE_SYNTHETIC_TIMERS,
|
|
+ MSHV_VP_STATE_COUNT,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * struct mshv_get_set_vp_state - arguments for MSHV_[GET,SET]_VP_STATE
|
|
+ * @type: MSHV_VP_STATE_*
|
|
+ * @rsvd: MBZ
|
|
+ * @buf_sz: in: 4k page-aligned size of buffer
|
|
+ * out: Actual size of data (on EINVAL, check this to see if buffer
|
|
+ * was too small)
|
|
+ * @buf_ptr: 4k page-aligned data buffer
|
|
+ */
|
|
+struct mshv_get_set_vp_state {
|
|
+ __u8 type;
|
|
+ __u8 rsvd[3];
|
|
+ __u32 buf_sz;
|
|
+ __u64 buf_ptr;
|
|
+};
|
|
+
|
|
+/* VP fds created with MSHV_CREATE_VP */
|
|
+#define MSHV_RUN_VP _IOR(MSHV_IOCTL, 0x00, struct mshv_run_vp)
|
|
+#define MSHV_GET_VP_STATE _IOWR(MSHV_IOCTL, 0x01, struct mshv_get_set_vp_state)
|
|
+#define MSHV_SET_VP_STATE _IOWR(MSHV_IOCTL, 0x02, struct mshv_get_set_vp_state)
|
|
+/*
|
|
+ * Generic hypercall
|
|
+ * Defined above in partition IOCTLs, avoid redefining it here
|
|
+ * #define MSHV_ROOT_HVCALL _IOWR(MSHV_IOCTL, 0x07, struct mshv_root_hvcall)
|
|
+ */
|
|
+
|
|
+#endif
|
|
--- /dev/null
|
|
+++ b/x86/usr/include/linux/net_shaper.h
|
|
@@ -0,0 +1,95 @@
|
|
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
+/* Do not edit directly, auto-generated from: */
|
|
+/* Documentation/netlink/specs/net_shaper.yaml */
|
|
+/* YNL-GEN uapi header */
|
|
+
|
|
+#ifndef _LINUX_NET_SHAPER_H
|
|
+#define _LINUX_NET_SHAPER_H
|
|
+
|
|
+#define NET_SHAPER_FAMILY_NAME "net-shaper"
|
|
+#define NET_SHAPER_FAMILY_VERSION 1
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_scope - Defines the shaper @id interpretation.
|
|
+ * @NET_SHAPER_SCOPE_UNSPEC: The scope is not specified.
|
|
+ * @NET_SHAPER_SCOPE_NETDEV: The main shaper for the given network device.
|
|
+ * @NET_SHAPER_SCOPE_QUEUE: The shaper is attached to the given device queue,
|
|
+ * the @id represents the queue number.
|
|
+ * @NET_SHAPER_SCOPE_NODE: The shaper allows grouping of queues or other node
|
|
+ * shapers; can be nested in either @netdev shapers or other @node shapers,
|
|
+ * allowing placement in any location of the scheduling tree, except leaves
|
|
+ * and root.
|
|
+ */
|
|
+enum net_shaper_scope {
|
|
+ NET_SHAPER_SCOPE_UNSPEC,
|
|
+ NET_SHAPER_SCOPE_NETDEV,
|
|
+ NET_SHAPER_SCOPE_QUEUE,
|
|
+ NET_SHAPER_SCOPE_NODE,
|
|
+
|
|
+ /* private: */
|
|
+ __NET_SHAPER_SCOPE_MAX,
|
|
+ NET_SHAPER_SCOPE_MAX = (__NET_SHAPER_SCOPE_MAX - 1)
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum net_shaper_metric - Different metric supported by the shaper.
|
|
+ * @NET_SHAPER_METRIC_BPS: Shaper operates on a bits per second basis.
|
|
+ * @NET_SHAPER_METRIC_PPS: Shaper operates on a packets per second basis.
|
|
+ */
|
|
+enum net_shaper_metric {
|
|
+ NET_SHAPER_METRIC_BPS,
|
|
+ NET_SHAPER_METRIC_PPS,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE = 1,
|
|
+ NET_SHAPER_A_METRIC,
|
|
+ NET_SHAPER_A_BW_MIN,
|
|
+ NET_SHAPER_A_BW_MAX,
|
|
+ NET_SHAPER_A_BURST,
|
|
+ NET_SHAPER_A_PRIORITY,
|
|
+ NET_SHAPER_A_WEIGHT,
|
|
+ NET_SHAPER_A_IFINDEX,
|
|
+ NET_SHAPER_A_PARENT,
|
|
+ NET_SHAPER_A_LEAVES,
|
|
+
|
|
+ __NET_SHAPER_A_MAX,
|
|
+ NET_SHAPER_A_MAX = (__NET_SHAPER_A_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_HANDLE_SCOPE = 1,
|
|
+ NET_SHAPER_A_HANDLE_ID,
|
|
+
|
|
+ __NET_SHAPER_A_HANDLE_MAX,
|
|
+ NET_SHAPER_A_HANDLE_MAX = (__NET_SHAPER_A_HANDLE_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_A_CAPS_IFINDEX = 1,
|
|
+ NET_SHAPER_A_CAPS_SCOPE,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_BPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_METRIC_PPS,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_NESTING,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MIN,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BW_MAX,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_BURST,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_PRIORITY,
|
|
+ NET_SHAPER_A_CAPS_SUPPORT_WEIGHT,
|
|
+
|
|
+ __NET_SHAPER_A_CAPS_MAX,
|
|
+ NET_SHAPER_A_CAPS_MAX = (__NET_SHAPER_A_CAPS_MAX - 1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ NET_SHAPER_CMD_GET = 1,
|
|
+ NET_SHAPER_CMD_SET,
|
|
+ NET_SHAPER_CMD_DELETE,
|
|
+ NET_SHAPER_CMD_GROUP,
|
|
+ NET_SHAPER_CMD_CAP_GET,
|
|
+
|
|
+ __NET_SHAPER_CMD_MAX,
|
|
+ NET_SHAPER_CMD_MAX = (__NET_SHAPER_CMD_MAX - 1)
|
|
+};
|
|
+
|
|
+#endif /* _LINUX_NET_SHAPER_H */
|
|
--- a/x86/usr/include/linux/net_tstamp.h
|
|
+++ b/x86/usr/include/linux/net_tstamp.h
|
|
@@ -13,6 +13,17 @@
|
|
#include <linux/types.h>
|
|
#include <linux/socket.h> /* for SO_TIMESTAMPING */
|
|
|
|
+/*
|
|
+ * Possible type of hwtstamp provider. Mainly "precise" the default one
|
|
+ * is for IEEE 1588 quality and "approx" is for NICs DMA point.
|
|
+ */
|
|
+enum hwtstamp_provider_qualifier {
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_PRECISE,
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_APPROX,
|
|
+
|
|
+ HWTSTAMP_PROVIDER_QUALIFIER_CNT,
|
|
+};
|
|
+
|
|
/* SO_TIMESTAMPING flags */
|
|
enum {
|
|
SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
|
|
--- a/x86/usr/include/linux/netdev.h
|
|
+++ b/x86/usr/include/linux/netdev.h
|
|
@@ -122,6 +122,9 @@ enum {
|
|
NETDEV_A_NAPI_ID,
|
|
NETDEV_A_NAPI_IRQ,
|
|
NETDEV_A_NAPI_PID,
|
|
+ NETDEV_A_NAPI_DEFER_HARD_IRQS,
|
|
+ NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT,
|
|
+ NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT,
|
|
|
|
__NETDEV_A_NAPI_MAX,
|
|
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
|
|
@@ -199,6 +202,7 @@ enum {
|
|
NETDEV_CMD_NAPI_GET,
|
|
NETDEV_CMD_QSTATS_GET,
|
|
NETDEV_CMD_BIND_RX,
|
|
+ NETDEV_CMD_NAPI_SET,
|
|
|
|
__NETDEV_CMD_MAX,
|
|
NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)
|
|
--- a/x86/usr/include/linux/nl80211.h
|
|
+++ b/x86/usr/include/linux/nl80211.h
|
|
@@ -4294,6 +4294,8 @@ enum nl80211_wmm_rule {
|
|
* otherwise completely disabled.
|
|
* @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a
|
|
* very low power (VLP) AP, despite being NO_IR.
|
|
+ * @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in
|
|
+ * 20 MHz bandwidth, despite being NO_IR.
|
|
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
|
* currently defined
|
|
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
|
@@ -4338,6 +4340,7 @@ enum nl80211_frequency_attr {
|
|
NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
|
|
NL80211_FREQUENCY_ATTR_CAN_MONITOR,
|
|
NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
|
|
+ NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY,
|
|
|
|
/* keep last */
|
|
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
|
@@ -4549,31 +4552,34 @@ enum nl80211_sched_scan_match_attr {
|
|
* @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed
|
|
* @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted
|
|
* despite NO_IR configuration.
|
|
+ * @NL80211_RRF_ALLOW_20MHZ_ACTIVITY: Allow activity in 20 MHz bandwidth,
|
|
+ * despite NO_IR configuration.
|
|
*/
|
|
enum nl80211_reg_rule_flags {
|
|
- NL80211_RRF_NO_OFDM = 1<<0,
|
|
- NL80211_RRF_NO_CCK = 1<<1,
|
|
- NL80211_RRF_NO_INDOOR = 1<<2,
|
|
- NL80211_RRF_NO_OUTDOOR = 1<<3,
|
|
- NL80211_RRF_DFS = 1<<4,
|
|
- NL80211_RRF_PTP_ONLY = 1<<5,
|
|
- NL80211_RRF_PTMP_ONLY = 1<<6,
|
|
- NL80211_RRF_NO_IR = 1<<7,
|
|
- __NL80211_RRF_NO_IBSS = 1<<8,
|
|
- NL80211_RRF_AUTO_BW = 1<<11,
|
|
- NL80211_RRF_IR_CONCURRENT = 1<<12,
|
|
- NL80211_RRF_NO_HT40MINUS = 1<<13,
|
|
- NL80211_RRF_NO_HT40PLUS = 1<<14,
|
|
- NL80211_RRF_NO_80MHZ = 1<<15,
|
|
- NL80211_RRF_NO_160MHZ = 1<<16,
|
|
- NL80211_RRF_NO_HE = 1<<17,
|
|
- NL80211_RRF_NO_320MHZ = 1<<18,
|
|
- NL80211_RRF_NO_EHT = 1<<19,
|
|
- NL80211_RRF_PSD = 1<<20,
|
|
- NL80211_RRF_DFS_CONCURRENT = 1<<21,
|
|
- NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22,
|
|
- NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23,
|
|
- NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24,
|
|
+ NL80211_RRF_NO_OFDM = 1 << 0,
|
|
+ NL80211_RRF_NO_CCK = 1 << 1,
|
|
+ NL80211_RRF_NO_INDOOR = 1 << 2,
|
|
+ NL80211_RRF_NO_OUTDOOR = 1 << 3,
|
|
+ NL80211_RRF_DFS = 1 << 4,
|
|
+ NL80211_RRF_PTP_ONLY = 1 << 5,
|
|
+ NL80211_RRF_PTMP_ONLY = 1 << 6,
|
|
+ NL80211_RRF_NO_IR = 1 << 7,
|
|
+ __NL80211_RRF_NO_IBSS = 1 << 8,
|
|
+ NL80211_RRF_AUTO_BW = 1 << 11,
|
|
+ NL80211_RRF_IR_CONCURRENT = 1 << 12,
|
|
+ NL80211_RRF_NO_HT40MINUS = 1 << 13,
|
|
+ NL80211_RRF_NO_HT40PLUS = 1 << 14,
|
|
+ NL80211_RRF_NO_80MHZ = 1 << 15,
|
|
+ NL80211_RRF_NO_160MHZ = 1 << 16,
|
|
+ NL80211_RRF_NO_HE = 1 << 17,
|
|
+ NL80211_RRF_NO_320MHZ = 1 << 18,
|
|
+ NL80211_RRF_NO_EHT = 1 << 19,
|
|
+ NL80211_RRF_PSD = 1 << 20,
|
|
+ NL80211_RRF_DFS_CONCURRENT = 1 << 21,
|
|
+ NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22,
|
|
+ NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23,
|
|
+ NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24,
|
|
+ NL80211_RRF_ALLOW_20MHZ_ACTIVITY = 1 << 25,
|
|
};
|
|
|
|
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
|
|
--- a/x86/usr/include/linux/pci_regs.h
|
|
+++ b/x86/usr/include/linux/pci_regs.h
|
|
@@ -340,7 +340,8 @@
|
|
#define PCI_MSIX_ENTRY_UPPER_ADDR 0x4 /* Message Upper Address */
|
|
#define PCI_MSIX_ENTRY_DATA 0x8 /* Message Data */
|
|
#define PCI_MSIX_ENTRY_VECTOR_CTRL 0xc /* Vector Control */
|
|
-#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001
|
|
+#define PCI_MSIX_ENTRY_CTRL_MASKBIT 0x00000001 /* Mask Bit */
|
|
+#define PCI_MSIX_ENTRY_CTRL_ST 0xffff0000 /* Steering Tag */
|
|
|
|
/* CompactPCI Hotswap Register */
|
|
|
|
@@ -659,6 +660,7 @@
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP64 0x00000100 /* 64b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_ATOMIC_COMP128 0x00000200 /* 128b AtomicOp completion */
|
|
#define PCI_EXP_DEVCAP2_LTR 0x00000800 /* Latency tolerance reporting */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_MASK 0x00003000 /* TPH completer support */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000 /* OBFF support mechanism */
|
|
#define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000 /* New message signaling */
|
|
#define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
|
|
@@ -1023,15 +1025,34 @@
|
|
#define PCI_DPA_CAP_SUBSTATE_MASK 0x1F /* # substates - 1 */
|
|
#define PCI_DPA_BASE_SIZEOF 16 /* size with 0 substates */
|
|
|
|
+/* TPH Completer Support */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_NONE 0x0 /* None */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_TPH_ONLY 0x1 /* TPH only */
|
|
+#define PCI_EXP_DEVCAP2_TPH_COMP_EXT_TPH 0x3 /* TPH and Extended TPH */
|
|
+
|
|
/* TPH Requester */
|
|
#define PCI_TPH_CAP 4 /* capability register */
|
|
-#define PCI_TPH_CAP_LOC_MASK 0x600 /* location mask */
|
|
-#define PCI_TPH_LOC_NONE 0x000 /* no location */
|
|
-#define PCI_TPH_LOC_CAP 0x200 /* in capability */
|
|
-#define PCI_TPH_LOC_MSIX 0x400 /* in MSI-X */
|
|
-#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST table mask */
|
|
-#define PCI_TPH_CAP_ST_SHIFT 16 /* ST table shift */
|
|
-#define PCI_TPH_BASE_SIZEOF 0xc /* size with no ST table */
|
|
+#define PCI_TPH_CAP_ST_NS 0x00000001 /* No ST Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_IV 0x00000002 /* Interrupt Vector Mode Supported */
|
|
+#define PCI_TPH_CAP_ST_DS 0x00000004 /* Device Specific Mode Supported */
|
|
+#define PCI_TPH_CAP_EXT_TPH 0x00000100 /* Ext TPH Requester Supported */
|
|
+#define PCI_TPH_CAP_LOC_MASK 0x00000600 /* ST Table Location */
|
|
+#define PCI_TPH_LOC_NONE 0x00000000 /* Not present */
|
|
+#define PCI_TPH_LOC_CAP 0x00000200 /* In capability */
|
|
+#define PCI_TPH_LOC_MSIX 0x00000400 /* In MSI-X */
|
|
+#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* ST Table Size */
|
|
+#define PCI_TPH_CAP_ST_SHIFT 16 /* ST Table Size shift */
|
|
+#define PCI_TPH_BASE_SIZEOF 0xc /* Size with no ST table */
|
|
+
|
|
+#define PCI_TPH_CTRL 8 /* control register */
|
|
+#define PCI_TPH_CTRL_MODE_SEL_MASK 0x00000007 /* ST Mode Select */
|
|
+#define PCI_TPH_ST_NS_MODE 0x0 /* No ST Mode */
|
|
+#define PCI_TPH_ST_IV_MODE 0x1 /* Interrupt Vector Mode */
|
|
+#define PCI_TPH_ST_DS_MODE 0x2 /* Device Specific Mode */
|
|
+#define PCI_TPH_CTRL_REQ_EN_MASK 0x00000300 /* TPH Requester Enable */
|
|
+#define PCI_TPH_REQ_DISABLE 0x0 /* No TPH requests allowed */
|
|
+#define PCI_TPH_REQ_TPH_ONLY 0x1 /* TPH only requests allowed */
|
|
+#define PCI_TPH_REQ_EXT_TPH 0x3 /* Extended TPH requests allowed */
|
|
|
|
/* Downstream Port Containment */
|
|
#define PCI_EXP_DPC_CAP 0x04 /* DPC Capability */
|
|
--- a/x86/usr/include/linux/perf_event.h
|
|
+++ b/x86/usr/include/linux/perf_event.h
|
|
@@ -385,6 +385,8 @@ enum perf_event_read_format {
|
|
*
|
|
* @sample_max_stack: Max number of frame pointers in a callchain,
|
|
* should be < /proc/sys/kernel/perf_event_max_stack
|
|
+ * Max number of entries of branch stack
|
|
+ * should be < hardware limit
|
|
*/
|
|
struct perf_event_attr {
|
|
|
|
@@ -511,7 +513,16 @@ struct perf_event_attr {
|
|
__u16 sample_max_stack;
|
|
__u16 __reserved_2;
|
|
__u32 aux_sample_size;
|
|
- __u32 __reserved_3;
|
|
+
|
|
+ union {
|
|
+ __u32 aux_action;
|
|
+ struct {
|
|
+ __u32 aux_start_paused : 1, /* start AUX area tracing paused */
|
|
+ aux_pause : 1, /* on overflow, pause AUX area tracing */
|
|
+ aux_resume : 1, /* on overflow, resume AUX area tracing */
|
|
+ __reserved_3 : 29;
|
|
+ };
|
|
+ };
|
|
|
|
/*
|
|
* User provided data if sigtrap=1, passed back to user via
|
|
--- a/x86/usr/include/linux/pfrut.h
|
|
+++ b/x86/usr/include/linux/pfrut.h
|
|
@@ -89,6 +89,7 @@ struct pfru_payload_hdr {
|
|
__u32 hw_ver;
|
|
__u32 rt_ver;
|
|
__u8 platform_id[16];
|
|
+ __u32 svn_ver;
|
|
};
|
|
|
|
enum pfru_dsm_status {
|
|
--- a/x86/usr/include/linux/pidfd.h
|
|
+++ b/x86/usr/include/linux/pidfd.h
|
|
@@ -16,6 +16,56 @@
|
|
#define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1)
|
|
#define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2)
|
|
|
|
+/* Flags for pidfd_info. */
|
|
+#define PIDFD_INFO_PID (1UL << 0) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CREDS (1UL << 1) /* Always returned, even if not requested */
|
|
+#define PIDFD_INFO_CGROUPID (1UL << 2) /* Always returned if available, even if not requested */
|
|
+#define PIDFD_INFO_EXIT (1UL << 3) /* Only returned if requested. */
|
|
+
|
|
+#define PIDFD_INFO_SIZE_VER0 64 /* sizeof first published struct */
|
|
+
|
|
+struct pidfd_info {
|
|
+ /*
|
|
+ * This mask is similar to the request_mask in statx(2).
|
|
+ *
|
|
+ * Userspace indicates what extensions or expensive-to-calculate fields
|
|
+ * they want by setting the corresponding bits in mask. The kernel
|
|
+ * will ignore bits that it does not know about.
|
|
+ *
|
|
+ * When filling the structure, the kernel will only set bits
|
|
+ * corresponding to the fields that were actually filled by the kernel.
|
|
+ * This also includes any future extensions that might be automatically
|
|
+ * filled. If the structure size is too small to contain a field
|
|
+ * (requested or not), to avoid confusion the mask will not
|
|
+ * contain a bit for that field.
|
|
+ *
|
|
+ * As such, userspace MUST verify that mask contains the
|
|
+ * corresponding flags after the ioctl(2) returns to ensure that it is
|
|
+ * using valid data.
|
|
+ */
|
|
+ __u64 mask;
|
|
+ /*
|
|
+ * The information contained in the following fields might be stale at the
|
|
+ * time it is received, as the target process might have exited as soon as
|
|
+ * the IOCTL was processed, and there is no way to avoid that. However, it
|
|
+ * is guaranteed that if the call was successful, then the information was
|
|
+ * correct and referred to the intended process at the time the work was
|
|
+ * performed. */
|
|
+ __u64 cgroupid;
|
|
+ __u32 pid;
|
|
+ __u32 tgid;
|
|
+ __u32 ppid;
|
|
+ __u32 ruid;
|
|
+ __u32 rgid;
|
|
+ __u32 euid;
|
|
+ __u32 egid;
|
|
+ __u32 suid;
|
|
+ __u32 sgid;
|
|
+ __u32 fsuid;
|
|
+ __u32 fsgid;
|
|
+ __s32 exit_code;
|
|
+};
|
|
+
|
|
#define PIDFS_IOCTL_MAGIC 0xFF
|
|
|
|
#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1)
|
|
@@ -28,5 +78,6 @@
|
|
#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8)
|
|
#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9)
|
|
#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10)
|
|
+#define PIDFD_GET_INFO _IOWR(PIDFS_IOCTL_MAGIC, 11, struct pidfd_info)
|
|
|
|
#endif /* _LINUX_PIDFD_H */
|
|
--- a/x86/usr/include/linux/psci.h
|
|
+++ b/x86/usr/include/linux/psci.h
|
|
@@ -59,6 +59,7 @@
|
|
#define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18)
|
|
#define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19)
|
|
#define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(20)
|
|
+#define PSCI_1_3_FN_SYSTEM_OFF2 PSCI_0_2_FN(21)
|
|
|
|
#define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12)
|
|
#define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13)
|
|
@@ -68,6 +69,7 @@
|
|
|
|
#define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18)
|
|
#define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(20)
|
|
+#define PSCI_1_3_FN64_SYSTEM_OFF2 PSCI_0_2_FN64(21)
|
|
|
|
/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
|
|
#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
|
|
@@ -100,6 +102,9 @@
|
|
#define PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET 0
|
|
#define PSCI_1_1_RESET_TYPE_VENDOR_START 0x80000000U
|
|
|
|
+/* PSCI v1.3 hibernate type for SYSTEM_OFF2 */
|
|
+#define PSCI_1_3_OFF_TYPE_HIBERNATE_OFF BIT(0)
|
|
+
|
|
/* PSCI version decoding (independent of PSCI version) */
|
|
#define PSCI_VERSION_MAJOR_SHIFT 16
|
|
#define PSCI_VERSION_MINOR_MASK \
|
|
--- a/x86/usr/include/linux/psp-sev.h
|
|
+++ b/x86/usr/include/linux/psp-sev.h
|
|
@@ -73,13 +73,20 @@ typedef enum {
|
|
SEV_RET_INVALID_PARAM,
|
|
SEV_RET_RESOURCE_LIMIT,
|
|
SEV_RET_SECURE_DATA_INVALID,
|
|
- SEV_RET_INVALID_KEY = 0x27,
|
|
- SEV_RET_INVALID_PAGE_SIZE,
|
|
- SEV_RET_INVALID_PAGE_STATE,
|
|
- SEV_RET_INVALID_MDATA_ENTRY,
|
|
- SEV_RET_INVALID_PAGE_OWNER,
|
|
- SEV_RET_INVALID_PAGE_AEAD_OFLOW,
|
|
- SEV_RET_RMP_INIT_REQUIRED,
|
|
+ SEV_RET_INVALID_PAGE_SIZE = 0x0019,
|
|
+ SEV_RET_INVALID_PAGE_STATE = 0x001A,
|
|
+ SEV_RET_INVALID_MDATA_ENTRY = 0x001B,
|
|
+ SEV_RET_INVALID_PAGE_OWNER = 0x001C,
|
|
+ SEV_RET_AEAD_OFLOW = 0x001D,
|
|
+ SEV_RET_EXIT_RING_BUFFER = 0x001F,
|
|
+ SEV_RET_RMP_INIT_REQUIRED = 0x0020,
|
|
+ SEV_RET_BAD_SVN = 0x0021,
|
|
+ SEV_RET_BAD_VERSION = 0x0022,
|
|
+ SEV_RET_SHUTDOWN_REQUIRED = 0x0023,
|
|
+ SEV_RET_UPDATE_FAILED = 0x0024,
|
|
+ SEV_RET_RESTORE_REQUIRED = 0x0025,
|
|
+ SEV_RET_RMP_INITIALIZATION_FAILED = 0x0026,
|
|
+ SEV_RET_INVALID_KEY = 0x0027,
|
|
SEV_RET_MAX,
|
|
} sev_ret_code;
|
|
|
|
--- a/x86/usr/include/linux/raid/md_p.h
|
|
+++ b/x86/usr/include/linux/raid/md_p.h
|
|
@@ -85,6 +85,7 @@
|
|
* devices available - and don't try to
|
|
* correct read errors.
|
|
*/
|
|
+#define MD_DISK_TIMEOUT 11 /* disk is faulty due to timeout */
|
|
|
|
#define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
|
|
* read requests will only be sent here in
|
|
@@ -95,6 +96,7 @@
|
|
#define MD_DISK_ROLE_SPARE 0xffff
|
|
#define MD_DISK_ROLE_FAULTY 0xfffe
|
|
#define MD_DISK_ROLE_JOURNAL 0xfffd
|
|
+#define MD_DISK_ROLE_TIMEOUT 0xfff0 /* SUSE-only timed-out */
|
|
#define MD_DISK_ROLE_MAX 0xff00 /* max value of regular disk role */
|
|
|
|
typedef struct mdp_device_descriptor_s {
|
|
@@ -233,7 +235,7 @@ struct mdp_superblock_1 {
|
|
char set_name[32]; /* set and interpreted by user-space */
|
|
|
|
__le64 ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/
|
|
- __le32 level; /* 0,1,4,5 */
|
|
+ __le32 level; /* 0,1,4,5, -1 (linear) */
|
|
__le32 layout; /* only for raid5 and raid10 currently */
|
|
__le64 size; /* used size of component devices, in 512byte sectors */
|
|
|
|
--- a/x86/usr/include/linux/raid/md_u.h
|
|
+++ b/x86/usr/include/linux/raid/md_u.h
|
|
@@ -103,6 +103,8 @@ typedef struct mdu_array_info_s {
|
|
|
|
} mdu_array_info_t;
|
|
|
|
+#define LEVEL_LINEAR (-1)
|
|
+
|
|
/* we need a value for 'no level specified' and 0
|
|
* means 'raid0', so we need something else. This is
|
|
* for internal use only
|
|
--- a/x86/usr/include/linux/rkisp1-config.h
|
|
+++ b/x86/usr/include/linux/rkisp1-config.h
|
|
@@ -1528,7 +1528,7 @@ enum rksip1_ext_param_buffer_version {
|
|
* The expected memory layout of the parameters buffer is::
|
|
*
|
|
* +-------------------- struct rkisp1_ext_params_cfg -------------------+
|
|
- * | version = RKISP_EXT_PARAMS_BUFFER_V1; |
|
|
+ * | version = RKISP1_EXT_PARAM_BUFFER_V1; |
|
|
* | data_size = sizeof(struct rkisp1_ext_params_bls_config) |
|
|
* | + sizeof(struct rkisp1_ext_params_dpcc_config); |
|
|
* | +------------------------- data ---------------------------------+ |
|
|
--- a/x86/usr/include/linux/rtnetlink.h
|
|
+++ b/x86/usr/include/linux/rtnetlink.h
|
|
@@ -174,7 +174,7 @@ enum {
|
|
#define RTM_GETLINKPROP RTM_GETLINKPROP
|
|
|
|
RTM_NEWVLAN = 112,
|
|
-#define RTM_NEWNVLAN RTM_NEWVLAN
|
|
+#define RTM_NEWVLAN RTM_NEWVLAN
|
|
RTM_DELVLAN,
|
|
#define RTM_DELVLAN RTM_DELVLAN
|
|
RTM_GETVLAN,
|
|
--- a/x86/usr/include/linux/sed-opal.h
|
|
+++ b/x86/usr/include/linux/sed-opal.h
|
|
@@ -215,5 +215,6 @@ struct opal_revert_lsp {
|
|
#define IOC_OPAL_GET_GEOMETRY _IOR('p', 238, struct opal_geometry)
|
|
#define IOC_OPAL_DISCOVERY _IOW('p', 239, struct opal_discovery)
|
|
#define IOC_OPAL_REVERT_LSP _IOW('p', 240, struct opal_revert_lsp)
|
|
+#define IOC_OPAL_SET_SID_PW _IOW('p', 241, struct opal_new_pw)
|
|
|
|
#endif /* _SED_OPAL_H */
|
|
--- a/x86/usr/include/linux/stddef.h
|
|
+++ b/x86/usr/include/linux/stddef.h
|
|
@@ -8,6 +8,13 @@
|
|
#define __always_inline __inline__
|
|
#endif
|
|
|
|
+/* Not all C++ standards support type declarations inside an anonymous union */
|
|
+#ifndef __cplusplus
|
|
+#define __struct_group_tag(TAG) TAG
|
|
+#else
|
|
+#define __struct_group_tag(TAG)
|
|
+#endif
|
|
+
|
|
/**
|
|
* __struct_group() - Create a mirrored named and anonyomous struct
|
|
*
|
|
@@ -20,13 +27,13 @@
|
|
* and size: one anonymous and one named. The former's members can be used
|
|
* normally without sub-struct naming, and the latter can be used to
|
|
* reason about the start, end, and size of the group of struct members.
|
|
- * The named struct can also be explicitly tagged for layer reuse, as well
|
|
- * as both having struct attributes appended.
|
|
+ * The named struct can also be explicitly tagged for layer reuse (C only),
|
|
+ * as well as both having struct attributes appended.
|
|
*/
|
|
#define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
|
|
union { \
|
|
struct { MEMBERS } ATTRS; \
|
|
- struct TAG { MEMBERS } ATTRS NAME; \
|
|
+ struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \
|
|
} ATTRS
|
|
|
|
#ifdef __cplusplus
|
|
--- a/x86/usr/include/linux/types.h
|
|
+++ b/x86/usr/include/linux/types.h
|
|
@@ -48,6 +48,7 @@ typedef __u32 __bitwise __wsum;
|
|
* No conversions are necessary between 32-bit user-space and a 64-bit kernel.
|
|
*/
|
|
#define __aligned_u64 __u64 __attribute__((aligned(8)))
|
|
+#define __aligned_s64 __s64 __attribute__((aligned(8)))
|
|
#define __aligned_be64 __be64 __attribute__((aligned(8)))
|
|
#define __aligned_le64 __le64 __attribute__((aligned(8)))
|
|
|
|
--- a/x86/usr/include/linux/usb/ch9.h
|
|
+++ b/x86/usr/include/linux/usb/ch9.h
|
|
@@ -253,6 +253,9 @@ struct usb_ctrlrequest {
|
|
#define USB_DT_BOS 0x0f
|
|
#define USB_DT_DEVICE_CAPABILITY 0x10
|
|
#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11
|
|
+/* From the eUSB2 spec */
|
|
+#define USB_DT_EUSB2_ISOC_ENDPOINT_COMP 0x12
|
|
+/* From Wireless USB spec */
|
|
#define USB_DT_WIRE_ADAPTER 0x21
|
|
/* From USB Device Firmware Upgrade Specification, Revision 1.1 */
|
|
#define USB_DT_DFU_FUNCTIONAL 0x21
|
|
@@ -330,6 +333,7 @@ struct usb_device_descriptor {
|
|
#define USB_CLASS_AUDIO_VIDEO 0x10
|
|
#define USB_CLASS_BILLBOARD 0x11
|
|
#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
|
|
+#define USB_CLASS_MCTP 0x14
|
|
#define USB_CLASS_MISC 0xef
|
|
#define USB_CLASS_APP_SPEC 0xfe
|
|
#define USB_SUBCLASS_DFU 0x01
|
|
@@ -675,6 +679,18 @@ static __inline__ int usb_endpoint_inter
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
+/* USB_DT_EUSB2_ISOC_ENDPOINT_COMP: eUSB2 Isoch Endpoint Companion descriptor */
|
|
+struct usb_eusb2_isoc_ep_comp_descriptor {
|
|
+ __u8 bLength;
|
|
+ __u8 bDescriptorType;
|
|
+ __le16 wMaxPacketSize;
|
|
+ __le32 dwBytesPerInterval;
|
|
+} __attribute__ ((packed));
|
|
+
|
|
+#define USB_DT_EUSB2_ISOC_EP_COMP_SIZE 8
|
|
+
|
|
+/*-------------------------------------------------------------------------*/
|
|
+
|
|
/* USB_DT_SSP_ISOC_ENDPOINT_COMP: SuperSpeedPlus Isochronous Endpoint Companion
|
|
* descriptor
|
|
*/
|
|
--- a/x86/usr/include/linux/usb/functionfs.h
|
|
+++ b/x86/usr/include/linux/usb/functionfs.h
|
|
@@ -205,7 +205,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -223,7 +223,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | off | name | type | description |
|
|
* +-----+-----------------+------+--------------------------+
|
|
- * | 0 | inteface | U8 | related interface number |
|
|
+ * | 0 | interface | U8 | related interface number |
|
|
* +-----+-----------------+------+--------------------------+
|
|
* | 1 | dwLength | U32 | length of the descriptor |
|
|
* +-----+-----------------+------+--------------------------+
|
|
@@ -236,7 +236,7 @@ struct usb_ffs_dmabuf_transfer_req {
|
|
* | 11 | ExtProp[] | | list of ext. prop. d. |
|
|
* +-----+-----------------+------+--------------------------+
|
|
*
|
|
- * ExtCompat[] is an array of valid Extended Compatiblity descriptors
|
|
+ * ExtCompat[] is an array of valid Extended Compatibility descriptors
|
|
* which have the following format:
|
|
*
|
|
* +-----+-----------------------+------+-------------------------------------+
|
|
@@ -294,7 +294,7 @@ struct usb_functionfs_strings_head {
|
|
* | 16 | stringtab | StringTab[lang_count] | table of strings per lang |
|
|
*
|
|
* For each language there is one stringtab entry (ie. there are lang_count
|
|
- * stringtab entires). Each StringTab has following format:
|
|
+ * stringtab entries). Each StringTab has following format:
|
|
*
|
|
* | off | name | type | description |
|
|
* |-----+---------+-------------------+------------------------------------|
|
|
--- a/x86/usr/include/linux/vhost.h
|
|
+++ b/x86/usr/include/linux/vhost.h
|
|
@@ -235,4 +235,33 @@
|
|
*/
|
|
#define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \
|
|
struct vhost_vring_state)
|
|
+
|
|
+/* fork_owner values for vhost */
|
|
+#define VHOST_FORK_OWNER_KTHREAD 0
|
|
+#define VHOST_FORK_OWNER_TASK 1
|
|
+
|
|
+/**
|
|
+ * VHOST_SET_FORK_FROM_OWNER - Set the fork_owner flag for the vhost device,
|
|
+ * This ioctl must called before VHOST_SET_OWNER.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @param fork_owner: An 8-bit value that determines the vhost thread mode
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_TASK(default value):
|
|
+ * - Vhost will create vhost worker as tasks forked from the owner,
|
|
+ * inheriting all of the owner's attributes.
|
|
+ *
|
|
+ * When fork_owner is set to VHOST_FORK_OWNER_KTHREAD:
|
|
+ * - Vhost will create vhost workers as kernel threads.
|
|
+ */
|
|
+#define VHOST_SET_FORK_FROM_OWNER _IOW(VHOST_VIRTIO, 0x84, __u8)
|
|
+
|
|
+/**
|
|
+ * VHOST_GET_FORK_OWNER - Get the current fork_owner flag for the vhost device.
|
|
+ * Only available when CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
|
|
+ *
|
|
+ * @return: An 8-bit value indicating the current thread mode.
|
|
+ */
|
|
+#define VHOST_GET_FORK_FROM_OWNER _IOR(VHOST_VIRTIO, 0x85, __u8)
|
|
+
|
|
#endif
|
|
--- a/x86/usr/include/linux/videodev2.h
|
|
+++ b/x86/usr/include/linux/videodev2.h
|
|
@@ -771,6 +771,7 @@ struct v4l2_pix_format {
|
|
#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
|
|
#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
|
|
+#define V4L2_PIX_FMT_Y16I v4l2_fourcc('Y', '1', '6', 'I') /* Greyscale 16-bit L/R interleaved */
|
|
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
|
|
#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
|
|
#define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */
|
|
@@ -832,6 +833,8 @@ struct v4l2_pix_format {
|
|
|
|
/* Vendor specific - used for RaspberryPi PiSP */
|
|
#define V4L2_META_FMT_RPI_BE_CFG v4l2_fourcc('R', 'P', 'B', 'C') /* PiSP BE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_CFG v4l2_fourcc('R', 'P', 'F', 'C') /* PiSP FE configuration */
|
|
+#define V4L2_META_FMT_RPI_FE_STATS v4l2_fourcc('R', 'P', 'F', 'S') /* PiSP FE stats */
|
|
|
|
|
|
/* priv field value to indicates that subsequent fields are valid. */
|
|
--- a/x86/usr/include/linux/xfrm.h
|
|
+++ b/x86/usr/include/linux/xfrm.h
|
|
@@ -322,6 +322,7 @@ enum xfrm_attr_type_t {
|
|
XFRMA_MTIMER_THRESH, /* __u32 in seconds for input SA */
|
|
XFRMA_SA_DIR, /* __u8 */
|
|
XFRMA_NAT_KEEPALIVE_INTERVAL, /* __u32 in seconds for NAT keepalive */
|
|
+ XFRMA_SA_PCPU, /* __u32 */
|
|
__XFRMA_MAX
|
|
|
|
#define XFRMA_OUTPUT_MARK XFRMA_SET_MARK /* Compatibility */
|
|
@@ -437,6 +438,7 @@ struct xfrm_userpolicy_info {
|
|
#define XFRM_POLICY_LOCALOK 1 /* Allow user to override global policy */
|
|
/* Automatically expand selector to include matching ICMP payloads. */
|
|
#define XFRM_POLICY_ICMP 2
|
|
+#define XFRM_POLICY_CPU_ACQUIRE 4
|
|
__u8 share;
|
|
};
|
|
|
|
--- a/x86/usr/include/rdma/efa-abi.h
|
|
+++ b/x86/usr/include/rdma/efa-abi.h
|
|
@@ -95,7 +95,8 @@ struct efa_ibv_create_qp {
|
|
__u32 sq_ring_size; /* bytes */
|
|
__u32 driver_qp_type;
|
|
__u16 flags;
|
|
- __u8 reserved_90[6];
|
|
+ __u8 sl;
|
|
+ __u8 reserved_98[5];
|
|
};
|
|
|
|
struct efa_ibv_create_qp_resp {
|
|
--- a/x86/usr/include/rdma/mlx5-abi.h
|
|
+++ b/x86/usr/include/rdma/mlx5-abi.h
|
|
@@ -252,6 +252,7 @@ enum mlx5_ib_query_dev_resp_flags {
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1,
|
|
MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE = 1 << 2,
|
|
MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT = 1 << 3,
|
|
+ MLX5_IB_QUERY_DEV_RESP_FLAGS_OOO_DP = 1 << 4,
|
|
};
|
|
|
|
enum mlx5_ib_tunnel_offloads {
|
|
@@ -439,6 +440,10 @@ struct mlx5_ib_burst_info {
|
|
__u16 reserved;
|
|
};
|
|
|
|
+enum mlx5_ib_modify_qp_mask {
|
|
+ MLX5_IB_MODIFY_QP_OOO_DP = 1 << 0,
|
|
+};
|
|
+
|
|
struct mlx5_ib_modify_qp {
|
|
__u32 comp_mask;
|
|
struct mlx5_ib_burst_info burst_info;
|
|
--- a/x86/usr/include/rdma/rdma_netlink.h
|
|
+++ b/x86/usr/include/rdma/rdma_netlink.h
|
|
@@ -638,6 +638,8 @@ enum rdma_nl_notify_event_type {
|
|
RDMA_UNREGISTER_EVENT,
|
|
RDMA_NETDEV_ATTACH_EVENT,
|
|
RDMA_NETDEV_DETACH_EVENT,
|
|
+ RDMA_RENAME_EVENT,
|
|
+ RDMA_NETDEV_RENAME_EVENT,
|
|
};
|
|
|
|
#endif /* _RDMA_NETLINK_H */
|
|
--- a/x86/usr/include/scsi/fc/fc_els.h
|
|
+++ b/x86/usr/include/scsi/fc/fc_els.h
|
|
@@ -11,6 +11,8 @@
|
|
#include <linux/types.h>
|
|
#include <asm/byteorder.h>
|
|
|
|
+#include <stddef.h> /* for offsetof */
|
|
+
|
|
/*
|
|
* Fibre Channel Switch - Enhanced Link Services definitions.
|
|
* From T11 FC-LS Rev 1.2 June 7, 2005.
|
|
@@ -1109,12 +1111,15 @@ struct fc_els_fpin {
|
|
|
|
/* Diagnostic Function Descriptor - FPIN Registration */
|
|
struct fc_df_desc_fpin_reg {
|
|
- __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
- __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
- * Size of descriptor excluding
|
|
- * desc_tag and desc_len fields.
|
|
- */
|
|
- __be32 count; /* Number of desc_tags elements */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_df_desc_fpin_reg_hdr, __hdr, /* no attrs */,
|
|
+ __be32 desc_tag; /* FPIN Registration (0x00030001) */
|
|
+ __be32 desc_len; /* Length of Descriptor (in bytes).
|
|
+ * Size of descriptor excluding
|
|
+ * desc_tag and desc_len fields.
|
|
+ */
|
|
+ __be32 count; /* Number of desc_tags elements */
|
|
+ );
|
|
__be32 desc_tags[]; /* Array of Descriptor Tags.
|
|
* Each tag indicates a function
|
|
* supported by the N_Port (request)
|
|
@@ -1124,33 +1129,44 @@ struct fc_df_desc_fpin_reg {
|
|
* See ELS_FN_DTAG_xxx for tag values.
|
|
*/
|
|
};
|
|
+_Static_assert(offsetof(struct fc_df_desc_fpin_reg, desc_tags) == sizeof(struct fc_df_desc_fpin_reg_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS_RDF - Register Diagnostic Functions
|
|
*/
|
|
struct fc_els_rdf {
|
|
- __u8 fpin_cmd; /* command (0x19) */
|
|
- __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
- __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
- * Size of ELS excluding fpin_cmd,
|
|
- * fpin_zero and desc_len fields.
|
|
- */
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_hdr, __hdr, /* no attrs */,
|
|
+ __u8 fpin_cmd; /* command (0x19) */
|
|
+ __u8 fpin_zero[3]; /* specified as zero - part of cmd */
|
|
+ __be32 desc_len; /* Length of Descriptor List (in bytes).
|
|
+ * Size of ELS excluding fpin_cmd,
|
|
+ * fpin_zero and desc_len fields.
|
|
+ */
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Descriptor list */
|
|
};
|
|
+_Static_assert(offsetof(struct fc_els_rdf, desc) == sizeof(struct fc_els_rdf_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* ELS RDF LS_ACC Response.
|
|
*/
|
|
struct fc_els_rdf_resp {
|
|
- struct fc_els_ls_acc acc_hdr;
|
|
- __be32 desc_list_len; /* Length of response (in
|
|
- * bytes). Excludes acc_hdr
|
|
- * and desc_list_len fields.
|
|
- */
|
|
- struct fc_els_lsri_desc lsri;
|
|
+ /* New members MUST be added within the __struct_group() macro below. */
|
|
+ __struct_group(fc_els_rdf_resp_hdr, __hdr, /* no attrs */,
|
|
+ struct fc_els_ls_acc acc_hdr;
|
|
+ __be32 desc_list_len; /* Length of response (in
|
|
+ * bytes). Excludes acc_hdr
|
|
+ * and desc_list_len fields.
|
|
+ */
|
|
+ struct fc_els_lsri_desc lsri;
|
|
+ );
|
|
struct fc_tlv_desc desc[]; /* Supported Descriptor list */
|
|
};
|
|
-
|
|
+_Static_assert(offsetof(struct fc_els_rdf_resp, desc) == sizeof(struct fc_els_rdf_resp_hdr),
|
|
+ "struct member likely outside of __struct_group()");
|
|
|
|
/*
|
|
* Diagnostic Capability Descriptors for EDC ELS
|