freebsd-dev/sys
John Baldwin fb610ca1f9 Minor fixes and tweaks to the x86 interrupt code:
- Split the intr_table_lock into an sx lock used for most things, and a
  spin lock to protect intrcnt_index.  Originally I had this as a spin lock
  so interrupt code could use it to lookup sources.  However, we don't
  actually do that because it would add a lot of overhead to interrupts,
  and if we ever do support removing interrupt sources, we can use other
  means to safely do so w/o locking in the interrupt handling code.
- Replace is_enabled (boolean) with is_handlers (a count of handlers) to
  determine if a source is enabled or not.  This allows us to notice when
  a source is no longer in use.  When that happens, we now invoke a new
  PIC method (pic_disable_intr()) to inform the PIC driver that the
  source is no longer in use.  The I/O APIC driver frees the APIC IDT
  vector when this happens.  The MSI driver no longer needs to have a
  hack to clear is_enabled during msi_alloc() and msix_alloc() as a result
  of this change as well.
- Add an apic_disable_vector() to reset an IDT vector back to Xrsvd to
  complement apic_enable_vector() and use it in the I/O APIC and MSI code
  when freeing an IDT vector.
- Add a new nexus hook: nexus_add_irq() to ask the nexus driver to add an
  IRQ to its irq_rman.  The MSI code uses this when it creates new
  interrupt sources to let the nexus know about newly valid IRQs.
  Previously the msi_alloc() and msix_alloc() passed some extra stuff
  back to the nexus methods which then added the IRQs.  This approach is
  a bit cleaner.
- Change the MSI sx lock to a mutex.  If we need to create new sources,
  drop the lock, create the required number of sources, then get the lock
  and try the allocation again.
2007-05-08 21:29:14 +00:00
..
amd64 Minor fixes and tweaks to the x86 interrupt code: 2007-05-08 21:29:14 +00:00
arm Define every architecture as either VM_PHYSSEG_DENSE or 2007-05-05 19:50:28 +00:00
boot fixup talk of kern.maxswzone... It's been 32MB for almost 5 years now... 2007-05-05 17:36:42 +00:00
bsm Change $P4$ ID strings to P4 ID strings so that they are not auto-expanded 2007-04-17 12:27:08 +00:00
cam Only schedule the xpt_finishconfig_task once. This fixes some potential 2007-04-27 14:23:05 +00:00
cddl - Add missing lock destruction and remove duplicate initializations. 2007-05-06 19:05:37 +00:00
coda Make insmntque() externally visibile and allow it to fail (e.g. during 2007-03-13 01:50:27 +00:00
compat Share-lock a vnode where possible. 2007-05-02 01:03:10 +00:00
conf Make interrupt filtering support compilable. 2007-05-06 17:04:34 +00:00
contrib - Add missing lock destruction and remove duplicate initializations. 2007-05-06 19:05:37 +00:00
crypto Overhaul driver/subsystem api's: 2007-03-21 03:42:51 +00:00
ddb Use FOREACH_PROC_IN_SYSTEM instead of using its unrolled form. 2007-01-17 15:05:52 +00:00
dev o Add AnyData ADU-E100H modem. Sort a list of ubsa(4) supported devices. 2007-05-08 18:51:40 +00:00
fs The process lock is held when procfs_ioctl() is called. Assert that this 2007-05-01 12:59:20 +00:00
gdb
geom MFp4: 2007-05-08 20:18:17 +00:00
gnu Change #include <machine/pcpu.h> to #include <sys/pcpu.h> 2007-04-01 12:48:10 +00:00
i4b Tell the user when the setup of the interrupt handler failed and return 2007-04-01 16:52:54 +00:00
i386 Minor fixes and tweaks to the x86 interrupt code: 2007-05-08 21:29:14 +00:00
ia64 Define every architecture as either VM_PHYSSEG_DENSE or 2007-05-05 19:50:28 +00:00
isa When trying to allocate a PnP BIOS memory resource, the code loops trying 2007-04-17 15:14:23 +00:00
kern Add missing socket buffer unlock before returning to userland. 2007-05-08 12:34:14 +00:00
libkern strchr() and strrchr() are already present in the kernel, but with less 2007-04-10 21:42:12 +00:00
modules Fix kldloading if_em by compiling missing source file. 2007-05-07 09:55:25 +00:00
net - Correctly check if lp_ioctl is null 2007-05-07 09:53:02 +00:00
net80211 - Nuke unnecessary header. 2007-05-05 11:07:52 +00:00
netatalk Use privilege PRIV_NET_ADDIFADDR rather than suser() to authorize 2007-02-19 22:40:02 +00:00
netatm Fix use after free bug: use temporary variable to hold next entry in linked 2007-04-03 12:45:10 +00:00
netgraph Avoid extra rc4_init() when ng_mppc_updatekey() going to do it anyway. 2007-05-04 16:20:47 +00:00
netinet - Copyright change, cisco's silly tool wants it to say: 2007-05-08 17:01:12 +00:00
netinet6 Reduce the default number of header options that the IPv6 protocol 2007-05-08 20:11:36 +00:00
netipsec Update comment regarding how we check privilege on FreeBSD: we now use 2007-04-10 16:09:00 +00:00
netipx Build ipx_ip.c only if options IPXIP is defined. No functional change. 2007-02-26 11:55:34 +00:00
netkey
netnatm s/destory/destroy/ (except for the code in contrib/). 2007-04-16 12:31:35 +00:00
netncp Use pause() rather than tsleep() on stack variables and function pointers. 2007-02-27 17:23:29 +00:00
netsmb Replace custom file descriptor array sleep lock constructed using a mutex 2007-04-04 09:11:34 +00:00
nfs
nfs4client Rename some functions and variables from nfs_* to nfs4_* to avoid 2007-01-25 14:33:13 +00:00
nfsclient Various fixes to the NFS Directio support. 2007-04-25 20:34:55 +00:00
nfsserver Remove MAC Framework access control check entry points made redundant with 2007-04-22 15:31:22 +00:00
opencrypto Replace custom file descriptor array sleep lock constructed using a mutex 2007-04-04 09:11:34 +00:00
pc98 Remove trailing '.' for consistency! 2007-04-10 21:40:13 +00:00
pccard
pci Add VLAN capability. 2007-04-23 12:19:02 +00:00
powerpc Define every architecture as either VM_PHYSSEG_DENSE or 2007-05-05 19:50:28 +00:00
rpc Move rpc/types.h under sys/, as this is used by ZFS kernel module. 2007-04-10 22:10:16 +00:00
security Don't expose #ifdef NOTYET parts to userspace via audit_ioctl.h, just 2007-04-29 16:20:32 +00:00
sparc64 Define every architecture as either VM_PHYSSEG_DENSE or 2007-05-05 19:50:28 +00:00
sun4v Define every architecture as either VM_PHYSSEG_DENSE or 2007-05-05 19:50:28 +00:00
sys Bring in the reminaing bits to make interrupt filtering work: 2007-05-06 17:02:50 +00:00
tools Catch up with ACPI-CA 20070320 import. 2007-03-22 18:16:43 +00:00
ufs Add a newline to the printf message. 2007-05-03 22:39:52 +00:00
vm Define every architecture as either VM_PHYSSEG_DENSE or 2007-05-05 19:50:28 +00:00
Makefile o Add bsm and security to a list of cscope dirs. 2007-04-14 16:29:15 +00:00