linux: update kernel headers
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 25 Jun 2019 02:16:57 +0000 (11:16 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 25 Jun 2019 02:29:13 +0000 (11:29 +0900)
src/shared/linux/README
src/shared/linux/bpf_insn.h
src/shared/linux/dm-ioctl.h
src/shared/linux/ethtool.h

index 34f9048..3878233 100644 (file)
@@ -1,8 +1,7 @@
-The files in this directory are copied from kernel-5.0, and the following modifications are applied:
+The files in this directory are copied from kernel-5.2, and the following modifications are applied:
 - auto_dev-ioctl.h: set AUTOFS_DEV_IOCTL_VERSION_MINOR to 0
 - auto_dev-ioctl.h: define AUTOFS_IOCTL if not defined
 - bpf_insn.h: This is imported from samples/bpf/bpf_insn.h
 - bpf_insn.h: BPF_JMP_A() macro is also imported from include/linux/filter.h
 - dm-ioctl.h: set DM_VERSION_MINOR to 27
-- ethtool.h: add a type cast to SPEED_UNKNOWN
 - ethtool.h: define __KERNEL_DIV_ROUND_UP if not defined
index e88459f..d8d9fb2 100644 (file)
@@ -164,6 +164,16 @@ struct bpf_insn;
                .off   = OFF,                                   \
                .imm   = 0 })
 
+/* Like BPF_JMP_REG, but with 32-bit wide operands for comparison. */
+
+#define BPF_JMP32_REG(OP, DST, SRC, OFF)                       \
+       ((struct bpf_insn) {                                    \
+               .code  = BPF_JMP32 | BPF_OP(OP) | BPF_X,        \
+               .dst_reg = DST,                                 \
+               .src_reg = SRC,                                 \
+               .off   = OFF,                                   \
+               .imm   = 0 })
+
 /* Conditional jumps against immediates, if (dst_reg 'op' imm32) goto pc + off16 */
 
 #define BPF_JMP_IMM(OP, DST, IMM, OFF)                         \
@@ -174,6 +184,16 @@ struct bpf_insn;
                .off   = OFF,                                   \
                .imm   = IMM })
 
+/* Like BPF_JMP_IMM, but with 32-bit wide operands for comparison. */
+
+#define BPF_JMP32_IMM(OP, DST, IMM, OFF)                       \
+       ((struct bpf_insn) {                                    \
+               .code  = BPF_JMP32 | BPF_OP(OP) | BPF_K,        \
+               .dst_reg = DST,                                 \
+               .src_reg = 0,                                   \
+               .off   = OFF,                                   \
+               .imm   = IMM })
+
 #define BPF_JMP_A(OFF)                                         \
        ((struct bpf_insn) {                                    \
                .code  = BPF_JMP | BPF_JA,                      \
index 8faa188..b3aeec7 100644 (file)
@@ -272,7 +272,7 @@ enum {
 #define DM_VERSION_MAJOR       4
 #define DM_VERSION_MINOR       27
 #define DM_VERSION_PATCHLEVEL  0
-#define DM_VERSION_EXTRA       "-ioctl (2018-04-03)"
+#define DM_VERSION_EXTRA       "-ioctl (2019-01-18)"
 
 /* Status bits */
 #define DM_READONLY_FLAG       (1 << 0) /* In/Out */
index f6c45a3..742f2fb 100644 (file)
@@ -256,9 +256,17 @@ struct ethtool_tunable {
 #define DOWNSHIFT_DEV_DEFAULT_COUNT    0xff
 #define DOWNSHIFT_DEV_DISABLE          0
 
+/* Time in msecs after which link is reported as down
+ * 0 = lowest time supported by the PHY
+ * 0xff = off, link down detection according to standard
+ */
+#define ETHTOOL_PHY_FAST_LINK_DOWN_ON  0
+#define ETHTOOL_PHY_FAST_LINK_DOWN_OFF 0xff
+
 enum phy_tunable_id {
        ETHTOOL_PHY_ID_UNSPEC,
        ETHTOOL_PHY_DOWNSHIFT,
+       ETHTOOL_PHY_FAST_LINK_DOWN,
        /*
         * Add your fresh new phy tunable attribute above and remember to update
         * phy_tunable_strings[] in net/core/ethtool.c
@@ -1436,6 +1444,13 @@ enum ethtool_link_mode_bit_indices {
        ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT = 29,
        ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT = 30,
        ETHTOOL_LINK_MODE_25000baseCR_Full_BIT  = 31,
+
+       /* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit
+        * 31. Please do NOT define any SUPPORTED_* or ADVERTISED_*
+        * macro for bits > 31. The only way to use indices > 31 is to
+        * use the new ETHTOOL_GLINKSETTINGS/ETHTOOL_SLINKSETTINGS API.
+        */
+
        ETHTOOL_LINK_MODE_25000baseKR_Full_BIT  = 32,
        ETHTOOL_LINK_MODE_25000baseSR_Full_BIT  = 33,
        ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT = 34,
@@ -1457,15 +1472,24 @@ enum ethtool_link_mode_bit_indices {
        ETHTOOL_LINK_MODE_FEC_NONE_BIT  = 49,
        ETHTOOL_LINK_MODE_FEC_RS_BIT    = 50,
        ETHTOOL_LINK_MODE_FEC_BASER_BIT = 51,
-
-       /* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit
-        * 31. Please do NOT define any SUPPORTED_* or ADVERTISED_*
-        * macro for bits > 31. The only way to use indices > 31 is to
-        * use the new ETHTOOL_GLINKSETTINGS/ETHTOOL_SLINKSETTINGS API.
-        */
-
-       __ETHTOOL_LINK_MODE_LAST
-         = ETHTOOL_LINK_MODE_FEC_BASER_BIT,
+       ETHTOOL_LINK_MODE_50000baseKR_Full_BIT           = 52,
+       ETHTOOL_LINK_MODE_50000baseSR_Full_BIT           = 53,
+       ETHTOOL_LINK_MODE_50000baseCR_Full_BIT           = 54,
+       ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT     = 55,
+       ETHTOOL_LINK_MODE_50000baseDR_Full_BIT           = 56,
+       ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT         = 57,
+       ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT         = 58,
+       ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT         = 59,
+       ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 60,
+       ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT         = 61,
+       ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT         = 62,
+       ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT         = 63,
+       ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64,
+       ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT         = 65,
+       ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT         = 66,
+
+       /* must be last entry */
+       __ETHTOOL_LINK_MODE_MASK_NBITS
 };
 
 #define __ETHTOOL_LINK_MODE_LEGACY_MASK(base_name)     \
@@ -1573,12 +1597,13 @@ enum ethtool_link_mode_bit_indices {
 #define SPEED_50000            50000
 #define SPEED_56000            56000
 #define SPEED_100000           100000
+#define SPEED_200000           200000
 
-#define SPEED_UNKNOWN          ((__u32) -1)
+#define SPEED_UNKNOWN          -1
 
 static inline int ethtool_validate_speed(__u32 speed)
 {
-       return speed <= INT_MAX || speed == SPEED_UNKNOWN;
+       return speed <= INT_MAX || speed == (__u32)SPEED_UNKNOWN;
 }
 
 /* Duplex, half or full. */
@@ -1691,6 +1716,9 @@ static inline int ethtool_validate_duplex(__u8 duplex)
 #define ETH_MODULE_SFF_8436            0x4
 #define ETH_MODULE_SFF_8436_LEN                256
 
+#define ETH_MODULE_SFF_8636_MAX_LEN     640
+#define ETH_MODULE_SFF_8436_MAX_LEN     640
+
 /* Reset flags */
 /* The reset() operation must clear the flags for the components which
  * were actually reset.  On successful return, the flags indicate the