Home
last modified time | relevance | path

Searched refs:xirr (Results 1 - 21 of 21) sorted by relevance

/kernel/linux/linux-5.10/arch/powerpc/sysdev/xics/
H A Dicp-native.c34 } xirr; member
50 unsigned int xirr; in icp_native_get_xirr() local
53 xirr = kvmppc_get_xics_latch(); in icp_native_get_xirr()
54 if (xirr) in icp_native_get_xirr()
55 return xirr; in icp_native_get_xirr()
57 return in_be32(&icp_native_regs[cpu]->xirr.word); in icp_native_get_xirr()
64 out_be32(&icp_native_regs[cpu]->xirr.word, value); in icp_native_set_xirr()
71 out_8(&icp_native_regs[cpu]->xirr.bytes[0], value); in icp_native_set_cppr()
117 unsigned int xirr = icp_native_get_xirr(); in icp_native_get_irq() local
118 unsigned int vec = xirr in icp_native_get_irq()
174 unsigned int xirr = icp_native_get_xirr(); icp_native_flush_interrupt() local
[all...]
H A Dicp-opal.c63 unsigned int xirr; in icp_opal_get_irq() local
67 xirr = icp_opal_get_xirr(); in icp_opal_get_irq()
68 vec = xirr & 0x00ffffff; in icp_opal_get_irq()
82 if (opal_int_eoi(xirr) > 0) in icp_opal_get_irq()
149 unsigned int xirr; in icp_opal_flush_interrupt() local
153 xirr = icp_opal_get_xirr(); in icp_opal_flush_interrupt()
154 vec = xirr & 0x00ffffff; in icp_opal_flush_interrupt()
169 } while (opal_int_eoi(xirr) > 0); in icp_opal_flush_interrupt()
H A Dicp-hv.c30 pr_err("%s: bad return code xirr cppr=0x%x returned %ld\n", in icp_hv_get_xirr()
52 pr_err("%s: bad return code eoi xirr=0x%x returned %ld\n", in icp_hv_set_xirr()
105 unsigned int xirr = icp_hv_get_xirr(xics_cppr_top()); in icp_hv_get_irq() local
106 unsigned int vec = xirr & 0x00ffffff; in icp_hv_get_irq()
122 icp_hv_set_xirr(xirr); in icp_hv_get_irq()
/kernel/linux/linux-6.6/arch/powerpc/sysdev/xics/
H A Dicp-native.c35 } xirr; member
51 unsigned int xirr; in icp_native_get_xirr() local
54 xirr = kvmppc_get_xics_latch(); in icp_native_get_xirr()
55 if (xirr) in icp_native_get_xirr()
56 return xirr; in icp_native_get_xirr()
58 return in_be32(&icp_native_regs[cpu]->xirr.word); in icp_native_get_xirr()
65 out_be32(&icp_native_regs[cpu]->xirr.word, value); in icp_native_set_xirr()
72 out_8(&icp_native_regs[cpu]->xirr.bytes[0], value); in icp_native_set_cppr()
118 unsigned int xirr = icp_native_get_xirr(); in icp_native_get_irq() local
119 unsigned int vec = xirr in icp_native_get_irq()
175 unsigned int xirr = icp_native_get_xirr(); icp_native_flush_interrupt() local
[all...]
H A Dicp-opal.c64 unsigned int xirr; in icp_opal_get_irq() local
68 xirr = icp_opal_get_xirr(); in icp_opal_get_irq()
69 vec = xirr & 0x00ffffff; in icp_opal_get_irq()
83 if (opal_int_eoi(xirr) > 0) in icp_opal_get_irq()
150 unsigned int xirr; in icp_opal_flush_interrupt() local
154 xirr = icp_opal_get_xirr(); in icp_opal_flush_interrupt()
155 vec = xirr & 0x00ffffff; in icp_opal_flush_interrupt()
170 } while (opal_int_eoi(xirr) > 0); in icp_opal_flush_interrupt()
H A Dicp-hv.c31 pr_err("%s: bad return code xirr cppr=0x%x returned %ld\n", in icp_hv_get_xirr()
53 pr_err("%s: bad return code eoi xirr=0x%x returned %ld\n", in icp_hv_set_xirr()
106 unsigned int xirr = icp_hv_get_xirr(xics_cppr_top()); in icp_hv_get_irq() local
107 unsigned int vec = xirr & 0x00ffffff; in icp_hv_get_irq()
123 icp_hv_set_xirr(xirr); in icp_hv_get_irq()
/kernel/linux/linux-5.10/arch/powerpc/kvm/
H A Dbook3s_hv_builtin.c44 int (*__xive_vm_h_eoi)(struct kvm_vcpu *vcpu, unsigned long xirr);
385 static int kvmppc_check_passthru(u32 xisr, __be32 xirr, bool *again) in kvmppc_check_passthru() argument
404 return kvmppc_deliver_irq_passthru(vcpu, xirr, irq_map, pimap, again); in kvmppc_check_passthru()
408 static inline int kvmppc_check_passthru(u32 xisr, __be32 xirr, bool *again) in kvmppc_check_passthru() argument
447 __be32 xirr; in kvmppc_read_one_intr() local
465 xirr = cpu_to_be32(retbuf[0]); in kvmppc_read_one_intr()
470 rc = opal_int_get_xirr(&xirr, false); in kvmppc_read_one_intr()
472 xirr = __raw_rm_readl(xics_phys + XICS_XIRR); in kvmppc_read_one_intr()
480 * host endian. Note that xirr is the value read from the in kvmppc_read_one_intr()
483 h_xirr = be32_to_cpu(xirr); in kvmppc_read_one_intr()
637 kvmppc_rm_h_eoi(struct kvm_vcpu *vcpu, unsigned long xirr) kvmppc_rm_h_eoi() argument
[all...]
H A Dbook3s_hv_rm_xics.c495 u32 xirr; in xics_rm_h_xirr() local
513 xirr = old_state.xisr | (((u32)old_state.cppr) << 24); in xics_rm_h_xirr()
523 vcpu->arch.regs.gpr[4] = xirr; in xics_rm_h_xirr()
735 int xics_rm_h_eoi(struct kvm_vcpu *vcpu, unsigned long xirr) in xics_rm_h_eoi() argument
739 u32 irq = xirr & 0x00ffffff; in xics_rm_h_eoi()
758 icp_rm_down_cppr(xics, icp, xirr >> 24); in xics_rm_h_eoi()
769 static void icp_eoi(struct irq_chip *c, u32 hwirq, __be32 xirr, bool *again) in icp_eoi() argument
792 __raw_rm_writel(xirr, xics_phys + XICS_XIRR); in icp_eoi()
794 rc = opal_int_eoi(be32_to_cpu(xirr)); in icp_eoi()
854 __be32 xirr, in kvmppc_deliver_irq_passthru()
853 kvmppc_deliver_irq_passthru(struct kvm_vcpu *vcpu, __be32 xirr, struct kvmppc_irq_map *irq_map, struct kvmppc_passthru_irqmap *pimap, bool *again) kvmppc_deliver_irq_passthru() argument
890 icp_eoi(irq_desc_get_chip(irq_map->desc), irq_map->r_hwirq, xirr, kvmppc_deliver_irq_passthru() local
[all...]
H A Dbook3s_xive_template.c501 X_STATIC int GLUE(X_PFX,h_eoi)(struct kvm_vcpu *vcpu, unsigned long xirr) in GLUE()
508 u8 new_cppr = xirr >> 24; in GLUE()
509 u32 irq = xirr & 0x00ffffff, hw_num; in GLUE()
513 pr_devel("H_EOI(xirr=%08lx)\n", xirr); in GLUE()
H A Dbook3s_xive.h279 extern int xive_rm_h_eoi(struct kvm_vcpu *vcpu, unsigned long xirr);
286 extern int (*__xive_vm_h_eoi)(struct kvm_vcpu *vcpu, unsigned long xirr);
H A Dbook3s_xics.c590 u32 xirr; in kvmppc_h_xirr() local
605 xirr = old_state.xisr | (((u32)old_state.cppr) << 24); in kvmppc_h_xirr()
614 XICS_DBG("h_xirr vcpu %d xirr %#x\n", vcpu->vcpu_id, xirr); in kvmppc_h_xirr()
616 return xirr; in kvmppc_h_xirr()
817 static noinline int kvmppc_h_eoi(struct kvm_vcpu *vcpu, unsigned long xirr) in kvmppc_h_eoi() argument
821 u32 irq = xirr & 0x00ffffff; in kvmppc_h_eoi()
823 XICS_DBG("h_eoi vcpu %d eoi %#lx\n", vcpu->vcpu_id, xirr); in kvmppc_h_eoi()
839 icp_down_cppr(xics, icp, xirr >> 24); in kvmppc_h_eoi()
H A Dbook3s_xics.h149 extern int xics_rm_h_eoi(struct kvm_vcpu *vcpu, unsigned long xirr);
/kernel/linux/linux-6.6/arch/powerpc/kvm/
H A Dbook3s_hv_builtin.c339 static int kvmppc_check_passthru(u32 xisr, __be32 xirr, bool *again) in kvmppc_check_passthru() argument
358 return kvmppc_deliver_irq_passthru(vcpu, xirr, irq_map, pimap, again); in kvmppc_check_passthru()
362 static inline int kvmppc_check_passthru(u32 xisr, __be32 xirr, bool *again) in kvmppc_check_passthru() argument
401 __be32 xirr; in kvmppc_read_one_intr() local
418 rc = opal_int_get_xirr(&xirr, false); in kvmppc_read_one_intr()
420 xirr = __raw_rm_readl(xics_phys + XICS_XIRR); in kvmppc_read_one_intr()
427 * host endian. Note that xirr is the value read from the in kvmppc_read_one_intr()
430 h_xirr = be32_to_cpu(xirr); in kvmppc_read_one_intr()
451 __raw_rm_writel(xirr, xics_phys + XICS_XIRR); in kvmppc_read_one_intr()
491 return kvmppc_check_passthru(xisr, xirr, agai in kvmppc_read_one_intr()
[all...]
H A Dbook3s_hv_rm_xics.c493 u32 xirr; in xics_rm_h_xirr() local
511 xirr = old_state.xisr | (((u32)old_state.cppr) << 24); in xics_rm_h_xirr()
521 vcpu->arch.regs.gpr[4] = xirr; in xics_rm_h_xirr()
734 int xics_rm_h_eoi(struct kvm_vcpu *vcpu, unsigned long xirr) in xics_rm_h_eoi() argument
738 u32 irq = xirr & 0x00ffffff; in xics_rm_h_eoi()
757 icp_rm_down_cppr(xics, icp, xirr >> 24); in xics_rm_h_eoi()
768 static void icp_eoi(struct irq_data *d, u32 hwirq, __be32 xirr, bool *again) in icp_eoi() argument
783 __raw_rm_writel(xirr, xics_phys + XICS_XIRR); in icp_eoi()
785 rc = opal_int_eoi(be32_to_cpu(xirr)); in icp_eoi()
845 __be32 xirr, in kvmppc_deliver_irq_passthru()
844 kvmppc_deliver_irq_passthru(struct kvm_vcpu *vcpu, __be32 xirr, struct kvmppc_irq_map *irq_map, struct kvmppc_passthru_irqmap *pimap, bool *again) kvmppc_deliver_irq_passthru() argument
881 icp_eoi(irq_desc_get_irq_data(irq_map->desc), irq_map->r_hwirq, xirr, again); kvmppc_deliver_irq_passthru() local
[all...]
H A Dbook3s_xics.c590 u32 xirr; in kvmppc_h_xirr() local
605 xirr = old_state.xisr | (((u32)old_state.cppr) << 24); in kvmppc_h_xirr()
614 XICS_DBG("h_xirr vcpu %d xirr %#x\n", vcpu->vcpu_id, xirr); in kvmppc_h_xirr()
616 return xirr; in kvmppc_h_xirr()
817 static noinline int kvmppc_h_eoi(struct kvm_vcpu *vcpu, unsigned long xirr) in kvmppc_h_eoi() argument
821 u32 irq = xirr & 0x00ffffff; in kvmppc_h_eoi()
823 XICS_DBG("h_eoi vcpu %d eoi %#lx\n", vcpu->vcpu_id, xirr); in kvmppc_h_eoi()
839 icp_down_cppr(xics, icp, xirr >> 24); in kvmppc_h_eoi()
H A Dbook3s_xics.h150 extern int xics_rm_h_eoi(struct kvm_vcpu *vcpu, unsigned long xirr);
H A Dbook3s_xive.c515 static int xive_vm_h_eoi(struct kvm_vcpu *vcpu, unsigned long xirr) in xive_vm_h_eoi() argument
522 u8 new_cppr = xirr >> 24; in xive_vm_h_eoi()
523 u32 irq = xirr & 0x00ffffff, hw_num; in xive_vm_h_eoi()
527 pr_devel("H_EOI(xirr=%08lx)\n", xirr); in xive_vm_h_eoi()
/kernel/linux/linux-5.10/arch/powerpc/include/asm/
H A Dkvm_ppc.h441 u32 xirr; in kvmppc_get_xics_latch() local
443 xirr = get_paca()->kvm_hstate.saved_xirr; in kvmppc_get_xics_latch()
445 return xirr; in kvmppc_get_xics_latch()
617 extern long kvmppc_deliver_irq_passthru(struct kvm_vcpu *vcpu, __be32 xirr,
786 int kvmppc_rm_h_eoi(struct kvm_vcpu *vcpu, unsigned long xirr);
H A Dopal.h238 int64_t opal_int_eoi(uint32_t xirr);
/kernel/linux/linux-6.6/arch/powerpc/include/asm/
H A Dkvm_ppc.h462 u32 xirr; in kvmppc_get_xics_latch() local
464 xirr = get_paca()->kvm_hstate.saved_xirr; in kvmppc_get_xics_latch()
466 return xirr; in kvmppc_get_xics_latch()
650 extern long kvmppc_deliver_irq_passthru(struct kvm_vcpu *vcpu, __be32 xirr,
H A Dopal.h232 int64_t opal_int_eoi(uint32_t xirr);

Completed in 20 milliseconds