2 * Jailhouse, a Linux-based partitioning hypervisor
4 * Copyright (c) ARM Limited, 2014
7 * Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
9 * This work is licensed under the terms of the GNU GPL, version 2. See
10 * the COPYING file in the top-level directory.
13 #ifndef _JAILHOUSE_ASM_IRQCHIP_H
14 #define _JAILHOUSE_ASM_IRQCHIP_H
16 #include <asm/percpu.h>
22 * Routing mode values:
23 * 0: use aff3.aff2.aff1.targets
24 * 1: all processors in the cell except this CPU
28 /* GICv2 only uses 8bit in targets, and no affinity routing */
31 /* Only available on 64-bit, when CTLR.A3V is 1 */
39 int (*cpu_init)(struct per_cpu *cpu_data);
41 int (*send_sgi)(struct sgi *sgi);
42 void (*handle_irq)(struct per_cpu *cpu_data);
45 int irqchip_init(void);
46 int irqchip_cpu_init(struct per_cpu *cpu_data);
48 int irqchip_send_sgi(struct sgi *sgi);
49 void irqchip_handle_irq(struct per_cpu *cpu_data);
51 #endif /* __ASSEMBLY__ */
52 #endif /* _JAILHOUSE_ASM_IRQCHIP_H */