Lines Matching refs:tem

168 tem_add(struct tem_vt_state *tem)  in tem_add()  argument
170 ASSERT(MUTEX_HELD(&tems.ts_lock) && MUTEX_HELD(&tem->tvs_lock)); in tem_add()
172 list_insert_head(&tems.ts_list, tem); in tem_add()
176 tem_rm(struct tem_vt_state *tem) in tem_rm() argument
178 ASSERT(MUTEX_HELD(&tems.ts_lock) && MUTEX_HELD(&tem->tvs_lock)); in tem_rm()
180 list_remove(&tems.ts_list, tem); in tem_rm()
190 struct tem_vt_state *tem = (struct tem_vt_state *)tem_arg; in tem_write() local
193 mutex_enter(&tem->tvs_lock); in tem_write()
195 if (!tem->tvs_initialized) { in tem_write()
196 mutex_exit(&tem->tvs_lock); in tem_write()
201 tem_safe_check_first_time(tem, credp, CALLED_FROM_NORMAL); in tem_write()
202 tem_safe_terminal_emulate(tem, buf, len, credp, CALLED_FROM_NORMAL); in tem_write()
204 mutex_exit(&tem->tvs_lock); in tem_write()
325 tem_reinit(struct tem_vt_state *tem, boolean_t reset_display) in tem_reinit() argument
327 ASSERT(MUTEX_HELD(&tems.ts_lock) && MUTEX_HELD(&tem->tvs_lock)); in tem_reinit()
329 tem_free_buf(tem); /* only free virtual buffers */ in tem_reinit()
332 tem_internal_init(tem, kcred, B_FALSE, reset_display); in tem_reinit()
336 tem_free_buf(struct tem_vt_state *tem) in tem_free_buf() argument
338 ASSERT(tem != NULL && MUTEX_HELD(&tem->tvs_lock)); in tem_free_buf()
340 if (tem->tvs_outbuf != NULL) in tem_free_buf()
341 kmem_free(tem->tvs_outbuf, tem->tvs_outbuf_size); in tem_free_buf()
342 if (tem->tvs_pix_data != NULL) in tem_free_buf()
343 kmem_free(tem->tvs_pix_data, tem->tvs_pix_data_size); in tem_free_buf()
344 if (tem->tvs_screen_buf != NULL) in tem_free_buf()
345 kmem_free(tem->tvs_screen_buf, tem->tvs_screen_buf_size); in tem_free_buf()
346 if (tem->tvs_screen_rows != NULL) { in tem_free_buf()
347 kmem_free(tem->tvs_screen_rows, tem->tvs_screen_history_size * in tem_free_buf()
350 if (tem->tvs_tabs != NULL) { in tem_free_buf()
351 kmem_free(tem->tvs_tabs, tem->tvs_maxtab * in tem_free_buf()
352 sizeof (*tem->tvs_tabs)); in tem_free_buf()
359 struct tem_vt_state *tem = (struct tem_vt_state *)tem_arg; in tem_destroy() local
362 mutex_enter(&tem->tvs_lock); in tem_destroy()
364 if (tem->tvs_isactive && tem->tvs_fbmode == KD_TEXT) in tem_destroy()
365 tem_safe_blank_screen(tem, credp, CALLED_FROM_NORMAL); in tem_destroy()
367 tem_free_buf(tem); in tem_destroy()
368 tem_rm(tem); in tem_destroy()
370 if (tems.ts_active == tem) in tem_destroy()
373 mutex_exit(&tem->tvs_lock); in tem_destroy()
376 kmem_free(tem, sizeof (struct tem_vt_state)); in tem_destroy()
832 tem_prom_scroll_up(struct tem_vt_state *tem, int nrows, cred_t *credp, in tem_prom_scroll_up() argument
853 tem_safe_pix_cls_range(tem, 0, nrows, tems.ts_p_offset.y, in tem_prom_scroll_up()
865 tem_adjust_row(struct tem_vt_state *tem, int prom_row, cred_t *credp, in tem_adjust_row() argument
897 tem_prom_scroll_up(tem, scroll_up_lines, credp, called_from); in tem_adjust_row()
905 tem_align(struct tem_vt_state *tem, cred_t *credp, in tem_align() argument
925 row = tem_adjust_row(tem, row, credp, called_from); in tem_align()
928 tem->tvs_first_line = row + 1; in tem_align()
931 tem->tvs_s_cursor.row = tem->tvs_c_cursor.row = in tem_align()
933 tem->tvs_s_cursor.col = tem->tvs_c_cursor.col = 0; in tem_align()
943 tem->tvs_screen_rows[row][col].tc_char = in tem_align()
1031 struct tem_vt_state *tem = (struct tem_vt_state *)tem_arg; in tem_get_fbmode() local
1035 mutex_enter(&tem->tvs_lock); in tem_get_fbmode()
1036 fbmode = tem->tvs_fbmode; in tem_get_fbmode()
1037 mutex_exit(&tem->tvs_lock); in tem_get_fbmode()
1045 struct tem_vt_state *tem = (struct tem_vt_state *)tem_arg; in tem_set_fbmode() local
1048 mutex_enter(&tem->tvs_lock); in tem_set_fbmode()
1050 if (fbmode == tem->tvs_fbmode) { in tem_set_fbmode()
1051 mutex_exit(&tem->tvs_lock); in tem_set_fbmode()
1056 tem->tvs_fbmode = fbmode; in tem_set_fbmode()
1058 if (tem->tvs_isactive) { in tem_set_fbmode()
1059 tem_kdsetmode(tem->tvs_fbmode, credp); in tem_set_fbmode()
1061 tem_safe_unblank_screen(tem, credp, CALLED_FROM_NORMAL); in tem_set_fbmode()
1064 mutex_exit(&tem->tvs_lock); in tem_set_fbmode()
1071 struct tem_vt_state *tem = (struct tem_vt_state *)tem_arg; in tem_activate() local
1074 tems.ts_active = tem; in tem_activate()
1076 mutex_enter(&tem->tvs_lock); in tem_activate()
1077 tem->tvs_isactive = B_TRUE; in tem_activate()
1079 tem_kdsetmode(tem->tvs_fbmode, credp); in tem_activate()
1082 tem_safe_unblank_screen(tem, credp, CALLED_FROM_NORMAL); in tem_activate()
1084 mutex_exit(&tem->tvs_lock); in tem_activate()