-unref font(s) if a screen is deleted, so they could be unloaded
if dev/wsfont supported it
-add missing pieces to support screen types with font sizes != 8x16
as system console - now
options VGA_CONSOLE_SCREENTYPE="\"80x50\""
options FONT_VT220L8x8
gives you what you'd expect
compiled-in or runtime loaded fonts,
keep font pointers in a LRU queue and load into the adapter on demand,
so we can have more fonts in use than physical font slots
CAUTION: font loading through the wsdisplay device directly into the
adapter doesn't work anymore!
VGA_CONSOLE_SCREENTYPE because the screen types are hardware specific
and make it affect the console only (no need to change runtime
behaviour), don't call vga_setscreentype() unless necessary (to avoid
trouble with strange hardware - PR kern/11025)
-some beginnings of ISO-7 (greek) font support
* in vga_init(), set the screen type to WSCONS_DEFAULT_TYPE, which defaults
to "80x25".
XXX: the code currently makes no attempt to ensure that a font
with the appropriate width & height is available, effectively
limiting this default to either "80x25" or "80x24" at this
time.
* make wsdisplay_screentype_pick() non static, so that vga_init() can use it
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".
Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.
The old timeout()/untimeout() API has been removed from the kernel.
calls
-support use of 2 fonts simultanously; this costs the ability to
"highlight", ie to use the upper 8 colours
-define screen types "80x25bf" and "80x50bf" which use this ability
-add conditional code to deal with the weird mapping of pcvt's
supplemental fonts
a "fast scroll" by setting the display start in memory.
(Only implemented for "scroll up" because this is more used. "scroll down"
is easy to add.)
This moves the semantics of "copyrows" to something like "moverows";
the contents of the new visible lines at the bottom is undefined.
The emulations can live without the original "copy" semantics.
The graphics device driver passes a "default attribute" for normal text
output to the wscons framework. If the emulation module needs more
attributes (for different "renditions") it can allocate them via a
callback.
For now, only the "sun" emulation makes use of it.