summaryrefslogtreecommitdiff
path: root/sys/dev/wscons
AgeCommit message (Collapse)Author
2023-06-08allow drivers to specify horizontal alignment of glyph cache cellsmacallan
for things like SX which have alignment restrictions
2023-03-01nouveau: Kick out genfb on firmware framebuffer before initializing.riastradh
PR kern/53126
2023-02-26wsemul_vt100_subr: spell edp->tabs assertion with NULLuwe
2023-02-26wsemul_vt100_subr: don't assert unsigned ncols >= 0uwe
2023-02-23wscons(4): Paranoia: Clamp numbers of rows and columns.riastradh
2023-02-23wscons(4): Ignore nonsense tab stops in vt100 emulation.riastradh
XXX pullup-8 XXX pullup-9 XXX pullup-10
2023-02-15dev/wscons/wsdisplay_vcons.c: Sprinkle KNF.riastradh
2023-02-14add flags for drivers to requesr R2L bit/byte-ordered fonts, default tomacallan
L2R, chack them in vcons_load_font() instead of just trusting that we'd get what we need
2023-02-14make vcons_putchar_buffer() return a flag indicating if anything actuallymacallan
changed, skip the actual drawing op if nothing did
2023-01-18Add rin, indn, vpa, hpa, and cbt terminfo capabilities (Crystal Kolipe)christos
2023-01-09Fix off by one (Crystal Kolipe in tech-kern@)christos
2022-09-23wskbd(4): Add include guards.riastradh
No functional change intended.
2022-07-18Make it compile w/o warnings for !VCONS_DRAW_INTRmartin
2022-07-17wsdisplay(4): Make most of struct vcons_data private.riastradh
More importantly, make sizeof(struct vcons_data) independent of whether VCONS_DRAW_INTR &c. is defined. Allocate the private space with kmem rather than in the caller. This still doesn't have very good separation between interface parameters and internal state, but it's better than before, and is necessary to make genfb usable in modules. In arm_simplefb.c, this removes use of the use_intr member. That assignment became redundant with the introduction of vcons_earlyinit, so there's no need to replace it by anything.
2022-07-17wsmouse(4): Nix trailing whitespace.riastradh
2022-07-17wsdisplay(4): KNF: return foo, not return (foo)riastradh
No functional change intended.
2022-07-17wsdisplay(4): KASSERT(a && b) -> KASSERT(a); KASSERT(b)riastradh
Better diagnostics this way. No other functional change. Omit needless #ifdef DIAGNOSTIC while here; the compiler can optimize the dead code away.
2022-07-17wsmouse(4): KASSERT(a && b) -> KASSERT(a); KASSERT(b)riastradh
Better diagnostics. No other functional change.
2022-07-17wsdisplay(4): Use DPRINTF; reduce #ifdefs.riastradh
2022-07-17wsdisplay(4): Insert memory barriers for scr_dirty synchronization.riastradh
Otherwise vcons_update_screen in vcons_softintr might attempt to draw stale data from the buffers on the screen.
2022-07-17wsdisplay(4): Factor out scr_dirty setting.riastradh
Reduces #ifdefs. No functional change intended.
2022-07-17wsdisplay(4): Factor out use_intr tests.riastradh
Nix a lot of #ifdefs this way. Compiler can take care of dead code if appropriate. No functional change intended.
2022-07-17wsdisplay(4): Factor out WSDISPLAY_SCROLLSUPPORT logic.riastradh
Should find a way to avoid the #ifdefs in the .h file, but this makes the code a good deal more legible and easier to maitain, at least. No functional change intended.
2022-07-17wsdisplay(4): Nix trailing whitespace.riastradh
2022-07-16modify screen before updating cache.mlelstv
2022-07-06fix various typos in comments.andvar
2022-03-31For device modules that provide both auto-config and /dev/xxxpgoyette
interfaces, make sure that initialization and destruction follow the proper sequence. This is triggered by the recent changes to the devsw stuff; per riastradh@ the required call sequence is: devsw_attach() config_init_component() or config_cf*_attach() ... config_fini_component() or config_cf*_detach() devsw_detach() While here, add a few missing calls to some of the detach routines. Testing of these changes has been limited to: 1. compile without build break 2. no related test failures from atf 3. modload/modunload work as well as before. No functional device testing done, since I don't have any of these devices. Let me know of any damage I might cause here! XXX Some of the modules affected by this commit are already XXX broken; see kern/56772. This commit does not break any additional modules (as far as I know).
2022-03-28sys: Split struct device into a private device_impl.h.riastradh
Include this only inside autoconf itself, and a few files that abuse autoconf in ways I can't confidently make easy fixes for. XXX kernel ABI change requires bump -- no more use of struct device internals allowed, previously done by some drivers
2022-01-29Default WSDISPLAY_BORDER_COLOR to WS_DEFAULT_BG.uwe
Avoids black overscan area when WS_DEFAULT_BG is set.
2022-01-02wsemul_vt100.c - make static everything that can be staticuwe
Externally, wsdisplay only needs wsemul_vt100_ops. Internally (as vt100 emulation is split into several files) wsemul_vt100_subr.c needs wsemul_vt100_reset().
2022-01-01Protect KASSERT() with "#ifdef DIAGNOSTIC" as its expression ishannken
undefined otherwise.
2021-12-31libkern: Make KASSERT verify expression is valid if !DIAGNOSTIC.riastradh
This way it is no longer necessary to mark variables __diagused if they are used in KASSERT conditions. Fix fallout from this by removing now-unnecessary and `#ifdef DIAGNOSTIC'. Don't do the same for KDASSERT if !DEBUG -- unlike KASSERT and DIAGNOSTIC, variables needed by KDASSERT and DEBUG are likely to be expensive to compute (and potentially difficult for a compiler to prove flushable), so we don't want to require them under !DEBUG.
2021-11-10s/configuraiton/configuration/ in comment.msaitoh
2021-09-28wsmouse: add support for "precision scrolling" events and (GET|SET)PARAMSnia
WSCONS_EVENT_HSCROLL and WSCONS_EVENT_VSCROLL are two new wscons event types that allow scrolling with a higher precision ("smoothness") than an emulated scroll wheel, and are useful for touch input drivers. WSMOUSEIO_GETPARAMS and WSMOUSEIO_SETPARAMS are two new ioctls that allow the speed and direction of precision scrolling to be configured. both features were originally implemented in OpenBSD.
2021-09-26Change the kqueue filterops::f_isfd field to filterops::f_flags, andthorpej
define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd. Field and flag name aligned with OpenBSD. This does not constitute a functional or ABI change, as the field location and size, and the value placed in that field, are the same as the previous code, but we're bumping __NetBSD_Version__ so 3rd-party module source code can adapt, as needed. NetBSD 9.99.89
2021-09-22wscons: add definitions for BÉPO, a standardized, Dvorak-style optimizednia
keyboard layout for French
2021-06-07fix the NetBSD tag.christos
2021-06-07PR/56223: David Shao ^[]8;;^G make console unresponsive. From OpenBSD:christos
In `string' state, accept bell (^G) as an end of sequence in addition to `ESC \', as supported by xterm; some third-party software such as ncmpcpp rely upon this.
2021-06-01wsdisplay(4): Use C99 initializer for usl_syncops.riastradh
Avoid sketchy function pointer cast while here.
2021-05-16Try to guess attributes better.mlelstv
2021-05-16No need to check cell count.mlelstv
2021-05-11wscons: add support for the Neo 2 German keyboard layoutnia
Neo is an optimized layout for German and English, similar to Dvorak for English. It can be used to type most Latin-based languages and has separate layers for symbols and directional commands.
2021-04-24add an ioctl() to get a list of fonts currently available via wsfontmacallan
2021-01-28fix logic botch from previous - if we're asked to draw the cursor somewheremacallan
else and it's still visible we need to clear it
2021-01-26- refactor vcons_cursor_noread() a bit so it works the same way as the othermacallan
_noread() methods instead of duplicating half of vcons_cursor() - skip clearing the cursor only if we use all _noread() methods - clear RI_CURSOR in all copy*_noread() methods as well if we overwrite the cursor
2021-01-25clear the RI_CURSOR flag when we overwrite the cursor so we can skip clearingmacallan
it when asked to do it later on saves a bunch of framebuffer writes
2021-01-21introduce a putchar() based implementation of cursor() in order to avoidmacallan
framebuffer reads quite a speedup on arm64 / genfb
2021-01-17Revert previous and introduce vcons_earlyinit, which is like vcons_initjmcneill
except it does not setup a vcons_intr thread.
2021-01-17The change from config_interrupts to a kthread for VCONS_DRAW_INTR initjmcneill
unfortunately makes it easier to trigger a race that results in characters not being erased properly at boot. Work around the original issue a different way by creating a fake device_t and defer initialization until we are sure that config_interrupt threads are done. This is not ideal and the race is still present but fixing this properly would require a rewrite to make this code MP-safe.
2021-01-17Add appropriate memory barriers around sc_busy accesses. Fixes an issuejmcneill
where character cells are sometimes not erased properly on aarch64 at boot.