Home | History | Annotate | Download | only in cxgb
History log of /src/sys/dev/pci/cxgb/cxgb_osdep.h
RevisionDateAuthorComments
 1.7  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.6  19-Apr-2018  christos branches: 1.6.2;
s/static inline/static __inline/g for consistency.
 1.5  25-May-2016  ozaki-r branches: 1.5.16;
Use M_GETCTX and M_SETCTX

No functional change.
 1.4  20-Mar-2014  skrll branches: 1.4.6;
Mechanically replace simplelock with kmutex_t.
 1.3  23-Jan-2013  joerg branches: 1.3.2;
Make cxgb at least compilable. Fix _rt_key usage.
 1.2  18-May-2011  dyoung branches: 1.2.4; 1.2.14;
MI code must #include <sys/bus.h>, not <machine/bus.h>.
 1.1  21-Mar-2010  jklos branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Reorganizing all Chelsio 10 gig files into separate directory.
 1.1.8.1  06-Jun-2011  jruoho Sync with HEAD.
 1.1.6.2  11-Aug-2010  yamt sync with head.
 1.1.6.1  21-Mar-2010  yamt file cxgb_osdep.h was added on branch yamt-nfs-mp on 2010-08-11 22:54:06 +0000
 1.1.4.3  31-May-2011  rmind sync with head
 1.1.4.2  30-May-2010  rmind sync with head
 1.1.4.1  21-Mar-2010  rmind file cxgb_osdep.h was added on branch rmind-uvmplock on 2010-05-30 05:17:40 +0000
 1.1.2.2  30-Apr-2010  uebayasi Sync with HEAD.
 1.1.2.1  21-Mar-2010  uebayasi file cxgb_osdep.h was added on branch uebayasi-xip on 2010-04-30 14:43:45 +0000
 1.2.14.3  03-Dec-2017  jdolecek update from HEAD
 1.2.14.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.14.1  25-Feb-2013  tls resync with head
 1.2.4.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.3.2.1  18-May-2014  rmind sync with head
 1.4.6.1  29-May-2016  skrll Sync with HEAD
 1.5.16.2  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.5.16.1  22-Apr-2018  pgoyette Sync with HEAD
 1.6.2.1  10-Jun-2019  christos Sync with HEAD

RSS XML Feed