Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/amiga/dev/cbiisc.c
RevisionDateAuthorComments
 1.34  08-Jan-2019  jdolecek no need to include <machine/param.h> if <sys/param.h> already included
 1.33  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.32  20-Dec-2010  matt branches: 1.32.58; 1.32.60;
Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
 1.31  18-Oct-2010  phx opt_m68k_arch.h can only be included when compiling for amiga/68k.
 1.30  06-Jun-2010  mrg fix PR 6724 - convert m68k options to defflag's. this means that
M680[12346] are now available from opt_m68k_arch.h. FPSP meantioned
in the PR has already been fixed, and i could not find any more.

i built these kernels to ensure i did not break their builds:

amiga: GENERIC DRACO
atari: HADES FALCON MILAN-PCIIDE
mac68k: GENERIC
sun2: GENERIC
sun3: GENERIC GENERIC3X
cesfic: attempted GENERIC, does not build due to lack of machine/bus.h
hp300: GENERIC
luna68k: GENERIC
mvme68k: GENERIC
news68k: GENERIC
next68k: GENERIC
x68k: GENERIC
 1.29  23-Nov-2009  rmind branches: 1.29.2; 1.29.4;
Use lwp_getpcb() on m68k ports, clean from struct user usage.
 1.28  21-Oct-2009  snj Drop 3rd and 4th clauses (except on files where copyright is shared
with UC, in which case only the ad clause has been removed). Approved
by mhitch@ (copyright holder).
 1.27  13-Apr-2008  tsutsui branches: 1.27.4;
Split device_t/softc for MI ncr53c9x and some related devices,
with various cleanup.
 1.26  17-Oct-2007  garbled branches: 1.26.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.25  20-Aug-2007  is branches: 1.25.2;
First part of amigappc support patches by Frank Wille.
 1.24  11-Mar-2007  he branches: 1.24.8; 1.24.12; 1.24.16;
Correct a thinko of mine in the previous change, pointed out by
is@. Even though the argument type changes as an effect of the
caddr_t removal, there really is no need to indirect where we didn't
before. Instead, add the appropriate cast.
 1.23  05-Mar-2007  he branches: 1.23.2;
Fix one missing indirection causing a type conflict, and use char* for
pointer arithmetic.
 1.22  04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.21  29-Mar-2006  thorpej branches: 1.21.14;
Use device_cfdata().
 1.20  08-Mar-2006  lukem branches: 1.20.2;
Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
 1.19  11-Dec-2005  christos branches: 1.19.4; 1.19.6; 1.19.8; 1.19.10;
merge ktrace-lwp.
 1.18  13-Jun-2005  jmc branches: 1.18.2;
Fix a ton of const/volatile issues shown with new warning flags
 1.17  13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.16  01-Apr-2003  thorpej branches: 1.16.2;
Use PAGE_SIZE rather than NBPG.
 1.15  02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.14  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.13  28-Jan-2002  aymeric add __KERNEL_RCSID as suggested by Luke Mewburn
 1.12  26-Jan-2002  aymeric - ANSIfy
- remove some trailing spaces/tabs
- minor style nits
 1.11  25-Apr-2001  bouyer branches: 1.11.2; 1.11.8;
Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
(no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
 1.10  05-Jun-2000  tsutsui branches: 1.10.4;
Adapt MI ncr53c9x changes.
 1.9  30-Sep-1999  thorpej branches: 1.9.2; 1.9.10;
Update for SCSIPI changes.
 1.8  25-Sep-1999  is vm_offset_t -> vaddr_t/paddr_t
 1.7  19-Nov-1998  thorpej Adapt to the new scsipi_adapter interface.
 1.6  10-Oct-1998  thorpej Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter. This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
 1.5  24-May-1998  is Back out the defopt for M680?0. As pointed out to me, this breaks ports which
dont use the M680?0 the way Amiga, Atari, Mac68k, and X68k do. I must have
missed this in the past discussion about this project.
 1.4  23-May-1998  is Move M680[2346]0 to opt_m68kcpu.h.
XXX Some explicit dependencies could be removed now from the individual
arch/$ARCH/conf/Makefile.$ARCH files, but this is still to be done.
 1.3  12-Jan-1998  thorpej Adjust for changes to config.
 1.2  24-Oct-1997  mhitch Check manufacturer and product codes correctly. The Blizzard 2060 driver
was trying to configure on a Cyberstorm MKI SCSI.
 1.1  04-Oct-1997  mhitch branches: 1.1.2; 1.1.4;
Replace Fastlane and Blizzard SCSI driver frontends, using the machine
independent ncr53c9x driver. Add 12x0-IV support to the 1230 driver, and
add Cyberstorm SCSI I and II drivers.
 1.1.4.1  24-Oct-1997  mellon Pull rev 1.2 up from trunk
 1.1.2.2  14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.1.2.1  04-Oct-1997  thorpej file cbiisc.c was added on branch marc-pcmcia on 1997-10-14 08:26:22 +0000
 1.9.10.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.9.2.1  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.

I updated the amiga SCSI drivers, but completely untested yet (may not even
compile)
 1.10.4.1  21-Jun-2001  nathanw Catch up to -current.
 1.11.8.3  18-Oct-2002  nathanw Catch up to -current.
 1.11.8.2  28-Feb-2002  nathanw Catch up to -current.
 1.11.8.1  25-Apr-2001  nathanw file cbiisc.c was added on branch nathanw_sa on 2002-02-28 04:06:34 +0000
 1.11.2.2  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.11.2.1  11-Feb-2002  jdolecek Sync w/ -current.
 1.16.2.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.16.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.16.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.16.2.1  03-Aug-2004  skrll Sync with HEAD
 1.18.2.2  03-Sep-2007  yamt sync with head.
 1.18.2.1  21-Jun-2006  yamt sync with head.
 1.19.10.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.19.8.2  01-Apr-2006  yamt sync with head.
 1.19.8.1  13-Mar-2006  yamt sync with head.
 1.19.6.1  22-Apr-2006  simonb Sync with head.
 1.19.4.1  09-Sep-2006  rpaulo sync with head
 1.20.2.1  31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.21.14.1  12-Mar-2007  rmind Sync with HEAD.
 1.23.2.2  09-Oct-2007  ad Sync with head.
 1.23.2.1  13-Mar-2007  ad Sync with head.
 1.24.16.1  03-Sep-2007  jmcneill Sync with HEAD.
 1.24.12.1  03-Sep-2007  skrll Sync with HEAD.
 1.24.8.1  03-Oct-2007  garbled Sync with HEAD
 1.25.2.1  06-Nov-2007  matt sync with HEAD
 1.26.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.27.4.2  11-Aug-2010  yamt sync with head.
 1.27.4.1  11-Mar-2010  yamt sync with head
 1.29.4.2  05-Mar-2011  rmind sync with head
 1.29.4.1  03-Jul-2010  rmind sync with head
 1.29.2.2  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.29.2.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.32.60.1  10-Jun-2019  christos Sync with HEAD
 1.32.58.2  18-Jan-2019  pgoyette Synch with HEAD
 1.32.58.1  06-Sep-2018  pgoyette Sync with HEAD

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

RSS XML Feed