Home | History | Annotate | Download | only in ic
History log of /src/sys/dev/ic/esiop.c
RevisionDateAuthorComments
 1.63  08-Feb-2024  andvar s/should't/shouldn't/ and s/mistmatch/mismatch/ in comments.
 1.62  02-Nov-2022  andvar s/ourselve/ourselves/ in comments.
 1.61  23-May-2022  andvar s/beggining/beginning/ in comments.
 1.60  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.59  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.58  24-Apr-2021  thorpej branches: 1.58.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.57  02-Nov-2013  gson branches: 1.57.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.56  30-Oct-2013  gson Fix incorrect function names in panic message strings.
 1.55  13-Nov-2010  uebayasi branches: 1.55.8; 1.55.14; 1.55.18; 1.55.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.54  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.53  02-May-2010  jakllsch Add (missing) newlines to error messages.
 1.52  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.51  11-Mar-2010  mrg branches: 1.51.2;
various aprint_* fixes.
 1.50  12-Feb-2010  dholland Make ESIOP_DEBUG compile (on some platforms? depends on bus definitions...)
From Chris Ross in PR 42792.
 1.49  19-Oct-2009  bouyer branches: 1.49.2;
Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen
for the booring work !
 1.48  04-Sep-2009  tsutsui Remove unnecessary whitespace.
 1.47  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.46  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.45  15-Mar-2009  cegger ansify function definitions
 1.44  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.43  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.42  08-Apr-2008  cegger branches: 1.42.4; 1.42.12; 1.42.14; 1.42.18;
use aprint_*_dev and device_xname
 1.41  19-Oct-2007  ad branches: 1.41.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.40  30-Sep-2007  martin branches: 1.40.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.39  04-Mar-2007  christos branches: 1.39.2; 1.39.14; 1.39.16; 1.39.18;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.38  02-Nov-2006  garbled branches: 1.38.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.37  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.36  29-Sep-2006  christos Coverity CID 3015: Check before using (from Arnaud Lacombe)
 1.35  24-Dec-2005  perry branches: 1.35.20; 1.35.22;
__inline__ -> inline
 1.34  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.33  23-Mar-2005  bouyer branches: 1.33.2; 1.33.8;
Don't assume all LUNs are probed before scsipi sets the mode, and always check
if lun_tagtbl needs to be allocated. Patch from john heasley in kern/29603.
 1.32  04-Feb-2005  perry branches: 1.32.4;
de-__P
 1.31  20-May-2004  bouyer branches: 1.31.4; 1.31.6;
Rmove a redundant BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE, and fix
another one (POST -> PRE)
 1.30  17-May-2004  bouyer Add support for the Ignore Wide Residue SCSI message.
 1.29  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.28  17-May-2004  bouyer Properly compute xs->resid, instead of assuming it'll always be 0 when
a command is done.
 1.27  16-Mar-2004  bouyer branches: 1.27.4;
cbd -> cdb
Command Block Descriptor -> Command Descriptor Block
Pointed out by Allen Briggs.
 1.26  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.25  10-Mar-2004  bouyer The real value of the message is in msgin, not
esiop_cmd->cmd_tables->msg_in[0], so print the correct value.
 1.24  02-Nov-2003  wiz Fix some typos. From Tom Cosgrove via jmc@openbsd.
 1.23  29-Oct-2003  mycroft XXX: gcc
 1.22  25-Oct-2003  christos Fix uninitialized variable warnings
 1.21  04-Aug-2003  bouyer Remove unused esiop_scsicmd() prototype.
 1.20  03-Jul-2003  drochner Avoid an obscure gcc3 complaint about
"dereferencing type-punned pointer" by a cast to "void *".
I don't completely understand the warning, but it helps.
 1.19  03-May-2003  wiz branches: 1.19.2;
DMA, not dma nor Dma.
 1.18  31-Jan-2003  thorpej Use aprint_*().
 1.17  18-Jul-2002  wiz Spell 'should' correctly.
 1.16  18-May-2002  bouyer branches: 1.16.2; 1.16.4; 1.16.6;
Be more verbose when returning XS_DRIVER_STUFFUP
 1.15  16-May-2002  thorpej Don't access a scsipi channel's periph table directly; use
scsipi_lookup_periph().
 1.14  04-May-2002  bouyer branches: 1.14.2;
More debug printfs.
 1.13  29-Apr-2002  bouyer Add a missing esiop_script_sync(), and debug messages improvements.
 1.12  27-Apr-2002  bouyer Use a u_int32_t in script RAM instead of the SEM bit in ISTAT to pass flags
between script and driver. This allows more than one flag, and is easier to
manage (we almost can't read/write istat outside of the irq handler).
 1.11  27-Apr-2002  bouyer Implement a ring for the completed commands. This avoid a (problematic only
if error occurs after status is collected) race condition
when using the status byte to detect completed commands (a command descriptor
could be recycled before the device disconnected), and make the
interrupt routine handling completed commands more efficient (no need to
scan target * lun * tag array any more).
 1.10  25-Apr-2002  bouyer 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.9  25-Apr-2002  bouyer - We can't share the per-lun DSA entry for untagged and tag table DSA;
there may be tagged commands still running when we queue a request sense
command.
Solve this by using 2 DSA entry per LUN
- Now that we have the command DSA before select, we can load T/L/Q in
SCRATCHC. This makes the selection timeout handler simpler.
- Avoid a race condition when setting the free flag in the cmd ring (see
comment in the script)
- don't forget to update the ID in the head of LUN table after a sync/wide
negotiation. This fixes the command timeout at the first data command
after negotiation (the bus reset handler did update the ID properly,
so subsequent commands were OK).
- for DMA interrupts, clear fifo if it's not empty. Leaving the fifo dirty
would prevent subsequent interrupts from coming in.
- Various improvements in debug messages
- misc cleanups.
 1.8  24-Apr-2002  bouyer For a new command, use the id in the command table and get rid of the ID in the
scheduler slot. This costs a few more instructions but divide the size of the
scheduler ring by 2, saving 1k of onboard RAM (a bus with 15 devices would
overflow the on-board RAM by 128 bytes).
 1.7  23-Apr-2002  bouyer More copyright fixes, pointed out by Thomas. Thanks !
 1.6  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.5  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.4  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.3  22-Apr-2002  bouyer Adapt for script "wait MSG_OUT after select" change: now, when we get
selection timeout, SCRATCHE points to the slot which triggered the timeout,
not the next one.
 1.2  22-Apr-2002  bouyer Add support for tagged queuing to esiop (256 tags per device).
For this add another indirecton: the DSA in the LUN table points to
a table of DSA indexed by the tag number when tagged command is in use.
For non tagged command, the LUN DSA still points to the tables describing the
xfer directly.
 1.1  21-Apr-2002  bouyer First cut at a esiop driver (enhanced siop). Doesn't implement tagged queuing
yet.
If is restricted to SIOP which implement the load/store instruction, and
has 10 scratch registers (basically, 825 and newer, possibly 770).
It implements a different interface between host and script, using a real
ring for command starts, and improved support for reconnect which will allow
256 tag per device. It uses interrupt on the fly to signal complete command,
which allows several commands to be serviced per interrupt and doesn't require
the script to stop to signal command completion.
 1.14.2.2  20-Jul-2002  gehenna catch up with -current.
 1.14.2.1  30-May-2002  gehenna Catch up with -current.
 1.16.6.3  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.16.6.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.16.6.1  18-May-2002  jdolecek file esiop.c was added on branch kqueue on 2002-06-23 17:46:22 +0000
 1.16.4.3  01-Aug-2002  nathanw Catch up to -current.
 1.16.4.2  20-Jun-2002  nathanw Catch up to -current.
 1.16.4.1  18-May-2002  nathanw file esiop.c was added on branch nathanw_sa on 2002-06-20 03:44:33 +0000
 1.16.2.7  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.16.2.6  01-May-2005  tron Pull up revision 1.33 (requested by bouyer in ticket #5755):
Don't assume all LUNs are probed before scsipi sets the mode, and always check
if lun_tagtbl needs to be allocated. Patch from john heasley in kern/29603.
 1.16.2.5  19-Mar-2005  tron Pull up revision 1.31 (requested by bouyer in ticket #1752):
Rmove a redundant BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE, and fix
another one (POST -> PRE)
 1.16.2.4  19-Mar-2005  tron Pull up revision 1.30 (requested by bouyer in ticket #1751):
Add support for the Ignore Wide Residue SCSI message.
 1.16.2.3  17-Mar-2005  tron Pull up revision 1.29 (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.16.2.2  17-Mar-2005  tron Pull up revision 1.28 (requested by bouyer in ticket #1749):
Properly compute xs->resid, instead of assuming it'll always be 0 when
a command is done.
 1.16.2.1  28-Mar-2004  jmc Pullup rev 1.25 (requested by bouyer in ticket #1633)

The real value of the message is in msgin, not esiop_cmd->cmd_tables->msg_in[0],
so print the correct value.
 1.19.2.6  11-Dec-2005  christos Sync with head.
 1.19.2.5  01-Apr-2005  skrll Sync with HEAD.
 1.19.2.4  04-Feb-2005  skrll Sync with HEAD.
 1.19.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.19.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.19.2.1  03-Aug-2004  skrll Sync with HEAD
 1.27.4.6  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.27.4.5  16-May-2005  riz branches: 1.27.4.5.2;
Pull up revision 1.33 (requested by bouyer in ticket #1514):
Don't assume all LUNs are probed before scsipi sets the mode, and always check
if lun_tagtbl needs to be allocated. Patch from john heasley in kern/29603.
 1.27.4.4  11-May-2005  snj Pull up revision 1.31 (requested by bouyer in ticket #1368):
Rmove a redundant BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE, and fix
another one (POST -> PRE)
 1.27.4.3  11-May-2005  snj Pull up revision 1.30 (requested by bouyer in ticket #1366):
Add support for the Ignore Wide Residue SCSI message.
 1.27.4.2  11-May-2005  snj Pull up revision 1.29 (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.27.4.1  11-May-2005  snj Pull up revision 1.28 (requested by bouyer in ticket #1364):
Properly compute xs->resid, instead of assuming it'll always be 0 when
a command is done.
 1.27.4.5.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.31.6.2  26-Mar-2005  yamt sync with head.
 1.31.6.1  12-Feb-2005  yamt sync with head.
 1.31.4.1  29-Apr-2005  kent sync with -current
 1.32.4.2  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.32.4.1  21-Apr-2005  tron Pull up revision 1.33 (requested by bouyer in ticket #171):
Don't assume all LUNs are probed before scsipi sets the mode, and always check
if lun_tagtbl needs to be allocated. Patch from john heasley in kern/29603.
 1.33.8.1  22-Nov-2005  yamt sync with head.
 1.33.2.4  27-Oct-2007  yamt sync with head.
 1.33.2.3  03-Sep-2007  yamt sync with head.
 1.33.2.2  30-Dec-2006  yamt sync with head.
 1.33.2.1  21-Jun-2006  yamt sync with head.
 1.35.22.2  10-Dec-2006  yamt sync with head.
 1.35.22.1  22-Oct-2006  yamt sync with head
 1.35.20.1  18-Nov-2006  ad Sync with head.
 1.38.4.1  12-Mar-2007  rmind Sync with HEAD.
 1.39.18.1  06-Oct-2007  yamt sync with head.
 1.39.16.1  06-Nov-2007  matt sync with HEAD
 1.39.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.39.14.1  02-Oct-2007  joerg Sync with HEAD.
 1.39.2.2  23-Oct-2007  ad Sync with head.
 1.39.2.1  09-Oct-2007  ad Sync with head.
 1.40.2.1  25-Oct-2007  bouyer Sync with HEAD.
 1.41.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.42.18.2  23-Jul-2009  jym Sync with HEAD.
 1.42.18.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.42.14.2  20-Nov-2010  riz Fix patch from ticket 1390; bad merge from -current to netbsd-5.
 1.42.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.42.12.1  28-Apr-2009  skrll Sync with HEAD.
 1.42.4.6  09-Oct-2010  yamt sync with head
 1.42.4.5  11-Aug-2010  yamt sync with head.
 1.42.4.4  11-Mar-2010  yamt sync with head
 1.42.4.3  16-Sep-2009  yamt sync with head
 1.42.4.2  16-May-2009  yamt sync with head
 1.42.4.1  04-May-2009  yamt sync with head.
 1.49.2.3  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.49.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.49.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.51.2.2  05-Mar-2011  rmind sync with head
 1.51.2.1  30-May-2010  rmind sync with head
 1.55.22.1  18-May-2014  rmind sync with head
 1.55.18.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.55.14.1  17-Nov-2013  bouyer Apply patch, requested by gson in ticket #981:
sys/dev/ic/esiop.c 1.57 via patch
Turn the "siop_intr: I shouldn't be there !" panic message in the
esiop driver 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. Fixes PR kern/48277.
 1.55.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.57.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.58.8.1  04-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed