aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/Kconfig.debug6
-rw-r--r--arch/arm/boot/compressed/Makefile3
-rw-r--r--arch/arm/boot/compressed/debug.S12
-rw-r--r--arch/arm/include/debug/uncompress.h4
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
604config DEBUG_UNCOMPRESS
605 bool
606 default y if ARCH_MULTIPLATFORM && DEBUG_LL && \
607 !DEBUG_OMAP2PLUS_UART && \
608 !DEBUG_TEGRA_UART
609
604config UNCOMPRESS_INCLUDE 610config 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
24AFLAGS_head.o += -DTEXT_OFFSET=$(TEXT_OFFSET) 24AFLAGS_head.o += -DTEXT_OFFSET=$(TEXT_OFFSET)
25HEAD = head.o 25HEAD = head.o
26OBJS += misc.o decompress.o 26OBJS += misc.o decompress.o
27ifeq ($(CONFIG_DEBUG_UNCOMPRESS),y)
28OBJS += debug.o
29endif
27FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c 30FONTC = $(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
6ENTRY(putc)
7 addruart r1, r2, r3
8 waituart r3, r1
9 senduart r0, r1
10 busyuart r3, r1
11 mov pc, lr
12ENDPROC(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
2extern void putc(int c);
3#else
1static inline void putc(int c) {} 4static inline void putc(int c) {}
5#endif
2static inline void flush(void) {} 6static inline void flush(void) {}
3static inline void arch_decomp_setup(void) {} 7static inline void arch_decomp_setup(void) {}