u-boot/board
Andre Przywara 5ff4857d35 armv8: Fix and simplify branch_if_master/branch_if_slave
The branch_if_master macro jumps to a label if the CPU is the "master"
core, which we define as having all affinity levels set to 0. To check
for this condition, we need to mask off some bits from the MPIDR
register, then compare the remaining register value against zero.

The implementation of this was slighly broken (it preserved the upper
RES0 bits), overly complicated and hard to understand, especially since
it lacked comments. The same was true for the very similar
branch_if_slave macro.

Use a much shorter assembly sequence for those checks, use the same
masking for both macros (just negate the final branch), and put some
comments on them, to make it clear what the code does.
This allows to drop the second temporary register for branch_if_master,
so we adjust all call sites as well.

Also use the opportunity to remove a misleading comment: the macro
works fine on SoCs with multiple clusters. Judging by the commit
message, the original problem with the Juno SoC stems from the fact that
the master CPU *can* be configured to be from cluster 1, so the
assumption that the master CPU has all affinity values set to 0 does not
hold there. But this is already mentioned above in a comment, so remove
the extra comment.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2022-03-02 13:59:29 -05:00
..
abilis/tb100 reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
advantech scripts: Makefile.lib: generate dsdt_generated.c instead of dsdt.c 2022-02-25 11:21:24 -05:00
alliedtelesis ARM: mvebu: x530: Remove custom kwbimage.cfg 2021-10-08 08:37:55 +02:00
altera Merge branch '2021.04-rc' of https://github.com/lftan/u-boot 2021-01-15 07:55:11 -05:00
amarula/vyasa-rk3288 common: Move serial functions out of common.h 2019-12-02 18:23:11 -05:00
amlogic board: amlogic: vim3: configure serial# from ethaddr 2022-01-20 09:50:54 +01:00
AndesTech riscv: ae350: Use #if defined instead of CONFIG_IS_ENABLED 2021-11-08 15:35:55 +08:00
aries/mcvevk arm: socfpga: Re-add support for Aries MCV SoM and MCVEV[KP] board 2019-05-14 19:52:39 +02:00
aristainetos imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
armadeus/opos6uldev imx: Finish migration of IMX_CONFIG to Kconfig 2021-08-31 17:46:37 -04:00
armltd vexpress64: Remove unused macro XR3PCI_ECAM_OFFSET 2022-01-12 14:21:24 -05:00
aspeed configs: aspeed: Add defconfig for AST2600 EVB 2021-01-18 15:23:06 -05:00
astro/mcf5373l common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
atmark-techno/armadillo-800eva WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
atmel board: sama7g5ek: set blue led on at boot time 2022-01-13 11:45:00 +02:00
avionic-design common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
beacon imx8mm_beacon/imx8mn_beacon: Update build instructions 2022-02-19 14:46:54 +01:00
beckhoff/mx53cx9020 arm: Disable ATAGs support 2021-09-07 16:22:30 -04:00
birdland/bav335x arm: Remove bav335x board 2020-07-09 20:58:05 +05:30
bitmain/antminer_s9 xilinx: Introduce board_late_init_xilinx() 2020-04-27 13:57:17 +02:00
bluewater global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
bosch Convert CONFIG_SKIP_LOWLEVEL_INIT et al to Kconfig 2021-08-31 17:47:49 -04:00
boundary/nitrogen6x imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
broadcom board: brcm-ns3: Load netXtreme firmware 2021-12-02 08:34:01 +02:00
bticino/mamoj common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
buffalo/lsxl bootstage: Eliminate when not enabled 2021-07-07 10:17:54 -04:00
BuR brxre1: disable video after DM_VIDEO conversion deadline 2021-06-05 10:40:47 +02:00
BuS/eb_cpu5282 global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
cadence/xtfpga Finish conversion of CONFIG_SYS_CLK_FREQ to Kconfig 2021-12-27 16:20:18 -05:00
calao/usb_a9263 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
cavium/thunderx pci: Drop pci_init_board() 2021-08-06 08:26:48 -04:00
cei/cei-tk1-som SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
chipspark/popmetal_rk3288 common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
cloudengines arm: kirkwood: Pogoplug E02 : Convert Ethernet to Driver Model 2022-02-10 07:12:16 +01:00
cobra5272 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
compal/paz00 common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
compulab imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
comtrend SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
congatec scripts: Makefile.lib: generate dsdt_generated.c instead of dsdt.c 2022-02-25 11:21:24 -05:00
coreboot x86: coreboot: Support getting a logo from virtio 2021-12-26 23:33:26 +01:00
cortina armv8: Fix and simplify branch_if_master/branch_if_slave 2022-03-02 13:59:29 -05:00
cssi nand.h: Cleanup linux/mtd/rawnand.h usage 2021-10-06 09:16:23 -04:00
CZ.NIC arm: mvebu: turris_mox: Remove hardcoded ethernet node names 2022-02-17 14:17:07 +01:00
d-link/dns325 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
davinci/da8xxevm omapl138_lcdk: Stop using CONFIG_MACH_OMAPL138_LCDK 2021-09-27 21:38:34 -04:00
devboards/dbm-soc1 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dfi scripts: Makefile.lib: generate dsdt_generated.c instead of dsdt.c 2022-02-25 11:21:24 -05:00
dhelectronics ARM: stm32: Fix SoM and board coding strap GPIO handling on DHSOM 2021-12-13 14:34:04 +01:00
ea imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
ebv/socrates arm: socfpga: socrates: make rtc work 2019-04-25 00:00:49 +02:00
eets/pdu001 arm: pdu001: Setup pinmux for console UART as early as possible 2022-02-28 10:33:11 -05:00
efi efi: Add video support to the app 2021-11-07 18:36:55 +01:00
egnite/ethernut5 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
elgin/elgin_rv1108 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
embest/mx6boards serial: Rename SERIAL_SUPPORT to SERIAL 2021-09-04 12:26:01 -04:00
emulation riscv: qemu: Implement is_flash_available() for MTD NOR 2022-02-10 11:18:13 +08:00
engicam engicam: px30: Add Engicam PX30.Core C.TOUCH 2.0 10.1" OF 2021-12-24 14:56:58 +08:00
esd/meesc global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
firefly treewide: fdt: Move fdt_get_config_... to ofnode_conf_read... 2021-09-25 09:46:15 -06:00
freescale ARM: imx: imx8mn-ddr4-evk: Add ethernet support 2022-02-19 23:32:23 +01:00
friendlyarm arm: Disable ATAGs support 2021-09-07 16:22:30 -04:00
gardena common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
gateworks board: gateworks: venice: add imx8mn-gw7902 support 2022-02-19 14:46:54 +01:00
gdsys doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
ge imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
geekbuying/geekbox rockchip: rk3368: Migrate to use common board file 2019-07-29 10:27:48 +08:00
google scripts: Makefile.lib: generate dsdt_generated.c instead of dsdt.c 2022-02-25 11:21:24 -05:00
grinn Convert CONFIG_SKIP_LOWLEVEL_INIT et al to Kconfig 2021-08-31 17:47:49 -04:00
hardkernel/odroid_go2 rockchip: board: add Hardkernel Odroid Go2 board 2020-07-22 20:21:23 +08:00
highbank sandbox: Remove OF_HOSTFILE 2021-10-27 16:38:26 -04:00
hisilicon WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
hoperun/hihope-rzg2 arm: use the correct prototype for reset_cpu function 2021-07-28 19:30:22 -04:00
huawei/hg556a SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ids/ids8313 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
imgtec mmc: Rename MMC_SUPPORT to MMC 2021-09-04 11:42:41 -04:00
intel scripts: Makefile.lib: generate dsdt_generated.c instead of dsdt.c 2022-02-25 11:21:24 -05:00
inversepath/usbarmory arm: Disable ATAGs support 2021-09-07 16:22:30 -04:00
iomega/iconnect arm: kirkwood: iConnect : Add Ethernet support 2022-02-10 07:12:16 +01:00
is1 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
isee common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
k+p imx: Finish migration of IMX_CONFIG to Kconfig 2021-08-31 17:46:37 -04:00
keymile km/ls102xa: use unused scratchrw4 address for post word 2022-02-01 15:08:07 +05:30
kmc/kzm9g reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
kobol/helios4 arm: mvebu: Load U-Boot proper binary in SPL code based on kwbimage header 2021-07-31 09:59:58 +02:00
kontron kontron-pitx-imx8m: fix board_mmc_getcd() 2022-02-19 23:32:23 +01:00
kosagi/novena common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
l+g/vinco Remove #include <version.h> from files which do not need it 2021-09-17 12:10:44 -04:00
LaCie Convert CONFIG_88F5182 et al to Kconfig 2021-12-27 16:20:19 -05:00
lego/ev3 Merge branch '2021-02-02-drop-asm_global_data-when-unused' 2021-02-15 10:16:45 -05:00
lg/sniper arm: Disable ATAGs support 2021-09-07 16:22:30 -04:00
liebherr arm: xea: config: Provide special defconfig for a single binary u-boot 2022-02-05 13:38:39 +01:00
logicpd ARM: omap3_logic: Cleanup usage of MUX_VAL 2021-10-11 15:02:50 -04:00
Marvell arm: kirkwood: Dreamplug : Use Marvell uclass mvgbe and PHY driver for Ethernet 2022-02-10 07:12:16 +01:00
maxbcm common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mediatek WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
menlo/m53menlo ARM: imx: mx5: Enable BMODE command on MX53 Menlo board 2021-10-19 12:36:50 +02:00
microchip riscv: Update Microchip MPFS Icicle Kit support 2021-12-02 16:43:52 +08:00
mikrotik/crs3xx-98dx3236 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mqmaker/miqi_rk3288 WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
mscc WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
myir/mys_6ulx common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
netgear common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
nokia/rx51 Nokia RX-51: Convert to CONFIG_DM_KEYBOARD 2022-02-08 11:00:04 -05:00
novtech/meerkat96 imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
nvidia ARM: tegra: Refactor DT update helpers 2021-10-13 14:18:30 -07:00
olimex/mx23_olinuxino mx23_olinuxino: convert MMC to driver model 2021-04-08 23:59:50 +02:00
opalkelly/zynq WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
openpiton/riscv64 riscv: dts: add OpenPiton RISC-V board dts support 2021-07-07 20:34:02 +08:00
out4/o4-imx6ull-nano imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
phytec imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
phytium/durian WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
pine64 rockchip: Add initial support for the Pinebook Pro laptop from Pine64. 2020-05-31 22:22:07 +08:00
qca Convert CONFIG_SKIP_LOWLEVEL_INIT et al to Kconfig 2021-08-31 17:47:49 -04:00
qualcomm WS cleanup: remove trailing white space 2021-09-30 08:08:56 -04:00
radxa SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
raidsonic/ib62x0 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
raspberrypi/rpi Prepare v2022.01-rc4 2021-12-20 17:12:04 -05:00
renesas Finish conversion of CONFIG_SYS_CLK_FREQ to Kconfig 2021-12-27 16:20:18 -05:00
rockchip WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
ronetix imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
sagem/f@st1704 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
samsung board: samsung: fix menu entries for a{3,7}y17lte 2022-01-13 14:33:00 +09:00
sandbox sandbox: Update the test MAC/IP addresses 2021-11-16 14:35:08 -05:00
Seagate arm: kirkwood: Dockstar : Add DM Ethernet 2022-02-10 07:12:16 +01:00
seeed imx: Add SeeedStudio NPI-IMX6ULL Support 2021-06-09 13:34:18 +02:00
sfr/nb4_ser SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
siemens imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
sifive riscv: sifive: Fix OF_BOARD boot failure 2022-01-07 09:30:44 -05:00
silinux/ek874 arm: use the correct prototype for reset_cpu function 2021-07-28 19:30:22 -04:00
sipeed/maix k210: Don't imply CCF 2021-06-17 09:40:58 +08:00
socionext/developerbox Revert "board: synquacer: developerbox: Don't set gd->env_addr to default_environment" 2021-11-18 14:22:11 -05:00
socrates Finish conversion of CONFIG_SYS_CLK_FREQ to Kconfig 2021-12-27 16:20:18 -05:00
softing imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
solidrun arm: mvebu: Load U-Boot proper binary in SPL code based on kwbimage header 2021-07-31 09:59:58 +02:00
somlabs/visionsom-6ull imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
sr1500 common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
st board: stm32mp1: solve compilation issue when ENV_IS_IN_MMC is deactivated 2022-01-24 11:00:47 +01:00
ste/stemmy board: stemmy: Detect board variants and patch DTB 2022-02-28 10:33:45 -05:00
storopack/smegw01 imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
sunxi Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxi 2022-02-03 23:24:31 -05:00
Synology arm: Finish migration of CONFIG_MACH_TYPE 2021-09-07 19:17:32 -04:00
synopsys image: Drop IMAGE_ENABLE_OF_LIBFDT 2021-10-08 15:53:26 -04:00
sysam WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
tbs/tbs2910 imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
tcl/sl50 Convert CONFIG_SKIP_LOWLEVEL_INIT et al to Kconfig 2021-08-31 17:47:49 -04:00
technexion imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
terasic WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
theadorable arm: mvebu: theadorable: Switch to using DM I2C API 2021-12-19 09:50:47 +01:00
theobroma-systems rockchip: puma/lion: update MAINTAINERS file 2022-01-07 09:30:44 -05:00
ti board: ti: j721e: Add support for detecting multiple device trees 2022-02-16 14:19:30 -05:00
timll lpc32xx: Kconfig: switch to CONFIG_CONS_INDEX 2021-07-06 14:11:50 -04:00
topic/zynq board: topic-miami: Set FCLK1 to 150MHz 2020-06-24 13:11:08 +02:00
toradex imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
tplink/wdr4300 Convert CONFIG_SKIP_LOWLEVEL_INIT et al to Kconfig 2021-08-31 17:47:49 -04:00
tq/tqma6 imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
traverse board: traverse: add initial Ten64 support 2022-02-01 15:04:24 +05:30
udoo udoo: Call gpio_request() 2022-01-08 11:16:03 -05:00
vamrs/rock960_rk3399 rockchip: Remove ARCH= references from documentation 2020-06-02 17:27:04 -04:00
variscite imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
vocore/vocore2 mips: Add support for SoM "VoCore2". 2020-04-27 20:30:14 +02:00
vscom/baltos Convert CONFIG_SKIP_LOWLEVEL_INIT et al to Kconfig 2021-08-31 17:47:49 -04:00
wandboard MAINTAINERS: Use my personal e-mail address 2021-04-08 20:29:53 +02:00
warp imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
warp7 imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
work-microwave/work_92105 Remove including timestamp.h in version.h 2021-09-17 12:10:44 -04:00
xen/xenguest_arm64 Convert CONFIG_CONS_INDEX et al to Kconfig 2021-12-27 08:41:38 -05:00
xes/common Finish conversion of CONFIG_SYS_CLK_FREQ to Kconfig 2021-12-27 16:20:18 -05:00
xilinx arm64: zynqmp: Fix debug uart initialization 2022-02-21 13:20:29 +01:00
zyxel/nsa310s arm: kirkwood: NSA310S: Use Ethernet PHY name from device tree 2021-07-19 08:44:15 +02:00