Commit Graph

71 Commits

Author SHA1 Message Date
jmmv 7a51d4dddc Add an extra cookie to the ioctl and mmap wsdisplay accessops that points
to the screen on which they are being called.  The driver cannot guess
this by itself but it is needed to implement, at least, the getwschar and
putwschar functions in the correct place.  There are no functional changes
yet.

Tested on i386 (vga, vga_raster, machfb, vesafb), macppc and sparc64.
Suggested and reviewed by macallan@.
2006-04-12 19:38:22 +00:00
thorpej c8dd740fd0 Use ANSI function decls, apply static. 2006-03-31 17:39:33 +00:00
thorpej 07c30f824f Use device_private(). 2006-03-30 16:09:28 +00:00
christos 95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
perry f31bd063e9 nuke trailing whitespace 2005-02-27 00:26:58 +00:00
simonb 59864224e3 Remove some erroneous semicolons. 2005-02-26 12:51:16 +00:00
mhitch 4b076289c1 Change screen blanking to be like other *fb.c drivers (and to not call
sfb_screenblank() needlessly).
2005-01-02 20:43:23 +00:00
tsutsui 4664ac3ea2 - Add /* CONSTCOND */ where appropriate.
- Use SFBWRITE32() in recently added sfb_screenblank() too.
2003-12-20 09:17:28 +00:00
nisimura d2164550f9 - Use volatile designations for memory writes to prevent compiler
change fallouts.
- De-__P() this time.
Tested valid with DEC3000/300 and 4MAXINE.
2003-12-20 06:41:14 +00:00
ad 35a755ce3a - Restore the display to a sane state when leaving mapped mode.
- OR updates into sc_changed, and protect with spltty()/splx().
2003-12-17 03:59:32 +00:00
chs e07f0b9362 eliminate uvm_useracc() in favor of checking the return value of
copyin() or copyout().

uvm_useracc() tells us whether the mapping permissions allow access to
the desired part of an address space, and many callers assume that
this is the same as knowing whether an attempt to access that part of
the address space will succeed.  however, access to user space can
fail for reasons other than insufficient permission, most notably that
paging in any non-resident data can fail due to i/o errors.  most of
the callers of uvm_useracc() make the above incorrect assumption.  the
rest are all misguided optimizations, which optimize for the case
where an operation will fail.  we'd rather optimize for operations
succeeding, in which case we should just attempt the access and handle
failures due to insufficient permissions the same way we handle i/o
errors.  since there appear to be no good uses of uvm_useracc(), we'll
just remove it.
2003-11-13 03:09:28 +00:00
chs 3b6d3c710c uninitialized variables 2003-10-27 07:07:34 +00:00
fvdl d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
simonb 168c4e411f Fix 'struct lwp *' lossage. 2003-06-29 15:07:08 +00:00
thorpej b75a007d9f Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
thorpej ab29a17b64 Use CFATTACH_DECL(). 2002-10-01 01:05:50 +00:00
itohy 125a1bc0a9 Leaving overflow-sensitive code, very similar to what was fixed
in the previous changes to cfb.c / sfb.c / xcfb.c, would not be clever.
Just modify in the similar way.
2002-08-19 13:05:42 +00:00
itohy a64e475289 Make it compile again.
Hi, itojun!
2002-08-19 03:52:53 +00:00
itojun 8e7a88a3ff integer overflow. from silvio@qualys.com 2002-08-06 22:51:45 +00:00
junyoung 3d826105dc alloc_attr -> allocattr
Approved by Matthias Drochner.
2002-07-04 14:37:10 +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 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 6a3181d38f add/cleanup RCSIDs 2001-11-13 06:26:09 +00:00
nisimura bd799bf74f Use ri->ri_hw field for TC module base address. 2001-08-22 05:15:58 +00:00
nisimura a6f7e30eec Nuke fb_devconfig data structure which was found unnecessary to have.
224 byte saving in text+bss, and runtime.
2001-08-20 08:34:39 +00:00
jdolecek 74954dadf9 use unsigned variable types as appropriate 2001-08-05 18:07:51 +00:00
reinoud 1351706593 Fix a few race conditions ... the VSYNC update flag could be cleared
resulting in a blank screen when f.e. a setcursor ioctl was called
after the screenblanker had enabled the screen again ... the actual
switching on was then never performed at VSYNC.

A simple |= instead of = does the trick ... just leave the other bits
on please :)
2001-04-20 11:53:06 +00:00
nisimura ab8c4071cc Void-filling to honour SVIDEO ioctl call. 2001-02-19 09:11:11 +00:00
nisimura b4ef15f3bc - paint underline on text honouring WSSCREEN_UNDERLINE.
- use accellerated painting for text cursor, should improve speed.
2001-01-19 05:43:43 +00:00
nisimura bd7039cbdb - relocate the code to place sprite cursor inside interrupt handlers
called on every virtical replace.
- efforts to make the code strucutures similar across TC framebuffers.
2001-01-16 05:32:16 +00:00
nisimura 452e3d1a2f fix a typo and rearrange a comment about SFB register aliasing effect. 2001-01-15 09:41:57 +00:00
nisimura 3a6d3e0771 use ri_devcmap[] values directly, instead of calling rasops_unpack_attr().
-
2001-01-15 09:37:42 +00:00
nisimura 2e93099aff Replace sfb_copycols() which can run better job in some degree.
It still fails on certain conditions, thus is left commented out.
copycols() is done by a generic routine which works correctly.
2000-11-25 11:43:42 +00:00
nisimura 8a54846748 Fix errors in initializing the software copy of 256 entry colormap
stored in device softc.  rasops_cmap[] array is orginazed in 256
iteration of 3 byte long RBG triplet, which does not match with
struct wsdisplay_cmap design.
2000-10-27 07:24:04 +00:00
mrg a14baa8257 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 17:05:20 +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
nisimura 0b765ee6f8 Retain rendering performance lossage by rasops, but suffering
flexibility in turn; this renderer is 2B stroke (less than 16 pixel
width) font only.  If 1B stroke (less than 8 pixel width) font is
ever supported, the font data should be converted into 2B stroke
during font initialization process.  'wsfont_realize()' is to be
proposed in order to have 'CPU and/or accelerator hardware friendly'
format to squeeze maxinum performance.
2000-03-16 05:48:28 +00:00
nisimura 3e02ded337 Improvement on SFB enabled copycol(); still yet under development,
it miserably fails on corner cases.
2000-02-18 06:51:51 +00:00
enami cadfd97e07 Replace WSFONT_L2R/R2L with WSDISPLAY_FONTORDER_L2R/R2L. 2000-01-07 02:57:17 +00:00
ad ea17a0d147 Remove part of a bogus comment and put it in a more appropiate spot. 1999-12-16 15:07:00 +00:00
ad f607dfe4dd - Change prefix for Bt459 register defs to BT459_IREG to indicate that
these are indirectly accessed registers.
- Add defs for directly accessed registers to bt459reg.h.
1999-12-15 15:09:36 +00:00
drochner 0893832078 update for changed struct wsdisplay_accessops:show_screen signature.
no functional changes
1999-12-06 19:25:56 +00:00
drochner c3026431e3 some cleanup:
-don't set capabilities at compile time
-since our accelerated putchar() doesn't underline, don't claim so
-remove bogus character range check - fonts are not limited to ASCII
-use rasops_unpack_attr() instead of relying on rasops internals
1999-12-04 14:01:56 +00:00
drochner a00a9ff012 Convert to use rasops/wsfont, enabling colors.
For now, only the "putchar" and "copyrows" accelerations are used.
1999-12-02 23:04:44 +00:00
nisimura 558c978dea Const poisoning. 1999-11-29 07:50:54 +00:00
nisimura 2924b6835a Fix errors in sfb_copycols() of the forward (left-to-right) case. 1999-11-09 08:25:31 +00:00
nisimura 392a4acdd7 - Remove temporary hack to recognize PMAGD since SFB+ rendering function
is found not fully upward compatible to its predecessor.  sfbp.c is now
  under development.
- Reduce copycols() malfunction, but has still lot of troubles.
1999-11-05 03:28:40 +00:00
nisimura 5cf97491d8 Add a temporary kludge to recognize PMAGD (HX+) as 'sfb' hoping 8bpp
configration of it is compatible enough with PMAGB-BA.
1999-10-27 04:32:35 +00:00
nisimura 95c618a810 - Fix bogus cursor drawn by sfb_cursor(). From eye-opening input from R.C.
Dowdeswell.
- Remove write memory barriers in sfb_copyrows() as dst. is always distant
  enough from src. for copying rows.
1999-10-26 10:57:04 +00:00
nisimura 21636a326b Fill always erased regions with bg color. Fix an issue revealed by
"print -n '\033[7m'; ls".
1999-10-22 07:42:05 +00:00