16812 Commits

Author SHA1 Message Date
dillon
124cdf5346 The vnode pager (used when you do file-backed mmaps) must use the
underlying physical sector size when aligning I/O transfer sizes.
    It cannot assume 512 bytes.

    We assume the underlying sector size is a power of 2.  If it isn't,
    mmap() will break badly anyway (in the same way mmap broke with NFS
    when NFS tried to cache piecemeal write ranges in buffers, before
    we enforced read-buffer-before-write-piecemeal for NFS).

Reviewed by:	Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
1999-09-17 05:17:59 +00:00
dillon
7a0052d268 Fix a number of spl bugs related to reserving and freeing swap space.
Swap space can be freed from an interrupt and so swap reservation and
    freeing must occur at splvm.

    Add swap_pager_reserve() code to support a new swap pre-reservation
    capability for the VN device.

    Generally cleanup the swap code by simplifying the swp_pager_meta_build()
    static function and consolidating the SWAPBLK_NONE test from a bit test
    to an absolute compare.  The bit test was left over from a rejected
    swap allocation scheme that was not ultimately committed.  A few other
    minor cleanups were also made.

    Reorganize the swap strategy code, again for VN support, to not
    reallocate swap when writing as this messes up pre-reservation and
    can fragment I/O unnecessarily as VN-baesd disk is messed around with.

Reviewed by:	Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
1999-09-17 05:09:24 +00:00
dillon
6c2a557edd Add required BUF_KERNPROC to flushchainbuf() to disassociate the
current process from the exclusive lock prior to initiating I/O.

    This fixes a panic related to swap-backed VN disks

Reviewed by:	Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
1999-09-17 05:03:27 +00:00
dillon
4cb1921c9b Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
Replace various VM related page count calculations strewn over the
    VM code with inlines to aid in readability and to reduce fragility
    in the code where modules depend on the same test being performed
    to properly sleep and wakeup.

    Split out a portion of the page deactivation code into an inline
    in vm_page.c to support vm_page_dontneed().

    add vm_page_dontneed(), which handles the madvise MADV_DONTNEED
    feature in a related commit coming up for vm_map.c/vm_object.c.  This
    code prevents degenerate cases where an essentially active page may
    be rotated through a subset of the paging lists, resulting in premature
    disposal.
1999-09-17 04:56:40 +00:00
wpaul
2600195b6a Fix sf_probe() to detect the card type properly. I botched the reading
of the subsystem ID when I converted to newbus. The driver still detects
the chipset and still works but fails to identify the exact card.
1999-09-17 00:47:41 +00:00
lile
491fc39d0f Re-arrange the arp code so that fddi arps work properly. 1999-09-16 00:35:39 +00:00
roberto
b6053bedb2 wlinit() must be called to recalculate the multicast filter.
Submitted by:	Francis Dupont <Francis.Dupont@inria.fr>
1999-09-15 12:49:03 +00:00
wpaul
dc0cc0dc0b Dangit: mispelled TORNADO in one place. 1999-09-15 07:20:59 +00:00
wpaul
1effe74301 3Com has produced their own Linux driver for the 3c90x/3c90xB series cards.
It's GPL'ed of course, but looking over it tonight I learned of Yet Another
Fast EtherLink XL Adapter: the 3c980C server adapter. This is basically
an updated version of the 3c980 that uses the Tornado ASIC instead of the
earlier Hurricane ASIC. The only change here is to add the new PCI device
ID (0x9805) and corresponding table entries.
1999-09-15 07:19:34 +00:00
des
1c6fac480c Reorder. 1999-09-14 16:40:28 +00:00
des
b94ca10a55 Fix some more disordering, as well as the description string for the
net.inet.tcp.drop_synfin sysctl, which for some mysterious reason said
"Drop TCP packets with FIN+ACK set" (instead of "...with SYN+FIN set")
1999-09-14 16:14:05 +00:00
nyan
5a8588bae9 Gdc and pckbd driver don't support pnp mode. 1999-09-14 12:57:40 +00:00
ru
1b16c12a1d Don't call if_up() here, just set IFF_UP.
PR:		12251
Reviewed by:	wollman
1999-09-14 01:17:30 +00:00
ru
f44ea655d6 Add comments, fix typos.
Reviewed by:	wollman
1999-09-14 00:33:23 +00:00
peter
1ee886d2fd The sense of probes has inverted. They return an error, rather than
true/false.  Fix ed_probe_HP_pclanp() so that it doesn't "succeed" on
non-existing hardware.

Submitted by:	Mark Hittinger <bugs@freebsd.netcom.com>
1999-09-13 19:14:43 +00:00
phk
e80a817942 Register the right cdevsw on the master device.
Detected by:	sos
1999-09-13 18:20:21 +00:00
peter
6dd370e71b Pull in the core bus drivers based on the machine type rather than
requiring the user to figure it out.  So, if you comment out all but the
machine type you are using, you automatically get the bus code just for
your system.  (eg DEC_EB164 implies cia, etc).  Multiple machine types
still pulls in the appropriate busses.  This means, take things like
'controller cia0' out of your config.

Reviewed by:	dfr  (in principle)
1999-09-13 17:52:06 +00:00
ken
e97d8bd286 Get rid of a stray printf on boot. (BRDCTL = ...)
Approved by:	gibbs
1999-09-13 16:32:34 +00:00
bde
10335a428d Moved the definition of `boottime' and its sysctl to the correct file. 1999-09-13 14:22:27 +00:00
bde
5824d12819 Const poisoning from d_name.
Fixed some style bugs in recent changes.
1999-09-13 14:12:23 +00:00
bde
e4c61ea6e2 Oops, I forgot to commit this together with the updates to the callers.
Removed diskerr()'s unused d_name arg and updated callers.  This fixes
warnings caused by the arg having the wrong type (not const enough).
The arg was also wrong (a full name instead of a short one) for calls
from from subr_diskmbr.c and pc98/diskslice_machdep.c.
1999-09-13 14:00:16 +00:00
bde
d01e107d02 Removed diskerr()'s unused d_name arg and updated callers. This fixes
warnings caused by the arg having the wrong type (not const enough).
The arg was also wrong (a full name instead of a short one) for calls
from from subr_diskmbr.c and pc98/diskslice_machdep.c.
1999-09-13 12:59:41 +00:00
bde
5fbd95466c Const'ify devtoname() and d_name. This exposes some errors (2 non-benign).
Handle negative minor numbers properly in devtoname().
1999-09-13 12:29:32 +00:00
des
ad7d5e0e01 Fix disordering introduced in my previous commit.
Pointed out by:	bde
1999-09-13 09:45:07 +00:00
kato
3edadb57c6 Merge from sys/i386/conf/GENERIC revision 1.190. 1999-09-13 08:55:15 +00:00
des
31f547ff8e "\t\t" -> " \t" as per rev. 1.611 (mangled in the previous commit)
Pointed out by:	bde
1999-09-13 08:36:15 +00:00
phk
12c22f65a5 Bite the bullet and allocate the devsw entry at compile time. 1999-09-12 20:40:29 +00:00
green
347920f6fb Correction: mem.c devices are "D_MEM" (and D_MEM is added.)
Taken issue with by:	phk
1999-09-12 18:48:07 +00:00
des
19e7731a48 Add the net.inet.tcp.restrict_rst and net.inet.tcp.drop_synfin sysctl
variables, conditional on the TCP_RESTRICT_RST and TCP_DROP_SYNFIN kernel
options, respectively. See the comments in LINT for details.
1999-09-12 17:22:08 +00:00
green
24f1ee63f7 Mainly stylistic fixes:
1. return( -> return (
	2. inappropriate ENODEV -> ENOTTY
	3. some unreachable cases removed
1999-09-12 16:44:07 +00:00
green
3a7c95374a Make the d_flags of mem devices D_DISK to signify that they are disk-like
random-seekable devices. This lets dd(1) know it can seek on them. It
also affects spec_vnopen() (IIRC), but only makes the path of execution smaller,
and does not change its behavior. This is when securelevel >= 2.
1999-09-12 16:38:43 +00:00
nyan
c5bcb23f60 Fixed missing changes from sys/isa/sio.c. 1999-09-12 13:44:54 +00:00
nyan
08e7f2048e Merge missing changes from sys/i386/conf/files.i386. 1999-09-12 12:32:49 +00:00
phk
22b8607abf Use a different tactic when creating the devsw so that disk_create()
doesn't need to malloc.
1999-09-12 09:16:00 +00:00
phk
6ccbd3a720 Remove replace phygetvpbuf() with direct call to getpbuf(); 1999-09-12 08:27:41 +00:00
phk
e28590ebe4 Remove unneeded disk-related includes. 1999-09-12 08:23:21 +00:00
phk
90bd101d4d Change scheduling to use on the fly determination rather than presorting. 1999-09-12 08:13:26 +00:00
msmith
80659aa736 Some PnP BIOSsen return garbage in the high byte of the number-of-devices
field (or don't set the high byte at all).  Clear it to avoid reporting
a silly number of devices.

Reported by:	phk
1999-09-12 06:58:33 +00:00
peter
718e870486 Make pmap_mapdev() deal with non-page-aligned requests.
Add a corresponding pmap_unmapdev() to release the KVM back to kernel_map.
1999-09-11 20:31:32 +00:00
nsayer
59867e71f7 Fix kernel compile with BRIDGE, but without DUMMYNET 1999-09-11 18:54:41 +00:00
bde
a229a63526 Fixed some style bugs (mainly disorderd prototypes). 1999-09-11 17:11:21 +00:00
bde
ec1ed330ea Get rid of MALLOC_INSTANTIATE and MALLOC_MAKE_TYPE(). Just handle the 3
malloc types declared in <sys/malloc.h> like other global malloc types.
1999-09-11 16:41:39 +00:00
gibbs
83acb0b653 Add the AMD driver. 1999-09-11 16:05:48 +00:00
gibbs
baddb7f311 Fix a compile warning. 1999-09-11 16:03:57 +00:00
iwasaki
181aba8e3a Handle CAPABILITIESCHANGE event.
Document USERSTANDBYREQ and CAPABILITIESCHANGE events to apmd manpage.
1999-09-11 16:00:28 +00:00
nsayer
5f53706ddd Handle UserStandbyRequests as well as the other 3 members of the
{,USER}{STANDBY,SUSPEND}REQ matrix.
1999-09-11 15:12:31 +00:00
alfred
198b4e0942 regenerate to include proper "gererated from" taglines. 1999-09-11 01:06:03 +00:00
alfred
b9136a6115 Seperate the export check in VFS_FHTOVP, exports are now checked via
VFS_CHECKEXP.

Add fh(open|stat|stafs) syscalls to allow userland to query filesystems
based on (network) filehandle.

Obtained from:	NetBSD
1999-09-11 00:46:08 +00:00
peter
6e57a49f3c Add $FreeBSD$ tags to generated files otherwise the checker won't let them
be committed.
1999-09-10 23:34:30 +00:00
phk
ef637f9858 Create and use a dedicated malloc type for bus related stuff.
Reviewed by:	dfr
1999-09-10 21:11:23 +00:00