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] =