/kernel/linux/linux-5.10/arch/powerpc/sysdev/xics/ |
D | icp-native.c | 34 } 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 & 0x00ffffff; in icp_native_get_irq() [all …]
|
D | icp-opal.c | 63 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()
|
D | icp-hv.c | 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-5.10/arch/powerpc/kvm/ |
D | book3s_hv_builtin.c | 44 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() 483 h_xirr = be32_to_cpu(xirr); in kvmppc_read_one_intr() 510 __raw_rm_writel(xirr, xics_phys + XICS_XIRR); in kvmppc_read_one_intr() [all …]
|
D | book3s_hv_rm_xics.c | 495 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() argument [all …]
|
D | book3s_xive_template.c | 501 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()
|
D | book3s_xics.c | 590 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()
|
D | book3s_xive.h | 279 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);
|
D | book3s_xics.h | 149 extern int xics_rm_h_eoi(struct kvm_vcpu *vcpu, unsigned long xirr);
|
/kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
D | kvm_ppc.h | 441 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);
|
D | opal.h | 238 int64_t opal_int_eoi(uint32_t xirr);
|