]> rtime.felk.cvut.cz Git - jailhouse.git/commitdiff
arm: Un-inline spi_in_cell
authorJan Kiszka <jan.kiszka@siemens.com>
Sat, 11 Jun 2016 17:35:52 +0000 (19:35 +0200)
committerJan Kiszka <jan.kiszka@siemens.com>
Thu, 16 Jun 2016 16:41:13 +0000 (18:41 +0200)
To big to be inlined, and we also want to avoid dereferencing struct
cell in the header due to upcoming include reordering.

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

index 34b16c4575af7f0f929887c5ae44d428086244c9..1457fd7d38960b76c33b311c4ccc89902937deae 100644 (file)
@@ -101,20 +101,7 @@ int irqchip_insert_pending(struct per_cpu *cpu_data, struct pending_irq *irq);
 int irqchip_remove_pending(struct per_cpu *cpu_data, struct pending_irq *irq);
 int irqchip_set_pending(struct per_cpu *cpu_data, u32 irq_id, bool try_inject);
 
-static inline bool spi_in_cell(struct cell *cell, unsigned int spi)
-{
-       /* FIXME: Change the configuration to a bitmask range */
-       u32 spi_mask;
-
-       if (spi >= 64)
-               return false;
-       else if (spi >= 32)
-               spi_mask = cell->arch.spis >> 32;
-       else
-               spi_mask = cell->arch.spis;
-
-       return spi_mask & (1 << (spi & 31));
-}
+bool spi_in_cell(struct cell *cell, unsigned int spi);
 
 #endif /* __ASSEMBLY__ */
 #endif /* _JAILHOUSE_ASM_IRQCHIP_H */
index 2d7840e34dd1b9d72ceda1a3b6ba353a370dd7cc..7a6d4cadf6098146402f8b2cb6ce7487aafa3e57 100644 (file)
@@ -34,6 +34,21 @@ unsigned long gicd_size;
 static bool irqchip_is_init;
 static struct irqchip_ops irqchip;
 
+bool spi_in_cell(struct cell *cell, unsigned int spi)
+{
+       /* FIXME: Change the configuration to a bitmask range */
+       u32 spi_mask;
+
+       if (spi >= 64)
+               return false;
+       else if (spi >= 32)
+               spi_mask = cell->arch.spis >> 32;
+       else
+               spi_mask = cell->arch.spis;
+
+       return spi_mask & (1 << (spi & 31));
+}
+
 static int irqchip_init_pending(struct per_cpu *cpu_data)
 {
        struct pending_irq *pend_array;