]> rtime.felk.cvut.cz Git - jailhouse.git/commitdiff
arm: Remove hw flag from pending_irq
authorJan Kiszka <jan.kiszka@siemens.com>
Mon, 13 Jun 2016 17:10:37 +0000 (19:10 +0200)
committerJan Kiszka <jan.kiszka@siemens.com>
Thu, 16 Jun 2016 16:41:13 +0000 (18:41 +0200)
Can be derived from virt_id.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
hypervisor/arch/arm/gic-v2.c
hypervisor/arch/arm/gic-v3.c
hypervisor/arch/arm/include/asm/irqchip.h
hypervisor/arch/arm/irqchip.c

index 65727b0d506f7aedabd300e88f50daff487df37c..926819165fb2b351a56979fdb7e368db81157d5c 100644 (file)
@@ -265,7 +265,7 @@ static int gic_inject_irq(struct per_cpu *cpu_data, struct pending_irq *irq)
        lr = irq->virt_id;
        lr |= GICH_LR_PENDING_BIT;
 
-       if (irq->hw) {
+       if (!is_sgi(irq->virt_id)) {
                lr |= GICH_LR_HW_BIT;
                lr |= irq->type.irq << GICH_LR_PHYS_ID_SHIFT;
        } else {
index 467f22257d0fefa05f626d56fd011abcb3a8fbc0..710813c3674d9a681630b23c65f7c857df2cf467 100644 (file)
@@ -387,7 +387,7 @@ static int gic_inject_irq(struct per_cpu *cpu_data, struct pending_irq *irq)
        /* Only group 1 interrupts */
        lr |= ICH_LR_GROUP_BIT;
        lr |= ICH_LR_PENDING;
-       if (irq->hw) {
+       if (!is_sgi(irq->virt_id)) {
                lr |= ICH_LR_HW_BIT;
                lr |= (u64)irq->type.irq << ICH_LR_PHYS_ID_SHIFT;
        }
index c468b70b5f0dd79a8605a1aa91788b86b3157a16..a6d2a0c6210346569076d024bb9fdcfbf08531ea 100644 (file)
@@ -64,7 +64,6 @@ struct irqchip_ops {
 struct pending_irq {
        u32     virt_id;
 
-       u8      hw;
        union {
                /* Physical id, when hw is 1 */
                u16 irq;
index e0871b1ca1794d40795c5a4af2753e5d63bb3a15..72c13641c6d1a3997cb7a48714a7cc4083e0ce77 100644 (file)
@@ -136,10 +136,8 @@ int irqchip_set_pending(struct per_cpu *cpu_data, u32 irq_id, bool try_inject)
        pending.virt_id = irq_id;
 
        if (is_sgi(irq_id)) {
-               pending.hw = 0;
                pending.type.sgi.cpuid = 0;
        } else {
-               pending.hw = 1;
                pending.type.irq = irq_id;
        }