/kernel/linux/linux-5.10/arch/powerpc/kernel/ |
H A D | hw_breakpoint_constraints.c | 9 static bool dar_in_user_range(unsigned long dar, struct arch_hw_breakpoint *info) in dar_in_user_range() argument 11 return ((info->address <= dar) && (dar - info->address < info->len)); in dar_in_user_range() 21 static bool dar_in_hw_range(unsigned long dar, struct arch_hw_breakpoint *info) in dar_in_hw_range() argument 28 return ((hw_start_addr <= dar) && (hw_end_addr > dar)); in dar_in_hw_range() 87 bool in_user_range = dar_in_user_range(regs->dar, info); in wp_check_constraints() 102 !dar_in_hw_range(regs->dar, info)) in wp_check_constraints() 112 !dar_in_hw_range(regs->dar, info)) in wp_check_constraints()
|
/kernel/linux/linux-6.6/arch/powerpc/kernel/ |
H A D | hw_breakpoint_constraints.c | 9 static bool dar_in_user_range(unsigned long dar, struct arch_hw_breakpoint *info) in dar_in_user_range() argument 11 return ((info->address <= dar) && (dar - info->address < info->len)); in dar_in_user_range() 21 static bool dar_in_hw_range(unsigned long dar, struct arch_hw_breakpoint *info) in dar_in_hw_range() argument 28 return ((hw_start_addr <= dar) && (hw_end_addr > dar)); in dar_in_hw_range() 87 bool in_user_range = dar_in_user_range(regs->dar, info); in wp_check_constraints() 102 !dar_in_hw_range(regs->dar, info)) in wp_check_constraints() 112 !dar_in_hw_range(regs->dar, info)) in wp_check_constraints()
|
/kernel/linux/linux-5.10/drivers/misc/ocxl/ |
H A D | trace.h | 71 TP_PROTO(void *spa, u64 pe, u64 dsisr, u64 dar, u64 tfc), 72 TP_ARGS(spa, pe, dsisr, dar, tfc), 78 __field(u64, dar) 86 __entry->dar = dar; 90 TP_printk("spa=%p pe=0x%llx dsisr=0x%llx dar=0x%llx tfc=0x%llx", 94 __entry->dar, 100 TP_PROTO(void *spa, u64 pe, u64 dsisr, u64 dar, u64 tfc), 101 TP_ARGS(spa, pe, dsisr, dar, tfc) 105 TP_PROTO(void *spa, u64 pe, u64 dsisr, u64 dar, u6 [all...] |
H A D | link.c | 67 u64 dar; member 100 static void read_irq(struct spa *spa, u64 *dsisr, u64 *dar, u64 *pe) in read_irq() argument 105 *dar = in_be64(spa->reg_dar); in read_irq() 124 spa->xsl_fault.dsisr, spa->xsl_fault.dar, reg); in ack_irq() 144 rc = copro_handle_mm_fault(fault->pe_data.mm, fault->dar, fault->dsisr, in xsl_fault_handler_bh() 151 fault->dar, fault->dsisr); in xsl_fault_handler_bh() 167 if (get_region_id(fault->dar) != USER_REGION_ID) in xsl_fault_handler_bh() 171 hash_page_mm(fault->pe_data.mm, fault->dar, access, 0x300, in xsl_fault_handler_bh() 185 u64 dsisr, dar, pe_handle; in xsl_fault_handler() local 191 read_irq(spa, &dsisr, &dar, in xsl_fault_handler() [all...] |
/kernel/linux/linux-5.10/drivers/misc/cxl/ |
H A D | fault.c | 105 ctx->fault_addr = ctx->dar; 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() 167 if (!mm && (get_region_id(dar) != USER_REGION_ID)) in cxl_handle_mm_fault() 174 hash_page_mm(mm, dar, access, 0x300, inv_flags); in cxl_handle_mm_fault() 182 u64 dsisr, u64 dar) in cxl_handle_page_fault() 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() 233 u64 dar = ctx->dar; in cxl_handle_fault() local 180 cxl_handle_page_fault(struct cxl_context *ctx, struct mm_struct *mm, u64 dsisr, u64 dar) cxl_handle_page_fault() argument [all...] |
H A D | trace.h | 163 TP_PROTO(struct cxl_context *ctx, int irq, u64 dsisr, u64 dar), 165 TP_ARGS(ctx, irq, dsisr, dar), 173 __field(u64, dar) 182 __entry->dar = dar; 185 TP_printk("afu%i.%i pe=%i irq=%i dsisr=0x%016llx dsisr=%s dar=0x%016llx", 192 __entry->dar 197 TP_PROTO(struct cxl_context *ctx, int irq, u64 dsisr, u64 dar), 199 TP_ARGS(ctx, irq, dsisr, dar), 207 __field(u64, dar) [all...] |
H A D | irq.c | 25 static irqreturn_t schedule_cxl_fault(struct cxl_context *ctx, u64 dsisr, u64 dar) in schedule_cxl_fault() argument 28 ctx->dar = dar; in schedule_cxl_fault() 35 u64 dsisr, dar; in cxl_irq_psl9() local 38 dar = irq_info->dar; in cxl_irq_psl9() 40 trace_cxl_psl9_irq(ctx, irq, dsisr, dar); in cxl_irq_psl9() 42 pr_devel("CXL interrupt %i for afu pe: %i DSISR: %#llx DAR: %#llx\n", irq, ctx->pe, dsisr, dar); in cxl_irq_psl9() 46 return schedule_cxl_fault(ctx, dsisr, dar); in cxl_irq_psl9() 86 u64 dsisr, dar; in cxl_irq_psl8() local [all...] |
H A D | cxllib.c | 228 u64 dar, vma_start, vma_end; in cxllib_handle_fault() local 244 for (dar = (addr & ~(page_size - 1)); dar < (addr + size); in cxllib_handle_fault() 245 dar += page_size) { in cxllib_handle_fault() 246 if (dar < vma_start || dar >= vma_end) { in cxllib_handle_fault() 260 rc = get_vma_info(mm, dar, &vma_start, &vma_end, in cxllib_handle_fault() 266 rc = cxl_handle_mm_fault(mm, flags, dar); in cxllib_handle_fault()
|
/kernel/linux/linux-6.6/drivers/misc/cxl/ |
H A D | fault.c | 105 ctx->fault_addr = ctx->dar; 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() 167 if (!mm && (get_region_id(dar) != USER_REGION_ID)) in cxl_handle_mm_fault() 174 hash_page_mm(mm, dar, access, 0x300, inv_flags); in cxl_handle_mm_fault() 182 u64 dsisr, u64 dar) in cxl_handle_page_fault() 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() 233 u64 dar = ctx->dar; in cxl_handle_fault() local 180 cxl_handle_page_fault(struct cxl_context *ctx, struct mm_struct *mm, u64 dsisr, u64 dar) cxl_handle_page_fault() argument [all...] |
H A D | trace.h | 163 TP_PROTO(struct cxl_context *ctx, int irq, u64 dsisr, u64 dar), 165 TP_ARGS(ctx, irq, dsisr, dar), 173 __field(u64, dar) 182 __entry->dar = dar; 185 TP_printk("afu%i.%i pe=%i irq=%i dsisr=0x%016llx dsisr=%s dar=0x%016llx", 192 __entry->dar 197 TP_PROTO(struct cxl_context *ctx, int irq, u64 dsisr, u64 dar), 199 TP_ARGS(ctx, irq, dsisr, dar), 207 __field(u64, dar) [all...] |
H A D | irq.c | 26 static irqreturn_t schedule_cxl_fault(struct cxl_context *ctx, u64 dsisr, u64 dar) in schedule_cxl_fault() argument 29 ctx->dar = dar; in schedule_cxl_fault() 36 u64 dsisr, dar; in cxl_irq_psl9() local 39 dar = irq_info->dar; 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() 47 return schedule_cxl_fault(ctx, dsisr, dar); in cxl_irq_psl9() 87 u64 dsisr, dar; in cxl_irq_psl8() local [all...] |
H A D | cxllib.c | 227 u64 dar, vma_start, vma_end; in cxllib_handle_fault() local 243 for (dar = (addr & ~(page_size - 1)); dar < (addr + size); in cxllib_handle_fault() 244 dar += page_size) { in cxllib_handle_fault() 245 if (dar < vma_start || dar >= vma_end) { in cxllib_handle_fault() 259 rc = get_vma_info(mm, dar, &vma_start, &vma_end, in cxllib_handle_fault() 265 rc = cxl_handle_mm_fault(mm, flags, dar); in cxllib_handle_fault()
|
/kernel/linux/linux-6.6/drivers/misc/ocxl/ |
H A D | trace.h | 135 TP_PROTO(void *spa, u64 pe, u64 dsisr, u64 dar, u64 tfc), 136 TP_ARGS(spa, pe, dsisr, dar, tfc), 142 __field(u64, dar) 150 __entry->dar = dar; 154 TP_printk("spa=%p pe=0x%llx dsisr=0x%llx dar=0x%llx tfc=0x%llx", 158 __entry->dar, 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, u6 [all...] |
H A D | link.c | 73 u64 dar; member 108 static void read_irq(struct spa *spa, u64 *dsisr, u64 *dar, u64 *pe) in read_irq() argument 113 *dar = in_be64(spa->reg_dar); 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() 175 if (get_region_id(fault->dar) != USER_REGION_ID) in xsl_fault_handler_bh() 179 hash_page_mm(fault->pe_data.mm, fault->dar, access, 0x300, in xsl_fault_handler_bh() 193 u64 dsisr, dar, pe_handle; in xsl_fault_handler() local 199 read_irq(spa, &dsisr, &dar, in xsl_fault_handler() [all...] |
/kernel/linux/linux-5.10/tools/testing/selftests/powerpc/mm/ |
H A D | subpage_prot.c | 34 volatile void *dar; variable 48 dar = (void *)regs->dar; in segv() 84 if (dar != addr) { in check_faulted() 86 addr, dar); in check_faulted()
|
/kernel/linux/linux-6.6/tools/testing/selftests/powerpc/mm/ |
H A D | subpage_prot.c | 34 volatile void *dar; variable 48 dar = (void *)regs->dar; in segv() 84 if (dar != addr) { in check_faulted() 86 addr, dar); in check_faulted()
|
/kernel/linux/linux-5.10/arch/sh/drivers/dma/ |
H A D | dma-g2.c | 102 if (chan->dar & 31) { in g2_xfer_dma() 103 printk("g2dma: unaligned dest 0x%lx\n", chan->dar); in g2_xfer_dma() 112 chan->dar += 0xa0800000; in g2_xfer_dma() 121 g2_dma->channel[chan_nr].g2_addr = chan->dar & 0x1fffffe0; in g2_xfer_dma() 136 pr_debug("count, sar, dar, mode, ctrl, chan, xfer: %ld, 0x%08lx, " in g2_xfer_dma()
|
H A D | dma-pvr2.c | 55 if (chan->sar || !chan->dar) in pvr2_xfer_dma() 60 __raw_writel(chan->dar, PVR2_DMA_ADDR); in pvr2_xfer_dma()
|
/kernel/linux/linux-6.6/arch/sh/drivers/dma/ |
H A D | dma-g2.c | 102 if (chan->dar & 31) { in g2_xfer_dma() 103 printk("g2dma: unaligned dest 0x%lx\n", chan->dar); in g2_xfer_dma() 112 chan->dar += 0xa0800000; in g2_xfer_dma() 121 g2_dma->channel[chan_nr].g2_addr = chan->dar & 0x1fffffe0; in g2_xfer_dma() 136 pr_debug("count, sar, dar, mode, ctrl, chan, xfer: %ld, 0x%08lx, " in g2_xfer_dma()
|
/kernel/linux/linux-5.10/arch/powerpc/platforms/8xx/ |
H A D | machine_check.c | 20 pr_cont("Data access error at address %lx\n", regs->dar); in machine_check_8xx() 29 bad_page_fault(regs, regs->dar, SIGBUS); in machine_check_8xx()
|
/kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
H A D | pnv-ocxl.h | 21 void pnv_ocxl_unmap_xsl_regs(void __iomem *dsisr, void __iomem *dar, 24 void __iomem **dar, void __iomem **tfc,
|
/kernel/linux/linux-6.6/arch/powerpc/mm/ |
H A D | fault.c | 572 err = ___do_page_fault(regs, regs->dar, regs->dsisr); in __do_page_fault() 603 if (regs->dar < PAGE_SIZE) in __bad_page_fault() 612 is_write ? "write" : "read", regs->dar); in __bad_page_fault() 615 pr_alert("BUG: %s at 0x%08lx\n", msg, regs->dar); in __bad_page_fault() 624 regs->dar); in __bad_page_fault() 628 regs->dar); in __bad_page_fault() 671 _exception(SIGSEGV, regs, SEGV_BNDERR, regs->dar); in DEFINE_INTERRUPT_HANDLER()
|
/kernel/linux/linux-5.10/arch/powerpc/kvm/ |
H A D | trace_booke.h | 46 __field( unsigned long, dar ) 53 __entry->dar = kvmppc_get_fault_dar(vcpu); 61 " | dar=0x%lx" 67 __entry->dar,
|
/kernel/linux/linux-6.6/arch/powerpc/kvm/ |
H A D | trace_booke.h | 46 __field( unsigned long, dar ) 53 __entry->dar = kvmppc_get_fault_dar(vcpu); 61 " | dar=0x%lx" 67 __entry->dar,
|
/kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
H A D | pnv-ocxl.h | 68 void pnv_ocxl_unmap_xsl_regs(void __iomem *dsisr, void __iomem *dar, 71 void __iomem **dar, void __iomem **tfc,
|