Merge pull request #83 from athoelke/at/tf-issues-126

Set SCR_EL3.RW correctly before exiting bl31_main
This commit is contained in:
Andrew Thoelke 2014-05-22 12:30:37 +01:00
commit ba9dbd1039
1 changed files with 6 additions and 0 deletions

View File

@ -169,9 +169,15 @@ void bl31_prepare_next_image_entry()
assert(next_image_info);
scr = read_scr();
scr &= ~SCR_NS_BIT;
if (image_type == NON_SECURE)
scr |= SCR_NS_BIT;
scr &= ~SCR_RW_BIT;
if ((next_image_info->spsr & (1 << MODE_RW_SHIFT)) ==
(MODE_RW_64 << MODE_RW_SHIFT))
scr |= SCR_RW_BIT;
/*
* Tell the context mgmt. library to ensure that SP_EL3 points to
* the right context to exit from EL3 correctly.