hw/intc/arm_gic: Add Interrupt Group Registers
commitc27a5ba94874cb3a29e21b3ad4bd5e504aea93b2
authorFabian Aggeler <aggelerf@ethz.ch>
Tue, 12 May 2015 10:57:17 +0000 (12 11:57 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 12 May 2015 10:57:17 +0000 (12 11:57 +0100)
treee7ac1582880f27fd6aab2a687d3cde6db35a3753
parenta9d853533cc1a27dc09b10c7ab89677f9c5dd8f4
hw/intc/arm_gic: Add Interrupt Group Registers

The Interrupt Group Registers allow the guest to configure interrupts
into one of two groups, where Group0 are higher priority and may
be routed to IRQ or FIQ, and Group1 are lower priority and always
routed to IRQ. (In a GIC with the security extensions Group0 is
Secure interrupts and Group 1 is NonSecure.)
The GICv2 always supports interrupt grouping; the GICv1 does only
if it implements the security extensions.

This patch implements the ability to read and write the registers;
the actual functionality the bits control will be added in a
subsequent patch.

Signed-off-by: Fabian Aggeler <aggelerf@ethz.ch>
Signed-off-by: Greg Bellows <greg.bellows@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1430502643-25909-5-git-send-email-peter.maydell@linaro.org
Message-id: 1429113742-8371-7-git-send-email-greg.bellows@linaro.org
[PMM: bring GIC_*_GROUP macros into line with the others, ie a
 simple SET/CLEAR/TEST rather than GROUP0/GROUP1;
 utility gic_has_groups() function;
 minor style fixes;
 bump vmstate version]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/intc/arm_gic.c
hw/intc/arm_gic_common.c
hw/intc/gic_internal.h
include/hw/intc/arm_gic_common.h