Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/amiga/dev/flsc.c
RevisionDateAuthorComments
 1.47  08-Jan-2019  jdolecek no need to include <machine/param.h> if <sys/param.h> already included
 1.46  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.45  20-Dec-2010  matt branches: 1.45.58; 1.45.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.44  18-Oct-2010  phx opt_m68k_arch.h can only be included when compiling for amiga/68k.
 1.43  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.42  23-Nov-2009  rmind branches: 1.42.2; 1.42.4;
Use lwp_getpcb() on m68k ports, clean from struct user usage.
 1.41  13-Apr-2008  tsutsui branches: 1.41.4;
Split device_t/softc for MI ncr53c9x and some related devices,
with various cleanup.
 1.40  11-Mar-2007  he branches: 1.40.38;
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.39  05-Mar-2007  he branches: 1.39.2;
Fix one missing indirection causing a type conflict, and use char* for
pointer arithmetic.
 1.38  04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.37  29-Mar-2006  thorpej branches: 1.37.14;
Use device_cfdata().
 1.36  08-Mar-2006  lukem branches: 1.36.2;
Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
 1.35  11-Dec-2005  christos branches: 1.35.4; 1.35.6; 1.35.8; 1.35.10;
merge ktrace-lwp.
 1.34  13-Jun-2005  jmc branches: 1.34.2;
Fix a ton of const/volatile issues shown with new warning flags
 1.33  13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.32  01-Apr-2003  thorpej branches: 1.32.2;
Use PAGE_SIZE rather than NBPG.
 1.31  02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.30  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.29  28-Jan-2002  aymeric add __KERNEL_RCSID as suggested by Luke Mewburn
 1.28  26-Jan-2002  aymeric - ANSIfy
- remove some trailing spaces/tabs
- minor style nits
 1.27  25-Apr-2001  bouyer branches: 1.27.2; 1.27.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.26  05-Jun-2000  tsutsui branches: 1.26.4;
Adapt MI ncr53c9x changes.
 1.25  30-Sep-1999  thorpej branches: 1.25.2; 1.25.10;
Update for SCSIPI changes.
 1.24  25-Sep-1999  is vm_offset_t -> vaddr_t/paddr_t
 1.23  19-Nov-1998  thorpej Adapt to the new scsipi_adapter interface.
 1.22  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.21  04-Jul-1998  jonathan defopt DDB.
 1.20  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.19  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.18  12-Jan-1998  thorpej Adjust for changes to config.
 1.17  24-Oct-1997  mhitch Don't rely on fixed padding to longword align the buffer used for non-aligned
transfers - compute aligned address when interface is attached. Fixes PR#4258.
 1.16  04-Oct-1997  mhitch branches: 1.16.2;
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.15  27-Aug-1997  bouyer Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
 1.14  23-Dec-1996  veego branches: 1.14.8; 1.14.10;
Get rid of __BROKEN_INDIRECT_CONFIG.
 1.13  10-Dec-1996  thorpej Fill in sc_link.max_target
 1.12  13-Oct-1996  christos backout previous kprintf change
 1.11  10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.10  28-Aug-1996  cgd (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
function, and kill any locally-defined print function.
 1.9  27-Aug-1996  cgd change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
 1.8  04-Aug-1996  is Program around the Fastlane's DMA hardware shortcomings.
Fix by Matthias Scheler (PR #2672), based on information provided by Ralph
Schmidt/Reinhard Grams (Phase 5), forwarded by Jerome Lovy. Thanks to all.
 1.7  10-Jun-1996  is Activate M68040 cache flushing code also in 68060 only kernels.
 1.6  03-Jun-1996  is Don't get fooled by the CyberSCSI MK I, which uses the same man/prod id
as the Fastlane Z3, but is different enough to let the kernel crash.
Closes PR #2492 by Matthias Scheler. [thanks also to Ralph Schmidt for
confirmation of the patch]
 1.5  21-Apr-1996  veego branches: 1.5.4;
- Cleanup for -Wall and -Wstrict-prototypes
- Added support for multiple floppy drives
- CyberVision64:
- has now a real console mode
- another bugfix for boards with the new S3 chip
- Ariadne:
- fixed crashes with aeput (mbuf failure)
 1.4  17-Mar-1996  mhitch Clean up typos and other errors from new device attachment changes.
 1.3  17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.2  18-Aug-1995  chopps SCSI disconnects: siop from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
and sbic from "Eduardo E. Horvath eeh@btr.com" <eeh@btr.btr.com>

Other cleanup (remove cpu040) and enabling IVS A500 support
from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.1  12-May-1995  chopps scsi drivers for fastlane and blizzard controllers that use the
Emulex FAS216 chip. from Daniel Widenfalk <t94dwi@student.tdb.uu.se>
 1.5.4.3  05-Aug-1996  jtc Pulled up from rev 1.8 by request from Ignatios Souvatzis
 1.5.4.2  10-Jun-1996  is Pull up bug fix from main branch:
activate M68040 style dma flush also on M68060 only kernels.
 1.5.4.1  03-Jun-1996  is Pull up buf fix from main branch: dont get fooled by Cyberscsi masquerading
as Fastlane.
 1.14.10.2  14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.14.10.1  27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.14.8.1  01-Jul-1997  bouyer Updates for new scsipi subsystem. Actally known to work on i386 and sparc.
 1.16.2.1  24-Oct-1997  mellon Pull rev 1.17 up from trunk
 1.25.10.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.25.2.2  29-Mar-2001  bouyer Port to thorpej_scsipi.
 1.25.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.26.4.1  21-Jun-2001  nathanw Catch up to -current.
 1.27.8.3  18-Oct-2002  nathanw Catch up to -current.
 1.27.8.2  28-Feb-2002  nathanw Catch up to -current.
 1.27.8.1  25-Apr-2001  nathanw file flsc.c was added on branch nathanw_sa on 2002-02-28 04:06:36 +0000
 1.27.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.27.2.1  11-Feb-2002  jdolecek Sync w/ -current.
 1.32.2.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.32.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.32.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.32.2.1  03-Aug-2004  skrll Sync with HEAD
 1.34.2.2  03-Sep-2007  yamt sync with head.
 1.34.2.1  21-Jun-2006  yamt sync with head.
 1.35.10.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.35.8.2  01-Apr-2006  yamt sync with head.
 1.35.8.1  13-Mar-2006  yamt sync with head.
 1.35.6.1  22-Apr-2006  simonb Sync with head.
 1.35.4.1  09-Sep-2006  rpaulo sync with head
 1.36.2.1  31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.37.14.1  12-Mar-2007  rmind Sync with HEAD.
 1.39.2.1  13-Mar-2007  ad Sync with head.
 1.40.38.1  02-Jun-2008  mjf Sync with HEAD.
 1.41.4.2  11-Aug-2010  yamt sync with head.
 1.41.4.1  11-Mar-2010  yamt sync with head
 1.42.4.2  05-Mar-2011  rmind sync with head
 1.42.4.1  03-Jul-2010  rmind sync with head
 1.42.2.2  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.42.2.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.45.60.1  10-Jun-2019  christos Sync with HEAD
 1.45.58.2  18-Jan-2019  pgoyette Synch with HEAD
 1.45.58.1  06-Sep-2018  pgoyette Sync with HEAD

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

RSS XML Feed