summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Teach the MAC policies which utilize mbuf labeling the new syncachecsjp2006-12-133-0/+75
| | | | | | entry points. Properly initialize the mbuf label based on the label we copy from the PCB. This fixes an LOR between the PCB and syncache code.
* Fix LOR between the syncache and inpcb locks when MAC is present in thecsjp2006-12-135-43/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kernel. This LOR snuck in with some of the recent syncache changes. To fix this, the inpcb handling was changed: - Hang a MAC label off the syncache object - When the syncache entry is initially created, we pickup the PCB lock is held because we extract information from it while initializing the syncache entry. While we do this, copy the MAC label associated with the PCB and use it for the syncache entry. - When the packet is transmitted, copy the label from the syncache entry to the mbuf so it can be processed by security policies which analyze mbuf labels. This change required that the MAC framework be extended to support the label copy operations from the PCB to the syncache entry, and then from the syncache entry to the mbuf. These functions really should be referencing the syncache structure instead of the label. However, due to some of the complexities associated with exposing this syncache structure we operate directly on it's label pointer. This should be OK since we aren't making any access control decisions within this code directly, we are merely allocating and copying label storage so we can properly initialize mbuf labels for any packets the syncache code might create. This also has a nice side effect of caching. Prior to this change, the PCB would be looked up/locked for each packet transmitted. Now the label is cached at the time the syncache entry is initialized. Submitted by: andre [1] Discussed with: rwatson [1] andre submitted the tcp_syncache.c changes
* Add msk(4) to the list of drivers supported by GENERIC kernel.yongari2006-12-132-0/+2
|
* Implement bus_space_map().marcel2006-12-131-1/+2
|
* Add an entry for the msk(4) module.yongari2006-12-131-0/+1
|
* Hook up msk(4) to the build.yongari2006-12-134-0/+15
|
* Add msk(4), a driver for Marvell/SysKonnect Yukon II Gigabit Ethernetyongari2006-12-132-0/+6444
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | controller. Due to lack of documentation, this driver is based on the code from sk(4) and Marvell's myk(4) driver for FreeBSD. I've also adopted the OpenBSD interface name, msk(4) in order to reduce naming differences between BSDs. The msk(4) driver supports the following Gigabit Ethernet adapters. o SysKonnect SK-9Sxx Gigabit Ethernet o SysKonnect SK-9Exx Gigabit Ethernet o Marvell Yukon 88E8021CU Gigabit Ethernet o Marvell Yukon 88E8021 SX/LX Gigabit Ethernet o Marvell Yukon 88E8022CU Gigabit Ethernet o Marvell Yukon 88E8022 SX/LX Gigabit Ethernet o Marvell Yukon 88E8061CU Gigabit Ethernet o Marvell Yukon 88E8061 SX/LX Gigabit Ethernet o Marvell Yukon 88E8062CU Gigabit Ethernet o Marvell Yukon 88E8062 SX/LX Gigabit Ethernet o Marvell Yukon 88E8035 Gigabit Ethernet o Marvell Yukon 88E8036 Gigabit Ethernet o Marvell Yukon 88E8038 Gigabit Ethernet o Marvell Yukon 88E8050 Gigabit Ethernet o Marvell Yukon 88E8052 Gigabit Ethernet o Marvell Yukon 88E8053 Gigabit Ethernet o Marvell Yukon 88E8055 Gigabit Ethernet o Marvell Yukon 88E8056 Gigabit Ethernet o D-Link 550SX Gigabit Ethernet o D-Link 560T Gigabit Ethernet Unlike OpenBSD/NetBSD msk(4), the msk(4) driver supports all hardware features including TCP/UDP checksum offload for transmit, MSI, TCP segmentation offload(TSO), hardware VLAN tag stripping/insertion, and jumbo frames(up to 9022 bytes). The only unsupported hardware feature except RLMT is Rx checksum offload which I don't know how to make it work reliably. Known Issues: It seems msk(4) does not work on the second port of dual port NIC. (The first port works without problems.) Thanks to Marvell for releasing the BSD licensed myk(4) driver and thanks to all users helped fixing bugs. Tested by: bz, philip, bms, YAMAMOTO Shigeru < shigeru AT iij DOT ad DOT jp >, Dmitry Pryanishnikov < dmitry AT atlantis DOT dp DOT ua >, Jia-Shiun Li < jiashiun AT gmail DOT com >, David Duchscher < daved AT tamu DOT edu >, Arno J. Klaassen < arno AT heho DOT snv DOT jussieu DOT fr>, Nicolae Namolovan < adrenalinup AT gmail DOT com>, Andre Guibert de Bruet < andy AT siliconlandmark DOT com > current ML Tested on: i386, amd64
* - Add constants for HT PCI capability registers including the variousjhb2006-12-122-0/+51
| | | | | | | subtypes of HT capabilities. - Add constants for the MSI mapping window HT PCI capability. - On i386 and amd64, enable the MSI mapping window on any HT bridges we encounter and report any non-standard mapping window addresses.
* Give the WREG() macro the same lifetime as the REG() macro.jhb2006-12-121-3/+3
|
* Add some bootverbose printf's to detail how many MSI messages are allocatedjhb2006-12-121-0/+92
| | | | | | and to which IRQs. Requested by: scottl
* Give Host-PCI bridge drivers their own pcib_alloc_msi() andjhb2006-12-125-12/+120
| | | | | | pcib_alloc_msix() methods instead of using the method from the generic PCI-PCI bridge driver as the PCI-PCI methods will be gaining some PCI-PCI specific logic soon.
* Sort function prototypes.jhb2006-12-122-2/+2
|
* Replace a few magic numbers.jhb2006-12-121-2/+2
|
* Add a function to return the MD interrupt source cookie associated withjhb2006-12-124-6/+27
| | | | | an interrupt event. Use this in the x86 code to fixup the intrcnt names when an interrupt handler is removed.
* Add a comment and fix a whitespace nit.jhb2006-12-121-1/+2
|
* In ip6_sprintf no longer use and return one of eight static buffersbz2006-12-121-1/+3
| | | | | | | | | | | for printing/logging ipv6 addresses. The caller now has to hand in a sufficiently large buffer as first argument. This is the "+ one more change" missed in the original commit. Noticed by: tinderbox Pointy hat to: me (#1)
* Correctly calculate length of IP header.glebius2006-12-121-1/+2
| | | | Submitted by: Eugene Hartmann <eugene tpsb.com.ru>
* MFp4: 92972, 98913 + one more changebz2006-12-1224-181/+297
| | | | | | | In ip6_sprintf no longer use and return one of eight static buffers for printing/logging ipv6 addresses. The caller now has to hand in a sufficiently large buffer as first argument.
* Fix a potential point of confusion. Art Ironport we've seen this end upjulian2006-12-121-3/+6
| | | | with an infinite loop in and out of the kernel during process shutdown.
* Fix support for certain 575x/578x chips. This consists of the following:scottl2006-12-122-35/+274
| | | | | | | | | | | - Use the appropriate register writing method when reseting the chip - Program the descriptor DMA engine correctly. - More reliably detect certain chips and their features. Also add some low-level debugging tools to help future work on this driver. Submitted by: David Christenson (proof of concept changes) Sponsored by: www.UIA.net
* workaround kernel malloc's brittlenesskmacy2006-12-121-1/+8
| | | | | - don't shuffle phys_avail following kernel to the beginning if the range is less than what would remain in a 256MB page (248MB)
* In FreeBSD, we don't need sc_power callbackkevlo2006-12-121-1/+1
| | | | Approved by: cognet and imp
* - provide a more informative panic if mdesc_update() failskmacy2006-12-121-7/+10
| | | | | - handle some cases where the return value of mdesc_update() is not zero when it should be
* - remove vestigial reference to mra[i]kmacy2006-12-121-17/+33
| | | | | - partition phys_avail along 4GB boundaries as possible workaround for hardware problems causing watchdog panics
* Add MODULE_DEPENDS for cam, pci, mca, eisa and isa where needed.mjacob2006-12-111-0/+2
| | | | | | PR: 106543 Reviewed by: Adam Radford MFC after: 3 days
* These days P2P means peer-2-peer (also well known from serveral filesharingthompsa2006-12-114-25/+25
| | | | | | | protocols) while PointToPoint has been PtP links. Change the variables accordingly while the code is still fresh and undocumented. Requested by: bz
* NetApp filers return corrupt post op attrs in the wcc on NFS error responses.mohans2006-12-111-1/+8
| | | | | | | This is easy to reproduce for EROFS. I am not sure if the attrs can be corrupt for other NFS error responses. For now, disabling wcc pre-op attr checks and post-op attr loads on NFS errors (sysctl'ed). Reported by: Kris Kennaway
* Fix distorted sound on ASUS P1-AH2 caused by accumulated input / output.ariff2006-12-111-0/+10
| | | | Reported/Tested by: Hiroharu Tamaru <tamaru@myn.rcast.u-tokyo.ac.jp>
* Add MODULE_DEPENDS for cam, pci, mca, eisa and isa where needed.mjacob2006-12-1129-2/+50
| | | | | PR: 106543 MFC after: 3 days
* - Correct collision counter for BCM5705+. This register is read/clear.jkim2006-12-111-10/+13
| | | | | | | | | | | | | | | | - Correct RX packet drop counter for BCM5705+. This register is read/clear and it wraps very quickly under heavy packet drops because only the lower ten bits are valid according to the documentation. However, it seems few more bits are actually valid and the rest bits are always zeros[1]. Therefore, we don't mask them off here. To get accurate packet drop count, we need to check the register from bge_rxeof(). It is commented out for now, not to penalize normal operation. Actual performance impact should be measured later. - Correct integer casting from u_long to uint32_t. Casting is not really needed for all supported platforms but we better do this correctly[2]. Tested by: bde[1] Suggested by: bde[2]
* o Add support code for newer Marvell PHYs.yongari2006-12-111-127/+213
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o Remove unused static global variable e1000phy_debug. o Take advantage of mii_phy_dev_probe(). o Use MII_ANEGTICKS/MII_ANEGTICKS_GIGE instead of magic number 5. o Add IFM_NONE as e1000phy(4) supports it without issues. o Nuke magic PHY programming sequence in PHY reset and follow correct reset sequence. [1] o Make manual media selection work for all supported media types. o Don't set MIIF_NOISOLATE so e1000phy(4) can be used in configurations with multiple PHYs. o In 1000baseT, when setting the link manually, one side must be the master and the other the slave. If LINK0 is set, program the PHY to be a master, otherwise it's a slave. o When we lost a link, reset mii_ticks immediately so it correctly check number of seconds elapsed in autonegotiation phase. o Announce link loss right after it happens. o After kicking autonegotiation, report PHY status instead of returning immediatly. o When link state check is in progress, check auto negotiation completion bit only when auto negotiation is enbaled. o When PHY is resolved to a master, show it with IFM_FLAG2. Special thanks to marius who fixed several nits in original patch. In half-duplex mode, nfe(4) fails to send packets. I think it's a bug in nfe(4) as the same PHY works without problems on msk(4). Obtained from: em(4) [1] Reviewed by: marius Tested by: bz
* Add additional Marvell PHY registers.yongari2006-12-111-0/+10
|
* Add a bunch of new Marvell PHY ids.yongari2006-12-111-0/+14
|
* style(9)yongari2006-12-111-5/+4
|
* defer all processing to a full fledged thread.alfred2006-12-114-180/+209
| | | | | once usb is SMP safe, this should be the first SMPsafe usb ethernet driver.
* make size of pad non-zero so that trap-tracing code doesn't overwrite thekmacy2006-12-111-1/+1
| | | | base of our stack
* Teach the brgphy about some new Broadcom IDs.scottl2006-12-112-0/+3
| | | | | Submitted by: David Christenson Sponsored by: www.UIA.net
* replace if_watchdog w/ a private calloutsam2006-12-112-12/+11
| | | | MFC after: 1 month
* drop softc lock when passing rx frames up the stacksam2006-12-111-0/+3
| | | | MFC after: 1 month
* split wi_start int locked+unlocked variants and use the unlockedsam2006-12-112-9/+15
| | | | | | one from the isr to eliminate a recursive lock MFC after: 1 month
* nuke compatibility cruftsam2006-12-112-41/+0
| | | | MFC after: 1 month
* KTR entry contained invalid context reference - ifdef outkmacy2006-12-101-1/+2
|
* Back out revision 1.264.bms2006-12-101-12/+5
| | | | | | | Fixing the IP accounting issue, if we plan to do so, needs to be better thought out; the 'fix' introduces a hash lookup and a possible kernel panic. Reported by: Mark Tinguely
* Fix AD1986A (and possibily other codecs too) microphone issues.ariff2006-12-101-3/+38
| | | | Tested by: xride (using skype, xanalyser, etc. ; play/record)
* remove more uses of trap_conversion to get more meaningful trap messageskmacy2006-12-101-11/+14
| | | | add a printf for when we fault on the direct area (should never happen)
* Remember to include isp_library.o when building an isp module.mjacob2006-12-101-1/+1
|
* Make cam_xpt's pronouncements match camcontrolmjacob2006-12-101-1/+1
| | | | (Tagged -> Command) Queueing.
* Make MAXPHYS and DFLTPHYS options (finally).mjacob2006-12-102-0/+17
|
* Do explicit bounds checking as a function of the actual size of thekmacy2006-12-101-1/+1
| | | | | reloc_target_bitmask array as opposed to the (known) index of the last value. This change fixes CID 691.
* better handle the case of hw.physmemstart being hw.physmem not being set,kmacy2006-12-101-1/+2
| | | | previously we were acting as if physmem was being set when it was not
OpenPOWER on IntegriCloud