• Jeenu Viswambharan's avatar
    BL31: Introduce Exception Handling Framework · 21b818c0
    Jeenu Viswambharan authored
    
    
    EHF is a framework that allows dispatching of EL3 interrupts to their
    respective handlers in EL3.
    
    This framework facilitates the firmware-first error handling policy in
    which asynchronous exceptions may be routed to EL3. Such exceptions may
    be handed over to respective exception handlers. Individual handlers
    might further delegate exception handling to lower ELs.
    
    The framework associates the delegated execution to lower ELs with a
    priority value. For interrupts, this corresponds to the priorities
    programmed in GIC; for other types of exceptions, viz. SErrors or
    Synchronous External Aborts, individual dispatchers shall explicitly
    associate delegation to a secure priority. In order to prevent lower
    priority interrupts from preempting higher priority execution, the
    framework provides helpers to control preemption by virtue of
    programming Priority Mask register in the interrupt controller.
    
    This commit allows for handling interrupts targeted at EL3. Exception
    handlers own interrupts by assigning them a range of secure priorities,
    and registering handlers for each priority range it owns.
    
    Support for exception handling in BL31 image is enabled by setting the
    build option EL3_EXCEPTION_HANDLING=1.
    
    Documentation to follow.
    
    NOTE: The framework assumes the priority scheme supported by platform
    interrupt controller is compliant with that of ARM GIC architecture (v2
    or later).
    
    Change-Id: I7224337e4cea47c6ca7d7a4ca22a3716939f7e42
    Signed-off-by: default avatarJeenu Viswambharan <jeenu.viswambharan@arm.com>
    21b818c0
bl31.mk 1.36 KB