Index: kernel/arch/arm32/src/mach/gta02/gta02.c
===================================================================
--- kernel/arch/arm32/src/mach/gta02/gta02.c	(revision 6250c37234323890b9e9a2f06fea02651a75d6c2)
+++ kernel/arch/arm32/src/mach/gta02/gta02.c	(revision f1fc83a94680102dc08796c15aa408745db97104)
@@ -37,8 +37,13 @@
 #include <arch/mach/gta02/gta02.h>
 #include <arch/mm/page.h>
+#include <mm/page.h>
+#include <genarch/drivers/s3c24xx_uart/s3c24xx_uart.h>
 
 #define GTA02_MEMORY_START	0x30000000	/* physical */
 #define GTA02_MEMORY_SIZE	0x08000000	/* 128 MB */
-#define GTA02_MEMORY_SKIP	0x8000		/* 2 pages */
+#define GTA02_MEMORY_SKIP	0x8000
+
+/** GTA02 serial console UART address (UART S3C24XX CPU UART channel 2). */
+#define GTA02_SCONS_BASE	0x50008000
 
 static void gta02_init(void);
@@ -50,4 +55,6 @@
 static void gta02_output_init(void);
 static void gta02_input_init(void);
+
+static void *gta02_scons_out;
 
 struct arm_machine_ops gta02_machine_ops = {
@@ -64,4 +71,5 @@
 static void gta02_init(void)
 {
+	gta02_scons_out = (void *) hw_map(GTA02_SCONS_BASE, PAGE_SIZE);
 }
 
@@ -95,4 +103,9 @@
 static void gta02_output_init(void)
 {
+	outdev_t *scons_dev;
+
+	scons_dev = s3c24xx_uart_init((ioport8_t *) gta02_scons_out);
+	if (scons_dev)
+		stdout_wire(scons_dev);
 }
 
Index: kernel/arch/arm32/src/mm/page.c
===================================================================
--- kernel/arch/arm32/src/mm/page.c	(revision 6250c37234323890b9e9a2f06fea02651a75d6c2)
+++ kernel/arch/arm32/src/mm/page.c	(revision f1fc83a94680102dc08796c15aa408745db97104)
@@ -68,4 +68,6 @@
 #error "Only high exception vector supported now"
 #endif
+	cur = ALIGN_DOWN(0x50008010, FRAME_SIZE);
+	page_mapping_insert(AS_KERNEL, PA2KA(cur), cur, flags);
 
 	page_table_unlock(AS_KERNEL, true);
