diff options
-rw-r--r-- | arch/arm/Kconfig.debug | 6 | ||||
-rw-r--r-- | arch/arm/boot/compressed/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/boot/compressed/debug.S | 12 | ||||
-rw-r--r-- | arch/arm/include/debug/uncompress.h | 4 |
4 files changed, 25 insertions, 0 deletions
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index fc54a5bcf5ab..7aa30e43cb8e 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug | |||
@@ -601,6 +601,12 @@ config DEBUG_LL_INCLUDE | |||
601 | default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1 | 601 | default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1 |
602 | default "mach/debug-macro.S" | 602 | default "mach/debug-macro.S" |
603 | 603 | ||
604 | config DEBUG_UNCOMPRESS | ||
605 | bool | ||
606 | default y if ARCH_MULTIPLATFORM && DEBUG_LL && \ | ||
607 | !DEBUG_OMAP2PLUS_UART && \ | ||
608 | !DEBUG_TEGRA_UART | ||
609 | |||
604 | config UNCOMPRESS_INCLUDE | 610 | config UNCOMPRESS_INCLUDE |
605 | string | 611 | string |
606 | default "debug/uncompress.h" if ARCH_MULTIPLATFORM | 612 | default "debug/uncompress.h" if ARCH_MULTIPLATFORM |
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index afed28e37ea5..3580d57ea218 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile | |||
@@ -24,6 +24,9 @@ endif | |||
24 | AFLAGS_head.o += -DTEXT_OFFSET=$(TEXT_OFFSET) | 24 | AFLAGS_head.o += -DTEXT_OFFSET=$(TEXT_OFFSET) |
25 | HEAD = head.o | 25 | HEAD = head.o |
26 | OBJS += misc.o decompress.o | 26 | OBJS += misc.o decompress.o |
27 | ifeq ($(CONFIG_DEBUG_UNCOMPRESS),y) | ||
28 | OBJS += debug.o | ||
29 | endif | ||
27 | FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c | 30 | FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c |
28 | 31 | ||
29 | # string library code (-Os is enforced to keep it much smaller) | 32 | # string library code (-Os is enforced to keep it much smaller) |
diff --git a/arch/arm/boot/compressed/debug.S b/arch/arm/boot/compressed/debug.S new file mode 100644 index 000000000000..6e8382d5b7a4 --- /dev/null +++ b/arch/arm/boot/compressed/debug.S | |||
@@ -0,0 +1,12 @@ | |||
1 | #include <linux/linkage.h> | ||
2 | #include <asm/assembler.h> | ||
3 | |||
4 | #include CONFIG_DEBUG_LL_INCLUDE | ||
5 | |||
6 | ENTRY(putc) | ||
7 | addruart r1, r2, r3 | ||
8 | waituart r3, r1 | ||
9 | senduart r0, r1 | ||
10 | busyuart r3, r1 | ||
11 | mov pc, lr | ||
12 | ENDPROC(putc) | ||
diff --git a/arch/arm/include/debug/uncompress.h b/arch/arm/include/debug/uncompress.h index e19955d9e02e..0e2949b0fae9 100644 --- a/arch/arm/include/debug/uncompress.h +++ b/arch/arm/include/debug/uncompress.h | |||
@@ -1,3 +1,7 @@ | |||
1 | #ifdef CONFIG_DEBUG_UNCOMPRESS | ||
2 | extern void putc(int c); | ||
3 | #else | ||
1 | static inline void putc(int c) {} | 4 | static inline void putc(int c) {} |
5 | #endif | ||
2 | static inline void flush(void) {} | 6 | static inline void flush(void) {} |
3 | static inline void arch_decomp_setup(void) {} | 7 | static inline void arch_decomp_setup(void) {} |