| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/subdev/fault/ |
| D | base.c | 30 struct nvkm_fault *fault = container_of(event, typeof(*fault), event); in nvkm_fault_ntfy_fini() local 31 fault->func->buffer.intr(fault->buffer[index], false); in nvkm_fault_ntfy_fini() 37 struct nvkm_fault *fault = container_of(event, typeof(*fault), event); in nvkm_fault_ntfy_init() local 38 fault->func->buffer.intr(fault->buffer[index], true); in nvkm_fault_ntfy_init() 65 struct nvkm_fault *fault = nvkm_fault(subdev); in nvkm_fault_intr() local 66 return fault->func->intr(fault); in nvkm_fault_intr() 72 struct nvkm_fault *fault = nvkm_fault(subdev); in nvkm_fault_fini() local 73 if (fault->func->fini) in nvkm_fault_fini() 74 fault->func->fini(fault); in nvkm_fault_fini() 81 struct nvkm_fault *fault = nvkm_fault(subdev); in nvkm_fault_init() local [all …]
|
| D | gv100.c | 33 struct nvkm_device *device = buffer->fault->subdev.device; in gv100_fault_buffer_process() 42 const u32 base = get * buffer->fault->func->buffer.entry_size; in gv100_fault_buffer_process() 76 struct nvkm_device *device = buffer->fault->subdev.device; in gv100_fault_buffer_intr() 87 struct nvkm_device *device = buffer->fault->subdev.device; in gv100_fault_buffer_fini() 95 struct nvkm_device *device = buffer->fault->subdev.device; in gv100_fault_buffer_init() 107 struct nvkm_device *device = buffer->fault->subdev.device; in gv100_fault_buffer_info() 120 struct nvkm_fault *fault = container_of(notify, typeof(*fault), nrpfb); in gv100_fault_ntfy_nrpfb() local 121 gv100_fault_buffer_process(fault->buffer[0]); in gv100_fault_ntfy_nrpfb() 126 gv100_fault_intr_fault(struct nvkm_fault *fault) in gv100_fault_intr_fault() argument 128 struct nvkm_subdev *subdev = &fault->subdev; in gv100_fault_intr_fault() [all …]
|
| D | tu102.c | 42 struct nvkm_device *device = buffer->fault->subdev.device; in tu102_fault_buffer_fini() 50 struct nvkm_device *device = buffer->fault->subdev.device; in tu102_fault_buffer_init() 62 struct nvkm_device *device = buffer->fault->subdev.device; in tu102_fault_buffer_info() 73 tu102_fault_intr_fault(struct nvkm_fault *fault) in tu102_fault_intr_fault() argument 75 struct nvkm_subdev *subdev = &fault->subdev; in tu102_fault_intr_fault() 99 tu102_fault_intr(struct nvkm_fault *fault) in tu102_fault_intr() argument 101 struct nvkm_subdev *subdev = &fault->subdev; in tu102_fault_intr() 106 tu102_fault_intr_fault(fault); in tu102_fault_intr() 112 if (fault->buffer[0]) { in tu102_fault_intr() 113 nvkm_event_send(&fault->event, 1, 0, NULL, 0); in tu102_fault_intr() [all …]
|
| /kernel/linux/linux-6.6/drivers/infiniband/hw/hfi1/ |
| D | fault.c | 13 #include "fault.h" 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() [all …]
|
| /kernel/linux/linux-5.10/drivers/infiniband/hw/hfi1/ |
| D | fault.c | 55 #include "fault.h" 111 if (!ibd->fault->n_rxfaults[i] && !ibd->fault->n_txfaults[i]) in _fault_stats_seq_show() 116 (unsigned long long)ibd->fault->n_rxfaults[i], in _fault_stats_seq_show() 117 (unsigned long long)ibd->fault->n_txfaults[i]); in _fault_stats_seq_show() 138 struct fault *fault = file->private_data; in fault_opcodes_write() local 180 bitmap_zero(fault->opcodes, sizeof(fault->opcodes) * in fault_opcodes_write() 190 clear_bit(i, fault->opcodes); in fault_opcodes_write() 192 set_bit(i, fault->opcodes); in fault_opcodes_write() 212 struct fault *fault = file->private_data; in fault_opcodes_read() local 213 size_t bitsize = sizeof(fault->opcodes) * BITS_PER_BYTE; in fault_opcodes_read() [all …]
|
| /kernel/linux/linux-6.6/arch/powerpc/mm/ |
| D | fault.c | 6 * Derived from "arch/i386/mm/fault.c" 106 * 5. T1 : enters fault handler, takes mmap_lock, etc... in bad_access_pkey() 133 vm_fault_t fault) in do_sigbus() argument 140 if (fault & (VM_FAULT_HWPOISON|VM_FAULT_HWPOISON_LARGE)) { in do_sigbus() 143 pr_err("MCE: Killing %s:%d due to hardware memory corruption fault at %lx\n", 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 164 * Kernel page fault interrupted by SIGKILL. We have no reason to in mm_fault_error() [all …]
|
| /kernel/linux/linux-5.10/arch/powerpc/mm/ |
| D | fault.c | 6 * Derived from "arch/i386/mm/fault.c" 109 * 5. T1 : enters fault handler, takes mmap_lock, etc... in bad_access_pkey() 137 vm_fault_t fault) in do_sigbus() argument 144 if (fault & (VM_FAULT_HWPOISON|VM_FAULT_HWPOISON_LARGE)) { in do_sigbus() 147 pr_err("MCE: Killing %s:%d due to hardware memory corruption fault at %lx\n", in do_sigbus() 150 if (fault & VM_FAULT_HWPOISON_LARGE) in do_sigbus() 151 lsb = hstate_index_to_shift(VM_FAULT_GET_HINDEX(fault)); in do_sigbus() 152 if (fault & VM_FAULT_HWPOISON) in do_sigbus() 165 vm_fault_t fault) in mm_fault_error() argument 168 * Kernel page fault interrupted by SIGKILL. We have no reason to in mm_fault_error() [all …]
|
| /kernel/linux/linux-6.6/arch/s390/mm/ |
| D | fault.c | 8 * Derived from "arch/i386/mm/fault.c" 181 pr_alert("Fault in "); in dump_fault_info() 227 printk(KERN_ALERT "User process fault: interruption code %04x ilc:%d ", in report_user_fault() 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() [all …]
|
| /kernel/linux/linux-6.6/arch/powerpc/platforms/powernv/ |
| D | vas-fault.c | 3 * VAS Fault handling. 21 * The maximum FIFO size for fault window can be 8MB 23 * instance will be having fault window. 35 pr_err("Fault fifo size %d, Max crbs %d\n", vinst->fault_fifo_size, in dump_fifo() 39 pr_err("Fault FIFO Dump:\n"); in dump_fifo() 47 * Process valid CRBs in fault FIFO. 50 * request buffers, raises interrupt on the CPU to handle the fault. 51 * It takes credit on fault window, updates nx_fault_stamp in CRB with 52 * the following information and pastes CRB in fault FIFO. 55 * fault_storage_addr - fault address [all …]
|
| /kernel/linux/linux-6.6/drivers/iommu/ |
| D | io-pgfault.c | 17 * struct iopf_queue - IO Page Fault queue 18 * @wq: the fault workqueue 29 * struct iopf_device_param - IO Page Fault data attached to a device 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() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/ |
| D | nouveau_svm.c | 63 u8 fault; member 65 } **fault; member 155 * page fault) and maybe some other commands. in nouveau_svmm_bind() 377 /* Issue fault replay for GPU to retry accesses that faulted previously. */ 388 /* Cancel a replayable fault that could not be handled. 390 * Cancelling the fault will trigger recovery to reset the engine 410 struct nouveau_svm_fault *fault) in nouveau_svm_fault_cancel_fault() argument 412 nouveau_svm_fault_cancel(svm, fault->inst, in nouveau_svm_fault_cancel_fault() 413 fault->hub, in nouveau_svm_fault_cancel_fault() 414 fault->gpc, in nouveau_svm_fault_cancel_fault() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/ |
| D | nouveau_svm.c | 66 u8 fault; member 68 } **fault; member 163 * page fault) and maybe some other commands. in nouveau_svmm_bind() 382 /* Issue fault replay for GPU to retry accesses that faulted previously. */ 393 /* Cancel a replayable fault that could not be handled. 395 * Cancelling the fault will trigger recovery to reset the engine 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() [all …]
|
| /kernel/linux/linux-6.6/drivers/staging/blackbox/ |
| D | Kconfig | 9 The blackbox is a fault log collecting framework for registered modules 10 of chips. When a fault occurs, blackbox will invoke the registered 26 tristate "blackbox fault log storage by memory directly" 30 This option enables saving fault logs with memory by blackbox when a 42 tristate "blackbox fault log storage by pstore blk" 48 This option enables saving fault logs with pstore blk by blackbox when a 51 happen, then fault log can not be saved. 54 tristate "blackbox fault log storage by pstore ram" 60 This option enables saving fault logs with pstore ram by blackbox when a 64 tristate "blackbox fault log storage by RAW partition" [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/blackbox/ |
| D | Kconfig | 9 The blackbox is a fault log collecting framework for registered modules 10 of chips. When a fault occurs, blackbox will invoke the registered 26 tristate "blackbox fault log storage by memory directly" 30 This option enables saving fault logs with memory by blackbox when a 42 tristate "blackbox fault log storage by pstore blk" 48 This option enables saving fault logs with pstore blk by blackbox when a 51 happen, then fault log can not be saved. 54 tristate "blackbox fault log storage by pstore ram" 60 This option enables saving fault logs with pstore ram by blackbox when a 64 tristate "blackbox fault log storage by RAW partition" [all …]
|
| /kernel/linux/linux-6.6/arch/arm64/mm/ |
| D | fault.c | 3 * Based on arch/arm/mm/fault.c 293 * If we now have a valid translation, treat the translation fault as in is_spurious_el1_translation_fault() 300 * If we got a different type of fault from the AT instruction, in is_spurious_el1_translation_fault() 301 * treat the translation fault as spurious. in is_spurious_el1_translation_fault() 351 * tag fault. in do_tag_recovery() 382 * Are we prepared to handle this kernel fault? in __do_kernel_fault() 389 "Ignoring spurious kernel translation fault at virtual address %016lx\n", addr)) in __do_kernel_fault() 430 * an alignment fault not caused by the memory type would take in set_thread_esr() 431 * precedence over translation fault for a real access to empty in set_thread_esr() 432 * space. Unfortunately we can't easily distinguish "alignment fault in set_thread_esr() [all …]
|
| /kernel/linux/linux-5.10/Documentation/fault-injection/ |
| D | fault-injection.rst | 2 Fault injection capabilities infrastructure 8 Available fault injection capabilities 25 injects futex deadlock and uaddr fault errors. 44 - NVMe fault injection 52 Configure fault-injection capabilities behavior 58 fault-inject-debugfs kernel module provides some debugfs entries for runtime 59 configuration of fault-injection capabilities. 97 to debug the problems revealed by fault injection. 199 that the fault setup with a previous write to this file was injected. 200 A positive integer N indicates that the fault wasn't yet injected. [all …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-5.10/drivers/iommu/amd/ |
| D | iommu_v2.c | 66 struct fault { struct 426 static void handle_fault_error(struct fault *fault) in handle_fault_error() argument 430 if (!fault->dev_state->inv_ppr_cb) { in handle_fault_error() 431 set_pri_tag_status(fault->state, fault->tag, PPR_INVALID); in handle_fault_error() 435 status = fault->dev_state->inv_ppr_cb(fault->dev_state->pdev, in handle_fault_error() 436 fault->pasid, in handle_fault_error() 437 fault->address, in handle_fault_error() 438 fault->flags); in handle_fault_error() 441 set_pri_tag_status(fault->state, fault->tag, PPR_SUCCESS); in handle_fault_error() 444 set_pri_tag_status(fault->state, fault->tag, PPR_INVALID); in handle_fault_error() [all …]
|
| /kernel/linux/linux-6.6/arch/microblaze/mm/ |
| D | fault.c | 2 * arch/microblaze/mm/fault.c 6 * Derived from "arch/ppc/mm/fault.c" 9 * Derived from "arch/i386/mm/fault.c" 71 /* Are we prepared to handle this fault? */ in bad_page_fault() 83 * The error_code parameter is ESR for a data fault, 84 * 0 for an instruction fault. 93 vm_fault_t fault; in do_page_fault() local 115 pr_emerg("Page fault in user mode with faulthandler_disabled(), mm = %p\n", in do_page_fault() 119 die("Weird page fault", regs, SIGSEGV); in do_page_fault() 130 * erroneous fault occurring in a code path which already holds mmap_lock in do_page_fault() [all …]
|
| /kernel/linux/linux-5.10/arch/arm/mm/ |
| D | fsr-3level.c | 7 { do_bad, SIGBUS, 0, "reserved translation fault" }, 8 { do_translation_fault, SIGSEGV, SEGV_MAPERR, "level 1 translation fault" }, 9 { do_translation_fault, SIGSEGV, SEGV_MAPERR, "level 2 translation fault" }, 10 { do_page_fault, SIGSEGV, SEGV_MAPERR, "level 3 translation fault" }, 11 { do_bad, SIGBUS, 0, "reserved access flag fault" }, 12 { do_bad, SIGSEGV, SEGV_ACCERR, "level 1 access flag fault" }, 13 { do_page_fault, SIGSEGV, SEGV_ACCERR, "level 2 access flag fault" }, 14 { do_page_fault, SIGSEGV, SEGV_ACCERR, "level 3 access flag fault" }, 15 { do_bad, SIGBUS, 0, "reserved permission fault" }, 16 { do_bad, SIGSEGV, SEGV_ACCERR, "level 1 permission fault" }, [all …]
|
| /kernel/linux/linux-6.6/arch/arm/mm/ |
| D | fsr-3level.c | 7 { do_bad, SIGBUS, 0, "reserved translation fault" }, 8 { do_translation_fault, SIGSEGV, SEGV_MAPERR, "level 1 translation fault" }, 9 { do_translation_fault, SIGSEGV, SEGV_MAPERR, "level 2 translation fault" }, 10 { do_page_fault, SIGSEGV, SEGV_MAPERR, "level 3 translation fault" }, 11 { do_bad, SIGBUS, 0, "reserved access flag fault" }, 12 { do_bad, SIGSEGV, SEGV_ACCERR, "level 1 access flag fault" }, 13 { do_page_fault, SIGSEGV, SEGV_ACCERR, "level 2 access flag fault" }, 14 { do_page_fault, SIGSEGV, SEGV_ACCERR, "level 3 access flag fault" }, 15 { do_bad, SIGBUS, 0, "reserved permission fault" }, 16 { do_bad, SIGSEGV, SEGV_ACCERR, "level 1 permission fault" }, [all …]
|
| /kernel/linux/linux-6.6/include/uapi/linux/ |
| D | iommu.h | 16 /* Generic fault types, can be expanded IRQ remapping fault */ 18 IOMMU_FAULT_DMA_UNRECOV = 1, /* unrecoverable fault */ 19 IOMMU_FAULT_PAGE_REQ, /* page request fault */ 45 * actual translation fault 55 /* Output address of a translation stage caused Address Size fault */ 60 * struct iommu_fault_unrecoverable - Unrecoverable fault data 61 * @reason: reason of the fault, from &enum iommu_fault_reason 62 * @flags: parameters of this fault (IOMMU_FAULT_UNRECOV_* values) 108 * struct iommu_fault - Generic fault data 109 * @type: fault type from &enum iommu_fault_type [all …]
|