/freebsd/sys/riscv/vmm/ |
H A D | vmm_fence.c | 49 struct vmm_fence *fence; in vmm_fence_dequeue() local 53 fence = &queue[hypctx->fence_queue_head]; in vmm_fence_dequeue() 54 if (fence->type != VMM_RISCV_FENCE_INVALID) { in vmm_fence_dequeue() 55 *new_fence = *fence; in vmm_fence_dequeue() 56 fence->type = VMM_RISCV_FENCE_INVALID; in vmm_fence_dequeue() 72 struct vmm_fence *fence; in vmm_fence_enqueue() local 76 fence = &queue[hypctx->fence_queue_tail]; in vmm_fence_enqueue() 77 if (fence->type == VMM_RISCV_FENCE_INVALID) { in vmm_fence_enqueue() 78 *fence = *new_fence; in vmm_fence_enqueue() 91 vmm_fence_process_one(struct vmm_fence *fence) in vmm_fence_process_one() argument [all …]
|
H A D | vmm_sbi.c | 45 struct vmm_fence fence; in vmm_sbi_handle_rfnc() local 61 fence.start = hypctx->guest_regs.hyp_a[2]; in vmm_sbi_handle_rfnc() 62 fence.size = hypctx->guest_regs.hyp_a[3]; in vmm_sbi_handle_rfnc() 63 fence.asid = hypctx->guest_regs.hyp_a[4]; in vmm_sbi_handle_rfnc() 67 fence.type = VMM_RISCV_FENCE_I; in vmm_sbi_handle_rfnc() 70 fence.type = VMM_RISCV_FENCE_VMA; in vmm_sbi_handle_rfnc() 73 fence.type = VMM_RISCV_FENCE_VMA_ASID; in vmm_sbi_handle_rfnc() 106 vmm_fence_add(hyp->vm, &cpus, &fence); in vmm_sbi_handle_rfnc()
|
H A D | vmm_fence.h | 41 void vmm_fence_add(struct vm *vm, cpuset_t *cpus, struct vmm_fence *fence);
|
/freebsd/sys/riscv/include/ |
H A D | atomic.h | 40 #define fence() __asm __volatile("fence" ::: "memory"); macro 41 #define mb() fence() 42 #define rmb() fence() 43 #define wmb() fence() 56 fence(); \ 62 fence(); \ 74 fence(); \ 82 fence(); \ 94 fence(); \ 102 fence(); \ [all …]
|
H A D | encoding.h | 809 DECLARE_INSN(fence, MATCH_FENCE, MASK_FENCE)
|
/freebsd/sys/dev/hyperv/vmbus/amd64/ |
H A D | hyperv_machdep.c | 137 #define HYPERV_TSC_TIMECOUNT(fence) \ argument 139 hyperv_tc64_tsc_##fence(void) \ 149 fence(); \ 169 hyperv_tsc_timecount_##fence(struct timecounter *tc __unused) \ 172 return (hyperv_tc64_tsc_##fence()); \
|
/freebsd/contrib/ofed/include/ |
H A D | udma_barrier.h | 110 #define udma_to_device_barrier() fence() 148 #define udma_from_device_barrier() fence() 218 #define mmio_flush_writes() fence()
|
/freebsd/sys/dev/ioat/ |
H A D | ioat_internal.h | 129 uint32_t fence:1; member 162 uint32_t fence:1; member 193 uint32_t fence:1; member 221 uint32_t fence:1; member 300 uint32_t fence:1; member 338 uint32_t fence:1; member 380 uint32_t fence:1; member
|
/freebsd/sys/dev/bnxt/bnxt_re/ |
H A D | ib_verbs.c | 536 struct bnxt_re_legacy_fence_data *fence = &pd->fence; in bnxt_re_legacy_create_fence_wqe() local 537 struct ib_mr *ib_mr = &fence->mr->ib_mr; in bnxt_re_legacy_create_fence_wqe() 538 struct bnxt_qplib_swqe *wqe = &fence->bind_wqe; in bnxt_re_legacy_create_fence_wqe() 551 wqe->bind.va = (u64)fence->va; in bnxt_re_legacy_create_fence_wqe() 552 wqe->bind.length = fence->size; in bnxt_re_legacy_create_fence_wqe() 559 fence->bind_rkey = ib_inc_rkey(fence->mw->rkey); in bnxt_re_legacy_create_fence_wqe() 568 struct bnxt_re_legacy_fence_data *fence = &pd->fence; in bnxt_re_legacy_bind_fence_mw() local 569 struct bnxt_qplib_swqe *fence_wqe = &fence->bind_wqe; in bnxt_re_legacy_bind_fence_mw() 577 wqe.bind.r_key = fence->bind_rkey; in bnxt_re_legacy_bind_fence_mw() 578 fence->bind_rkey = ib_inc_rkey(fence->bind_rkey); in bnxt_re_legacy_bind_fence_mw() [all …]
|
H A D | ib_verbs.h | 141 struct bnxt_re_legacy_fence_data fence; member
|
/freebsd/contrib/llvm-project/llvm/lib/Support/ |
H A D | Atomic.cpp | 39 # error No memory fence implementation for your platform! in MemoryFence()
|
/freebsd/sys/x86/iommu/ |
H A D | amd_cmd.c | 171 bool intr, bool memw, bool fence) in amdiommu_cmd_emit_wait_descr() argument 192 if (fence) in amdiommu_cmd_emit_wait_descr()
|
H A D | intel_qi.c | 170 bool memw, bool fence) in dmar_qi_emit_wait_descr() argument 179 (fence ? DMAR_IQ_DESCR_WAIT_FN : 0) | in dmar_qi_emit_wait_descr()
|
/freebsd/sys/dev/smartpqi/ |
H A D | smartpqi_structures.h | 669 uint8_t fence : 1; member 766 uint8_t fence : 1; member 811 uint8_t fence : 1; member 825 uint8_t fence : 1; member
|
H A D | smartpqi_request.c | 222 raid_req->fence = 0; in pqisrc_build_raid_io() 352 aio_req->cmd_flags.fence = 0; in pqisrc_build_aio_common() 423 DBG_INFO("%15s: 0x%x\n", "fence", aio_req->cmd_flags.fence); in pqisrc_show_aio_common() 477 aio_req->cmd_flags.fence = 0; in pqisrc_build_aio_R1_write() 545 DBG_INFO("%15s: 0x%x\n", "fence", aio_req->cmd_flags.fence); in pqisrc_show_aio_R1_write() 623 aio_req->cmd_flags.fence = 0; in pqisrc_build_aio_R5or6_write() 699 DBG_INFO("%15s: 0x%x\n", "fence", aio_req->cmd_flags.fence); in pqisrc_show_aio_R5or6_write()
|
/freebsd/contrib/ofed/libmlx5/ |
H A D | qp.c | 633 uint8_t fence; in _mlx5_post_send() local 668 fence = MLX5_WQE_CTRL_FENCE; in _mlx5_post_send() 670 fence = next_fence; in _mlx5_post_send() 676 ctrl->fm_ce_se = qp->sq_signal_bits | fence | in _mlx5_post_send()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
H A D | RISCVInstrInfo.td | 694 "fence", "$pred, $succ">, Sched<[]> { 703 def FENCE_TSO : RVInstI<0b000, OPC_MISC_MEM, (outs), (ins), "fence.tso", "">, Sched<[]> { 709 def FENCE_I : RVInstI<0b001, OPC_MISC_MEM, (outs), (ins), "fence.i", "">, Sched<[]> { 952 def : InstAlias<"fence", (FENCE 0xF, 0xF)>; // 0xF == iorw 1725 // fence acquire -> fence r, rw 1727 // fence release -> fence rw, w 1729 // fence acq_rel -> fence.tso 1731 // fence seq_cst -> fence rw, rw 1735 // Although these are lowered to fence+load/store instructions defined in the
|
H A D | RISCVFeatures.td | 135 "'Zifencei' (fence.i)">; 138 "'Zifencei' (fence.i)">; 1305 def FeatureNoTrailingSeqCstFence : SubtargetFeature<"no-trailing-seq-cst-fence", 1308 "Disable trailing fence for seq-cst store.">;
|
/freebsd/sys/dev/mlx5/mlx5_ib/ |
H A D | mlx5_ib_qp.c | 3829 static u8 get_fence(u8 fence, const struct ib_send_wr *wr) in get_fence() argument 3835 if (unlikely(fence)) { in get_fence() 3839 return fence; in get_fence() 3875 int nreq, u8 fence, u8 next_fence, in finish_wqe() argument 3883 ctrl->fm_ce_se |= fence; in finish_wqe() 3917 u8 fence; in mlx5_ib_post_send() local 3943 fence = qp->fm_cache; in mlx5_ib_post_send() 4018 nreq, get_fence(fence, wr), in mlx5_ib_post_send() 4043 nreq, get_fence(fence, wr), in mlx5_ib_post_send() 4065 nreq, get_fence(fence, wr), in mlx5_ib_post_send() [all …]
|
/freebsd/sys/riscv/riscv/ |
H A D | busdma_bounce.c | 841 fence(); in dma_dcache_sync() 919 fence(); in bounce_bus_dmamap_sync()
|
H A D | pmap.c | 1008 fence(); in pmap_invalidate_page() 1023 fence(); in pmap_invalidate_range() 1049 fence(); in pmap_invalidate_all() 5152 fence(); in pmap_sync_icache()
|
/freebsd/sys/dev/hwpmc/ |
H A D | hwpmc_mod.c | 198 static int pmc_debugflags_parse(char *newstr, char *fence); 450 pmc_debugflags_parse(char *newstr, char *fence) in pmc_debugflags_parse() argument 461 for (p = newstr; p < fence && (c = *p); p++) { in pmc_debugflags_parse() 467 for (q = p; p < fence && (c = *p) && c != '='; p++) in pmc_debugflags_parse() 503 for (q = p; p < fence && (c = *p); p++) in pmc_debugflags_parse() 581 char *fence, *newstr; in pmc_debugflags_sysctl_handler() local 593 fence = newstr + (n < req->newlen ? n : req->newlen + 1); in pmc_debugflags_sysctl_handler() 594 error = pmc_debugflags_parse(newstr, fence); in pmc_debugflags_sysctl_handler()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/ |
H A D | TargetOpcodes.def | 124 /// Arithmetic fence. 220 // This is a fence with the singlethread scope. It represents a compiler memory 424 // Generic atomic fence
|
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
H A D | WebAssemblyInstrAtomics.td | 108 // A compiler fence instruction that prevents reordering of instructions. 113 defm ATOMIC_FENCE : ATOMIC_NRI<(outs), (ins i8imm:$flags), [], "atomic.fence",
|
/freebsd/contrib/llvm-project/llvm/lib/AsmParser/ |
H A D | LLLexer.cpp | 899 INSTKEYWORD(fence, Fence); in LexIdentifier()
|