Home
last modified time | relevance | path

Searched refs:xirr (Results 1 – 15 of 15) sorted by relevance

/openbmc/linux/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 & 0x00ffffff; in icp_native_get_irq()
[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.c106 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()
/openbmc/qemu/hw/intc/
H A Dxics.c66 cpu_index, icp->xirr, icp->xirr_owner, in icp_pic_print_info()
106 #define XISR(icp) (((icp)->xirr) & XISR_MASK)
107 #define CPPR(icp) (((icp)->xirr) >> 24)
124 icp->xirr = (icp->xirr & ~XISR_MASK) | XICS_IPI; in icp_check_ipi()
148 icp->xirr = (icp->xirr & ~CPPR_MASK) | (cppr << 24); in icp_set_cppr()
153 icp->xirr &= ~XISR_MASK; /* Clear XISR */ in icp_set_cppr()
178 uint32_t xirr = icp->xirr; in icp_accept() local
181 icp->xirr = icp->pending_priority << 24; in icp_accept()
185 trace_xics_icp_accept(xirr, icp->xirr); in icp_accept()
187 return xirr; in icp_accept()
[all …]
H A Dxics_spapr.c91 uint32_t xirr = icp_accept(spapr_cpu_state(cpu)->icp); in h_xirr() local
95 args[0] = xirr; in h_xirr()
102 uint32_t xirr = icp_accept(spapr_cpu_state(cpu)->icp); in h_xirr_x() local
106 args[0] = xirr; in h_xirr_x()
114 target_ulong xirr = args[0]; in h_eoi() local
118 icp_eoi(spapr_cpu_state(cpu)->icp, xirr); in h_eoi()
127 uint32_t xirr; in h_ipoll() local
135 xirr = icp_ipoll(icp, &mfrr); in h_ipoll()
137 args[0] = xirr; in h_ipoll()
H A Dxics_kvm.c87 icp->xirr = state >> KVM_REG_PPC_ICP_XISR_SHIFT; in icp_get_kvm_state()
121 state = ((uint64_t)icp->xirr << KVM_REG_PPC_ICP_XISR_SHIFT) in icp_set_kvm_state()
H A Dtrace-events58 xics_icp_eoi(int server, uint32_t xirr, uint32_t new_xirr) "icp_eoi: server %d given XIRR 0x%"PRIx3…
60 xics_icp_raise(uint32_t xirr, uint8_t pending_priority) "raising IRQ new XIRR=0x%x new pending prio…
/openbmc/linux/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()
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, again); in kvmppc_read_one_intr()
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() argument
[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()
/openbmc/qemu/include/hw/ppc/
H A Dxics.h71 uint32_t xirr; member
160 void icp_eoi(ICPState *icp, uint32_t xirr);
/openbmc/linux/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);