From 3b6a758cb690553583fab3156bce14114775e726 Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Mon, 13 Jun 2016 19:07:36 +0200 Subject: [PATCH] arm: Remove maintenance flag from pending_irq.type.sgi It was always cleared. Signed-off-by: Jan Kiszka --- hypervisor/arch/arm/gic-v2.c | 2 -- hypervisor/arch/arm/gic-v3.c | 2 -- hypervisor/arch/arm/include/asm/irqchip.h | 2 -- hypervisor/arch/arm/irqchip.c | 1 - 4 files changed, 7 deletions(-) diff --git a/hypervisor/arch/arm/gic-v2.c b/hypervisor/arch/arm/gic-v2.c index 9eb6bde..65727b0 100644 --- a/hypervisor/arch/arm/gic-v2.c +++ b/hypervisor/arch/arm/gic-v2.c @@ -270,8 +270,6 @@ static int gic_inject_irq(struct per_cpu *cpu_data, struct pending_irq *irq) lr |= irq->type.irq << GICH_LR_PHYS_ID_SHIFT; } else { lr |= irq->type.sgi.cpuid << GICH_LR_CPUID_SHIFT; - if (irq->type.sgi.maintenance) - lr |= GICH_LR_SGI_EOI_BIT; } gic_write_lr(first_free, lr); diff --git a/hypervisor/arch/arm/gic-v3.c b/hypervisor/arch/arm/gic-v3.c index 320caf4..467f222 100644 --- a/hypervisor/arch/arm/gic-v3.c +++ b/hypervisor/arch/arm/gic-v3.c @@ -390,8 +390,6 @@ static int gic_inject_irq(struct per_cpu *cpu_data, struct pending_irq *irq) if (irq->hw) { lr |= ICH_LR_HW_BIT; lr |= (u64)irq->type.irq << ICH_LR_PHYS_ID_SHIFT; - } else if (irq->type.sgi.maintenance) { - lr |= ICH_LR_SGI_EOI; } gic_write_lr(free_lr, lr); diff --git a/hypervisor/arch/arm/include/asm/irqchip.h b/hypervisor/arch/arm/include/asm/irqchip.h index 02da6bb..c468b70 100644 --- a/hypervisor/arch/arm/include/asm/irqchip.h +++ b/hypervisor/arch/arm/include/asm/irqchip.h @@ -71,8 +71,6 @@ struct pending_irq { struct { /* GICv2 needs cpuid for SGIs */ u16 cpuid : 15; - /* EOI generates a maintenance irq */ - u16 maintenance : 1; } sgi __attribute__((packed)); } type; diff --git a/hypervisor/arch/arm/irqchip.c b/hypervisor/arch/arm/irqchip.c index a80577f..e0871b1 100644 --- a/hypervisor/arch/arm/irqchip.c +++ b/hypervisor/arch/arm/irqchip.c @@ -137,7 +137,6 @@ int irqchip_set_pending(struct per_cpu *cpu_data, u32 irq_id, bool try_inject) if (is_sgi(irq_id)) { pending.hw = 0; - pending.type.sgi.maintenance = 0; pending.type.sgi.cpuid = 0; } else { pending.hw = 1; -- 2.39.2