On 19 May 2016 at 13:59, Shannon Zhao wrote:
>
>
> On 2016/5/10 1:29, Peter Maydell wrote:
>> +uint32_t pend, grpmask;
>> +uint32_t pending = *gic_bmp_ptr32(s->pending, irq - GIC_INTERNAL);
>> +uint32_t edge_trigger = *gic_bmp_ptr32(s->edge_trigger, irq -
>> GIC_INTERNAL);
>> +uin
On 2016/5/10 1:29, Peter Maydell wrote:
> +uint32_t pend, grpmask;
> +uint32_t pending = *gic_bmp_ptr32(s->pending, irq - GIC_INTERNAL);
> +uint32_t edge_trigger = *gic_bmp_ptr32(s->edge_trigger, irq -
> GIC_INTERNAL);
> +uint32_t level = *gic_bmp_ptr32(s->level, irq - GIC_INTERN
Implement the GICv3 logic to recalculate the highest priority pending
interrupt for each CPU after some part of the GIC state has changed.
We avoid unnecessary full recalculation where possible.
Signed-off-by: Peter Maydell
---
hw/intc/arm_gicv3.c| 290 +++