Uglydebug hack for IXP4xx UART2
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 366f162..720cb0b 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -1610,8 +1610,8 @@
 	default 0x808c0000 if DEBUG_EP93XX || ARCH_EP93XX
 	default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
 	default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
-	default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
-	default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
+	default 0xc8001000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
+	default 0xc8001003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
 	default 0xd0000000 if DEBUG_SPEAR3XX
 	default 0xd0012000 if DEBUG_MVEBU_UART0
 	default 0xc81004c0 if DEBUG_MESON_UARTAO
@@ -1759,8 +1759,8 @@
 	default 0xfedc0000 if DEBUG_EP93XX
 	default 0xfee003f8 if DEBUG_FOOTBRIDGE_COM1
 	default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
-	default 0xfec00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
-	default 0xfec00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
+	default 0xfec01000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
+	default 0xfec01003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
 	default 0xfef36000 if DEBUG_HIGHBANK_UART
 	default 0xff0b0000 if DEBUG_OMAP1UART1
 	default 0xff0b0800 if DEBUG_OMAP1UART2
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
index a159120..7d520f4 100644
--- a/arch/arm/boot/compressed/Makefile
+++ b/arch/arm/boot/compressed/Makefile
@@ -6,6 +6,7 @@
 #
 
 OBJS		=
+AFLAGS_head.o += -DDEBUG
 
 HEAD	= head.o
 OBJS	+= misc.o decompress.o
diff --git a/init/main.c b/init/main.c
index 07a3116..c4b2cc8 100644
--- a/init/main.c
+++ b/init/main.c
@@ -917,6 +917,13 @@ void start_kernel(void)
 	debug_objects_early_init();
 	init_vmlinux_build_id();
 
+#if defined(CONFIG_ARM) && defined(CONFIG_DEBUG_LL)
+	{
+	  extern void printascii(char *);
+	  printascii("start_kernel\n");
+	}
+#endif
+
 	cgroup_init_early();
 
 	local_irq_disable();
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index 5aee9ff..b83fa85 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -2317,6 +2317,19 @@ int vprintk_store(int facility, int level,
 	r.info->caller_id = caller_id;
 	if (dev_info)
 		memcpy(&r.info->dev_info, dev_info, sizeof(r.info->dev_info));
+#if defined(CONFIG_ARM) && defined(CONFIG_DEBUG_LL)
+			{
+				static char foo[1024];
+				extern void printascii(char *);
+				int len;
+
+				len = text_len + trunc_msg_len;
+				memcpy(foo, &r.text_buf[0], len);
+				foo[len] = '\n';
+				foo[len+1] = '\0';
+				printascii(foo);
+			}
+#endif
 
 	/* A message without a trailing newline can be continued. */
 	if (!(flags & LOG_NEWLINE))