Commit Graph

568 Commits

Author SHA1 Message Date
macallan d55e837f75 defflag GLYPHCACHE_DEBUG 2012-10-04 19:09:20 +00:00
macallan f952894398 allow caching of glyphs with attributes other than the default
while there, also add support for underlined characters
2012-10-04 10:26:32 +00:00
he d498be058a Now that we use keysym_t, make sure <dev/wscons/wsksymvar.h> is included.
Fixes the kernel build for next68k's nextcons.c and mac68k's maccons.c.
2012-09-02 21:14:56 +00:00
macallan ff1bd1aab8 support an optional table to translate scancodes when in event mode 2012-08-29 02:38:31 +00:00
macallan 4de7bc18ac deal with negative cache sizes 2012-07-12 01:21:08 +00:00
abs 9c537a963a Add the following above the version = 0 line, just to provide a hint...
/* For binary compat. New code must call WSxxxIO_SETVERSION */
2012-05-24 18:16:31 +00:00
khorben 1ffeba3ee9 Implemented extra keys as found on Sun Type 7 USB keyboards, and
according to the documentation mentioned above in this file.

"works here" macallan@, myself
2012-04-22 14:32:08 +00:00
uebayasi eabd60ab7f Add newline at end of file; fix ALL build for me. 2012-04-22 03:47:53 +00:00
macallan 4d3aa5644d no need to convert cell number to coordinates every time we draw a glyph
from cache - just stick the coordinates directly into the map
2012-04-19 08:46:17 +00:00
bsh 456cfa8109 Support i.MX51's LCD framebuffer on Netwalker.
from Kenichi Hashimoto.
2012-04-17 10:19:57 +00:00
elad 0c9d8d15c9 Replace the remaining KAUTH_GENERIC_ISSUSER authorization calls with
something meaningful. All relevant documentation has been updated or
written.

Most of these changes were brought up in the following messages:

    http://mail-index.netbsd.org/tech-kern/2012/01/18/msg012490.html
    http://mail-index.netbsd.org/tech-kern/2012/01/19/msg012502.html
    http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012728.html

Thanks to christos, manu, njoly, and jmmv for input.

Huge thanks to pgoyette for spinning these changes through some build
cycles and ATF.
2012-03-13 18:40:26 +00:00
macallan e297db4b59 generic support for caching glyphs in video memory
for speeding up anti-aliased fonts on slow CPUs
2012-02-16 17:29:21 +00:00
drochner 005775381c delete virtual screens on detach - this allows to hot-unplug
a udl@usb monitor without crash
2012-02-02 13:11:25 +00:00
rmind 668cc4102c wsmux_getmux: do not increment nwsmux if allocation fails (might cause buffer
overflow).  Simplify slightly.
2012-01-30 01:54:08 +00:00
macallan 1c9c22440c ass WSDISPLAY_TYPE_VALKYRIE 2012-01-24 04:34:05 +00:00
macallan 452ccd358c bump character buffers and cache to 32bit per character so flags we store
in the upper bits don't get lost
now autogenerated line drawing characters work with VCONS_DRAW_INTR and don't
get lost when switching screens
2012-01-04 08:25:03 +00:00
reinoud 1f33988c72 Add the Usermode vnc framebuffer and (vnc) remote keyboard types. 2011-12-30 08:20:50 +00:00
phx 01173747fc Amiga wscons/Xorg support, first phase.
Implemented wscons for CV64 and CV64/3D. Other graphics cards drivers are
prepared for it, but will not be attempted before Xorg is not running.
The wscons support is disabled by default. A GENERIC kernel should behave
like always. Use WSCONS to try out a kernel with wscons support.
Done by rkujawa@ and phx@.
2011-12-15 14:25:12 +00:00
jakllsch dca50c47f9 Correct copy/paste error in previous. 2011-09-11 22:28:21 +00:00
jakllsch d5704d8888 Initialize the W axis value on open as is already done for the other axes. 2011-09-11 19:19:19 +00:00
christos f11ae0d12b PR/35473: Wigcher Spanninga: Add Dutch keyboard support to wscons 2011-07-22 18:17:11 +00:00
tsutsui 6f57be1369 Add and return WSKBD_TYPE_LUNA and WSDISPLAY_TYPE_LUNA on WS*_GTYPE ioctls.
XXX: should we still sync <sys/dev/wsconsio.h> and src/sbin/wsconsctl/util.c?
2011-07-21 10:33:17 +00:00
macallan d981780965 make the EDID buffer pointer void * 2011-06-29 05:00:06 +00:00
macallan dcc7dd1b42 make sizes unsigned 2011-06-29 04:50:32 +00:00
macallan f4441d032a declare wsdisplayio_get_edid() 2011-06-29 03:11:59 +00:00
macallan 8db9d73a65 dumping ground for generic driver convenience functions
So far it contains only a generic WSDISPLAYIO_GET_EDID implementation that
relies on EDID data being passed to drivers as a device property.
2011-06-29 03:09:37 +00:00
macallan 5058059930 add two new ioctl()s:
WSDISPLAYIO_GET_EDID to retrieve EDID data from display drivers
WSDISPLAYIO_SET_POLLING to control polling with VCONS_DRAW_INTR
2011-06-29 03:06:16 +00:00
drochner 89c8725c96 add support for the interesting parts of ISO-2 and KOI8-R fonts
to the vga(4) driver
2011-06-08 10:25:21 +00:00
macallan 26ec9200cf remove VCONS_DRAW_ASYNC
it was always experimental, VCONS_DRAW_INTR is much simpler and Just Works.
2011-05-25 06:13:29 +00:00
macallan 6eb32961ce add a cache so when we update the screen we only redraw the character cells
that actually changed since last time. This gives a noticeable speedup on
slower hardware with dumb framebuffers.
For now this works with VCONS_DRAW_INTR and VCONS_DONT_READ only.
2011-05-25 06:01:38 +00:00
rmind 2626d57668 Rename ttymalloc() to tty_alloc(), and ttyfree() to tty_free() for
consistency.  Remove some unnecessary malloc.h inclusions as well.
2011-04-24 16:26:51 +00:00
jmcneill a1001814e2 add vcons_hard_switch, for switching w/o callouts (eg. entering ddb) 2011-02-18 13:56:11 +00:00
jmcneill f24dfbb13c add vcons_{enable,disable}_polling and genfb_{enable,disable}_polling
functions, to switch between intr and polling modes when VCONS_DRAW_INTR
is defined
2011-02-09 13:19:18 +00:00
jmcneill 3f11f2aa84 VCONS_DRAW_INTR changes:
- use softint instead of workqueue for drawing
- track scr_dirty with atomic_ops
2011-02-08 23:06:25 +00:00
jmcneill 232459ad54 abuse config_interrupts to make sure we don't switch to 'intr' mode until
interrupts are enabled
2011-02-08 13:40:35 +00:00
jmcneill 8485f28760 add support for command buffering in vcons. still a WIP, same limitations
as async drawing (no ddb, needs interrupts). you can try it with options
VCONS_DRAW_INTR. as with async, there are still occasional glitches.
2011-02-08 12:45:04 +00:00
tsutsui b04b7da893 Switch NetBSD/hp300 to wscons with rasops. Simply ported from OpenBSD/hp300.
- Only A1416 Kathmandu (topcat) framebuffer on 425t is tested, but
  all other variants (TigerShark, Hyperion, DaVinci, GatorBox, Renaissance)
  should also work if they are working on OpenBSD/hp300.
- sti(4) and SGC bus support are not pulled because I don't have 425e
  and I can't confirm that 362 and 382 actually have SGC bus.
  (I'll commit a DIO based dumb driver for 362 and 382 framebuffers later)
- Xorg server with wsfb driver will also be integrated soon
  once after keycode with NoSymbol problem is addressed.
  (We have to re-think what code should be used on WSDISPLAY_COMPAT_RAWKBD)
- MI HIL keyboard and mouse drivers are working fine though
  cngetc via hilkbd has some problem (still we can input commands).
- No old HP-UX like HIL ioctl compatibility (we removed COMPAT_HPUX anyway).
  grfinfo(8) and hilinfo(8) will be removed shortly.

Demonstrated on NetBSD booth at Open Source Conference 2011 Kagawa.
2011-02-06 18:26:51 +00:00
macallan 195f4ebf1c Add support for asynchronous drawing in vcons.
This is not finished but good enough for others to play with, enable with
options VCONS_DRAW_ASYNC
With this all drawing operations will be posted to a ring buffer instead
of being run directly, and run by a kernel thread. This avoids having to wait
for drawing operations to finish with the kernel lock held ( to a degree at
least ) and scrolling a (slow) framebuffer console should not disrupt other
operations anymore.
Problems:
- we need to switch back to synchronous operations when panicing or entering
  ddb, also re-enable async drawing when leaving ddb
- there are still occasional glitches
tested on an SS20 with cg14 and cg6 for dumb and accelerated cases
2011-01-25 20:28:21 +00:00
cegger e28cc170ed Implement new WSDISPLAYIO_GET_BUSID ioctl.
It returns the bus id and allows userland (like Xorg) to create mapping
of ttyE? and bus id. For now only PCI is implemented.

First discussed with macallan@ then public on tech-kern@ and tech-x11@
2011-01-22 15:14:27 +00:00
jruoho 871220a39a Add wskbd_hotkey_deregister() to match wskbd_hotkey_register().
XXX: This is kind of futile; the only user of the wskbd(4)'s hotkey interface
     is hpqlb(4), which is a questionable driver, being, by design,
     limited only to the laptop model for which the driver was written.
2010-10-26 05:12:34 +00:00
macallan 17887680e3 clarify how backlight control ioctl()s are supposed to work
TODO: adapt r128fb and radeonfb
2010-10-02 00:52:02 +00:00
macallan 42092a5f99 add separate flags for putchar() based copycols() and copyrows() methods
for hw that can accelerate one but not the other, like Sun's Creator series
VCONS_DONT_READ does the same as before
2010-09-21 03:33:14 +00:00
macallan 9c10440f53 Add copycols() and copyrows() methods which, instead of calling the underlying
driver methods, call the driver's putchar() method to redraw the affected
areas.
For unaccelerated framebuffers where reads are expensive and we can't spare
any memory for a shadow framebuffer. Enabled by setting VCONS_DONT_READ in
scr_flags
2010-08-18 16:46:51 +00:00
ahoka d144c6d14a output ^_ on control-/ like xterm does. 2010-07-01 14:49:34 +00:00
rmind 3c507045e2 Remove pfind() and pgfind(), fix locking in various broken uses of these.
Rename real routines to proc_find() and pgrp_find(), remove PFIND_* flags
and have consistent behaviour.  Provide proc_find_raw() for special cases.
Fix memory leak in sysctl_proc_corename().

COMPAT_LINUX: rework ptrace() locking, minimise differences between
different versions per-arch.

Note: while this change adds some formal cosmetics for COMPAT_DARWIN and
COMPAT_IRIX - locking there is utterly broken (for ages).

Fixes PR/43176.
2010-07-01 02:38:26 +00:00
dholland 61655fede0 PR kern/38900 Arnaud Lacombe: don't try to do WSDISPLAY_SCROLLSUPPORT
things if NWSDISPLAY is 0.

Arguably the right fix is to not allow "options WSDISPLAY_SCROLLSUPPORT"
to be enabled in this case, but AIUI config doesn't know how to encode
rules like that.
2010-05-31 04:27:18 +00:00
drochner 8e8bf15598 add just as much "detach" code to keep the box from panicking on
removal of a USB "udl" device
(needs more work, but I got the hardware for a quick test only)
2010-04-11 14:04:10 +00:00
jdc 54c6f4b764 Add mappings for KS_End/KS_KP_End, so that the `End' key actually does
something.
2010-03-12 08:40:50 +00:00
mrg ebc9e23316 various aprint_* fixes. 2010-03-11 03:54:56 +00:00
drochner 4faa4ba521 retire our private definitions for the scan1/3/5/7/9 DEC graphics
symbols, use the unicode definitions instead (which apparently didn't
exist when I wrote that)
2010-02-25 11:20:09 +00:00