Home | History | Annotate | Download | only in ic
History log of /src/sys/dev/ic/i82365.c
RevisionDateAuthorComments
 1.119  13-Feb-2024  andvar s/enqueing/enqueuing/ in debug messages (took a bait from recent Nick's commit)
s/occaision/occasion/ in comment.
 1.118  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.117  24-Apr-2021  thorpej branches: 1.117.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.116  13-Oct-2013  riz branches: 1.116.46;
Catch up to recent changes in config_pending_{incr,decr}().
 1.115  27-Oct-2012  chs branches: 1.115.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.114  26-Jul-2011  dyoung branches: 1.114.2; 1.114.12;
Don't set the iobase and iosize members of pcmciabus_attach_args because
they're not used in any meaningful way.
 1.113  19-Apr-2010  dyoung Add default implementations for bus_space_is_equal(9),
bus_space_tag_create(9), and bus_space_tag_destroy(9). Use
bus_space_is_equal(9) throughout the kernel to compare
bus_space_tag_t's. Tested on i386 and on sparc64.
 1.112  22-Mar-2010  dyoung #if 0 some diagnostic code that compares two bus_space_tag_t's. MI code
should not compare an opaque type such as bus_space_tag_t!
 1.111  17-Sep-2009  tsutsui branches: 1.111.2; 1.111.4;
Misc KNF and cosmetics, and remove unnecessary casts etc.
 1.110  14-Sep-2009  tsutsui Use device_private(), proper types or variables for device_t and softc.
(not yet split though)

No crash on gxemul emulating hpcmips mobilepro.
 1.109  14-Sep-2009  tsutsui u_intNN_t -> uintNN_t
 1.108  05-Aug-2009  jun fix pcic kthread creation timing.
see http://mail-index.netbsd.org/current-users/2008/07/15/msg003526.html

fix kern/41791 & port-hpcmips/41164.
ok by uwe & tsutsui
 1.107  12-May-2009  cegger struct device * -> device_t, no functional changes intended.
 1.106  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.105  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.104  06-Mar-2009  hauke Workaround from jmcneill for a panic at shutdown.

Fixes PR kern/40947 and should be pulled up to netbsd-5.
 1.103  16-Dec-2008  christos branches: 1.103.2;
replace bitmask_snprintf(9) with snprintb(3)
 1.102  08-Apr-2008  cegger branches: 1.102.4; 1.102.12; 1.102.14; 1.102.18; 1.102.20;
use aprint_*_dev and device_xname
 1.101  05-Dec-2007  ad branches: 1.101.12;
lockmgr -> mutex
 1.100  19-Oct-2007  ad branches: 1.100.2; 1.100.4;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.99  09-Jul-2007  ad branches: 1.99.6; 1.99.8; 1.99.12;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.98  04-Mar-2007  christos branches: 1.98.2; 1.98.4;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.97  16-Nov-2006  christos branches: 1.97.4;
__unused removal on arguments; approved by core.
 1.96  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.95  24-Sep-2006  jmcneill Add "name" parameter to powerhook_establish, to aid debugging. No objections
on tech-kern@
 1.94  14-Apr-2006  christos branches: 1.94.8; 1.94.10;
Coverity CID 1531: Clarify why we cannot overrun static here, and use
__arraycount() instead of #define constant.
 1.93  11-Dec-2005  christos branches: 1.93.4; 1.93.6; 1.93.8; 1.93.10; 1.93.12;
merge ktrace-lwp.
 1.92  25-Aug-2005  drochner kill a number of autoconf submatch functions which follow the
standard scheme:
if (<configured> != <wildcard> && <configured> != <real>)
then fail
else
ask device match function

This is handled by config_stdsubmatch() now.
 1.91  25-Aug-2005  drochner replace the "locdesc_t" structure carrying the number of locators
explicitely by a plain integer array
the length in now known to all relevant parties, so this avoids
duplication of information, and we can allocate that thing in
drivers without hacks
 1.90  30-May-2005  christos branches: 1.90.2;
- add missing const
- fix variable shadowing
- remove unneeded casts
 1.89  27-Feb-2005  perry nuke trailing whitespace
 1.88  04-Feb-2005  perry de-__P
 1.87  13-Sep-2004  drochner branches: 1.87.4; 1.87.6;
use locator passing versions of xxxsubmatch() and simplify the code by
using arithmetics instead of case statements
 1.86  16-Aug-2004  mycroft Simplify some manipulation of PCIC_INTR.
Further attempt to mitigate "bad Vcc" errors.
 1.85  16-Aug-2004  mycroft Some tweaks, per the PC Card spec:
* Assert RESET before powering off a socket.
* Turn on the output enable bit earlier so the interface actually drives CEn
and RESET.
* Tighten up the power-on timing a bit.
* Mention the specific timing values named in the spec.

For pccbb, be careful to always power off before zeroing PWRCTL.
 1.84  12-Aug-2004  mycroft Copyright maintenance.
 1.83  12-Aug-2004  mycroft Various cleanup:
* Clean up the socket state earlier in the attach process -- not relying on
the socket attachment to do it.
* Get rid of PCIC_LASTSTATE_HALF. It's pointless.
* In pcic_wait_ready(), also check for the card vanishing, like in pccbb.
* Assert #RESET before powering up the card, not after. (I think it was
actually okay because the value was left as 0 from a previous disable or
the initial socket attach, but...
* If the card fails to come ready, don't bother reinstating windows or
anything -- just power it down.
 1.82  11-Aug-2004  mycroft Nuke the address windows earlier, before the socket is powered up. Just in
case there are remnants left behind.
 1.81  11-Aug-2004  mycroft Be more liberal in torching the old state in the disable and settype routines.
 1.80  11-Aug-2004  mycroft Rather than having a call up from the low-level driver to get the card type,
instead have a call down from the PCMCIA mid-layer to set it. Use this from
pcmcia_function_enable(). (Currently the policy is the same, but this would
allow for more flexibility in deciding which mode to use.)

Now it is safe to hold the socket enabled during attach, so do that. Only
one enable/disable cycle to attach a card now!
 1.79  07-Aug-2004  mycroft Clear the "card type" bit when powering up the socket, to make it more robust
for memory cards.
 1.78  20-Jun-2004  thorpej Define and use pcmciabuscf_controller as an alias for
cf_loc[PCMCIABUSCF_CONTROLLER] and pcmciabuscf_socket
as an alias for cf_loc[PCMCIABUSCF_SOCKET].
 1.77  28-Dec-2003  christos make the printf statements on chip_io_map complete lines.
 1.76  12-Sep-2003  mycroft The Ricoh power hackery is not reliable -- many cards just do not have the
voltage sense wired. So, disable it and force the card to 5V by default.
Also, recode the hack to use the "direct Vcc" feature of the chip, letting
it manage the voltage directly, as this is supported on both the 296 and
396.
 1.75  05-Sep-2003  mycroft Several changes to eliminate bogus controllers and sockets from being found:

PCIC_VENDOR_NONE: New.
PCIC_VENDOR_CIRRUS_*: Collapse the 2 chips into one vendor ID.

pcic_ident_ok(): Check the ID revision field -- if it's 0, punt.

pcic_vendor(): Check the ID revision field -- if it's 0, or the ID register
is all-1s, assume there is no chip present. (Previously this would return
"Unknown controller" -- which, AFAICT, *never* resulted in a working device.)
Do the Cirrus check only after verifying that we got the Intel ID.

pcic_attach(): Use a priori knowledge of the Cirrus chips to determine the
number of sockets rather than trying (unsuccessfully) to probe. Also, just
blast all of PCIC_INTR -- we do this in pcic_deactivate_card() anyway.
 1.74  03-Sep-2003  mycroft Fix another place where we blasted PCIC_INTR_ENABLE.
 1.73  02-Sep-2003  mycroft If the frontend passes in sc->irq=0, set PCIC_INTR_ENABLE. Also, don't clear
that bit all over the bloody place
 1.72  31-Jan-2003  thorpej branches: 1.72.2;
Use aprint_*().
 1.71  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.70  01-Jan-2003  thorpej Use aprint_normal() in cfprint routines.
 1.69  24-Nov-2002  takemura 3.3V support for Ricoh 5C[23]96 parts from ngc@ff.iij4u.or.jp.
Preliminary bridge identification code from imp@village.org.
 1.68  22-Oct-2002  simonb In pcic_chip_socket_enable() we need to set "reg" ifdef PCICDEBUG as
well so we can print it out a little further on.
While here, remove an unreachable "return" statement.
 1.67  27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.66  01-Jun-2002  lukem SIMPLEQ rototill:
- implement SIMPLEQ_REMOVE(head, elm, type, field). whilst it's O(n),
this mirrors the functionality of SLIST_REMOVE() (the other
singly-linked list type) and FreeBSD's STAILQ_REMOVE()
- remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD().
this mirrors the functionality of SLIST_REMOVE_HEAD() (the other
singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD()
- remove notes about SIMPLEQ not supporting arbitrary element removal
- use SIMPLEQ_FOREACH() instead of home-grown for loops
- use SIMPLEQ_EMPTY() appropriately
- use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly
- reorder manual page; be consistent about how the types are listed
- other minor cleanups
 1.65  15-Dec-2001  soren branches: 1.65.8;
To make dev/pcmcia work on platforms with 64-bit bus_addr_t and
32-bit bus_size_t (sparc), change the pcmcia_mem_map(9) offsetp
argument to bus_size_t as it is used as a bus_space offset.
 1.64  15-Nov-2001  lukem don't need <sys/types.h> when including <sys/param.h>
 1.63  13-Nov-2001  lukem add/cleanup RCSID
 1.62  21-Feb-2001  jdolecek branches: 1.62.2; 1.62.4;
make some more constant arrays 'const'
 1.61  09-Jul-2000  mycroft Add missing newlines in some messages.
Set Vpp the same as Vcc by default. We need to do more with voltage sense.
 1.60  28-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.59  03-Apr-2000  cgd branches: 1.59.4;
actually put a _comment_ before the second read of the ident register
that Charles added in rev 1.58. Not only is it good programming practice
to explain magic, but code that looks like:

reg = pcic_read(h, PCIC_IDENT);
reg = pcic_read(h, PCIC_IDENT);

is _gonna_ be interpreted as a cut-n-paste error by someone eventually.
 1.58  02-Apr-2000  mycroft During the socket probe, read the ident register twice.
I don't understand why, but sometimes the clone chips in hpcmips boxes read
all-0s the first time.
 1.57  23-Mar-2000  thorpej New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
 1.56  27-Feb-2000  enami Remove no longer necessary workaround for hpcmips.
 1.55  27-Feb-2000  augustss Use DPRINTF for debug messages.
 1.54  27-Feb-2000  mycroft Some minor cleanup to the probe code.
 1.53  26-Feb-2000  thorpej Put a lock on the pcic, to serialize access to the chip during event
handling. This is important when multiple cards are present when
the system boots, as we use tsleep now instead of delay in various
places (delay used to provide serialization by virtue of not causing
a context switch).
 1.52  25-Feb-2000  mycroft Be even more careful about cleaning up the socket at boot time.
Also, nuke the windows when the socket is disabled. (They might be deallocated
and reallocated, and would thus cause a conflict.)
 1.51  25-Feb-2000  mycroft Disable all windows at boot time, to avoid conflicts when reading the CIS.
Also, GC a small bit of code that's inaccesible after the previous change.
 1.50  25-Feb-2000  mycroft If we fail to attach the socket driver, clear PCIC_FLAG_SOCKETP so that we
don't try to use the socket any further. (This will only happen if the user
explicitly unconfigured some of the sockets.)
 1.49  22-Feb-2000  enami Cosmetic changes.
 1.48  21-Feb-2000  dbj added wmesg argument to pcic_delay debug printout
 1.47  10-Feb-2000  chopps always map attr memory 8 bit, since its defined that way.
 1.46  05-Feb-2000  nathanw LP64 printf fixes.
 1.45  05-Feb-2000  enami Yet anothor workaround for hpcmips. I guess real problem is somewhere else...

With rev.1.37, my MobileGearII for DoCoMo finds both ne0 and wd0
even if pcic_delay_sleep is 1.
With rev 1.40, it fails to find wd0.
 1.44  04-Feb-2000  enami s/SYSTEM/SYSMEM/; so that this file compiles again.
 1.43  04-Feb-2000  joda fix previous broken commit of the 8-bit memory handling (spotted
by Christian Hopps); this will enable 16-bit memory accesses for devices
that can handle it
 1.42  04-Feb-2000  itojun cope with card insertion/removal during suspend-resume session.
(removal/ insertion after suspend and before resume)

How should we deal with card swaps?
 1.41  04-Feb-2000  chopps keep track of the enabled state of a socket
 1.40  03-Feb-2000  enami Remove temporary workaround for hpcmips. Now it works without it.
 1.39  03-Feb-2000  enami Cosmetic changes; remove unnecessary semi-colon.
 1.38  03-Feb-2000  chopps attempt to make this more like the std indicates
 1.37  02-Feb-2000  enami Fix typo; not PCIC_DEBUG but PCICDEBUG.
 1.36  02-Feb-2000  enami - No need to wait in pcic_chip_socket_disable. It was intended to keep
some period between disable and enable in spec, but is done in
pcic_chip_socket_disable. And we also disable socket in pcic_deactivate_card,
we should do it in another way if it is really necessary.
- Shorten the wait message so that ps(1) and ps in ddb be happy.
- Replace newly added long delay with sleep.
 1.35  02-Feb-2000  enami Cosmetic changes.
 1.34  02-Feb-2000  chopps do something more like pccbbs chip_enable. don't enable interrupts
until we have everything else setup..
 1.33  01-Feb-2000  chopps implement probing for available irqs on non-cirrus pcmcia controllers
including cardbus controllers running in pcic mode
 1.32  27-Jan-2000  enami Use delay by default on hpcmips for now.
 1.31  25-Jan-2000  chopps make the wait_ready loop use pcic_delay() (thus tsleep) too for cards
that take a while to become ready
 1.30  25-Jan-2000  enami Replace long delay with sleep.
 1.29  25-Jan-2000  enami Use config_pending and let the kernel thread to attach a card even on boot.
 1.28  13-Jan-2000  joda (pcic_chip_do_mem_map): handle 8-bit memory
 1.27  02-Jan-2000  sommerfeld minor KNF tweaks
 1.26  01-Jan-2000  sommerfeld On a cold suspend to disk, the Sony VAIO Z505 BIOS appears to not
preserve enough of the state of the PCIC to keep it interrupting on
card insertion/removal..

Add a power hook to notice if the CSC_INTR device register is zeroed
on resume, and if so, reset it to a sane value.
 1.25  15-Oct-1999  haya branches: 1.25.2;
This is the first check-in of CardBus driver. CardBus driver contains
CardBus bus stub, YENTA PCI-CardBus bridge (cbb), 3Com 3C575TX driver
(ex) and Intel fxp driver.

TODO:
o Conform to the KNF more strictly.
o Be unified with pcmcia code as much as possible.
o Add more drivers for CardBus card, such as APA-1480 or USB card.

The affected files are listed below.

sys/arch/i386/conf/files.i386
sys/arch/macppc/conf/files.macppc
sys/conf/files
sys/dev/ic/elinkxl.c
sys/dev/ic/elinkxlvar.h
sys/dev/ic/i82365.c
sys/dev/ic/i82365var.h
sys/dev/isa/i82365_isasubr.c
sys/dev/pci/files.pci
sys/dev/pcmcia/pcmcia.c
sys/dev/pcmcia/pcmciachip.h

The added files are listed below.

sys/arch/i386/conf/CARDBUS
sys/arch/i386/include/rbus_machdep.h
sys/arch/i386/i386/rbus_machdep.c
sys/arch/macppc/include/rbus_machdep.h
sys/arch/macppc/macppc/rbus_machdep.c
sys/dev/cardbus/if_ex_cardbus.c
sys/dev/cardbus/Makefile.cardbusdevs
sys/dev/cardbus/cardbus.c
sys/dev/cardbus/cardbus_map.c
sys/dev/cardbus/cardbusdevs
sys/dev/cardbus/cardbusdevs.h
sys/dev/cardbus/cardbusdevs_data.h
sys/dev/cardbus/cardbusvar.h
sys/dev/cardbus/cardslot.c
sys/dev/cardbus/cardslotvar.h
sys/dev/cardbus/devlist2h.awk
sys/dev/cardbus/files.cardbus
sys/dev/cardbus/if_fxp_cardbus.c
sys/dev/cardbus/pccardcis.h
sys/dev/cardbus/rbus.c
sys/dev/cardbus/rbus.h
sys/dev/pci/pccbb.c
sys/dev/pci/pccbbreg.h
sys/dev/pci/pccbbvar.h
 1.24  06-Jul-1999  thorpej branches: 1.24.2;
Make the kthread API a bit more friendly to loadable kernel modules.
 1.23  19-Feb-1999  mycroft branches: 1.23.4;
Oops; PCIC_INTR_ENABLE does something *very* different.
 1.22  19-Feb-1999  mycroft Yet another path where we need to set PCIC_INTR_ENABLE.
 1.21  01-Feb-1999  marc - make sure that sc->handle[i].flags is initialized in all cases
- check PCIC_FLAG_SOCKETP before disabling the CSC_INTR.
 1.20  21-Jan-1999  msaitoh Fix about insertion/removal event problem.
 1.19  01-Jan-1999  christos PR/6669: Michael Eriksson: pcic_chip_mem_alloc() can't handle large requests
 1.18  25-Dec-1998  msaitoh fix incorrect panic message
 1.17  20-Dec-1998  nathanw Fix up support for PCI attachments of pcic devices on i386 in general,
and the Cirrus Logic CL-PD6729 in particular.

From danw@mit.edu in PR port-i386/6436.
 1.16  27-Nov-1998  thorpej Update for new pcmciabus attribute.
 1.15  17-Nov-1998  thorpej Finish implementing interrupt-driven card insertion and removal support.

- Deactivate the card on removal and queue a REMOVAL event for the socket's
event thread to finish the detach.
- Queue an INSERTION event for the socket's event thread on insertion.

Implement a few missing infrastructure pieces to support this.

Hot swapping of PCMCIA cards now "works". (Not quite; things like network
devices need changes for their respestive subsystems. These changes are
coming soon...)
 1.14  16-Nov-1998  thorpej Implement a kernel thread per PCMCIA socket to handle card insertion and
removal events.
 1.13  09-Nov-1998  msaitoh Sorry, I forgot to revert "#if 0".
 1.12  05-Nov-1998  msaitoh fix pcic_chip_socket_enable() to works on more machines.
 1.11  15-Oct-1998  mycroft pcic_wait_ready(): If we didn't get READY, print out the current status.
 1.10  09-Jun-1998  thorpej Nuke __BROKEN_INDIRECT_CONFIG.
 1.9  05-May-1998  enami When changing power, wait enough to keep timing constraint
described in PCMCIA specification.
 1.8  01-Feb-1998  marc move pcic_wait_ready from i82365var.h to i82365.c
 1.7  12-Jan-1998  thorpej Adjust for config changes.
 1.6  19-Oct-1997  enami branches: 1.6.2;
Fix typo; hang binary operator at the end of previous line.
 1.5  19-Oct-1997  enami Include locators.h and use symbolic name comes from it.
 1.4  17-Oct-1997  enami Define width_names[] only when PCICDEBUG is defined.
 1.3  17-Oct-1997  enami No need to cast a generic pointer.
 1.2  16-Oct-1997  thorpej Pull marc-pcmcia branch down to trunk.
 1.1  30-Jul-1997  marc branches: 1.1.2;
file i82365.c was initially added on branch marc-pcmcia.
 1.1.2.16  17-Oct-1997  enami Define width_names[] only when PCICDEBUG is defined.
 1.1.2.15  16-Oct-1997  thorpej Copyright/license update.
 1.1.2.14  16-Oct-1997  thorpej Pass down the start and side of the i/o space allocation range to
the "pcmcia" layer so that drivers with Very Special i/o space allocation
needs can know what range they should be dealing with.
 1.1.2.13  16-Oct-1997  enami Handle the case PCMCIA_WIDTH_AUTO.
 1.1.2.12  16-Oct-1997  thorpej KNF, RCS IDs.
 1.1.2.11  14-Oct-1997  thorpej Allow the i/o address alignment to be specified in the call to
pcmcia_io_alloc(). If the caller does not care about the alignment, 0
should be passed.
 1.1.2.10  27-Sep-1997  marc add power management support.
 1.1.2.9  04-Sep-1997  jtk fix typo resulting from code cut&paste
 1.1.2.8  28-Aug-1997  marc Rip out all the isa-specific code, so this can be shared with a pci
attachment.
 1.1.2.7  23-Aug-1997  thorpej Add stub socket enable/disable functions.
 1.1.2.6  14-Aug-1997  jtk add PCIC_ALLOC_IOBASE option & patchable value, so hardware with
missing address lines can be configured to allocate addresses that work

fix case where irq on pcic? is hardwired in config file

print out port ranges used by configured devices
 1.1.2.5  11-Aug-1997  thorpej In the chip-level interrupt establish functions, check the pcmcia function's
configuration entry, making note of the interrupt sharing type. Pass the
correct type to isa_intr_alloc(), so that dynamically allocated interrupts
can be shared.

Also, provide a compile-time/patchable variable that sets the valid
IRQ mask for IRQ allocation, in order to deal with some chipsets that
seem to only allow one IRQ for PCMCIA devices.
 1.1.2.4  10-Aug-1997  thorpej Create a structure to encapsulate information about allocated i/o and
mem space on the pcmcia bus. Use this in chip-level window enable
functions rather than making assumptions about the bus space handles.
 1.1.2.3  31-Jul-1997  thorpej In pcic_chip_intr_establish():
- Update for additional "irqmask" argument.
- Don't attempt to allocate IRQs that are not in the PCIC's list of
valid IRQs.
- Clear the IRQ bits in the PCIC_INTR register value before OR'ing in
the new value, to avoid accidentally setting a bogus IRQ.

In pcic_chip_intr_disestablish():
- Before removing the interrupt handler, clear the IRQ and "enable" bits
in the PCIC_INTR register so that we don't get spurious interrupts
later.
 1.1.2.2  30-Jul-1997  thorpej If Really Verbse Debugging is compiled in, use a patchable variable to
turn the messages on/off, so you can clean up the output without rebuilding.
 1.1.2.1  30-Jul-1997  marc added pcmcia infrastructure and a few devices
 1.6.2.1  02-Feb-1999  cgd patch to improve PCMCIA card powerup sequence, assembled from
parts (but not all) of various revisions in -current. (msaitoh)
 1.23.4.1  02-Aug-1999  thorpej Update from trunk.
 1.24.2.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.25.2.2  12-Mar-2001  bouyer Sync with HEAD.
 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.
 1.59.4.1  27-Jul-2000  mycroft Approved by thorpej:
Set Vpp=Vcc.
Add missing newlines in some messages.

syssrc/sys/dev/ic/i82365.c 1.60 -> 1.61
 1.62.4.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.62.4.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.62.4.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.62.2.8  03-Jan-2003  thorpej Sync with HEAD.
 1.62.2.7  11-Dec-2002  thorpej Sync with HEAD.
 1.62.2.6  11-Nov-2002  nathanw Catch up to -current
 1.62.2.5  18-Oct-2002  nathanw Catch up to -current.
 1.62.2.4  24-Jun-2002  nathanw Curproc->curlwp renaming.

Change uses of "curproc->l_proc" back to "curproc", which is more like the
original use. Bare uses of "curproc" are now "curlwp".

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).
 1.62.2.3  20-Jun-2002  nathanw Catch up to -current.
 1.62.2.2  08-Jan-2002  nathanw Catch up to -current.
 1.62.2.1  14-Nov-2001  nathanw Catch up to -current.
 1.65.8.1  20-Jun-2002  gehenna catch up with -current.
 1.72.2.8  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.72.2.7  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.72.2.6  04-Feb-2005  skrll Sync with HEAD.
 1.72.2.5  21-Sep-2004  skrll Fix the sync with head I botched.
 1.72.2.4  18-Sep-2004  skrll Sync with HEAD.
 1.72.2.3  25-Aug-2004  skrll Sync with HEAD.
 1.72.2.2  12-Aug-2004  skrll Sync with HEAD.
 1.72.2.1  03-Aug-2004  skrll Sync with HEAD
 1.87.6.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.87.6.1  12-Feb-2005  yamt sync with head.
 1.87.4.1  29-Apr-2005  kent sync with -current
 1.90.2.5  07-Dec-2007  yamt sync with head
 1.90.2.4  27-Oct-2007  yamt sync with head.
 1.90.2.3  03-Sep-2007  yamt sync with head.
 1.90.2.2  30-Dec-2006  yamt sync with head.
 1.90.2.1  21-Jun-2006  yamt sync with head.
 1.93.12.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.93.10.1  19-Apr-2006  elad sync with head.
 1.93.8.1  24-May-2006  yamt sync with head.
 1.93.6.1  22-Apr-2006  simonb Sync with head.
 1.93.4.1  09-Sep-2006  rpaulo sync with head
 1.94.10.2  10-Dec-2006  yamt sync with head.
 1.94.10.1  22-Oct-2006  yamt sync with head
 1.94.8.1  18-Nov-2006  ad Sync with head.
 1.97.4.1  12-Mar-2007  rmind Sync with HEAD.
 1.98.4.1  11-Jul-2007  mjf Sync with head.
 1.98.2.5  23-Oct-2007  ad Sync with head.
 1.98.2.4  01-Jul-2007  ad Adapt to callout API change.
 1.98.2.3  13-May-2007  ad - Pass the error number and residual count to biodone(), and let it handle
setting error indicators. Prepare to eliminate B_ERROR.
- Add a flag argument to brelse() to be set into the buf's flags, instead
of doing it directly. Typically used to set B_INVAL.
- Add a "struct cpu_info *" argument to kthread_create(), to be used to
create bound threads. Change "bool mpsafe" to "int flags".
- Allow exit of LWPs in the IDL state when (l != curlwp).
- More locking fixes & conversion to the new API.
 1.98.2.2  10-Apr-2007  ad Nuke the deferred kthread creation stuff, as it's no longer needed.
Pointed out by thorpej@.
 1.98.2.1  09-Apr-2007  ad - Add two new arguments to kthread_create1: pri_t pri, bool mpsafe.
- Fork kthreads off proc0 as new LWPs, not new processes.
 1.99.12.1  25-Oct-2007  bouyer Sync with HEAD.
 1.99.8.2  09-Jan-2008  matt sync with HEAD
 1.99.8.1  06-Nov-2007  matt sync with HEAD
 1.99.6.2  09-Dec-2007  jmcneill Sync with HEAD.
 1.99.6.1  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.100.4.1  08-Dec-2007  ad Sync with head.
 1.100.2.1  08-Dec-2007  mjf Sync with HEAD.
 1.101.12.2  17-Jan-2009  mjf Sync with HEAD.
 1.101.12.1  02-Jun-2008  mjf Sync with HEAD.
 1.102.20.1  21-Apr-2010  matt sync to netbsd-5
 1.102.18.1  14-Aug-2009  snj Pull up following revision(s) (requested by jun in ticket #899):
sys/dev/ic/i82365.c: revision 1.108
fix pcic kthread creation timing.
see http://mail-index.netbsd.org/current-users/2008/07/15/msg003526.html
fix kern/41791 & port-hpcmips/41164.
ok by uwe & tsutsui
 1.102.14.1  14-Aug-2009  snj Pull up following revision(s) (requested by jun in ticket #899):
sys/dev/ic/i82365.c: revision 1.108
fix pcic kthread creation timing.
see http://mail-index.netbsd.org/current-users/2008/07/15/msg003526.html
fix kern/41791 & port-hpcmips/41164.
ok by uwe & tsutsui
 1.102.12.2  28-Apr-2009  skrll Sync with HEAD.
 1.102.12.1  19-Jan-2009  skrll Sync with HEAD.
 1.102.4.6  11-Aug-2010  yamt sync with head.
 1.102.4.5  11-Mar-2010  yamt sync with head
 1.102.4.4  16-Sep-2009  yamt sync with head
 1.102.4.3  19-Aug-2009  yamt sync with head.
 1.102.4.2  16-May-2009  yamt sync with head
 1.102.4.1  04-May-2009  yamt sync with head.
 1.103.2.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.111.4.1  30-May-2010  rmind sync with head
 1.111.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.114.12.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.114.12.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.114.2.2  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.114.2.1  30-Oct-2012  yamt sync with head
 1.115.2.1  18-May-2014  rmind sync with head
 1.116.46.2  22-Mar-2021  thorpej Audit CFARG_IATTR in config_found() calls, and remove it in situations
where the interface attribute is not ambiguous.
 1.116.46.1  22-Mar-2021  thorpej Mechanical conversion of config_found_sm_loc() -> config_found().
CFARG_IATTR usage needs to be audited.
 1.117.8.1  04-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed