Home | History | Annotate | Download | only in cardbus
History log of /src/sys/dev/cardbus/cardbus_exrom.c
RevisionDateAuthorComments
 1.14  10-Nov-2019  chs in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.13  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.12  24-Feb-2010  dyoung branches: 1.12.60; 1.12.62;
Start to tuck Cardbus under the PCI abstraction. Step #1, textual
substitution: for all practical purposes, pcitag_t and cardbustag_t
are interchangeable, so just use pcitag_t. Ditto pcireg_t and
cardbusreg_t.

While I'm here, don't make a copy (sc_intrline) of
cardbus_attach_args.ca_intrline unless we use it, later.
 1.11  29-Apr-2008  martin branches: 1.11.20;
Convert to new 2 clause license
 1.10  19-Oct-2007  ad branches: 1.10.16; 1.10.18; 1.10.20;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.9  11-Dec-2005  christos branches: 1.9.30; 1.9.44; 1.9.46; 1.9.50;
merge ktrace-lwp.
 1.8  27-Feb-2005  perry branches: 1.8.4;
nuke trailing whitespace
 1.7  10-Oct-2004  enami branches: 1.7.4; 1.7.6;
Cosmetic changes.
 1.6  13-Nov-2001  lukem branches: 1.6.16;
add RCSID
 1.5  08-May-2000  thorpej branches: 1.5.6; 1.5.8; 1.5.10;
Don't use not-in-user-namespace variable names that newer versions of
GCC doesn't like very much.
 1.4  03-Feb-2000  thorpej If we read a bad header signature, report what we read.
 1.3  08-Dec-1999  joda branches: 1.3.2;
check for NULL from malloc
 1.2  12-Nov-1999  joda branches: 1.2.2;
if the image size is zero, assume it really means one block
 1.1  28-Oct-1999  joda code to read PCI expansion ROM
 1.2.2.2  15-Nov-1999  fvdl Sync with -current
 1.2.2.1  12-Nov-1999  fvdl file cardbus_exrom.c was added on branch fvdl-softdep on 1999-11-15 00:40:17 +0000
 1.3.2.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5.10.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.8.1  14-Nov-2001  nathanw Catch up to -current.
 1.5.6.2  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.5.6.1  08-May-2000  bouyer file cardbus_exrom.c was added on branch thorpej_scsipi on 2000-11-20 11:39:52 +0000
 1.6.16.2  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.6.16.1  19-Oct-2004  skrll Sync with HEAD
 1.7.6.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.7.4.1  29-Apr-2005  kent sync with -current
 1.8.4.1  27-Oct-2007  yamt sync with head.
 1.9.50.1  25-Oct-2007  bouyer Sync with HEAD.
 1.9.46.1  06-Nov-2007  matt sync with HEAD
 1.9.44.1  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.9.30.1  23-Oct-2007  ad Sync with head.
 1.10.20.2  11-Mar-2010  yamt sync with head
 1.10.20.1  16-May-2008  yamt sync with head.
 1.10.18.1  18-May-2008  yamt sync with head.
 1.10.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.11.20.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.12.62.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.12.62.1  10-Jun-2019  christos Sync with HEAD
 1.12.60.1  06-Sep-2018  pgoyette Sync with HEAD

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

RSS XML Feed