summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Fully initialize the required TSS fields so that the io permissioncperciva2005-04-063-1/+4
| | | | | | | bitmap is set correctly. Patch from: peter Security: FreeBSD-SA-05:03.amd64
* Use ACTION_PTR(r) instead of (r->cmd + r->act_ofs).brooks2005-04-061-2/+2
| | | | Reviewed by: md5
* Make dummynet_flush() match its prototype.brooks2005-04-051-1/+1
|
* Fix 32 bit signals on amd64. It turns out that I was sign extendingpeter2005-04-051-72/+72
| | | | | | | | | | the register values coming back from sigreturn(2). Normally this wouldn't matter because the 32 bit environment would truncate the upper 32 bits and re-save the truncated values at the next trap. However, if we got a fast second signal and it was pending while we were returning from sigreturn(2) in the signal trampoline, we'd never have had a chance to truncate the bogus values in 32 bit mode, and the new sendsig would get an EFAULT when trying to write to the bogus user stack address.
* Add support for FTDI's FT2232C twin channel chip.ticso2005-04-052-14/+27
| | | | Tested by: Mike Tancsa <mike@sentex.net>
* remove usbd_errstr(err) from printf.ticso2005-04-051-2/+2
| | | | err has nothing to say about this specific error.
* Don't free the _PSS buffer until after we check to see if we have no validjhb2005-04-051-2/+2
| | | | states as otherwise we will try to free the buffer twice.
* Oops, revert a commit that snuck in with the earlier critical sectionjhb2005-04-051-1/+0
| | | | | | changes. Noticed by: bde
* Release the IRQ resource on detach. This fixes repeatedly loading andmarius2005-04-051-0/+1
| | | | | | unloading the hme(4) module in case it attaches to sbus(4). MFC after: 1 week
* Major overhaul and cleanup of ng_source node.glebius2005-04-052-164/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Functional changes: - Cut struct source_hookinfo. Just use hook_p pointer. - Remove "start_now" command. "start" command now requires number of packets to send as argument. "start" command actually starts sending. Move the code that actually starts sending from ng_source_rcvmsg() to ng_source_start(). - Remove check for NG_SOURCE_ACTIVE in ng_source_stop(). We can be called with flag cleared (see begin of ng_source_intr()). - If NG_SEND_DATA_ONLY() use log(LOG_DEBUG) instead of printf(). Otherwise we will *flood* console. - Add ng_connect_t method, which sends NGM_ETHER_GET_IFNAME command to "output" hook. Cut ng_source_request_output_ifp(). Refactor ng_source_store_output_ifp() to use ifunit() and don't muck through interface list. - Add "setiface" command, which gives ability to configure interface in case when ng_source_connect() failed. This happens, when we are not connected directly to ng_ether(4) node. - Remove KASSERTs, which can never fire. - Don't check for M_PKTHDR in rcvdata method. netgraph(4) does this for us. Style: - Assign sc_p = NG_NODE_PRIVATE(node) in declaration, to be consistent with style of other nodes. - Sort variables. - u_intXX -> uintXX. - Dots at ends of comments. Sponsored by: Rambler
* Fix a change in a debug printf I missed in an earlier commit.jhb2005-04-051-1/+1
|
* Fix a use-after-free problem in atapi_cb(). Add some necessary synchronizationscottl2005-04-051-4/+13
| | | | | to the XPT_PATH_INQ op. Don't leak locks on failure in XPT_SCSIIO. Correctly fix the CAMDEBUG message.
* Add firstshot support for Acer Labs Inc SATA partssos2005-04-053-36/+111
| | | | Update ALi PATA support to handle ATA133 as well
* natd core dumps when -reverse switch is used because of a bug inphk2005-04-051-2/+2
| | | | | | | | | | | | | | | | | | | | | libalias. In /usr/src/lib/libalias/alias.c, the functions LibAliasIn and LibAliasOutTry call the legacy PacketAliasIn/PacketAliasOut instead of LibAliasIn/LibAliasOut when the PKT_ALIAS_REVERSE option is set. In this case, the context variable "la" gets lost because the legacy compatibility routines expect "la" to be global. This was obviously an oversight when rewriting the PacketAlias* functions to the LibAlias* functions. The fix (as shown in the patch below) is to remove the legacy subroutine calls and replace with the new ones using the "la" struct as the first arg. Submitted by: Gil Kloepfer <fgil@kloepfer.org> Confirmed by: <nicolai@catpipe.net> PR: 76839 MFC after: 3 days
* Push some faulty debugging aside so LINT compiles.phk2005-04-051-1/+1
|
* - Move NDFREE() from vfs_subr to vfs_lookup where namei() is.jeff2005-04-052-38/+38
|
* - Use taskqueue_thread rather than taskqueue_swi since our task is goingjeff2005-04-051-1/+1
| | | | | to vrele, which may vop lock. This is not safe in a software interrupt context.
* - Consistently call 'vp' vp rather than ovp sometimes in ffs_truncate().jeff2005-04-051-105/+104
| | | | | | Do the same for oip. Pointed out by: glebius
* Run em_local_timer() once per second instead of running it once per 2 seconds.glebius2005-04-051-4/+4
| | | | | | | This makes gathering of error stats more precise, and netstat(1) output look right. Reviewed by: tackerman
* Add locking and enable INTR_MPSAFE. Eliminate spl calls.alc2005-04-052-55/+102
| | | | | Submitted by: Paul Willmann willmann at rice dot edu MFC After: 3 weeks
* Re-enable the atapicam driver in NOTES.scottl2005-04-051-1/+1
|
* Connect the atapicam module to the build.scottl2005-04-051-1/+1
|
* Add a Makefile for atapi-cam.scottl2005-04-051-0/+9
|
* Commit ATAPI-CAM for ATAmkIII. Improvements and changes:scottl2005-04-051-151/+186
| | | | | | | | | | | | | | | | | | - newbus plumbing. Each atapicam bus is a child off of a parent ata channel bus. This is somewhat of a hack, but allows the ata core to be completely free of atapicam knowledge. - No more global lists of softc's and no more groping around in internal ata structures on each command. - Giant-free operation of the completion handler. - Per-bus mutex for protecting the busy list and synchronizing detach. - Lots of streamlining and dead code elimination, better adherence to the CAM locking protocol. This feature still requires that the appropriate atapi-* driver be present for each atapi device that you want to talk to (i.e. atapi-cd for cdroms). It does work both compiled into the kernel and as a loadable module. Reviewed by: thomas, sos
* Assert that the vnode is locked. This is meant to catch bugs orcsjp2005-04-051-0/+1
| | | | | mis-use of the vnode API in conditions where IO_NODELOCKED has been used without the vnode actually being locked.
* Divorce critical sections from spinlocks. Critical sections as denoted byjhb2005-04-0461-996/+408
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | critical_enter() and critical_exit() are now solely a mechanism for deferring kernel preemptions. They no longer have any affect on interrupts. This means that standalone critical sections are now very cheap as they are simply unlocked integer increments and decrements for the common case. Spin mutexes now use a separate KPI implemented in MD code: spinlock_enter() and spinlock_exit(). This KPI is responsible for providing whatever MD guarantees are needed to ensure that a thread holding a spin lock won't be preempted by any other code that will try to lock the same lock. For now all archs continue to block interrupts in a "spinlock section" as they did formerly in all critical sections. Note that I've also taken this opportunity to push a few things into MD code rather than MI. For example, critical_fork_exit() no longer exists. Instead, MD code ensures that new threads have the correct state when they are created. Also, we no longer try to fixup the idlethreads for APs in MI code. Instead, each arch sets the initial curthread and adjusts the state of the idle thread it borrows in order to perform the initial context switch. This change is largely a big NOP, but the cleaner separation it provides will allow for more efficient alternative locking schemes in other parts of the kernel (bare critical sections rather than per-CPU spin mutexes for per-CPU data for example). Reviewed by: grehan, cognet, arch@, others Tested on: i386, alpha, sparc64, powerpc, arm, possibly more
* Flip the switch and turn mpsafevm on by default for sparc64.jhb2005-04-041-1/+1
| | | | Approved by: alc
* Don't leak mutex on open failure.phk2005-04-041-1/+3
|
* Add support for _PDC/_OSC by advertising that we support direct access tonjl2005-04-042-7/+26
| | | | | the PERF_CTL/STS MSRs via the new acpi_get_features() method. This should allow newer systems to use SpeedStep.
* Add the acpi_get_features() method. This method is called on child driversnjl2005-04-043-28/+48
| | | | | | | | | | to see what features they may support before calling identify/probe/attach. This is necessary because the ACPI 3.0 spec requires driver support be advertised before running any methods. For now, the flags are as specified in for the _PDC and _OSC methods but we can support private flags as needed. Add an implementation of this for acpi_cpu. It checks all its children (notably cpufreq drivers) and calls the _PDC method to report the results.
* Document that devclass_get_maxunit(9) returns one greater than the currentnjl2005-04-041-0/+3
| | | | | | | highest unit. Reviewed by: dfr MFC after: 2 weeks
* Add devclass_get_drivers(9) which provides an array of pointers to drivernjl2005-04-042-0/+42
| | | | | | | | instances in a given devclass. This is useful for systems that want to call code in driver static methods, similar to device_identify(). Reviewed by: dfr MFC after: 2 weeks
* - Add a missing unlock of the vnode_free_list_mtx.jeff2005-04-041-1/+3
| | | | Spotted by: Antoine Brodin
* - Instead of waiting forever to get a vnode in getnewvnode() wait forjeff2005-04-041-1/+3
| | | | | | | | | | one to become available for one second and then return ENFILE. We can run out of vnodes, and there must be a hard limit because without one we can quickly run out of KVA on x86. Presently the system can deadlock if there are maxvnodes directories in the namecache. The original 4.x BSD behavior was to return ENFILE if we reached the max, but 4.x BSD did not have the vnlru proc so it was less profitable to wait.
* Fix a small locking error.philip2005-04-041-2/+3
| | | | Submitted by: Anish Mistry <mistry.7@osu.edu>
* - Fix union's assumptions about when the dvp is unlocked. It is onlyjeff2005-04-041-3/+3
| | | | unlocked in the ISDOTDOT case now, not for all !ISLASTCN lookups.
* No need to ifdef this pc98.imp2005-04-041-2/+0
|
* remove extern from function declssam2005-04-044-93/+83
|
* use frame type returned by ieee80211_input to drive softled codesam2005-04-042-5/+3
| | | | instead of monitoring the input packet count
* change ieee80211_input to return the frame type or -1sam2005-04-042-6/+8
|
* - Include opt_vfs.h for LOOKUP_SHARED.jeff2005-04-031-8/+16
| | | | | - Control the behavior of shared lookups with the lookup_shared sysctl which has its default behavior set via the LOOKUP_SHARED option.
* - Move LOOKUP_SHARED from opt_global.h to opt_vfs.h so we don't havejeff2005-04-031-1/+3
| | | | to recompile the whole kernel if we change it.
* Move pc98 specific parts to the pc98 specific file.imp2005-04-036-27/+123
|
* - Don't NULL the vnode's v_object pointer until after the object is tornjeff2005-04-031-1/+1
| | | | | | | | down. If we have dirty pages, the putpages routine will need to know what the vnode's object is so that it may write out dirty pages. Pointy hat: phk Found by: obrien
* maxunit is actually one higher than the greatest currently-allocated unitnjl2005-04-031-1/+1
| | | | | | | | | in a devclass. All the other uses of maxunit are correct and this one was safe since it checks the return value of devclass_get_device(), which would always say that the highest unit device doesn't exist. Reviewed by: dfr MFC after: 3 days
* With pc98/include, we can have pc98 and i386 specific bus spaceimp2005-04-036-1868/+1960
| | | | | implementations in their own files named $MACHINE/include/bus.h. Copy the contents appropriately.
* - Add a missing g_io_deliver() in case of allocation failure - we didn'tpjd2005-04-031-3/+17
| | | | | | | | | completed I/O requests here. - First allocate all needed bios, so if any of allocations fail, we can free memory before sending any I/O requests down. Reported by: Pawel Malachowski MFC after: 3 days
* Fix a buglet that caused slaves to be nondetected.sos2005-04-031-3/+4
|
* - Use M_ZERO rather than explicitly calling bzero().jeff2005-04-031-13/+13
| | | | | | | | | - Don't intermingle direct calls to lockmgr and indirect calls through VOPs. This will be important in the future. - Dont lock the devvp's interlock just to release it on the next line by passing LK_INTERLOCK to lockmgr. - Restructure ffs_snapshot_unmount so we don't call free() with the devvp's interlock locked.
* - Slightly restructure acquire() so I can add more ktr information andjeff2005-04-031-18/+14
| | | | | an assert to help find two strange bugs. - Remove some nearby spls.
OpenPOWER on IntegriCloud