aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/image/lzma-loader/src/head.S
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx: fix lzma loader performance issuesJulien Dusser2017-10-241-0/+13
| | | | | | | | | | | Some bootloaders set a cache cohenrency to a very slow mode. Use code from Linux kernel to set it to "Cacheable, noncoherent, write-back, write allocate". Perfomance impact is significant on TP-Link EAP245 board, kernel decompression time fall from 33 seconds to less than 1. Signed-off-by: Julien Dusser <julien.dusser@free.fr>
* ar71xx/lzma-loader: fix O32 ABI conformanceGabor Juhos2016-01-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | 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> SVN-Revision: 48279
* ar71xx: add lzma loaderGabor Juhos2011-12-051-0/+118
SVN-Revision: 29443