Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/amiga/dev/ite_ul.c
RevisionDateAuthorComments
 1.17  28-Aug-2023  andvar rename DEBUG_UL to UL_DEBUG for naming consistency.
remove stray UL_DEBUG definition in grf_ul.c
 1.16  28-Aug-2023  andvar fix format specifier from %lx to %hx, cmd has a type of u_int16_t.

fixes DEBUG_UL build for amiga (will be renamed to UL_DEBUG in next commit).
 1.15  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.14  14-Mar-2009  dsl branches: 1.14.62; 1.14.64;
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.13  28-Apr-2008  martin branches: 1.13.8; 1.13.14;
Remove clause 3 and 4 from TNF licenses
 1.12  05-Mar-2007  he branches: 1.12.40; 1.12.42; 1.12.44;
Propagate volatile-ness from g_fbkva or g_regkva etc. as best as possible.
Some uses of __UNVOLATILE(), either in preparation of calls to bcopy()
or in the invocations themselves.
 1.11  28-Jan-2002  aymeric branches: 1.11.32; 1.11.70;
add __KERNEL_RCSID as suggested by Luke Mewburn
 1.10  26-Jan-2002  aymeric - ANSIfy
- remove some trailing spaces/tabs
- minor style nits
 1.9  16-Feb-1999  is branches: 1.9.22; 1.9.26;
Fix Copyright dates
 1.8  16-Feb-1999  is Assign my files to The NetBSD Foundation, Inc.
 1.7  13-Oct-1996  christos backout previous kprintf change
 1.6  10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.5  08-Jul-1996  is Cleaned up copyright notice, fixed a typo, and sync the comment in the
GSP assembler file with reality.
 1.4  10-May-1996  is Back out last change, which was caused by a wrong way merge at home.
Sorry for the inconvenience.
 1.3  09-May-1996  is First part of M68060 and DraCo support.

* for the M68060 part: store buffer and branch target cache aren't
enabled yet (this needs cleanup of lots of locore.s code which is a
maze of little passages, all a little different) (and it wasn't yet
tested in an accellerated Amiga, only in the DraCo).

I've included a workaround for 2 of the CPU bugs in chips with Masks
1F43G and earlier, but didn't bother to deal with the can of worms
in the [0-3]D11W chips. Be sure to get "68060 rev. 1" or more
reported at kernel startup time, or at least mention it (or the mask
revision, if available) when reporting problems.

* for the DraCo: only machines with a CIA timer.

I assigned machine id 32000+nn (0x7Dnn), where n is the machine
readable Quicklogic custom chip revision (also printed at boot
time). "Guaranteed to work" up to rev. 3, newer DraCo's aren't
guaranteed to have any CIA (we don't have a driver for the new timer
yet).

Supported are:

- MF-II keyboards on the native interface and A3000 keyboards via
the CIA.
- builtin SCSI interface (yet another instance of siop)
- CIA timer.
- Zorro II devices which don't do DMA (don't get mapped to Zorro II
address space in the DraCo)
- "local bus" devices which are autoconfigured by the boot rom
(should be all); only an Altais driver is there (looks like a Retina Z3)

Not yet supported are:

- native timer of newer machines.
- Real Time Clock.
- serial, parallel + floppy on the SuperIO chip (that is also: no mouse)

XXX You need an enhanced boot loader, which will committed in a few days.

XXX std.draco should and will go away.
 1.2  27-Dec-1995  chopps cleanup for -Wall (pr#1559) from Ignatios Souvatzis
 1.1  18-Aug-1995  chopps new a2410 driver from is@Beverly.Rhein.DE (Ignatios Souvatzis)
 1.9.26.1  28-Feb-2002  nathanw Catch up to -current.
 1.9.22.1  11-Feb-2002  jdolecek Sync w/ -current.
 1.11.70.1  12-Mar-2007  rmind Sync with HEAD.
 1.11.32.1  03-Sep-2007  yamt sync with head.
 1.12.44.2  04-May-2009  yamt sync with head.
 1.12.44.1  16-May-2008  yamt sync with head.
 1.12.42.1  18-May-2008  yamt sync with head.
 1.12.40.1  02-Jun-2008  mjf Sync with HEAD.
 1.13.14.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.13.8.1  28-Apr-2009  skrll Sync with HEAD.
 1.14.64.1  10-Jun-2019  christos Sync with HEAD
 1.14.62.1  06-Sep-2018  pgoyette Sync with HEAD

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

RSS XML Feed