[U-Boot] [PATCH] Armv8: Initializing CNTVOFF_EL2

From: David Feng fenghua@phytium.com.cn
Linux-arm64 require that CNTVOFF_EL2 should be programmed with a consistent value on all cpus. Initializing CNTVOFF_EL2 at state transition instead of start.S could prevent potential different value on cpus if ATF exist and u-boot runs at only one cpu.
Signed-off-by: David Feng fenghua@phytium.com.cn --- arch/arm/include/asm/macro.h | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/arch/arm/include/asm/macro.h b/arch/arm/include/asm/macro.h index 1c8c425..39df86a 100644 --- a/arch/arm/include/asm/macro.h +++ b/arch/arm/include/asm/macro.h @@ -113,6 +113,9 @@ lr .req x30 mov \xreg1, #0x33ff msr cptr_el2, \xreg1 /* Disable coprocessor traps to EL2 */
+ /* Initialize Generic Timers */ + msr cntvoff_el2, xzr + /* Initialize SCTLR_EL2 * * setting RES1 bits (29,28,23,22,18,16,11,5,4) to 1

Hello fenghua@phytium.com.cn,
On Mon, 2 Mar 2015 15:29:34 +0800, fenghua@phytium.com.cn fenghua@phytium.com.cn wrote:
From: David Feng fenghua@phytium.com.cn
Linux-arm64 require that CNTVOFF_EL2 should be programmed with a consistent value on all cpus. Initializing CNTVOFF_EL2 at state transition instead of start.S could prevent potential different value on cpus if ATF exist and u-boot runs at only one cpu.
Signed-off-by: David Feng fenghua@phytium.com.cn
arch/arm/include/asm/macro.h | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/arch/arm/include/asm/macro.h b/arch/arm/include/asm/macro.h index 1c8c425..39df86a 100644 --- a/arch/arm/include/asm/macro.h +++ b/arch/arm/include/asm/macro.h @@ -113,6 +113,9 @@ lr .req x30 mov \xreg1, #0x33ff msr cptr_el2, \xreg1 /* Disable coprocessor traps to EL2 */
- /* Initialize Generic Timers */
- msr cntvoff_el2, xzr
- /* Initialize SCTLR_EL2
- setting RES1 bits (29,28,23,22,18,16,11,5,4) to 1
-- 1.7.9.5
Applied to u-boot-arm/master, thanks!
Amicalement,
participants (2)
-
Albert ARIBAUD
-
fenghuaï¼ phytium.com.cn