summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/io/tem_safe.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/io/tem_safe.c')
-rw-r--r--usr/src/uts/common/io/tem_safe.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/usr/src/uts/common/io/tem_safe.c b/usr/src/uts/common/io/tem_safe.c
index 572f9c16bd..5008d4a4d6 100644
--- a/usr/src/uts/common/io/tem_safe.c
+++ b/usr/src/uts/common/io/tem_safe.c
@@ -2213,9 +2213,17 @@ tem_safe_pix_cursor(struct tem_vt_state *tem, short action,
switch (tems.ts_pdepth) {
case 4:
+ ca.fg_color.mono = fg;
+ ca.bg_color.mono = bg;
+ break;
case 8:
+#ifdef _HAVE_TEM_FIRMWARE
ca.fg_color.mono = fg;
ca.bg_color.mono = bg;
+#else
+ ca.fg_color.mono = tems.ts_color_map(fg);
+ ca.bg_color.mono = tems.ts_color_map(bg);
+#endif
break;
case 15:
case 16:
@@ -2256,8 +2264,8 @@ tem_safe_pix_cursor(struct tem_vt_state *tem, short action,
ca.bg_color.twentyfour[0] = (color >> 16) & 0xFF;
ca.bg_color.twentyfour[1] = (color >> 8) & 0xFF;
ca.bg_color.twentyfour[2] = color & 0xFF;
- break;
#endif
+ break;
}
ca.action = action;
@@ -2292,6 +2300,11 @@ bit_to_pix8(struct tem_vt_state *tem, tem_char_t c, text_color_t fg_color,
text_color_t bg_color)
{
uint8_t *dest = (uint8_t *)tem->tvs_pix_data;
+
+#ifndef _HAVE_TEM_FIRMWARE
+ fg_color = (text_color_t)tems.ts_color_map(fg_color);
+ bg_color = (text_color_t)tems.ts_color_map(bg_color);
+#endif
font_bit_to_pix8(&tems.ts_font, dest, c, fg_color, bg_color);
}