summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* - machine/mutex.h -> sys/mutex.hjhb2000-10-205-15/+15
| | | | | - machine/ipl.h -> sys/ipl.h - Use MUTEX_DECLARE() for clock_lock
* - machine/mutex.h -> sys/mutex.hjhb2000-10-201-3/+3
| | | | - Use MUTEX_DECLARE() and MTX_COLD for vm86pcb_lock
* - machine/mutex.h -> sys/mutex.hjhb2000-10-201-4/+3
| | | | - Use MUTEX_DECLARE() and MTX_COLD for the malloc_mtx mutex
* - machine/mutex.h -> sys/mutex.hjhb2000-10-201-5/+4
| | | | | - The initial lock_mtx mutex used in the lockmgr code is initialized very early, so use MUTEX_DECLARE() and MTX_COLD.
* - Make the mutex code almost completely machine independent. This greatlyjhb2000-10-2017-4127/+2476
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reducues the maintenance load for the mutex code. The only MD portions of the mutex code are in machine/mutex.h now, which include the assembly macros for handling mutexes as well as optionally overriding the mutex micro-operations. For example, we use optimized micro-ops on the x86 platform #ifndef I386_CPU. - Change the behavior of the SMP_DEBUG kernel option. In the new code, mtx_assert() only depends on INVARIANTS, allowing other kernel developers to have working mutex assertiions without having to include all of the mutex debugging code. The SMP_DEBUG kernel option has been renamed to MUTEX_DEBUG and now just controls extra mutex debugging code. - Abolish the ugly mtx_f hack. Instead, we dynamically allocate seperate mtx_debug structures on the fly in mtx_init, except for mutexes that are initiated very early in the boot process. These mutexes are declared using a special MUTEX_DECLARE() macro, and use a new flag MTX_COLD when calling mtx_init. This is still somewhat hackish, but it is less evil than the mtx_f filler struct, and the mtx struct is now the same size with and without mutex debugging code. - Add some micro-micro-operation macros for doing the actual atomic operations on the mutex mtx_lock field to make it easier for other archs to override/optimize mutex ops if needed. These new tiny ops also clean up the code in some places by replacing long atomic operation function calls that spanned 2-3 lines with a short 1-line macro call. - Don't call mi_switch() from mtx_enter_hard() when we block while trying to obtain a sleep mutex. Calling mi_switch() would bogusly release Giant before switching to the next process. Instead, inline most of the code from mi_switch() in the mtx_enter_hard() function. Note that when we finally kill Giant we can back this out and go back to calling mi_switch().
* - Expand the set of atomic operations to optionally include memory barriersjhb2000-10-204-61/+592
| | | | | | | | | | | | | | | | | | | | | | | | | | in most of the atomic operations. Now for these operations, you can use the normal atomic operation, you can use the operation with a read barrier, or you can use the operation with a write barrier. The function names follow the same semantics used in the ia64 instruction set. An atomic operation with a read barrier has the extra suffix 'acq', due to it having "acquire" semantics. An atomic operation with a write barrier has the extra suffix 'rel'. These suffixes are inserted between the name of the operation to perform and the typename. For example, the atomic_add_int() function now has 3 variants: - atomic_add_int() - this is the same as the previous function - atomic_add_acq_int() - this function combines the add operation with a read memory barrier - atomic_add_rel_int() - this function combines the add operation with a write memory barrier - Add 'ptr' to the list of types that we can perform atomic operations on. This allows one to do atomic operations on uintptr_t's. This is useful in the mutex code, for example, because the actual mutex lock is a pointer. - Add two new operations for doing loads and stores with memory barriers. The new load operations use a read barrier before the load, and the new store operations use a write barrier after the load. For example, atomic_load_acq_int() will atomically load an integer as well as enforcing a read barrier.
* Axe the barrier_{read,write,rw}() helper functions as this method ofjhb2000-10-209-203/+0
| | | | | | | doing memory barriers doesn't really scale well for the ia64. Also, memory barriers are more a property of the CPU than bus space. Requested by: dfr
* Add -L option to limit the package status characters the user *doesn't*bmah2000-10-202-6/+33
| | | | | | want to see. Submitted by: Doug Barton <DougB@gorean.org>
* Make pkg_version -c -l work.bmah2000-10-201-2/+3
| | | | | PR: bin/19019 Submitted by: Stijn Hoop <stijn@win.tue.nl>
* Remove bogus xref.mpp2000-10-201-1/+0
| | | | | PR: docs/22125 Submitted by: Keith Jones <keith@sse0691.bri.hp.com>
* Convert the type of bus_space_handle_t of pc98 from structure intokato2000-10-207-164/+232
| | | | | | pointer to structure. Reviewed by: nyan
* Add the quirk entry for the Sony Memory Stick Adapter.n_hibma2000-10-201-1/+14
| | | | Add NO_SYNQ_CACHE to the Sony DSC camera entry.
* Kill the correct dhclient on detach of the ethernet device.n_hibma2000-10-201-2/+2
| | | | | Submitted by: Josef Karthauser <joe@freebsd.org> Submitted by: Chris Dillon <cdillon@wolves.k12.mo.us>
* Bugfix: The data is not stored only in the first cblock, calculate then_hibma2000-10-201-1/+8
| | | | | | | | | | length of the data properly. This should be moved into a tty_subr function. Also, disanle the setting of the CDC_CM_OVER_DATA flag. It breaks some modems. I don't think that ther actually is a modem that needs this. Submitted by: Brad Karp <bkarp@ICSI.Berkeley.EDU>
* Fixup a couple of ether card entries to use the new pccard_etherjoe2000-10-201-2/+4
| | | | calling convention.
* Regen.n_hibma2000-10-202-2/+9
|
* Add the Sony MSC Memory Stick Adaptor (in the Sony PCS laptops)n_hibma2000-10-201-0/+1
|
* Correct the text on RETURN VALUES.n_hibma2000-10-201-1/+3
|
* execsw_set hasn't been used for a while and does not exist.peter2000-10-201-4/+0
|
* Augment the 'ifaddr' structure with a 'struct if_data' to keepjoe2000-10-196-11/+73
| | | | | | | | | | | statistics on a per network address basis. Teach the IPv4 and IPv6 input/output routines to log packets/bytes against the network address connected to the flow. Teach netstat to display the per-address stats for IP protocols when 'netstat -i' is evoked, instead of displaying the per-interface stats.
* o Fix memory leak in ivarsimp2000-10-191-6/+25
| | | | | | o Change name of bus o Change the panic on resource allocation failure to just a message. We'll work out why this fails later in the pcic/pccbb code merge.
* Make note of merged changes.gshapiro2000-10-192-8/+12
|
* Understand the difference between an empty file and a non-existent file.des2000-10-191-9/+13
| | | | This has been sitting in my tree for ages...
* Don't force bootverbose anymore.dfr2000-10-191-2/+1
|
* Decrease the number of ticks between clock interrupts by a factor of tendfr2000-10-191-1/+1
| | | | to place more pressure on the exception handling code.
* * Disable interrupts when restoring a trapframe.dfr2000-10-192-4/+8
| | | | | * Make sure we reset ar.k6 (used to hold the kernel stack pointer when we are returning to user mode after a syscall.
* Reparent a kernel thread to init during kthread_exit() so that the zombiejhb2000-10-191-0/+1
| | | | can be reaped.
* - Move the prototype for proc_reparent from sys/ptrace.h to sys/proc.hjhb2000-10-192-2/+2
| | | | - Fix the sorting of function prototypes in sys/proc.h
* Quiet a silly warning.jhb2000-10-192-2/+2
| | | | Pointy-hat to: ps
* Scripts should contain a comment block describing what the script does.joe2000-10-191-0/+13
|
* A failure to allocate memory for auxiliary TCP data is now fatal.ru2000-10-192-32/+30
| | | | | This fixes a null pointer dereference problem that is unlikely to happen in normal circumstances.
* NEWCARD/Cardbus -jon2000-10-197-18/+859
| | | | | | | | | This commit adds support for Xircom X3201 based cardbus cards. Support for the TDK 78Q2120 MII is also added. IBM Etherjet, Intel and Xircom cards uses these chips. Note that as a result of this commit, some Intel/DEC 21143 based cardbus cards will also attach, but not get link. That is being looked at.
* Move init_clocks earlier in the system startup so that hardclock and clockjhb2000-10-191-1/+1
| | | | | interrupts are started before the device probe. This allows interrupt threads to run during the device probe among other things.
* Write the routed interrupt back to PCI configuration space.msmith2000-10-192-2/+2
|
* Call the BIOS to route the selected interrupt. Correctly calculate themsmith2000-10-193-12/+66
| | | | | interrupt from the PCI routing table (ffs returns 1 for the rightmost bit, not 0).
* Add PCI BIOS function codes for IRQ routing fetch and route.msmith2000-10-192-0/+4
|
* o Introduce new VOP_ACCESS() flag VADMIN, allowing file systems to performrwatson2000-10-195-32/+65
| | | | | | | | | | | | | | | | | | | | "administrative" authorization checks. In most cases, the VADMIN test checks to make sure the credential effective uid is the same as the file owner. o Modify vaccess() to set VADMIN as an available right if the uid is appropriate. o Modify references to uid-based access control operations such that they now always invoke VOP_ACCESS() instead of using hard-coded policy checks. o This allows alternative UFS policies to be implemented by replacing only ufs_access() (such as mandatory system policies). o VOP_ACCESS() requires the caller to hold an exclusive vnode lock on the vnode: I believe that new invocations of VOP_ACCESS() are always called with the lock held. o Some direct checks of the uid remain, largely associated with the QUOTA and SUIDDIR code. Reviewed by: eivind Obtained from: TrustedBSD Project
* Axe the idle_event eventhandler, and add a MD cpu_idle function usedjhb2000-10-194-26/+12
| | | | | | for things such as halting CPU's, idling CPU's, etc. Discussed with: msmith
* Add Daniel's name and fix release dataroger2000-10-191-2/+2
|
* Update to driver 2.17roger2000-10-198-76/+201
| | | | | | | | | Fixes bugs in devfs when unloading and reloading Syncs with NetBSD changes Submitted by: Alexander Langer <alex@big.endian.de> Submitted by: Thomas Klausner <wiz@netbsd.org> Submitted by: Daniel O'Connor" <doconnor@gsoft.com.au>
* ObCommit from BSDCon: Update SMPng note and add an entry for devfs,bmah2000-10-182-2/+19
| | | | | which hopefully reflect something of what grog and phk presented in their talks.
* Make these PICOBSD's compile... well, almost. Still some work tojoe2000-10-184-7/+12
| | | | do on PPP (atm problems.)
* Reference Larry Wall's perlstyle man page, and recommend it's use wherejoe2000-10-181-4/+17
| | | | | | | | entries in this guide don't override it. Requested by: markm Comment on tabulation style.
* Trim index lines down to 79 characters, not 80.des2000-10-181-1/+1
| | | | Approved by: jkh
* Minor changes to the ATA RAID support code, remove some verbositysos2000-10-184-44/+15
| | | | and put some under bootverbose..
* Use 'unless' instead of 'if (! ... )' where it improves readability.joe2000-10-181-0/+7
|
* EVENTHANDLER_INVOKE() takes two arguments.peter2000-10-181-1/+1
|
* Opening braces should be at the end of the controlling line. Elsejoe2000-10-181-1/+33
| | | | | | | and elsif belong on the same line as the closing brace for the previous if or elsif block. Suggested by: des
* This didn't compile. Fix typo: s/rmang_get_start/rman_get_start/peter2000-10-182-2/+2
|
* Contract a statement that's too verbose.joe2000-10-181-2/+0
|
OpenPOWER on IntegriCloud