freebsd-skq/sys
yongari 6e21ff9f00 Bring busdmafied sk(4) to all architectures.
- MPSAFE. No more recursive lock required.
- bus_dma(9) conversion. I think it should work on all architectures.
- optimized Rx handler for each normal and jumbo frames. Previously
  sk(4) used jumbo frame management code to handle normal sized
  frames. As the handler needs an additional lock to protect jumbo
  frame management structure from races, it used two lock operations
  for each received packet. Now sk(4) uses single lock operation for
  normal frame.(Jumbo frame still needs two lock operations as before.)
  The hardware supports DMA scatter operations for Rx descriptors such
  that it's possible to take advantagee of m_cljget(9) for jumbo frames.
  However, due to a unknown reasons it resulted in poor performance on
  sparc64. So I dropped m_cljget(9) approach. This should be revisited
  since it would reduce one lock operation for jumbo frame handling.
- Tx TCP/Rx IP checksum offload support. According to the data sheet
  of SK-NET GENESIS the hardware supports Rx IP/TCP/UDP offload.
  But I couldn't make it work on my Yukon hardware. So Rx TCP/UDP was
  disabled at the moment. It seems that newer Yukon chips can support
  Tx UDP checksum offload too. But I need more documentation first.
- Added more wait time in reading VPD data. It seems that ASUS LOM
  takes a very long time to respond VPD read signal.
- Added an additional lock for MII register access callbacks.
- Added more strict received packet validation routine. Previously it
  passed corrupted packets to upper layers under certain conditions.
- A new function sk_yukon_tick() to handle auto-negotiation properly.
- Interrupt handler now checks shared interrupt source and protects
  the interrupt handler from NULL pointer dereference which was caused
  by odd status word value. The status word can returns 0xffffffff if
  cable is unplugged while Rx/Tx/auto-negotiation is in progress.
- suspend/resume support(not tested).
- Added Rx/Tx FIFO flush routine for Yukon
- Activate Tx descriptor poll timer in order to protect possible loss
  of SK_TXBMU_TX_START command. Previously the driver continuously issued
  SK_TXBMU_TX_START when it notices pending Tx descriptors not processed
  yet in interrupt handler. That approach would add additional PCI
  write access overhead under high Tx load situations and it might fail
  if the first SK_TXBMU_TX_START was lost and no interrupt is generated
  from the first SK_TXBMU_TX_START command.
- s/printf/if_printf/, s/printf/device_printf/, Axe sk_unit in softc.
- Setting multicast/station address is now safe on strict-alignment
  architectures.
- Fix long standing bug in VLAN header length setup.
- Added/corrected register definitions for Yukon.
  (Register information from Linux skge driver.)
- Added Rx status definition for Marvell Yukon/XaQti XMAC.
  (Rx status register information from Linux skge driver.)
- Update if_oerrors if we encounter watchdog error.
- callout(9) conversion

Special thanks to jkim who let me know RX status differences between
Yukon and XaQti XMAC.
It seems that there is still occasional watchdog timeout error but I
couldn't reproduce it and need more information to analyze it from
users.

Tested by:	bz(amd64), me(i386, sparc64), current ML
		Frank Behrens frank ! pinky ( sax $ de
2006-04-27 05:59:09 +00:00
..
alpha Move AHC_REG_PRETTY_PRINT and AHD_REG_PRETTY_PRINT below 2006-04-24 08:44:34 +00:00
amd64 Move vm.pmap.pv_entry_count out from the PV_STATS ifdefs. It is always 2006-04-26 21:34:07 +00:00
arm MFother arches : 2006-04-22 22:51:32 +00:00
boot Use PTOV() to convert physical addresses to appropriate virtual addresses 2006-04-25 18:42:22 +00:00
bsm Update src/sys/bsm for OpenBSM 1.0 alpha 5 changes: 2006-03-04 16:54:21 +00:00
cam Actually check to see if XPT_CALC_GEOMETRY had an error 2006-04-18 22:01:59 +00:00
coda CODA_COMPAT_5 may not be defined unconditionally in the coda5 module. 2006-02-27 12:04:13 +00:00
compat Annotate uses of fgetsock() with indications that they should rely 2006-04-01 15:25:01 +00:00
conf The sk(4) driver has moved to /sys/dev/sk 2006-04-27 00:14:02 +00:00
contrib fix "ipf -Z" reporting rubbish and possibly panic'ing box 2006-04-18 13:24:14 +00:00
crypto padlock(4) doesn't support explicitly provided keys yet. 2006-04-20 06:31:44 +00:00
ddb - Overhaul the 'ps' command in ddb to be mostly readable again. :) It is 2006-04-25 20:34:04 +00:00
dev Bring busdmafied sk(4) to all architectures. 2006-04-27 05:59:09 +00:00
doc
fs Remove unused prototypes. 2006-04-12 12:17:29 +00:00
gdb add support for copying console messages to a remote gdb 2006-03-23 23:06:14 +00:00
geom geli(8) provides keys on newsession time, so remove CRD_F_KEY_EXPLICIT flag 2006-04-20 06:33:46 +00:00
gnu Repair ext2fs writes. 2006-04-13 19:37:32 +00:00
i4b
i386 In the case when reset via keyboard controller doesn't work for some reason 2006-04-27 05:18:26 +00:00
ia64 In nexus_teardown_intr(), actually remove the handler. 2006-04-21 16:12:28 +00:00
isa Committed the xbox syscons(8)-able console driver. 2006-03-03 14:52:57 +00:00
isofs/cd9660 When encountering a ISO_SUSP_CFLAG_ROOT element in Rock Ridge 2006-03-13 22:32:33 +00:00
kern move remaining sysctl into the kern.sched tree... 2006-04-26 19:42:38 +00:00
libkern Convert function declarations to ANSI C. 2006-01-22 00:46:40 +00:00
modules The sk(4) driver has moved to /sys/dev/sk 2006-04-27 00:14:02 +00:00
net Use ANSI C function protypes and declarations for if_arcsubr. 2006-04-12 07:44:31 +00:00
net80211 back out public safety-specific channel number mapping; we can't do 2006-04-26 16:00:37 +00:00
netatalk White space consistency with kasserts. Minor style tweaks. 2006-04-01 16:54:37 +00:00
netatm Chance protocol switch method pru_detach() so that it returns void 2006-04-01 15:42:02 +00:00
netgraph o Replace disappeared URLs to Cisco docs by new ones, style. 2006-04-25 20:01:50 +00:00
netinet In in_pcbdrop(), fix !INVARIANTS build. 2006-04-25 23:23:13 +00:00
netinet6 Move lock assertions to top of in6_pcbladdr(): we still want them to run 2006-04-25 12:09:58 +00:00
netipsec Hide net.inet.ipsec.test_{replay,integrity} sysctls under #ifdef REGRESSION. 2006-04-10 15:04:36 +00:00
netipx Make this compile without INVARIANTS. 2006-04-11 23:15:47 +00:00
netkey In raw and raw-derived socket types, maintain and enforce invariant that 2006-04-01 15:55:44 +00:00
netnatm style(9) treatment following fixups. 2006-04-23 16:33:56 +00:00
netncp In ncp_sysctl_connstat(), the SLIST_FOREACH() logic to check 'error' 2006-01-14 11:40:32 +00:00
netsmb Retire NETSMBCRYPTO as a kernel option and make its functionality 2006-03-05 22:52:17 +00:00
nfs
nfs4client Use nfs4_disconnect for connections opened with nfs4_connect. 2006-01-19 22:48:31 +00:00
nfsclient Keep track of the number of in-progress async direct IO writes in the nfsnode. 2006-04-06 01:20:30 +00:00
nfsserver Bump up the NFS server dupreq cache limit to 2K (from 64). With a small 2006-04-25 00:21:56 +00:00
opencrypto Be sure to wakeup the crypto thread when new request was queued. 2006-04-11 18:01:04 +00:00
pc98 o Move ISA specific code from ppc.c to ppc_isa.c -- a bus front- 2006-04-24 23:31:51 +00:00
pccard I don't believe these are used at all, and can be safely removed 2006-01-15 06:49:28 +00:00
pci The sk(4) driver has moved to /sys/dev/sk 2006-04-27 00:14:02 +00:00
posix4 Use proc lock to prevent a thread from exiting, Giant was no longer used to 2006-04-10 04:55:59 +00:00
powerpc Set the rid for any resource obtained from rman_resource_reserve. 2006-04-20 04:19:10 +00:00
rpc Fix up some cut-n-paste damage and some out-of-date comments. 2006-01-20 15:20:41 +00:00
security Reconstitute struct mac_policy_ops by breaking out individual function 2006-04-26 14:18:55 +00:00
sparc64 Move AHC_REG_PRETTY_PRINT and AHD_REG_PRETTY_PRINT below 2006-04-24 08:44:34 +00:00
sys Reconstitute struct mac_policy_ops by breaking out individual function 2006-04-26 14:18:55 +00:00
tools Fix a leftover "iwi_boot" string. 2006-01-30 16:32:08 +00:00
ufs Revert previous to this file before an actual request is made. 2006-04-22 04:22:15 +00:00
vm Add synchronization to vm_pageq_add_new_page() so that it can be called 2006-04-25 17:27:24 +00:00
Makefile Reimplementation of world/kernel build options. For details, see: 2006-03-17 18:54:44 +00:00