Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/atari/dev/grfabs_et.c
RevisionDateAuthorComments
 1.37  06-Jan-2023  tsutsui TAB/spaces/indents cleanup.
 1.36  12-Aug-2021  andvar fix various typos in comments.
 1.35  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.34  13-Apr-2010  tsutsui branches: 1.34.58; 1.34.60;
Misc KNF.
 1.33  20-Oct-2009  snj branches: 1.33.2; 1.33.4;
Remove 3rd and 4th clause on Leo Weppelman's license. OK leo@.
 1.32  19-Jul-2009  tsutsui Remove extra whitespace added by a dumb tool which replaced bcopy with memcpy.
 1.31  18-Mar-2009  cegger bcopy -> memcpy
 1.30  18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.29  14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.28  14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.27  06-Mar-2007  tsutsui branches: 1.27.44; 1.27.52; 1.27.58;
- remove volatile from *regkva member in struct grfabs_et_priv
and use temporary variables on register accesses
- also remove volatile from *memkva member in struct grfabs_et_priv
because it isn't used to refer memory
XXX: I'm not sure if bm->plane should be volatile or not
but I don't think previous code treats it as volatile anyway.
(though I'm not sure how compiler handled "volatile caddr_t")
 1.26  04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.25  29-Mar-2006  thomas branches: 1.25.14;
Do not disable access to tseng private registers
 1.24  11-Dec-2005  christos branches: 1.24.4; 1.24.6; 1.24.8; 1.24.10; 1.24.12;
merge ktrace-lwp.
 1.23  13-Feb-2004  wiz branches: 1.23.16;
Uppercase CPU, plural is CPUs.
 1.22  15-Jul-2003  lukem __KERNEL_RCSID()
 1.21  02-Feb-2003  thomas branches: 1.21.2;
Config option for et4000 boards with 2MB memory.
 1.20  27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.19  04-Mar-2002  wiz possible has two s.
 1.18  29-Jun-2000  mrg branches: 1.18.4; 1.18.8;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.17  26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.16  11-Apr-2000  leo Now what are we doing with the return value of splx()? (probably a pasto)
 1.15  11-Feb-2000  leo Remove redundant test.
 1.14  12-Jan-2000  leo Init the preset_row_scan register. This fixes a sometimes partly scrolled-up
console.
 1.13  26-Mar-1999  leo branches: 1.13.8;
Nuke the pieces of code obsoleted by .../pci/pci_tseng.c
 1.12  19-Feb-1999  leo More work on Tseng support. Now both my et6000 _and_ the et6100 work. I just
whish that programming MDRAM latency values came out of the BlackMagic(tm)
domain :-(
 1.11  20-Dec-1998  thomas Changed grf mmap that it is closer to XFree. VGA memory on et4000/et6000
is now at offset 0xa0000.
 1.10  20-Nov-1998  leo Checkpoint my work on et6000 support.
 1.9  11-May-1998  thomas Let et4000 work with other RAMDAC than STG1703
 1.8  23-Apr-1998  leo Use NOWAIT when malloc()-ing a buffer for switching screens. It might be
running from an interrupt handler.
 1.7  25-Apr-1997  leo branches: 1.7.8;
- Provide the reasonable size that can/may be mmap-ed. This might differ
from the current frame buffer size.
- The et-driver now allows for a 16Kb io-region (was 8Kb) that can be
mapped. The XFree server uses this.
 1.6  10-Jan-1997  leo Record physical addresses in the bitmap structure instead of VA's. The
latter breaks the mmap-functions.
 1.5  17-Nov-1996  leo Shift screen a bit to the left.
 1.4  13-Oct-1996  christos backout previous kprintf changes
 1.3  11-Oct-1996  leo *** empty log message ***
 1.2  11-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.1  04-Oct-1996  leo Checkpointing my et4000 work. Note that the et-console will not be
functional until the minimal pci-support is checked in.
 1.7.8.1  30-Oct-1998  cgd pull up revs 1.8 and 1.9 from trunk (leo)
 1.13.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.18.8.2  18-Oct-2002  nathanw Catch up to -current.
 1.18.8.1  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.18.4.2  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.18.4.1  16-Mar-2002  jdolecek Catch up with -current.
 1.21.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.21.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.21.2.1  03-Aug-2004  skrll Sync with HEAD
 1.23.16.2  03-Sep-2007  yamt sync with head.
 1.23.16.1  21-Jun-2006  yamt sync with head.
 1.24.12.1  31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.24.10.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.24.8.1  01-Apr-2006  yamt sync with head.
 1.24.6.1  22-Apr-2006  simonb Sync with head.
 1.24.4.1  09-Sep-2006  rpaulo sync with head
 1.25.14.1  12-Mar-2007  rmind Sync with HEAD.
 1.27.58.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.27.52.1  28-Apr-2009  skrll Sync with HEAD.
 1.27.44.4  11-Aug-2010  yamt sync with head.
 1.27.44.3  11-Mar-2010  yamt sync with head
 1.27.44.2  19-Aug-2009  yamt sync with head.
 1.27.44.1  04-May-2009  yamt sync with head.
 1.33.4.1  30-May-2010  rmind sync with head
 1.33.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.34.60.1  10-Jun-2019  christos Sync with HEAD
 1.34.58.1  06-Sep-2018  pgoyette Sync with HEAD

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

RSS XML Feed