summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-07-08 16:28:37 -0400
committerIan Moffett <ian@osmora.org>2025-07-08 16:28:37 -0400
commit376ec65578576f6ff955373ea68539b57d23a012 (patch)
tree50c75320038a289ca17f64948ae7ee767af49a2d /sys/dev
parentb4cf1f4c82dd837804b57ba01b35c283bff266e6 (diff)
kernel: cons: Use glyph relative pos in cons attr
- Make curs_col/curs_row reference console_attr.cursor_x/cursor_y - Console cursor x/y attributes reflect x/y multiplied by glyph dimensions Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/cons/cons.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/cons/cons.c b/sys/dev/cons/cons.c
index 5a59e3d..7407ec1 100644
--- a/sys/dev/cons/cons.c
+++ b/sys/dev/cons/cons.c
@@ -500,17 +500,17 @@ ctl_attr_write(struct ctlfs_dev *cdp, struct sio_txn *sio)
sio->len = sizeof(*attrp);
}
- memcpy(attrp, sio->buf, sio->len);
spinlock_acquire(&scr->lock);
+ HIDE_CURSOR(scr);
+ memcpy(attrp, sio->buf, sio->len);
/* Clip the x/y positions */
if (attrp->cursor_x >= scr->ncols)
- attrp->cursor_x = scr->ncols - 1;
+ attrp->cursor_x = scr->ncols - FONT_WIDTH;
if (attrp->cursor_y >= scr->nrows)
- attrp->cursor_y = scr->nrows - 1;
+ attrp->cursor_y = scr->nrows - FONT_HEIGHT;
/* Update cursor */
- HIDE_CURSOR(scr);
scr->curs_col = attrp->cursor_x;
scr->curs_row = attrp->cursor_y;
scr->ch_col = attrp->cursor_x;