• Jeenu Viswambharan's avatar
    GIC: Allow specifying interrupt properties · c639e8eb
    Jeenu Viswambharan authored
    
    
    The GIC driver initialization currently allows an array of interrupts to
    be configured as secure. Future use cases would require more interrupt
    configuration other than just security, such as priority.
    
    This patch introduces a new interrupt property array as part of both
    GICv2 and GICv3 driver data. The platform can populate the array with
    interrupt numbers and respective properties. The corresponding driver
    initialization iterates through the array, and applies interrupt
    configuration as required.
    
    This capability, and the current way of supplying array (or arrays, in
    case of GICv3) of secure interrupts, are however mutually exclusive.
    Henceforth, the platform should supply either:
    
      - A list of interrupts to be mapped as secure (the current way).
        Platforms that do this will continue working as they were. With this
        patch, this scheme is deprecated.
    
      - A list of interrupt properties (properties include interrupt group).
        Individual interrupt properties are specified via. descriptors of
        type 'interrupt_prop_desc_t', which can be populated with the macro
        INTR_PROP_DESC().
    
    A run time assert checks that the platform doesn't specify both.
    
    Henceforth the old scheme of providing list of secure interrupts is
    deprecated. When built with ERROR_DEPRECATED=1, GIC drivers will require
    that the interrupt properties are supplied instead of an array of secure
    interrupts.
    
    Add a section to firmware design about configuring secure interrupts.
    
    Fixes ARM-software/tf-issues#262
    
    Change-Id: I8eec29e72eb69dbb6bce77879febf32c95376942
    Signed-off-by: default avatarJeenu Viswambharan <jeenu.viswambharan@arm.com>
    c639e8eb
gicv3_main.c 37.6 KB