On 29 June 2015 at 19:25, Peter Maydell <[email protected]> wrote:
> The arm_gic_common reset function was missing reset code for
> several of the GIC's state fields:
>  * bpr[]
>  * abpr[]
>  * priority1[]
>  * priority2[]
>  * sgi_pending[]
>  * irq_target[] (SMP configurations only)
>
> These probably went unnoticed because most guests will either
> never touch them, or will write to them in the process of
> configuring the GIC before enabling interrupts.
>
> Signed-off-by: Peter Maydell <[email protected]>
> ---
> The reason for using loops to set these array elements to 0 rather
> than using memset() is that to support "directly boot a kernel in
> NS on a TZ-aware GIC and CPU" we need to support resetting the
> priority registers (most notably the CPU priority mask) to 0x80
> rather than 0.
>
> I found this via code review rather than because it triggered
> any kind of misbehaviour.
>
> last_active[] does not need any reset, I believe.
>
>  hw/intc/arm_gic_common.c | 21 ++++++++++++++++++---
>  1 file changed, 18 insertions(+), 3 deletions(-)

I'd like to get this in before hardfreeze, ideally, so if
anybody has time to review it on Monday that would be great.

thanks
-- PMM

Reply via email to