summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Rewrite of puc(4). Significant changes are:marcel2006-04-2825-2334/+2129
| | | | | | | | | | | | | | | | | | | | o Properly use rman(9) to manage resources. This eliminates the need to puc-specific hacks to rman. It also allows devinfo(8) to be used to find out the specific assignment of resources to serial/parallel ports. o Compress the PCI device "database" by optimizing for the common case and to use a procedural interface to handle the exceptions. The procedural interface also generalizes the need to setup the hardware (program chipsets, program clock frequencies). o Eliminate the need for PUC_FASTINTR. Serdev devices are fast by default and non-serdev devices are handled by the bus. o Use the serdev I/F to collect interrupt status and to handle interrupts across ports in priority order. o Sync the PCI device configuration to include devices found in NetBSD and not yet merged to FreeBSD. o Add support for Quatech 2, 4 and 8 port UARTs. o Add support for a couple dozen Timedia serial cards as found in Linux.
* The nvidia binary blob sometimes defers tx completion notification to thejhb2006-04-281-1/+19
| | | | | | | | | | | | | | | | OS dependent layer. Thus, the watchdog timer can go off when the tx engine is working fine but the OS dependent layer just hasn't been called to cleanup finished tx transactions. To workaround this, when the watchdog fires, poke the binary blob to force it to flush any pending tx completions. If this drops the pending tx count to zero then just return without logging a message or resetting the chip. This reportedly fixes the 'device timeout()' errors with at least several NF4 nve(4) parts. Submitted by: Nathan Alexander Whitehorn <nathanw@uchicago.edu> (code) Submitted by: dg (inspiration for comment and explanation) MFC after: 1 week
* Fix typo.rwatson2006-04-281-1/+1
| | | | | MFC after: 1 month Submitted by: Antoine Brodin <antoine dot brodin@laposte dot net>
* Ensure outbound data packets in hostap mode are delivered only tosam2006-04-281-1/+12
| | | | | | | | | | | stations that are associated by making ieee80211_find_txnode return NULL when a unicast frame is to be delivered to an unassociated station. This will be handled differently in the future but for now putting the check here allows all drivers to immediately do the right thing. Reviewed by: avatar MFC after: 1 week
* Interim fix for pmap problems I introduced with my last commit.peter2006-04-281-82/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the code to dyanmically change the pv_entry limits. Go back to a single fixed kva reservation for pv entries, like was done before when using the uma zone. Go back to never freeing pages back to the free pool after they are no longer used, just like before. This stops the lock order reversal due to aquiring the kernel map lock while pmap was locked. This fixes the recursive panic if invariants are enabled. The problem was that allocating/freeing kva causes vm_map_entry nodes to be allocated/freed. That can recurse back into pmap as new pages are hooked up to kvm and hence all the problem. Allocating/freeing kva indirectly allocate/frees memory. So, by going back to a single fixed size kva block and an index, we avoid the recursion panics and the LOR. The problem is that now with a linear block of kva, we have no mechanism to track holes once pages are freed. UMA has the same problem when using custom object for a zone and a fixed reservation of kva. Simple solutions like having a bitmap would work, but would be very inefficient when there are hundreds of thousands of bits in the map. A first-free pointer is similarly flawed because pages can be freed at random and the first-free pointer would be rewinding huge amounts. If we could allocate memory for tree strucures or an external freelist, that would work. Except we cannot allocate/free memory here because we cannot allocate/free address space to use it in. Anyway, my change here reverts back to the UMA behavior of not freeing pages for now, thereby avoiding holes in the map. ups@ had a truely evil idea that I'll investigate. It should allow freeing unused pages again by giving us a no-cost way to track the holes in the kva block. But in the meantime, this should get people booting with witness and/or invariants again. Footnote: amd64 doesn't have this problem because of the direct map access method. I'd done all my witness/invariants testing there. I'd never considered that the harmless-looking kmem_alloc/kmem_free calls would cause such a problem and it didn't show up on the boot test.
* Implement the ipend() method of the serdev I/F.marcel2006-04-282-0/+10
|
* Minor wording and formatting fixes.brueffer2006-04-281-3/+7
|
* - Don't hold the device sx lock when going to sleep.pjd2006-04-281-6/+23
| | | | | | | | - Prevent possible live-lock in case of memory problems by freeing already completed requests first. Reported and tested by: markus, Bradley W. Dutton <brad-fbsd-stable@duttonbros.com> MFC after: 1 day
* - Remove dead code.pjd2006-04-282-17/+18
| | | | | | | - Comment possible event miss, which isn't critical, but probably can be fixed by replacing the event lock usage with the queue lock. MFC after: 2 weeks
* - Extend the nsswitch to support Services, Protocols and Rpcume2006-04-28109-747/+25779
| | | | | | | | databases. - Make nsswitch support caching. Submitted by: Michael Bushkov <bushman__at__rsu.ru> Sponsored by: Google Summer of Code 2005
* Be sure to not destroy device twice. This is not possible in theory, butpjd2006-04-281-2/+13
| | | | | | with this change there is even no theoretical race. MFC after: 2 weeks
* - use ath(4) in the wireless examples rather than the aging wi(4)thompsa2006-04-281-19/+37
| | | | | | | - make the packet filtering its own section and clarify a few points - note that the interfaces need to be upped [1] PR: docs/94545 [1]
* Be sure to not destroy device twice. This is not possible in theory, butpjd2006-04-281-2/+13
| | | | | | with this change there is even no theoretical race. MFC after: 2 weeks
* Autogenerate hardware notes for rr232x(4).brueffer2006-04-283-0/+5
|
* Add a basic man page for the sysctl(9) macro interfaces. Previously manrwatson2006-04-284-0/+346
| | | | | | | | | | | | | pages existed only for the dynamic sysctl interfaces. There's probably more complete and accurate content, better advice, etc, that could be added here. Per scottl's suggest, add a small piece of moralizing text regarding the fact that sysctl names quickly get embedded in system configuration files, libraries, third party applications, and even books, so renaming and removing names after they've been published is a tricky issue. MFC after: 1 month
* Add a section about locking protocol for busdma.scottl2006-04-281-0/+59
|
* Oops, forgot to remove the old entry in the last revision.brueffer2006-04-281-1/+0
|
* Install rr232x.4 only on i386 and amd64.brueffer2006-04-281-0/+2
|
* Tweak the DMA limit from rev 1.33, it was off by one byte.silby2006-04-281-1/+1
| | | | Submitted by: scottl
* Switch all bus_dmamap_sync calls that used PREREAD to PREWRITE and allsilby2006-04-281-10/+10
| | | | | | | | POSTWRITE to POSTREAD. No guarantee that all busdma is usage is perfect, but this change (in addition to scott's last two commits) makes if_bfe work with > 1GB of memory in my laptop.
* Enable the rr232x driver for amd64.scottl2006-04-284-0/+14
|
* Fix a typo.scottl2006-04-281-1/+1
|
* Add a manpage for the rr232x driver.scottl2006-04-282-0/+96
|
* Fix a typo that slipped in right before commit.scottl2006-04-281-1/+1
|
* Unbreak pc98. Sorry...sobomax2006-04-281-0/+2
|
* Add some incomplete support for Marvell Yukon EC controllers based onsobomax2006-04-282-20/+134
| | | | | | | | | | OpenBSD changes. With these changes, PHY part of the driver becomes functional (it senses media changes and negotiates speed just fine), previously it just hang with no PHY message, but no data goes through interface (error message is "can not stop transfer of Tx/Rx descriptor). Hopefully somebody with more clue/free time will be able to pick up after me.
* - Add a BO_NEEDSGIANT flag to the bufobj. This flag forces all childjeff2006-04-283-2/+10
| | | | | | buffers to go on the buf daemon's DIRTYGIANT queue. - Set BO_NEEDSGIANT on ffs's devvp since the ffs_copyonwrite handler runs in the context of the buf daemon and may require Giant.
* - Consistently track ni_dvp and ni_vp with dvfslocked and vfslocked ratherjeff2006-04-281-13/+15
| | | | | | | | | | | | than trying to optimize it into a single lock. This adds more calls to lock giant with non smpsafe filesystems but is the only way to reliably hold the correct lock. - Remove an invalid assert in the mountedhere case in lookup and fix the code to properly deal with the scenario. We can actually have a lookup that returns dp == dvp with mountedhere set with certain unmount races. Tested by: kris Reported by: kris/mohans
* The alignment parameter to busdma must be a power of two, while the if_bfescottl2006-04-271-2/+2
| | | | | driver was trying to use an arbitrary rx/tx ring size of the value. Change to using unrestricted values for alignment and boundary instead.
* Sort includes.jhb2006-04-271-2/+2
|
* A whitespace fix.jhb2006-04-271-1/+1
| | | | Submitted by: bde
* Drop locking comments. ddb functions should never use locking anyway andjhb2006-04-271-6/+0
| | | | | | | no other ddb functions try to annotate what locking would otherwise be appropriate in comments. Prodded by: bde
* MFp4: reworked iwi-drivermlaier2006-04-273-702/+1729
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changelog towards if_iwi.c 1.26 (some changes have been committed separately in the mean time): - add led support - add firmware loading on demand - auto-restart firmware when it crashes - serialize operations sent to the firmware to reduce firmware crashes - add power save operation support - remove incorrect specification of tx power control capability - add radio on/off switch support - improve net80211 state machine operation - recognize and handle beacon miss - handle authentication and association failures better - add shared key authentication - fix ibss mode (many changes) - fix wme (many changes) - correct radiotap support (many changes) - correct bus dma setup of s/g - correct various locking issues - fix monitor mode - fix scanning (many changes) - recover from wedged scan requests - respect active channel list - eliminate cases where interface was marked down on error - don't treat parity errors as fatal - reclaim mgt frames immediately from tx queue - correct interrupt handling, ack early (from NetBSD) - fix short/long preamble handling Committed with RELENG_6 compat #if's, should compile in RELENG_6. Requires net/iwi-firmware-kmod to function. Much work done by: sam Tested by: many (freebsd-net), ume, luigi MFC after: 4 weeks
* In general, bits in the page directory entry (PDE) and the page tablealc2006-04-272-14/+12
| | | | | | | | | | | | | entry (PTE) have the same meaning. The exception to this rule is the eighth bit (0x080). It is the PS bit in a PDE and the PAT bit in a PTE. This change avoids the possibility that pmap_enter() confuses a PAT bit with a PS bit, avoiding a panic(). Eliminate a diagnostic printf() from the i386 pmap_enter() that serves no current purpose, i.e., I've seen no bug reports in the last two years that are helped by this printf(). Reviewed by: jhb
* Add the rr232x driver to the default kernels.scottl2006-04-272-0/+6
|
* When pccard_safe_quote is passed NULL for src, it shouldn't panic.imp2006-04-271-1/+1
| | | | | Someone sent me this a while ago, but I can't find who to give them proper credit...
* New release notes: sab(4) removal, non-AT keyboard controller i386bmah2006-04-272-0/+20
| | | | system support, sk(4) MPSAFE.
* Add the 'rr232x' driver for the HighPoint RocketRAID 2320 series of cards.scottl2006-04-2719-0/+13110
| | | | | | | | | This driver was generously developed and donated by Highpoint. It is enabled for i386 only at the moment. I will enable it for amd64 shortly. Obtained from: HighPoint Technologies, Inc.
* With minidumps, the dumping partition could be smaller than physicalps2006-04-271-1/+8
| | | | | | memory, so checking the size of the partition is not necessary. Tested by: kris
* back out for now... revert ccpu to being kern.ccpu...jmg2006-04-271-1/+1
|
* Don't use ", but instead use ' instead. I suppose I could have alsoimp2006-04-271-5/+5
| | | | | | used \". When compiling with USB_VERBOSE, this causes syntax issues. Noticed by: Hans Petter Selasky
* o Add 5 Timedia single port serial cards.marcel2006-04-271-8/+25
| | | | o While here, break long lines.
* ru@ recently changed lorder to support library archives. Documentimp2006-04-271-1/+9
| | | | this new feature prominently. Bump date while I'm here.
* Fix problem with having more than 1GM of RAM. Also fix a nearby busdmascottl2006-04-271-5/+8
| | | | | | problem. Submitted by: silby
* s/long/int.davidxu2006-04-271-2/+2
|
* - Use same priority range returned by kernel's sched_get_priority_min()davidxu2006-04-276-55/+57
| | | | | and sched_get_priority_max() syscalls. - Remove unused fields from structure pthread_attr.
* sk(4) now also works on sparc64 (as of yongari's recent commits).simon2006-04-271-1/+1
|
* Uncomment sk(4) as it's now working.yongari2006-04-271-1/+1
|
* Bring busdmafied sk(4) to all architectures.yongari2006-04-274-588/+1695
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* Use 115200 and not 9600 as the initial baudrate. This speeds upmarcel2006-04-271-1/+1
| | | | detection of the FIFO size. Especially for large FIFOs.
OpenPOWER on IntegriCloud