• David Cunado's avatar
    Move FPEXC32_EL2 to FP Context · 91089f36
    David Cunado authored
    
    
    The FPEXC32_EL2 register controls SIMD and FP functionality when the
    lower ELs are executing in AArch32 mode. It is architecturally mapped
    to AArch32 system register FPEXC.
    
    This patch removes FPEXC32_EL2 register from the System Register context
    and adds it to the floating-point context. EL3 only saves / restores the
    floating-point context if the build option CTX_INCLUDE_FPREGS is set to 1.
    
    The rationale for this change is that if the Secure world is using FP
    functionality and EL3 is not managing the FP context, then the Secure
    world will save / restore the appropriate FP registers.
    
    NOTE - this is a break in behaviour in the unlikely case that
    CTX_INCLUDE_FPREGS is set to 0 and the platform contains an AArch32
    Secure Payload that modifies FPEXC, but does not save and restore
    this register
    
    Change-Id: Iab80abcbfe302752d52b323b4abcc334b585c184
    Signed-off-by: default avatarDavid Cunado <david.cunado@arm.com>
    91089f36
context.h 11.5 KB