• Soby Mathew's avatar
    Fix GIC_IPRIORITYR setting in new drivers · 38a78614
    Soby Mathew authored
    The code to set the interrupt priority for secure interrupts in the
    new GICv2 and GICv3 drivers is incorrect. The setup code to configure
    interrupt priorities of secure interrupts, one interrupt at a time, used
    gicd_write_ipriorityr()/gicr_write_ipriority() function affecting
    4 interrupts at a time. This bug did not manifest itself because all the
    secure interrupts were configured to the highest secure priority(0) during
    cold boot and the adjacent non secure interrupt priority would be configured
    later by the normal world. This patch introduces new accessors,
    gicd_set_ipriorityr() and gicr_set_ipriorityr(), for configuring priority
    one interrupt at a time and fixes the the setup code to use the new
    accessors.
    
    Fixes ARM-software/tf-issues#344
    
    Change-Id: I470fd74d2b7fce7058b55d83f604be05a27e1341
    38a78614
gicv3_helpers.c 13.2 KB