Fix issue in Floating point register restore
authorSoby Mathew <soby.mathew@arm.com>
Thu, 3 Dec 2015 09:42:50 +0000 (09:42 +0000)
committerSoby Mathew <soby.mathew@arm.com>
Wed, 9 Dec 2015 10:37:53 +0000 (10:37 +0000)
The `fpregs_context_restore()` function used to restore the floating point
regsiter context had a typo error wherein it was doing `str` instead of
`ldr` for a register. This issue remained undetected becuase none of the ARM
Standard development platforms save and restore the floating point register
context when a context switch is done. This patch corrects the issue.

Change-Id: Id178e0ba254a5e0a4a844f54b39d71dc34e0f6ea

bl31/aarch64/context.S

index 70a1e5d6770bab00a27f9daf98c442fc35ccd9d8..a72879be25d452284acfb66b49cf96ff770b4573 100644 (file)
@@ -291,7 +291,7 @@ func fpregs_context_restore
        ldr     x9, [x0, #CTX_FP_FPSR]
        msr     fpsr, x9
 
-       str     x10, [x0, #CTX_FP_FPCR]
+       ldr     x10, [x0, #CTX_FP_FPCR]
        msr     fpcr, x10
 
        /*