Commit Graph

50 Commits

Author SHA1 Message Date
hannken
747c45e3e4 Avoid dereferencing null pointer. `data->name == NULL' means default font. 2002-04-04 13:08:35 +00:00
atatat
31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
ad
5d95c4499b Fix botch in previous. 2002-03-13 23:17:18 +00:00
ad
b89e39b91a Reorganise the wsfont stuff slightly so that multiple display adapters
with different bit/byte order requirements can co-exist happily.
2002-03-13 15:05:13 +00:00
lukem
93e58d97ac Add support for WSCONS screenblank ioctls. From Phil Budne in [kern/15213]. 2002-01-23 17:11:38 +00:00
junyoung
d5decae4e0 ANSIfication & cosmetic changes. 2001-12-13 08:31:39 +00:00
bjh21
4e3bf132c0 Add comments naming our private-use characters (in lower case, to make them
distinct from real Unicode characters).
2001-12-02 12:46:32 +00:00
lukem
a4bae8b066 add/cleanup RCSID 2001-11-13 13:14:31 +00:00
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