aboutsummaryrefslogtreecommitdiff
path: root/arch/mips/boot/compressed
AgeCommit message (Collapse)AuthorFilesLines
2010-08-05MIPS: Clean up arch/mips/boot/compressed/decompress.cWu Zhangjin1-24/+14
- Remove several outdated comments - Clearify the definition of zimage_start and zimage_size and the their usage Signed-off-by: Wu Zhangjin <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/1382/ Signed-off-by: Ralf Baechle <[email protected]>
2010-08-05MIPS: Clean up arch/mips/boot/compressed/ld.scriptWu Zhangjin1-34/+17
- Remove unused symbols: _fdata, _text; only _edata and _end are needed by head.S - Remove unused sections: .sbss, .stab, .gptab.sdata, .gptab.sbss - Change the alignment to 16 bytes to ensure it is greater than any fundamental type of a MIPS compiler. - Clean up comments Signed-off-by: Wu Zhangjin <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/1381/ Signed-off-by: Ralf Baechle <[email protected]>
2010-08-05MIPS: Unify the suffix of compressed vmlinux.binWu Zhangjin2-8/+61
The compressed vmlinux.bin is only a temp file so it's ok to use the same suffix .z for them (.gz,.lzo,.lzma...) to remove several lines and simpify the maintenance (no need to add the "suffix_$(xxx) := suffix" line). Signed-off-by: Wu Zhangjin <[email protected]> To: linux-mips <[email protected]> Cc: Alexander Clouter <[email protected]> Cc: Manuel Lauss <[email protected]> Cc: Sam Ravnborg <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1323/ Signed-off-by: Ralf Baechle <[email protected]> ---
2010-08-05MIPS: Alchemy: remove SOC_AU1X00 in favor of MIPS_ALCHEMYManuel Lauss1-1/+1
Remove the CONFIG_SOC_AU1X00 Kconfig symbol since its job can also be done by MACH_ALCHEMY, now renamed to MIPS_ALCHEMY. Signed-off-by: Manuel Lauss <[email protected]> To: Linux-MIPS <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1461/ Signed-off-by: Ralf Baechle <[email protected]>
2010-08-05MIPS: Refactor arch/mips/boot/compressed/MakefileSam Ravnborg1-25/+29
- use hostprogs-y for the elf2ecoff - list all *.o file in targets - renamed obj-y to vmlinuzobjs-y (it was confusing to re-use a kbuild variable) - fix all uses of if_changed/cmd - use kbuild rules to beautify output - update clean-file to clean vmlinuz.* in top-level directory - simplied logic in arch/mips/Makefile for compressed targets The net result is a more kbuild conformant Makefile but readability did not increase. Signed-off-by: Sam Ravnborg <[email protected]> To: linux-mips <[email protected]> To: Wu Zhangjin <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1304/ Signed-off-by: Ralf Baechle <[email protected]>
2010-02-27MIPS: Make the debugging of compressed kernel configurableWu Zhangjin1-0/+2
This patch adds a new DEBUG_ZBOOT option to allow the users to enable it to debug the compressed kernel support for a new board and this optoin should be disabled to reduce the kernel image size and speed up the kernel booting procedure when the compressed kernel support is stable. Signed-off-by: Wu Zhangjin <[email protected]> To: Ralf Baechle <[email protected]> Cc: Manuel Lauss <[email protected]> Cc: [email protected] Patchwork: http://patchwork.linux-mips.org/patch/918/ Signed-off-by: Ralf Baechle <[email protected]>
2010-02-27MIPS: Simplify the weak annotation with __weakWu Zhangjin1-2/+2
Found by $ find arch/mips/ -name "*.c" | xargs -i grep -H weak {} | grep -v __weak [Ralf: Made this bulletproof by including <linux/compiler.h>] Signed-off-by: Wu Zhangjin <[email protected]> Cc: [email protected] Patchwork: http://patchwork.linux-mips.org/patch/874/ Signed-off-by: Ralf Baechle <[email protected]>
2010-02-27MIPS: Alchemy: debug output for compressed kernelsManuel Lauss2-0/+8
Hook up the compressed debug output for all Alchemy systems supported by current kernel codebase. Signed-off-by: Manuel Lauss <[email protected]> To: Linux-MIPS <[email protected]> Cc: Wu Zhangjin <[email protected]> Patchwork: http://patchwork.linux-mips.org/patch/879/ Signed-off-by: Ralf Baechle <[email protected]>
2010-02-27MIPS: Cleanup the Makefile of compressed kernel supportWu Zhangjin1-3/+3
This patch removes a useless "\" (line break) and tunes the format of a long line. Signed-off-by: Wu Zhangjin <[email protected]> Cc: [email protected] Patchwork: http://patchwork.linux-mips.org/patch/869/ Signed-off-by: Ralf Baechle <[email protected]>
2010-02-27MIPS: Loongson: Change the Email address of Wu ZhangjinWu Zhangjin2-3/+3
Currently [email protected] is not usable; change it to [email protected]. Signed-off-by: Wu Zhangjin <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Patchwork: http://patchwork.linux-mips.org/patch/829/ Signed-off-by: Ralf Baechle <[email protected]>
2010-01-28MIPS: Fix vmlinuz build for 32bit-only math shellsAlexander Clouter1-2/+5
POSIX requires $((<expression>)) arithmetic in sh only to have long arithmetic so on 32-bit sh binaries might do only 32-bit arithmetic but the arithmetic done in arch/mips/boot/compressed/Makefile needs 64-bit. I play with the AR7 platform, so VMLINUX_LOAD_ADDRESS is 0xffffffff94100000, and for an example 4MiB kernel VMLINUZ_LOAD_ADDRESS is made out to be: ---- alex@berk:~$ bash -c 'printf "%x\n" $((0xffffffff94100000 + 0x400000))' ffffffff94500000 alex@berk:~$ dash -c 'printf "%x\n" $((0xffffffff94100000 + 0x400000))' 80000000003fffff ---- The former is obviously correct whilst the later breaks things royally. Fortunately working with only the lower 32bit's works for both bash and dash: ---- $ bash -c 'printf "%x\n" $((0x94100000 + 0x400000))' 94500000 $ dash -c 'printf "%x\n" $((0x94100000 + 0x400000))' 94500000 ---- So, we can split the original 64bit string to two parts, and only calculate the low 32bit part, which is big enough (1GiB kernel sizes anyone?) for a normal Linux kernel image file, now, we calculate the VMLINUZ_LOAD_ADDRESS like this: 1. if present, append top 32bit of VMLINUX_LOAD_ADDRESS" as a prefix 2. get the sum of the low 32bit of VMLINUX_LOAD_ADDRESS + VMLINUX_SIZE This patch fixes vmlinuz kernel builds on systems where only a 32bit-only math shell is available. Patch Changelog: Version 2 - simplified method by using 'expr' for 'substr' and making it work with dash once again Version 1 - Revert the removals of '-n "$(VMLINUX_SIZE)"' to avoid the error of "make clean" - Consider more cases of the VMLINUX_LOAD_ADDRESS Version 0 - initial release Signed-off-by: Alexander Clouter <[email protected]> Acked-by: Wu Zhangjin <[email protected]> Patchwork: http://patchwork.linux-mips.org/patch/861/ Signed-off-by: Ralf Baechle <[email protected]>
2010-01-28MIPS: Add support of LZO-compressed kernelsWu Zhangjin2-0/+6
The necessary changes to the x86 Kconfig and boot/compressed to allow the use of this new compression method. Signed-off-by: Wu Zhangjin <[email protected]> Cc: [email protected] Cc: Sergei Shtylyov <[email protected]> Patchwork: http://patchwork.linux-mips.org/patch/857/ Signed-off-by: Ralf Baechle <[email protected]>
2010-01-12MIPS: Cleanup and Fixup of compressed kernel supportWu Zhangjin3-155/+59
o Remove the .initrd section. The initrd section was already handled when vmlinux was linked. o Discard .MIPS.options, .options, .pdr, .reginfo, .comment and .note sections. If .MIPS.options is not removed, kernels compiled with gcc 3.4.6 will not boot. o Clean up the file format. o Remove several other unneeded sections. Tested with GCC 3.4.6 and 4.4.1 with and without initrd. Signed-off-by: Wu Zhangjin <[email protected]> Cc: [email protected] Patchwork: http://patchwork.linux-mips.org/patch/785/ Signed-off-by: Ralf Baechle <[email protected]>
2009-12-17MIPS: Add support for GZIP / BZIP2 / LZMA compressed kernel imagesWu Zhangjin7-0/+516
This patch helps to generate smaller kernel images for linux-MIPS, Here is the effect when using lzma: $ ls -sh vmlinux 7.1M vmlinux $ ls -sh vmlinuz 1.5M vmlinuz Have tested the 32bit kernel on Qemu/Malta and 64bit kernel on FuLoong Mini PC. both of them work well. and also, tested by Alexander Clouter on an AR7 based Linksys WAG54Gv2, and by Manuel Lauss on an Alchemy board. This -v2 version incorporate the feedback from Ralf, and add the following changes: 1. add .ecoff, .bin, .erec format support 2. only enable it and the debug source code for the machines we tested 3. a dozen of fixups and cleanups and if you want to enable it for your board, please try to select SYS_SUPPORTS_ZBOOT for it, and if the board have an 16550 compatible uart, you can select SYS_SUPPORTS_ZBOOT_UART16550 directly. and then sending the relative patches to Ralf. Tested-by: Manuel Lauss <[email protected]> Tested-by: Alexander Clouter <[email protected]> Signed-off-by: Wu Zhangjin <[email protected]> Signed-off-by: Ralf Baechle <[email protected]>