Commit Graph

85409 Commits

Author SHA1 Message Date
manu 5a8892e22d This is the clockctl pseudodevice. It gives non root users access to root-only
time-related system calls through ioctls. For instance, if user daemon is able
to write to /dev/clockctl, then it is able to use the CLOCKCTL_SETTIMEOFDAY
ioctl on it, which will be equivalent to a settimeofday.
Approved by Christos
2001-09-16 06:53:54 +00:00
manu adb22920bc Split root-only time-related system calls so that we have an upper part, that
checks root privs, and a lower part that does the actual job. The lower part
will be called by the upcoming clockctl driver. Approved by Christos
Also fixed a few cosmetic things
2001-09-16 06:50:06 +00:00
chs 1661137341 it's perfectly legal for pmap_extract() on the kernel pmap to not find
anything mapped there, even though it never used to happen.  with today's
other changes it happens a lot now, so remove the debug check for it.
2001-09-16 05:40:46 +00:00
uch 961880b501 ANSIfy, KNF. 2001-09-16 05:32:18 +00:00
thorpej ef09d975d5 Add text describing what to do if make complains about a missing
uvm_vnode.h
2001-09-16 04:25:39 +00:00
thorpej e9d1fccd30 BWX-addressable space is aways linear, so always allow BUS_SPACE_MAP_LINEAR
requests to succeed (and ignore BUS_SPACE_MAP_PREFETCHABLE, since it makes
no difference in BWX-addressable space).
2001-09-16 03:50:01 +00:00
thorpej fe8546c37d AGP registers are in memory space on the AMD-751. 2001-09-16 03:42:12 +00:00
tsutsui 831524d3c1 Wrap some declarations with #ifdef _KERNEL and #ifndef _LOCORE . 2001-09-16 03:20:01 +00:00
wiz d052707e74 Sort sections and SEE ALSO. 2001-09-16 03:02:43 +00:00
wiz a40c1b1d97 Standardize section header. 2001-09-16 03:02:30 +00:00
wiz 55a1df0404 Readd .Sh COPYRIGHT (needed for man pages generated from this template) 2001-09-16 03:01:43 +00:00
wiz 260d59cdbe Boring whitespace fixes. 2001-09-16 02:57:26 +00:00
wiz 09a03cd887 Standardize section headers, sort sections, sort SEE ALSO, punctuation
and misc. fixes.
2001-09-16 02:57:03 +00:00
wiz 97ff145f62 Sort sections, sort SEE ALSO, and misc. fixes. 2001-09-16 02:54:17 +00:00
wiz a0dbe70b74 Boring whitespace fixes. 2001-09-16 02:30:23 +00:00
wiz 3e3b82275d Remove some boring whitespace, sort sections. 2001-09-16 02:29:00 +00:00
wiz 2beb113a1b Standardize and sort sections, remove some whitespace. 2001-09-16 02:28:09 +00:00
wiz 58329ea2bf Remove some boring whitespace and fix a section header. 2001-09-16 02:25:37 +00:00
wiz d6f3275420 Remove some boring whitespace and an empty section, and sort sections. 2001-09-16 02:24:56 +00:00
wiz e7560d5642 Boring whitespace fixes. 2001-09-16 02:23:09 +00:00
wiz 5f0cf55919 Correct section header. 2001-09-16 02:22:27 +00:00
wiz 80dc71cefe Sort SEE ALSO and remove a trailing empty line. 2001-09-16 02:22:15 +00:00
wiz 1f6453babf Boring whitespace fixes. 2001-09-16 02:21:00 +00:00
wiz 23f84ac4f1 Sort sections and add .Sx in two places. 2001-09-16 02:20:13 +00:00
wiz fabf44e83f Boring whitespace fix. 2001-09-16 02:19:33 +00:00
wiz f37e55afc4 Boring whitespace fixes. 2001-09-16 02:17:40 +00:00
wiz 71bd158b54 Mainly sort SEE ALSO, but also sort sections, and some punctuation and
paragraph fixes.
2001-09-16 02:17:15 +00:00
wiz 53d84b5c61 Sort sections, sort SEE ALSO, punctuation and miscellanous fixes. 2001-09-16 02:13:26 +00:00
thorpej 79ae830243 Add AGP support (oops, forgot to commit this file with the last batch). 2001-09-16 02:09:47 +00:00
wiz 72b9df9677 Boring whitespace fixes. 2001-09-16 02:08:55 +00:00
wiz 4c17cdc321 Whitespace fixes and sort SEE ALSO. 2001-09-16 01:41:09 +00:00
wiz dfcfff97f3 Boring whitespace fixes. 2001-09-16 01:38:59 +00:00
wiz 8904bab14d Sort SEE ALSO. 2001-09-16 01:35:53 +00:00
wiz d1a50f6e49 Punctuation nits. 2001-09-16 01:35:41 +00:00
wiz ad13b93ba4 sort SEE ALSO, add .An. 2001-09-16 01:33:32 +00:00
wiz 4e59d26612 Drop unnecessary whitespace and .Pp, sort SEE ALSO, sort sections,
and some minor fixes.
2001-09-16 01:31:51 +00:00
enami 0af73d03a2 Sort SEE ALSO and remove trailing comma. 2001-09-16 01:09:18 +00:00
eeh d123f46864 Enable GEM, USB and Firewire drivers. 2001-09-16 00:14:35 +00:00
eeh 345c4a7b0d Driver for Sun GEM gigabit ethernet, Sun ERI 10/100, and Apple GMAC. 2001-09-16 00:11:41 +00:00
thorpej 7d63653e94 s/int/size_t/ in one obvious place. 2001-09-16 00:01:15 +00:00
uwe 571e595ff4 Fix duplicate "is is". 2001-09-15 23:57:33 +00:00
bjh21 56536d5190 econet_inputframe: Check the header of each frame, and its length, to ensure
it looks like what we expect.  This should help detect frames garbled by the
interface driver.
2001-09-15 23:03:11 +00:00
chs 3638545406 move include of header only needed for kernel down inside ifdef _KENREL. 2001-09-15 22:44:09 +00:00
chs 5f5ac77eff add a forward decl for struct vm_page. 2001-09-15 22:38:40 +00:00
chs 099a6b5258 interfaces and structures used by new genfs_{get,put}pages(). 2001-09-15 21:33:05 +00:00
chs 737a326432 uvm_vnode.h is no more. 2001-09-15 21:19:36 +00:00
chs 02464e8394 bump to 1.5Y: vfs_reinit, massive UVM/UBC/filesystem changes. 2001-09-15 20:48:27 +00:00
chs 8be3a83fe3 uvm_vnode.h is dead, genfs_node.h is born. 2001-09-15 20:41:59 +00:00
chs d9faf4d4e7 regen 2001-09-15 20:37:36 +00:00
chs 64c6d1d2dc a whole bunch of changes to improve performance and robustness under load:
- remove special treatment of pager_map mappings in pmaps.  this is
   required now, since I've removed the globals that expose the address range.
   pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's
   no longer any need to special-case it.
 - eliminate struct uvm_vnode by moving its fields into struct vnode.
 - rewrite the pageout path.  the pager is now responsible for handling the
   high-level requests instead of only getting control after a bunch of work
   has already been done on its behalf.  this will allow us to UBCify LFS,
   which needs tighter control over its pages than other filesystems do.
   writing a page to disk no longer requires making it read-only, which
   allows us to write wired pages without causing all kinds of havoc.
 - use a new PG_PAGEOUT flag to indicate that a page should be freed
   on behalf of the pagedaemon when it's unlocked.  this flag is very similar
   to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the
   pageout fails due to eg. an indirect-block buffer being locked.
   this allows us to remove the "version" field from struct vm_page,
   and together with shrinking "loan_count" from 32 bits to 16,
   struct vm_page is now 4 bytes smaller.
 - no longer use PG_RELEASED for swap-backed pages.  if the page is busy
   because it's being paged out, we can't release the swap slot to be
   reallocated until that write is complete, but unlike with vnodes we
   don't keep a count of in-progress writes so there's no good way to
   know when the write is done.  instead, when we need to free a busy
   swap-backed page, just sleep until we can get it busy ourselves.
 - implement a fast-path for extending writes which allows us to avoid
   zeroing new pages.  this substantially reduces cpu usage.
 - encapsulate the data used by the genfs code in a struct genfs_node,
   which must be the first element of the filesystem-specific vnode data
   for filesystems which use genfs_{get,put}pages().
 - eliminate many of the UVM pagerops, since they aren't needed anymore
   now that the pager "put" operation is a higher-level operation.
 - enhance the genfs code to allow NFS to use the genfs_{get,put}pages
   instead of a modified copy.
 - clean up struct vnode by removing all the fields that used to be used by
   the vfs_cluster.c code (which we don't use anymore with UBC).
 - remove kmem_object and mb_object since they were useless.
   instead of allocating pages to these objects, we now just allocate
   pages with no object.  such pages are mapped in the kernel until they
   are freed, so we can use the mapping to find the page to free it.
   this allows us to remove splvm() protection in several places.

The sum of all these changes improves write throughput on my
decstation 5000/200 to within 1% of the rate of NetBSD 1.5
and reduces the elapsed time for "make release" of a NetBSD 1.5
source tree on my 128MB pc to 10% less than a 1.5 kernel took.
2001-09-15 20:36:31 +00:00