From: Wu Zhangjin <wuzhangjin@xxxxxxxxx> Changes from v2: O Not make the DEBUG_ZBOOT depend on the specific debugging support but only SYS_SUPPORTS_ZBOOT, which will make this option stable. O Keep the obj-$() work as the first revision does to allow the developers to add a new debugging support more conveniently. O Add new comment for this commit as a "manual" for the developers. This patch adds a new DEBUG_ZBOOT option to allow the developers to debug the compressed kernel support for a new board. If you want to add compressed kernel support to a new board, and the board supports uart16550 compatible serial port, please select SYS_SUPPORTS_ZBOOT_UART16550 for your board and enable this option to debug it: FILE: arch/mips/Kconfig config MACH_XXX ... + select SYS_SUPPORTS_ZBOOT_UART16550 ... If your board doesn't support uart16550 compatible serial port, you can try to select SYS_SUPPORTS_ZBOOT and use the other methods to debug it. for example, add a new serial port support just as arch/mips/boot/compressed/uart-16550.c does: FILE: arch/mips/Kconfig config MACH_XXX ... + select SYS_SUPPORTS_ZBOOT_UARTXXX ... +config SYS_SUPPORTS_ZBOOT_UARTXXX + bool + select SYS_SUPPORTS_ZBOOT FILE: arch/mips/boot/compressed/Makefile ifdef DEBUG_ZBOOT obj-$(CONFIG_SYS_SUPPORTS_ZBOOT_UART16550) += $(obj)/uart-16550.o +obj-$(CONFIG_SYS_SUPPORTS_ZBOOT_UARTXXX) += $(obj)/uart-xxx.o endif FILE(new): arch/mips/boot/compressed/uart-xxx.c After the compressed kernel support works, please disable this option to reduce the kernel image size and speed up the booting procedure a little. Signed-off-by: Wu Zhangjin <wuzhangjin@xxxxxxxxx> --- arch/mips/Kconfig.debug | 18 ++++++++++++++++++ arch/mips/boot/compressed/Makefile | 2 ++ 2 files changed, 20 insertions(+), 0 deletions(-) diff --git a/arch/mips/Kconfig.debug b/arch/mips/Kconfig.debug index d2b88a0..6fccbf0 100644 --- a/arch/mips/Kconfig.debug +++ b/arch/mips/Kconfig.debug @@ -102,4 +102,22 @@ config RUNTIME_DEBUG arch/mips/include/asm/debug.h for debugging macros. If unsure, say N. +config DEBUG_ZBOOT + bool "Enable compressed kernel support debugging" + depends on DEBUG_KERNEL && SYS_SUPPORTS_ZBOOT + help + If you want to add compressed kernel support to a new board, and the + board supports uart16550 compatible serial port, please select + SYS_SUPPORTS_ZBOOT_UART16550 for your board and enable this option to + debug it. + + If your board doesn't support uart16550 compatible serial port, you + can try to select SYS_SUPPORTS_ZBOOT and use the other methods to + debug it. for example, add a new serial port support just as + arch/mips/boot/compressed/uart-16550.c does. + + After the compressed kernel support works, please disable this option + to reduce the kernel image size and speed up the booting procedure a + little. + endmenu diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile index 91a57a6..b27d12a 100644 --- a/arch/mips/boot/compressed/Makefile +++ b/arch/mips/boot/compressed/Makefile @@ -32,7 +32,9 @@ KBUILD_AFLAGS := $(LINUXINCLUDE) $(KBUILD_AFLAGS) -D__ASSEMBLY__ \ obj-y := $(obj)/head.o $(obj)/decompress.o $(obj)/dbg.o +ifdef DEBUG_ZBOOT obj-$(CONFIG_SYS_SUPPORTS_ZBOOT_UART16550) += $(obj)/uart-16550.o +endif OBJCOPYFLAGS_vmlinux.bin := $(OBJCOPYFLAGS) -O binary -R .comment -S $(obj)/vmlinux.bin: $(KBUILD_IMAGE) -- 1.6.6