mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-05-05 04:36:13 +02:00
arm: use type jmp_buf instead of struct jmp_buf_data
Instead of using the implementation specific struct jmp_buf_data use the standard compliant type jmp_buf when switching exception levels. Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
parent
f280615747
commit
7cf559d4cb
@ -24,7 +24,7 @@
|
||||
*
|
||||
* @non_secure_jmp: jump buffer for restoring stack and registers
|
||||
*/
|
||||
static void entry_non_secure(struct jmp_buf_data *non_secure_jmp)
|
||||
static void entry_non_secure(jmp_buf non_secure_jmp)
|
||||
{
|
||||
dcache_enable();
|
||||
debug("Reached non-secure mode\n");
|
||||
@ -42,10 +42,10 @@ static void entry_non_secure(struct jmp_buf_data *non_secure_jmp)
|
||||
void switch_to_non_secure_mode(void)
|
||||
{
|
||||
static bool is_nonsec;
|
||||
struct jmp_buf_data non_secure_jmp;
|
||||
jmp_buf non_secure_jmp;
|
||||
|
||||
if (armv7_boot_nonsec() && !is_nonsec) {
|
||||
if (setjmp(&non_secure_jmp))
|
||||
if (setjmp(non_secure_jmp))
|
||||
return;
|
||||
dcache_disable(); /* flush cache before switch to HYP */
|
||||
armv7_init_nonsec();
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
*
|
||||
* @non_secure_jmp: jump buffer for restoring stack and registers
|
||||
*/
|
||||
static void entry_non_secure(struct jmp_buf_data *non_secure_jmp)
|
||||
static void entry_non_secure(jmp_buf non_secure_jmp)
|
||||
{
|
||||
dcache_enable();
|
||||
debug("Reached non-secure mode\n");
|
||||
@ -42,11 +42,11 @@ static void entry_non_secure(struct jmp_buf_data *non_secure_jmp)
|
||||
*/
|
||||
void switch_to_non_secure_mode(void)
|
||||
{
|
||||
struct jmp_buf_data non_secure_jmp;
|
||||
jmp_buf non_secure_jmp;
|
||||
|
||||
/* On AArch64 we need to make sure we call our payload in < EL3 */
|
||||
if (current_el() == 3) {
|
||||
if (setjmp(&non_secure_jmp))
|
||||
if (setjmp(non_secure_jmp))
|
||||
return;
|
||||
dcache_disable(); /* flush cache before switch to EL2 */
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user