u-boot/arch/arm
Pali Rohár 5692e5b244 arm: mvebu: mbus: Fix mbus driver to work also after U-Boot relocation
mbus driver is initialized from arch_cpu_init() callback which is called
before relocation. This driver stores lot of functions and structure
pointers into global variables, so it is data position dependent.

Therefore after relocations all pointers are invalid and driver does not
work anymore as all pointers referes to the old memory, which overlaps with
CONFIG_SYS_LOAD_ADDR and ${loadaddr}.

For example U-Boot fuse command crashes if loadaddr memory is cleared or
rewritten by some image loaded by U-Boot load command.

  mw.w ${loadaddr} 0x0 10000
  fuse read 0 1 2

Fix this issue by removing of all mbus global variables in which are stored
pointers to structures or functions which changes during relocation. And
replace it by direct function calls (not via pointers). With this change
fuse command finally works.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Reviewed-by: Stefan Roese <sr@denx.de>
2022-08-23 12:35:37 +02:00
..
cpu layerscape: Disable CONFIG_FMAN_ENET on *aqds* platforms 2022-08-20 21:18:15 -04:00
dts Restore pcm051_rev3_defconfig config 2022-08-20 16:40:14 -04:00
include net: lpc32xx_eth.c ethernet driver 2022-08-20 21:18:15 -04:00
lib ARM: relocate: Fix Thumb code by using proper label type 2022-07-26 17:53:43 -04:00
mach-apple arm: apple: Add initial Apple M2 support 2022-07-25 09:38:47 -04:00
mach-aspeed aspeed/spl: Remove OVERLAY from linker script 2022-07-06 14:32:00 -04:00
mach-at91 arm: Remove snapper9260 board 2022-08-12 16:10:50 -04:00
mach-bcm283x
mach-bcmbca arm: bcmbca: introduce the bcmbca architecture and 47622 SOC 2022-06-10 13:37:32 -04:00
mach-bcmstb
mach-cortina
mach-davinci arm: Remove unused references to CONFIG_SOC_DM* 2022-07-25 14:57:27 -04:00
mach-exynos arm: samsung: Migrate a number of symbols to Kconfig 2022-06-28 17:04:37 -04:00
mach-highbank
mach-hpe ARM: hpe: gxp: add core support 2022-06-22 21:30:04 -04:00
mach-imx arm: Remove warp board 2022-08-20 22:45:00 -04:00
mach-integrator
mach-ipq40xx
mach-k3 arm: mach-k3: security: Remove certificate if detected on GP device 2022-08-04 15:32:20 -04:00
mach-keystone i2c: Remove non-DM_I2C support from davinci_i2c.c 2022-07-08 17:57:34 -04:00
mach-kirkwood arm: mvebu: mbus: Fix mbus driver to work also after U-Boot relocation 2022-08-23 12:35:37 +02:00
mach-lpc32xx net: lpc32xx_eth.c ethernet driver 2022-08-20 21:18:15 -04:00
mach-mediatek
mach-meson ARM: meson: fixup error on efuse commands return 2022-08-08 09:56:38 +02:00
mach-mvebu arm: mvebu: mbus: Fix mbus driver to work also after U-Boot relocation 2022-08-23 12:35:37 +02:00
mach-nexell
mach-npcm
mach-octeontx
mach-octeontx2
mach-omap2 arm: Remove cm_t335 board 2022-08-20 21:18:15 -04:00
mach-orion5x arm: Remove edminiv2 board 2022-08-20 21:18:15 -04:00
mach-owl
mach-qemu
mach-rmobile arm: Remove kzm9g board 2022-08-20 21:18:15 -04:00
mach-rockchip Merge branch 'next' 2022-07-11 14:58:57 -04:00
mach-s5pc1xx
mach-snapdragon board: qualcomm: Add support for QCS404 EVB 2022-07-25 13:02:04 -04:00
mach-socfpga socfpga: arria10: Allow dcache_enable before relocation 2022-07-01 14:57:15 +08:00
mach-sti stm32mp1: fix reference for STMicroelectronics 2022-06-17 14:12:27 +02:00
mach-stm32
mach-stm32mp stm32mp: add support of STM32MP13x Rev.Y 2022-07-12 11:47:34 +02:00
mach-sunxi sunxi: Move INITIAL_USB_SCAN_DELAY to driver Kconfig 2022-07-18 23:48:09 +01:00
mach-tegra Convert CONFIG_TEGRA_GPU to Kconfig 2022-06-28 17:03:31 -04:00
mach-u8500
mach-uniphier serial: Replace CONFIG_DEBUG_UART_BASE by CONFIG_VAL(DEBUG_UART_BASE) 2022-06-06 18:01:21 -04:00
mach-versal spi: cadence_qspi: Enable apb linear mode for apb read & write operations 2022-06-29 16:00:31 +02:00
mach-versatile
mach-zynq fpga: xilinx: add bitstream flags to driver desc 2022-07-26 09:34:21 +02:00
mach-zynqmp mailbox: zynqmp: Move struct zynqmp_ipi_msg from sys_proto.h 2022-07-26 08:36:20 +02:00
mach-zynqmp-r5
thumb1/include/asm/proc-armv
config.mk linker_lists: Rename sections to remove . prefix 2022-06-23 12:58:18 -04:00
Kconfig arm: Set default MACH_TYPE in Kconfig 2022-08-20 16:17:50 -04:00
Kconfig.debug
Makefile arm: makefile: cleanup mach-imx usage 2022-07-26 11:29:00 +02:00