Home | History | Annotate | Download | only in wscons
History log of /src/sys/dev/wscons/wsemul_dumb.c
RevisionDateAuthorComments
 1.18  03-Sep-2018  riastradh Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
 1.17  03-Nov-2017  maya branches: 1.17.2; 1.17.4;
Use c99 initializer for wsemul_ops
 1.16  19-May-2017  macallan add support for loading fonts in vcons and subsequently resizing screens
- drivers can use this by setting VCONS_LOADFONT and WSSCREEN_RESIZE
- each vcons screen can now have its own font and geometry
- while there, add support for xterm's ESC[18t to report the text buffer's
size

With this tou can:
wsfontload -N foo /usr/share/wscons/fonts/flori.816
wsconsctl -dw font=foo
currently this is limited to drivers that don't use the glyph cache, like genfb
 1.15  28-Jan-2010  drochner branches: 1.15.22; 1.15.40;
-rename the "KS_GROUP_Ascii" key symbol category to "Plain" because
this is what it meant all the time -- it includes characters >127
-delegate translation of all key symbols >127 to the terminal emulation
layer -- formerly everything non-special was passed to the tty subsystem
directly, involving truncation to a "char", which effectively meant
some ISO-1 assumption
 1.14  16-Nov-2006  christos branches: 1.14.52;
__unused removal on arguments; approved by core.
 1.13  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.12  28-Aug-2006  christos branches: 1.12.2; 1.12.4;
fix incomplete struct decl.
 1.11  11-Dec-2005  christos branches: 1.11.4; 1.11.8;
merge ktrace-lwp.
 1.10  29-May-2005  christos branches: 1.10.2;
- sprinkle const.
- avoid variable shadowing.
 1.9  27-Feb-2005  perry nuke trailing whitespace
 1.8  13-Oct-2001  augustss branches: 1.8.18; 1.8.26; 1.8.28;
ANSIfy.
 1.7  05-Jan-2000  drochner branches: 1.7.6; 1.7.8;
replace embedded _rcsid[] string by __KERNEL_RCSID(), remove _copyright[]
 1.6  17-Jan-1999  drochner branches: 1.6.8;
define a "clear screen" command to the emulator and complete the
emulation's "reset" implementations as far as useful
 1.5  20-Jun-1998  drochner Change the calling interface for text output (to the graphics driver)
to take a single character at a time, where the character is an "int" now.
The old interface (took a string) was never called with more than 1
char to print, and the "int" allows us to handle charsets cleanly.
 1.4  20-Jun-1998  drochner add some more ASCII definitions, move NP->FF for consistency
 1.3  15-Jun-1998  drochner Move the translation of keypad and function keys into the realm of the
terminal emulation. For this, change the interface to wsdisplay_kbdinput()
to take a "keysym_t" as argument. From there, the code is handed to the
appropriate emulation module via a new entry point: "translate".
Nuke the ioctls dealing with global assignment of character sequences
to keypad/function keys.
The "sun" emulation works much better now!
 1.2  14-May-1998  drochner 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.
 1.1  22-Mar-1998  drochner Initial import of cgd's new wscons code.
 1.6.8.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.7.8.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.7.6.1  22-Oct-2001  nathanw Catch up to -current.
 1.8.28.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.8.26.1  29-Apr-2005  kent sync with -current
 1.8.18.2  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.8.18.1  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.10.2.1  30-Dec-2006  yamt sync with head.
 1.11.8.1  03-Sep-2006  yamt sync with head.
 1.11.4.1  09-Sep-2006  rpaulo sync with head
 1.12.4.2  10-Dec-2006  yamt sync with head.
 1.12.4.1  22-Oct-2006  yamt sync with head
 1.12.2.1  18-Nov-2006  ad Sync with head.
 1.14.52.1  11-Mar-2010  yamt sync with head
 1.15.40.1  28-Aug-2017  skrll Sync with HEAD
 1.15.22.1  03-Dec-2017  jdolecek update from HEAD
 1.17.4.1  10-Jun-2019  christos Sync with HEAD
 1.17.2.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

RSS XML Feed