• David Cunado's avatar
    Init and save / restore of PMCR_EL0 / PMCR · 3e61b2b5
    David Cunado authored
    
    
    Currently TF does not initialise the PMCR_EL0 register in
    the secure context or save/restore the register.
    
    In particular, the DP field may not be set to one to prohibit
    cycle counting in the secure state, even though event counting
    generally is prohibited via the default setting of MDCR_EL3.SMPE
    to 0.
    
    This patch initialises PMCR_EL0.DP to one in the secure state
    to prohibit cycle counting and also initialises other fields
    that have an architectually UNKNOWN reset value.
    
    Additionally, PMCR_EL0 is added to the list of registers that are
    saved and restored during a world switch.
    
    Similar changes are made for PMCR for the AArch32 execution state.
    
    NOTE: secure world code at lower ELs that assume other values in PMCR_EL0
    will be impacted.
    
    Change-Id: Iae40e8c0a196d74053accf97063ebc257b4d2f3a
    Signed-off-by: default avatarDavid Cunado <david.cunado@arm.com>
    3e61b2b5
smcc_helpers.h 4.69 KB