Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/mips/atheros/dev/athflash.c
RevisionDateAuthorComments
 1.12  04-Jan-2021  thorpej malloc(9) -> kmem(9)
 1.11  10-Nov-2019  chs branches: 1.11.8;
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.10  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.9  09-Jun-2015  matt branches: 1.9.16; 1.9.18;
#include <sys/cpu.h> or <mips/cpuregs.h> as needed
 1.8  25-Jul-2014  dholland branches: 1.8.2; 1.8.4;
Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.7  16-Mar-2014  dholland branches: 1.7.2;
Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
 1.6  27-Oct-2012  chs branches: 1.6.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.5  25-Aug-2011  dyoung branches: 1.5.2; 1.5.12;
Use humanize_number() instead of the buggy code that GCC 4.5 caught.
Compiles. Not tested.
 1.4  01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.3  11-Jun-2008  cegger use device_lookup_private to get softc
 1.2  28-Apr-2008  martin branches: 1.2.2; 1.2.4;
Remove clause 3 and 4 from TNF licenses
 1.1  25-May-2006  gdamore branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10; 1.1.16; 1.1.70; 1.1.72; 1.1.74;
Rename flash to athflash to reflect MD nature. Approved by simon@ and dyoung@
 1.1.74.2  04-May-2009  yamt sync with head.
 1.1.74.1  16-May-2008  yamt sync with head.
 1.1.72.2  17-Jun-2008  yamt sync with head.
 1.1.72.1  18-May-2008  yamt sync with head.
 1.1.70.2  29-Jun-2008  mjf Sync with HEAD.
 1.1.70.1  02-Jun-2008  mjf Sync with HEAD.
 1.1.16.2  09-Sep-2006  rpaulo sync with head
 1.1.16.1  25-May-2006  rpaulo file athflash.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:41:25 +0000
 1.1.10.2  26-Jun-2006  yamt sync with head.
 1.1.10.1  25-May-2006  yamt file athflash.c was added on branch yamt-pdpolicy on 2006-06-26 12:44:55 +0000
 1.1.8.2  21-Jun-2006  yamt sync with head.
 1.1.8.1  25-May-2006  yamt file athflash.c was added on branch yamt-lazymbuf on 2006-06-21 14:53:38 +0000
 1.1.6.2  19-Jun-2006  chap Sync with head.
 1.1.6.1  25-May-2006  chap file athflash.c was added on branch chap-midi on 2006-06-19 03:44:52 +0000
 1.1.2.2  01-Jun-2006  kardel Sync with head.
 1.1.2.1  25-May-2006  kardel file athflash.c was added on branch simonb-timecounters on 2006-06-01 22:35:03 +0000
 1.2.4.1  18-Jun-2008  simonb Sync with head.
 1.2.2.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.5.12.3  03-Dec-2017  jdolecek update from HEAD
 1.5.12.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.12.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.5.2.2  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.5.2.1  30-Oct-2012  yamt sync with head
 1.6.2.1  18-May-2014  rmind sync with head
 1.7.2.1  10-Aug-2014  tls Rebase.
 1.8.4.1  22-Sep-2015  skrll Sync with HEAD
 1.8.2.1  05-Nov-2015  riz Pull up revisions (requested by nisimura in ticket #978):
sys/arch/mips/atheros/dev/athflash.c: 1.9
sys/arch/mips/atheros/dev/if_ae.c: 1.25

remove unused variables which break AP30 and MERAKI kernel builds.
 1.9.18.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.9.18.1  10-Jun-2019  christos Sync with HEAD
 1.9.16.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.11.8.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed