History log of /src/sys/dev/wscons/wsemul_dumb.c |
Revision | | Date | Author | Comments |
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)
|