Set SCR_EL3.RW correctly before exiting bl31_main
authorAndrew Thoelke <andrew.thoelke@arm.com>
Fri, 16 May 2014 14:38:04 +0000 (15:38 +0100)
committerAndrew Thoelke <andrew.thoelke@arm.com>
Fri, 16 May 2014 14:38:04 +0000 (15:38 +0100)
commitbb5ffdba18198cffa7480c7dd66c3e0d60a7af30
treec518887bdea508a9ff472239d6874bbdda4c737a
parentc5c9b69c132c823aabc1e29c2ff6f30323c85483
Set SCR_EL3.RW correctly before exiting bl31_main

SCR_EL3.RW was not updated immediately before exiting bl31_main() and
running BL3-3. If a AArch32 Secure-EL1 Payload had just been
initialised, then the SCR_EL3.RW bit would be left indicating a
32-bit BL3-3, which may not be correct.

This patch explicitly sets SCR_EL3.RW appropriately based on the
provided SPSR_EL3 value for the BL3-3 image.

Fixes ARM-software/tf-issues#126

Change-Id: Ic7716fe8bc87e577c4bfaeb46702e88deedd9895
bl31/bl31_main.c