openwrt/target/linux
John Crispin 01ca7a34f0 brcm63xx/lzma-loader: fix O32 ABI conformance
According to the calling convention of the o32 ABI the caller
function must reserve stack space for $a0-$a3 registers in case
the callee needs to save its arguments.

The assembly code of the loader does not reserve stack space for
these registers thus when the 'loader_main' function needs to save
its arguments, those will be stored in the 'workspace' area instead
of the stack.

Because the workspace area is also used by other part of the code, the
saved register values gets overwritten and this often leads to failed
kernel boots.

Fix the code to reserve stack space for the registers to avoid this
error.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
[noltari: apply the fix for brcm63xx too]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 48979
2016-03-10 19:10:54 +00:00
..
adm5120 adm5120: disable the openwrt commandline hack 2015-08-30 12:17:54 +00:00
adm8668 base-files: remove default /etc/config/network, generate it via board.d instead 2016-01-25 16:30:41 +00:00
ar7 all: drop old uci-defaults.sh 2015-12-11 15:26:06 +00:00
ar71xx ar71xx: add support for the Telldus TellStick ZNet Lite 2016-03-10 19:07:26 +00:00
arc770 base-files: remove default /etc/config/network, generate it via board.d instead 2016-01-25 16:30:41 +00:00
archs38 archs38: remove network config override 2016-02-18 08:35:21 +00:00
arm64 kernel: disable bogus DEVTMPFS config overrides 2016-01-17 10:40:36 +00:00
at91 at91: udc driver was missing deps 2016-02-16 16:25:16 +00:00
ath25 all: drop old uci-defaults.sh 2015-12-11 15:26:06 +00:00
au1000 image: fix jffs2(_nand) image generation 2015-08-05 13:55:52 +00:00
bcm53xx bcm53xx: update bcm47xx_sprom to the latest 4.6 queued version 2016-03-08 11:05:10 +00:00
brcm47xx brcm47xx: image: move disabled devices to the new building system 2016-03-09 06:34:29 +00:00
brcm63xx brcm63xx/lzma-loader: fix O32 ABI conformance 2016-03-10 19:10:54 +00:00
brcm2708 brcm2708: add Raspberry Pi 3 support 2016-03-08 18:11:55 +00:00
cns3xxx cns3xxx: enable CONFIG_PROC_STRIPPED to improve network performance 2016-01-31 12:35:33 +00:00
gemini kernel: refresh patches for 4.1 2015-07-22 12:51:11 +00:00
generic kernel: backport bcma 4.6 changes for flashes 2016-03-07 23:09:26 +00:00
imx6 imx6: image: Add missing kernel prefix 2016-03-04 08:33:20 +00:00
ipq806x kernel: update kernel 3.18 to 3.18.26 2016-01-25 21:43:26 +00:00
ixp4xx ixp4xx: fix initramfs builds 2016-01-31 00:54:53 +00:00
kirkwood kirkwood: drop 4.3 support 2016-01-25 22:54:52 +00:00
lantiq lantiq: print profile name in dsl lucistat 2016-03-07 11:03:44 +00:00
malta kernel: add missing config options 2016-03-05 16:22:45 +00:00
mcs814x all: drop old uci-defaults.sh 2015-12-11 15:26:06 +00:00
mediatek base-files: remove default /etc/config/network, generate it via board.d instead 2016-01-25 16:30:41 +00:00
mpc85xx target/mpc85xx: check for 'generic' subtarget for initramfs image file 2016-03-03 20:24:41 +00:00
mvebu mvebu: add SolidRun ClearFog A1 support 2016-02-17 17:49:26 +00:00
mxs kernel: update kernel 4.4 to version 4.4.4 2016-03-05 17:51:37 +00:00
netlogic base-files: remove default /etc/config/network, generate it via board.d instead 2016-01-25 16:30:41 +00:00
octeon octeon: get rid of /lib/functions/octeon.sh hackery, use sysinfo directly 2016-01-29 23:19:41 +00:00
omap kernel: disable bogus DEVTMPFS config overrides 2016-01-17 10:40:36 +00:00
omap24xx omap24xx: Append dtb to the zImage 2015-10-09 07:46:12 +00:00
orion all: drop old uci-defaults.sh 2015-12-11 15:26:06 +00:00
oxnas kernel: update kernel 4.4 to version 4.4.3 2016-02-25 21:54:39 +00:00
ppc40x ppc40x: upgrade to 3.18 2015-04-12 20:48:13 +00:00
ppc44x image: fix jffs2(_nand) image generation 2015-08-05 13:55:52 +00:00
ramips ramips: add support for Planex MZK-WDPR. 2016-03-08 18:11:59 +00:00
rb532 rb532: switch to 4.1 2015-12-23 14:43:11 +00:00
realview all: drop old uci-defaults.sh 2015-12-11 15:26:06 +00:00
sunxi kernel: update kernel 3.18 to version 3.18.27 2016-03-01 23:16:17 +00:00
uml kernel: update kernel 4.4 to version 4.4.4 2016-03-05 17:51:37 +00:00
x86 kernel: add missing config options 2016-03-05 16:22:45 +00:00
xburst kernel: update kernel 3.18 to version 3.18.23 2015-11-01 13:45:57 +00:00
zynq kernel: update kernel 4.4 to version 4.4.3 2016-02-25 21:54:39 +00:00
Makefile