NetBSD/sys
bouyer 8282898f08 The loongon2f+cs5526+jmicron PATA->SATA bridge cause an interresting issue:
1) because the CS5536 is not associated with a x86 CPU, interrupts are not
  ack'ed as it expects so interrupts cannot configured as edge-triggered
  (as is expected for a PCIIDE in compat mode)
2) the PATA->SATA bridge ignores the WDC_IDS (interrupt disable bit) so
  the PATA IRQ line gets asserted when resetting or running some polled
  commands. It also wrongly asserts IRQ when the (nonexistent) slave
  device is selected
2) wouldn't be an issue with edge-triggered interrupt because we would
   get a spurious interrupt and continue operation, a new interrupt only shows
   up when the PATA IRQ line goes low and high again. But because of 1),
   we get an unclearable interrupt instead, and the system loops on the
   interrupt handler.

To workaround this, introduce a WDC_NO_IDS compile option which runs
all polled commands (including reset) at splbio() and without sleeps,
so that the controller's interrupt is effectively disabled and
won't be reenabled before the interrupt can be cleared.

The conditions triggering this problem are speficic enough to handle
this via a compile-time option; no need for a run-time (e.g. a
config(9), device property or callback to disable interrupts) solution.
2011-08-27 17:05:57 +00:00
..
altq rename the altq-defined INFINITY symbol to ALTQ_INFINITY 2010-04-09 19:32:45 +00:00
arch The loongon2f+cs5526+jmicron PATA->SATA bridge cause an interresting issue: 2011-08-27 17:05:57 +00:00
coda
common Multiprocessing fixes. 2011-06-29 05:53:44 +00:00
compat Better debugging. 2011-08-18 02:26:38 +00:00
conf The loongon2f+cs5526+jmicron PATA->SATA bridge cause an interresting issue: 2011-08-27 17:05:57 +00:00
crypto
ddb Define SYMTAB_SPACE in opt_ksyms.h, not opt_ddbparam.h. Ensure 2011-07-28 13:42:16 +00:00
dev The loongon2f+cs5526+jmicron PATA->SATA bridge cause an interresting issue: 2011-08-27 17:05:57 +00:00
dist fix an uninitialised variable problem. large-ish function, but i 2011-07-01 02:33:23 +00:00
external Requires stdint.h. 2011-08-22 00:33:16 +00:00
fs Finish and enable whiteout support for tmpfs: 2011-08-27 15:32:28 +00:00
gdbscripts fix format 2011-02-05 14:12:05 +00:00
ipkdb
kern Add an optional pglist argument to uvm_obj_wirepages, to be 2011-08-27 09:11:52 +00:00
lib Build and install ppath(3), property-list paths library. 2011-08-26 21:22:07 +00:00
miscfs fix a botch in PRIxVADDR change (rev.1.38) 2011-07-26 13:18:55 +00:00
modules Fix the ioconf files. We can't include dev/usb/files.pci and the 2011-08-25 02:07:38 +00:00
net Define if_free() for ixg(4) to use. 2011-08-12 22:09:36 +00:00
net80211 Retire varargs.h support. Move machine/stdarg.h logic into MI 2011-07-17 20:54:30 +00:00
netatalk Retire varargs.h support. Move machine/stdarg.h logic into MI 2011-07-17 20:54:30 +00:00
netbt fix comment typo 2011-08-21 14:20:34 +00:00
netinet Add 3 logging sysctls for arp from freebsd: 2011-08-27 09:05:54 +00:00
netinet6 Retire varargs.h support. Move machine/stdarg.h logic into MI 2011-07-17 20:54:30 +00:00
netipsec Retire varargs.h support. Move machine/stdarg.h logic into MI 2011-07-17 20:54:30 +00:00
netisdn
netiso Retire varargs.h support. Move machine/stdarg.h logic into MI 2011-07-17 20:54:30 +00:00
netkey Retire varargs.h support. Move machine/stdarg.h logic into MI 2011-07-17 20:54:30 +00:00
netmpls
netnatm unifdef -U__OpenBSD__ -D__NetBSD__ -U__FreeBSD__ for readability. No 2011-03-09 22:06:42 +00:00
netsmb * remove #ifdef nonsense (which caused the lossage in the first place) 2010-12-17 14:27:34 +00:00
nfs nfs_namei() should not return a non-null path buffer except on success, 2011-08-08 16:04:07 +00:00
opencrypto Fix memset usage. 2011-07-04 16:06:17 +00:00
rump Use VMEM_ADDR_MIN and VMEM_ADDR_MAX. 2011-08-25 15:14:19 +00:00
secmodel Use the socket credentials, now that we have them, instead of uidinfo. 2009-12-29 04:25:30 +00:00
stand
sys Introduce a couple of new constants, VMEM_ADDR_MIN (the least possible 2011-08-23 22:00:57 +00:00
ufs fix sign-compare warnings 2011-08-14 12:37:09 +00:00
uvm Add an optional pglist argument to uvm_obj_wirepages, to be 2011-08-27 09:11:52 +00:00
Makefile