aboutsummaryrefslogtreecommitdiff
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Fix long standing multi playback/recording issues, caused byAriff Abdullah2007-03-091-42/+134
| | | | | | | | | | | | excessive interrupt clock timer reset, screwing interrupt generation for already active channels. Track moving DMA pointer and call buffer interrupt on each blocksize boundary. PR: kern/109791 MFC after: 3 days Notes: svn path=/head/; revision=167355
* Minor simplification.Pawel Jakub Dawidek2007-03-091-3/+1
| | | | Notes: svn path=/head/; revision=167354
* Back out a chance to nfs_timer() that inadvertantly crept in the last checkin :(Mohan Srinivasan2007-03-091-1/+1
| | | | Notes: svn path=/head/; revision=167353
* Over NFS, an open() call could result in multiple over-the-wireMohan Srinivasan2007-03-0912-2/+46
| | | | | | | | | | | | | | | GETATTRs being generated - one from lookup()/namei() and the other from nfs_open() (for cto consistency). This change eliminates the GETATTR in nfs_open() if an otw GETATTR was done from the namei() path. Instead of extending the vop interface, we timestamp each attr load, and use this to detect whether a GETATTR was done from namei() for this syscall. Introduces a thread-local variable that counts the syscalls made by the thread and uses <pid, tid, thread syscalls> as the attrload timestamp. Thanks to jhb@ and peter@ for a discussion on thread state that could be used as the timestamp with minimal overhead. Notes: svn path=/head/; revision=167352
* Add more chipset revision IDs.Jung-uk Kim2007-03-092-0/+5
| | | | | | | Obtained from: OpenBSD Notes: svn path=/head/; revision=167351
* ng_send_fn() can return with an error, the function of interestRuslan Ermilov2007-03-081-1/+2
| | | | | | | | | | will never be called and OACTIVE will never be reset. Fix this. Submitted by: Vsevolod Lobko MFC after: 3 days Notes: svn path=/head/; revision=167348
* Refine ahci_status to be more simple.Søren Schmidt2007-03-081-43/+29
| | | | Notes: svn path=/head/; revision=167347
* Update mxge's firmware from a fairly old version (1.4.6) to the mostAndrew Gallatin2007-03-082-1721/+1959
| | | | | | | | | | | | recent version (1.4.12). Firmware changelogs are available on Myricom's web site at: http://www.myri.com/scs/CHANGES/CHANGES.myri10ge-firmware Sponsored by: Myricom Inc. Notes: svn path=/head/; revision=167345
* Cleanup the channel/phy reset code.Søren Schmidt2007-03-082-129/+144
| | | | Notes: svn path=/head/; revision=167344
* Fix IP_SENDSRCADDR semantics.Bruce M Simpson2007-03-081-4/+11
| | | | | | | | | | | | | | | | | | | * To use this option with a UDP socket, it must be bound to a local port, and INADDR_ANY, to disallow possible collisions with existing udp inpcbs bound to the same port on other interfaces at send time. * If the socket is bound to INADDR_ANY, specifying IP_SENDSRCADDR with INADDR_ANY will be rejected as it is ambiguous. * If the socket is bound to an address other than INADDR_ANY, specifying IP_SENDSRCADDR with INADDR_ANY will be disallowed by in_pcbbind_setup(). Reviewed by: silence on -net Tested with: src/tools/regression/netinet/ipbroadcast MFC after: 4 days Notes: svn path=/head/; revision=167342
* Instead of doing comparisons using the pcpu area to see ifJulian Elischer2007-03-089-13/+18
| | | | | | | | | | a thread is an idle thread, just see if it has the IDLETD flag set. That flag will probably move to the pflags word as it's permenent and never chenges for the life of the system so it doesn't need locking. Notes: svn path=/head/; revision=167327
* Use correct bits to stop firmware when ASF mode is enabled.Jung-uk Kim2007-03-081-2/+2
| | | | Notes: svn path=/head/; revision=167312
* Fix more style(9) bugs.Jung-uk Kim2007-03-081-76/+62
| | | | | | | | | | | | - Remove some excessive parentheses around shift operators. - Use macro instead of magic number where it is applicable. - Change lower-case hexdecimals to upper cases to match wpaul's style. - Revert some unnecessary line wraps and changes from the previous commit. Pointed out by: bde Notes: svn path=/head/; revision=167311
* This patch is provided to fix a couple of deployment issues observedQing Li2007-03-072-10/+14
| | | | | | | | | | | | | | | | | | | | | in the field. In one situation, one end of the TCP connection sends a back-to-back RST packet, with delayed ack, the last_ack_sent variable has not been update yet. When tcp_insecure_rst is turned off, the code treats the RST as invalid because last_ack_sent instead of rcv_nxt is compared against th_seq. Apparently there is some kind of firewall that sits in between the two ends and that RST packet is the only RST packet received. With short lived HTTP connections, the symptom is a large accumulation of connections over a short period of time . The +/-(1) factor is to take care of implementations out there that generate RST packets with these types of sequence numbers. This behavior has also been observed in live environments. Reviewed by: silby, Mike Karels MFC after: 1 week Notes: svn path=/head/; revision=167310
* White space nits.Pawel Jakub Dawidek2007-03-071-4/+4
| | | | Notes: svn path=/head/; revision=167309
* Rototill the sparc64 nexus(4) (actually this brings in the code theMarius Strobl2007-03-0719-839/+551
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sun4v nexus(4) in turn is based on): o Change nexus(4) to manage the resources of its children so the respective device drivers don't need to figure them out of OFW themselves. o Change nexus(4) to provide the ofw_bus KOBJ interface instead of using IVARs for supplying the OFW node and the subset of standard properties of its children. Together with the previous change this also allows to fully take advantage of newbus in that drivers like fhc(4), which attach on multiple parent busses, no longer require different bus front-ends as obtaining the OFW node and properties as well as resource allocation works the same for all supported busses. As such this change also is part 4/4 of allowing creator(4) to work in USIII-based machines as it allows this driver to attach on both nexus(4) and upa(4). On the other hand removing these IVARs breaks API compatibility with the powerpc nexus(4) but which isn't that bad as a) sparc64 currently doesn't share any device driver hanging off of nexus(4) with powerpc and b) they were no longer compatible regarding OFW-related extensions at the pci(4) level since quite some time. o Provide bus_get_dma_tag methods in nexus(4) and its children in order to handle DMA tags in a hierarchical way and get rid of the sparc64_root_dma_tag kludge. Together with the previous two items this changes also allows to completely get rid of the nexus(4) IVAR interface. It also includes: - pushing the constraints previously specified by the nexus_dmatag down into the DMA tags of psycho(4) and sbus(4) as it's their IOMMUs which induce these restrictions (and nothing at the nexus(4) or anything that would warrant specifying them there), - fixing some obviously wrong constraints of the psycho(4) and sbus(4) DMA tags, which happened to not actually be used with the sparc64_root_dma_tag kludge in place and therefore didn't cause problems so far, - replacing magic constants for constraints with macros as far as it is obvious as to where they come from. This doesn't include taking advantage of the newbus way to get the parent DMA tags implemented by this change in order to divorce the IOTSBs of the PCI and SBus IOMMUs or for implementing the workaround for the DMA sync bug in Sabre (and Tomatillo) bridges, yet, though. o Get rid of the notion that nexus(4) (mostly) reflects an UPA bus by replacing ofw_upa.h and with ofw_nexus.h (which was repo-copied from ofw_upa.h) and renaming its content, which actually applies to all of Fireplane/Safari, JBus and UPA (in the host bus case), as appropriate. o Just use M_DEVBUF instead of a separate M_NEXUS malloc type for allocating the device info for the children of nexus(4). This is done in order to not need to export M_NEXUS when deriving drivers for subordinate busses from the nexus(4) class. o Use the DEFINE_CLASS_0() macro to declare the nexus(4) driver so we can derive subclasses from it. o Const'ify the nexus_excl_name and nexus_excl_type arrays as well as add 'associations' and 'rsc', which are pseudo-devices without resources and therefore of no real interest for nexus(4), to the former. o Let the nexus(4) device memory rman manage the entire 64-bit address space instead of just the UPA_MEMSTART to UPA_MEMEND subregion as Fireplane/Safari- and JBus-based machines use multiple ranges, which can't be as easily divided as in the case of UPA (limiting the address space only served for sanity checking anyway). o Use M_WAITOK instead of M_NOWAIT when allocating the device info for children of nexus(4) in order to give one less opportunity for adding devices to nexus(4) to fail. o While adapting the drivers affected by the above nexus(4) changes, change them to take advantage of rman_get_rid() instead of caching the RIDs assigned to allocated resources, now that the RIDs of resources are correctly set. o In iommu(4) and nexus(4) replace hard-coded functions names, which actually became outdated in several places, in panic strings and status massages with __func__. [1] o Use driver_filter_t in prototypes where appropriate. o Add my copyright to creator(4), fhc(4), nexus(4), psycho(4) and sbus(4) as I changed considerable amounts of these drivers as well as added a bunch of new features, workarounds for silicon bugs etc. o Fix some white space nits. Due to lack of access to Exx00 hardware, these changes, i.e. central(4) and fhc(4), couldn't be runtime tested on such a machine. Exx00 are currently reported to panic before trying to attach nexus(4) anyway though. PR: 76052 [1] Approved by: re (kensmith) Notes: svn path=/head/; revision=167308
* Fix some nits in lock profiling for rwlocks:John Baldwin2007-03-071-6/+9
| | | | | | | | | | | | - Properly note when a read lock is released. - Always note when we contest on a read lock. - Only note success of obtaining read locks for the first reader to match the behavior of sx(9). Reviewed by: kmacy Notes: svn path=/head/; revision=167307
* Wrap a few lines at 80 cols.John Baldwin2007-03-072-6/+12
| | | | Notes: svn path=/head/; revision=167306
* After the last change to KSE threading a bug was introduced whereJulian Elischer2007-03-071-44/+34
| | | | | | | | all threads were counted against the count of upcall capable threads. this changes the way we do this accounting. Notes: svn path=/head/; revision=167305
* Add Ethertype for 802.3ad LACP.Bruce M Simpson2007-03-071-0/+1
| | | | Notes: svn path=/head/; revision=167290
* Update openpic to support the new bus_setup_intr() syntax.Paolo Pisati2007-03-073-8/+9
| | | | | | | Reviewed by: marcel Notes: svn path=/head/; revision=167289
* Use M_NOWAIT instead of M_WAITOK to cause malloc() to return NULL.Kevin Lo2007-03-073-3/+3
| | | | Notes: svn path=/head/; revision=167285
* When dispatching frames saved on the power save queue to aSam Leffler2007-03-072-13/+38
| | | | | | | | | | | | | | | station exiting power save mode prepend them to the driver's send q instead of appending them. This insures the packets are not misordered wrt any packets already q'd for the station. This corrects a problem noticed when using a VoIP phone talking to an ath card in ap mode; the misordered packets caused noise. Submitted by: "J.R. Oldroyd" <jr@opal.com> MFC after: 2 weeks Notes: svn path=/head/; revision=167284
* add ieee80211_opmode_name array for mapping the opmode to a stringSam Leffler2007-03-073-0/+12
| | | | | | | | | for printing diagnostic msgs MFC after: 2 weeks Notes: svn path=/head/; revision=167283
* when starting up an ibss master use a random address forSam Leffler2007-03-071-2/+5
| | | | | | | | | | the bssid; this is required for wifi alliance compliance Obtained from: Atheros MFC after: 2 weeks Notes: svn path=/head/; revision=167282
* Remove zs(4). Its functionality has been superseded by uart(4) forMarcel Moolenaar2007-03-074-1719/+0
| | | | | | | a while now; including on PowerPC. Notes: svn path=/head/; revision=167281
* Fix style(9) and consistency.Jung-uk Kim2007-03-061-87/+105
| | | | Notes: svn path=/head/; revision=167280
* Pollute bge(4) with #if's and #ifdef's to make MFC easier.Jung-uk Kim2007-03-061-27/+77
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=167279
* Don't increment total_bounced when doing no-op dmamap_sync ops.Scott Long2007-03-063-3/+6
| | | | Notes: svn path=/head/; revision=167277
* Change the x86 interrupt code to use FreeBSD CPU IDs (i.e. PCPU_GET(cpuid))John Baldwin2007-03-0610-42/+52
| | | | | | | | rather than local APIC IDs to keep track of CPUs which can handle interrupts. Notes: svn path=/head/; revision=167273
* Wrap at 80 bus_setup_intr() in upa_setup_intr().Paolo Pisati2007-03-061-2/+2
| | | | Notes: svn path=/head/; revision=167267
* Backout rev 1.17, msleep() can't be used with a spinlock.Olivier Houchard2007-03-061-2/+6
| | | | | | | Pointy hat to: cognet Notes: svn path=/head/; revision=167266
* Remove a useless cast from void * to struct ppb_device *.Paolo Pisati2007-03-061-1/+1
| | | | Notes: svn path=/head/; revision=167265
* o Wrap ppc_setup_intr() at 80.Paolo Pisati2007-03-061-3/+6
| | | | | | | o Fix a bit the indentation. Notes: svn path=/head/; revision=167264
* Wrap ixppcib_setup_intr() at 80.Paolo Pisati2007-03-061-1/+2
| | | | Notes: svn path=/head/; revision=167263
* Wrap a BUS_SETUP_INTR() line at 80.Paolo Pisati2007-03-061-2/+2
| | | | Notes: svn path=/head/; revision=167262
* o substitute INTR_FAST with FILTER in a panic message.Paolo Pisati2007-03-061-3/+3
| | | | | | | o wrap a BUS_SETUP_INTR() line at 80. Notes: svn path=/head/; revision=167261
* Move macros describing extended attributes in UFS fromKirk McKusick2007-03-062-47/+49
| | | | | | | | | | | | | | <sys/extattr.h> to <ufs/ufs/extattr.h>. Move description of extended attributes in UFS from man9/extattr.9 to man5/fs.5. Note that restore will not compile until <sys/extattr.h> and <ufs/ufs/extattr.h> have been updated. Suggested by: Robert Watson Notes: svn path=/head/; revision=167259
* In translate_path_major_minor(), do not calculate otherwise unused 'fp'Robert Watson2007-03-061-4/+0
| | | | | | | variable, avoiding an extra locking of the file descriptor array. Notes: svn path=/head/; revision=167257
* Enable tone / 3D controls for YAMAHA YMF743, 753 and 752 (partially).Ariff Abdullah2007-03-061-0/+17
| | | | | | | | PR: kern/109599 Submitted by: Watanabe Kazuhiro <CQG00620@nifty.ne.jp> Notes: svn path=/head/; revision=167256
* Reverse this change. malloc() with M_WAITOK never fails.Kevin Lo2007-03-061-2/+0
| | | | | | | Noted by: cognet, brian and thompsa Notes: svn path=/head/; revision=167255
* Better fix for the errors under high load. Returning CAM_SCSI_BUSY is almostScott Long2007-03-062-2/+10
| | | | | | | | | | | | | | | | | | never correct as CAM has no real understanding of it, and will just immediately retry the command. This leads to undesirable cycling of the camisr as well as a high possibility for the command to exhaust its retries before the driver can get around to servicing it. The better fix, as demonstrated here, is to freeze the simq and mark the command as needing to be tried. Then when driver can service the command, the simq gets unfrozen. This is correct, and documented here to help reduce the mystery. However, it also points out a shortcoming in CAM error handling that makes writing drivers harder. Submitted by: Erich Chen Notes: svn path=/head/; revision=167254
* Trim trailing whitespace.John Baldwin2007-03-051-8/+8
| | | | Notes: svn path=/head/; revision=167253
* Change mtx's to use the formulated name as type so witness does notSam Leffler2007-03-052-4/+5
| | | | | | | | | complain on nested tx q lock acquisitions when processing the cab q. MFC after: 2 weeks Notes: svn path=/head/; revision=167252
* Kick tx after processing rx'd frames; this fixes latency issuesSam Leffler2007-03-051-0/+5
| | | | | | | | | | | | for processing frames from the power save queue when operating in ap mode. This is especially noticeable for realtime data going to devices like voip phones. Submitted by: "J.R. Oldroyd" <jr@opal.com> MFC after: 2 weeks Notes: svn path=/head/; revision=167251
* Acquiring smp_ipi_mtx on every call to pmap_invalidate_*() is wasteful.Alan Cox2007-03-055-134/+33
| | | | | | | | | | | | | | | For example, during a buildworld more than half of the calls do not generate an IPI because the only TLB entry invalidated is on the calling processor. This revision pushes down the acquisition and release of smp_ipi_mtx into smp_tlb_shootdown() and smp_targeted_tlb_shootdown() and instead uses sched_pin() and sched_unpin() in pmap_invalidate_*() so that thread migration doesn't lead to a missed TLB invalidation. Reviewed by: jhb MFC after: 3 weeks Notes: svn path=/head/; revision=167250
* Check the _TMP value for sanity also. On some systems (HP NX laptops), theNate Lawson2007-03-051-3/+10
| | | | | | | | | EC occasionally times out and provides bogus values (3000C). This change prevents those systems from prematurely shutting down while we work on the underlying problem. Also, bump the sanity value to 0...200C from 0...150C. Notes: svn path=/head/; revision=167249
* Fix typo in comment.Thomas Quinot2007-03-051-3/+3
| | | | Notes: svn path=/head/; revision=167248
* Use vm_paddr_t rather than uintptr_t when passing the physical address ofJohn Baldwin2007-03-0511-24/+22
| | | | | | | APICs to lapic_init() and ioapic_create(). Notes: svn path=/head/; revision=167247
* correct inital bounds check on returning scan results; this does notSam Leffler2007-03-051-1/+1
| | | | | | | | | | | paper over catching an error as the case was already handled, albeit in a somewhat surprising way (the caller received zero'd data) Submitted by: sephe MFC after: 2 weeks Notes: svn path=/head/; revision=167245