Add a kconfig option to choose between outputing ACS characters or
their plain ASCII fallbacks over serial console.

Signed-off-by: Ulf Jordan <jordan@chalmers.se>
Acked-by: Jordan Crouse <jordan.crouse@amd.com>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3517 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/payloads/libpayload/Config.in b/payloads/libpayload/Config.in
index 2eb518a..97bf78d 100644
--- a/payloads/libpayload/Config.in
+++ b/payloads/libpayload/Config.in
@@ -68,6 +68,20 @@
 	depends on SERIAL_SET_SPEED
 	default 115200
 
+config SERIAL_ACS_FALLBACK
+	bool "Use plain ASCII characters for ACS"
+	default n
+	depends on SERIAL_CONSOLE
+	help
+	  The alternate character set (ACS) is used for drawing lines and
+	  displaying a couple of other special graphics characters.  The
+	  ACS characters generally look good on screen, but can be difficult
+	  to cut and paste from a terminal window to a text editor.
+	
+	  Say 'y' here if you want to always use plain ASCII characters to
+	  approximate the appearance of ACS characters on the serial port 
+	  console.
+
 config VIDEO_CONSOLE
 	bool "See output on a video console"
 	default y
diff --git a/payloads/libpayload/curses/tinycurses.c b/payloads/libpayload/curses/tinycurses.c
index c901ff6..16e06ec 100644
--- a/payloads/libpayload/curses/tinycurses.c
+++ b/payloads/libpayload/curses/tinycurses.c
@@ -110,6 +110,9 @@
 	'|',	'<',	'>',	'*',	'!',	'f',	'o',	' ',
 	};
 
+#ifdef CONFIG_SERIAL_ACS_FALLBACK
+chtype serial_acs_map[128];
+#else
 /* See acsc of vt100. */
 chtype serial_acs_map[128] =
 	{
@@ -130,6 +133,7 @@
 	'p',	'q',	'r',	's',	't',	'u',	'v',	'w',
 	'x',	'y',	'z',	'{',	'|',	'}',	'~',	0,
 	};
+#endif
 
 /* See acsc of linux. */
 chtype console_acs_map[128] =