Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/amiga/dev/ite_cc.c
RevisionDateAuthorComments
 1.40  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.39  18-Mar-2009  cegger branches: 1.39.62; 1.39.64;
bzero -> memset
 1.38  04-Mar-2007  christos branches: 1.38.44; 1.38.52; 1.38.58;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.37  11-Dec-2005  christos branches: 1.37.26;
merge ktrace-lwp.
 1.36  13-Jun-2005  jmc branches: 1.36.2;
Fix some shadowing of variables
 1.35  24-Feb-2004  wiz becuase -> because. From Peter Postma.
 1.34  31-May-2003  kristerw branches: 1.34.2;
Use __asm instead of asm, to keep lint happy.
 1.33  06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.32  17-Mar-2002  atatat branches: 1.32.4;
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.
 1.31  28-Jan-2002  aymeric add __KERNEL_RCSID as suggested by Luke Mewburn
 1.30  26-Jan-2002  aymeric - ANSIfy
- remove some trailing spaces/tabs
- minor style nits
 1.29  21-Jun-2000  is branches: 1.29.4; 1.29.8;
- auto-USE_C_BFOPS when !defined(__m68k__)
- for bold characters, only blit the leftmost ftwidth pixels per character
cell row. The rightmost row which used to be printed would have been
overwritten formerly by the next character on sequential output, so no
visible change will result most of the time.
This fixes two problems:
* USE_C_BFOPS (which only works for 8 pixel wide fonts) blits the same
for bold characters now... it used to print the rightmost 8 pixel columns
of the bold-smeared characters
* we no longer need a reserved 1 pixel column at the right end of the screen.
That is, a 640x400 screen will hold 80x50 charactes with the 8x8 font.
 1.28  24-May-2000  is branches: 1.28.4;
missed one line when converting m68k asm() to macro calls.
 1.27  20-Sep-1999  is branches: 1.27.2;
replace inline asm by macro calls, that expand to the original inline asm
or to C replacements depending on the USE_C_BFOPS option.
The C replacement only works for our 8 bit wide fonts.
 1.26  25-Mar-1999  is Defopting grf_cc configuration parameters
 1.25  21-Apr-1996  veego - Cleanup for -Wall and -Wstrict-prototypes
- Added support for multiple floppy drives
- CyberVision64:
- has now a real console mode
- another bugfix for boards with the new S3 chip
- Ariadne:
- fixed crashes with aeput (mbuf failure)
 1.24  07-May-1995  chopps enable pseudo-dma on ivsc, allow no ite/grfcc.
 1.23  02-Mar-1995  chopps allow 8 bit chars in ite.
 1.22  16-Feb-1995  chopps cleanup copyright stuff
 1.21  01-Dec-1994  chopps bring up to current. change sun to sunos. handle changes in device
open params and autoconf match function params.
 1.20  26-Oct-1994  cgd new RCS ID format.
 1.19  15-Jun-1994  chopps clock now uses passed in frequency if present protect dma cache
flush calls from non 040. don't compile ite_xx if not used.
 1.18  13-Jun-1994  chopps some cleanup and various fixes for new fs code. plus some general
fixes from from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.17  25-May-1994  chopps MIN() -> min()
 1.16  08-May-1994  chopps resistance is futile, you will be assimilated.
amiga goes: config.new *and* /sys/scsi.
clock code coerced into a single .c file adding an accurate usec delay().
disklabel.c updated to DTRT, code to write RDB's to be added soon.
sbic (old scsi) converted over to new scsi and config this covers about
90% of users. Other drivers soon.
 1.15  22-Apr-1994  chopps spaces pasted should be tabs
 1.14  22-Apr-1994  chopps Changed fonts. Added 2 non (c) fonts kf_8x{8,11}.c retina now uses
kf_8x8. CC console users can now choose between the provided fonts
or provide there own.
 1.13  10-Apr-1994  chopps little bit of KNiFeing, view and ite ioctl names cleaned. ite bell
values made sensical for users. (that is pitch,msec not period,count)
 1.12  30-Mar-1994  chopps remove dlists.h oops.
 1.11  17-Feb-1994  chopps modified to use generic cons. (and some grf defs changed)
 1.10  13-Feb-1994  chopps cleaned up include's relocated grf/* stuf to grfabs*.
 1.9  11-Feb-1994  chopps Add missing Id's
 1.8  11-Feb-1994  chopps ioctl's always pass proc.
 1.7  30-Jan-1994  chopps Re-enabled views, fixed warning in serial driver.
 1.6  26-Jan-1994  mw Integrate recent changes done to the amiga branch. Includes support
for the '40.
Support for more scsi controllers (zeus, magnum)
Support for more tapes (in st.c)
New custom chip console code integrated.
 1.5  31-Oct-1993  mw Change gfx-drivers to used g_data for their private data, and use regaddr
for what it's meant, that's to point to the register area. Now, both
gfx drivers should be fairly controllable from user-level applications.
 1.4  30-Oct-1993  mw new tree for amiga, replacing the bogous previous one.
SunOS support works for a lot of executables now (static and dynamic).
 1.3  02-Sep-1993  mw new source release integrated from amiga-release.
 1.2  02-Aug-1993  mycroft Add RCS identifiers.
 1.1  05-Jul-1993  mw branches: 1.1.1;
Initial revision
 1.1.1.2  02-Sep-1993  mw Update of arch/amiga tree, includes
- realtime clock support for a2k and a3k
- scsi drivers for a2091 and gvp-II controllers in a2k
- working ethernet driver for a2065/ameristar lance-controllers
 1.1.1.1  05-Jul-1993  mw sys/arch/amiga tree. This is the machdep part required to get the kernel
up on an A3000. There are still (very) few changes required outside the
arch/amiga tree, so you can't recompile the kernel yet. Support for
third party SCSI controllers for the A2000 is on its way. The kernel is
fully functional (except for a missing ethernet-driver ...). This
tree is based on my version #390.
 1.27.2.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.

I updated the amiga SCSI drivers, but completely untested yet (may not even
compile)
 1.28.4.1  25-Jun-2000  is Sync to -current (with releng permission):
Only plot font_width pixel colums even for bold chars.
The excess column would have been overwritten by the next sequentially written
character anyway. Besides, the C methods did not do this right at all.
As a result, a 640 pixel column screen now holds 80 character columns.
 1.29.8.3  17-Sep-2002  nathanw Catch up to -current.
 1.29.8.2  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.29.8.1  28-Feb-2002  nathanw Catch up to -current.
 1.29.4.3  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.29.4.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.29.4.1  11-Feb-2002  jdolecek Sync w/ -current.
 1.32.4.1  16-May-2002  gehenna Call device interfaces via device switch, not directly.
 1.34.2.5  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.34.2.4  21-Nov-2004  skrll Adapt to branch.
 1.34.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.34.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.34.2.1  03-Aug-2004  skrll Sync with HEAD
 1.36.2.2  03-Sep-2007  yamt sync with head.
 1.36.2.1  21-Jun-2006  yamt sync with head.
 1.37.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.38.58.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.38.52.1  28-Apr-2009  skrll Sync with HEAD.
 1.38.44.1  04-May-2009  yamt sync with head.
 1.39.64.1  10-Jun-2019  christos Sync with HEAD
 1.39.62.1  06-Sep-2018  pgoyette Sync with HEAD

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

RSS XML Feed