summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Detect Geode CPUs and initialize the 27MHz timecounter "Geode".phk2003-08-313-0/+102
| | | | | This timecounter is 2usec faster than the i8254 and has 22 times better resolution.
* - Backout rev 1.142. This caused a deadlock that I do not understand. Morejeff2003-08-311-5/+3
| | | | investigation is required.
* - Define a new flag for getblk(): GB_NOCREAT. This flag causes getblk() tojeff2003-08-313-3/+14
| | | | | | | bail out if the buffer is not already present. - The buffer returned by incore() is not locked and should not be sent to brelse(). Use getblk() with the new GB_NOCREAT flag to preserve the desired semantics.
* - Don't acquire the vnode interlock in drain_output(). Instead, require thejeff2003-08-311-53/+77
| | | | | | | | | | | | | | | | | | | | | | caller to acquire it. This permits drain_output() to be done atomically with other operations as well as reducing the number of lock operations. - Assert that the proper locks are held in drain_output(). - Change getdirtybuf() to accept a mutex as an argument. This mutex is used to protect the vnode's buf list and the BKGRDWAIT flag. This lock is dropped when we successfully acquire a buffer and held on return otherwise. These semantics reduce the number of cumbersome cases in calling code. - Pass the mtx from getdirtybuf() into interlocked_sleep() and allow this mutex to be used as the interlock argument to BUF_LOCK() in the LOCKBUF case of interlocked_sleep(). - Change the return value of getdirtybuf() to be the resulting locked buffer or NULL otherwise. This is for callers who pass in a list head that requires a lock. It is necessary since the lock that protects the list head must be dropped in getdirtybuf() so that we don't have a lock order reversal with the buf queues lock in bremfree(). - Adjust all callers of getdirtybuf() to match the new semantics. - Add a comment in indir_trunc() that points at unlocked access to a buf. This may also be one of the last instances of incore() in the tree.
* Add support for the 82801EB (ICH5) SMBus controller.njl2003-08-311-0/+4
| | | | | | PR: kern/55485 Submitted by: Shin-ichi Yoshimoto <yosimoto@waishi.jp> MFC after: 1 day
* - If there is no vp assume that BKGRDINPROG is not set and set RELPBUF injeff2003-08-311-1/+2
| | | | brelse().
* - In some cases bp->b_vp can be NULL in brelse, don't try to lock thejeff2003-08-311-4/+6
| | | | | | interlock in that case. Found by: alc
* - Add vm object locking to the part of vm_pageout_scan() that laundersalc2003-08-311-20/+16
| | | | | dirty pages. - Remove some unused variables.
* Introduce MAP_ENTRY_GROWS_DOWN and MAP_ENTRY_GROWS_UP to allow formarcel2003-08-302-80/+147
| | | | | | | | | | | | | | growable (stack) entries that not only grow down, but also grow up. Have vm_map_growstack() take these flags into account when growing an entry. This is the first step in adding support for upward growable stacks. It is a required feature on ia64 to support the register stack (or rstack as I like to call it -- it also means reverse stack). We do not currently create rstacks, so the upward growing is not exercised and the change should be a functional no-op. Reviewed by: alc
* Label the uarea address as such in DDB's ps outputphk2003-08-301-1/+1
|
* Add the new g_dev_getprovider() function, the swap_pager needs it now.phk2003-08-302-0/+15
| | | | Spotted by: mr
* Add a close() method to a swapdev.phk2003-08-301-138/+254
| | | | | | Add a GEOM based backend. Remove the device/VOP_SPECSTRATEGY() based backend.
* Protect the swapdevice tailq with a mutex.phk2003-08-301-23/+50
| | | | Store the udev_t we will report to userland in the swdevt.
* Continue the objectification of the swapdev backends:phk2003-08-301-59/+106
| | | | | | | | | | | | | Remove the vnode and dev_t fields and replace them with a void *. Introduce separate strategy functions for devices and regular (NFS) vnodes. For devices we don't need the vnode v_numoutput stuff. Add a generic swaponsomething() function to add a swapdevice and split the remainder of swaponvp() into swaponvp() and swapondev() which calls this backend.
* Make the strategy function a method of the individual swapdev.phk2003-08-301-21/+30
|
* Consistent use modern function definitionsphk2003-08-301-69/+23
|
* Style fixes of the whitespace variety. Fix long lines and tabs.markm2003-08-303-69/+102
|
* Add pst as a modulesos2003-08-302-0/+10
|
* More debug under boot verbose.imp2003-08-291-2/+3
|
* Fix comment.imp2003-08-291-1/+1
|
* Migrate the sf_buf allocator that is used by sendfile(2) and zero-copyalc2003-08-298-99/+704
| | | | | | | | | | | sockets into machine-dependent files. The rationale for this migration is illustrated by the modified amd64 allocator. It uses the amd64's direct map to avoid emphemeral mappings in the kernel's address space. On an SMP, the emphemeral mappings result in an IPI for TLB shootdown for each transmitted page. Yuck. Maintainers of other 64-bit platforms with direct maps should be able to use the amd64 allocator as a reference implementation.
* More checking of M_PREPEND() return values: pass through link-layerrwatson2003-08-292-0/+8
| | | | | Appletalk code. These changes are untested since I don't have an Appletalk environment.
* Introduce error checking for calls to M_PREPEND():rwatson2003-08-291-1/+3
| | | | | ether_output() when prepending netatalk AFA_PHASE2 llc headers (TRYWAIT). ether_output() when prepending ethernet header to a frame (DONTWAIT).
* Fix byte order of multi-byte scsi_status information.simokawa2003-08-291-20/+11
|
* When we went to the set_flags interface for the memory resource, weimp2003-08-291-4/+4
| | | | | | switched from PCCARD_MEM_FOO to PCCARD_A_MEM_FOO, yet we didn't change exca in all the right places. Do so now. Also use PCCARD_WIDTH_AUTO rather than the magic cookie 0.
* Use the ACPICA AcpiEnterSleepStateS4bios instead of rolling our own. Thisnjl2003-08-296-153/+6
| | | | | | change also disables interrupts around non-S4 suspends whereas before we did not do this. Our version of AcpiEnterSleepStateS4bios was almost identical to the ACPICA version.
* Add Creative SB AudioPCI CT4730 rev A.orion2003-08-291-2/+18
| | | | | Submitted by: David Xu <davidxu@FreeBSD.org> PR: kern/54810
* Add Creative EV1938.orion2003-08-291-0/+2
| | | | | Submitted by: David Xu <davidxu@FreeBSD.org> PR: kern/54810
* Remove extra tabs indenting MAC library calls; they were there torwatson2003-08-292-42/+40
| | | | | | | | line up the function names in an earlier generation of the API when some of the functions returned structure pointers. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Remove unneeded field after CIS changes.imp2003-08-291-1/+0
|
* In vnode_pager_generic_putpages(), change the printf format specifiermarcel2003-08-291-2/+2
| | | | | to long and explicitly cast field dirty of struct vm_page to unsigned long. When PAGE_SIZE is 32K, this field is actually unsigned long.
* Recent pmap changes permit the use of a more precise locking assertionalc2003-08-281-2/+1
| | | | in vm_page_lookup().
* Eliminate the direct uses of vm_page_lookup() on the pte object. Instead,alc2003-08-281-33/+8
| | | | | | | | | | apply PHYS_TO_VM_PAGE() to the physical address obtained from the page table. (This is based upon similar changes made to the amd64 and i386 pmaps and a part of a long-term campaign to eliminate pte objects.) Tested by: wilko
* Remove redundant initialization of rti; SLIST_FOREACH does that forrwatson2003-08-281-1/+0
| | | | us.
* - Rename PCIx_HEADERTYPE* to PCIx_HDRTYPE* so the constants aren't so long.jhb2003-08-286-16/+25
| | | | | | | | | | | - Add a new PCIM_HDRTYPE constant for the field in PCIR_HDRTYPE that holds the header type. - Replace several magic numbers with appropriate constants for the header type register and a couple of PCI_FUNCMAX. - Merge to amd64 the fix to the i386 bridge code to skip devices with unknown header types. Requested by: imp (1, 2)
* Add constants for capability IDs and header types.jhb2003-08-281-0/+14
| | | | Submitted by: Samy Al Bahra <samy@kerneled.com>
* In bufdone(), change the format specifier for m->valid and m->dirty tomarcel2003-08-281-2/+3
| | | | | a long type and explicitly cast m->valid and m->dirty to unsigned long. When PAGE_SIZE is 32K, these fields are in fact unsigned long.
* Add sound support for the AMD64 8111 chip.obrien2003-08-281-0/+4
| | | | | PR: kern/55932 Submitted by: Mark Kettenis <kettenis@chello.nl>
* Minor style cleanups.njl2003-08-286-17/+8
|
* Style cleanups.njl2003-08-284-72/+35
|
* Style and whitespace changes. Also, make the ivar functions non-inlinenjl2003-08-289-1156/+1193
| | | | since inlining failed due to the size of BUS_*
* Do not return with vnode interlock held.kan2003-08-281-0/+2
| | | | Reviewed by: rwatson
* Merged from sys/dev/sio/sio.c revisions 1.403 and 1.404.nyan2003-08-282-68/+30
|
* Be more carefull on nulling the ATAPI magic for fake slave.sos2003-08-281-13/+15
| | | | Skip polling devices that keeps returning 0xff early (ie no HW there).
* Make sure to call start when retrying.sos2003-08-281-1/+2
|
* - Move BX_BKGRDWAIT and BX_BKGRDINPROG to BV_ and the b_vflags field.jeff2003-08-284-97/+117
| | | | | | | | | | | | | | | | | | - Surround all accesses of the BKGRD{WAIT,INPROG} flags with the vnode interlock. - Don't use the B_LOCKED flag and QUEUE_LOCKED for background write buffers. Check for the BKGRDINPROG flag before recycling or throwing away a buffer. We do this instead because it is not safe for us to move the original buffer to a new queue from the callback on the background write buffer. - Remove the B_LOCKED flag and the locked buffer queue. They are no longer used. - The vnode interlock is used around checks for BKGRDINPROG where it may not be strictly necessary. If we hold the buf lock the a back-ground write will not be started without our knowledge, one may only be completed while we're not looking. Rather than remove the code, Document two of the places where this extra locking is done. A pass should be done to verify and minimize the locking later.
* A number of minor fixes to the mapping of memory. This should helpimp2003-08-281-22/+18
| | | | | | | | | | | | | | | reading the CIS on some cards. However, not all just yet. This makes at least some of the xircom cards that weren't working to work. It doesn't make my home and away card work, however. o Don't get the card offset wrong. This is the biggest hassle for reading the CIS. The old code was just so wrong I can't believe that it worked at all. o Don't set the bit that allows/forces 16-bit memory access to the memory. It is hard coded with 0x80. o Don't need to slow down memory access with wait-states. OLDCARD didn't need them and it doesn't hurt anything. o remove bogus grousying in comment.
* Add missing braces. Fixes boot-time kernel panic with ATAng and ATAPI/CAM.thomas2003-08-281-1/+2
| | | | Reviewed by: roberto
* Remove a duplicate comment.njl2003-08-281-6/+0
| | | | Pointed out by: bde
* The valid field in struct vm_page can be of type unsigned long whenmarcel2003-08-281-2/+2
| | | | | | 32K pages are selected. In spec_getpages() change the printf format specifier and add an explicit cast so that we always print the field as a long type.
OpenPOWER on IntegriCloud