summaryrefslogtreecommitdiffstats
path: root/sys/dev/syscons/scterm-sc.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/syscons/scterm-sc.c')
-rw-r--r--sys/dev/syscons/scterm-sc.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/dev/syscons/scterm-sc.c b/sys/dev/syscons/scterm-sc.c
index fdf92b0..8362220 100644
--- a/sys/dev/syscons/scterm-sc.c
+++ b/sys/dev/syscons/scterm-sc.c
@@ -172,10 +172,22 @@ static void
scterm_scan_esc(scr_stat *scp, term_stat *tcp, u_char c)
{
static u_char ansi_col[16] = {
+#ifdef __alpha__
+ /*
+ * DEC is evil. They switch the red and blue attributes in the
+ * palette in the system console. As a simple work-around, re-map
+ * the ANSI colors appropriately.
+ */
+ FG_BLACK, FG_BLUE, FG_GREEN, FG_CYAN,
+ FG_RED, FG_MAGENTA, FG_BROWN, FG_LIGHTGREY,
+ FG_DARKGREY, FG_LIGHTBLUE, FG_LIGHTGREEN, FG_LIGHTCYAN,
+ FG_LIGHTRED, FG_LIGHTMAGENTA, FG_YELLOW, FG_WHITE
+#else
FG_BLACK, FG_RED, FG_GREEN, FG_BROWN,
FG_BLUE, FG_MAGENTA, FG_CYAN, FG_LIGHTGREY,
FG_DARKGREY, FG_LIGHTRED, FG_LIGHTGREEN, FG_YELLOW,
FG_LIGHTBLUE, FG_LIGHTMAGENTA, FG_LIGHTCYAN, FG_WHITE
+#endif
};
sc_softc_t *sc;
int i, n;
OpenPOWER on IntegriCloud