Commit Graph

42 Commits

Author SHA1 Message Date
thorpej b9fffe1967 Allow bus front-end to provide both ioctl and mmap entry points,
and also the wsdisplay type.

Based on changes from Simon Burge <simonb@wasabisystems.com>.
2001-09-14 01:10:11 +00:00
drochner 4aaab20b38 remove all traces when a font is removed 2001-09-10 07:29:54 +00:00
drochner e6a8d37fdd concentrate screen initialization into vga_init_screen() where it belongs 2001-09-07 17:10:13 +00:00
drochner f2fabb4c48 simplify the way the "active screen" is kept track of a bit 2001-09-04 17:06:54 +00:00
drochner 6d3056d1a3 -fix a debug message
-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
2001-09-04 15:32:22 +00:00
drochner 09accd52c0 manage fonts through the wsfont framework, which allows to use both
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!
2001-09-03 17:34:07 +00:00
thorpej 7711ad565b bcopy -> memcpy 2001-07-07 15:53:13 +00:00
jdolecek 34c8ae80da constify 2001-01-18 20:28:15 +00:00
drochner a960881851 -make the default screentype override less invasive, call it
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
2000-09-15 14:13:01 +00:00
lukem 6439b28202 * rename vga_stdscreen* -> vga_25lscreen*
* 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
2000-09-10 11:44:13 +00:00
thorpej f80d70f19a Just add the mmap argument to vga_common_attach(), don't bother
with vga_extended_attach().
2000-08-14 20:14:50 +00:00
jeffs aaa5c58d70 Update arc map routine prototype to compile again. 2000-08-08 02:11:05 +00:00
drochner 54ccff0437 define "80x24" screen types for better vt100 compatibility 2000-07-15 18:47:54 +00:00
simonb 889c658b5b Change the kernel mmap interface so that the offset to map is an
"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.
2000-06-26 04:55:19 +00:00
soda 849b74a926 add vga_extended_attach function on arc port, to make mmap() available.
XXX - is it better to remove "#ifdef arc"?
2000-06-17 07:11:50 +00:00
cgd d8dcb11d4f don't include ISA headers. these have been properly abstracted so that
the ISA headers are unnecessary, and they're used by PCI VGA.  There may
not be any ISA at all.
2000-06-08 07:01:19 +00:00
thorpej fc96443d15 New callout mechanism with two major improvements over the old
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.
2000-03-23 07:01:25 +00:00
ad ea0751f1aa Finish with fixing the SOFTCURSOR stuff. 2000-01-25 02:44:03 +00:00
ad e75404417a Add and use pcdisplay_cursor_init(). Still a couple of nits with this, I
will resolve when I can test properly.
2000-01-05 16:14:35 +00:00
drochner 106e6868db fix off-by-one error in font table initialisation
(mostly harmless because it is zero initialized in most cases anyway)
1999-12-13 14:04:06 +00:00
drochner 162086b1cd do the screen switch asynchronously (via timeout(0)) if possible,
this hopefully helps for the (very rare) display corruption reported
in PR kern/8628
1999-12-06 18:54:50 +00:00
mycroft d2b362b685 Only update the cursor state if it's enabled. 1999-11-03 15:55:27 +00:00
ad 51de3bc208 PCDISPLAY_SOFTCURSOR: remember state of cursor during full screen scroll. 1999-09-29 17:29:24 +00:00
ad 97253f4537 Software cursor is not enabled at boot time. Hardware cursor is. 1999-09-19 22:57:24 +00:00
ad f96e055d70 - mc6845's cursor is disabled by punching bit 6 of cursor start register.
- Add new option (PCDISPLAY_SOFTCURSOR) that provides a large, non-blinking
  cursor in software.
1999-09-19 21:48:08 +00:00
drochner 2a614bc836 add support for 80x40 screens 1999-04-10 14:02:11 +00:00
drochner 00a4d0521a use defopted WSCONS_SUPPORT_PCVTFONTS, refuse to load pcvt fonts if this
option is not given, suppress complaints in non-debug case
1999-04-01 11:52:42 +00:00
drochner b2c812d776 set "fontset" variables to 0 if no appropriate font was found for a
freshly allocated screen, should fix panic if "vga_mapchar()" it
attempted later
1999-03-22 18:24:23 +00:00
drochner bd047d30a0 complete mapping table for pcvt fonts, make dual-font selection work
as intended
1999-02-20 18:27:53 +00:00
drochner dbdaf91650 change the "mapchar" interface to return a "quality" or "match level"
arguments which allows to find approximations for characters which are
not present in a font
1999-02-12 11:25:23 +00:00
drochner 23cfea8327 -implement new wscons font handling with separate download and selection
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
1999-01-13 16:48:58 +00:00
drochner 98e630dbe0 Allow to deallocate also the currently visible virtual screen (unless
it is the console).
This requires vva_show_screen() to catch the case where it has no screen
to switch from, ie no need to save the current state.
1999-01-09 15:29:26 +00:00
augustss 44df4dcc85 Add a wscons display type `unknown' that the generic VGA driver can
return until someone fixes it for real.
1998-12-30 13:54:03 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
drochner 3d545acb51 Overload the generic "copyrows" function by a private one which implents
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.
1998-07-24 16:20:14 +00:00
drochner 3f10af182d do the charcter mapping in a separate function 1998-06-26 21:05:20 +00:00
drochner bf42a9e321 adapt to wscons changes, treat incoming characters always as ISO
(ie, convert to IBM)
1998-06-20 21:55:05 +00:00
drochner 96840772f5 reserve the VGA BIOS area (but don't worry if it fails) 1998-06-12 18:41:01 +00:00
drochner b84dbbb37c Put definitions and subroutines needed for all PC display adapters
(MGA/GCA and compatibles) into global headers / source files.
Let the VGA driver use them.
1998-05-28 16:48:40 +00:00
drochner 95bdb660ed Simple screen attribute handling for wscons.
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.
1998-05-14 20:49:55 +00:00
drochner 0391896c27 Avoid namespace pollution. 1998-04-07 16:35:42 +00:00
drochner 3a43fe7109 initial import of VGA driver backend for use with the new wscons code 1998-03-22 15:11:49 +00:00