/linux-6.6.21/drivers/gpu/drm/nouveau/nvkm/subdev/fault/ |
D | base.c | 29 struct nvkm_fault *fault = container_of(event, typeof(*fault), event); in nvkm_fault_ntfy_fini() local 30 fault->func->buffer.intr(fault->buffer[index], false); in nvkm_fault_ntfy_fini() 36 struct nvkm_fault *fault = container_of(event, typeof(*fault), event); in nvkm_fault_ntfy_init() local 37 fault->func->buffer.intr(fault->buffer[index], true); in nvkm_fault_ntfy_init() 49 struct nvkm_fault *fault = nvkm_fault(subdev); in nvkm_fault_intr() local 50 return fault->func->intr(fault); in nvkm_fault_intr() 56 struct nvkm_fault *fault = nvkm_fault(subdev); in nvkm_fault_fini() local 57 if (fault->func->fini) in nvkm_fault_fini() 58 fault->func->fini(fault); in nvkm_fault_fini() 65 struct nvkm_fault *fault = nvkm_fault(subdev); in nvkm_fault_init() local [all …]
|
D | gv100.c | 33 struct nvkm_fault *fault = container_of(work, typeof(*fault), nrpfb_work); in gv100_fault_buffer_process() local 34 struct nvkm_fault_buffer *buffer = fault->buffer[0]; in gv100_fault_buffer_process() 35 struct nvkm_device *device = fault->subdev.device; in gv100_fault_buffer_process() 44 const u32 base = get * buffer->fault->func->buffer.entry_size; in gv100_fault_buffer_process() 78 struct nvkm_device *device = buffer->fault->subdev.device; in gv100_fault_buffer_intr() 89 struct nvkm_device *device = buffer->fault->subdev.device; in gv100_fault_buffer_fini() 97 struct nvkm_device *device = buffer->fault->subdev.device; in gv100_fault_buffer_init() 109 struct nvkm_device *device = buffer->fault->subdev.device; in gv100_fault_buffer_info() 122 struct nvkm_fault *fault = container_of(ntfy, typeof(*fault), nrpfb); in gv100_fault_ntfy_nrpfb() local 124 schedule_work(&fault->nrpfb_work); in gv100_fault_ntfy_nrpfb() [all …]
|
D | tu102.c | 37 nvkm_event_ntfy(&buffer->fault->event, buffer->id, NVKM_FAULT_BUFFER_EVENT_PENDING); in tu102_fault_buffer_notify() 53 struct nvkm_device *device = buffer->fault->subdev.device; in tu102_fault_buffer_fini() 62 struct nvkm_device *device = buffer->fault->subdev.device; in tu102_fault_buffer_init() 74 struct nvkm_device *device = buffer->fault->subdev.device; in tu102_fault_buffer_info() 87 struct nvkm_fault *fault = container_of(inth, typeof(*fault), info_fault); in tu102_fault_info_fault() local 88 struct nvkm_subdev *subdev = &fault->subdev; in tu102_fault_info_fault() 115 tu102_fault_fini(struct nvkm_fault *fault) in tu102_fault_fini() argument 117 nvkm_event_ntfy_block(&fault->nrpfb); in tu102_fault_fini() 118 flush_work(&fault->nrpfb_work); in tu102_fault_fini() 120 if (fault->buffer[0]) in tu102_fault_fini() [all …]
|
D | Kbuild | 2 nvkm-y += nvkm/subdev/fault/base.o 3 nvkm-y += nvkm/subdev/fault/user.o 4 nvkm-y += nvkm/subdev/fault/gp100.o 5 nvkm-y += nvkm/subdev/fault/gp10b.o 6 nvkm-y += nvkm/subdev/fault/gv100.o 7 nvkm-y += nvkm/subdev/fault/tu102.o
|
D | user.c | 42 return nvkm_uevent_add(uevent, &buffer->fault->event, buffer->id, in nvkm_ufault_uevent() 51 struct nvkm_device *device = buffer->fault->subdev.device; in nvkm_ufault_map() 62 buffer->fault->func->buffer.fini(buffer); in nvkm_ufault_fini() 70 buffer->fault->func->buffer.init(buffer); in nvkm_ufault_init() 96 struct nvkm_fault *fault = device->fault; in nvkm_ufault_new() local 97 struct nvkm_fault_buffer *buffer = fault->buffer[fault->func->user.rp]; in nvkm_ufault_new()
|
/linux-6.6.21/drivers/infiniband/hw/hfi1/ |
D | fault.c | 69 if (!ibd->fault->n_rxfaults[i] && !ibd->fault->n_txfaults[i]) in _fault_stats_seq_show() 74 (unsigned long long)ibd->fault->n_rxfaults[i], in _fault_stats_seq_show() 75 (unsigned long long)ibd->fault->n_txfaults[i]); in _fault_stats_seq_show() 96 struct fault *fault = file->private_data; in fault_opcodes_write() local 138 bitmap_zero(fault->opcodes, sizeof(fault->opcodes) * in fault_opcodes_write() 148 clear_bit(i, fault->opcodes); in fault_opcodes_write() 150 set_bit(i, fault->opcodes); in fault_opcodes_write() 170 struct fault *fault = file->private_data; in fault_opcodes_read() local 171 size_t bitsize = sizeof(fault->opcodes) * BITS_PER_BYTE; in fault_opcodes_read() 179 bit = find_first_bit(fault->opcodes, bitsize); in fault_opcodes_read() [all …]
|
/linux-6.6.21/arch/s390/mm/ |
D | fault.c | 247 static noinline void do_no_context(struct pt_regs *regs, vm_fault_t fault) in do_no_context() argument 256 if ((fault_type == KERNEL_FAULT) && (fault == VM_FAULT_BADCONTEXT)) { in do_no_context() 298 static noinline void do_fault_error(struct pt_regs *regs, vm_fault_t fault) in do_fault_error() argument 302 switch (fault) { in do_fault_error() 308 si_code = (fault == VM_FAULT_BADMAP) ? in do_fault_error() 316 do_no_context(regs, fault); in do_fault_error() 320 do_no_context(regs, fault); in do_fault_error() 323 if (fault & VM_FAULT_OOM) { in do_fault_error() 325 do_no_context(regs, fault); in do_fault_error() 328 } else if (fault & VM_FAULT_SIGSEGV) { in do_fault_error() [all …]
|
/linux-6.6.21/drivers/iommu/amd/ |
D | iommu_v2.c | 67 struct fault { struct 428 static void handle_fault_error(struct fault *fault) in handle_fault_error() argument 432 if (!fault->dev_state->inv_ppr_cb) { in handle_fault_error() 433 set_pri_tag_status(fault->state, fault->tag, PPR_INVALID); in handle_fault_error() 437 status = fault->dev_state->inv_ppr_cb(fault->dev_state->pdev, in handle_fault_error() 438 fault->pasid, in handle_fault_error() 439 fault->address, in handle_fault_error() 440 fault->flags); in handle_fault_error() 443 set_pri_tag_status(fault->state, fault->tag, PPR_SUCCESS); in handle_fault_error() 446 set_pri_tag_status(fault->state, fault->tag, PPR_INVALID); in handle_fault_error() [all …]
|
/linux-6.6.21/arch/mips/kernel/ |
D | unaligned.c | 174 goto fault; in emulate_load_store_insn() 183 goto fault; in emulate_load_store_insn() 192 goto fault; in emulate_load_store_insn() 212 goto fault; in emulate_load_store_insn() 221 goto fault; in emulate_load_store_insn() 242 goto fault; in emulate_load_store_insn() 251 goto fault; in emulate_load_store_insn() 260 goto fault; in emulate_load_store_insn() 271 goto fault; in emulate_load_store_insn() 280 goto fault; in emulate_load_store_insn() [all …]
|
/linux-6.6.21/arch/nios2/kernel/ |
D | misaligned.c | 72 unsigned int fault; in handle_unaligned_c() local 85 fault = 0; in handle_unaligned_c() 98 fault |= __get_user(d0, (u8 *)(addr+0)); in handle_unaligned_c() 99 fault |= __get_user(d1, (u8 *)(addr+1)); in handle_unaligned_c() 111 fault |= __put_user(d0, (u8 *)(addr+0)); in handle_unaligned_c() 112 fault |= __put_user(d1, (u8 *)(addr+1)); in handle_unaligned_c() 116 fault |= __get_user(d0, (u8 *)(addr+0)); in handle_unaligned_c() 117 fault |= __get_user(d1, (u8 *)(addr+1)); in handle_unaligned_c() 133 fault |= __put_user(d0, (u8 *)(addr+0)); in handle_unaligned_c() 134 fault |= __put_user(d1, (u8 *)(addr+1)); in handle_unaligned_c() [all …]
|
/linux-6.6.21/arch/x86/kvm/svm/ |
D | svm_ops.h | 12 _ASM_EXTABLE(1b, %l[fault]) \ 13 ::: clobber : fault); \ 15 fault: \ 22 _ASM_EXTABLE(1b, %l[fault]) \ 23 :: op1 : clobber : fault); \ 25 fault: \ 32 _ASM_EXTABLE(1b, %l[fault]) \ 33 :: op1, op2 : clobber : fault); \ 35 fault: \
|
/linux-6.6.21/drivers/gpu/drm/nouveau/ |
D | nouveau_svm.c | 66 u8 fault; member 68 } **fault; member 415 struct nouveau_svm_fault *fault) in nouveau_svm_fault_cancel_fault() argument 417 nouveau_svm_fault_cancel(svm, fault->inst, in nouveau_svm_fault_cancel_fault() 418 fault->hub, in nouveau_svm_fault_cancel_fault() 419 fault->gpc, in nouveau_svm_fault_cancel_fault() 420 fault->client); in nouveau_svm_fault_cancel_fault() 424 nouveau_svm_fault_priority(u8 fault) in nouveau_svm_fault_priority() argument 426 switch (fault) { in nouveau_svm_fault_priority() 472 struct nouveau_svm_fault *fault; in nouveau_svm_fault_cache() local [all …]
|
/linux-6.6.21/arch/x86/kvm/mmu/ |
D | paging_tmpl.h | 92 struct x86_exception fault; member 249 ret = __try_cmpxchg_user(ptep_user, &orig_pte, pte, fault); in FNAME() 380 nested_access, &walker->fault); in FNAME() 448 real_gpa = kvm_translate_gpa(vcpu, mmu, gfn_to_gpa(gfn), access, &walker->fault); in FNAME() 481 walker->fault.vector = PF_VECTOR; in FNAME() 482 walker->fault.error_code_valid = true; in FNAME() 483 walker->fault.error_code = errcode; in FNAME() 517 walker->fault.address = addr; in FNAME() 518 walker->fault.nested_page_fault = mmu != vcpu->arch.walk_mmu; in FNAME() 519 walker->fault.async_page_fault = false; in FNAME() [all …]
|
D | mmu_internal.h | 250 int kvm_tdp_page_fault(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault); 283 struct kvm_page_fault fault = { in kvm_mmu_do_page_fault() local 303 fault.gfn = fault.addr >> PAGE_SHIFT; in kvm_mmu_do_page_fault() 304 fault.slot = kvm_vcpu_gfn_to_memslot(vcpu, fault.gfn); in kvm_mmu_do_page_fault() 315 if (IS_ENABLED(CONFIG_RETPOLINE) && fault.is_tdp) in kvm_mmu_do_page_fault() 316 r = kvm_tdp_page_fault(vcpu, &fault); in kvm_mmu_do_page_fault() 318 r = vcpu->arch.mmu->page_fault(vcpu, &fault); in kvm_mmu_do_page_fault() 320 if (fault.write_fault_to_shadow_pgtable && emulation_type) in kvm_mmu_do_page_fault() 342 void kvm_mmu_hugepage_adjust(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault); 343 void disallowed_hugepage_adjust(struct kvm_page_fault *fault, u64 spte, int cur_level);
|
/linux-6.6.21/arch/mips/loongson64/ |
D | cop2-ex.c | 76 goto fault; in loongson_cu2_call() 80 goto fault; in loongson_cu2_call() 92 goto fault; in loongson_cu2_call() 96 goto fault; in loongson_cu2_call() 118 goto fault; in loongson_cu2_call() 123 goto fault; in loongson_cu2_call() 135 goto fault; in loongson_cu2_call() 141 goto fault; in loongson_cu2_call() 165 goto fault; in loongson_cu2_call() 176 goto fault; in loongson_cu2_call() [all …]
|
/linux-6.6.21/arch/arc/kernel/ |
D | unaligned.c | 50 goto fault; \ 65 goto fault; \ 92 goto fault; \ 125 goto fault; \ 159 fault: state->fault = 1; in fixup_load() 179 goto fault; in fixup_store() 191 fault: state->fault = 1; in fixup_store() 225 if (state.fault) in misaligned_fixup() 226 goto fault; in misaligned_fixup() 230 goto fault; in misaligned_fixup() [all …]
|
/linux-6.6.21/drivers/iommu/ |
D | io-pgfault.c | 44 struct iommu_fault fault; member 60 .pasid = iopf->fault.prm.pasid, in iopf_complete_group() 61 .grpid = iopf->fault.prm.grpid, in iopf_complete_group() 65 if ((iopf->fault.prm.flags & IOMMU_FAULT_PAGE_REQUEST_PASID_VALID) && in iopf_complete_group() 66 (iopf->fault.prm.flags & IOMMU_FAULT_PAGE_RESPONSE_NEEDS_PASID)) in iopf_complete_group() 81 group->last_fault.fault.prm.pasid, 0); in iopf_handler() 91 status = domain->iopf_handler(&iopf->fault, in iopf_handler() 94 if (!(iopf->fault.prm.flags & in iopf_handler() 143 int iommu_queue_iopf(struct iommu_fault *fault, void *cookie) in iommu_queue_iopf() argument 155 if (fault->type != IOMMU_FAULT_PAGE_REQ) in iommu_queue_iopf() [all …]
|
/linux-6.6.21/arch/powerpc/mm/ |
D | fault.c | 133 vm_fault_t fault) in do_sigbus() argument 140 if (fault & (VM_FAULT_HWPOISON|VM_FAULT_HWPOISON_LARGE)) { in do_sigbus() 146 if (fault & VM_FAULT_HWPOISON_LARGE) in do_sigbus() 147 lsb = hstate_index_to_shift(VM_FAULT_GET_HINDEX(fault)); in do_sigbus() 148 if (fault & VM_FAULT_HWPOISON) in do_sigbus() 161 vm_fault_t fault) in mm_fault_error() argument 171 if (fault & VM_FAULT_OOM) { in mm_fault_error() 180 if (fault & (VM_FAULT_SIGBUS|VM_FAULT_HWPOISON| in mm_fault_error() 182 return do_sigbus(regs, addr, fault); in mm_fault_error() 183 else if (fault & VM_FAULT_SIGSEGV) in mm_fault_error() [all …]
|
/linux-6.6.21/arch/powerpc/lib/ |
D | checksum_32.S | 109 EX_TABLE(8 ## n ## 0b, fault); \ 110 EX_TABLE(8 ## n ## 1b, fault); \ 111 EX_TABLE(8 ## n ## 2b, fault); \ 112 EX_TABLE(8 ## n ## 3b, fault); \ 113 EX_TABLE(8 ## n ## 4b, fault); \ 114 EX_TABLE(8 ## n ## 5b, fault); \ 115 EX_TABLE(8 ## n ## 6b, fault); \ 116 EX_TABLE(8 ## n ## 7b, fault); 240 fault: label 244 EX_TABLE(70b, fault); [all …]
|
/linux-6.6.21/arch/riscv/mm/ |
D | fault.c | 62 static inline void mm_fault_error(struct pt_regs *regs, unsigned long addr, vm_fault_t fault) in mm_fault_error() argument 64 if (fault & VM_FAULT_OOM) { in mm_fault_error() 75 } else if (fault & (VM_FAULT_SIGBUS | VM_FAULT_HWPOISON | VM_FAULT_HWPOISON_LARGE)) { in mm_fault_error() 230 vm_fault_t fault; in handle_page_fault() local 298 fault = handle_mm_fault(vma, addr, flags | FAULT_FLAG_VMA_LOCK, regs); in handle_page_fault() 299 if (!(fault & (VM_FAULT_RETRY | VM_FAULT_COMPLETED))) in handle_page_fault() 302 if (!(fault & VM_FAULT_RETRY)) { in handle_page_fault() 308 if (fault_signal_pending(fault, regs)) { in handle_page_fault() 340 fault = handle_mm_fault(vma, addr, flags, regs); in handle_page_fault() 347 if (fault_signal_pending(fault, regs)) { in handle_page_fault() [all …]
|
/linux-6.6.21/arch/m68k/mm/ |
D | fault.c | 73 vm_fault_t fault; in do_page_fault() local 139 fault = handle_mm_fault(vma, address, flags, regs); in do_page_fault() 140 pr_debug("handle_mm_fault returns %x\n", fault); in do_page_fault() 142 if (fault_signal_pending(fault, regs)) { in do_page_fault() 149 if (fault & VM_FAULT_COMPLETED) in do_page_fault() 152 if (unlikely(fault & VM_FAULT_ERROR)) { in do_page_fault() 153 if (fault & VM_FAULT_OOM) in do_page_fault() 155 else if (fault & VM_FAULT_SIGSEGV) in do_page_fault() 157 else if (fault & VM_FAULT_SIGBUS) in do_page_fault() 162 if (fault & VM_FAULT_RETRY) { in do_page_fault()
|
/linux-6.6.21/arch/hexagon/mm/ |
D | vm_fault.c | 42 vm_fault_t fault; in do_page_fault() local 83 fault = handle_mm_fault(vma, address, flags, regs); in do_page_fault() 85 if (fault_signal_pending(fault, regs)) { in do_page_fault() 92 if (fault & VM_FAULT_COMPLETED) in do_page_fault() 96 if (likely(!(fault & VM_FAULT_ERROR))) { in do_page_fault() 97 if (fault & VM_FAULT_RETRY) { in do_page_fault() 112 if (fault & VM_FAULT_OOM) { in do_page_fault() 120 if (fault & VM_FAULT_SIGBUS) { in do_page_fault()
|
/linux-6.6.21/arch/alpha/mm/ |
D | fault.c | 92 vm_fault_t fault; in do_page_fault() local 145 fault = handle_mm_fault(vma, address, flags, regs); in do_page_fault() 147 if (fault_signal_pending(fault, regs)) { in do_page_fault() 154 if (fault & VM_FAULT_COMPLETED) in do_page_fault() 157 if (unlikely(fault & VM_FAULT_ERROR)) { in do_page_fault() 158 if (fault & VM_FAULT_OOM) in do_page_fault() 160 else if (fault & VM_FAULT_SIGSEGV) in do_page_fault() 162 else if (fault & VM_FAULT_SIGBUS) in do_page_fault() 167 if (fault & VM_FAULT_RETRY) { in do_page_fault()
|
/linux-6.6.21/arch/nios2/mm/ |
D | fault.c | 50 vm_fault_t fault; in do_page_fault() local 124 fault = handle_mm_fault(vma, address, flags, regs); in do_page_fault() 126 if (fault_signal_pending(fault, regs)) { in do_page_fault() 133 if (fault & VM_FAULT_COMPLETED) in do_page_fault() 136 if (unlikely(fault & VM_FAULT_ERROR)) { in do_page_fault() 137 if (fault & VM_FAULT_OOM) in do_page_fault() 139 else if (fault & VM_FAULT_SIGSEGV) in do_page_fault() 141 else if (fault & VM_FAULT_SIGBUS) in do_page_fault() 146 if (fault & VM_FAULT_RETRY) { in do_page_fault()
|
/linux-6.6.21/arch/microblaze/mm/ |
D | fault.c | 93 vm_fault_t fault; in do_page_fault() local 221 fault = handle_mm_fault(vma, address, flags, regs); in do_page_fault() 223 if (fault_signal_pending(fault, regs)) { in do_page_fault() 230 if (fault & VM_FAULT_COMPLETED) in do_page_fault() 233 if (unlikely(fault & VM_FAULT_ERROR)) { in do_page_fault() 234 if (fault & VM_FAULT_OOM) in do_page_fault() 236 else if (fault & VM_FAULT_SIGSEGV) in do_page_fault() 238 else if (fault & VM_FAULT_SIGBUS) in do_page_fault() 243 if (fault & VM_FAULT_RETRY) { in do_page_fault()
|