^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * CAAM descriptor composition header
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) * Definitions to support CAAM descriptor instruction generation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * Copyright 2008-2011 Freescale Semiconductor, Inc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) * Copyright 2018 NXP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #ifndef DESC_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define DESC_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) * 16-byte hardware scatter/gather table
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) * An 8-byte table exists in the hardware spec, but has never been
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) * implemented to date. The 8/16 option is selected at RTL-compile-time.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) * and this selection is visible in the Compile Time Parameters Register
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #define SEC4_SG_LEN_EXT 0x80000000 /* Entry points to table */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #define SEC4_SG_LEN_FIN 0x40000000 /* Last entry in table */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) #define SEC4_SG_BPID_MASK 0x000000ff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #define SEC4_SG_BPID_SHIFT 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #define SEC4_SG_LEN_MASK 0x3fffffff /* Excludes EXT and FINAL */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #define SEC4_SG_OFFSET_MASK 0x00001fff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) /* Max size of any CAAM descriptor in 32-bit words, inclusive of header */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #define MAX_CAAM_DESCSIZE 64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) /* Block size of any entity covered/uncovered with a KEK/TKEK */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) #define KEK_BLOCKSIZE 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) * Supported descriptor command types as they show up
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) * inside a descriptor command word.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) #define CMD_SHIFT 27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) #define CMD_MASK 0xf8000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) #define CMD_KEY (0x00 << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) #define CMD_SEQ_KEY (0x01 << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) #define CMD_LOAD (0x02 << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) #define CMD_SEQ_LOAD (0x03 << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) #define CMD_FIFO_LOAD (0x04 << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) #define CMD_SEQ_FIFO_LOAD (0x05 << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) #define CMD_STORE (0x0a << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) #define CMD_SEQ_STORE (0x0b << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) #define CMD_FIFO_STORE (0x0c << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) #define CMD_SEQ_FIFO_STORE (0x0d << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) #define CMD_MOVE_LEN (0x0e << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) #define CMD_MOVE (0x0f << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) #define CMD_OPERATION (0x10 << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) #define CMD_SIGNATURE (0x12 << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) #define CMD_JUMP (0x14 << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) #define CMD_MATH (0x15 << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) #define CMD_DESC_HDR (0x16 << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) #define CMD_SHARED_DESC_HDR (0x17 << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) #define CMD_SEQ_IN_PTR (0x1e << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) #define CMD_SEQ_OUT_PTR (0x1f << CMD_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) /* General-purpose class selector for all commands */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) #define CLASS_SHIFT 25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) #define CLASS_MASK (0x03 << CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) #define CLASS_NONE (0x00 << CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) #define CLASS_1 (0x01 << CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) #define CLASS_2 (0x02 << CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) #define CLASS_BOTH (0x03 << CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) * Descriptor header command constructs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) * Covers shared, job, and trusted descriptor headers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) * Do Not Run - marks a descriptor inexecutable if there was
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) * a preceding error somewhere
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) #define HDR_DNR 0x01000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) * ONE - should always be set. Combination of ONE (always
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) * set) and ZRO (always clear) forms an endianness sanity check
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) #define HDR_ONE 0x00800000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) #define HDR_ZRO 0x00008000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) /* Start Index or SharedDesc Length */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) #define HDR_START_IDX_SHIFT 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) #define HDR_START_IDX_MASK (0x3f << HDR_START_IDX_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) /* If shared descriptor header, 6-bit length */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) #define HDR_DESCLEN_SHR_MASK 0x3f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) /* If non-shared header, 7-bit length */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) #define HDR_DESCLEN_MASK 0x7f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) /* This is a TrustedDesc (if not SharedDesc) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) #define HDR_TRUSTED 0x00004000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) /* Make into TrustedDesc (if not SharedDesc) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) #define HDR_MAKE_TRUSTED 0x00002000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) /* Save context if self-shared (if SharedDesc) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) #define HDR_SAVECTX 0x00001000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) /* Next item points to SharedDesc */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) #define HDR_SHARED 0x00001000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) * Reverse Execution Order - execute JobDesc first, then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) * execute SharedDesc (normally SharedDesc goes first).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) #define HDR_REVERSE 0x00000800
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) /* Propagate DNR property to SharedDesc */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) #define HDR_PROP_DNR 0x00000800
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) /* JobDesc/SharedDesc share property */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) #define HDR_SD_SHARE_SHIFT 8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) #define HDR_SD_SHARE_MASK (0x03 << HDR_SD_SHARE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) #define HDR_JD_SHARE_SHIFT 8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) #define HDR_JD_SHARE_MASK (0x07 << HDR_JD_SHARE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) #define HDR_SHARE_NEVER (0x00 << HDR_SD_SHARE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) #define HDR_SHARE_WAIT (0x01 << HDR_SD_SHARE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) #define HDR_SHARE_SERIAL (0x02 << HDR_SD_SHARE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) #define HDR_SHARE_ALWAYS (0x03 << HDR_SD_SHARE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) #define HDR_SHARE_DEFER (0x04 << HDR_SD_SHARE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) /* JobDesc/SharedDesc descriptor length */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) #define HDR_JD_LENGTH_MASK 0x7f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) #define HDR_SD_LENGTH_MASK 0x3f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) * KEY/SEQ_KEY Command Constructs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) /* Key Destination Class: 01 = Class 1, 02 - Class 2 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) #define KEY_DEST_CLASS_SHIFT 25 /* use CLASS_1 or CLASS_2 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) #define KEY_DEST_CLASS_MASK (0x03 << KEY_DEST_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) /* Scatter-Gather Table/Variable Length Field */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) #define KEY_SGF 0x01000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) #define KEY_VLF 0x01000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) /* Immediate - Key follows command in the descriptor */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) #define KEY_IMM 0x00800000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) * Encrypted - Key is encrypted either with the KEK, or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) * with the TDKEK if TK is set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) #define KEY_ENC 0x00400000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) * No Write Back - Do not allow key to be FIFO STOREd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) #define KEY_NWB 0x00200000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) * Enhanced Encryption of Key
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) #define KEY_EKT 0x00100000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) * Encrypted with Trusted Key
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) #define KEY_TK 0x00008000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) * KDEST - Key Destination: 0 - class key register,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) * 1 - PKHA 'e', 2 - AFHA Sbox, 3 - MDHA split-key
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) #define KEY_DEST_SHIFT 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) #define KEY_DEST_MASK (0x03 << KEY_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) #define KEY_DEST_CLASS_REG (0x00 << KEY_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) #define KEY_DEST_PKHA_E (0x01 << KEY_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) #define KEY_DEST_AFHA_SBOX (0x02 << KEY_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) #define KEY_DEST_MDHA_SPLIT (0x03 << KEY_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) /* Length in bytes */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) #define KEY_LENGTH_MASK 0x000003ff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) * LOAD/SEQ_LOAD/STORE/SEQ_STORE Command Constructs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) * Load/Store Destination: 0 = class independent CCB,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) * 1 = class 1 CCB, 2 = class 2 CCB, 3 = DECO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) #define LDST_CLASS_SHIFT 25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) #define LDST_CLASS_MASK (0x03 << LDST_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) #define LDST_CLASS_IND_CCB (0x00 << LDST_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) #define LDST_CLASS_1_CCB (0x01 << LDST_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) #define LDST_CLASS_2_CCB (0x02 << LDST_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) #define LDST_CLASS_DECO (0x03 << LDST_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) /* Scatter-Gather Table/Variable Length Field */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) #define LDST_SGF 0x01000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) #define LDST_VLF LDST_SGF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) /* Immediate - Key follows this command in descriptor */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) #define LDST_IMM_MASK 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) #define LDST_IMM_SHIFT 23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) #define LDST_IMM (LDST_IMM_MASK << LDST_IMM_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) /* SRC/DST - Destination for LOAD, Source for STORE */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) #define LDST_SRCDST_SHIFT 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) #define LDST_SRCDST_MASK (0x7f << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) #define LDST_SRCDST_BYTE_CONTEXT (0x20 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) #define LDST_SRCDST_BYTE_KEY (0x40 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) #define LDST_SRCDST_BYTE_INFIFO (0x7c << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) #define LDST_SRCDST_BYTE_OUTFIFO (0x7e << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) #define LDST_SRCDST_WORD_MODE_REG (0x00 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) #define LDST_SRCDST_WORD_KEYSZ_REG (0x01 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) #define LDST_SRCDST_WORD_DATASZ_REG (0x02 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) #define LDST_SRCDST_WORD_ICVSZ_REG (0x03 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) #define LDST_SRCDST_WORD_CHACTRL (0x06 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) #define LDST_SRCDST_WORD_DECOCTRL (0x06 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) #define LDST_SRCDST_WORD_IRQCTRL (0x07 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) #define LDST_SRCDST_WORD_DECO_PCLOVRD (0x07 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) #define LDST_SRCDST_WORD_CLRW (0x08 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) #define LDST_SRCDST_WORD_DECO_MATH0 (0x08 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) #define LDST_SRCDST_WORD_STAT (0x09 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) #define LDST_SRCDST_WORD_DECO_MATH1 (0x09 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) #define LDST_SRCDST_WORD_DECO_MATH2 (0x0a << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) #define LDST_SRCDST_WORD_DECO_AAD_SZ (0x0b << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) #define LDST_SRCDST_WORD_DECO_MATH3 (0x0b << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) #define LDST_SRCDST_WORD_CLASS1_IV_SZ (0x0c << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) #define LDST_SRCDST_WORD_ALTDS_CLASS1 (0x0f << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) #define LDST_SRCDST_WORD_PKHA_A_SZ (0x10 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) #define LDST_SRCDST_WORD_PKHA_B_SZ (0x11 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) #define LDST_SRCDST_WORD_PKHA_N_SZ (0x12 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) #define LDST_SRCDST_WORD_PKHA_E_SZ (0x13 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) #define LDST_SRCDST_WORD_CLASS_CTX (0x20 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) #define LDST_SRCDST_WORD_DESCBUF (0x40 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) #define LDST_SRCDST_WORD_DESCBUF_JOB (0x41 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) #define LDST_SRCDST_WORD_DESCBUF_SHARED (0x42 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) #define LDST_SRCDST_WORD_DESCBUF_JOB_WE (0x45 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) #define LDST_SRCDST_WORD_DESCBUF_SHARED_WE (0x46 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) #define LDST_SRCDST_WORD_INFO_FIFO_SM (0x71 << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) #define LDST_SRCDST_WORD_INFO_FIFO (0x7a << LDST_SRCDST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) /* Offset in source/destination */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) #define LDST_OFFSET_SHIFT 8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) #define LDST_OFFSET_MASK (0xff << LDST_OFFSET_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) /* LDOFF definitions used when DST = LDST_SRCDST_WORD_DECOCTRL */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) /* These could also be shifted by LDST_OFFSET_SHIFT - this reads better */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) #define LDOFF_CHG_SHARE_SHIFT 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) #define LDOFF_CHG_SHARE_MASK (0x3 << LDOFF_CHG_SHARE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) #define LDOFF_CHG_SHARE_NEVER (0x1 << LDOFF_CHG_SHARE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) #define LDOFF_CHG_SHARE_OK_PROP (0x2 << LDOFF_CHG_SHARE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) #define LDOFF_CHG_SHARE_OK_NO_PROP (0x3 << LDOFF_CHG_SHARE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) #define LDOFF_ENABLE_AUTO_NFIFO (1 << 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) #define LDOFF_DISABLE_AUTO_NFIFO (1 << 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) #define LDOFF_CHG_NONSEQLIODN_SHIFT 4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) #define LDOFF_CHG_NONSEQLIODN_MASK (0x3 << LDOFF_CHG_NONSEQLIODN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) #define LDOFF_CHG_NONSEQLIODN_SEQ (0x1 << LDOFF_CHG_NONSEQLIODN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) #define LDOFF_CHG_NONSEQLIODN_NON_SEQ (0x2 << LDOFF_CHG_NONSEQLIODN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) #define LDOFF_CHG_NONSEQLIODN_TRUSTED (0x3 << LDOFF_CHG_NONSEQLIODN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) #define LDOFF_CHG_SEQLIODN_SHIFT 6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) #define LDOFF_CHG_SEQLIODN_MASK (0x3 << LDOFF_CHG_SEQLIODN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) #define LDOFF_CHG_SEQLIODN_SEQ (0x1 << LDOFF_CHG_SEQLIODN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) #define LDOFF_CHG_SEQLIODN_NON_SEQ (0x2 << LDOFF_CHG_SEQLIODN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) #define LDOFF_CHG_SEQLIODN_TRUSTED (0x3 << LDOFF_CHG_SEQLIODN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) /* Data length in bytes */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) #define LDST_LEN_SHIFT 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) #define LDST_LEN_MASK (0xff << LDST_LEN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) /* Special Length definitions when dst=deco-ctrl */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) #define LDLEN_ENABLE_OSL_COUNT (1 << 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) #define LDLEN_RST_CHA_OFIFO_PTR (1 << 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) #define LDLEN_RST_OFIFO (1 << 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) #define LDLEN_SET_OFIFO_OFF_VALID (1 << 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) #define LDLEN_SET_OFIFO_OFF_RSVD (1 << 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) #define LDLEN_SET_OFIFO_OFFSET_SHIFT 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) #define LDLEN_SET_OFIFO_OFFSET_MASK (3 << LDLEN_SET_OFIFO_OFFSET_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) /* Special Length definitions when dst=sm, nfifo-{sm,m} */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) #define LDLEN_MATH0 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) #define LDLEN_MATH1 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) #define LDLEN_MATH2 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) #define LDLEN_MATH3 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) * FIFO_LOAD/FIFO_STORE/SEQ_FIFO_LOAD/SEQ_FIFO_STORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) * Command Constructs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) * Load Destination: 0 = skip (SEQ_FIFO_LOAD only),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) * 1 = Load for Class1, 2 = Load for Class2, 3 = Load both
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) * Store Source: 0 = normal, 1 = Class1key, 2 = Class2key
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) #define FIFOLD_CLASS_SHIFT 25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) #define FIFOLD_CLASS_MASK (0x03 << FIFOLD_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) #define FIFOLD_CLASS_SKIP (0x00 << FIFOLD_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) #define FIFOLD_CLASS_CLASS1 (0x01 << FIFOLD_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) #define FIFOLD_CLASS_CLASS2 (0x02 << FIFOLD_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) #define FIFOLD_CLASS_BOTH (0x03 << FIFOLD_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) #define FIFOST_CLASS_SHIFT 25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) #define FIFOST_CLASS_MASK (0x03 << FIFOST_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) #define FIFOST_CLASS_NORMAL (0x00 << FIFOST_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) #define FIFOST_CLASS_CLASS1KEY (0x01 << FIFOST_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) #define FIFOST_CLASS_CLASS2KEY (0x02 << FIFOST_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) * Scatter-Gather Table/Variable Length Field
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) * If set for FIFO_LOAD, refers to a SG table. Within
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) * SEQ_FIFO_LOAD, is variable input sequence
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) #define FIFOLDST_SGF_SHIFT 24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) #define FIFOLDST_SGF_MASK (1 << FIFOLDST_SGF_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) #define FIFOLDST_VLF_MASK (1 << FIFOLDST_SGF_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) #define FIFOLDST_SGF (1 << FIFOLDST_SGF_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) #define FIFOLDST_VLF (1 << FIFOLDST_SGF_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) /* Immediate - Data follows command in descriptor */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) #define FIFOLD_IMM_SHIFT 23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) #define FIFOLD_IMM_MASK (1 << FIFOLD_IMM_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) #define FIFOLD_IMM (1 << FIFOLD_IMM_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) /* Continue - Not the last FIFO store to come */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) #define FIFOST_CONT_SHIFT 23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) #define FIFOST_CONT_MASK (1 << FIFOST_CONT_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) * Extended Length - use 32-bit extended length that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) * follows the pointer field. Illegal with IMM set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) #define FIFOLDST_EXT_SHIFT 22
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) #define FIFOLDST_EXT_MASK (1 << FIFOLDST_EXT_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) #define FIFOLDST_EXT (1 << FIFOLDST_EXT_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) /* Input data type.*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) #define FIFOLD_TYPE_SHIFT 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) #define FIFOLD_CONT_TYPE_SHIFT 19 /* shift past last-flush bits */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) #define FIFOLD_TYPE_MASK (0x3f << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) /* PK types */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) #define FIFOLD_TYPE_PK (0x00 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) #define FIFOLD_TYPE_PK_MASK (0x30 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) #define FIFOLD_TYPE_PK_TYPEMASK (0x0f << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) #define FIFOLD_TYPE_PK_A0 (0x00 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) #define FIFOLD_TYPE_PK_A1 (0x01 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) #define FIFOLD_TYPE_PK_A2 (0x02 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) #define FIFOLD_TYPE_PK_A3 (0x03 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) #define FIFOLD_TYPE_PK_B0 (0x04 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) #define FIFOLD_TYPE_PK_B1 (0x05 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) #define FIFOLD_TYPE_PK_B2 (0x06 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) #define FIFOLD_TYPE_PK_B3 (0x07 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) #define FIFOLD_TYPE_PK_N (0x08 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) #define FIFOLD_TYPE_PK_A (0x0c << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) #define FIFOLD_TYPE_PK_B (0x0d << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) /* Other types. Need to OR in last/flush bits as desired */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) #define FIFOLD_TYPE_MSG_MASK (0x38 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) #define FIFOLD_TYPE_MSG (0x10 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) #define FIFOLD_TYPE_MSG1OUT2 (0x18 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) #define FIFOLD_TYPE_IV (0x20 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) #define FIFOLD_TYPE_BITDATA (0x28 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) #define FIFOLD_TYPE_AAD (0x30 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) #define FIFOLD_TYPE_ICV (0x38 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) /* Last/Flush bits for use with "other" types above */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) #define FIFOLD_TYPE_ACT_MASK (0x07 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) #define FIFOLD_TYPE_NOACTION (0x00 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) #define FIFOLD_TYPE_FLUSH1 (0x01 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) #define FIFOLD_TYPE_LAST1 (0x02 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) #define FIFOLD_TYPE_LAST2FLUSH (0x03 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) #define FIFOLD_TYPE_LAST2 (0x04 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) #define FIFOLD_TYPE_LAST2FLUSH1 (0x05 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) #define FIFOLD_TYPE_LASTBOTH (0x06 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) #define FIFOLD_TYPE_LASTBOTHFL (0x07 << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) #define FIFOLD_TYPE_NOINFOFIFO (0x0F << FIFOLD_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) #define FIFOLDST_LEN_MASK 0xffff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) #define FIFOLDST_EXT_LEN_MASK 0xffffffff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) /* Output data types */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) #define FIFOST_TYPE_SHIFT 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) #define FIFOST_TYPE_MASK (0x3f << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) #define FIFOST_TYPE_PKHA_A0 (0x00 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) #define FIFOST_TYPE_PKHA_A1 (0x01 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) #define FIFOST_TYPE_PKHA_A2 (0x02 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) #define FIFOST_TYPE_PKHA_A3 (0x03 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) #define FIFOST_TYPE_PKHA_B0 (0x04 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) #define FIFOST_TYPE_PKHA_B1 (0x05 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) #define FIFOST_TYPE_PKHA_B2 (0x06 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) #define FIFOST_TYPE_PKHA_B3 (0x07 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) #define FIFOST_TYPE_PKHA_N (0x08 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) #define FIFOST_TYPE_PKHA_A (0x0c << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) #define FIFOST_TYPE_PKHA_B (0x0d << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) #define FIFOST_TYPE_AF_SBOX_JKEK (0x20 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) #define FIFOST_TYPE_AF_SBOX_TKEK (0x21 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408) #define FIFOST_TYPE_PKHA_E_JKEK (0x22 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) #define FIFOST_TYPE_PKHA_E_TKEK (0x23 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) #define FIFOST_TYPE_KEY_KEK (0x24 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) #define FIFOST_TYPE_KEY_TKEK (0x25 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) #define FIFOST_TYPE_SPLIT_KEK (0x26 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) #define FIFOST_TYPE_SPLIT_TKEK (0x27 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) #define FIFOST_TYPE_OUTFIFO_KEK (0x28 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) #define FIFOST_TYPE_OUTFIFO_TKEK (0x29 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) #define FIFOST_TYPE_MESSAGE_DATA (0x30 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) #define FIFOST_TYPE_RNGSTORE (0x34 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) #define FIFOST_TYPE_RNGFIFO (0x35 << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) #define FIFOST_TYPE_METADATA (0x3e << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) #define FIFOST_TYPE_SKIP (0x3f << FIFOST_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) * OPERATION Command Constructs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) /* Operation type selectors - OP TYPE */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) #define OP_TYPE_SHIFT 24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) #define OP_TYPE_MASK (0x07 << OP_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) #define OP_TYPE_UNI_PROTOCOL (0x00 << OP_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431) #define OP_TYPE_PK (0x01 << OP_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) #define OP_TYPE_CLASS1_ALG (0x02 << OP_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433) #define OP_TYPE_CLASS2_ALG (0x04 << OP_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) #define OP_TYPE_DECAP_PROTOCOL (0x06 << OP_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) #define OP_TYPE_ENCAP_PROTOCOL (0x07 << OP_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) /* ProtocolID selectors - PROTID */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438) #define OP_PCLID_SHIFT 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) #define OP_PCLID_MASK (0xff << 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) /* Assuming OP_TYPE = OP_TYPE_UNI_PROTOCOL */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) #define OP_PCLID_IKEV1_PRF (0x01 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) #define OP_PCLID_IKEV2_PRF (0x02 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) #define OP_PCLID_SSL30_PRF (0x08 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) #define OP_PCLID_TLS10_PRF (0x09 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) #define OP_PCLID_TLS11_PRF (0x0a << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) #define OP_PCLID_DTLS10_PRF (0x0c << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) #define OP_PCLID_PRF (0x06 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) #define OP_PCLID_BLOB (0x0d << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) #define OP_PCLID_SECRETKEY (0x11 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) #define OP_PCLID_PUBLICKEYPAIR (0x14 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452) #define OP_PCLID_DSASIGN (0x15 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) #define OP_PCLID_DSAVERIFY (0x16 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454) #define OP_PCLID_RSAENC_PUBKEY (0x18 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455) #define OP_PCLID_RSADEC_PRVKEY (0x19 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456) #define OP_PCLID_DKP_MD5 (0x20 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) #define OP_PCLID_DKP_SHA1 (0x21 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) #define OP_PCLID_DKP_SHA224 (0x22 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) #define OP_PCLID_DKP_SHA256 (0x23 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) #define OP_PCLID_DKP_SHA384 (0x24 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461) #define OP_PCLID_DKP_SHA512 (0x25 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) #define OP_PCLID_DKP_RIF_MD5 (0x60 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463) #define OP_PCLID_DKP_RIF_SHA1 (0x61 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) #define OP_PCLID_DKP_RIF_SHA224 (0x62 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465) #define OP_PCLID_DKP_RIF_SHA256 (0x63 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) #define OP_PCLID_DKP_RIF_SHA384 (0x64 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467) #define OP_PCLID_DKP_RIF_SHA512 (0x65 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) /* Assuming OP_TYPE = OP_TYPE_DECAP_PROTOCOL/ENCAP_PROTOCOL */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) #define OP_PCLID_IPSEC (0x01 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) #define OP_PCLID_SRTP (0x02 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) #define OP_PCLID_MACSEC (0x03 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) #define OP_PCLID_WIFI (0x04 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) #define OP_PCLID_WIMAX (0x05 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) #define OP_PCLID_SSL30 (0x08 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) #define OP_PCLID_TLS10 (0x09 << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) #define OP_PCLID_TLS11 (0x0a << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) #define OP_PCLID_TLS12 (0x0b << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479) #define OP_PCLID_DTLS (0x0c << OP_PCLID_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) * ProtocolInfo selectors
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) #define OP_PCLINFO_MASK 0xffff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486) /* for OP_PCLID_IPSEC */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487) #define OP_PCL_IPSEC_CIPHER_MASK 0xff00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) #define OP_PCL_IPSEC_AUTH_MASK 0x00ff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) #define OP_PCL_IPSEC_DES_IV64 0x0100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) #define OP_PCL_IPSEC_DES 0x0200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492) #define OP_PCL_IPSEC_3DES 0x0300
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493) #define OP_PCL_IPSEC_AES_CBC 0x0c00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) #define OP_PCL_IPSEC_AES_CTR 0x0d00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) #define OP_PCL_IPSEC_AES_XTS 0x1600
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496) #define OP_PCL_IPSEC_AES_CCM8 0x0e00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) #define OP_PCL_IPSEC_AES_CCM12 0x0f00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) #define OP_PCL_IPSEC_AES_CCM16 0x1000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499) #define OP_PCL_IPSEC_AES_GCM8 0x1200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500) #define OP_PCL_IPSEC_AES_GCM12 0x1300
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501) #define OP_PCL_IPSEC_AES_GCM16 0x1400
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503) #define OP_PCL_IPSEC_HMAC_NULL 0x0000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) #define OP_PCL_IPSEC_HMAC_MD5_96 0x0001
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505) #define OP_PCL_IPSEC_HMAC_SHA1_96 0x0002
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506) #define OP_PCL_IPSEC_AES_XCBC_MAC_96 0x0005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507) #define OP_PCL_IPSEC_HMAC_MD5_128 0x0006
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508) #define OP_PCL_IPSEC_HMAC_SHA1_160 0x0007
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509) #define OP_PCL_IPSEC_HMAC_SHA2_256_128 0x000c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510) #define OP_PCL_IPSEC_HMAC_SHA2_384_192 0x000d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) #define OP_PCL_IPSEC_HMAC_SHA2_512_256 0x000e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513) /* For SRTP - OP_PCLID_SRTP */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514) #define OP_PCL_SRTP_CIPHER_MASK 0xff00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) #define OP_PCL_SRTP_AUTH_MASK 0x00ff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517) #define OP_PCL_SRTP_AES_CTR 0x0d00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) #define OP_PCL_SRTP_HMAC_SHA1_160 0x0007
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521) /* For SSL 3.0 - OP_PCLID_SSL30 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522) #define OP_PCL_SSL30_AES_128_CBC_SHA 0x002f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523) #define OP_PCL_SSL30_AES_128_CBC_SHA_2 0x0030
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524) #define OP_PCL_SSL30_AES_128_CBC_SHA_3 0x0031
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525) #define OP_PCL_SSL30_AES_128_CBC_SHA_4 0x0032
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) #define OP_PCL_SSL30_AES_128_CBC_SHA_5 0x0033
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527) #define OP_PCL_SSL30_AES_128_CBC_SHA_6 0x0034
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528) #define OP_PCL_SSL30_AES_128_CBC_SHA_7 0x008c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) #define OP_PCL_SSL30_AES_128_CBC_SHA_8 0x0090
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530) #define OP_PCL_SSL30_AES_128_CBC_SHA_9 0x0094
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) #define OP_PCL_SSL30_AES_128_CBC_SHA_10 0xc004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532) #define OP_PCL_SSL30_AES_128_CBC_SHA_11 0xc009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) #define OP_PCL_SSL30_AES_128_CBC_SHA_12 0xc00e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534) #define OP_PCL_SSL30_AES_128_CBC_SHA_13 0xc013
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) #define OP_PCL_SSL30_AES_128_CBC_SHA_14 0xc018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) #define OP_PCL_SSL30_AES_128_CBC_SHA_15 0xc01d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) #define OP_PCL_SSL30_AES_128_CBC_SHA_16 0xc01e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538) #define OP_PCL_SSL30_AES_128_CBC_SHA_17 0xc01f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540) #define OP_PCL_SSL30_AES_256_CBC_SHA 0x0035
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541) #define OP_PCL_SSL30_AES_256_CBC_SHA_2 0x0036
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542) #define OP_PCL_SSL30_AES_256_CBC_SHA_3 0x0037
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543) #define OP_PCL_SSL30_AES_256_CBC_SHA_4 0x0038
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) #define OP_PCL_SSL30_AES_256_CBC_SHA_5 0x0039
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545) #define OP_PCL_SSL30_AES_256_CBC_SHA_6 0x003a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546) #define OP_PCL_SSL30_AES_256_CBC_SHA_7 0x008d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547) #define OP_PCL_SSL30_AES_256_CBC_SHA_8 0x0091
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548) #define OP_PCL_SSL30_AES_256_CBC_SHA_9 0x0095
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) #define OP_PCL_SSL30_AES_256_CBC_SHA_10 0xc005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550) #define OP_PCL_SSL30_AES_256_CBC_SHA_11 0xc00a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551) #define OP_PCL_SSL30_AES_256_CBC_SHA_12 0xc00f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552) #define OP_PCL_SSL30_AES_256_CBC_SHA_13 0xc014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553) #define OP_PCL_SSL30_AES_256_CBC_SHA_14 0xc019
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554) #define OP_PCL_SSL30_AES_256_CBC_SHA_15 0xc020
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555) #define OP_PCL_SSL30_AES_256_CBC_SHA_16 0xc021
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) #define OP_PCL_SSL30_AES_256_CBC_SHA_17 0xc022
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) #define OP_PCL_SSL30_3DES_EDE_CBC_MD5 0x0023
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA 0x001f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_2 0x008b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_3 0x008f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_4 0x0093
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_5 0x000a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_6 0x000d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_7 0x0010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_8 0x0013
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_9 0x0016
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_10 0x001b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_11 0xc003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_12 0xc008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_13 0xc00d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_14 0xc012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_15 0xc017
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_16 0xc01a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_17 0xc01b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577) #define OP_PCL_SSL30_3DES_EDE_CBC_SHA_18 0xc01c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579) #define OP_PCL_SSL30_DES40_CBC_MD5 0x0029
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) #define OP_PCL_SSL30_DES_CBC_MD5 0x0022
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583) #define OP_PCL_SSL30_DES40_CBC_SHA 0x0008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) #define OP_PCL_SSL30_DES40_CBC_SHA_2 0x000b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585) #define OP_PCL_SSL30_DES40_CBC_SHA_3 0x000e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) #define OP_PCL_SSL30_DES40_CBC_SHA_4 0x0011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587) #define OP_PCL_SSL30_DES40_CBC_SHA_5 0x0014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588) #define OP_PCL_SSL30_DES40_CBC_SHA_6 0x0019
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) #define OP_PCL_SSL30_DES40_CBC_SHA_7 0x0026
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) #define OP_PCL_SSL30_DES_CBC_SHA 0x001e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) #define OP_PCL_SSL30_DES_CBC_SHA_2 0x0009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) #define OP_PCL_SSL30_DES_CBC_SHA_3 0x000c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 594) #define OP_PCL_SSL30_DES_CBC_SHA_4 0x000f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 595) #define OP_PCL_SSL30_DES_CBC_SHA_5 0x0012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 596) #define OP_PCL_SSL30_DES_CBC_SHA_6 0x0015
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 597) #define OP_PCL_SSL30_DES_CBC_SHA_7 0x001a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 598)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 599) #define OP_PCL_SSL30_RC4_128_MD5 0x0024
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 600) #define OP_PCL_SSL30_RC4_128_MD5_2 0x0004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 601) #define OP_PCL_SSL30_RC4_128_MD5_3 0x0018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 602)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 603) #define OP_PCL_SSL30_RC4_40_MD5 0x002b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 604) #define OP_PCL_SSL30_RC4_40_MD5_2 0x0003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 605) #define OP_PCL_SSL30_RC4_40_MD5_3 0x0017
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 606)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 607) #define OP_PCL_SSL30_RC4_128_SHA 0x0020
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 608) #define OP_PCL_SSL30_RC4_128_SHA_2 0x008a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 609) #define OP_PCL_SSL30_RC4_128_SHA_3 0x008e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 610) #define OP_PCL_SSL30_RC4_128_SHA_4 0x0092
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 611) #define OP_PCL_SSL30_RC4_128_SHA_5 0x0005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 612) #define OP_PCL_SSL30_RC4_128_SHA_6 0xc002
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 613) #define OP_PCL_SSL30_RC4_128_SHA_7 0xc007
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 614) #define OP_PCL_SSL30_RC4_128_SHA_8 0xc00c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 615) #define OP_PCL_SSL30_RC4_128_SHA_9 0xc011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 616) #define OP_PCL_SSL30_RC4_128_SHA_10 0xc016
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 617)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 618) #define OP_PCL_SSL30_RC4_40_SHA 0x0028
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 619)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 620)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 621) /* For TLS 1.0 - OP_PCLID_TLS10 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 622) #define OP_PCL_TLS10_AES_128_CBC_SHA 0x002f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 623) #define OP_PCL_TLS10_AES_128_CBC_SHA_2 0x0030
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 624) #define OP_PCL_TLS10_AES_128_CBC_SHA_3 0x0031
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 625) #define OP_PCL_TLS10_AES_128_CBC_SHA_4 0x0032
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 626) #define OP_PCL_TLS10_AES_128_CBC_SHA_5 0x0033
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 627) #define OP_PCL_TLS10_AES_128_CBC_SHA_6 0x0034
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 628) #define OP_PCL_TLS10_AES_128_CBC_SHA_7 0x008c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 629) #define OP_PCL_TLS10_AES_128_CBC_SHA_8 0x0090
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 630) #define OP_PCL_TLS10_AES_128_CBC_SHA_9 0x0094
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 631) #define OP_PCL_TLS10_AES_128_CBC_SHA_10 0xc004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 632) #define OP_PCL_TLS10_AES_128_CBC_SHA_11 0xc009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 633) #define OP_PCL_TLS10_AES_128_CBC_SHA_12 0xc00e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 634) #define OP_PCL_TLS10_AES_128_CBC_SHA_13 0xc013
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 635) #define OP_PCL_TLS10_AES_128_CBC_SHA_14 0xc018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 636) #define OP_PCL_TLS10_AES_128_CBC_SHA_15 0xc01d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 637) #define OP_PCL_TLS10_AES_128_CBC_SHA_16 0xc01e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 638) #define OP_PCL_TLS10_AES_128_CBC_SHA_17 0xc01f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 639)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 640) #define OP_PCL_TLS10_AES_256_CBC_SHA 0x0035
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 641) #define OP_PCL_TLS10_AES_256_CBC_SHA_2 0x0036
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 642) #define OP_PCL_TLS10_AES_256_CBC_SHA_3 0x0037
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 643) #define OP_PCL_TLS10_AES_256_CBC_SHA_4 0x0038
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 644) #define OP_PCL_TLS10_AES_256_CBC_SHA_5 0x0039
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 645) #define OP_PCL_TLS10_AES_256_CBC_SHA_6 0x003a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 646) #define OP_PCL_TLS10_AES_256_CBC_SHA_7 0x008d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 647) #define OP_PCL_TLS10_AES_256_CBC_SHA_8 0x0091
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 648) #define OP_PCL_TLS10_AES_256_CBC_SHA_9 0x0095
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 649) #define OP_PCL_TLS10_AES_256_CBC_SHA_10 0xc005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 650) #define OP_PCL_TLS10_AES_256_CBC_SHA_11 0xc00a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 651) #define OP_PCL_TLS10_AES_256_CBC_SHA_12 0xc00f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 652) #define OP_PCL_TLS10_AES_256_CBC_SHA_13 0xc014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 653) #define OP_PCL_TLS10_AES_256_CBC_SHA_14 0xc019
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 654) #define OP_PCL_TLS10_AES_256_CBC_SHA_15 0xc020
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 655) #define OP_PCL_TLS10_AES_256_CBC_SHA_16 0xc021
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 656) #define OP_PCL_TLS10_AES_256_CBC_SHA_17 0xc022
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 657)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 658) /* #define OP_PCL_TLS10_3DES_EDE_CBC_MD5 0x0023 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 659)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 660) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA 0x001f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 661) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_2 0x008b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 662) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_3 0x008f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 663) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_4 0x0093
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 664) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_5 0x000a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 665) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_6 0x000d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 666) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_7 0x0010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 667) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_8 0x0013
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 668) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_9 0x0016
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 669) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_10 0x001b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 670) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_11 0xc003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 671) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_12 0xc008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 672) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_13 0xc00d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 673) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_14 0xc012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 674) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_15 0xc017
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 675) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_16 0xc01a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 676) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_17 0xc01b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 677) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA_18 0xc01c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 678)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 679) #define OP_PCL_TLS10_DES40_CBC_MD5 0x0029
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 680)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 681) #define OP_PCL_TLS10_DES_CBC_MD5 0x0022
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 682)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 683) #define OP_PCL_TLS10_DES40_CBC_SHA 0x0008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 684) #define OP_PCL_TLS10_DES40_CBC_SHA_2 0x000b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 685) #define OP_PCL_TLS10_DES40_CBC_SHA_3 0x000e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 686) #define OP_PCL_TLS10_DES40_CBC_SHA_4 0x0011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 687) #define OP_PCL_TLS10_DES40_CBC_SHA_5 0x0014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 688) #define OP_PCL_TLS10_DES40_CBC_SHA_6 0x0019
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 689) #define OP_PCL_TLS10_DES40_CBC_SHA_7 0x0026
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 690)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 691)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 692) #define OP_PCL_TLS10_DES_CBC_SHA 0x001e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 693) #define OP_PCL_TLS10_DES_CBC_SHA_2 0x0009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 694) #define OP_PCL_TLS10_DES_CBC_SHA_3 0x000c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 695) #define OP_PCL_TLS10_DES_CBC_SHA_4 0x000f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 696) #define OP_PCL_TLS10_DES_CBC_SHA_5 0x0012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 697) #define OP_PCL_TLS10_DES_CBC_SHA_6 0x0015
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 698) #define OP_PCL_TLS10_DES_CBC_SHA_7 0x001a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 699)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 700) #define OP_PCL_TLS10_RC4_128_MD5 0x0024
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 701) #define OP_PCL_TLS10_RC4_128_MD5_2 0x0004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 702) #define OP_PCL_TLS10_RC4_128_MD5_3 0x0018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 703)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 704) #define OP_PCL_TLS10_RC4_40_MD5 0x002b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 705) #define OP_PCL_TLS10_RC4_40_MD5_2 0x0003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 706) #define OP_PCL_TLS10_RC4_40_MD5_3 0x0017
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 707)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 708) #define OP_PCL_TLS10_RC4_128_SHA 0x0020
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 709) #define OP_PCL_TLS10_RC4_128_SHA_2 0x008a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 710) #define OP_PCL_TLS10_RC4_128_SHA_3 0x008e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 711) #define OP_PCL_TLS10_RC4_128_SHA_4 0x0092
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 712) #define OP_PCL_TLS10_RC4_128_SHA_5 0x0005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 713) #define OP_PCL_TLS10_RC4_128_SHA_6 0xc002
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 714) #define OP_PCL_TLS10_RC4_128_SHA_7 0xc007
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 715) #define OP_PCL_TLS10_RC4_128_SHA_8 0xc00c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 716) #define OP_PCL_TLS10_RC4_128_SHA_9 0xc011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 717) #define OP_PCL_TLS10_RC4_128_SHA_10 0xc016
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 718)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 719) #define OP_PCL_TLS10_RC4_40_SHA 0x0028
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 720)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 721) #define OP_PCL_TLS10_3DES_EDE_CBC_MD5 0xff23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 722) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA160 0xff30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 723) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA224 0xff34
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 724) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA256 0xff36
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 725) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA384 0xff33
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 726) #define OP_PCL_TLS10_3DES_EDE_CBC_SHA512 0xff35
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 727) #define OP_PCL_TLS10_AES_128_CBC_SHA160 0xff80
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 728) #define OP_PCL_TLS10_AES_128_CBC_SHA224 0xff84
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 729) #define OP_PCL_TLS10_AES_128_CBC_SHA256 0xff86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 730) #define OP_PCL_TLS10_AES_128_CBC_SHA384 0xff83
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 731) #define OP_PCL_TLS10_AES_128_CBC_SHA512 0xff85
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 732) #define OP_PCL_TLS10_AES_192_CBC_SHA160 0xff20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 733) #define OP_PCL_TLS10_AES_192_CBC_SHA224 0xff24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 734) #define OP_PCL_TLS10_AES_192_CBC_SHA256 0xff26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 735) #define OP_PCL_TLS10_AES_192_CBC_SHA384 0xff23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 736) #define OP_PCL_TLS10_AES_192_CBC_SHA512 0xff25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 737) #define OP_PCL_TLS10_AES_256_CBC_SHA160 0xff60
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 738) #define OP_PCL_TLS10_AES_256_CBC_SHA224 0xff64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 739) #define OP_PCL_TLS10_AES_256_CBC_SHA256 0xff66
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 740) #define OP_PCL_TLS10_AES_256_CBC_SHA384 0xff63
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 741) #define OP_PCL_TLS10_AES_256_CBC_SHA512 0xff65
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 742)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 743)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 744)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 745) /* For TLS 1.1 - OP_PCLID_TLS11 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 746) #define OP_PCL_TLS11_AES_128_CBC_SHA 0x002f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 747) #define OP_PCL_TLS11_AES_128_CBC_SHA_2 0x0030
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 748) #define OP_PCL_TLS11_AES_128_CBC_SHA_3 0x0031
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 749) #define OP_PCL_TLS11_AES_128_CBC_SHA_4 0x0032
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 750) #define OP_PCL_TLS11_AES_128_CBC_SHA_5 0x0033
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 751) #define OP_PCL_TLS11_AES_128_CBC_SHA_6 0x0034
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 752) #define OP_PCL_TLS11_AES_128_CBC_SHA_7 0x008c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 753) #define OP_PCL_TLS11_AES_128_CBC_SHA_8 0x0090
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 754) #define OP_PCL_TLS11_AES_128_CBC_SHA_9 0x0094
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 755) #define OP_PCL_TLS11_AES_128_CBC_SHA_10 0xc004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 756) #define OP_PCL_TLS11_AES_128_CBC_SHA_11 0xc009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 757) #define OP_PCL_TLS11_AES_128_CBC_SHA_12 0xc00e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 758) #define OP_PCL_TLS11_AES_128_CBC_SHA_13 0xc013
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 759) #define OP_PCL_TLS11_AES_128_CBC_SHA_14 0xc018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 760) #define OP_PCL_TLS11_AES_128_CBC_SHA_15 0xc01d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 761) #define OP_PCL_TLS11_AES_128_CBC_SHA_16 0xc01e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 762) #define OP_PCL_TLS11_AES_128_CBC_SHA_17 0xc01f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 763)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 764) #define OP_PCL_TLS11_AES_256_CBC_SHA 0x0035
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 765) #define OP_PCL_TLS11_AES_256_CBC_SHA_2 0x0036
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 766) #define OP_PCL_TLS11_AES_256_CBC_SHA_3 0x0037
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 767) #define OP_PCL_TLS11_AES_256_CBC_SHA_4 0x0038
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 768) #define OP_PCL_TLS11_AES_256_CBC_SHA_5 0x0039
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 769) #define OP_PCL_TLS11_AES_256_CBC_SHA_6 0x003a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 770) #define OP_PCL_TLS11_AES_256_CBC_SHA_7 0x008d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 771) #define OP_PCL_TLS11_AES_256_CBC_SHA_8 0x0091
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 772) #define OP_PCL_TLS11_AES_256_CBC_SHA_9 0x0095
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 773) #define OP_PCL_TLS11_AES_256_CBC_SHA_10 0xc005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 774) #define OP_PCL_TLS11_AES_256_CBC_SHA_11 0xc00a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 775) #define OP_PCL_TLS11_AES_256_CBC_SHA_12 0xc00f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 776) #define OP_PCL_TLS11_AES_256_CBC_SHA_13 0xc014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 777) #define OP_PCL_TLS11_AES_256_CBC_SHA_14 0xc019
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 778) #define OP_PCL_TLS11_AES_256_CBC_SHA_15 0xc020
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 779) #define OP_PCL_TLS11_AES_256_CBC_SHA_16 0xc021
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 780) #define OP_PCL_TLS11_AES_256_CBC_SHA_17 0xc022
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 781)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 782) /* #define OP_PCL_TLS11_3DES_EDE_CBC_MD5 0x0023 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 783)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 784) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA 0x001f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 785) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_2 0x008b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 786) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_3 0x008f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 787) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_4 0x0093
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 788) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_5 0x000a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 789) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_6 0x000d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 790) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_7 0x0010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 791) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_8 0x0013
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 792) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_9 0x0016
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 793) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_10 0x001b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 794) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_11 0xc003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 795) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_12 0xc008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 796) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_13 0xc00d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 797) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_14 0xc012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 798) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_15 0xc017
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 799) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_16 0xc01a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 800) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_17 0xc01b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 801) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA_18 0xc01c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 802)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 803) #define OP_PCL_TLS11_DES40_CBC_MD5 0x0029
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 804)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 805) #define OP_PCL_TLS11_DES_CBC_MD5 0x0022
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 806)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 807) #define OP_PCL_TLS11_DES40_CBC_SHA 0x0008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 808) #define OP_PCL_TLS11_DES40_CBC_SHA_2 0x000b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 809) #define OP_PCL_TLS11_DES40_CBC_SHA_3 0x000e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 810) #define OP_PCL_TLS11_DES40_CBC_SHA_4 0x0011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 811) #define OP_PCL_TLS11_DES40_CBC_SHA_5 0x0014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 812) #define OP_PCL_TLS11_DES40_CBC_SHA_6 0x0019
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 813) #define OP_PCL_TLS11_DES40_CBC_SHA_7 0x0026
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 814)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 815) #define OP_PCL_TLS11_DES_CBC_SHA 0x001e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 816) #define OP_PCL_TLS11_DES_CBC_SHA_2 0x0009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 817) #define OP_PCL_TLS11_DES_CBC_SHA_3 0x000c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 818) #define OP_PCL_TLS11_DES_CBC_SHA_4 0x000f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 819) #define OP_PCL_TLS11_DES_CBC_SHA_5 0x0012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 820) #define OP_PCL_TLS11_DES_CBC_SHA_6 0x0015
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 821) #define OP_PCL_TLS11_DES_CBC_SHA_7 0x001a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 822)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 823) #define OP_PCL_TLS11_RC4_128_MD5 0x0024
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 824) #define OP_PCL_TLS11_RC4_128_MD5_2 0x0004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 825) #define OP_PCL_TLS11_RC4_128_MD5_3 0x0018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 826)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 827) #define OP_PCL_TLS11_RC4_40_MD5 0x002b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 828) #define OP_PCL_TLS11_RC4_40_MD5_2 0x0003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 829) #define OP_PCL_TLS11_RC4_40_MD5_3 0x0017
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 830)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 831) #define OP_PCL_TLS11_RC4_128_SHA 0x0020
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 832) #define OP_PCL_TLS11_RC4_128_SHA_2 0x008a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 833) #define OP_PCL_TLS11_RC4_128_SHA_3 0x008e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 834) #define OP_PCL_TLS11_RC4_128_SHA_4 0x0092
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 835) #define OP_PCL_TLS11_RC4_128_SHA_5 0x0005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 836) #define OP_PCL_TLS11_RC4_128_SHA_6 0xc002
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 837) #define OP_PCL_TLS11_RC4_128_SHA_7 0xc007
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 838) #define OP_PCL_TLS11_RC4_128_SHA_8 0xc00c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 839) #define OP_PCL_TLS11_RC4_128_SHA_9 0xc011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 840) #define OP_PCL_TLS11_RC4_128_SHA_10 0xc016
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 841)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 842) #define OP_PCL_TLS11_RC4_40_SHA 0x0028
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 843)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 844) #define OP_PCL_TLS11_3DES_EDE_CBC_MD5 0xff23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 845) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA160 0xff30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 846) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA224 0xff34
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 847) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA256 0xff36
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 848) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA384 0xff33
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 849) #define OP_PCL_TLS11_3DES_EDE_CBC_SHA512 0xff35
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 850) #define OP_PCL_TLS11_AES_128_CBC_SHA160 0xff80
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 851) #define OP_PCL_TLS11_AES_128_CBC_SHA224 0xff84
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 852) #define OP_PCL_TLS11_AES_128_CBC_SHA256 0xff86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 853) #define OP_PCL_TLS11_AES_128_CBC_SHA384 0xff83
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 854) #define OP_PCL_TLS11_AES_128_CBC_SHA512 0xff85
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 855) #define OP_PCL_TLS11_AES_192_CBC_SHA160 0xff20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 856) #define OP_PCL_TLS11_AES_192_CBC_SHA224 0xff24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 857) #define OP_PCL_TLS11_AES_192_CBC_SHA256 0xff26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 858) #define OP_PCL_TLS11_AES_192_CBC_SHA384 0xff23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 859) #define OP_PCL_TLS11_AES_192_CBC_SHA512 0xff25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 860) #define OP_PCL_TLS11_AES_256_CBC_SHA160 0xff60
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 861) #define OP_PCL_TLS11_AES_256_CBC_SHA224 0xff64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 862) #define OP_PCL_TLS11_AES_256_CBC_SHA256 0xff66
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 863) #define OP_PCL_TLS11_AES_256_CBC_SHA384 0xff63
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 864) #define OP_PCL_TLS11_AES_256_CBC_SHA512 0xff65
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 865)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 866)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 867) /* For TLS 1.2 - OP_PCLID_TLS12 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 868) #define OP_PCL_TLS12_AES_128_CBC_SHA 0x002f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 869) #define OP_PCL_TLS12_AES_128_CBC_SHA_2 0x0030
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 870) #define OP_PCL_TLS12_AES_128_CBC_SHA_3 0x0031
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 871) #define OP_PCL_TLS12_AES_128_CBC_SHA_4 0x0032
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 872) #define OP_PCL_TLS12_AES_128_CBC_SHA_5 0x0033
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 873) #define OP_PCL_TLS12_AES_128_CBC_SHA_6 0x0034
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 874) #define OP_PCL_TLS12_AES_128_CBC_SHA_7 0x008c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 875) #define OP_PCL_TLS12_AES_128_CBC_SHA_8 0x0090
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 876) #define OP_PCL_TLS12_AES_128_CBC_SHA_9 0x0094
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 877) #define OP_PCL_TLS12_AES_128_CBC_SHA_10 0xc004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 878) #define OP_PCL_TLS12_AES_128_CBC_SHA_11 0xc009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 879) #define OP_PCL_TLS12_AES_128_CBC_SHA_12 0xc00e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 880) #define OP_PCL_TLS12_AES_128_CBC_SHA_13 0xc013
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 881) #define OP_PCL_TLS12_AES_128_CBC_SHA_14 0xc018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 882) #define OP_PCL_TLS12_AES_128_CBC_SHA_15 0xc01d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 883) #define OP_PCL_TLS12_AES_128_CBC_SHA_16 0xc01e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 884) #define OP_PCL_TLS12_AES_128_CBC_SHA_17 0xc01f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 885)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 886) #define OP_PCL_TLS12_AES_256_CBC_SHA 0x0035
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 887) #define OP_PCL_TLS12_AES_256_CBC_SHA_2 0x0036
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 888) #define OP_PCL_TLS12_AES_256_CBC_SHA_3 0x0037
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 889) #define OP_PCL_TLS12_AES_256_CBC_SHA_4 0x0038
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 890) #define OP_PCL_TLS12_AES_256_CBC_SHA_5 0x0039
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 891) #define OP_PCL_TLS12_AES_256_CBC_SHA_6 0x003a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 892) #define OP_PCL_TLS12_AES_256_CBC_SHA_7 0x008d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 893) #define OP_PCL_TLS12_AES_256_CBC_SHA_8 0x0091
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 894) #define OP_PCL_TLS12_AES_256_CBC_SHA_9 0x0095
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 895) #define OP_PCL_TLS12_AES_256_CBC_SHA_10 0xc005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 896) #define OP_PCL_TLS12_AES_256_CBC_SHA_11 0xc00a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 897) #define OP_PCL_TLS12_AES_256_CBC_SHA_12 0xc00f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 898) #define OP_PCL_TLS12_AES_256_CBC_SHA_13 0xc014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 899) #define OP_PCL_TLS12_AES_256_CBC_SHA_14 0xc019
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 900) #define OP_PCL_TLS12_AES_256_CBC_SHA_15 0xc020
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 901) #define OP_PCL_TLS12_AES_256_CBC_SHA_16 0xc021
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 902) #define OP_PCL_TLS12_AES_256_CBC_SHA_17 0xc022
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 903)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 904) /* #define OP_PCL_TLS12_3DES_EDE_CBC_MD5 0x0023 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 905)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 906) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA 0x001f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 907) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_2 0x008b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 908) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_3 0x008f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 909) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_4 0x0093
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 910) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_5 0x000a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 911) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_6 0x000d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 912) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_7 0x0010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 913) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_8 0x0013
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 914) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_9 0x0016
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 915) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_10 0x001b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 916) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_11 0xc003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 917) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_12 0xc008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 918) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_13 0xc00d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 919) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_14 0xc012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 920) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_15 0xc017
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 921) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_16 0xc01a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 922) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_17 0xc01b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 923) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA_18 0xc01c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 924)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 925) #define OP_PCL_TLS12_DES40_CBC_MD5 0x0029
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 926)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 927) #define OP_PCL_TLS12_DES_CBC_MD5 0x0022
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 928)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 929) #define OP_PCL_TLS12_DES40_CBC_SHA 0x0008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 930) #define OP_PCL_TLS12_DES40_CBC_SHA_2 0x000b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 931) #define OP_PCL_TLS12_DES40_CBC_SHA_3 0x000e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 932) #define OP_PCL_TLS12_DES40_CBC_SHA_4 0x0011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 933) #define OP_PCL_TLS12_DES40_CBC_SHA_5 0x0014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 934) #define OP_PCL_TLS12_DES40_CBC_SHA_6 0x0019
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 935) #define OP_PCL_TLS12_DES40_CBC_SHA_7 0x0026
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 936)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 937) #define OP_PCL_TLS12_DES_CBC_SHA 0x001e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 938) #define OP_PCL_TLS12_DES_CBC_SHA_2 0x0009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 939) #define OP_PCL_TLS12_DES_CBC_SHA_3 0x000c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 940) #define OP_PCL_TLS12_DES_CBC_SHA_4 0x000f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 941) #define OP_PCL_TLS12_DES_CBC_SHA_5 0x0012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 942) #define OP_PCL_TLS12_DES_CBC_SHA_6 0x0015
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 943) #define OP_PCL_TLS12_DES_CBC_SHA_7 0x001a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 944)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 945) #define OP_PCL_TLS12_RC4_128_MD5 0x0024
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 946) #define OP_PCL_TLS12_RC4_128_MD5_2 0x0004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 947) #define OP_PCL_TLS12_RC4_128_MD5_3 0x0018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 948)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 949) #define OP_PCL_TLS12_RC4_40_MD5 0x002b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 950) #define OP_PCL_TLS12_RC4_40_MD5_2 0x0003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 951) #define OP_PCL_TLS12_RC4_40_MD5_3 0x0017
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 952)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 953) #define OP_PCL_TLS12_RC4_128_SHA 0x0020
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 954) #define OP_PCL_TLS12_RC4_128_SHA_2 0x008a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 955) #define OP_PCL_TLS12_RC4_128_SHA_3 0x008e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 956) #define OP_PCL_TLS12_RC4_128_SHA_4 0x0092
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 957) #define OP_PCL_TLS12_RC4_128_SHA_5 0x0005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 958) #define OP_PCL_TLS12_RC4_128_SHA_6 0xc002
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 959) #define OP_PCL_TLS12_RC4_128_SHA_7 0xc007
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 960) #define OP_PCL_TLS12_RC4_128_SHA_8 0xc00c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 961) #define OP_PCL_TLS12_RC4_128_SHA_9 0xc011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 962) #define OP_PCL_TLS12_RC4_128_SHA_10 0xc016
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 963)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 964) #define OP_PCL_TLS12_RC4_40_SHA 0x0028
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 965)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 966) /* #define OP_PCL_TLS12_AES_128_CBC_SHA256 0x003c */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 967) #define OP_PCL_TLS12_AES_128_CBC_SHA256_2 0x003e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 968) #define OP_PCL_TLS12_AES_128_CBC_SHA256_3 0x003f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 969) #define OP_PCL_TLS12_AES_128_CBC_SHA256_4 0x0040
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 970) #define OP_PCL_TLS12_AES_128_CBC_SHA256_5 0x0067
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 971) #define OP_PCL_TLS12_AES_128_CBC_SHA256_6 0x006c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 972)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 973) /* #define OP_PCL_TLS12_AES_256_CBC_SHA256 0x003d */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 974) #define OP_PCL_TLS12_AES_256_CBC_SHA256_2 0x0068
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 975) #define OP_PCL_TLS12_AES_256_CBC_SHA256_3 0x0069
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 976) #define OP_PCL_TLS12_AES_256_CBC_SHA256_4 0x006a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 977) #define OP_PCL_TLS12_AES_256_CBC_SHA256_5 0x006b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 978) #define OP_PCL_TLS12_AES_256_CBC_SHA256_6 0x006d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 979)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 980) /* AEAD_AES_xxx_CCM/GCM remain to be defined... */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 981)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 982) #define OP_PCL_TLS12_3DES_EDE_CBC_MD5 0xff23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 983) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA160 0xff30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 984) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA224 0xff34
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 985) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA256 0xff36
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 986) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA384 0xff33
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 987) #define OP_PCL_TLS12_3DES_EDE_CBC_SHA512 0xff35
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 988) #define OP_PCL_TLS12_AES_128_CBC_SHA160 0xff80
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 989) #define OP_PCL_TLS12_AES_128_CBC_SHA224 0xff84
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 990) #define OP_PCL_TLS12_AES_128_CBC_SHA256 0xff86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 991) #define OP_PCL_TLS12_AES_128_CBC_SHA384 0xff83
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 992) #define OP_PCL_TLS12_AES_128_CBC_SHA512 0xff85
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 993) #define OP_PCL_TLS12_AES_192_CBC_SHA160 0xff20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 994) #define OP_PCL_TLS12_AES_192_CBC_SHA224 0xff24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 995) #define OP_PCL_TLS12_AES_192_CBC_SHA256 0xff26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 996) #define OP_PCL_TLS12_AES_192_CBC_SHA384 0xff23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 997) #define OP_PCL_TLS12_AES_192_CBC_SHA512 0xff25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 998) #define OP_PCL_TLS12_AES_256_CBC_SHA160 0xff60
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 999) #define OP_PCL_TLS12_AES_256_CBC_SHA224 0xff64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1000) #define OP_PCL_TLS12_AES_256_CBC_SHA256 0xff66
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1001) #define OP_PCL_TLS12_AES_256_CBC_SHA384 0xff63
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1002) #define OP_PCL_TLS12_AES_256_CBC_SHA512 0xff65
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1003)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1004) /* For DTLS - OP_PCLID_DTLS */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1005)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1006) #define OP_PCL_DTLS_AES_128_CBC_SHA 0x002f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1007) #define OP_PCL_DTLS_AES_128_CBC_SHA_2 0x0030
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1008) #define OP_PCL_DTLS_AES_128_CBC_SHA_3 0x0031
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1009) #define OP_PCL_DTLS_AES_128_CBC_SHA_4 0x0032
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1010) #define OP_PCL_DTLS_AES_128_CBC_SHA_5 0x0033
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1011) #define OP_PCL_DTLS_AES_128_CBC_SHA_6 0x0034
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1012) #define OP_PCL_DTLS_AES_128_CBC_SHA_7 0x008c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1013) #define OP_PCL_DTLS_AES_128_CBC_SHA_8 0x0090
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1014) #define OP_PCL_DTLS_AES_128_CBC_SHA_9 0x0094
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1015) #define OP_PCL_DTLS_AES_128_CBC_SHA_10 0xc004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1016) #define OP_PCL_DTLS_AES_128_CBC_SHA_11 0xc009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1017) #define OP_PCL_DTLS_AES_128_CBC_SHA_12 0xc00e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1018) #define OP_PCL_DTLS_AES_128_CBC_SHA_13 0xc013
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1019) #define OP_PCL_DTLS_AES_128_CBC_SHA_14 0xc018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1020) #define OP_PCL_DTLS_AES_128_CBC_SHA_15 0xc01d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1021) #define OP_PCL_DTLS_AES_128_CBC_SHA_16 0xc01e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1022) #define OP_PCL_DTLS_AES_128_CBC_SHA_17 0xc01f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1023)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1024) #define OP_PCL_DTLS_AES_256_CBC_SHA 0x0035
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1025) #define OP_PCL_DTLS_AES_256_CBC_SHA_2 0x0036
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1026) #define OP_PCL_DTLS_AES_256_CBC_SHA_3 0x0037
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1027) #define OP_PCL_DTLS_AES_256_CBC_SHA_4 0x0038
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1028) #define OP_PCL_DTLS_AES_256_CBC_SHA_5 0x0039
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1029) #define OP_PCL_DTLS_AES_256_CBC_SHA_6 0x003a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1030) #define OP_PCL_DTLS_AES_256_CBC_SHA_7 0x008d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1031) #define OP_PCL_DTLS_AES_256_CBC_SHA_8 0x0091
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1032) #define OP_PCL_DTLS_AES_256_CBC_SHA_9 0x0095
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1033) #define OP_PCL_DTLS_AES_256_CBC_SHA_10 0xc005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1034) #define OP_PCL_DTLS_AES_256_CBC_SHA_11 0xc00a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1035) #define OP_PCL_DTLS_AES_256_CBC_SHA_12 0xc00f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1036) #define OP_PCL_DTLS_AES_256_CBC_SHA_13 0xc014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1037) #define OP_PCL_DTLS_AES_256_CBC_SHA_14 0xc019
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1038) #define OP_PCL_DTLS_AES_256_CBC_SHA_15 0xc020
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1039) #define OP_PCL_DTLS_AES_256_CBC_SHA_16 0xc021
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1040) #define OP_PCL_DTLS_AES_256_CBC_SHA_17 0xc022
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1041)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1042) /* #define OP_PCL_DTLS_3DES_EDE_CBC_MD5 0x0023 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1043)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1044) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA 0x001f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1045) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_2 0x008b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1046) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_3 0x008f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1047) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_4 0x0093
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1048) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_5 0x000a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1049) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_6 0x000d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1050) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_7 0x0010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1051) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_8 0x0013
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1052) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_9 0x0016
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1053) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_10 0x001b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1054) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_11 0xc003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1055) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_12 0xc008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1056) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_13 0xc00d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1057) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_14 0xc012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1058) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_15 0xc017
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1059) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_16 0xc01a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1060) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_17 0xc01b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1061) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA_18 0xc01c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1062)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1063) #define OP_PCL_DTLS_DES40_CBC_MD5 0x0029
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1064)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1065) #define OP_PCL_DTLS_DES_CBC_MD5 0x0022
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1066)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1067) #define OP_PCL_DTLS_DES40_CBC_SHA 0x0008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1068) #define OP_PCL_DTLS_DES40_CBC_SHA_2 0x000b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1069) #define OP_PCL_DTLS_DES40_CBC_SHA_3 0x000e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1070) #define OP_PCL_DTLS_DES40_CBC_SHA_4 0x0011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1071) #define OP_PCL_DTLS_DES40_CBC_SHA_5 0x0014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1072) #define OP_PCL_DTLS_DES40_CBC_SHA_6 0x0019
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1073) #define OP_PCL_DTLS_DES40_CBC_SHA_7 0x0026
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1074)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1075)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1076) #define OP_PCL_DTLS_DES_CBC_SHA 0x001e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1077) #define OP_PCL_DTLS_DES_CBC_SHA_2 0x0009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1078) #define OP_PCL_DTLS_DES_CBC_SHA_3 0x000c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1079) #define OP_PCL_DTLS_DES_CBC_SHA_4 0x000f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1080) #define OP_PCL_DTLS_DES_CBC_SHA_5 0x0012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1081) #define OP_PCL_DTLS_DES_CBC_SHA_6 0x0015
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1082) #define OP_PCL_DTLS_DES_CBC_SHA_7 0x001a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1083)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1084)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1085) #define OP_PCL_DTLS_3DES_EDE_CBC_MD5 0xff23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1086) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA160 0xff30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1087) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA224 0xff34
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1088) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA256 0xff36
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1089) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA384 0xff33
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1090) #define OP_PCL_DTLS_3DES_EDE_CBC_SHA512 0xff35
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1091) #define OP_PCL_DTLS_AES_128_CBC_SHA160 0xff80
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1092) #define OP_PCL_DTLS_AES_128_CBC_SHA224 0xff84
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1093) #define OP_PCL_DTLS_AES_128_CBC_SHA256 0xff86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1094) #define OP_PCL_DTLS_AES_128_CBC_SHA384 0xff83
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1095) #define OP_PCL_DTLS_AES_128_CBC_SHA512 0xff85
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1096) #define OP_PCL_DTLS_AES_192_CBC_SHA160 0xff20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1097) #define OP_PCL_DTLS_AES_192_CBC_SHA224 0xff24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1098) #define OP_PCL_DTLS_AES_192_CBC_SHA256 0xff26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1099) #define OP_PCL_DTLS_AES_192_CBC_SHA384 0xff23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1100) #define OP_PCL_DTLS_AES_192_CBC_SHA512 0xff25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1101) #define OP_PCL_DTLS_AES_256_CBC_SHA160 0xff60
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1102) #define OP_PCL_DTLS_AES_256_CBC_SHA224 0xff64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1103) #define OP_PCL_DTLS_AES_256_CBC_SHA256 0xff66
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1104) #define OP_PCL_DTLS_AES_256_CBC_SHA384 0xff63
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1105) #define OP_PCL_DTLS_AES_256_CBC_SHA512 0xff65
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1106)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1107) /* 802.16 WiMAX protinfos */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1108) #define OP_PCL_WIMAX_OFDM 0x0201
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1109) #define OP_PCL_WIMAX_OFDMA 0x0231
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1111) /* 802.11 WiFi protinfos */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1112) #define OP_PCL_WIFI 0xac04
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1113)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1114) /* MacSec protinfos */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1115) #define OP_PCL_MACSEC 0x0001
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1116)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1117) /* Derived Key Protocol (DKP) Protinfo */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1118) #define OP_PCL_DKP_SRC_SHIFT 14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1119) #define OP_PCL_DKP_SRC_MASK (3 << OP_PCL_DKP_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1120) #define OP_PCL_DKP_SRC_IMM (0 << OP_PCL_DKP_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1121) #define OP_PCL_DKP_SRC_SEQ (1 << OP_PCL_DKP_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1122) #define OP_PCL_DKP_SRC_PTR (2 << OP_PCL_DKP_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1123) #define OP_PCL_DKP_SRC_SGF (3 << OP_PCL_DKP_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1124) #define OP_PCL_DKP_DST_SHIFT 12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1125) #define OP_PCL_DKP_DST_MASK (3 << OP_PCL_DKP_DST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1126) #define OP_PCL_DKP_DST_IMM (0 << OP_PCL_DKP_DST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1127) #define OP_PCL_DKP_DST_SEQ (1 << OP_PCL_DKP_DST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1128) #define OP_PCL_DKP_DST_PTR (2 << OP_PCL_DKP_DST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1129) #define OP_PCL_DKP_DST_SGF (3 << OP_PCL_DKP_DST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1130) #define OP_PCL_DKP_KEY_SHIFT 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1131) #define OP_PCL_DKP_KEY_MASK (0xfff << OP_PCL_DKP_KEY_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1132)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1133) /* PKI unidirectional protocol protinfo bits */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1134) #define OP_PCL_PKPROT_TEST 0x0008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1135) #define OP_PCL_PKPROT_DECRYPT 0x0004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1136) #define OP_PCL_PKPROT_ECC 0x0002
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1137) #define OP_PCL_PKPROT_F2M 0x0001
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1138)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1139) /* For non-protocol/alg-only op commands */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1140) #define OP_ALG_TYPE_SHIFT 24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1141) #define OP_ALG_TYPE_MASK (0x7 << OP_ALG_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1142) #define OP_ALG_TYPE_CLASS1 (2 << OP_ALG_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1143) #define OP_ALG_TYPE_CLASS2 (4 << OP_ALG_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1144)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1145) /* version register fields */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1146) #define OP_VER_CCHA_NUM 0x000000ff /* Number CCHAs instantiated */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1147) #define OP_VER_CCHA_MISC 0x0000ff00 /* CCHA Miscellaneous Information */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1148) #define OP_VER_CCHA_REV 0x00ff0000 /* CCHA Revision Number */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1149) #define OP_VER_CCHA_VID 0xff000000 /* CCHA Version ID */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1150)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1151) #define OP_ALG_ALGSEL_SHIFT 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1152) #define OP_ALG_ALGSEL_MASK (0xff << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1153) #define OP_ALG_ALGSEL_SUBMASK (0x0f << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1154) #define OP_ALG_ALGSEL_AES (0x10 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1155) #define OP_ALG_ALGSEL_DES (0x20 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1156) #define OP_ALG_ALGSEL_3DES (0x21 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1157) #define OP_ALG_ALGSEL_ARC4 (0x30 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1158) #define OP_ALG_CHA_MDHA (0x40 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1159) #define OP_ALG_ALGSEL_MD5 (0x40 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1160) #define OP_ALG_ALGSEL_SHA1 (0x41 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1161) #define OP_ALG_ALGSEL_SHA224 (0x42 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1162) #define OP_ALG_ALGSEL_SHA256 (0x43 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1163) #define OP_ALG_ALGSEL_SHA384 (0x44 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1164) #define OP_ALG_ALGSEL_SHA512 (0x45 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1165) #define OP_ALG_ALGSEL_RNG (0x50 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1166) #define OP_ALG_ALGSEL_SNOW (0x60 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1167) #define OP_ALG_ALGSEL_SNOW_F8 (0x60 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1168) #define OP_ALG_ALGSEL_KASUMI (0x70 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1169) #define OP_ALG_ALGSEL_CRC (0x90 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1170) #define OP_ALG_ALGSEL_SNOW_F9 (0xA0 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1171) #define OP_ALG_ALGSEL_CHACHA20 (0xD0 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1172) #define OP_ALG_ALGSEL_POLY1305 (0xE0 << OP_ALG_ALGSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1173)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1174) #define OP_ALG_AAI_SHIFT 4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1175) #define OP_ALG_AAI_MASK (0x1ff << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1176)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1177) /* blockcipher AAI set */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1178) #define OP_ALG_AAI_CTR_MOD128 (0x00 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1179) #define OP_ALG_AAI_CTR_MOD8 (0x01 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1180) #define OP_ALG_AAI_CTR_MOD16 (0x02 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1181) #define OP_ALG_AAI_CTR_MOD24 (0x03 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1182) #define OP_ALG_AAI_CTR_MOD32 (0x04 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1183) #define OP_ALG_AAI_CTR_MOD40 (0x05 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1184) #define OP_ALG_AAI_CTR_MOD48 (0x06 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1185) #define OP_ALG_AAI_CTR_MOD56 (0x07 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1186) #define OP_ALG_AAI_CTR_MOD64 (0x08 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1187) #define OP_ALG_AAI_CTR_MOD72 (0x09 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1188) #define OP_ALG_AAI_CTR_MOD80 (0x0a << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1189) #define OP_ALG_AAI_CTR_MOD88 (0x0b << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1190) #define OP_ALG_AAI_CTR_MOD96 (0x0c << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1191) #define OP_ALG_AAI_CTR_MOD104 (0x0d << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1192) #define OP_ALG_AAI_CTR_MOD112 (0x0e << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1193) #define OP_ALG_AAI_CTR_MOD120 (0x0f << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1194) #define OP_ALG_AAI_CBC (0x10 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1195) #define OP_ALG_AAI_ECB (0x20 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1196) #define OP_ALG_AAI_CFB (0x30 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1197) #define OP_ALG_AAI_OFB (0x40 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1198) #define OP_ALG_AAI_XTS (0x50 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1199) #define OP_ALG_AAI_CMAC (0x60 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1200) #define OP_ALG_AAI_XCBC_MAC (0x70 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1201) #define OP_ALG_AAI_CCM (0x80 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1202) #define OP_ALG_AAI_GCM (0x90 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1203) #define OP_ALG_AAI_CBC_XCBCMAC (0xa0 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1204) #define OP_ALG_AAI_CTR_XCBCMAC (0xb0 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1205) #define OP_ALG_AAI_CHECKODD (0x80 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1206) #define OP_ALG_AAI_DK (0x100 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1207)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1208) /* randomizer AAI set */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1209) #define OP_ALG_AAI_RNG (0x00 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1210) #define OP_ALG_AAI_RNG_NZB (0x10 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1211) #define OP_ALG_AAI_RNG_OBP (0x20 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1212)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1213) /* RNG4 AAI set */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1214) #define OP_ALG_AAI_RNG4_SH_0 (0x00 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1215) #define OP_ALG_AAI_RNG4_SH_1 (0x01 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1216) #define OP_ALG_AAI_RNG4_PS (0x40 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1217) #define OP_ALG_AAI_RNG4_AI (0x80 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1218) #define OP_ALG_AAI_RNG4_SK (0x100 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1219)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1220) /* Chacha20 AAI set */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1221) #define OP_ALG_AAI_AEAD (0x002 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1222) #define OP_ALG_AAI_KEYSTREAM (0x001 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1223) #define OP_ALG_AAI_BC8 (0x008 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1224)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1225) /* hmac/smac AAI set */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1226) #define OP_ALG_AAI_HASH (0x00 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1227) #define OP_ALG_AAI_HMAC (0x01 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1228) #define OP_ALG_AAI_SMAC (0x02 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1229) #define OP_ALG_AAI_HMAC_PRECOMP (0x04 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1230)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1231) /* CRC AAI set*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1232) #define OP_ALG_AAI_802 (0x01 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1233) #define OP_ALG_AAI_3385 (0x02 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1234) #define OP_ALG_AAI_CUST_POLY (0x04 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1235) #define OP_ALG_AAI_DIS (0x10 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1236) #define OP_ALG_AAI_DOS (0x20 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1237) #define OP_ALG_AAI_DOC (0x40 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1238)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1239) /* Kasumi/SNOW AAI set */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1240) #define OP_ALG_AAI_F8 (0xc0 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1241) #define OP_ALG_AAI_F9 (0xc8 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1242) #define OP_ALG_AAI_GSM (0x10 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1243) #define OP_ALG_AAI_EDGE (0x20 << OP_ALG_AAI_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1244)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1245) #define OP_ALG_AS_SHIFT 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1246) #define OP_ALG_AS_MASK (0x3 << OP_ALG_AS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1247) #define OP_ALG_AS_UPDATE (0 << OP_ALG_AS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1248) #define OP_ALG_AS_INIT (1 << OP_ALG_AS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1249) #define OP_ALG_AS_FINALIZE (2 << OP_ALG_AS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1250) #define OP_ALG_AS_INITFINAL (3 << OP_ALG_AS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1251)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1252) #define OP_ALG_ICV_SHIFT 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1253) #define OP_ALG_ICV_MASK (1 << OP_ALG_ICV_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1254) #define OP_ALG_ICV_OFF (0 << OP_ALG_ICV_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1255) #define OP_ALG_ICV_ON (1 << OP_ALG_ICV_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1256)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1257) #define OP_ALG_PR_ON BIT(1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1258)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1259) #define OP_ALG_DIR_SHIFT 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1260) #define OP_ALG_DIR_MASK 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1261) #define OP_ALG_DECRYPT 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1262) #define OP_ALG_ENCRYPT 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1263)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1264) /* PKHA algorithm type set */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1265) #define OP_ALG_PK 0x00800000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1266) #define OP_ALG_PK_FUN_MASK 0x3f /* clrmem, modmath, or cpymem */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1267)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1268) /* PKHA mode clear memory functions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1269) #define OP_ALG_PKMODE_A_RAM 0x80000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1270) #define OP_ALG_PKMODE_B_RAM 0x40000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1271) #define OP_ALG_PKMODE_E_RAM 0x20000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1272) #define OP_ALG_PKMODE_N_RAM 0x10000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1273) #define OP_ALG_PKMODE_CLEARMEM 0x00001
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1274)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1275) /* PKHA mode modular-arithmetic functions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1276) #define OP_ALG_PKMODE_MOD_IN_MONTY 0x80000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1277) #define OP_ALG_PKMODE_MOD_OUT_MONTY 0x40000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1278) #define OP_ALG_PKMODE_MOD_F2M 0x20000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1279) #define OP_ALG_PKMODE_MOD_R2_IN 0x10000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1280) #define OP_ALG_PKMODE_PRJECTV 0x00800
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1281) #define OP_ALG_PKMODE_TIME_EQ 0x400
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1282) #define OP_ALG_PKMODE_OUT_B 0x000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1283) #define OP_ALG_PKMODE_OUT_A 0x100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1284) #define OP_ALG_PKMODE_MOD_ADD 0x002
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1285) #define OP_ALG_PKMODE_MOD_SUB_AB 0x003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1286) #define OP_ALG_PKMODE_MOD_SUB_BA 0x004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1287) #define OP_ALG_PKMODE_MOD_MULT 0x005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1288) #define OP_ALG_PKMODE_MOD_EXPO 0x006
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1289) #define OP_ALG_PKMODE_MOD_REDUCT 0x007
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1290) #define OP_ALG_PKMODE_MOD_INV 0x008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1291) #define OP_ALG_PKMODE_MOD_ECC_ADD 0x009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1292) #define OP_ALG_PKMODE_MOD_ECC_DBL 0x00a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1293) #define OP_ALG_PKMODE_MOD_ECC_MULT 0x00b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1294) #define OP_ALG_PKMODE_MOD_MONT_CNST 0x00c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1295) #define OP_ALG_PKMODE_MOD_CRT_CNST 0x00d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1296) #define OP_ALG_PKMODE_MOD_GCD 0x00e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1297) #define OP_ALG_PKMODE_MOD_PRIMALITY 0x00f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1298)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1299) /* PKHA mode copy-memory functions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1300) #define OP_ALG_PKMODE_SRC_REG_SHIFT 17
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1301) #define OP_ALG_PKMODE_SRC_REG_MASK (7 << OP_ALG_PKMODE_SRC_REG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1302) #define OP_ALG_PKMODE_DST_REG_SHIFT 10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1303) #define OP_ALG_PKMODE_DST_REG_MASK (7 << OP_ALG_PKMODE_DST_REG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1304) #define OP_ALG_PKMODE_SRC_SEG_SHIFT 8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1305) #define OP_ALG_PKMODE_SRC_SEG_MASK (3 << OP_ALG_PKMODE_SRC_SEG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1306) #define OP_ALG_PKMODE_DST_SEG_SHIFT 6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1307) #define OP_ALG_PKMODE_DST_SEG_MASK (3 << OP_ALG_PKMODE_DST_SEG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1308)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1309) #define OP_ALG_PKMODE_SRC_REG_A (0 << OP_ALG_PKMODE_SRC_REG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1310) #define OP_ALG_PKMODE_SRC_REG_B (1 << OP_ALG_PKMODE_SRC_REG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1311) #define OP_ALG_PKMODE_SRC_REG_N (3 << OP_ALG_PKMODE_SRC_REG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1312) #define OP_ALG_PKMODE_DST_REG_A (0 << OP_ALG_PKMODE_DST_REG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1313) #define OP_ALG_PKMODE_DST_REG_B (1 << OP_ALG_PKMODE_DST_REG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1314) #define OP_ALG_PKMODE_DST_REG_E (2 << OP_ALG_PKMODE_DST_REG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1315) #define OP_ALG_PKMODE_DST_REG_N (3 << OP_ALG_PKMODE_DST_REG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1316) #define OP_ALG_PKMODE_SRC_SEG_0 (0 << OP_ALG_PKMODE_SRC_SEG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1317) #define OP_ALG_PKMODE_SRC_SEG_1 (1 << OP_ALG_PKMODE_SRC_SEG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1318) #define OP_ALG_PKMODE_SRC_SEG_2 (2 << OP_ALG_PKMODE_SRC_SEG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1319) #define OP_ALG_PKMODE_SRC_SEG_3 (3 << OP_ALG_PKMODE_SRC_SEG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1320) #define OP_ALG_PKMODE_DST_SEG_0 (0 << OP_ALG_PKMODE_DST_SEG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1321) #define OP_ALG_PKMODE_DST_SEG_1 (1 << OP_ALG_PKMODE_DST_SEG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1322) #define OP_ALG_PKMODE_DST_SEG_2 (2 << OP_ALG_PKMODE_DST_SEG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1323) #define OP_ALG_PKMODE_DST_SEG_3 (3 << OP_ALG_PKMODE_DST_SEG_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1324) #define OP_ALG_PKMODE_CPYMEM_N_SZ 0x80
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1325) #define OP_ALG_PKMODE_CPYMEM_SRC_SZ 0x81
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1326)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1327) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1328) * SEQ_IN_PTR Command Constructs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1329) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1330)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1331) /* Release Buffers */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1332) #define SQIN_RBS 0x04000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1333)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1334) /* Sequence pointer is really a descriptor */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1335) #define SQIN_INL 0x02000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1336)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1337) /* Sequence pointer is a scatter-gather table */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1338) #define SQIN_SGF 0x01000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1339)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1340) /* Appends to a previous pointer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1341) #define SQIN_PRE 0x00800000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1342)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1343) /* Use extended length following pointer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1344) #define SQIN_EXT 0x00400000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1345)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1346) /* Restore sequence with pointer/length */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1347) #define SQIN_RTO 0x00200000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1348)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1349) /* Replace job descriptor */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1350) #define SQIN_RJD 0x00100000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1351)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1352) #define SQIN_LEN_SHIFT 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1353) #define SQIN_LEN_MASK (0xffff << SQIN_LEN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1354)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1355) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1356) * SEQ_OUT_PTR Command Constructs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1357) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1358)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1359) /* Sequence pointer is a scatter-gather table */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1360) #define SQOUT_SGF 0x01000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1361)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1362) /* Appends to a previous pointer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1363) #define SQOUT_PRE SQIN_PRE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1364)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1365) /* Restore sequence with pointer/length */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1366) #define SQOUT_RTO SQIN_RTO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1367)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1368) /* Use extended length following pointer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1369) #define SQOUT_EXT 0x00400000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1370)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1371) #define SQOUT_LEN_SHIFT 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1372) #define SQOUT_LEN_MASK (0xffff << SQOUT_LEN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1373)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1374)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1375) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1376) * SIGNATURE Command Constructs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1377) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1378)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1379) /* TYPE field is all that's relevant */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1380) #define SIGN_TYPE_SHIFT 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1381) #define SIGN_TYPE_MASK (0x0f << SIGN_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1382)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1383) #define SIGN_TYPE_FINAL (0x00 << SIGN_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1384) #define SIGN_TYPE_FINAL_RESTORE (0x01 << SIGN_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1385) #define SIGN_TYPE_FINAL_NONZERO (0x02 << SIGN_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1386) #define SIGN_TYPE_IMM_2 (0x0a << SIGN_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1387) #define SIGN_TYPE_IMM_3 (0x0b << SIGN_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1388) #define SIGN_TYPE_IMM_4 (0x0c << SIGN_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1389)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1390) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1391) * MOVE Command Constructs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1392) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1393)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1394) #define MOVE_AUX_SHIFT 25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1395) #define MOVE_AUX_MASK (3 << MOVE_AUX_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1396) #define MOVE_AUX_MS (2 << MOVE_AUX_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1397) #define MOVE_AUX_LS (1 << MOVE_AUX_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1398)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1399) #define MOVE_WAITCOMP_SHIFT 24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1400) #define MOVE_WAITCOMP_MASK (1 << MOVE_WAITCOMP_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1401) #define MOVE_WAITCOMP (1 << MOVE_WAITCOMP_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1402)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1403) #define MOVE_SRC_SHIFT 20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1404) #define MOVE_SRC_MASK (0x0f << MOVE_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1405) #define MOVE_SRC_CLASS1CTX (0x00 << MOVE_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1406) #define MOVE_SRC_CLASS2CTX (0x01 << MOVE_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1407) #define MOVE_SRC_OUTFIFO (0x02 << MOVE_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1408) #define MOVE_SRC_DESCBUF (0x03 << MOVE_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1409) #define MOVE_SRC_MATH0 (0x04 << MOVE_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1410) #define MOVE_SRC_MATH1 (0x05 << MOVE_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1411) #define MOVE_SRC_MATH2 (0x06 << MOVE_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1412) #define MOVE_SRC_MATH3 (0x07 << MOVE_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1413) #define MOVE_SRC_INFIFO (0x08 << MOVE_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1414) #define MOVE_SRC_INFIFO_CL (0x09 << MOVE_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1415) #define MOVE_SRC_AUX_ABLK (0x0a << MOVE_SRC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1416)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1417) #define MOVE_DEST_SHIFT 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1418) #define MOVE_DEST_MASK (0x0f << MOVE_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1419) #define MOVE_DEST_CLASS1CTX (0x00 << MOVE_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1420) #define MOVE_DEST_CLASS2CTX (0x01 << MOVE_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1421) #define MOVE_DEST_OUTFIFO (0x02 << MOVE_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1422) #define MOVE_DEST_DESCBUF (0x03 << MOVE_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1423) #define MOVE_DEST_MATH0 (0x04 << MOVE_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1424) #define MOVE_DEST_MATH1 (0x05 << MOVE_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1425) #define MOVE_DEST_MATH2 (0x06 << MOVE_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1426) #define MOVE_DEST_MATH3 (0x07 << MOVE_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1427) #define MOVE_DEST_CLASS1INFIFO (0x08 << MOVE_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1428) #define MOVE_DEST_CLASS2INFIFO (0x09 << MOVE_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1429) #define MOVE_DEST_INFIFO_NOINFO (0x0a << MOVE_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1430) #define MOVE_DEST_PK_A (0x0c << MOVE_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1431) #define MOVE_DEST_CLASS1KEY (0x0d << MOVE_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1432) #define MOVE_DEST_CLASS2KEY (0x0e << MOVE_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1433)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1434) #define MOVE_OFFSET_SHIFT 8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1435) #define MOVE_OFFSET_MASK (0xff << MOVE_OFFSET_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1436)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1437) #define MOVE_LEN_SHIFT 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1438) #define MOVE_LEN_MASK (0xff << MOVE_LEN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1439)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1440) #define MOVELEN_MRSEL_SHIFT 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1441) #define MOVELEN_MRSEL_MASK (0x3 << MOVE_LEN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1442) #define MOVELEN_MRSEL_MATH0 (0 << MOVELEN_MRSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1443) #define MOVELEN_MRSEL_MATH1 (1 << MOVELEN_MRSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1444) #define MOVELEN_MRSEL_MATH2 (2 << MOVELEN_MRSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1445) #define MOVELEN_MRSEL_MATH3 (3 << MOVELEN_MRSEL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1446)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1447) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1448) * MATH Command Constructs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1449) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1450)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1451) #define MATH_IFB_SHIFT 26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1452) #define MATH_IFB_MASK (1 << MATH_IFB_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1453) #define MATH_IFB (1 << MATH_IFB_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1454)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1455) #define MATH_NFU_SHIFT 25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1456) #define MATH_NFU_MASK (1 << MATH_NFU_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1457) #define MATH_NFU (1 << MATH_NFU_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1458)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1459) #define MATH_STL_SHIFT 24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1460) #define MATH_STL_MASK (1 << MATH_STL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1461) #define MATH_STL (1 << MATH_STL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1462)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1463) /* Function selectors */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1464) #define MATH_FUN_SHIFT 20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1465) #define MATH_FUN_MASK (0x0f << MATH_FUN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1466) #define MATH_FUN_ADD (0x00 << MATH_FUN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1467) #define MATH_FUN_ADDC (0x01 << MATH_FUN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1468) #define MATH_FUN_SUB (0x02 << MATH_FUN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1469) #define MATH_FUN_SUBB (0x03 << MATH_FUN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1470) #define MATH_FUN_OR (0x04 << MATH_FUN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1471) #define MATH_FUN_AND (0x05 << MATH_FUN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1472) #define MATH_FUN_XOR (0x06 << MATH_FUN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1473) #define MATH_FUN_LSHIFT (0x07 << MATH_FUN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1474) #define MATH_FUN_RSHIFT (0x08 << MATH_FUN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1475) #define MATH_FUN_SHLD (0x09 << MATH_FUN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1476) #define MATH_FUN_ZBYT (0x0a << MATH_FUN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1477)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1478) /* Source 0 selectors */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1479) #define MATH_SRC0_SHIFT 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1480) #define MATH_SRC0_MASK (0x0f << MATH_SRC0_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1481) #define MATH_SRC0_REG0 (0x00 << MATH_SRC0_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1482) #define MATH_SRC0_REG1 (0x01 << MATH_SRC0_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1483) #define MATH_SRC0_REG2 (0x02 << MATH_SRC0_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1484) #define MATH_SRC0_REG3 (0x03 << MATH_SRC0_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1485) #define MATH_SRC0_IMM (0x04 << MATH_SRC0_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1486) #define MATH_SRC0_DPOVRD (0x07 << MATH_SRC0_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1487) #define MATH_SRC0_SEQINLEN (0x08 << MATH_SRC0_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1488) #define MATH_SRC0_SEQOUTLEN (0x09 << MATH_SRC0_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1489) #define MATH_SRC0_VARSEQINLEN (0x0a << MATH_SRC0_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1490) #define MATH_SRC0_VARSEQOUTLEN (0x0b << MATH_SRC0_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1491) #define MATH_SRC0_ZERO (0x0c << MATH_SRC0_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1492)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1493) /* Source 1 selectors */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1494) #define MATH_SRC1_SHIFT 12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1495) #define MATH_SRC1_MASK (0x0f << MATH_SRC1_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1496) #define MATH_SRC1_REG0 (0x00 << MATH_SRC1_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1497) #define MATH_SRC1_REG1 (0x01 << MATH_SRC1_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1498) #define MATH_SRC1_REG2 (0x02 << MATH_SRC1_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1499) #define MATH_SRC1_REG3 (0x03 << MATH_SRC1_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1500) #define MATH_SRC1_IMM (0x04 << MATH_SRC1_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1501) #define MATH_SRC1_DPOVRD (0x07 << MATH_SRC1_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1502) #define MATH_SRC1_INFIFO (0x0a << MATH_SRC1_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1503) #define MATH_SRC1_OUTFIFO (0x0b << MATH_SRC1_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1504) #define MATH_SRC1_ONE (0x0c << MATH_SRC1_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1505)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1506) /* Destination selectors */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1507) #define MATH_DEST_SHIFT 8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1508) #define MATH_DEST_MASK (0x0f << MATH_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1509) #define MATH_DEST_REG0 (0x00 << MATH_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1510) #define MATH_DEST_REG1 (0x01 << MATH_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1511) #define MATH_DEST_REG2 (0x02 << MATH_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1512) #define MATH_DEST_REG3 (0x03 << MATH_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1513) #define MATH_DEST_DPOVRD (0x07 << MATH_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1514) #define MATH_DEST_SEQINLEN (0x08 << MATH_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1515) #define MATH_DEST_SEQOUTLEN (0x09 << MATH_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1516) #define MATH_DEST_VARSEQINLEN (0x0a << MATH_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1517) #define MATH_DEST_VARSEQOUTLEN (0x0b << MATH_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1518) #define MATH_DEST_NONE (0x0f << MATH_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1519)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1520) /* Length selectors */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1521) #define MATH_LEN_SHIFT 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1522) #define MATH_LEN_MASK (0x0f << MATH_LEN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1523) #define MATH_LEN_1BYTE 0x01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1524) #define MATH_LEN_2BYTE 0x02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1525) #define MATH_LEN_4BYTE 0x04
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1526) #define MATH_LEN_8BYTE 0x08
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1527)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1528) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1529) * JUMP Command Constructs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1530) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1531)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1532) #define JUMP_CLASS_SHIFT 25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1533) #define JUMP_CLASS_MASK (3 << JUMP_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1534) #define JUMP_CLASS_NONE 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1535) #define JUMP_CLASS_CLASS1 (1 << JUMP_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1536) #define JUMP_CLASS_CLASS2 (2 << JUMP_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1537) #define JUMP_CLASS_BOTH (3 << JUMP_CLASS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1538)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1539) #define JUMP_JSL_SHIFT 24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1540) #define JUMP_JSL_MASK (1 << JUMP_JSL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1541) #define JUMP_JSL (1 << JUMP_JSL_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1542)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1543) #define JUMP_TYPE_SHIFT 22
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1544) #define JUMP_TYPE_LOCAL (0x00 << JUMP_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1545) #define JUMP_TYPE_NONLOCAL (0x01 << JUMP_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1546) #define JUMP_TYPE_HALT (0x02 << JUMP_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1547) #define JUMP_TYPE_HALT_USER (0x03 << JUMP_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1548)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1549) #define JUMP_TEST_SHIFT 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1550) #define JUMP_TEST_MASK (0x03 << JUMP_TEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1551) #define JUMP_TEST_ALL (0x00 << JUMP_TEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1552) #define JUMP_TEST_INVALL (0x01 << JUMP_TEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1553) #define JUMP_TEST_ANY (0x02 << JUMP_TEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1554) #define JUMP_TEST_INVANY (0x03 << JUMP_TEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1555)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1556) /* Condition codes. JSL bit is factored in */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1557) #define JUMP_COND_SHIFT 8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1558) #define JUMP_COND_MASK (0x100ff << JUMP_COND_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1559) #define JUMP_COND_PK_0 (0x80 << JUMP_COND_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1560) #define JUMP_COND_PK_GCD_1 (0x40 << JUMP_COND_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1561) #define JUMP_COND_PK_PRIME (0x20 << JUMP_COND_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1562) #define JUMP_COND_MATH_N (0x08 << JUMP_COND_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1563) #define JUMP_COND_MATH_Z (0x04 << JUMP_COND_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1564) #define JUMP_COND_MATH_C (0x02 << JUMP_COND_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1565) #define JUMP_COND_MATH_NV (0x01 << JUMP_COND_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1566)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1567) #define JUMP_COND_JRP ((0x80 << JUMP_COND_SHIFT) | JUMP_JSL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1568) #define JUMP_COND_SHRD ((0x40 << JUMP_COND_SHIFT) | JUMP_JSL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1569) #define JUMP_COND_SELF ((0x20 << JUMP_COND_SHIFT) | JUMP_JSL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1570) #define JUMP_COND_CALM ((0x10 << JUMP_COND_SHIFT) | JUMP_JSL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1571) #define JUMP_COND_NIP ((0x08 << JUMP_COND_SHIFT) | JUMP_JSL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1572) #define JUMP_COND_NIFP ((0x04 << JUMP_COND_SHIFT) | JUMP_JSL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1573) #define JUMP_COND_NOP ((0x02 << JUMP_COND_SHIFT) | JUMP_JSL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1574) #define JUMP_COND_NCP ((0x01 << JUMP_COND_SHIFT) | JUMP_JSL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1575)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1576) #define JUMP_OFFSET_SHIFT 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1577) #define JUMP_OFFSET_MASK (0xff << JUMP_OFFSET_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1578)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1579) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1580) * NFIFO ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1581) * Data Constructs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1582) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1583) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1584) #define NFIFOENTRY_DEST_SHIFT 30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1585) #define NFIFOENTRY_DEST_MASK (3 << NFIFOENTRY_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1586) #define NFIFOENTRY_DEST_DECO (0 << NFIFOENTRY_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1587) #define NFIFOENTRY_DEST_CLASS1 (1 << NFIFOENTRY_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1588) #define NFIFOENTRY_DEST_CLASS2 (2 << NFIFOENTRY_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1589) #define NFIFOENTRY_DEST_BOTH (3 << NFIFOENTRY_DEST_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1590)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1591) #define NFIFOENTRY_LC2_SHIFT 29
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1592) #define NFIFOENTRY_LC2_MASK (1 << NFIFOENTRY_LC2_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1593) #define NFIFOENTRY_LC2 (1 << NFIFOENTRY_LC2_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1594)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1595) #define NFIFOENTRY_LC1_SHIFT 28
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1596) #define NFIFOENTRY_LC1_MASK (1 << NFIFOENTRY_LC1_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1597) #define NFIFOENTRY_LC1 (1 << NFIFOENTRY_LC1_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1598)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1599) #define NFIFOENTRY_FC2_SHIFT 27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1600) #define NFIFOENTRY_FC2_MASK (1 << NFIFOENTRY_FC2_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1601) #define NFIFOENTRY_FC2 (1 << NFIFOENTRY_FC2_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1602)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1603) #define NFIFOENTRY_FC1_SHIFT 26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1604) #define NFIFOENTRY_FC1_MASK (1 << NFIFOENTRY_FC1_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1605) #define NFIFOENTRY_FC1 (1 << NFIFOENTRY_FC1_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1606)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1607) #define NFIFOENTRY_STYPE_SHIFT 24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1608) #define NFIFOENTRY_STYPE_MASK (3 << NFIFOENTRY_STYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1609) #define NFIFOENTRY_STYPE_DFIFO (0 << NFIFOENTRY_STYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1610) #define NFIFOENTRY_STYPE_OFIFO (1 << NFIFOENTRY_STYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1611) #define NFIFOENTRY_STYPE_PAD (2 << NFIFOENTRY_STYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1612) #define NFIFOENTRY_STYPE_SNOOP (3 << NFIFOENTRY_STYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1613)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1614) #define NFIFOENTRY_DTYPE_SHIFT 20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1615) #define NFIFOENTRY_DTYPE_MASK (0xF << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1616)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1617) #define NFIFOENTRY_DTYPE_SBOX (0x0 << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1618) #define NFIFOENTRY_DTYPE_AAD (0x1 << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1619) #define NFIFOENTRY_DTYPE_IV (0x2 << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1620) #define NFIFOENTRY_DTYPE_SAD (0x3 << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1621) #define NFIFOENTRY_DTYPE_ICV (0xA << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1622) #define NFIFOENTRY_DTYPE_POLY (0xB << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1623) #define NFIFOENTRY_DTYPE_SKIP (0xE << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1624) #define NFIFOENTRY_DTYPE_MSG (0xF << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1625)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1626) #define NFIFOENTRY_DTYPE_PK_A0 (0x0 << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1627) #define NFIFOENTRY_DTYPE_PK_A1 (0x1 << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1628) #define NFIFOENTRY_DTYPE_PK_A2 (0x2 << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1629) #define NFIFOENTRY_DTYPE_PK_A3 (0x3 << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1630) #define NFIFOENTRY_DTYPE_PK_B0 (0x4 << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1631) #define NFIFOENTRY_DTYPE_PK_B1 (0x5 << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1632) #define NFIFOENTRY_DTYPE_PK_B2 (0x6 << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1633) #define NFIFOENTRY_DTYPE_PK_B3 (0x7 << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1634) #define NFIFOENTRY_DTYPE_PK_N (0x8 << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1635) #define NFIFOENTRY_DTYPE_PK_E (0x9 << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1636) #define NFIFOENTRY_DTYPE_PK_A (0xC << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1637) #define NFIFOENTRY_DTYPE_PK_B (0xD << NFIFOENTRY_DTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1638)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1639)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1640) #define NFIFOENTRY_BND_SHIFT 19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1641) #define NFIFOENTRY_BND_MASK (1 << NFIFOENTRY_BND_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1642) #define NFIFOENTRY_BND (1 << NFIFOENTRY_BND_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1643)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1644) #define NFIFOENTRY_PTYPE_SHIFT 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1645) #define NFIFOENTRY_PTYPE_MASK (0x7 << NFIFOENTRY_PTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1646)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1647) #define NFIFOENTRY_PTYPE_ZEROS (0x0 << NFIFOENTRY_PTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1648) #define NFIFOENTRY_PTYPE_RND_NOZEROS (0x1 << NFIFOENTRY_PTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1649) #define NFIFOENTRY_PTYPE_INCREMENT (0x2 << NFIFOENTRY_PTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1650) #define NFIFOENTRY_PTYPE_RND (0x3 << NFIFOENTRY_PTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1651) #define NFIFOENTRY_PTYPE_ZEROS_NZ (0x4 << NFIFOENTRY_PTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1652) #define NFIFOENTRY_PTYPE_RND_NZ_LZ (0x5 << NFIFOENTRY_PTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1653) #define NFIFOENTRY_PTYPE_N (0x6 << NFIFOENTRY_PTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1654) #define NFIFOENTRY_PTYPE_RND_NZ_N (0x7 << NFIFOENTRY_PTYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1655)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1656) #define NFIFOENTRY_OC_SHIFT 15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1657) #define NFIFOENTRY_OC_MASK (1 << NFIFOENTRY_OC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1658) #define NFIFOENTRY_OC (1 << NFIFOENTRY_OC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1659)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1660) #define NFIFOENTRY_AST_SHIFT 14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1661) #define NFIFOENTRY_AST_MASK (1 << NFIFOENTRY_OC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1662) #define NFIFOENTRY_AST (1 << NFIFOENTRY_OC_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1663)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1664) #define NFIFOENTRY_BM_SHIFT 11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1665) #define NFIFOENTRY_BM_MASK (1 << NFIFOENTRY_BM_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1666) #define NFIFOENTRY_BM (1 << NFIFOENTRY_BM_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1667)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1668) #define NFIFOENTRY_PS_SHIFT 10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1669) #define NFIFOENTRY_PS_MASK (1 << NFIFOENTRY_PS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1670) #define NFIFOENTRY_PS (1 << NFIFOENTRY_PS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1671)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1672) #define NFIFOENTRY_DLEN_SHIFT 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1673) #define NFIFOENTRY_DLEN_MASK (0xFFF << NFIFOENTRY_DLEN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1674)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1675) #define NFIFOENTRY_PLEN_SHIFT 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1676) #define NFIFOENTRY_PLEN_MASK (0xFF << NFIFOENTRY_PLEN_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1677)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1678) /* Append Load Immediate Command */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1679) #define FD_CMD_APPEND_LOAD_IMMEDIATE 0x80000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1680)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1681) /* Set SEQ LIODN equal to the Non-SEQ LIODN for the job */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1682) #define FD_CMD_SET_SEQ_LIODN_EQUAL_NONSEQ_LIODN 0x40000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1683)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1684) /* Frame Descriptor Command for Replacement Job Descriptor */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1685) #define FD_CMD_REPLACE_JOB_DESC 0x20000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1686)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1687) #endif /* DESC_H */