Home
last modified time | relevance | path

Searched refs:dsisr (Results 1 – 25 of 68) sorted by relevance

123

/linux-6.1.9/drivers/misc/cxl/
Dirq.c26 static irqreturn_t schedule_cxl_fault(struct cxl_context *ctx, u64 dsisr, u64 dar) in schedule_cxl_fault() argument
28 ctx->dsisr = dsisr; in schedule_cxl_fault()
36 u64 dsisr, dar; in cxl_irq_psl9() local
38 dsisr = irq_info->dsisr; in cxl_irq_psl9()
41 trace_cxl_psl9_irq(ctx, irq, dsisr, dar); in cxl_irq_psl9()
43 pr_devel("CXL interrupt %i for afu pe: %i DSISR: %#llx DAR: %#llx\n", irq, ctx->pe, dsisr, dar); in cxl_irq_psl9()
45 if (dsisr & CXL_PSL9_DSISR_An_TF) { in cxl_irq_psl9()
47 return schedule_cxl_fault(ctx, dsisr, dar); in cxl_irq_psl9()
50 if (dsisr & CXL_PSL9_DSISR_An_PE) in cxl_irq_psl9()
51 return cxl_ops->handle_psl_slice_error(ctx, dsisr, in cxl_irq_psl9()
[all …]
Dfault.c106 ctx->fault_dsisr = ctx->dsisr; in cxl_ack_ae()
131 int cxl_handle_mm_fault(struct mm_struct *mm, u64 dsisr, u64 dar) in cxl_handle_mm_fault() argument
153 if ((result = copro_handle_mm_fault(mm, dar, dsisr, &flt))) { in cxl_handle_mm_fault()
164 if (dsisr & CXL_PSL_DSISR_An_S) in cxl_handle_mm_fault()
170 if (dsisr & DSISR_NOHPTE) in cxl_handle_mm_fault()
182 u64 dsisr, u64 dar) in cxl_handle_page_fault() argument
184 trace_cxl_pte_miss(ctx, dsisr, dar); in cxl_handle_page_fault()
186 if (cxl_handle_mm_fault(mm, dsisr, dar)) { in cxl_handle_page_fault()
209 static bool cxl_is_segment_miss(struct cxl_context *ctx, u64 dsisr) in cxl_is_segment_miss() argument
211 if ((cxl_is_power8() && (dsisr & CXL_PSL_DSISR_An_DS))) in cxl_is_segment_miss()
[all …]
Dtrace.h163 TP_PROTO(struct cxl_context *ctx, int irq, u64 dsisr, u64 dar),
165 TP_ARGS(ctx, irq, dsisr, dar),
172 __field(u64, dsisr)
181 __entry->dsisr = dsisr;
190 __entry->dsisr,
191 dsisr_psl9_flags(__entry->dsisr),
197 TP_PROTO(struct cxl_context *ctx, int irq, u64 dsisr, u64 dar),
199 TP_ARGS(ctx, irq, dsisr, dar),
206 __field(u64, dsisr)
215 __entry->dsisr = dsisr;
[all …]
Dnative.c135 u64 dsisr, dar; in cxl_psl_purge() local
177 dsisr = cxl_p2n_read(afu, CXL_PSL_DSISR_An); in cxl_psl_purge()
179 PSL_CNTL, dsisr); in cxl_psl_purge()
181 if (dsisr & trans_fault) { in cxl_psl_purge()
184 dsisr, dar); in cxl_psl_purge()
186 } else if (dsisr) { in cxl_psl_purge()
188 dsisr); in cxl_psl_purge()
1093 info->dsisr = cxl_p2n_read(afu, CXL_PSL_DSISR_An); in native_get_irq_info()
1137 u64 dsisr, u64 errstat) in native_handle_psl_slice_error() argument
1153 static bool cxl_is_translation_fault(struct cxl_afu *afu, u64 dsisr) in cxl_is_translation_fault() argument
[all …]
/linux-6.1.9/arch/powerpc/include/asm/
Ddisassemble.h92 unsigned dsisr; in make_dsisr() local
96 dsisr = (instr & 0x03ff0000) >> 16; in make_dsisr()
100 dsisr |= (instr & 0x00000006) << 14; in make_dsisr()
102 dsisr |= (instr & 0x00000040) << 8; in make_dsisr()
104 dsisr |= (instr & 0x00000780) << 3; in make_dsisr()
107 dsisr |= (instr & 0x04000000) >> 12; in make_dsisr()
109 dsisr |= (instr & 0x78000000) >> 17; in make_dsisr()
112 dsisr |= (instr & 0x00000003) << 18; in make_dsisr()
115 return dsisr; in make_dsisr()
Dpnv-ocxl.h68 void pnv_ocxl_unmap_xsl_regs(void __iomem *dsisr, void __iomem *dar,
70 int pnv_ocxl_map_xsl_regs(struct pci_dev *dev, void __iomem **dsisr,
Dspu_priv1.h29 void (*mfc_dsisr_set) (struct spu *spu, u64 dsisr);
99 spu_mfc_dsisr_set (struct spu *spu, u64 dsisr) in spu_mfc_dsisr_set() argument
101 spu_priv1_ops->mfc_dsisr_set(spu, dsisr); in spu_mfc_dsisr_set()
Dcopro.h17 unsigned long dsisr, vm_fault_t *flt);
/linux-6.1.9/arch/powerpc/platforms/cell/spufs/
Dfault.c88 u64 ea, dsisr, access; in spufs_handle_class1() local
103 dsisr = ctx->csa.class_1_dsisr; in spufs_handle_class1()
105 if (!(dsisr & (MFC_DSISR_PTE_NOT_FOUND | MFC_DSISR_ACCESS_DENIED))) in spufs_handle_class1()
111 dsisr, ctx->state); in spufs_handle_class1()
121 access |= (dsisr & MFC_DSISR_ACCESS_PUT) ? _PAGE_WRITE : 0UL; in spufs_handle_class1()
123 ret = hash_page(ea, access, 0x300, dsisr); in spufs_handle_class1()
128 ret = copro_handle_mm_fault(current->mm, ea, dsisr, &flt); in spufs_handle_class1()
Drun.c51 u64 dsisr; in spu_stopped() local
72 dsisr = ctx->csa.class_1_dsisr; in spu_stopped()
73 if (dsisr & (MFC_DSISR_PTE_NOT_FOUND | MFC_DSISR_ACCESS_DENIED)) in spu_stopped()
/linux-6.1.9/drivers/misc/ocxl/
Dtrace.h135 TP_PROTO(void *spa, u64 pe, u64 dsisr, u64 dar, u64 tfc),
136 TP_ARGS(spa, pe, dsisr, dar, tfc),
141 __field(u64, dsisr)
149 __entry->dsisr = dsisr;
157 __entry->dsisr,
164 TP_PROTO(void *spa, u64 pe, u64 dsisr, u64 dar, u64 tfc),
165 TP_ARGS(spa, pe, dsisr, dar, tfc)
169 TP_PROTO(void *spa, u64 pe, u64 dsisr, u64 dar, u64 tfc),
170 TP_ARGS(spa, pe, dsisr, dar, tfc)
Dlink.c44 void (*xsl_err_cb)(void *data, u64 addr, u64 dsisr);
72 u64 dsisr; member
108 static void read_irq(struct spa *spa, u64 *dsisr, u64 *dar, u64 *pe) in read_irq() argument
112 *dsisr = in_be64(spa->reg_dsisr); in read_irq()
132 spa->xsl_fault.dsisr, spa->xsl_fault.dar, reg); in ack_irq()
152 rc = copro_handle_mm_fault(fault->pe_data.mm, fault->dar, fault->dsisr, in xsl_fault_handler_bh()
159 fault->dar, fault->dsisr); in xsl_fault_handler_bh()
172 if (fault->dsisr & SPA_XSL_S) in xsl_fault_handler_bh()
193 u64 dsisr, dar, pe_handle; in xsl_fault_handler() local
199 read_irq(spa, &dsisr, &dar, &pe_handle); in xsl_fault_handler()
[all …]
Dcontext.c56 static void xsl_fault_error(void *data, u64 addr, u64 dsisr) in xsl_fault_error() argument
62 ctx->xsl_error.dsisr = dsisr; in xsl_fault_error()
/linux-6.1.9/arch/powerpc/kvm/
Dbook3s_hv_ras.c75 unsigned long dsisr = vcpu->arch.shregs.dsisr; in kvmppc_realmode_mc_power7() local
77 if (dsisr & (DSISR_MC_SLB_PARMULTI | DSISR_MC_SLB_MULTI | in kvmppc_realmode_mc_power7()
81 dsisr &= ~(DSISR_MC_SLB_PARMULTI | DSISR_MC_SLB_MULTI | in kvmppc_realmode_mc_power7()
84 if (dsisr & DSISR_MC_TLB_MULTI) { in kvmppc_realmode_mc_power7()
86 dsisr &= ~DSISR_MC_TLB_MULTI; in kvmppc_realmode_mc_power7()
89 if (dsisr & 0xffffffffUL) in kvmppc_realmode_mc_power7()
Dtrace_hv.h295 unsigned long dsisr),
297 TP_ARGS(vcpu, hptep, memslot, ea, dsisr),
307 __field(u32, dsisr)
316 __entry->dsisr = dsisr;
324 __entry->ea, __entry->dsisr,
Dbook3s_64_mmu_radix.c940 unsigned long ea, unsigned long dsisr) in kvmppc_book3s_radix_page_fault() argument
946 bool writing = !!(dsisr & DSISR_ISSTORE); in kvmppc_book3s_radix_page_fault()
950 if (dsisr & DSISR_UNSUPP_MMU) { in kvmppc_book3s_radix_page_fault()
954 if (dsisr & DSISR_BADACCESS) { in kvmppc_book3s_radix_page_fault()
956 pr_err("KVM: Got radix HV page fault with DSISR=%lx\n", dsisr); in kvmppc_book3s_radix_page_fault()
957 kvmppc_core_queue_data_storage(vcpu, ea, dsisr); in kvmppc_book3s_radix_page_fault()
965 if (!(dsisr & DSISR_PRTABLE_FAULT)) in kvmppc_book3s_radix_page_fault()
976 if (dsisr & (DSISR_PRTABLE_FAULT | DSISR_BADACCESS | in kvmppc_book3s_radix_page_fault()
982 kvmppc_core_queue_data_storage(vcpu, ea, dsisr); in kvmppc_book3s_radix_page_fault()
999 if (dsisr & DSISR_SET_RC) { in kvmppc_book3s_radix_page_fault()
[all …]
Dbook3s_hv_nested.c1360 unsigned long n_gpa, unsigned long dsisr, in kvmhv_translate_addr_nested() argument
1363 u64 fault_addr, flags = dsisr & DSISR_ISSTORE; in kvmhv_translate_addr_nested()
1388 if (dsisr & DSISR_ISSTORE) { in kvmhv_translate_addr_nested()
1424 unsigned long dsisr) in kvmhv_handle_nested_set_rc() argument
1427 bool writing = !!(dsisr & DSISR_ISSTORE); in kvmhv_handle_nested_set_rc()
1494 unsigned long dsisr = vcpu->arch.fault_dsisr; in __kvmhv_nested_page_fault() local
1499 bool writing = !!(dsisr & DSISR_ISSTORE); in __kvmhv_nested_page_fault()
1512 if (!(dsisr & DSISR_PRTABLE_FAULT)) in __kvmhv_nested_page_fault()
1514 ret = kvmhv_translate_addr_nested(vcpu, gp, n_gpa, dsisr, &gpte); in __kvmhv_nested_page_fault()
1522 (dsisr & (DSISR_PROTFAULT | DSISR_BADACCESS | DSISR_NOEXEC_OR_G | in __kvmhv_nested_page_fault()
[all …]
/linux-6.1.9/arch/powerpc/platforms/pasemi/
Dsetup.c314 unsigned long srr0, srr1, dsisr; in pas_machine_check_handler() local
328 dsisr = mfspr(SPRN_DSISR); in pas_machine_check_handler()
331 pr_err("DSISR 0x%016lx DAR 0x%016lx\n", dsisr, regs->dar); in pas_machine_check_handler()
343 if (dsisr & 0x8000) in pas_machine_check_handler()
345 if (dsisr & 0x4000) in pas_machine_check_handler()
347 if (dsisr & 0x2000) { in pas_machine_check_handler()
351 if (dsisr & 0x1000) in pas_machine_check_handler()
353 if (dsisr & 0x800) in pas_machine_check_handler()
355 if (dsisr & 0x400) in pas_machine_check_handler()
/linux-6.1.9/arch/powerpc/platforms/cell/
Dspu_base.c171 unsigned long trap, unsigned long dsisr); //XXX
172 static int __spu_trap_data_map(struct spu *spu, unsigned long ea, u64 dsisr) in __spu_trap_data_map() argument
176 pr_debug("%s, %llx, %lx\n", __func__, dsisr, ea); in __spu_trap_data_map()
182 if ((dsisr & MFC_DSISR_PTE_NOT_FOUND) && in __spu_trap_data_map()
188 0x300, dsisr); in __spu_trap_data_map()
198 spu->class_1_dsisr = dsisr; in __spu_trap_data_map()
306 unsigned long stat, mask, dar, dsisr; in spu_irq_class_1() local
315 dsisr = spu_mfc_dsisr_get(spu); in spu_irq_class_1()
321 dar, dsisr); in spu_irq_class_1()
327 __spu_trap_data_map(spu, dar, dsisr); in spu_irq_class_1()
Dspu_priv1_mmio.c90 static void mfc_dsisr_set(struct spu *spu, u64 dsisr) in mfc_dsisr_set() argument
92 out_be64(&spu->priv1->mfc_dsisr_RW, dsisr); in mfc_dsisr_set()
/linux-6.1.9/arch/powerpc/mm/
Dcopro_fault.c24 unsigned long dsisr, vm_fault_t *flt) in copro_handle_mm_fault() argument
49 is_write = dsisr & DSISR_ISSTORE; in copro_handle_mm_fault()
63 WARN_ON_ONCE(dsisr & DSISR_PROTFAULT); in copro_handle_mm_fault()
/linux-6.1.9/arch/powerpc/kernel/ptrace/
Dptrace.c376 BUILD_BUG_ON(offsetof(struct pt_regs, dsisr) != in pt_regs_check()
377 offsetof(struct user_pt_regs, dsisr)); in pt_regs_check()
379 offsetof(struct user_pt_regs, dsisr)); in pt_regs_check()
436 CHECK_REG(PT_DSISR, dsisr); in pt_regs_check()
/linux-6.1.9/arch/powerpc/perf/
Dperf_regs.c69 PT_REGS_OFFSET(PERF_REG_POWERPC_DSISR, dsisr),
71 PT_REGS_OFFSET(PERF_REG_POWERPC_MMCRA, dsisr),
/linux-6.1.9/tools/perf/arch/powerpc/include/
Ddwarf-regs-table.h25 REG_DWARFNUM_NAME(dsisr, 118),
/linux-6.1.9/arch/powerpc/kernel/
Dmce_power.c578 uint64_t dsisr = regs->dsisr; in mce_handle_derror() local
586 if (!(dsisr & table[i].dsisr_value)) in mce_handle_derror()
727 regs->dsisr &= 0x0000ffff; in __machine_check_early_realmode_p7()
753 if (SRR1_MC_LOADSTORE(regs->msr) && regs->dsisr == 0x02000000) in __machine_check_early_realmode_p9()

123