Home | History | Annotate | Download | only in podulebus
History log of /src/sys/dev/podulebus/oak.c
RevisionDateAuthorComments
 1.22  19-May-2025  andvar spelling and grammar fixes in comments.
 1.21  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.20  27-Oct-2012  chs branches: 1.20.36; 1.20.38;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.19  28-Apr-2008  martin branches: 1.19.34; 1.19.44;
Remove clause 3 and 4 from TNF licenses
 1.18  04-Apr-2008  tsutsui branches: 1.18.2; 1.18.4;
Split devict_t/softc for ncr5380sbc SCSI, and misc cosmetic changes.
 1.17  29-Mar-2006  thorpej branches: 1.17.58;
Use device_private().
 1.16  24-Dec-2005  perry branches: 1.16.4; 1.16.6; 1.16.8; 1.16.10; 1.16.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.15  11-Dec-2005  christos merge ktrace-lwp.
 1.14  27-Feb-2005  perry branches: 1.14.4;
nuke trailing whitespace
 1.13  22-Apr-2004  itojun branches: 1.13.4; 1.13.6;
sprintf -> snprintf
 1.12  02-Oct-2002  thorpej branches: 1.12.6;
Add trailing ; to CFATTACH_DECL.
 1.11  30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.10  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.9  22-May-2002  bjh21 Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.

This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.8  24-Mar-2002  bjh21 branches: 1.8.2; 1.8.4;
Avoid "unused variable" warnings in the NCR5380_USE_BUS_SPACE case.
 1.7  02-Dec-2001  bjh21 Add (#ifdef'ed out) code to support the PDMA hardware on the Oak SCSI card.
Unfortunately, this code seems not to work at present. I don't yet know why.
 1.6  13-Nov-2001  lukem branches: 1.6.2;
cleanup RCSID (to be consistent with use in rest of kernel)
 1.5  04-Jul-2001  bjh21 branches: 1.5.2;
*sigh* and return 0 if we don't match the podule.
Need more coffee...
 1.4  04-Jul-2001  bjh21 Remember to include <dev/podulebus/powerromreg.h>.
 1.3  04-Jul-2001  bjh21 Add support for Oak and HCCS SCSI cards fitted with PowerROMs. Since this
depends on podloader support, it won't work on arm32 yet.
 1.2  26-May-2001  bjh21 Support NCR5380_USE_BUS_SPACE.
Add comments explaining the card a bit (and how badly we support it).
Add in-core RCSID.
 1.1  26-May-2001  bjh21 Turn "oak" into an MI podulebus driver. Tested on my new A310.
 1.5.2.3  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.5.2.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.5.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.2.5  18-Oct-2002  nathanw Catch up to -current.
 1.6.2.4  20-Jun-2002  nathanw Catch up to -current.
 1.6.2.3  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.6.2.2  08-Jan-2002  nathanw Catch up to -current.
 1.6.2.1  13-Nov-2001  nathanw file oak.c was added on branch nathanw_sa on 2002-01-08 00:31:32 +0000
 1.8.4.1  01-Nov-2002  tron Pull up revision 1.9 (requested by chris in ticket #120):
Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers. This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus. Thus, we don't do that
any more.
This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
 1.8.2.1  30-May-2002  gehenna Catch up with -current.
 1.12.6.4  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.12.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.12.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.12.6.1  03-Aug-2004  skrll Sync with HEAD
 1.13.6.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.13.4.1  29-Apr-2005  kent sync with -current
 1.14.4.1  21-Jun-2006  yamt sync with head.
 1.16.12.1  31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.16.10.1  19-Apr-2006  elad sync with head.
 1.16.8.1  01-Apr-2006  yamt sync with head.
 1.16.6.1  22-Apr-2006  simonb Sync with head.
 1.16.4.1  09-Sep-2006  rpaulo sync with head
 1.17.58.1  02-Jun-2008  mjf Sync with HEAD.
 1.18.4.1  16-May-2008  yamt sync with head.
 1.18.2.1  18-May-2008  yamt sync with head.
 1.19.44.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.19.34.1  30-Oct-2012  yamt sync with head
 1.20.38.1  10-Jun-2019  christos Sync with HEAD
 1.20.36.1  06-Sep-2018  pgoyette Sync with HEAD

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

RSS XML Feed