Commit Graph

53860 Commits

Author SHA1 Message Date
wrstuden 5e77d9fec1 Teach nfs_lookup to clear PDIRUNLOCK. 1999-07-08 22:53:08 +00:00
thorpej 602452569d Make sure errno is set to ENOMEM if we return NULL. 1999-07-08 22:18:06 +00:00
thorpej 34a0f20633 Fix typo in previous. 1999-07-08 21:14:26 +00:00
thorpej 120a156ee4 Fix typos in previous. 1999-07-08 21:10:12 +00:00
thorpej faa6862b38 NetBSD 1.4F; pmap_extract() API changed. 1999-07-08 18:12:14 +00:00
thorpej 3ebbe095e0 Change the pmap_extract() interface to:
boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *);
This makes it possible for the pmap to map physical address 0.
1999-07-08 18:05:21 +00:00
ws ea80527b05 Add test code for synchronizing caches for signal trampoline code 1999-07-08 17:37:35 +00:00
tsubai 2f247ac8dd Make ramdiskbin smaller to fit into ramdisk. 1999-07-08 16:36:15 +00:00
itojun e5244472c9 style fix (to sync with KAME/NetBSD14) 1999-07-08 16:11:40 +00:00
sommerfeld eb61e82da9 Fix a bit-count vs. byte-count problem .. /16 routes were added as
host routes rather than network routes.
1999-07-08 16:04:56 +00:00
drochner 6211cd566c fix creation of DOS / ROM images from ELF executables: use "objcopy" 1999-07-08 14:32:28 +00:00
bouyer e5d15c0dc6 Add another CD to the quirk table. 1999-07-08 14:24:42 +00:00
tsubai f4b682fed8 Add bootloader. 1999-07-08 12:35:21 +00:00
tsubai 1f5ca17f49 Add one more bootdev check. 1999-07-08 12:28:06 +00:00
tsubai ceed81ce5f Forgot to add this... 1999-07-08 12:13:18 +00:00
tron 52f4fd7993 Define "_LKM" before including kernel includes with "_KERNEL" defined
so that "opt_ffs.h" gets skipped.
1999-07-08 12:07:56 +00:00
tsubai fcd9edb548 Don't make ECOFF kernel. 1999-07-08 11:53:35 +00:00
tsubai 7f688e8252 Add stand to SUBDIR. 1999-07-08 11:48:47 +00:00
tsubai 95faaaec9d Add NetBSD/newsmips native boot loader. 1999-07-08 11:48:03 +00:00
tsubai e1ef4ddcb5 Define ROM monitor interfaces. 1999-07-08 11:40:24 +00:00
dean 448aa67f43 Fix for PR 5108 - vi gets SEGV after SIGHUP. 1999-07-08 06:09:04 +00:00
wrstuden 1eda267aa0 Add layer.h to the comp set. 1999-07-08 03:06:02 +00:00
wrstuden 7c564a9ce6 Update to new mount arguments. 1999-07-08 03:04:39 +00:00
christos 121565d194 Make this compile with WARNS = 2 1999-07-08 01:56:09 +00:00
christos 63eda1d356 Introduce a second level of WARNS for even more paranoia 1999-07-08 01:55:38 +00:00
wrstuden f8ea65369c Make nullfs's lkm right. 1999-07-08 01:51:57 +00:00
wrstuden aae49442c3 We're 1.4E now. 1999-07-08 01:28:32 +00:00
wrstuden 9fc36d6807 Bump osrelease to 1.4E. Add layerfs files, remove null_subr.c.
Update coda to new struct lock in struct vnode.

make fdescfs, kernfs, portalfs, and procfs actually lock their vnodes.
It's not that hard.

Make unionfs set v_vnlock = NULL so any overlayed fs will call its
VOP_LOCK.
1999-07-08 01:26:21 +00:00
wrstuden 9866514df5 Introduce layer library in genfs. This set of files abstracts most of
the functionality of nullfs. The latter is now just a mount & unmount
routine, and a few tables. umapfs borrow most of this infrastructure.

Both fs's are now nfs-exportable.

All layered fs's share a common format to private mount & private
vnode structs (which a particular fs can extend).

Also add genfs_noerr_rele(), a vnode op which will vrele/vput
operand vnodes appropriately.
1999-07-08 01:18:59 +00:00
wrstuden 379a26972f Modify file systems to deal with struct lock in struct vnode. All leaf
fs's other than nfs use genfs_lock() for locking.

Modify lookup routines to set PDIRUNLOCK when they unlock the parrent.
1999-07-08 01:05:58 +00:00
thorpej 6885fbe3d1 Teeny bit of style policing. 1999-07-08 01:02:44 +00:00
thorpej ec74ea9486 Correct a comment. 1999-07-08 00:52:45 +00:00
oster 324c76b3d9 Once upon a time, long long ago, there was a "fix" added to the
RAIDframe driver to stop it from eating too much kernel memory when
writing data.  But that fix had a nasty side-affect of hurting write
performance (*much* more than I thought it would).  These changes nuke
that "fix", and instead put in a more reasonable mechanism for limiting
the number of simultaneous IO's which can be happening for each RAID device.
The result is a noticeable improvement in write throughput.  The End.
1999-07-08 00:45:23 +00:00
itojun 9c536f2966 sync with KAME/NetBSD14.
add warning about upstream/downstream advertisement.
1999-07-08 00:41:21 +00:00
wrstuden 332bef3064 Regen to reflect WILLPUT & WILLUNLOCK syntax. 1999-07-07 23:33:50 +00:00
wrstuden 99a1c75bcb Update syntax to support WILLUNLOCK and WILLPUT syntax. Change calls which
really vput to indicate that rather than just WILLRELE.
1999-07-07 23:32:50 +00:00
wrstuden e808c37d88 Add struct lock to struct vnode as first step in having vnodes export a
struct lock. Will permit layered fs's to share locks with underlying
vnodes.

Also reduce the max # of vnodes passable in a VOP from 16 to 8. As the
most we pass is 4, this shoudn't be a problem. In addition to WILLRELE
flags, add WILLUNLOCK flags to indicate that the VOP will unlock the
vnode. Add WILLPUT flags (WILLUNLOCK | WILLRELE) to indicate that the
vop will vput the passed-in vnode.
1999-07-07 23:30:03 +00:00
fvdl 3cf76a4d16 Add _start (as well as __start). It's the default start symbol expected
by ld for the i386 ELF case.
1999-07-07 22:59:47 +00:00
wrstuden 773654d7dc Add PDIRUNLOCKED which will be set by a leaf fs when it returns an error
and has unlocked the parrent vnode. Should only actually be returned if
the fs needs to unlock the parrent and has difficulty re-locking the
parrent. Needed so that layered fs's can keep track of locking.
1999-07-07 22:58:45 +00:00
fvdl b2e6565c2c Do DBX debugging symbols (stabs) the usual ELF way, using relative
offsets to the beginning of the function. Other i386 ELF systems do
this as well, and gdb expects it by default.
1999-07-07 22:23:35 +00:00
thorpej 7089fc0a1d Add a few more tests. 1999-07-07 22:00:31 +00:00
thorpej 4ef1f3670d Fix a thinko which could cause a NULL pointer deref, in the PGO_FREE
case.
1999-07-07 21:51:35 +00:00
drochner c867601f9f mount diskless root with "NFSMNT_NOCONN" (which is default in "mount_nfs"
for quite a while) to allow certain servers (multihomed, as our DEC NSE
cluster) to be used as root filesystem without special tweaks
1999-07-07 21:29:29 +00:00
drochner db20439533 repair diskless startup: "netstart" needs "sysctl" and "awk" now, thus
"/usr" must be mounted. mount_critical_filesystems() didn't mount it,
even if listed in "critical_filesystems", if it is nfs.
Solution: introduce another rc.conf variable
"critical_filesystems_beforenet" which contains filesystems to be mounted
before "netstart".
Perhaps "netstart" should be split up, but this would make things even
more complex...
1999-07-07 21:24:56 +00:00
thorpej 62dcdc109b In the PGO_FREE case of uvm_map_clean()'s amap cleaning, skip wired
pages.

XXX This should be handled better in the future, probably by marking the
XXX page as released, and making uvm_pageunwire() free the page when
XXX the wire count on a released page reaches zero.
1999-07-07 21:04:22 +00:00
ws 974de8f7f8 Handle misalignment in vmcmd_map_readvn and vmcmd_map_zero correctly. 1999-07-07 20:23:45 +00:00
thorpej 4e398a6ded Add some more meat to madvise(2):
* Implement MADV_DONTNEED: deactivate pages in the specified range,
  semantics similar to Solaris's MADV_DONTNEED.
* Add MADV_FREE: free pages and swap resources associated with the
  specified range, causing the range to be reloaded from backing
  store (vnodes) or zero-fill (anonymous), semantics like FreeBSD's
  MADV_FREE and like Digital UNIX's MADV_DONTNEED (isn't it SO GREAT
  that madvise(2) isn't standardized!?)

As part of this, move the non-map-modifying advice handling out of
uvm_map_advise(), and into sys_madvise().

As another part, implement general amap cleaning in uvm_map_clean(), and
change uvm_map_clean() to only push dirty pages to disk if PGO_CLEANIT
is set in its flags (and update sys___msync13() accordingly).  XXX Add
a patchable global "amap_clean_works", defaulting to 1, which can disable
the amap cleaning code, just in case problems are unearthed; this gives
a developer/user a quick way to recover and send a bug report (e.g. boot
into DDB and change the value).

XXX Still need to implement a real uao_flush().

XXX Need to update the manual page.

With these changes, rebuilding libc will automatically cause the new
malloc(3) to use MADV_FREE to actually release pages and swap resources
when it decides that can be done.
1999-07-07 06:02:21 +00:00
thorpej ad1a5ef5cf Add a macro to modify flags in a VM map, which handles the locking
for you.
1999-07-07 05:33:33 +00:00
thorpej f631c1adae Update a comment in uao_flush(). 1999-07-07 05:32:26 +00:00
thorpej 121fe0bc26 Don't bother returning the "slot" number from amap_add():
* Nothing currently uses this return value.
* It's arguably an abstraction violation.

Fix amap_unadd()'s API to be consistent w/ amap_add()'s: rather than
take a vm_amap * and a slot number, take a vm_aref * and an offset.

It's now actually possible to use amap_unadd() to remove an anon from
an amap.
1999-07-07 05:31:40 +00:00