diff options
| -rw-r--r-- | arch/arm/include/asm/macro.h | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/arch/arm/include/asm/macro.h b/arch/arm/include/asm/macro.h index 2553e3e349c..e1916f7705d 100644 --- a/arch/arm/include/asm/macro.h +++ b/arch/arm/include/asm/macro.h @@ -182,11 +182,17 @@ lr	.req	x30  	/*  	 * The next lower exception level is AArch64, 64bit EL2 | HCE | -	 * SMD | RES1 (Bits[5:4]) | Non-secure EL0/EL1. +	 * RES1 (Bits[5:4]) | Non-secure EL0/EL1. +	 * and the SMD depends on requirements.  	 */ +#ifdef CONFIG_ARMV8_PSCI +	ldr	\tmp, =(SCR_EL3_RW_AARCH64 | SCR_EL3_HCE_EN |\ +			SCR_EL3_RES1 | SCR_EL3_NS_EN) +#else  	ldr	\tmp, =(SCR_EL3_RW_AARCH64 | SCR_EL3_HCE_EN |\  			SCR_EL3_SMD_DIS | SCR_EL3_RES1 |\  			SCR_EL3_NS_EN) +#endif  	msr	scr_el3, \tmp  	/* Return to the EL2_SP2 mode from EL3 */ | 
