diff options
author | zijun_hu <zijun_hu@htc.com> | 2017-09-25 10:28:50 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2017-10-08 23:19:56 +0300 |
commit | 34f9a9258397b5430adfedd2bf2c6517eb468d29 (patch) | |
tree | 0d2ff18a2a3052c2866c25f5d656237ff7eb46e5 /arch | |
parent | b813908354f91f83c79991e67b98897c4caf0c81 (diff) | |
download | u-boot-34f9a9258397b5430adfedd2bf2c6517eb468d29.tar.xz |
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 <zijun_hu@htc.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/include/asm/macro.h | 1 |
1 files changed, 1 insertions, 0 deletions
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 |