/linux/arch/arm/kernel/ |
H A D | atags_compat.c | 13 * to convert to the new struct tag way. 81 static struct tag * __init memtag(struct tag *tag, unsigned long start, unsigned long size) in memtag() argument 83 tag = tag_next(tag); in memtag() 84 tag->hdr.tag = ATAG_MEM; in memtag() 85 tag->hdr.size = tag_size(tag_mem32); in memtag() 86 tag->u.mem.size = size; in memtag() 87 tag->u.mem.start = start; in memtag() 89 return tag; in memtag() 94 struct tag *tag = taglist; in build_tag_list() local 119 tag->hdr.tag = ATAG_CORE; in build_tag_list() [all …]
|
H A D | atags_parse.c | 3 * Tag parsing. 11 * of variable-sized tags to the kernel. The first tag must be a ATAG_CORE 12 * tag for the list to be recognised (to distinguish the tagged list from 13 * a param_struct). The list is terminated with a zero-length tag (this tag 53 static int __init parse_tag_core(const struct tag *tag) in parse_tag_core() argument 55 if (tag->hdr.size > 2) { in parse_tag_core() 56 if ((tag->u.core.flags & 1) == 0) in parse_tag_core() 58 ROOT_DEV = old_decode_dev(tag->u.core.rootdev); in parse_tag_core() 65 static int __init parse_tag_mem32(const struct tag *tag) in parse_tag_mem32() argument 67 return arm_add_memory(tag->u.mem.start, tag->u.mem.size); in parse_tag_mem32() [all …]
|
/linux/arch/mips/include/asm/octeon/ |
H A D | cvmx-pow.h | 38 * - Requesting a POW operation with an active tag switch in 40 * - Waiting for a tag switch to complete for an excessively 43 * - Illegal tag switches from NULL_NULL. 44 * - Illegal tag switches from NULL. 65 /* Tag ordering is maintained */ 67 /* Tag ordering is maintained, and at most one PP has the tag */ 70 * The work queue entry from the order - NEVER tag switch from 74 /* A tag switch to NULL, and there is no space reserved in POW 75 * - NEVER tag switch to NULL_NULL 76 * - NEVER tag switch from NULL_NULL [all …]
|
/linux/net/dsa/ |
H A D | Kconfig | 22 tristate "No-op tag driver" 24 Say Y or M if you want to enable support for switches which don't tag 28 tristate "Tag driver for Atheros AR9331 SoC with built-in switch" 38 tristate "Tag driver for Broadcom switches using in-frame headers" 42 Broadcom switches which place the tag after the MAC source address. 45 tristate "Tag driver for BCM63xx legacy switches using in-frame headers" 49 BCM63xx legacy switches which place the tag after the MAC source 51 This tag is used in BCM63xx legacy switches which work without the 52 original FCS and length before the tag insertion. 55 tristate "Tag driver for BCM53xx legacy switches using in-frame headers" [all …]
|
H A D | tag_brcm.c | 3 * Broadcom tag support 14 #include "tag.h" 21 /* Legacy Broadcom tag (6 bytes) */ 25 /* 1st byte in the tag */ 27 /* 2nd byte in the tag */ 30 /* Tag fields */ 31 /* 3rd byte in the tag */ 38 /* 4th byte in the tag */ 41 /* 6th byte in the tag */ 44 /* Newer Broadcom tag (4 bytes) */ [all …]
|
/linux/drivers/iommu/intel/ |
H A D | cache.c | 22 /* Check if an existing cache tag can be reused for a new association. */ 23 static bool cache_tage_match(struct cache_tag *tag, u16 domain_id, in cache_tage_match() argument 27 if (tag->type != type) in cache_tage_match() 30 if (tag->domain_id != domain_id || tag->pasid != pasid) in cache_tage_match() 34 return tag->iommu == iommu; in cache_tage_match() 37 return tag->dev == dev; in cache_tage_match() 42 /* Assign a cache tag with specified type to domain. */ 48 struct cache_tag *tag, *temp; in cache_tag_assign() local 52 tag = kzalloc(sizeof(*tag), GFP_KERNEL); in cache_tag_assign() 53 if (!tag) in cache_tag_assign() [all …]
|
H A D | trace.h | 94 TP_PROTO(struct cache_tag *tag), 95 TP_ARGS(tag), 97 __string(iommu, tag->iommu->name) 98 __string(dev, dev_name(tag->dev)) 107 __entry->type = tag->type; 108 __entry->domain_id = tag->domain_id; 109 __entry->pasid = tag->pasid; 110 __entry->users = tag->users; 124 TP_PROTO(struct cache_tag *tag), 125 TP_ARGS(tag) [all …]
|
/linux/tools/testing/selftests/ublk/ |
H A D | null.c | 45 static void __setup_nop_io(int tag, const struct ublksrv_io_desc *iod, in __setup_nop_io() argument 51 sqe->buf_index = tag; in __setup_nop_io() 55 sqe->user_data = build_user_data(tag, ublk_op, 0, q_id, 1); in __setup_nop_io() 59 int tag) in null_queue_zc_io() argument 61 const struct ublksrv_io_desc *iod = ublk_get_iod(q, tag); in null_queue_zc_io() 66 io_uring_prep_buf_register(sqe[0], q, tag, q->q_id, ublk_get_io(q, tag)->buf_index); in null_queue_zc_io() 67 sqe[0]->user_data = build_user_data(tag, in null_queue_zc_io() 71 __setup_nop_io(tag, iod, sqe[1], q->q_id); in null_queue_zc_io() 74 io_uring_prep_buf_unregister(sqe[2], q, tag, q->q_id, ublk_get_io(q, tag)->buf_index); in null_queue_zc_io() 75 sqe[2]->user_data = build_user_data(tag, ublk_cmd_op_nr(sqe[2]->cmd_op), 0, q->q_id, 1); in null_queue_zc_io() [all …]
|
H A D | file_backed.c | 17 const struct ublksrv_io_desc *iod, int tag) in loop_queue_flush_io() argument 26 sqe[0]->user_data = build_user_data(tag, ublk_op, 0, q->q_id, 1); in loop_queue_flush_io() 31 const struct ublksrv_io_desc *iod, int tag) in loop_queue_tgt_rw_io() argument 50 sqe[0]->buf_index = tag; in loop_queue_tgt_rw_io() 53 sqe[0]->user_data = build_user_data(tag, ublk_op, 0, q->q_id, 1); in loop_queue_tgt_rw_io() 59 io_uring_prep_buf_register(sqe[0], q, tag, q->q_id, ublk_get_io(q, tag)->buf_index); in loop_queue_tgt_rw_io() 61 sqe[0]->user_data = build_user_data(tag, in loop_queue_tgt_rw_io() 67 sqe[1]->buf_index = tag; in loop_queue_tgt_rw_io() 69 sqe[1]->user_data = build_user_data(tag, ublk_op, 0, q->q_id, 1); in loop_queue_tgt_rw_io() 71 io_uring_prep_buf_unregister(sqe[2], q, tag, q->q_id, ublk_get_io(q, tag)->buf_index); in loop_queue_tgt_rw_io() [all …]
|
H A D | kublk.h | 119 int tag; member 133 int (*queue_io)(struct ublk_thread *, struct ublk_queue *, int tag); 146 unsigned short (*buf_index)(const struct ublk_queue *, int tag); 219 static inline __u64 build_user_data(unsigned tag, unsigned op, in build_user_data() argument 224 assert(!(tag >> 16) && !(op >> 8) && !(tgt_data >> 16) && !(q_id >> 7)); in build_user_data() 226 return tag | (op << 16) | (tgt_data << 24) | in build_user_data() 257 return container_of(io, struct ublk_queue, ios[io->tag]); in ublk_io_to_queue() 292 struct ublk_queue *q, int tag, int q_id, __u64 index) in __io_uring_prep_buf_reg_unreg() argument 304 cmd->tag = tag; in __io_uring_prep_buf_reg_unreg() 310 struct ublk_queue *q, int tag, int q_id, __u64 index) in io_uring_prep_buf_register() argument [all …]
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/ |
H A D | dr_ste_v1.c | 223 u8 *tag = hw_ste_p + DR_STE_SIZE_CTRL; in dr_ste_v1_prepare_for_postsend() local 224 u8 *mask = tag + DR_STE_SIZE_TAG; in dr_ste_v1_prepare_for_postsend() 232 /* Backup tag */ in dr_ste_v1_prepare_for_postsend() 233 memcpy(tmp_tag, tag, DR_STE_SIZE_TAG); in dr_ste_v1_prepare_for_postsend() 235 /* Swap mask and tag both are the same size */ in dr_ste_v1_prepare_for_postsend() 236 memcpy(tag, mask, DR_STE_SIZE_MASK); in dr_ste_v1_prepare_for_postsend() 451 * which doesn't have mask, and shouldn't have mask/tag swapped. in dr_ste_v1_set_match_range_pkt_len() 457 * To allow mask/tag swapping, writing the min/max_2 to min/max_0. in dr_ste_v1_set_match_range_pkt_len() 992 u8 *tag) in dr_ste_v1_build_eth_l2_src_dst_tag() argument 996 DR_STE_SET_TAG(eth_l2_src_dst_v1, tag, dmac_47_16, spec, dmac_47_16); in dr_ste_v1_build_eth_l2_src_dst_tag() [all …]
|
H A D | dr_ste.h | 25 #define DR_STE_SET_VAL(lookup_type, tag, t_fname, spec, s_fname, value) do { \ argument 27 MLX5_SET(ste_##lookup_type, tag, t_fname, value); \ 32 /* Set to STE spec->s_fname to tag->t_fname set spec->s_fname as used */ 33 #define DR_STE_SET_TAG(lookup_type, tag, t_fname, spec, s_fname) \ argument 34 DR_STE_SET_VAL(lookup_type, tag, t_fname, spec, s_fname, spec->s_fname) 36 /* Set to STE -1 to tag->t_fname and set spec->s_fname as used */ 37 #define DR_STE_SET_ONES(lookup_type, tag, t_fname, spec, s_fname) \ argument 38 DR_STE_SET_VAL(lookup_type, tag, t_fname, spec, s_fname, -1) 40 #define DR_STE_SET_TCP_FLAGS(lookup_type, tag, spec) do { \ argument 41 MLX5_SET(ste_##lookup_type, tag, tcp_ns, !!((spec)->tcp_flags & (1 << 8))); \ [all …]
|
/linux/Documentation/netlabel/ |
H A D | draft-ietf-cipso-ipsecurity-01.txt | 142 3.4 Tag Types 146 information relevant to the data in the IP packet. Each tag begins with 147 a tag type identifier followed by the length of the tag and ends with the 148 actual security information to be passed. All multi-octet fields in a tag 151 all tags, as well as fields within a tag, are not aligned on any particular 152 octet boundary. The tag types defined in this document contain alignment 156 CIPSO tag types 0 through 127 are reserved for defining standard tag 157 formats. Their definitions will be published in RFCs. Tag types whose 159 only be meaningful in certain Domains of Interpretation. For these tag 160 types, implementations will require the DOI identifier as well as the tag [all …]
|
/linux/drivers/net/ethernet/netronome/nfp/ |
H A D | ccm.c | 38 static void nfp_ccm_free_tag(struct nfp_ccm *ccm, u16 tag) in nfp_ccm_free_tag() argument 40 WARN_ON(!__test_and_clear_bit(tag, ccm->tag_allocator)); in nfp_ccm_free_tag() 47 static struct sk_buff *__nfp_ccm_reply(struct nfp_ccm *ccm, u16 tag) in __nfp_ccm_reply() argument 54 if (msg_tag == tag) { in __nfp_ccm_reply() 55 nfp_ccm_free_tag(ccm, tag); in __nfp_ccm_reply() 65 nfp_ccm_reply(struct nfp_ccm *ccm, struct nfp_app *app, u16 tag) in nfp_ccm_reply() argument 70 skb = __nfp_ccm_reply(ccm, tag); in nfp_ccm_reply() 77 nfp_ccm_reply_drop_tag(struct nfp_ccm *ccm, struct nfp_app *app, u16 tag) in nfp_ccm_reply_drop_tag() argument 82 skb = __nfp_ccm_reply(ccm, tag); in nfp_ccm_reply_drop_tag() 84 nfp_ccm_free_tag(ccm, tag); in nfp_ccm_reply_drop_tag() [all …]
|
/linux/tools/testing/selftests/arm64/mte/ |
H A D | mte_helper.S | 19 * mte_insert_random_tag: Insert random tag and might be same as the source tag if 22 * x0 - source pointer with a tag/no-tag 24 * x0 - pointer with random tag 32 * mte_insert_new_tag: Insert new tag and different from the source tag if 35 * x0 - source pointer with a tag/no-tag 37 * x0 - pointer with random tag 46 * mte_get_tag_address: Get the tag from given address. 50 * x0 - pointer with appended tag 58 * mte_set_tag_address_range: Set the tag range from the given address 60 * x0 - source pointer with tag data [all …]
|
H A D | check_tags_inclusion.c | 52 int tag, run, ret, result = KSFT_PASS; in check_single_included_tags() local 59 for (tag = 0; (tag < MT_TAG_COUNT) && (result == KSFT_PASS); tag++) { in check_single_included_tags() 60 ret = mte_switch_mode(mode, MT_INCLUDE_VALID_TAG(tag), false); in check_single_included_tags() 63 /* Try to catch a excluded tag by a number of tries. */ in check_single_included_tags() 66 /* Check tag value */ in check_single_included_tags() 67 if (MT_FETCH_TAG((uintptr_t)ptr) == tag) { in check_single_included_tags() 68 ksft_print_msg("FAIL: wrong tag = 0x%lx with include mask=0x%x\n", in check_single_included_tags() 70 MT_INCLUDE_VALID_TAG(tag)); in check_single_included_tags() 84 int tag, run, result = KSFT_PASS; in check_multiple_included_tags() local 92 for (tag = 0; (tag < MT_TAG_COUNT - 1) && (result == KSFT_PASS); tag++) { in check_multiple_included_tags() [all …]
|
/linux/drivers/gpu/drm/xe/ |
H A D | xe_guc_klv_helpers.h | 42 * MAKE_GUC_KLV_KEY - Prepare KLV KEY name based on unique KLV definition tag. 43 * @TAG: unique tag of the KLV definition 45 #define MAKE_GUC_KLV_KEY(TAG) CONCATENATE(CONCATENATE(GUC_KLV_, TAG), _KEY) argument 48 * MAKE_GUC_KLV_LEN - Prepare KLV LEN name based on unique KLV definition tag. 49 * @TAG: unique tag of the KLV definition 51 #define MAKE_GUC_KLV_LEN(TAG) CONCATENATE(CONCATENATE(GUC_KLV_, TAG), _LEN) argument 54 * PREP_GUC_KLV_TAG - Prepare KLV header value based on unique KLV definition tag. 55 * @TAG: unique tag of the KLV definition 57 * Combine separate KEY and LEN definitions of the KLV identified by the TAG. 61 #define PREP_GUC_KLV_TAG(TAG) \ argument [all …]
|
/linux/include/linux/ |
H A D | alloc_tag.h | 137 static inline struct alloc_tag_counters alloc_tag_read(struct alloc_tag *tag) in alloc_tag_read() argument 144 counter = per_cpu_ptr(tag->counters, cpu); in alloc_tag_read() 153 static inline void alloc_tag_add_check(union codetag_ref *ref, struct alloc_tag *tag) in alloc_tag_add_check() argument 156 "alloc_tag was not cleared (got tag for %s:%u)\n", in alloc_tag_add_check() 159 WARN_ONCE(!tag, "current->alloc_tag not set\n"); in alloc_tag_add_check() 167 static inline void alloc_tag_add_check(union codetag_ref *ref, struct alloc_tag *tag) {} in alloc_tag_add_check() argument 171 /* Caller should verify both ref and tag to be valid */ 172 static inline bool __alloc_tag_ref_set(union codetag_ref *ref, struct alloc_tag *tag) in __alloc_tag_ref_set() argument 174 alloc_tag_add_check(ref, tag); in __alloc_tag_ref_set() 175 if (!ref || !tag) in __alloc_tag_ref_set() [all …]
|
/linux/Documentation/dev-tools/ |
H A D | kasan.rst | 16 2. Software Tag-Based KASAN 17 3. Hardware Tag-Based KASAN 23 Software Tag-Based KASAN or SW_TAGS KASAN, enabled with CONFIG_KASAN_SW_TAGS, 28 Hardware Tag-Based KASAN or HW_TAGS KASAN, enabled with CONFIG_KASAN_HW_TAGS, 37 The Generic and the Software Tag-Based modes are commonly referred to as the 38 software modes. The Software Tag-Based and the Hardware Tag-Based modes are 39 referred to as the tag-based modes. 48 and loongarch, and the tag-based KASAN modes are supported only on arm64. 55 support for that. The Hardware Tag-Based mode relies on hardware to perform 62 Software Tag-Based KASAN requires GCC 11+ [all …]
|
/linux/lib/ |
H A D | radix-tree.c | 100 static inline void tag_set(struct radix_tree_node *node, unsigned int tag, in tag_set() argument 103 __set_bit(offset, node->tags[tag]); in tag_set() 106 static inline void tag_clear(struct radix_tree_node *node, unsigned int tag, in tag_clear() argument 109 __clear_bit(offset, node->tags[tag]); in tag_clear() 112 static inline int tag_get(const struct radix_tree_node *node, unsigned int tag, in tag_get() argument 115 return test_bit(offset, node->tags[tag]); in tag_get() 118 static inline void root_tag_set(struct radix_tree_root *root, unsigned tag) in root_tag_set() argument 120 root->xa_flags |= (__force gfp_t)(1 << (tag + ROOT_TAG_SHIFT)); in root_tag_set() 123 static inline void root_tag_clear(struct radix_tree_root *root, unsigned tag) in root_tag_clear() argument 125 root->xa_flags &= (__force gfp_t)~(1 << (tag + ROOT_TAG_SHIFT)); in root_tag_clear() [all …]
|
/linux/drivers/ata/ |
H A D | sata_dwc_460ex.c | 55 u32 fptagr; /* 1st party DMA tag */ 175 static void sata_dwc_bmdma_start_by_tag(struct ata_queued_cmd *qc, u8 tag); 178 static void sata_dwc_clear_dmacr(struct sata_dwc_device_port *hsdevp, u8 tag); 295 u8 tag = 0; in dma_dwc_xfer_done() local 301 tag = ap->link.active_tag; in dma_dwc_xfer_done() 309 sata_dwc_clear_dmacr(hsdevp, tag); in dma_dwc_xfer_done() 311 if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_NONE) { in dma_dwc_xfer_done() 312 dev_err(ap->dev, "DMA not pending tag=0x%02x pending=%d\n", in dma_dwc_xfer_done() 313 tag, hsdevp->dma_pending[tag]); in dma_dwc_xfer_done() 405 static u32 qcmd_tag_to_mask(u8 tag) in qcmd_tag_to_mask() argument [all …]
|
/linux/Documentation/arch/arm64/ |
H A D | memory-tagging-extension.rst | 19 allocation tag for each 16-byte granule in the physical address space. 21 attribute. A logical tag is derived from bits 59-56 of the virtual 23 the logical tag against the allocation tag and potentially raise an 42 The allocation tag is set to 0 when such pages are first mapped in the 58 Tag Check Faults 66 tag check fault. 75 thread, asynchronously following one or multiple tag check faults, 87 - ``PR_MTE_TCF_NONE`` - *Ignore* tag check faults 89 - ``PR_MTE_TCF_SYNC`` - *Synchronous* tag check fault mode 90 - ``PR_MTE_TCF_ASYNC`` - *Asynchronous* tag check fault mode [all …]
|
/linux/drivers/net/ethernet/microchip/vcap/ |
H A D | vcap_ag_api.h | 63 * Used by 802.1BR Bridge Port Extension in an E-Tag 65 * Used by 802.1BR Bridge Port Extension in an E-Tag 67 * Set for frames containing an E-TAG (802.1BR Ethertype 893f) 69 * E-Tag group bits in 802.1BR Bridge Port Extension 71 * Used by 802.1BR Bridge Port Extension in an E-Tag 73 * Used by 802.1BR Bridge Port Extension in an E-Tag 75 * Set if frame contains an RTAG: IEEE 802.1CB (FRER Redundancy tag, Ethertype 78 * First DEI in multiple vlan tags (outer tag or default port tag) 80 * Second DEI in multiple vlan tags (inner tag) 86 * First PCP in multiple vlan tags (outer tag or default port tag) [all …]
|
/linux/drivers/scsi/be2iscsi/ |
H A D | be_mgmt.c | 40 unsigned int tag = 0; in mgmt_vendor_specific_fw_cmd() local 79 wrb = alloc_mcc_wrb(phba, &tag); in mgmt_vendor_specific_fw_cmd() 92 be_mcc_notify(phba, tag); in mgmt_vendor_specific_fw_cmd() 95 return tag; in mgmt_vendor_specific_fw_cmd() 106 * Success: Tag number of the MBX Command issued 125 unsigned int tag = 0; in mgmt_open_connection() local 149 wrb = alloc_mcc_wrb(phba, &tag); in mgmt_open_connection() 208 be_mcc_notify(phba, tag); in mgmt_open_connection() 210 return tag; in mgmt_open_connection() 231 unsigned int tag; in beiscsi_exec_nemb_cmd() local [all …]
|
/linux/drivers/pnp/pnpbios/ |
H A D | rsparser.c | 45 * end tag -> 47 * end tag -> 49 * final end tag -> 84 unsigned int len, tag; in pnpbios_parse_allocated_resource_data() local 96 /* determine the type of tag */ in pnpbios_parse_allocated_resource_data() 97 if (p[0] & LARGE_TAG) { /* large tag */ in pnpbios_parse_allocated_resource_data() 99 tag = p[0]; in pnpbios_parse_allocated_resource_data() 100 } else { /* small tag */ in pnpbios_parse_allocated_resource_data() 102 tag = ((p[0] >> 3) & 0x0f); in pnpbios_parse_allocated_resource_data() 105 switch (tag) { in pnpbios_parse_allocated_resource_data() [all …]
|