Set SCR_EL3.RW correctly before exiting bl31_main
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

sandrine-bailleux-arm/arm-trusted-firmware,Leo-Yan/arm-trusted-firmware,davwan01/arm-trusted-firmware,hzhuang1/arm-trusted-firmware,robixnai/arm-trusted-firmware,jforissier/arm-trusted-firmware,davwan01/arm-trusted-firmware,longsleep/arm-trusted-firmware-pine64,sbranden/arm-trusted-firmware,longsleep/arm-trusted-firmware-pine64,idl3r/arm-trusted-firmware,yatharth-arm/arm-trusted-firmware,vchong/arm-trusted-firmware,robixnai/arm-trusted-firmware,lsigithub/arm-trusted-firmware_public,lsigithub/arm-trusted-firmware_public,ljerry/arm-trusted-firmware,vchong/arm-trusted-firmware,sandrine-bailleux/arm-trusted-firmware,achingupta/arm-trusted-firmware,sandrine-bailleux/arm-trusted-firmware,96boards/arm-trusted-firmware,hzhuang1/arm-trusted-firmware,sbranden/arm-trusted-firmware,athoelke/arm-trusted-firmware,jcastillo-arm/arm-trusted-firmware,achingupta/arm-trusted-firmware,ljerry/arm-trusted-firmware,Leo-Yan/arm-trusted-firmware,96boards/arm-trusted-firmware,idl3r/arm-trusted-firmware,sandrine-bailleux-arm/arm-trusted-firmware,jforissier/arm-trusted-firmware,athoelke/arm-trusted-firmware,yatharth-arm/arm-trusted-firmware,mtk09422/arm-trusted-firmware,mtk09422/arm-trusted-firmware,jcastillo-arm/arm-trusted-firmware