The NetBSD Project

CVS log for src/sys/dev/pci/if_bgevar.h

[BACK] Up to [cvs.NetBSD.org] / src / sys / dev / pci

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.40.4.1: download - view: text, markup, annotated - select for diffs
Sun Oct 13 15:44:54 2024 UTC (8 weeks, 2 days ago) by martin
Branches: netbsd-10
Diff to: previous 1.40: preferred, colored; next MAIN 1.41: preferred, colored
Changes since revision 1.40: +64 -40 lines
Pull up following revision(s) (requested by skrll in ticket #968):

	sys/dev/pci/if_bgevar.h: revision 1.41
	sys/dev/pci/if_bgevar.h: revision 1.42
	sys/dev/pci/if_bge.c: revision 1.394

s/jumo/jumbo/ in comments.

Apply changes from PR/58584 after testing (and fixing).
Tested on an Apple M1.

Revision 1.42: download - view: text, markup, annotated - select for diffs
Wed Aug 28 05:58:11 2024 UTC (3 months, 1 week ago) by skrll
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +64 -40 lines
Apply changes from PR/58584 after testing (and fixing).

Tested on an Apple M1.

Revision 1.41: download - view: text, markup, annotated - select for diffs
Tue Feb 21 22:13:02 2023 UTC (21 months, 2 weeks ago) by andvar
Branches: MAIN
CVS tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +2 -2 lines
s/jumo/jumbo/ in comments.

Revision 1.40: download - view: text, markup, annotated - select for diffs
Sun Sep 4 08:50:25 2022 UTC (2 years, 3 months ago) by skrll
Branches: MAIN
CVS tags: netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Branch point for: netbsd-10
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +4 -1 lines
bge(4): fix the MP improvements and improve some more.

- Have two locks sc_core_lock at IPL_NONE and sc_intr_lock at IPL_NET and
  use appropriately.

- Use stopping flags instead of bge_if_flags so that bge_if_flags only
  needs to be protected by the sc_core_lock

- Use ifmedia_init_with_lock and provide the sc_intr_lock. mii operatiions
  are done from the interrupt handler.

- Fixup locking in bge_detach.

- Rename bge_watchdog to bge_watchdog_tick to avoid confusion with the
  if_watchdog method.

- Sprinkle some more asserts.

Revision 1.39: download - view: text, markup, annotated - select for diffs
Fri Sep 2 06:51:24 2022 UTC (2 years, 3 months ago) by skrll
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +35 -35 lines
Whitespace - mostly align the line continutation characters

Revision 1.38: download - view: text, markup, annotated - select for diffs
Sat Aug 27 06:32:53 2022 UTC (2 years, 3 months ago) by skrll
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +2 -2 lines
Convert bge_pending_rxintr_change to a bool (from int)

Revision 1.37: download - view: text, markup, annotated - select for diffs
Fri Aug 26 07:22:45 2022 UTC (2 years, 3 months ago) by skrll
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +1 -4 lines
G/C unused softc members

Revision 1.36: download - view: text, markup, annotated - select for diffs
Fri Aug 19 07:52:22 2022 UTC (2 years, 3 months ago) by skrll
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +2 -2 lines
Make bge_detaching a bool. NFC.

Revision 1.35: download - view: text, markup, annotated - select for diffs
Fri Aug 19 07:48:43 2022 UTC (2 years, 3 months ago) by skrll
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +2 -2 lines
softc member naming consistency with wm(4). (Taylor made me do it... not
really)

Revision 1.34: download - view: text, markup, annotated - select for diffs
Sun Aug 14 09:03:05 2022 UTC (2 years, 3 months ago) by skrll
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +2 -1 lines
bge: Mirror the bus_dma RX buffer changes in the OpenBSD driver

This change reduces the amount of work done in the interrupt handler.

Revision 1.33: download - view: text, markup, annotated - select for diffs
Sun Aug 14 09:01:25 2022 UTC (2 years, 3 months ago) by skrll
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +12 -1 lines
Make bge(4) MP safe

This started out as a fix so that LOCKDEBUG wouldn't explode with kernel
lock spinout.  LOCKDEBUG is too aggressive now and really should be
relaxed.

Revision 1.32: download - view: text, markup, annotated - select for diffs
Sun Aug 14 08:45:56 2022 UTC (2 years, 3 months ago) by skrll
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +14 -12 lines
Whitespace

Revision 1.31: download - view: text, markup, annotated - select for diffs
Sun Aug 7 08:37:48 2022 UTC (2 years, 4 months ago) by skrll
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +2 -1 lines
Provide and use (when appropriate) a bge_free_jumbo_mem.

Revision 1.30: download - view: text, markup, annotated - select for diffs
Mon Jul 25 08:29:14 2022 UTC (2 years, 4 months ago) by skrll
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +4 -4 lines
Some more BITS(3)

Revision 1.29: download - view: text, markup, annotated - select for diffs
Mon Jul 25 08:19:50 2022 UTC (2 years, 4 months ago) by skrll
Branches: MAIN
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +1 -2 lines
G/C the unused bge_rx_mini_chain member from bge_chain_data. It was removed
from the FreeBSD driver in 2003.

Revision 1.28: download - view: text, markup, annotated - select for diffs
Sat Jul 2 07:22:41 2022 UTC (2 years, 5 months ago) by skrll
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +6 -6 lines
Sprinkle some BITS(3).  Same code before and after.

Revision 1.27: download - view: text, markup, annotated - select for diffs
Sat Jul 2 07:19:36 2022 UTC (2 years, 5 months ago) by skrll
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +3 -3 lines
Use BUS_ADDR_{LO,HI}32. NFCI.

Revision 1.23.12.3: download - view: text, markup, annotated - select for diffs
Mon Apr 13 08:04:26 2020 UTC (4 years, 7 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.23.12.2: preferred, colored; branchpoint 1.23: preferred, colored; next MAIN 1.24: preferred, colored
Changes since revision 1.23.12.2: +1 -1 lines
Mostly merge changes from HEAD upto 20200411

Revision 1.23.12.2: download - view: text, markup, annotated - select for diffs
Wed Apr 8 14:08:09 2020 UTC (4 years, 8 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.23.12.1: preferred, colored; branchpoint 1.23: preferred, colored
Changes since revision 1.23.12.1: +2 -1 lines
Merge changes from current as of 20200406

Revision 1.25.2.1: download - view: text, markup, annotated - select for diffs
Sat Feb 29 20:19:10 2020 UTC (4 years, 9 months ago) by ad
Branches: ad-namecache
Diff to: previous 1.25: preferred, colored; next MAIN 1.26: preferred, colored
Changes since revision 1.25: +2 -1 lines
Sync with head.

Revision 1.26: download - view: text, markup, annotated - select for diffs
Sat Feb 1 06:17:23 2020 UTC (4 years, 10 months ago) by thorpej
Branches: MAIN
CVS tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +2 -1 lines
Adopt <net/if_stats.h>.

Revision 1.25: download - view: text, markup, annotated - select for diffs
Fri Sep 13 07:55:07 2019 UTC (5 years, 2 months ago) by msaitoh
Branches: MAIN
CVS tags: phil-wifi-20191119, ad-namecache-base2, ad-namecache-base1, ad-namecache-base
Branch point for: ad-namecache
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +2 -2 lines
 if_flags is neither int nor short. It's unsigned short.

Revision 1.23.12.1: download - view: text, markup, annotated - select for diffs
Mon Jun 10 22:07:16 2019 UTC (5 years, 6 months ago) by christos
Branches: phil-wifi
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +5 -1 lines
Sync with HEAD

Revision 1.23.10.1: download - view: text, markup, annotated - select for diffs
Wed Dec 26 14:01:50 2018 UTC (5 years, 11 months ago) by pgoyette
Branches: pgoyette-compat
CVS tags: pgoyette-compat-merge-20190127
Diff to: previous 1.23: preferred, colored; next MAIN 1.24: preferred, colored
Changes since revision 1.23: +5 -1 lines
Sync with HEAD, resolve a few conflicts

Revision 1.23.4.1: download - view: text, markup, annotated - select for diffs
Sat Dec 8 12:10:22 2018 UTC (6 years ago) by martin
Branches: netbsd-8
CVS tags: netbsd-8-3-RELEASE, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1
Diff to: previous 1.23: preferred, colored; next MAIN 1.24: preferred, colored
Changes since revision 1.23: +5 -1 lines
Pull up following revision(s) (requested by bouyer in ticket #1130):

	sys/dev/pci/if_bge.c: revision 1.320
	sys/dev/pci/if_bgevar.h: revision 1.24
	sys/dev/pci/if_bge.c: revision 1.317
	sys/dev/pci/if_bgereg.h: revision 1.94

More TSO4 fixes, from the freebsd driver:
- the chip doens't want the lenght of options, but the complete lenght of
  ip headers (ip + tcp + options). Fix this for the BGE_IS_5717_PLUS()
  and BGE_IS_5705_PLUS() cases; FreeBSD doens't cover the last case so
  leave it as is for now. This fixes checksum failures for heavy transfers.
- It looks like the transmit engine hangs if the TCP segment crosses a 4GB
  boundary. FreeBSD fixes it by mapping everything below 4GB; instead
  try detect when this happens and do the bounce only when needed.

With these fixes I could transfers 3GB images over ftp at gigabit speed
(112MB/s with wget) without problems. Tested on a
bge0 at pci4 dev 0 function 0: Broadcom BCM5720 Gigabit Ethernet
bge0: APE firmware NCSI 1.4.22.0
bge0: interrupting at msi1 vec 0
bge0: HW config 002b1194, 00006014, 0002aa38, 00000000 0000000c
bge0: ASIC BCM5720 A0 (0x5720000), Ethernet address d0:94:66:8b:9c:18
bge0: setting short Tx thresholds
brgphy0 at bge0 phy 1: BCM5720C 1000BASE-T media interface, rev. 0

 -

Don't destroy the dma maps if we're not disabling the adapter, avoids
a KASSERT() when bus_dmamap_destroy() is called from interrupt
context via bge_watchdog()

Set IFF_OACTIVE only when bge_encap() fails on adapter ressource shortage.
Otherwise we may set IFF_OACTIVE while no transmit is in progress, and
nothing will clear it.

If bus_dmamap_load_mbuf() fails with EFBIG, m_defrag() the chain and retry.
Refine the check for the 4GB boundary workaround (a fragment should also
not cross the boundary), and do it only for TSO.

If bge_encap() fails and didn't set IFF_OACTIVE, drop the packet.

Bring in more hardware bug workarounds from freebsd.

With these it seems that a BCM5720 A0 can survive a few hours of internet
load with TSO4 enabled.

Revision 1.24: download - view: text, markup, annotated - select for diffs
Tue Nov 27 19:17:02 2018 UTC (6 years ago) by bouyer
Branches: MAIN
CVS tags: phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, netbsd-9-base, netbsd-9-4-RELEASE, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +5 -1 lines
More TSO4 fixes, from the freebsd driver:
- the chip doens't want the lenght of options, but the complete lenght of
  ip headers (ip + tcp + options). Fix this for the BGE_IS_5717_PLUS()
  and BGE_IS_5705_PLUS() cases; FreeBSD doens't cover the last case so
  leave it as is for now. This fixes checksum failures for heavy transfers.
- It looks like the transmit engine hangs if the TCP segment crosses a 4GB
  boundary. FreeBSD fixes it by mapping everything below 4GB; instead
  try detect when this happens and do the bounce only when needed.

With these fixes I could transfers 3GB images over ftp at gigabit speed
(112MB/s with wget) without problems. Tested on a
bge0 at pci4 dev 0 function 0: Broadcom BCM5720 Gigabit Ethernet
bge0: APE firmware NCSI 1.4.22.0
bge0: interrupting at msi1 vec 0
bge0: HW config 002b1194, 00006014, 0002aa38, 00000000 0000000c
bge0: ASIC BCM5720 A0 (0x5720000), Ethernet address d0:94:66:8b:9c:18
bge0: setting short Tx thresholds
brgphy0 at bge0 phy 1: BCM5720C 1000BASE-T media interface, rev. 0

Revision 1.9.6.3: download - view: text, markup, annotated - select for diffs
Sun Dec 3 11:37:07 2017 UTC (7 years ago) by jdolecek
Branches: tls-maxphys
Diff to: previous 1.9.6.2: preferred, colored; branchpoint 1.9: preferred, colored; next MAIN 1.10: preferred, colored
Changes since revision 1.9.6.2: +7 -0 lines
update from HEAD

Revision 1.17.6.4: download - view: text, markup, annotated - select for diffs
Mon Aug 28 17:52:05 2017 UTC (7 years, 3 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.17.6.3: preferred, colored; branchpoint 1.17: preferred, colored; next MAIN 1.18: preferred, colored
Changes since revision 1.17.6.3: +3 -1 lines
Sync with HEAD

Revision 1.21.2.1: download - view: text, markup, annotated - select for diffs
Wed Apr 26 02:53:12 2017 UTC (7 years, 7 months ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.21: preferred, colored; next MAIN 1.22: preferred, colored
Changes since revision 1.21: +3 -1 lines
Sync with HEAD

Revision 1.21.4.1: download - view: text, markup, annotated - select for diffs
Fri Apr 21 16:53:47 2017 UTC (7 years, 7 months ago) by bouyer
Branches: bouyer-socketcan
Diff to: previous 1.21: preferred, colored; next MAIN 1.22: preferred, colored
Changes since revision 1.21: +3 -1 lines
Sync with HEAD

Revision 1.23: download - view: text, markup, annotated - select for diffs
Wed Apr 12 05:59:43 2017 UTC (7 years, 8 months ago) by msaitoh
Branches: MAIN
CVS tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, pgoyette-localcount-20170426, pgoyette-compat-base, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek, jdolecek-ncqfixes-base, jdolecek-ncqfixes, bouyer-socketcan-base1
Branch point for: phil-wifi, pgoyette-compat, netbsd-8
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +2 -2 lines
 Add counters for spurious interrupts.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Wed Apr 12 05:50:52 2017 UTC (7 years, 8 months ago) by msaitoh
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +3 -1 lines
 Detach sysctl and event counters in bge_release_resources().

Revision 1.17.6.3: download - view: text, markup, annotated - select for diffs
Sun Dec 27 12:09:50 2015 UTC (8 years, 11 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.17.6.2: preferred, colored; branchpoint 1.17: preferred, colored
Changes since revision 1.17.6.2: +1 -3 lines
Sync with HEAD (as of 26th Dec)

Revision 1.21: download - view: text, markup, annotated - select for diffs
Wed Nov 18 10:26:57 2015 UTC (9 years ago) by msaitoh
Branches: MAIN
CVS tags: pgoyette-localcount-base, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base
Branch point for: pgoyette-localcount, bouyer-socketcan
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +1 -3 lines
 Delete #ifdef __HAVE_PCI_MSI_MSIX and use pci_intr_allo()/pci_intr_release()
on any systems. The third argument of pci_intr_alloc() is left because we will
use the code to support MSI-X in future.

Revision 1.1.8.4: download - view: text, markup, annotated - select for diffs
Mon Nov 9 12:33:01 2015 UTC (9 years, 1 month ago) by sborrill
Branches: netbsd-5
Diff to: previous 1.1.8.3: preferred, colored; branchpoint 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.8.3: +56 -8 lines
Pull up the following revisions(s) (requested by msaitoh in ticket #1983):
	sys/dev/pci/pcidevs:		revisions 1.1079, 1.1134, 1.1148-1.1149, 1.1151
	sys/dev/pci/pcidevs.h:		regen
	sys/dev/pci/pcidevs_data.h:	regen
	sys/dev/pci/if_bge.c:		revisions 1.183-1.185, 1.187, 1.189-1.193, 1.195-1.199, 1.202-1.226, 1.228-1.237, 1.240-1.264, 1.267-1.276, 1.278-1.280, 1.283-1.287 via patch
	sys/dev/pci/if_bgereg.h:	revisions 1.57-1.74, 1.76-1.90 via patch
	sys/dev/pci/if_bgevar.h:	revisions 1.6, 1.10-1.13, 1.15-1.17 via patch
	sys/dev/pci/if_bnx.c:		revisions 1.32, 1.34-1.43, 1.48-1.49, 1.52
	sys/dev/pci/if_bnxreg.h:	revisions 1.8, 1.11-1.14
	sys/dev/pci/if_bnxvar.h:	revisions 1.1-1.3
	sys/dev/mii/brgphy.c:		revisions 1.53-1.63, 1.65-69, 1.72-1.74 via patch
	sys/dev/mii/brgphyreg.h:	revisions 1.5-1.8
	sys/dev/mii/miivar.h:		revisions 1.61
	sys/dev/pci/pcireg.h:		patch

Sync bge(4) up to if_bge.c rev. 1.287. Sync brgphy(4) up to 1.74.
Fix some bugs on bnx(4).

Common:
- Add device IDs for Broadcom BCM57710, BCM57711(E), BCM57712(E) and
  BCM57766 (pcidevs only).
- Fix BCM5709 PHY detection.
- Fix detection of BGEPHYF_FIBER_{MII|TBI}
- Add BCM5708S support in brgphy(4).
- Don't use the WIRESPEED function for fiber devices.
bge(4):
- Add some Fujitsu's device support from Michael Moll.
- Add BCM57762 support (PR#46961 from Ryo Onodera).
- Add Altima AC1003, APPLE BCM5701, Broadcom BCM5785F. BCM5785G,
  BCM5787F, BCM5719, BCM5720, BCM57766, BCM57782 and BCM57786.
- Fix DMA setting for read/write on conventional PCI bus devices.
  This bug was added in rev. 1.166.
- Fix printing "discarding oversize frame (len=-4)" message and
  crash by NULL pointer dereferencing.
- The BCM5785 is a PCIe chip but does not report PCIe capabilities.
  Check for this chip explicitely and enable PCIe. Fixes
  'firmware handshake timeout'.
- Allow disabling interrupt mitigation.
- Workaround for BCM5906 silicon bug. When auto-negotiation results
  in half-duplex operation, excess collision on the ethernet link may
  cause internal chip delays that may result in subsequent valid
  frames being dropped due to insufficient receive buffer resources.
  (FreeBSD: r214219, r214251, r214292).
- Allow write DMA to request larger DMA burst size to get better
  performance on BCM5785. (FreeBSD r213333: OpenBSD 1.294)
- Enable TX MAC state machine lockup fix for both BCM5755 or higher
  and BCM5906. Publicly available data sheet just says it may happen
  due to corrupted TxMbuf. (FreeBSD r214216)
- Follow Broadcom datasheet:
  Delay 100 microseconds after enabling transmit MAC.
  Delay 10 microseconds after enabling receive MAC. (FreeBSD
  r241220)
- Insert the completion barrier between register write and the
  consecutive delay(). It will fix some device timeout problems we have
  seen before.
- Add DELAY(40) after turning on write DMA state machine.
- Add some workarounds for 5717 A0 and 5776[56] to be stable.
- Check BGE_RXBDFLAG_IPV6 flag for 5717_PLUS case. Note that
  {tcp,udp}6csum flag is currently not added in the capability.
- Add delay after clearing BGE_MACMODE_TBI_SEND_CFGS for the link
  checking.
- Do not touch the jumbo replenish threshold register on chips that do
  not have jumbo support.
- Wait for the bootcode to complete initialization for 5717 and newer
  devices.
- 5718 and 57785 document say we should wait 100us in init.
- Fix a bug that chips which have BCM5906 ASIC touch GPIO wrongly.
- Fix the setting of Tx Random Backoff Register.
- Check the hardware config words and print them.
- Set BGE_MISC_CTL's byte/word swap options before using
  bge_readmem_ind(). Fixes PR#47716.
- For BGE_IS_575X_PLUS() devices, don't set
  BGE_RXLPSTATCONTROL_DACK_FIX bits because these bits are reserved.
- Document says 5717 and newer chips have no
  BGE_PCISTATE_INTR_NOT_ACTIVE bit, so don't use the bit on those
  chips. Same as OpenBSD.
- Fix a bug that the PHY address bits in MI_MODE register is wrongly
  cleard. Set the PHY address correctly.
- Use BGE_SETBIT() instead of CSR_WRITE_4() for the BGE_MISC_LOCAL_CTL
  register to not to modify some GPIO bits.
- Set DMA watermark depend on the PCI max payload size.
- Set BGE_JUMBO_CAPABLE correctly.
- Fix a link detect bug on non-autopoll systems.
- Change the TX ring size for 5717 series and 57764 series.
- Set maximum read byte count to 2048 for PCI-X BCM5703/5704 devices.
- For PCI-X BCM5704, set maximum outstanding split transactions to 0.
- Add 40bit DMA bug workaround(BGEF_40BIT_BUG) from FreeBSD.
  This workaround is for 5714/5715 controllers and is not actually a
  MAC controller bug but an issue with the embedded PCIe to PCI-X
  bridge in the device. This change uses bus_dmatag_subregion(),
  so this workaround won't work on some archs which doesn't support
  bus_dmatag_subregion().
- Add 2500SX support (not tested).
- Don't use the PHY Auto Poll Mode on many chips. This fixes a bug
  that MII Fiber NIC drop packet about 50%. Tested on HP Moonshot.
- Add workaround for PR#48451. Some BCM5717-5720 based systems getNMI
  on boot. This problem doesn't occur when we don't use prefetchable
  memory in the APE area. Tested with HP MicroServer Gen8.
- In the BCM5703, the DMA read watermark should be set to less than
  or equal to the maximum memory read byte count of the PCI-X command
  register.
- Fix a bug that BGE_PHY_TEST_CTRL_REG isn't set correctly on some
  PCIe devices.
- Use another firmware command in bge_asf_driver_up(). Same as Linux.
  This change fixes a bug that watchdog timeout occurs every 25-30
  minutes on HP ML110 G6 reported enami@ in PR#49657.
- Fix mbuf leak on failure.
- Remove PCI_PRODUCT_BROADCOM_BCM5724 and
  PCI_PRODUCT_BROADCOM_BCM5750M. These devices have not released to
  public.
- Add some workaround code for BGE_ASICREV_BCM5784 from Linux.
- Change some printf() to aprint_*().
- Fix typo in comments.
- Cleanup.
brgphy(4):
- Fix bit definition of BRGPHY_MRBE_MSG_PG5_NP_T2 from FreeBSD.
- Add BCM5481, BCM5709S, BCM5756, BCM5717C, BCM5720C, BCM5785,
  BCM57765(PR#46961), BCM57780
- In brgphyattach(), set sc_isbge, sc_isbnx and sc_phyflags before
  PHY_RESET() because brgphy_reset() refers those flags.
- Call brgpy specific autonego function in MII_TICK. Before this
  commit, only MII_MEDIACHG calls brgphy_mii_phy_auto() and MII_TICK
  calls MI mii_phy_auto(). That was not intended.
- Remove extra delay in brgphy_mii_phy_auto. Same as {Free,Open}BSD.
bnx(4):
- Add missing ifmedia_delete_instance() in bnx_detach().
- Fix a bug that BNX_NO_WOL_FLAG isn't correctly set on some chips.
  Reported by From Henning Petersen in PR#44151.
- Fix SERDES initialization.
- Get out of the interrupt handler early if !IFF_RUNNING.

Revision 1.17.6.2: download - view: text, markup, annotated - select for diffs
Tue Sep 22 12:05:59 2015 UTC (9 years, 2 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.17.6.1: preferred, colored; branchpoint 1.17: preferred, colored
Changes since revision 1.17.6.1: +2 -1 lines
Sync with HEAD

Revision 1.20: download - view: text, markup, annotated - select for diffs
Sun Jun 14 08:46:33 2015 UTC (9 years, 6 months ago) by martin
Branches: MAIN
CVS tags: nick-nhusb-base-20150921
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +2 -1 lines
Make sure not to re-arm the statistics callout when we are about to detach.

Revision 1.17.6.1: download - view: text, markup, annotated - select for diffs
Sat Jun 6 14:40:09 2015 UTC (9 years, 6 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +7 -1 lines
Sync with HEAD

Revision 1.19: download - view: text, markup, annotated - select for diffs
Sun May 17 12:06:26 2015 UTC (9 years, 6 months ago) by msaitoh
Branches: MAIN
CVS tags: nick-nhusb-base-20150606
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +6 -1 lines
- Add MSI support.
- Use tagged status function for 5717 and newer devices. All controllers
  except BCM5700 support tagged status but we use tagged status only for MSI
  case on BCM5717. Otherwise MSI on BCM5717 does not work. Same as other *BSDs.

Revision 1.18: download - view: text, markup, annotated - select for diffs
Tue Apr 14 20:32:36 2015 UTC (9 years, 7 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +2 -1 lines
Include <sys/rndsource.h> where it is actually used.

I had removed <sys/rnd.h> from files that didn't mention anything of
the rnd(9) API.  But they included other files which assumed
<sys/rnd.h> had already been included.

Revision 1.9.6.2: download - view: text, markup, annotated - select for diffs
Wed Aug 20 00:03:42 2014 UTC (10 years, 3 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.9.6.1: preferred, colored; branchpoint 1.9: preferred, colored
Changes since revision 1.9.6.1: +1 -0 lines
Rebase to HEAD as of a few days ago.

Revision 1.7.4.2: download - view: text, markup, annotated - select for diffs
Thu May 22 11:40:25 2014 UTC (10 years, 6 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.7.4.1: preferred, colored; branchpoint 1.7: preferred, colored; next MAIN 1.8: preferred, colored
Changes since revision 1.7.4.1: +58 -10 lines
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")

Revision 1.16.2.1: download - view: text, markup, annotated - select for diffs
Sun May 18 17:45:40 2014 UTC (10 years, 6 months ago) by rmind
Branches: rmind-smpnet
Diff to: previous 1.16: preferred, colored; next MAIN 1.17: preferred, colored
Changes since revision 1.16: +2 -1 lines
sync with head

Revision 1.9.2.2: download - view: text, markup, annotated - select for diffs
Sun Nov 17 18:24:05 2013 UTC (11 years ago) by bouyer
Branches: netbsd-6
Diff to: previous 1.9.2.1: preferred, colored; branchpoint 1.9: preferred, colored; next MAIN 1.10: preferred, colored
Changes since revision 1.9.2.1: +2 -1 lines
Apply patch, requested by msaitoh in ticket #983:
	sys/dev/mii/brgphy.c			1.68 via patch
	sys/dev/pci/if_bge.c			1.260-1.262 via patch
	sys/dev/pci/if_bgereg.h			1.85-1.86 via patch
	sys/dev/pci/if_bgevar.h			1.17 via patch

Set maximum read byte count to 2048 for PCI-X BCM5703/5704 devices.
For PCI-X BCM5704, set maximum outstanding split transactions to 0.
Same as Linux tg3 and FreeBSD (part of FreeBSD r204978).
Add 40bit DMA bug workaround(BGEF_40BIT_BUG) from FreeBSD
(part of r199670). This workaround is for 5714/5715 controllers and
is not actually a MAC controller bug but an issue with the embedded
PCIe to PCI-X bridge in the device.  This change
uses bus_dmatag_subregion(), so this workaround won't work on some
archs which doesn't support bus_dmatag_subregion().

Revision 1.17: download - view: text, markup, annotated - select for diffs
Thu Oct 31 04:26:40 2013 UTC (11 years, 1 month ago) by msaitoh
Branches: MAIN
CVS tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7
Branch point for: nick-nhusb
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +2 -1 lines
Cleanup flag setting. No functional change.
- Split flags into bge_flags and bge_phy_flags.
- Rename flags. PHY related flags are prefixed with BGEPHYF_*.
  Other flags are prefixed with BGEF_*.

Revision 1.9.2.1: download - view: text, markup, annotated - select for diffs
Sat Sep 7 16:39:32 2013 UTC (11 years, 3 months ago) by bouyer
Branches: netbsd-6
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +57 -10 lines
sys/dev/pci/if_bge.c		1.203-1.237, 1.239-1.241, 1.243-1.258 via patch
sys/dev/pci/if_bgereg.h		1.58-1.74, 1.76-1.83 via patch
sys/dev/pci/if_bgevar.h		1.10-1.16 via patch
sys/dev/pci/pcidevs		1.1149 via patch
sys/dev/pci/pcidevs.h		regen
sys/dev/pci/pcidevs_data.h	regen
sys/dev/mii/brgphy.c		1.61-1.63, 1.65, 1.67 via patch
sys/dev/mii/miivar.h		1.61 via patch
sys/dev/mii/miidevs		1.112-1.113 via patch
sys/dev/mii/miidevs.h		regen
sys/dev/mii/miidevs_data.h	regen
share/man/man4/bge.4		1.13-1.15 via patch

	Add some device support, fix a lot of bugs and add some enahcements.
	- Add Altima AC1003, APPLE BCM5701, Broadcom BCM5785F,
	  BCM5785G, BCM5787F, BCM5719, BCM5720, BCM57766, BCM57782 and BCM57786.
	- brgphy(4): Add BCM5756, BCM5717C, BCM5719C, BCM5720C and BCM57780.
	- Add some bugfixes and enhancement from FreeBSD:
	  - Workaround for BCM5906 silicon bug. When auto-negotiation results in
	   half-duplex operation, excess collision on the ethernet link may
	   cause internal chip delays that may result in subsequent valid
	   frames being dropped due to insufficient receive buffer resources.
	   (FreeBSD: r214219, r214251, r214292)
	  - Allow write DMA to request larger DMA burst size to get better
	   performance on BCM5785.
	   (FreeBSD r213333: OpenBSD 1.294)
	  - Enable TX MAC state machine lockup fix for both BCM5755 or higher
	   and BCM5906. Publicly available data sheet just says it may happen
	   due to corrupted TxMbuf.
	   (FreeBSD r214216)
	  - Follow Broadcom datasheet:
	   Delay 100 microseconds after enabling transmit MAC.
	   Delay 10 microseconds after enabling receive MAC.
	   (FreeBSD r241220)
	- Insert the completion barrier between register write and the
	  consecutive delay(). It will fix some device timeout problems
	  we have seen before.
	- Add DELAY(40) after turning on write DMA state machine.
	- Add some workarounds for 5717 A0 and 5776[56] to be stable.
	  From Linux tg3 driver.
	- Sync with *BSD. No functional change:
	  - make bge_chipid() and use it.
	  - use switch() instead of a lot of if()s.
	- Check BGE_RXBDFLAG_IPV6 flag for 5717_PLUS case.
	  Note that {tcp,udp}6csum flag is currently not added in the
	  capability.
	- Add delay after clearing BGE_MACMODE_TBI_SEND_CFGS for the link
	  checking.  FreeBSD has the same delay().
	- Rename PHY related flags for the consistency. It's the same as
	  FreeBSD.
	- Remove BGE_10_100_ONLY flag because this was not used.
	  For 10/100 devices, when calling mii_attach(), mask BMSR_EXTSTAT
	  flag to not to check Gigabit flags. It's the same as FreeBSD.
	- In brgphyattach(), set sc_isbge, sc_isbnx and sc_phyflags before
	  PHY_RESET() because brgphy_reset() refers those flags.
	- Call brgpy specific autonego function in MII_TICK. Before this commit,
	  only MII_MEDIACHG calls brgphy_mii_phy_auto() and MII_TICK calls MI
	  mii_phy_auto(). That was not intended.
	- Sync with FreeBSD and OpenBSD. Almost the same as OpenBSD rev. 1.325:
	  - Sync the ring setup code closer to FreeBSD's driver
	  - Do not touch the jumbo replenish threshold register on chips that
	    do not have jumbo support
	- Wait for the bootcode to complete initialization for 5717 and newer
	  devices.  See BCM5718 programmer's guide's "step 13,
	  Device reset Procedure, Section7".
	  57781's document has the same note.
	- 5718 and 57785 document say we should wait 100us.
	- Change the order of register settings a little to match both
	  Broadcom's document and Linux tg3.
	- Add detach function.
	- Fix a bug that chips which have BCM5906 ASIC touch GPIO wrongly.
	- Fix a bug that the NVRAM lock timeout occured on sparc64 onboard bge.
	- Check BGE_SGDIG_STS when the chip is NOT a 5717 A0, like freebsd
	  (OpenBSD rev. 1.327).
	- Fix the setting of Tx Random Backoff Register.
	- Add BGE_PCIMISCCTL_PCISTATE_RW in BGE_INIT. It's required to set the
	  PCISTATE register correctly.
	- Update comments from 57XX-PG105-R.pdf and 5718-PG106-R.pdf.
	- Add missing bus_dmamap_sync() in bge_intr(). The status word is
	  in DMAed area. Same as other *BSDs.
	- Check the hardware config words and print them. This change only
	  read them and print the values.
	- Set BGE_MISC_CTL's byte/word swap options before using
	  bge_readmem_ind().
	- For BGE_IS_575X_PLUS() devices, don't set
	  BGE_RXLPSTATCONTROL_DACK_FIX bits because these bits are reserved.
	- bge_init_tx_ring() uses BGE_RSLOTS (==256) but bge_free_tx_ring() uses
	  BGE_TX_RING_CNT (== 512). Delete BGE_RSLOTS and use BGE_TX_RING_CNT.
	  Same as OpenBSD's if_bge.c rev. 1.86.
	- Document says 5717 and newer chips have no
	  BGE_PCISTATE_INTR_NOT_ACTIVE bit, so don't use the bit on those
	  chips. Same as OpenBSD.
	- Fix a bug that the PHY address bits in MI_MODE register is wrongly
	  cleard.  Set the PHY address correctly.
	- Use BGE_SETBIT() instead of CSR_WRITE_4() for the BGE_MISC_LOCAL_CTL
	  register to not to modify some GPIO bits.
	- Call bge_poll_fw() before writing BGE_MODE_CTL register like the
	  latest linux tg3 dirver.
	- Set DMA watermark depend on the PCI max payload size.
	- Add BGE_JUMBO_CAPABLE flag to some chips. With this commit, 5714,
	  5780, 5717, 5718, 5719 (exclude rev. A0), 5720, 57765 and 57766 are
	  added to support jumbo frame.
	- Fix the setting of sc->bge_flags for 5717 and newer devices.
	- Fix a link detect bug on non-autopoll systems. Same as OpenBSD
	  (rev.1.329 and 1.336) and FreeBSD (r213710).
	- 57765 series is not based on 5717 series. 5717 series is based on
	  57765 series.
	- Set the TX DMA segment size based on the MTU size.
	- Change the TX ring size for 5717 series and 57764 series.
	- For 57766, set BGE_RDMAMODE_JMB_2K_MMRR for non-jumbo frame.
	  Same as Linux tg3.
	- For 57765 and newer devices, set BGE_MAX_RX_FRAME_LOWAT to 1.
	  This value is recommended by the document.
	- Change sysctl related functions for consistency.
	- Style change.
	- Use macro. Remove duplicated macro. Remove unused variable.
	- Fix comments. Add comments.
	- Remove extra semicolon. Remove unused code.
	[msaitoh, ticket #939]

Revision 1.9.6.1: download - view: text, markup, annotated - select for diffs
Sun Jun 23 06:20:18 2013 UTC (11 years, 5 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +57 -10 lines
resync from head

Revision 1.16: download - view: text, markup, annotated - select for diffs
Fri May 31 17:48:12 2013 UTC (11 years, 6 months ago) by msaitoh
Branches: MAIN
CVS tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Branch point for: rmind-smpnet
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +2 -1 lines
- Revert rev. 1.250. I really misunderstood. Add some comments.
- Set DMA watermark depend on the PCI max payload size.

Revision 1.15: download - view: text, markup, annotated - select for diffs
Fri May 24 02:29:36 2013 UTC (11 years, 6 months ago) by msaitoh
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +1 -2 lines
 bge_init_tx_ring() uses BGE_RSLOTS (==256) but bge_free_tx_ring() uses
BGE_TX_RING_CNT (== 512). Delete BGE_RSLOTS and use BGE_TX_RING_CNT. Same as
OpenBSD's if_bge.c rev. 1.86.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Sun Mar 24 22:33:59 2013 UTC (11 years, 8 months ago) by msaitoh
Branches: MAIN
CVS tags: khorben-n900
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +5 -3 lines
- Add detach function.
- Remove old unused bge_vpd_*.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Thu Mar 21 12:33:10 2013 UTC (11 years, 8 months ago) by msaitoh
Branches: MAIN
CVS tags: agc-symver-base, agc-symver
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +1 -2 lines
- Sync with FreeBSD and OpenBSD. Almost the same as OpenBSD rev. 1.325:
 - Sync the ring setup code closer to FreeBSD's driver
 - Do not touch the jumbo replenish threshold register on chips that do not
   have jumbo support
 - Add/sync some of the comments
- Use macro.
- Remove unused code.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Sun Mar 17 04:06:39 2013 UTC (11 years, 8 months ago) by msaitoh
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +32 -2 lines
- ADD support for BCM5719, BCM5720, BCM57766, BCM57782 and BCM57786.
- Use macros.
- Remove unused code.
- Sync with the latest {Free,Open}BSD's bge.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Thu Mar 7 08:46:54 2013 UTC (11 years, 9 months ago) by msaitoh
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +17 -1 lines
Insert the completion barrier between register write and the
consecutive delay(). It will fix some device timeout problems
we have seen before.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Wed Feb 27 13:53:51 2013 UTC (11 years, 9 months ago) by msaitoh
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +5 -5 lines
Fix macro definitions. No binary change.

Revision 1.7.4.1: download - view: text, markup, annotated - select for diffs
Tue Apr 17 00:07:46 2012 UTC (12 years, 7 months ago) by yamt
Branches: yamt-pagecache
CVS tags: yamt-pagecache-tag8
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +2 -4 lines
sync with head

Revision 1.8.2.1: download - view: text, markup, annotated - select for diffs
Sat Feb 18 07:34:38 2012 UTC (12 years, 9 months ago) by mrg
Branches: jmcneill-usbmp
Diff to: previous 1.8: preferred, colored; next MAIN 1.9: preferred, colored
Changes since revision 1.8: +1 -3 lines
merge to -current.

Revision 1.9: download - view: text, markup, annotated - select for diffs
Thu Feb 2 19:43:05 2012 UTC (12 years, 10 months ago) by tls
Branches: MAIN
CVS tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10
Branch point for: tls-maxphys, netbsd-6
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +1 -3 lines
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
   to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
   source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
   avoid expensive operations on disabled entropy sources; make the
   rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
   have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
   system events, and skew between clocks, with a sample implementation
   for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files).  Tested with release
builds on amd64 and evbarm and live testing on amd64.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Sat Nov 19 22:51:23 2011 UTC (13 years ago) by tls
Branches: MAIN
CVS tags: jmcneill-usbmp-pre-base2, jmcneill-usbmp-base
Branch point for: jmcneill-usbmp
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +2 -2 lines
First step of random number subsystem rework described in
<20111022023242.BA26F14A158@mail.netbsd.org>.  This change includes
the following:

	An initial cleanup and minor reorganization of the entropy pool
	code in sys/dev/rnd.c and sys/dev/rndpool.c.  Several bugs are
	fixed.  Some effort is made to accumulate entropy more quickly at
	boot time.

	A generic interface, "rndsink", is added, for stream generators to
	request that they be re-keyed with good quality entropy from the pool
	as soon as it is available.

	The arc4random()/arc4randbytes() implementation in libkern is
	adjusted to use the rndsink interface for rekeying, which helps
	address the problem of low-quality keys at boot time.

	An implementation of the FIPS 140-2 statistical tests for random
	number generator quality is provided (libkern/rngtest.c).  This
	is based on Greg Rose's implementation from Qualcomm.

	A new random stream generator, nist_ctr_drbg, is provided.  It is
	based on an implementation of the NIST SP800-90 CTR_DRBG by
	Henric Jungheim.  This generator users AES in a modified counter
	mode to generate a backtracking-resistant random stream.

	An abstraction layer, "cprng", is provided for in-kernel consumers
	of randomness.  The arc4random/arc4randbytes API is deprecated for
	in-kernel use.  It is replaced by "cprng_strong".  The current
	cprng_fast implementation wraps the existing arc4random
	implementation.  The current cprng_strong implementation wraps the
	new CTR_DRBG implementation.  Both interfaces are rekeyed from
	the entropy pool automatically at intervals justifiable from best
	current cryptographic practice.

	In some quick tests, cprng_fast() is about the same speed as
	the old arc4randbytes(), and cprng_strong() is about 20% faster
	than rnd_extract_data().  Performance is expected to improve.

	The AES code in src/crypto/rijndael is no longer an optional
	kernel component, as it is required by cprng_strong, which is
	not an optional kernel component.

	The entropy pool output is subjected to the rngtest tests at
	startup time; if it fails, the system will reboot.  There is
	approximately a 3/10000 chance of a false positive from these
	tests.  Entropy pool _input_ from hardware random numbers is
	subjected to the rngtest tests at attach time, as well as the
	FIPS continuous-output test, to detect bad or stuck hardware
	RNGs; if any are detected, they are detached, but the system
	continues to run.

	A problem with rndctl(8) is fixed -- datastructures with
	pointers in arrays are no longer passed to userspace (this
	was not a security problem, but rather a major issue for
	compat32).  A new kernel will require a new rndctl.

	The sysctl kern.arandom() and kern.urandom() nodes are hooked
	up to the new generators, but the /dev/*random pseudodevices
	are not, yet.

	Manual pages for the new kernel interfaces are forthcoming.

Revision 1.6.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 6 09:08:11 2011 UTC (13 years, 6 months ago) by jruoho
Branches: jruoho-x86intr
Diff to: previous 1.6: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6: +2 -2 lines
Sync with HEAD.

Revision 1.5.4.2: download - view: text, markup, annotated - select for diffs
Tue May 31 03:04:39 2011 UTC (13 years, 6 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.5.4.1: preferred, colored; branchpoint 1.5: preferred, colored; next MAIN 1.6: preferred, colored
Changes since revision 1.5.4.1: +1 -1 lines
sync with head

Revision 1.7: download - view: text, markup, annotated - select for diffs
Wed May 18 01:02:43 2011 UTC (13 years, 6 months ago) by dyoung
Branches: MAIN
CVS tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, rmind-uvmplock-nbase, rmind-uvmplock-base, jmcneill-audiomp3-base, jmcneill-audiomp3, cherry-xenmp-base, cherry-xenmp
Branch point for: yamt-pagecache
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +2 -2 lines
#include <sys/bus.h>, not <machine/bus.h>.

Revision 1.5.4.1: download - view: text, markup, annotated - select for diffs
Sat Mar 5 20:53:39 2011 UTC (13 years, 9 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +3 -1 lines
sync with head

Revision 1.6: download - view: text, markup, annotated - select for diffs
Sun Jan 9 13:01:03 2011 UTC (13 years, 11 months ago) by jruoho
Branches: MAIN
CVS tags: jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: jruoho-x86intr
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +3 -1 lines
Don't use SYSCTL_SETUP in a driver.

Revision 1.1.8.3: download - view: text, markup, annotated - select for diffs
Fri Nov 19 23:58:40 2010 UTC (14 years ago) by riz
Branches: netbsd-5
CVS tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, matt-nb5-pq3-base, matt-nb5-pq3
Diff to: previous 1.1.8.2: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.8.2: +38 -32 lines
Pull up revisions (requested by msaitoh in ticket #1359):
sys/dev/pci/if_bge.c		1.170-1.181
sys/dev/pci/if_bgereg.h		1.53-1.56
sys/dev/pci/if_bgevar.h		1.2-1.5
sys/dev/pci/pcidevs		1.1017, 1.1021
sys/dev/pci/pcidevs.h		regen
sys/dev/pci/pcidevs_data.h	regen
sys/dev/mii/miidevs		1.89, 1.93
sys/dev/mii/miidevs.h		regen
sys/dev/mii/miidevs_data.h	regen
sys/dev/mii/brgphy.c		1.49, 1.52

- Fix a bug of BGE_RDMA_MODE_FIFO_LONG_BURST definition.
- Fix the bug that both BGE_PCIE and BGE_PCIX are set on PCI-Express devices.
- Add support for BCM5705F,BCM5714,SBCM5715S,BCM5717,BCM5718,BCM5720,BCM5723,
  BCM5724,BCM5751F,BCM5753F,BCM5756,BCM5761,BCM5761E,BCM5761S,BCM5761SE,
  BCM5764,BCM5781,BCM5784M,BCM5903M,BCM57760,BCM57761,BCM57765,BCM57780,
  BCM57781,BCM57785,BCM57788,BCM57790,BCM57791 and BCM57795. Fixes PR#41694.
- Fix misunderstanding the capability for TSO4 on some chips.
- Use proplib for no EEPROM systems (e.g. sparc64 with onboard bge).
- Add debug function to show some flags.
- (brgphy(4)) Add support for BCM5461, BCM5464, BCM5784 and BCM5761.
- (brgphy(4)) Enable brgphy_jumbo_settings().
- (brgphy(4)) Enable the Ethernet@Wirespeed function.
- Add support for device properties to override the mac address and set
  the BGE_NO_EEPROM flag if we have an onboard device w/o SEEPROM.
- Introduce IPMI and ASF related code from FreeBSD. It fixes some problems
  which occured in netboot on sparc64 and PR#32767
- move the code of disabling host interrput in bge_stop() like linux tg3
  driver.
- fix the return value of bge_eeprom_getbyte().
- Fixes the bug that error bits arent cleard because these bit are W2C
  (in other words W1C).
- Many other bugfixes from FreeBSD and OpenBSD.
- remove an unused structure.
- ANSI C, KNF and tabify
- fix typo in comment.

Revision 1.5.6.2: download - view: text, markup, annotated - select for diffs
Wed Apr 21 00:27:41 2010 UTC (14 years, 7 months ago) by matt
Branches: matt-nb5-mips64
CVS tags: matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-k15
Diff to: previous 1.5.6.1: preferred, colored; branchpoint 1.5: preferred, colored; next MAIN 1.6: preferred, colored
Changes since revision 1.5.6.1: +289 -0 lines
sync to netbsd-5

Revision 1.1.4.3: download - view: text, markup, annotated - select for diffs
Thu Mar 11 15:03:44 2010 UTC (14 years, 9 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.1.4.2: preferred, colored; branchpoint 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.4.2: +38 -32 lines
sync with head

Revision 1.5.6.1
Wed Feb 3 15:37:51 2010 UTC (14 years, 10 months ago) by matt
Branches: matt-nb5-mips64
FILE REMOVED
Changes since revision 1.5: +0 -295 lines
file if_bgevar.h was added on branch matt-nb5-mips64 on 2010-04-21 00:27:41 +0000

Revision 1.5: download - view: text, markup, annotated - select for diffs
Wed Feb 3 15:37:51 2010 UTC (14 years, 10 months ago) by msaitoh
Branches: MAIN
CVS tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, matt-mips64-premerge-20101231
Branch point for: rmind-uvmplock, matt-nb5-mips64
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +22 -22 lines
s/u_int/uint/

Revision 1.4: download - view: text, markup, annotated - select for diffs
Wed Feb 3 15:36:36 2010 UTC (14 years, 10 months ago) by msaitoh
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +3 -2 lines
- Make the initialize sequence close to the document.
- Fix ASF heartbeat sending bug (FreeBSD rev. 1.271 (r202821))
- Use new handshake command for BCM5750 or new controllers (FreeBSD rev. 1.272
  (r202822))

Revision 1.3: download - view: text, markup, annotated - select for diffs
Thu Jan 28 03:09:13 2010 UTC (14 years, 10 months ago) by msaitoh
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +8 -1 lines
- Introduce IPMI and ASF related code from FreeBSD. It fixes some problems
  which occured in netboot on sparc64 and PR#32767
- move the code of disabling host interrput in bge_stop() like linux tg3
  driver.
- fix the return value of bge_eeprom_getbyte().
- remove an unused structure.
- KNF

Revision 1.2: download - view: text, markup, annotated - select for diffs
Sun Jan 24 16:21:09 2010 UTC (14 years, 10 months ago) by msaitoh
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +10 -12 lines
Many changes from FreeBSD and OpenBSD:
 - Add support for BCM5705F,BCM5714,SBCM5715S,BCM5717,BCM5718,BCM5720,BCM5723,
   BCM5724,BCM5751F,BCM5753F,BCM5756,BCM5761,BCM5761E,BCM5761S,BCM5761SE,
   BCM5764,BCM5781,BCM5784M,BCM5903M,BCM57760,BCM57761,BCM57765,BCM57780,
   BCM57781,BCM57785,BCM57788,BCM57790,BCM57791 and BCM57795. Fixes PR#41694.
 - Fix misunderstanding the capability for TSO4 on some chips.
 - Many other bugfixes.
 - Use proplib for no EEPROM systems (e.g. sparc64 with onboard bge).
 - Add debug function to show some flags.

Revision 1.1.10.3: download - view: text, markup, annotated - select for diffs
Fri Aug 21 09:41:19 2009 UTC (15 years, 3 months ago) by bouyer
Branches: netbsd-4
Diff to: previous 1.1.10.2: preferred, colored; branchpoint 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.10.2: +8 -12 lines
The wrong version of this file was added to the branch when processing
ticket #1342: use the file provided via patch in #1342 instead of
version from HEAD.

Revision 1.1.10.2: download - view: text, markup, annotated - select for diffs
Tue Aug 18 10:10:19 2009 UTC (15 years, 3 months ago) by bouyer
Branches: netbsd-4
Diff to: previous 1.1.10.1: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.10.1: +289 -0 lines
Pull up following revision(s) (requested by msaitoh in ticket #1342):
	sys/dev/pci/if_bge.c: revisions 1.135, 1.146, 1.151-1.152,
					1.155-1.167 via patch
	sys/dev/pci/if_bgereg.h: revisions 1.43, 1.48-1.52
	sys/dev/pci/if_bgevar.h: revision 1.1
	sys/dev/mii/brgphy.c: revisions 1.36, 1.40, 1.43-1.44 and
					1.47-1.48 via patch
	sys/dev/mii/brgphyreg.h: revisions 1.3-1.4
	sys/dev/mii/miidevs: revisions 1.75, 1.77, 1.85
	sys/dev/mii/miidevs.h: regen
	sys/dev/mii/miidevs_data.h: regen
	sys/dev/mii/miivar.h: revision 1.54
For bge:
  - Really set Tx threshold.
  - Fix the case of setting a flag in BGE_PCI_DMA_RW_CTL on
    conventional PCI.
  - Fix some bugs that the driver unable to detect link loss
    (OpenBSD 1.135, FreeBSD 1.102)
  - bge_tick(): fix some extra input error (OpenBSD 1.221 FreeBSD 1.212)
  - Acknowledge link change interrupts by setting the "link changed" bit
    in the status register (used to have no effect). FreeBSD 1.44
    (OpenBSD 1.21)
  - Add some fiber support (OpenBSD 1.220)
  - Set BGE_MISCCFG_KEEP_GPHY_POWER as {Open,Free}BSD and linux.
  - Add special case code to fix a problem with the BCM5704 in TBI
    mode (FreeBSD rev. 1.71, OpenBSD rev. 1.35)
  - Force an interrupt in bge_ifmedia_upd (FreeBSD rev. 1.205, OpenBSD
    rev. 1.242)
  - Add missing workaround for 5705 (FreeBSD rev. 1.44, OpenBSD rev.
    1.21)
  - Don't print error message only when the register is BGE_SRS_MODE.
    It occurs on some environment (and once after boot?). Other *BSDs
    and Linux don't print the error message for all registers.
  - Fix comments.
  - Remove obsolete codes.
  - Add BCM5786 support.
for brgphy:
  - Add some quirk codes.
  - Add support for BCM5462, BCM54K2, BCM5708C, BCM5722, and BCM5906.

Revision 1.1.8.2: download - view: text, markup, annotated - select for diffs
Tue Aug 4 19:46:20 2009 UTC (15 years, 4 months ago) by snj
Branches: netbsd-5
CVS tags: netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1
Diff to: previous 1.1.8.1: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.8.1: +289 -0 lines
Apply patch (requested by msaitoh in ticket #866):
For bge:
  - Fix the case of setting a flag in BGE_PCI_DMA_RW_CTL on
    conventional PCI.
  - Fix some bugs that the driver unable to detect link loss
    (OpenBSD 1.135, FreeBSD 1.102)
  - bge_tick(): fix some extra input error (OpenBSD 1.221 FreeBSD 1.212)
  - Acknowledge link change interrupts by setting the 'link changed' bit
    in the status register (used to have no effect). FreeBSD 1.44
    (OpenBSD 1.21)
  - Add some fiber support (OpenBSD 1.220)
  - Set BGE_MISCCFG_KEEP_GPHY_POWER as {Open,Free}BSD and linux.
  - Add special case code to fix a problem with the BCM5704 in TBI
    mode (FreeBSD rev. 1.71, OpenBSD rev. 1.35)
  - Force an interrupt in bge_ifmedia_upd (FreeBSD rev. 1.205, OpenBSD
    rev. 1.242)
  - Add missing workaround for 5705 (FreeBSD rev. 1.44, OpenBSD rev.
    1.21)
  - Don't print error message only when the register is BGE_SRS_MODE.
    It occurs on some environment (and once after boot?). Other *BSDs
    and Linux don't print the error message for all registers.
  - Fix comments.
  - Remove obsolete codes.
For brgphy:
  - Add some quirk codes.
  - Add support for BCM5462, BCM54K2 and BCM5722.

Revision 1.1.6.2: download - view: text, markup, annotated - select for diffs
Wed May 13 17:20:25 2009 UTC (15 years, 7 months ago) by jym
Branches: jym-xensuspend
Diff to: previous 1.1.6.1: preferred, colored; branchpoint 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.6.1: +289 -0 lines
Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.1.4.2: download - view: text, markup, annotated - select for diffs
Mon May 4 08:12:56 2009 UTC (15 years, 7 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.1.4.1: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.4.1: +289 -0 lines
sync with head.

Revision 1.1.2.2: download - view: text, markup, annotated - select for diffs
Tue Apr 28 07:35:56 2009 UTC (15 years, 7 months ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.1.2.1: preferred, colored; branchpoint 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.2.1: +289 -0 lines
Sync with HEAD.

Revision 1.1.10.1
Thu Apr 23 10:47:44 2009 UTC (15 years, 7 months ago) by bouyer
Branches: netbsd-4
FILE REMOVED
Changes since revision 1.1: +0 -289 lines
file if_bgevar.h was added on branch netbsd-4 on 2009-08-18 10:10:19 +0000

Revision 1.1.8.1
Thu Apr 23 10:47:44 2009 UTC (15 years, 7 months ago) by snj
Branches: netbsd-5
FILE REMOVED
Changes since revision 1.1: +0 -289 lines
file if_bgevar.h was added on branch netbsd-5 on 2009-08-04 19:46:20 +0000

Revision 1.1.6.1
Thu Apr 23 10:47:44 2009 UTC (15 years, 7 months ago) by jym
Branches: jym-xensuspend
FILE REMOVED
Changes since revision 1.1: +0 -289 lines
file if_bgevar.h was added on branch jym-xensuspend on 2009-05-13 17:20:24 +0000

Revision 1.1.4.1
Thu Apr 23 10:47:44 2009 UTC (15 years, 7 months ago) by yamt
Branches: yamt-nfs-mp
FILE REMOVED
Changes since revision 1.1: +0 -289 lines
file if_bgevar.h was added on branch yamt-nfs-mp on 2009-05-04 08:12:56 +0000

Revision 1.1.2.1
Thu Apr 23 10:47:44 2009 UTC (15 years, 7 months ago) by skrll
Branches: nick-hppapmap
FILE REMOVED
Changes since revision 1.1: +0 -289 lines
file if_bgevar.h was added on branch nick-hppapmap on 2009-04-28 07:35:56 +0000

Revision 1.1: download - view: text, markup, annotated - select for diffs
Thu Apr 23 10:47:44 2009 UTC (15 years, 7 months ago) by msaitoh
Branches: MAIN
CVS tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, matt-premerge-20091211, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base
Branch point for: yamt-nfs-mp, nick-hppapmap, netbsd-5, netbsd-4, jym-xensuspend
use proplib

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

CVSweb <webmaster@jp.NetBSD.org>