Home | History | Annotate | Download | only in ic
History log of /src/sys/dev/ic/siop.c
RevisionDateAuthorComments
 1.105  08-Feb-2024  andvar s/should't/shouldn't/ and s/mistmatch/mismatch/ in comments.
 1.104  02-Nov-2022  andvar s/ourselve/ourselves/ in comments.
 1.103  23-Feb-2022  andvar fix various typos in comments, mainly immediatly/immediately/,
as well shared and recently fixed typos in OpenBSD code by Jonathan Grey.
 1.102  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.101  24-Apr-2021  thorpej branches: 1.101.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.100  02-Nov-2013  gson branches: 1.100.46;
Turn the "esiop_intr: I shouldn't be there !" panic into a printf
followed by a return from the interrupt handler. The condition is
triggered on some KVM virtual hosts, apparently harmlessly, and not
panicing makes it possible to boot a NetBSD GENERIC kernel on those
hosts. Also make the same change to siop to minimize divergence
between siop and esiop. Fixes PR kern/48277.
 1.99  30-Oct-2013  gson Fix incorrect function names in panic message strings.
 1.98  13-Nov-2010  uebayasi branches: 1.98.8; 1.98.18; 1.98.22;
Don't pull in the whole uvm(9) API to access only PAGE_SIZE and
some other constants. These are provided by sys/param.h now.
 1.97  09-Sep-2010  jakllsch Allow e?siop_dump_script() to work with on-chip RAM. Prefix
DUMP_SCRIPT with SIOP_. Additionally, avoid undefining DEBUG,
condition on SIOP_DEBUG instead.
 1.96  02-May-2010  jakllsch Add (missing) newlines to error messages.
 1.95  09-Apr-2010  jakllsch Improve error paths in (e)siop_scsipi_request():

- When terminating the adapter request after the cmd has been removed
from the free list, put that cmd back on the free list before returing.
- Correctly indicate which bus_dma_load() failed.

Analysis and fix from Michael L. Hitch in PR/42844.
 1.94  19-Oct-2009  bouyer branches: 1.94.2; 1.94.4;
Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen
for the booring work !
 1.93  04-Sep-2009  tsutsui Remove unnecessary whitespace.
 1.92  16-May-2009  tsutsui Misc cleanup:
- some KNF
- u_intNN_t -> uintNN_t
- wrap long lines and fix indent
- remove return statements at the end of void functions
- use __arraycount()

XXX: many inconsistent aprint_error_dev(9) vs printf(9)
 1.91  15-May-2009  tsutsui Split device_t/softc.

No crash on:
esiop0 at pci0 dev 11 function 0: Symbios Logic 53c875 (ultra-wide scsi)
siop0 at pci0 dev 9 function 0: Symbios Logic 53c810a (fast scsi)
siop0 at gsc0 hpa 0xf0830000 path 2/0/7 irq 3 ipl 6: NCR53C720 rev 2
 1.90  15-Mar-2009  cegger ansify function definitions
 1.89  14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.88  14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.87  08-Apr-2008  cegger branches: 1.87.4; 1.87.12; 1.87.14; 1.87.18;
use aprint_*_dev and device_xname
 1.86  27-Mar-2008  skrll Add support for the (non-pci) NCR 53c720/770 in big-endian mode.

From OpenBSD (Mark Kettenis)
 1.85  19-Oct-2007  ad branches: 1.85.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.84  30-Sep-2007  martin branches: 1.84.2;
Do not stop callouts on polled commands. Problem noticed by Chris Ross
when trying to do a kernel dump on sparc64.
Approved by Manuel Bouyer.
 1.83  04-Mar-2007  christos branches: 1.83.2; 1.83.14; 1.83.16; 1.83.18;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.82  02-Nov-2006  garbled branches: 1.82.4;
Comment out the debug options to siop, and change the undef to define.
This way they will be compiled by the i386 DEBUG kernel and tested.
 1.81  02-Nov-2006  garbled Make these compile when SIOP_DEBUG is enabled, by nuking the reference to
t_offset, which no longer seems to exist.
 1.80  24-Dec-2005  perry branches: 1.80.20; 1.80.22;
__inline__ -> inline
 1.79  18-Nov-2005  bouyer Some drives disconnect after the last data phase without a save data pointer
message. In such case we would not update resid with the proper value
(eventually resid would not be updated at all if there was only one data
phase). To fix this, have the script save the offset in the data tables at
disconnect time if there was a transfer, and use this to compute the resid
if the current offset is 0.
Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi.
Fix kern/31990 by YAMAMOTO Takashi.
 1.78  27-Feb-2005  perry branches: 1.78.2; 1.78.4; 1.78.10;
nuke trailing whitespace
 1.77  04-Feb-2005  perry de-__P
 1.76  03-Oct-2004  bouyer branches: 1.76.4; 1.76.6;
Add missing return, fix handling of Ignore Wide Residue messages.
 1.75  17-May-2004  bouyer Add support for the Ignore Wide Residue SCSI message.
 1.74  17-May-2004  bouyer when an unexpected disconnect occurs only compute the resid; do the
real save data pointers when we get the message (or rather, at disconnect
time following the message).
Factor out code to do this, and to deal with xs->resid, in siop_common.c.
 1.73  17-May-2004  bouyer Properly compute xs->resid, instead of assuming it'll always be 0 when
a command is done.
 1.72  16-Mar-2004  bouyer branches: 1.72.4;
cbd -> cdb
Command Block Descriptor -> Command Descriptor Block
Pointed out by Allen Briggs.
 1.71  15-Mar-2004  bouyer Extract the code printing the CBD from scsipi_print_sense(), so that it's
usable in other context.
Use the new scsipi_print_cbd() to dump the command in case of timeout
in siop/esiop.
 1.70  02-Nov-2003  wiz Fix some typos. From Tom Cosgrove via jmc@openbsd.
 1.69  28-Oct-2003  matt fix bogus GCC uninitialized variable warning. Use TAILQ_FOREACH.
 1.68  25-Oct-2003  christos Fix uninitialized variable warnings
 1.67  21-Oct-2003  simonb Remove return after panic().
 1.66  03-May-2003  wiz branches: 1.66.2;
DMA, not dma nor Dma.
 1.65  08-Nov-2002  bouyer in siop_reset(), reset sc_ntargets to 0. The number of targets will be
computed again in siop_add_reselsw()
in siop_reset(), reset the tag reseloff to 0, in addition to the lun reseloff.
If siop_add_dev() fails this time we would use the old reseloff, clobbering
memory now used for something else.
 1.64  26-Jul-2002  wiz enouth -> enough.
 1.63  18-Jul-2002  wiz Spell 'should' correctly.
 1.62  18-May-2002  bouyer branches: 1.62.2;
Be more verbose when returning XS_DRIVER_STUFFUP
 1.61  16-May-2002  thorpej Don't access a scsipi channel's periph table directly; use
scsipi_lookup_periph().
 1.60  25-Apr-2002  bouyer branches: 1.60.2;
It's not safe to access the SCNTL1 register while the SCRIPT is running.
On the 1010 this can wedge the chip. So abort the script instead.
the abort interrupt will trigger a bus reset.
 1.59  23-Apr-2002  bouyer More copyright fixes, pointed out by Thomas. Thanks !
 1.58  23-Apr-2002  bouyer - factor out parts of (e)siop_attach() to siop_common_attach()
- Add support for DT transfers (aka Ultra/160) in esiop

Note that DT transfers are not enabled for 53c1010-33 rev 0 yet; if I trust
FreeBSD it has a bug which prevent them to do DT properly.
From the same source there may be issues with some revs of 53c1010-66.
 1.57  23-Apr-2002  bouyer Bump the space for SCSI messages from 8 to 16 octets, as 8 may not be
enouth for IDENTIFY + TAG + PPR.
Get rid of constants in C code by use of a offsetof macro.
 1.56  23-Apr-2002  bouyer Enable software LED control based on LED0 feature, not #define.
For now, set the LED0 feature if SIOP_SYMLED is defined in siop_pci_common.c.
From Jason R Thorpe.
 1.55  22-Apr-2002  bouyer Fix last change: assign siop_cmd->tag in callers instead of siop_setuptables(),
and use siop_cmd->tag instead of xs->xs_tag_id. This way siop can use
xs->xs_tag_id + 1 without interferences with esiop.
 1.54  22-Apr-2002  bouyer In siop_setuptables(), use the proposed tag_id, not tag_id +1.
In siop.c bump siop_cmd->tag by one as tag id 0 is reserved for untagged cmds.
 1.53  20-Apr-2002  bouyer Move a few things around, so that ic/siop_common.c and pci/siop_pci_common.c
can be compiled without including siopvar.h.
 1.52  18-Apr-2002  bouyer If SIOP_SYMLED is defined, drive the activity LED though GPIO pin 1.
 1.51  05-Apr-2002  bouyer Implement mstohz() as discussed on tech-kern, and use it in SCSI drivers
to convert xs->timeout to callout() parameter.
 1.50  01-Mar-2002  bouyer As siop_morecbd() is called from the kernel thread, protect access to the
queues with splbio.
 1.49  12-Jan-2002  tsutsui Call malloc(9) with M_ZERO flag instead of memset() after malloc().
 1.48  13-Nov-2001  lukem add/cleanup RCSID
 1.47  14-Oct-2001  bouyer Call siop_morecbd() only when scsipi ask us ADAPTER_REQ_GROW_RESOURCES.
This prevent using bus_dmamem_map() from interrupt context.
Should fix kern/13827.
 1.46  19-Jul-2001  thorpej Use BUS_DMA_READ and BUS_DMA_WRITE in some obvious places.
 1.45  21-Jun-2001  bouyer branches: 1.45.2;
Also print DSA addr in a DIAGNOSTING printf.
 1.44  23-May-2001  bouyer Call scsipi_channel_thaw() after scsipi_done() so that command ordering
is preserved.
 1.43  30-Apr-2001  lukem delint newline in string
 1.42  25-Apr-2001  bouyer 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.41  07-Mar-2001  thorpej Add BUS_DMA_STREAMING to data transfer maps.
 1.40  01-Mar-2001  thorpej branches: 1.40.2;
Differentiate a couple of similar error message, and add newlines
on the end of them.
 1.39  11-Feb-2001  bouyer Avoid sending new commands to the device if it has sense pending:
- run request sense command without disconnect
- don't restart the script before siop_scsicmd_end has been called if the
cmd didn't complete with good status.
- reserve slot 0 for request sense, to make sure it'll be sent first.
 1.38  26-Jan-2001  bouyer Add a few siop_table_sync() calls.
 1.37  14-Nov-2000  thorpej branches: 1.37.2;
NBPG -> PAGE_SIZE
 1.36  23-Oct-2000  bouyer Fixes related to QUEUE FULL status:
- move status handling in siop_scsicmd_end(), it's better than in siop_intr()
- define 2 internal SIOP status, for "no status reported by device" and
reset condition
- add a list of "urgent" command, to be executed before the list of command
queued the normal way; this is used for command which got aborted
by a QUEUE FULL and have to be requeued in order.
- Don't accept to send a Q_TAG message not immediatly folowing a IDENTIFY
 1.35  23-Oct-2000  bouyer Rearrange for script changes (scheduler core in main script, command part
of the scheduler in command table).
Add tagged command queuing support.
 1.34  21-Oct-2000  bouyer Ops, sync the script DMA map when the script RAM *don't* exists.
 1.33  19-Oct-2000  bouyer Adapt for script change: don't assume Ent_lun_switch_entry == 0
 1.32  18-Oct-2000  bouyer Ops, add proper bus_dmamap_sync() calls for reselect switch operations.
 1.31  18-Oct-2000  bouyer Adapt for new lun switch script.
Implement SCBUSACCEL ioctl.
Snapshot of work in progress on tagged queuing: we can send/receive
queue tag messages. Infrastructure to manage multiple commands per
devices not here yet.
 1.30  06-Oct-2000  bouyer Ops, disable debugging messages.
 1.29  06-Oct-2000  bouyer Fix recurent typo: shed->sched
 1.28  06-Oct-2000  bouyer Adapt for reselect handling from the script. While here, fix typo
(SIOP_SCXFER -> SIOP_SXFER).
 1.27  27-Jul-2000  bouyer Force 64bit arithmetic for timeout computation; a 32bit int opverflows for
large timeouts. Should fix PR kern/10575.
 1.26  24-Jul-2000  bouyer create a funcion, siop_busreset(), to reset the scsibus.
Reset the scsi bus at attach time, to be sure all devices start in narrow/async
mode.
Defer sync/wide negotiation until after whe have a valid
xs->sc_link->device_softc, so that we can honnor the NOSYNC/NOWIDE quirks.
 1.25  19-Jul-2000  pk Fixx off-by-one error in handlereset().
 1.24  28-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.23  26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.22  20-Jun-2000  bouyer Patch from Eduardo Horvath: don't bus_dmamap_sync the script dma map if
it lives in the on-chip RAM !
 1.21  13-Jun-2000  bouyer branches: 1.21.2;
sheduler->scheduler, as pointed out by Klaus Klein
 1.20  12-Jun-2000  bouyer Handle "scsi bus mode change" interrupts on 895 and higther.
Thanks to Hal Murray for reporting the problem and testing the fix.
 1.19  07-Jun-2000  tsutsui Adapt struct scsipi_adapter changes.
 1.18  05-Jun-2000  bouyer use the correct variable in a debug printf().
 1.17  25-May-2000  bouyer branches: 1.17.2;
Separate the sheduler from the main script, allocate another DMA-safe
memory page for the sheduler. Put the main script in the on-chip RAM when
available.
Avoid a null-pointer dereference when DSA is invalid.
 1.16  23-May-2000  bouyer Allocate dynamically the command block descriptors.
 1.15  15-May-2000  bouyer Don't enable debug message by default.
 1.14  15-May-2000  bouyer - split siop.c in script-dependant vs script-independant part, for
comming esiop
- add a reset callback for bus-dependant registers settings
 1.13  11-May-2000  bouyer Use correct divider value for scxfer
 1.12  06-May-2000  soren Typos.
 1.11  05-May-2000  bouyer Ops, restore sync/wide parameters after a reselect.
Also, better handling of parity errors.
 1.10  05-May-2000  bouyer Rework the command queue, to avoid having commands blocked at the end
of the queue. Load is now properly balanced across all disks of the same bus.
 1.9  04-May-2000  bouyer When a WDTR message is rejected, initiate sync negotiation anyway.
When a SDTR message is rejected indicate that target is async
Add a missing bus_dma_sync call.
 1.8  04-May-2000  bouyer - LP64 issues in debug printfs.
- on a phase mismatch, do byte recovery only if we were in data phase.
Otherwise just clear the fifo.
- Properly handle reject of a sync or wide negotiation.
 1.7  02-May-2000  bouyer - do sync/wide negotiation
- use a circular queue for the start slots, so that order has better chances
to be preserved.
 1.6  27-Apr-2000  bouyer More big-endian fixes from Izumi Tsutsui.
 1.5  27-Apr-2000  bouyer Fix copyrigth notice.
 1.4  26-Apr-2000  bouyer Big-endian fixes from Izumi Tsutsui.
 1.3  25-Apr-2000  bouyer Ops, need to restore correct DSA value after a phase mismatch, we may have
been interrupted during a S/G operation.
 1.2  25-Apr-2000  bouyer - Change the script to start new commands in an asyncronous way, using
'command slots' in which the host can put command and wait for the script
to start them
- Change siop.c to do full disconnect/reslelect, allowing as much as one
command per target/lun to run in parallel.
- Fix bug in registers init where a board without BIOS would end at
ID 0 (now the driver works on alpha too).
- better handling of messages, sending back a MSG_EXT_SDTR in response to an
incoming MSG_EXT_SDTR, and MSG_MESSAGE_REJECT for unhandled messages.
- fix use of bus_dmamap_sync() and htole32().
- supports shared interrups
- change some int8 and int16 to int, for alpha and mips benefits ( suggested by
Toru Nishimura)
 1.1  21-Apr-2000  bouyer Snapshot of work in progress: new driver for the NCR 53c8xx SCSI controller
(the name 'siop' is still being discussed, may change).
Only basic disconnect/reselect for now, no sync/wide negotiation.
Tested with 810A, 875 and 895 on i386 only.
The bus-independant part should also be able to handle the 53c720 and 53c770.
A new driver with enhanced script should appear for the 825/875/895 'soon'.
 1.17.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.21.2.8  05-Jan-2002  he Pull up revision 1.47 (via patch, requested by bouyer):
Don't call siop_morecbd() in interrupt context, but pre-allocate
CBD at probe time instead. Fixes PR#13827, PR#14866 and PR#15048.
 1.21.2.7  26-Feb-2001  he Pull up revision 1.39 (requested by bouyer):
Don't queue new commands to a device which has sense pending.
 1.21.2.6  04-Feb-2001  he Pull up revision 1.38 (requested by bouyer):
Add missing bus_dmamap_sync() calls.
 1.21.2.5  15-Dec-2000  he Pull up revisions 1.23-1.24,1.28-1.36 (requested by bouyer):
Speed improvements to the siop driver, and add tagged queueing
support. As a side effect, better handling of some not so common
phase or message sequences.
 1.21.2.4  03-Oct-2000  bouyer Pull up 1.24->1.25 (approved by thorpej):
fix off by one error.
 1.21.2.3  30-Jul-2000  bouyer pull up 1.26->1.27, approved by jhawk:
Fixes 32bit interger overflow with large timeout. Fixes kern/10575.
 1.21.2.2  24-Jul-2000  bouyer Pull up (approved by thorpej):
sys/dev/ic/siop.c 1.25->1.26
sys/dev/ic/siop_common.c 1.5->1.6
sys/dev/ic/siopvar_common.h 1.3->1.4

create a funcion, siop_busreset(), to reset the scsibus.
Reset the scsi bus at attach time, to be sure all devices start in narrow/async
mode.
Defer sync/wide negotiation until after whe have a valid
xs->sc_link->device_softc, so that we can honnor the NOSYNC/NOWIDE quirks.
 1.21.2.1  26-Jun-2000  bouyer Pull up 1.22, approved by thorpej:
don't bus_dmamap_sync the script dma map if it lives in the on-chip RAM.
 1.37.2.12  03-Apr-2001  bouyer Ops, unfreeze the queue after a reset too.
 1.37.2.11  03-Apr-2001  bouyer Remove local command queue; if we run out of start slots, just freeze the
channel; and unfreeze it at the first command complete.
 1.37.2.10  14-Mar-2001  bouyer Add BUS_DMA_STREAMING for the data map, it really helps for sparc64.
 1.37.2.9  12-Mar-2001  bouyer Sync with HEAD.
 1.37.2.8  11-Feb-2001  bouyer Sync with HEAD.
 1.37.2.7  22-Jan-2001  bouyer Put URGENT requests in the urgent queue
When we get CHECK CONDITION, remove and requeue all xfer for this T/L that have
not yet been queued in the device (still in a scheduler slot or in the queues),
otherwise if one of them is accepted before the request sense, sense will be
lost.
Don't allow disconnect for REQUEST SENSE commands, as others drivers do.
 1.37.2.6  15-Jan-2001  bouyer Pass CHECK CONDITION status and reset events to the mid-layer.
 1.37.2.5  15-Dec-2000  bouyer Tell the upper layer we can do tagged queuing, so that it sends us more
than one concurent command. Leave the handling of QUEUE FULL events to the
upper layer.
 1.37.2.4  14-Dec-2000  bouyer Convert to thorpej_scsipi interface. Still some work to do to get all benefits
of the new middle layer, but it works.
 1.37.2.3  22-Nov-2000  bouyer Sync with HEAD.
 1.37.2.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.37.2.1  14-Nov-2000  bouyer file siop.c was added on branch thorpej_scsipi on 2000-11-20 11:40:54 +0000
 1.40.2.11  11-Nov-2002  nathanw Catch up to -current
 1.40.2.10  01-Aug-2002  nathanw Catch up to -current.
 1.40.2.9  20-Jun-2002  nathanw Catch up to -current.
 1.40.2.8  17-Apr-2002  nathanw Catch up to -current.
 1.40.2.7  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.40.2.6  28-Feb-2002  nathanw Catch up to -current.
 1.40.2.5  14-Nov-2001  nathanw Catch up to -current.
 1.40.2.4  22-Oct-2001  nathanw Catch up to -current.
 1.40.2.3  24-Aug-2001  nathanw Catch up with -current.
 1.40.2.2  21-Jun-2001  nathanw Catch up to -current.
 1.40.2.1  09-Apr-2001  nathanw Catch up with -current.
 1.45.2.6  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.45.2.5  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.45.2.4  16-Mar-2002  jdolecek Catch up with -current.
 1.45.2.3  11-Feb-2002  jdolecek Sync w/ -current.
 1.45.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.45.2.1  03-Aug-2001  lukem update to -current
 1.60.2.3  29-Aug-2002  gehenna catch up with -current.
 1.60.2.2  20-Jul-2002  gehenna catch up with -current.
 1.60.2.1  30-May-2002  gehenna Catch up with -current.
 1.62.2.6  14-Dec-2005  jmc Pullup via patch (requested in ticket #5957 by bouyer)
Some drives disconnect after the last data phase without a save data pointer
message. In such case we would not update resid with the proper value
(eventually resid would not be updated at all if there was only one data
phase). To fix this, have the script save the offset in the data tables at
disconnect time if there was a transfer, and use this to compute the resid
if the current offset is 0. PR#31990
 1.62.2.5  19-Mar-2005  tron Pull up revision 1.76 (requested by bouyer in ticket #1753):
Add missing return, fix handling of Ignore Wide Residue messages.
 1.62.2.4  19-Mar-2005  tron Pull up revision 1.75 (requested by bouyer in ticket #1751):
Add support for the Ignore Wide Residue SCSI message.
 1.62.2.3  17-Mar-2005  tron Pull up revision 1.74 (requested by bouyer in ticket #1750):
when an unexpected disconnect occurs only compute the resid; do the
real save data pointers when we get the message (or rather, at disconnect
time following the message).
Factor out code to do this, and to deal with xs->resid, in siop_common.c.
 1.62.2.2  17-Mar-2005  tron Pull up revision 1.73 (requested by bouyer in ticket #1749):
Properly compute xs->resid, instead of assuming it'll always be 0 when
a command is done.
 1.62.2.1  11-Dec-2002  he Pull up revision 1.65 (requested by bouyer in ticket #975):
In siop_reset(), reset sc_ntargets to 0; it will be
computed again in siop_add_reselsw().
In siop_reset(), reset the tag reseloff to 0, in addition
to the lun reseloff. If siop_add_dev() fails this time,
we would use the old reseloff, clobbering memory new used
for something else.
 1.66.2.7  11-Dec-2005  christos Sync with head.
 1.66.2.6  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.66.2.5  04-Feb-2005  skrll Sync with HEAD.
 1.66.2.4  19-Oct-2004  skrll Sync with HEAD
 1.66.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.66.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.66.2.1  03-Aug-2004  skrll Sync with HEAD
 1.72.4.5  01-Dec-2005  riz Pull up following revision(s) (requested by bouyer in ticket #10168):
sys/dev/ic/siop.c: revision 1.79 via patch
sys/dev/ic/siopvar_common.h: revision 1.33 via patch
sys/dev/ic/esiopvar.h: revision 1.13 via patch
sys/dev/ic/esiop.c: revision 1.34 via patch
sys/dev/microcode/siop/esiop.ss: revision 1.20 via patch
sys/dev/ic/siopvar.h: revision 1.22 via patch
sys/dev/microcode/siop/siop.ss: revision 1.20 via patch
Some drives disconnect after the last data phase without a save data pointer
message. In such case we would not update resid with the proper value
(eventually resid would not be updated at all if there was only one data
phase). To fix this, have the script save the offset in the data tables at
disconnect time if there was a transfer, and use this to compute the resid
if the current offset is 0.
Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi.
Fix kern/31990 by YAMAMOTO Takashi.
 1.72.4.4  11-May-2005  snj branches: 1.72.4.4.2;
Pull up revision 1.76 (requested by bouyer in ticket #1367):
Add missing return, fix handling of Ignore Wide Residue messages.
 1.72.4.3  11-May-2005  snj Pull up revision 1.75 (requested by bouyer in ticket #1366):
Add support for the Ignore Wide Residue SCSI message.
 1.72.4.2  11-May-2005  snj Pull up revision 1.74 (requested by bouyer in ticket #1365):
when an unexpected disconnect occurs only compute the resid; do the
real save data pointers when we get the message (or rather, at disconnect
time following the message).
Factor out code to do this, and to deal with xs->resid, in siop_common.c.
 1.72.4.1  11-May-2005  snj Pull up revision 1.73 (requested by bouyer in ticket #1364):
Properly compute xs->resid, instead of assuming it'll always be 0 when
a command is done.
 1.72.4.4.2.1  01-Dec-2005  riz Pull up following revision(s) (requested by bouyer in ticket #10168):
sys/dev/ic/siop.c: revision 1.79 via patch
sys/dev/ic/siopvar_common.h: revision 1.33 via patch
sys/dev/ic/esiopvar.h: revision 1.13 via patch
sys/dev/ic/esiop.c: revision 1.34 via patch
sys/dev/microcode/siop/esiop.ss: revision 1.20 via patch
sys/dev/ic/siopvar.h: revision 1.22 via patch
sys/dev/microcode/siop/siop.ss: revision 1.20 via patch
Some drives disconnect after the last data phase without a save data pointer
message. In such case we would not update resid with the proper value
(eventually resid would not be updated at all if there was only one data
phase). To fix this, have the script save the offset in the data tables at
disconnect time if there was a transfer, and use this to compute the resid
if the current offset is 0.
Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi.
Fix kern/31990 by YAMAMOTO Takashi.
 1.76.6.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.76.6.1  12-Feb-2005  yamt sync with head.
 1.76.4.1  29-Apr-2005  kent sync with -current
 1.78.10.1  22-Nov-2005  yamt sync with head.
 1.78.4.4  27-Oct-2007  yamt sync with head.
 1.78.4.3  03-Sep-2007  yamt sync with head.
 1.78.4.2  30-Dec-2006  yamt sync with head.
 1.78.4.1  21-Jun-2006  yamt sync with head.
 1.78.2.1  21-Nov-2005  tron Pull up following revision(s) (requested by bouyer in ticket #973):
sys/dev/ic/siop.c: revision 1.79
sys/dev/ic/siopvar_common.h: revision 1.33
sys/dev/ic/esiopvar.h: revision 1.13
sys/dev/ic/esiop.c: revision 1.34
sys/dev/microcode/siop/esiop.ss: revision 1.20
sys/dev/ic/siopvar.h: revision 1.22
sys/dev/microcode/siop/siop.ss: revision 1.20
Some drives disconnect after the last data phase without a save data pointer
message. In such case we would not update resid with the proper value
(eventually resid would not be updated at all if there was only one data
phase). To fix this, have the script save the offset in the data tables at
disconnect time if there was a transfer, and use this to compute the resid
if the current offset is 0.
Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi.
Fix kern/31990 by YAMAMOTO Takashi.
 1.80.22.1  10-Dec-2006  yamt sync with head.
 1.80.20.1  18-Nov-2006  ad Sync with head.
 1.82.4.1  12-Mar-2007  rmind Sync with HEAD.
 1.83.18.1  06-Oct-2007  yamt sync with head.
 1.83.16.1  06-Nov-2007  matt sync with HEAD
 1.83.14.2  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.83.14.1  02-Oct-2007  joerg Sync with HEAD.
 1.83.2.2  23-Oct-2007  ad Sync with head.
 1.83.2.1  09-Oct-2007  ad Sync with head.
 1.84.2.1  25-Oct-2007  bouyer Sync with HEAD.
 1.85.16.2  02-Jun-2008  mjf Sync with HEAD.
 1.85.16.1  03-Apr-2008  mjf Sync with HEAD.
 1.87.18.2  23-Jul-2009  jym Sync with HEAD.
 1.87.18.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.87.14.2  20-Nov-2010  riz Fix patch from ticket 1390; bad merge from -current to netbsd-5.
 1.87.14.1  20-Nov-2010  riz Pull up following revision(s) (requested by mhitch in ticket #1390):
sys/dev/ic/siop.c: revision 1.95
sys/dev/ic/esiop.c: revision 1.52
Improve error paths in (e)siop_scsipi_request():
- When terminating the adapter request after the cmd has been removed
from the free list, put that cmd back on the free list before returing.
- Correctly indicate which bus_dma_load() failed.
Analysis and fix from Michael L. Hitch in PR/42844.
 1.87.12.1  28-Apr-2009  skrll Sync with HEAD.
 1.87.4.6  09-Oct-2010  yamt sync with head
 1.87.4.5  11-Aug-2010  yamt sync with head.
 1.87.4.4  11-Mar-2010  yamt sync with head
 1.87.4.3  16-Sep-2009  yamt sync with head
 1.87.4.2  16-May-2009  yamt sync with head
 1.87.4.1  04-May-2009  yamt sync with head.
 1.94.4.2  05-Mar-2011  rmind sync with head
 1.94.4.1  30-May-2010  rmind sync with head
 1.94.2.3  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.94.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.94.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.98.22.1  18-May-2014  rmind sync with head
 1.98.18.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.98.8.1  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.100.46.1  21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.101.8.1  04-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed