aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/syscons
diff options
context:
space:
mode:
authorBruce Evans <bde@FreeBSD.org>2017-04-08 08:24:25 +0000
committerBruce Evans <bde@FreeBSD.org>2017-04-08 08:24:25 +0000
commite53fbbe661354620cfc25eb36e159cfa4b9dcf11 (patch)
tree31e67d72573977a4a90aaeceecc29160caf729b0 /sys/dev/syscons
parent7250d89e5499092122715cd4d4d44520c1e6388f (diff)
Notes
Diffstat (limited to 'sys/dev/syscons')
-rw-r--r--sys/dev/syscons/scgfbrndr.c6
-rw-r--r--sys/dev/syscons/scvgarndr.c10
-rw-r--r--sys/dev/syscons/syscons.h2
3 files changed, 6 insertions, 12 deletions
diff --git a/sys/dev/syscons/scgfbrndr.c b/sys/dev/syscons/scgfbrndr.c
index 20679b70d452..a17abe5a6088 100644
--- a/sys/dev/syscons/scgfbrndr.c
+++ b/sys/dev/syscons/scgfbrndr.c
@@ -271,13 +271,11 @@ gfb_cursor(scr_stat *scp, int at, int blink, int on, int flip)
c = sc_vtb_getc(&scp->vtb, at);
vidd_putc(scp->sc->adp, at, c,
(a >> 4) | ((a & 0xf) << 4));
- scp->cursor_saveunder_attr = a;
- scp->cursor_saveunder_char = c;
} else {
if (scp->status & VR_CURSOR_ON)
vidd_putc(scp->sc->adp, at,
- scp->cursor_saveunder_char,
- scp->cursor_saveunder_attr);
+ sc_vtb_getc(&scp->vtb, at),
+ sc_vtb_geta(&scp->vtb, at) >> 8);
scp->status &= ~VR_CURSOR_ON;
}
}
diff --git a/sys/dev/syscons/scvgarndr.c b/sys/dev/syscons/scvgarndr.c
index 2d2651746004..b56f59b00964 100644
--- a/sys/dev/syscons/scvgarndr.c
+++ b/sys/dev/syscons/scvgarndr.c
@@ -294,8 +294,6 @@ draw_txtcharcursor(scr_stat *scp, int at, u_short c, u_short a, int flip)
sc_softc_t *sc;
sc = scp->sc;
- scp->cursor_saveunder_char = c;
- scp->cursor_saveunder_attr = a;
#ifndef SC_NO_FONT_LOADING
if (scp->curs_attr.flags & CONS_CHAR_CURSOR) {
@@ -372,18 +370,18 @@ vga_txtcursor(scr_stat *scp, int at, int blink, int on, int flip)
if (on) {
scp->status |= VR_CURSOR_ON;
draw_txtcharcursor(scp, at,
- sc_vtb_getc(&scp->scr, at),
- sc_vtb_geta(&scp->scr, at),
+ sc_vtb_getc(&scp->vtb, at),
+ sc_vtb_geta(&scp->vtb, at),
flip);
} else {
- cursor_attr = scp->cursor_saveunder_attr;
+ cursor_attr = sc_vtb_geta(&scp->vtb, at);
if (flip)
cursor_attr = (cursor_attr & 0x8800)
| ((cursor_attr & 0x7000) >> 4)
| ((cursor_attr & 0x0700) << 4);
if (scp->status & VR_CURSOR_ON)
sc_vtb_putc(&scp->scr, at,
- scp->cursor_saveunder_char,
+ sc_vtb_getc(&scp->vtb, at),
cursor_attr);
scp->status &= ~VR_CURSOR_ON;
}
diff --git a/sys/dev/syscons/syscons.h b/sys/dev/syscons/syscons.h
index 2254014c0632..ac52d6e8627b 100644
--- a/sys/dev/syscons/syscons.h
+++ b/sys/dev/syscons/syscons.h
@@ -312,8 +312,6 @@ typedef struct scr_stat {
int cursor_pos; /* cursor buffer position */
int cursor_oldpos; /* cursor old buffer position */
- u_short cursor_saveunder_char; /* saved char under cursor */
- u_short cursor_saveunder_attr; /* saved attr under cursor */
struct cursor_attr dflt_curs_attr;
struct cursor_attr curr_curs_attr;
struct cursor_attr curs_attr;