[PATCH 02/13] powerpc/xive: Rename XIVE_IRQ_NO_EOI to show its a flag
Greg Kurz
groug at kaod.org
Wed Dec 9 03:59:42 AEDT 2020
On Tue, 8 Dec 2020 16:11:13 +0100
Cédric Le Goater <clg at kaod.org> wrote:
> This is a simple cleanup to identify easily all flags of the XIVE
> interrupt structure. The interrupts flagged with XIVE_IRQ_FLAG_NO_EOI
> are the escalations used to wake up vCPUs in KVM. They are handled
> very differently from the rest.
>
> Signed-off-by: Cédric Le Goater <clg at kaod.org>
> ---
Reviewed-by: Greg Kurz <groug at kaod.org>
> arch/powerpc/include/asm/xive.h | 2 +-
> arch/powerpc/kvm/book3s_xive.c | 4 ++--
> arch/powerpc/sysdev/xive/common.c | 2 +-
> 3 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/xive.h b/arch/powerpc/include/asm/xive.h
> index 309b4d65b74f..d332dd9a18de 100644
> --- a/arch/powerpc/include/asm/xive.h
> +++ b/arch/powerpc/include/asm/xive.h
> @@ -66,7 +66,7 @@ struct xive_irq_data {
> #define XIVE_IRQ_FLAG_H_INT_ESB 0x20
>
> /* Special flag set by KVM for excalation interrupts */
> -#define XIVE_IRQ_NO_EOI 0x80
> +#define XIVE_IRQ_FLAG_NO_EOI 0x80
>
> #define XIVE_INVALID_CHIP_ID -1
>
> diff --git a/arch/powerpc/kvm/book3s_xive.c b/arch/powerpc/kvm/book3s_xive.c
> index 18a6b75a3bfd..fae1c2e8da29 100644
> --- a/arch/powerpc/kvm/book3s_xive.c
> +++ b/arch/powerpc/kvm/book3s_xive.c
> @@ -219,7 +219,7 @@ int kvmppc_xive_attach_escalation(struct kvm_vcpu *vcpu, u8 prio,
> /* In single escalation mode, we grab the ESB MMIO of the
> * interrupt and mask it. Also populate the VCPU v/raddr
> * of the ESB page for use by asm entry/exit code. Finally
> - * set the XIVE_IRQ_NO_EOI flag which will prevent the
> + * set the XIVE_IRQ_FLAG_NO_EOI flag which will prevent the
> * core code from performing an EOI on the escalation
> * interrupt, thus leaving it effectively masked after
> * it fires once.
> @@ -231,7 +231,7 @@ int kvmppc_xive_attach_escalation(struct kvm_vcpu *vcpu, u8 prio,
> xive_vm_esb_load(xd, XIVE_ESB_SET_PQ_01);
> vcpu->arch.xive_esc_raddr = xd->eoi_page;
> vcpu->arch.xive_esc_vaddr = (__force u64)xd->eoi_mmio;
> - xd->flags |= XIVE_IRQ_NO_EOI;
> + xd->flags |= XIVE_IRQ_FLAG_NO_EOI;
> }
>
> return 0;
> diff --git a/arch/powerpc/sysdev/xive/common.c b/arch/powerpc/sysdev/xive/common.c
> index a80440af491a..65af34ac1fa2 100644
> --- a/arch/powerpc/sysdev/xive/common.c
> +++ b/arch/powerpc/sysdev/xive/common.c
> @@ -416,7 +416,7 @@ static void xive_irq_eoi(struct irq_data *d)
> * been passed-through to a KVM guest
> */
> if (!irqd_irq_disabled(d) && !irqd_is_forwarded_to_vcpu(d) &&
> - !(xd->flags & XIVE_IRQ_NO_EOI))
> + !(xd->flags & XIVE_IRQ_FLAG_NO_EOI))
> xive_do_source_eoi(irqd_to_hwirq(d), xd);
> else
> xd->stale_p = true;
More information about the Linuxppc-dev
mailing list