freebsd-dev/sys/dev/vt
Colin Percival 0b4d5eb8fd Replace a pair of 8-bit writes to VGA memory with a single 16-bit write.
The VGA "text mode" buffer has a pair of bytes for each character: One
byte for the character symbol, and an "attribute" byte encoding the
foreground and background colours.  When updating the screen, we were
writing these two bytes separately.

On some virtualized systems, every write results in a glyph being redrawn
into a (graphical) virtual screen; writing these two bytes separately
results in twice as much work being done to draw characters, whereas if
we perform a single 16-bit write instead, the character only needs to be
redrawn once.

On an EC2 c5.4xlarge instance, this change cuts 1.30s from the kernel boot,
speeding it up from 8.90s to 7.60s.

MFC after:	1 week
2018-08-07 08:33:40 +00:00
..
colors vt(4): Use default VGA palette 2018-05-10 17:00:33 +00:00
font Update vt(4) "Terminus BSD Console" font to v4.46 2018-04-12 20:21:04 +00:00
hw Replace a pair of 8-bit writes to VGA memory with a single 16-bit write. 2018-08-07 08:33:40 +00:00
logo sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
vt_buf.c teken, vt(4): New callbacks to lock the terminal once 2018-05-16 09:01:02 +00:00
vt_consolectl.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
vt_core.c Clean up vt source whitespace issues 2018-05-16 11:19:03 +00:00
vt_cpulogos.c vt(4): Resume vt_timer() in vtterm_post_input() only 2018-05-16 10:08:50 +00:00
vt_font.c Limit glyph count in vtfont_load to avoid integer overflow. 2018-04-04 05:21:46 +00:00
vt_sysmouse.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
vt.h Clean up vt source whitespace issues 2018-05-16 11:19:03 +00:00