From 34f9a9258397b5430adfedd2bf2c6517eb468d29 Mon Sep 17 00:00:00 2001 From: zijun_hu Date: Mon, 25 Sep 2017 15:28:50 +0800 Subject: [PATCH] ARMv8: make master CPU checking logic more clear macro branch_if_master checks master CPU via (Aff3 & (Aff2:Aff1:Aff0)) it is simple but a little obscure. fix by checking Affx fields within MPIDR_EL1 directly. Signed-off-by: zijun_hu --- arch/arm/include/asm/macro.h | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/include/asm/macro.h b/arch/arm/include/asm/macro.h index e1916f7705..0c8652a675 100644 --- a/arch/arm/include/asm/macro.h +++ b/arch/arm/include/asm/macro.h @@ -131,6 +131,7 @@ lr .req x30 /* NOTE: MPIDR handling will be erroneous on multi-cluster machines */ mrs \xreg1, mpidr_el1 lsr \xreg2, \xreg1, #32 + lsl \xreg2, \xreg2, #32 lsl \xreg1, \xreg1, #40 lsr \xreg1, \xreg1, #40 orr \xreg1, \xreg1, \xreg2 -- 2.39.5