summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* The default kernel filename is "kernel" again, not "kernel.ko".msmith2000-11-171-1/+1
| | | | Submitted by: mckusick
* Add the 'gdt' and 'gdtd' devices for the ICP Vortex RAID controller family.msmith2000-11-171-0/+2
|
* Go back to using data_len in struct ngpppoe_init_data after discussionsbrian2000-11-165-89/+146
| | | | | | | | | | | with Julian and Archie. Implement a new ``sizedstring'' parse type for dealing with field pairs consisting of a uint16_t followed by a data field of that size, and use this to deal with the data_len and data fields. Written by: Archie with some input by me Agreed in principle by: julian
* The recent changes to msleep() and mawait() resulted in timeout() andjhb2000-11-161-1/+16
| | | | | | | | untimeout() not being called with Giant in those functions. For now, use the sched_lock to protect the callout wheel in softclock() and in the various timeout and callout functions. Noticed by: tegge
* When checking the device code in the probe routine, leave the chip inwpaul2000-11-161-3/+22
| | | | | | | | | | | | | | | 16-bit mode. Technically, pcn_probe() is destructive because once the chip goes into 32-bit mode, the only way to get it out again is a hardware reset. And once the device is in 32-bit mode, the lnc driver won't be able to talk to it. So if pcn_probe() is called before the lnc probe routine, and pcn_probe() rejects the chip as one it doesn't support, the lnc driver will be SOL. I don't like this. I think it's a design flaw that you can't switch the chip out of 32-bit mode once it's selected. The only 'right' solution is for the pcn driver to support all of the PCI devices in 32-bit mode, however I don't have samples of all the PCnet series cards for testing.
* Add kernel option NETGRAPH_ONE2MANY.archie2000-11-164-0/+4
|
* vx is now optional rather than taking a count. Reflect that in theimp2000-11-161-2/+2
| | | | | | files. Also a minor white space nit. Submitted by: bde
* Put the probe verboseness behind bootverbosesos2000-11-161-11/+15
|
* New netgraph node type ng_one2many(4).archie2000-11-163-0/+640
|
* Don't release and acquire Giant in mi_switch(). Instead, release andjhb2000-11-1612-133/+39
| | | | | | | | acquire Giant as needed in functions that call mi_switch(). The releases need to be done outside of the sched_lock to avoid potential deadlocks from trying to acquire Giant while interrupts are disabled. Submitted by: witness
* remove redundant declaration of bsd_to_linux_sigset()gallatin2000-11-161-1/+0
| | | | reviewed by: marcel
* fix glaring bugs in rt signals -- copyout the right signal mask ingallatin2000-11-161-2/+3
| | | | | | | | linux_rt_sendsig() and restore the same signal mask linux does in rt_sigreturn(). This gets us saving/restoring all 64-bits of the linux sigset_t in rt signals. Reviewed by: marcel
* Argh, add in a missing release of the sched_lock.jhb2000-11-161-0/+1
|
* CURSIG() calls functions that acquire sleep mutexes, so it is not a goodjhb2000-11-161-3/+12
| | | | | | | | idea to be holding the sched_lock while we are calling it. As such, release sched_lock before calling CURSIG() in msleep() and mawait() and reacquire it after CURSIG() returns. Submitted by: witness
* Use the linux_connect() on alpha rather than passing directly throughgallatin2000-11-162-2/+11
| | | | | | | | | | to our native connect(). This is required to deal with the differences in the way linux handles connects on non-blocking sockets. This gets the private beta of the Compaq Linux/alpha JDK working on FreeBSD/alpha Approved by: marcel
* make the fcntl() flags match what the linux/alpha port uses, notgallatin2000-11-161-9/+11
| | | | what linux/i386 uses
* - Rename await() to mawait(). mawait() is to await() as msleep() is tojhb2000-11-152-15/+29
| | | | | | | | | tsleep(). Namely, mawait() takes an extra argument which is a mutex to drop when going to sleep. Just as with msleep(), if the priority argument includes the PDROP flag, then the mutex will be dropped and will not be reacquired when the process wakes up. - Add in a backwards compatible macro await() that passes in NULL as the mutex argument to mawait().
* - Replace a KASSERT() that knew too much about mutex internals with ajhb2000-11-151-2/+1
| | | | | mtx_assert() that ensures the mutex we release during msleep() is both not recursed and owned by the current process.
* - Convert references from tsleep() -> msleep()jhb2000-11-151-9/+9
| | | | - Fix a buglet in a comment above await()
* - Add a new macro DROP_GIANT_NOSWITCH() that is similar to DROP_GIANT()jhb2000-11-151-6/+32
| | | | | | | | | | | | except that it uses the MTX_NOSWITCH flag while it releases Giant via mtx_exit(). - Add a mtx_recursed() primitive. This primitive should only be used on a mutex owned by the current process. It will return non-zero if the mutex is recursively owned, or zero otherwise. - Add two new flags MA_RECURSED and MA_NOTRECURSED that can be used in conjuction with MA_OWNED to control the assertion checked by mtx_assert(). - Fix some of the KTR tracepoint strings to use %p when displaying the lock field of a mutex, which is a uintptr_t.
* Include the right headers to get the DDB #define and the db_active variable.jhb2000-11-153-0/+9
|
* - Replace some instances of sched_ithd with sched_swi in KTR tracepoints.jhb2000-11-151-2/+3
| | | | - Assert that Giant is not owned during the main loop of sithd_loop().
* Assert that Giant is not owned during the main loop of ithd_loop().jhb2000-11-152-0/+2
|
* Declare the 'witness_spin_check' properly as a per-CPU variable in thejhb2000-11-154-12/+1
| | | | non-SMP case.
* Don't perform witness checks in witness_enter() during a panic.jhb2000-11-153-3/+3
|
* Add the 'witness_spin_check' per-CPU variable.jhb2000-11-156-0/+6
|
* - Don't acquire/release Giant during an interrupt context for machinejhb2000-11-151-10/+1
| | | | | checks, clock interrupts, and device interrupts. - Assert that Giant is not owned during the main loop of ithd_loop().
* Make ktr_verbose a bit more useful:jhb2000-11-151-0/+5
| | | | | | - On SMP systems display the cpu number with each message - If ktr_verbose > 1, then include the filename and line number with each trace message
* Bug fix for revision 1.14 on the replacement of CIRCLEQ with TAILQ.mckusick2000-11-151-6/+4
| | | | Submitted by: Warner Losh <imp@village.org>
* Fix all the interrupt enabled/disabled assertions which were backwards.jhb2000-11-152-12/+12
|
* Don't perform an mi_switch() when we release Giant during cpu_exit(). Wejhb2000-11-154-4/+8
| | | | | | are about to call cpu_switch() anyways. Found by: witness
* In preparation for deprecating CIRCLEQ macros in favor of TAILQmckusick2000-11-151-35/+34
| | | | | | | macros which provide the same functionality and are a bit more efficient, convert use of CIRCLEQ's in netgraph PPP code to TAILQ's. Reviewed by: Archie Cobbs <archie@dellroad.org>
* vx no longer uses pci compat shims and this doesn't need a countimp2000-11-152-2/+2
|
* MFGENERIC: 1.291imp2000-11-151-0/+6
|
* Add pmtimer device, necessary for proper time keeping when apm orimp2000-11-152-0/+4
| | | | other power management devices are enabled.
* remove period from SEE ALSO.ben2000-11-151-1/+1
|
* Set OPEN Flag on open.n_hibma2000-11-151-3/+11
| | | | Make set_config(1) print warning message if it fails.
* Enable all interrupts in switch_trampoline after releasing the sched_lock.jhb2000-11-151-0/+2
| | | | | | This is needed so that kernel threads created before interrupts are enabled do not run with interrupts disabled once the system is up and running.
* Always enable interrupts during fork_trampoline() after releasing thejhb2000-11-143-0/+9
| | | | | | | | sched_lock. This is needed for kernel threads that are created before interrupts are enabled. kthreads created by kld's that are created at SI_SUB_KLD such as the random kthread. Tested by: phk
* Don't use the Gawkism strftime(). Pass in the date stamp on the awkobrien2000-11-142-2/+3
| | | | | | command line instead. Approved by: dcs
* In preparation for deprecating CIRCLEQ macros in favor of TAILQmckusick2000-11-143-40/+33
| | | | | | | macros which provide the same functionality and are a bit more efficient, convert use of CIRCLEQ's in resource manager to TAILQ's. Approved by: Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
* Add support for the Accton EN2242 MiniPCI adapter. This is just anwpaul2000-11-144-0/+8
| | | | | | ADMtek Centaur chip, so all we need is the PCI ID. Submitted by: Scott Lang <scottl@FreeBSD.org>
* Only hold the mutex for an eventhandler list while the list is being accessed.jhb2000-11-141-3/+5
| | | | | | | Specifically, don't hold the lock while calling event handlers as a handler may tsleep() while holding the mutex. Found by: witness
* Use Fx macro wherever possible.ru2000-11-142-2/+6
|
* When deleting a file, the ordering of events imposed by soft updatesmckusick2000-11-141-15/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | is to first write the deleted directory entry to disk, second write the zero'ed inode to disk, and finally to release the freed blocks and the inode back to the cylinder-group map. As this ordering requires two disk writes to occur which are normally spaced about 30 seconds apart (except when memory is under duress), it takes about a minute from the time that a file is deleted until its inode and data blocks show up in the cylinder-group map for reallocation. If a file has had only a brief lifetime (less than 30 seconds from creation to deletion), neither its inode nor its directory entry may have been written to disk. If its directory entry has not been written to disk, then we need not wait for that directory block to be written as the on-disk directory block does not reference the inode. Similarly, if the allocated inode has never been written to disk, we do not have to wait for it to be written back either as its on-disk representation is still zero'ed out. Thus, in the case of a short lived file, we can simply release the blocks and inode to the cylinder-group map immediately. As the inode and its blocks are released immediately, they are immediately available for other uses. If they are not released for a minute, then other inodes and blocks must be allocated for short lived files, cluttering up the vnode and buffer caches. The previous code was a bit too aggressive in trying to release the blocks and inode back to the cylinder-group map resulting in their being made available when in fact the inode on disk had not yet been zero'ed. This patch takes a more conservative approach to doing the release which avoids doing the release prematurely.
* Pick up kernelname for bootinfo structure (if possible), otherwisemjacob2000-11-141-5/+13
| | | | from environment.
* init booted_kernel from environment kernelname (if there)mjacob2000-11-141-0/+6
|
* move init of booted_kernel to bootinfo.cmjacob2000-11-141-4/+2
|
* In preparation for deprecating CIRCLEQ macros in favor of TAILQmckusick2000-11-1414-54/+47
| | | | | macros which provide the same functionality and are a bit more efficient, convert use of CIRCLEQ's in NFS to TAILQ's.
* Missed conversion of CIRCLEQ => TAILQ for mount list.mckusick2000-11-142-2/+2
|
OpenPOWER on IntegriCloud