summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Correct mbuf packet header propagation. Previously, packet headerssam2002-12-3018-67/+126
| | | | | | | | | | | | | | | | | | | | | | were sometimes propagated using M_COPY_PKTHDR which actually did something between a "move" and a "copy" operation. This is replaced by M_MOVE_PKTHDR (which copies the pkthdr contents and "removes" it from the source mbuf) and m_dup_pkthdr which copies the packet header contents including any m_tag chain. This corrects numerous problems whereby mbuf tags could be lost during packet manipulations. These changes also introduce arguments to m_tag_copy and m_tag_copy_chain to specify if the tag copy work should potentially block. This introduces an incompatibility with openbsd which we may want to revisit. Note that move/dup of packet headers does not handle target mbufs that have a cluster bound to them. We may want to support this; for now we watch for it with an assert. Finally, M_COPYFLAGS was updated to include M_FIRSTFRAG|M_LASTFRAG. Supported by: Vernier Networks Reviewed by: Robert Watson <rwatson@FreeBSD.org>
* fix build (make LINT)sam2002-12-301-0/+1
|
* Remove the PAWS ack-on-ack debugging printf().dillon2002-12-302-10/+4
| | | | | | | | | | Note that the original RFC 1323 (PAWS) says in 4.2.1 that the out of order / reverse-time-indexed packet should be acknowledged as specified in RFC-793 page 69 then dropped. The original PAWS code in FreeBSD (1994) simply acknowledged the segment unconditionally, which is incorrect, and was fixed in 1.183 (2002). At the moment we do not do checks for SYN or FIN in addition to (tlen != 0), which may or may not be correct, but the worst that ought to happen should be a retry by the sender.
* correct style bogonssam2002-12-301-4/+2
|
* Fix compiling without DDB and ALT_BREAK_TO_DEBUGGER.jake2002-12-301-0/+2
| | | | Submitted by: marius@alchemy.franken.de
* Leave only one of the two $FreeBSD$ tag, and use __FBSDID().mux2002-12-301-6/+3
|
* Change the ident so people know a kernel built with this has SMP support.obrien2002-12-301-0/+2
|
* Sync with GENERIC rev 1.371.obrien2002-12-301-2/+10
|
* Using our new wonderful include directive, save our x86 SMP users fromobrien2002-12-301-0/+10
| | | | | having to edit GENERIC to build a useful kernel. This also opens the possibility of including an SMP kernel in the release.
* - Add more CSR related definitions (IEEE-1212).simokawa2002-12-301-5/+62
| | | | | - Fix struct csrtext's spec fields. - Add prototypes of upcoming configuration ROM related functions.
* - Mark the kernel_map as a system map immediately after its creation.alc2002-12-301-2/+2
| | | | - Correct a cast.
* o cannot use M_COPY_PKTHDR on an mbuf that has a cluster; if we need tosam2002-12-301-8/+29
| | | | | | | | do this avoid m_getcl so we can copy the packet header to a clean mbuf before adding the cluster o move an assert to the right place Supported by: Vernier Networks
* - Increment the vm_map's timestamp if _vm_map_trylock() succeeds.alc2002-12-301-10/+11
| | | | | | - Introduce map_sleep_mtx and use it to replace Giant in vm_map_unlock_and_wait() and vm_map_wakeup(). (Original version by: tegge.)
* - Remove vm_object_init2(). It is unused.alc2002-12-293-8/+3
| | | | | | - Add a mtx_destroy() to vm_object_collapse(). (This allows a bzero() to migrate from _vm_object_allocate() to vm_object_zinit(), where it will be performed less often.)
* Synchronize to kern/syscalls.master:1.139.rwatson2002-12-293-0/+12
| | | | Obtained from: TrustedBSD Project
* Provide prototypes for new ACL system calls to manipulate ACLs "byrwatson2002-12-291-1/+11
| | | | | | name" without following symbolic links, as well as library wrappers. Obtained from: TrustedBSD Project
* Implement new ACL system calls which do not follow symbolic links:rwatson2002-12-293-3/+267
| | | | | | | | | __acl_get_link(), __acl_set_link(), acl_delete_link(), and __acl_aclcheck_link(), with almost identical implementations to the existing __acl_*_file() variants on these calls. Update copyright. Obtained from: TrustedBSD Project
* Regen from syscalls.master:1.139rwatson2002-12-295-7/+46
|
* Add definitions for four new system calls:rwatson2002-12-291-0/+8
| | | | | | | | | | | | | | | | __acl_get_link() Retrieve an ACL by name without following symbolic links. __acl_set_link() Set an ACL by name without following symbolic links. __acl_delete_link() Delete an ACL by name without following symbolic links. __acl_aclcheck_link() Check an ACL against a file by name without following symbolic links. These calls are similar in spirit to lstat(), lchown(), lchmod(), etc, and will be used under similar circumstances. Obtained from: TrustedBSD Project
* Fix drift of the comment about sa_sigaction away from its code.mike2002-12-291-1/+1
| | | | | | Fix English in this comment. Submitted by: bde
* Add support for MPI-350 the mini-pci Cisco Aironet card. This needs moreambrisko2002-12-295-330/+1301
| | | | | | | | | | | | | | | | | | | | | | work. The interface was gleaned from the Linux driver. Currently only one RX & one TX buffer are used. Firmware support is not tested so for the MPI-350 so it is disabled. Signal cache and monitor mode are not supported yet. Signal cache is not supported since in encapsulation mode ethernet frames are returned by the chip. LAN monitor mode support will be added shortly. Thanks to Warner for the MPI-350 card he sent me. Add support for RSSI map from PR kern/32880 which was incomplete. Enhanced with the ability to select the cache mode of raw, dbm or per-cent. Clean up Signal/Noise/Quality structures and units with help from Marco Molteni. Change flash to use a malloc'ed buffer when needed. PR: kern/32880 Submitted by: Douglas S. J. De Couto decouto@pdos.lcs.mit.edu, Marco Molteni MFC: 3 weeks
* Add a new vnode flag VI_DOINGINACT to indicate that a VOP_INACTIVEiedowse2002-12-292-17/+41
| | | | | | | | | | | | | | | | | | | call is in progress on the vnode. When vput() or vrele() sees a 1->0 reference count transition, it now return without any further action if this flag is set. This flag is necessary to avoid recursion into VOP_INACTIVE if the filesystem inactive routine causes the reference count to increase and then drop back to zero. It is also used to guarantee that an unlocked vnode will not be recycled while blocked in VOP_INACTIVE(). There are at least two cases where the recursion can occur: one is that the softupdates code called by ufs_inactive() via ffs_truncate() can call vput() on the vnode. This has been reported by many people as "lockmgr: draining against myself" panics. The other case is that nfs_inactive() can call vget() and then vrele() on the vnode to clean up a sillyrename file. Reviewed by: mckusick (an older version of the patch)
* Implement ioctls for tampering with sector0.phk2002-12-291-27/+84
|
* Add a couple of ioctls for modifying MBR's and the rest of sector0.phk2002-12-291-0/+6
|
* Use a timeout of one second while we wait for the vnode washer,phk2002-12-291-1/+1
| | | | | this prevents a potential race and makes the system a little bit less jerky under extreme loads.
* Save 16 bytes per mutex if MUTEX_PROFILING is not defined.phk2002-12-291-1/+6
| | | | | | | | | | MUTEX_PROFILING is in opt_global.h, so this does not introduce a risk of variant structure sizes unless foreign kernel modules are used. This saved 16 bytes per vnode and 16 bytes per vm object for a total of 4MB on a 2GB machine. Idea from: alc
* Vnodes pull in 800-900 bytes these days, all things counted, so we needphk2002-12-291-5/+15
| | | | | | | | | | | | | | | | to treat desiredvnodes much more like a limit than as a vague concept. On a 2GB RAM machine where desired vnodes is 130k, we run out of kmem_map space when we hit about 190k vnodes. If we wake up the vnode washer in getnewvnode(), sleep until it is done, so that it has a chance to offer us a washed vnode. If we don't sleep here we'll just race ahead and allocate yet a vnode which will never get freed. In the vnodewasher, instead of doing 10 vnodes per mountpoint per rotation, do 10% of the vnodes distributed evenly across the mountpoints.
* There is some sort of race/deadlock which I have not identifiedphk2002-12-291-1/+6
| | | | | | | | | | here. It manifests itself by sendmail hanging in "fifoow" during boot on a diskless machine with sendmail disabled. Giving the sleep a 1sec timout breaks the deadlock, but does not solve the underlying problem. XXX comment applied.
* Use memset instead of __builtin_memset. Apparently there's an inlinejake2002-12-291-1/+1
| | | | memset in libkern which causes problems; why that's there is beyond me.
* Reduce the number of times that we acquire and release the page queuesalc2002-12-294-8/+2
| | | | | lock by making vm_page_rename()'s caller, rather than vm_page_rename(), responsible for acquiring it.
* o Fix ordering of typedefs.mike2002-12-291-10/+12
| | | | | | | o Improve comment about namespace pollution. o Improve CPP style. Submitted by: bde
* sa_handler is in the POSIX namespace (5.0-R candidate).mike2002-12-291-2/+3
|
* Use the meaningful mnemonics for ancillary state registers now that gasjake2002-12-293-8/+7
| | | | | | | | is invoked properly to understand them. %asr19 -> %gsr %asr20 -> %set_softint %asr21 -> %clear_softint
* Forgot this file in previous commit.jake2002-12-281-0/+1
|
* - Moved storing %g1-%g5 in the trapframe until after interrupts are enabled.jake2002-12-281-27/+41
| | | | | | - Restore %g6 and %g7 for kernel traps if we are returning to prom code. This allows complex traps (ones that call into C code) to be handled from the prom.
* Map VAPPEND to VWRITE since the ugidfw rule syntax doesn't specificallyrwatson2002-12-281-0/+9
| | | | | | | | | | address the append access mode. Reported by: "Daniel C. Sobral" <dcs@newsguy.com> Obtained from: TrustedBSD Project Sponosred by: DARPA, Network Associates Laboratories MFC Candidate.
* Pass 0 in %o1 to tl0_trap for all non-interrupt traps. This will be usedjake2002-12-281-0/+7
| | | | to pass the pil when tl0_trap also handles interrupts.
* Don't put a newline in KTR traces.jake2002-12-281-1/+1
|
* Add a tunable kern.smp.disabled for disabling explicitly smp on an smpjake2002-12-281-1/+5
| | | | kernel.
* Assert that the page queues lock rather than Giant is held inalc2002-12-281-1/+2
| | | | vm_page_flag_clear().
* - Use VM_ALLOC_WIRED.alc2002-12-281-5/+7
| | | | | - Hold the page queues lock around calls to vm_page_flag_clear() and vm_page_wakeup().
* Allow lint-like tools to override DROP_GIANT and friends.phk2002-12-281-3/+6
| | | | Apply parens around macro arguments.
* KASSERT that vop_revoke() gets a VCHR.phk2002-12-281-1/+2
|
* It is bad style to define the same structure in multiple headerphk2002-12-283-16/+47
| | | | | | | | | | | | | | | | | | | | files which might be included together. Things like debuggers and lint-like programs get their knickers in a twist (rightly so one might add) when they find different locations for the same named struct depending on which .h file were included first. This is a stellar example of Very Bad Thinking on the part of the standards dudes who wrote that both sys/uio.h and sys/socket.h should define struct iovec the same way. Fix this by putting struct iovec into its own miniature sys/_iovec.h file and #include that from sys/socket.h and sys/uio.h. Sensible people could just put iovec into sys/_types.h but there is probably some standard or other which will be violated if we did something that horrible.
* Remove unused cdevsw_ALLOCSTART macro.phk2002-12-281-2/+0
|
* Remove cdevw_add() calls, they are deprecated.phk2002-12-281-1/+0
|
* Remove cdevsw_add calls, they are deprecated.phk2002-12-281-2/+1
|
* Remove calls to cdevsw_add(), they are dreprecated on this branch now.phk2002-12-282-12/+0
|
* vm_pager_put_pages() takes VM_PAGER_* flags, not OBJPC_* flags. It justdillon2002-12-281-1/+1
| | | | | | | | | so happens that OBJPC_SYNC has the same value as VM_PAGER_PUT_SYNC so no harm done. But fix it :-) No operational changes. MFC after: 1 day
* Hold the page queues lock around calls to vm_page_flag_clear() andalc2002-12-281-0/+4
| | | | vm_page_wakeup().
OpenPOWER on IntegriCloud