Commit Graph

52864 Commits

Author SHA1 Message Date
thorpej 88f71d9598 Update a uvm_map_pageable() call that I forgot to commit previously. 1999-06-18 06:32:05 +00:00
thorpej 4eb92b494a Sync up with the following hp300 trap.c change:
revision 1.41
date: 1996/09/07 22:26:50;  author: mycroft;  state: Exp;  lines: +5 -20
Use SIGBUS iff we get a legitimate bus fault.  Use SIGSEGV for page protection
violations (per Solaris, SVR4, AIX, Linux, Irix, and SunOS).

...which happens to eliminate an unsafe call to uvm_map_checkprot().
1999-06-18 06:31:01 +00:00
mrg 74e7dd65cc fix includes: out goes netinet/ip.h, in comings sys/mbuf, net/if.h and net/pfil.h.
partly from mike@pelley.com in PR#7803.
1999-06-18 06:03:39 +00:00
mrg 1dd8c9f502 call pfil_list_add with the right flag, to ensure it goes into the right list.
from mike@pelley.com in PR#7802.
1999-06-18 05:59:20 +00:00
is e6455c6e13 less views, and comment them 1999-06-18 05:58:25 +00:00
is 60bb9923a8 COMPAT_SVR4 does not compile witout EXEC_ELF32 1999-06-18 05:57:31 +00:00
is d66f459df0 COMPAT_SVR4 does not compile without EXEC_ELF32. 1999-06-18 05:56:45 +00:00
thorpej 9b9494844a MCL_FUTURE is now implemented. 1999-06-18 05:37:30 +00:00
mhitch 3adf25374a The extraneous interrupt that seems to occur after a reconnect and a DMA transfer
starts running can occur on both DMA in and DMA out.  I missed the little comment
in the Mach driver for the DMA out case.  Also, only ignore the interrupt if the
TC is non-zero (to match the Mach driver).
1999-06-18 05:30:53 +00:00
thorpej 9e9f068f43 Add the guts of mlockall(MCL_FUTURE). This requires that a process's
"memlock" resource limit to uvm_mmap().  Update all calls accordingly.
1999-06-18 05:13:45 +00:00
cgd c42289089f nuke md_copy_filesystem()'s contents. it now just returns 0. 1999-06-18 05:08:57 +00:00
simonb 55d7fbaef8 Change /etc/mtree/special and /etc/sendmail.cf to mode 444, and
/usr/include to owner:group root:wheel, to match how these files
are shipped in a distribution.

From PR misc/6736 from Soren Jorvang.
1999-06-18 05:06:45 +00:00
cgd ce030a27e0 ptys should not be marked secure. 1999-06-18 04:57:01 +00:00
tsubai 12c2ab7750 Regen. 1999-06-18 04:55:27 +00:00
tsubai 25b9bffe81 Add some Apple and MOT products. 1999-06-18 04:54:06 +00:00
cgd 7c02d93c04 nuke current definitions provided by __BUS_SPACE_COMPAT_OLDDEFS.
I'll do what I can to make new ones soon.  8-)
1999-06-18 04:49:24 +00:00
thorpej bbf19ba181 Um, hi, let's initialize pointers before we use them. 1999-06-17 23:17:45 +00:00
tls 4d649c3adb squash some compiler warnings on debug printfs by casting to int 1999-06-17 22:22:41 +00:00
thorpej 3787c5c3d8 MAP_COPY -> MAP_PRIVATE 1999-06-17 21:09:47 +00:00
thorpej 7675dfedf0 Don't export MAP_COPY to userland. It's deprecated, works like MAP_PRIVATE,
and not described by any standard.
1999-06-17 21:07:55 +00:00
thorpej 01ac9b6529 In sys_mmap():
- rather than treating MAP_COPY like MAP_PRIVATE by sheer virtue of it not
  being MAP_SHARED, actually convert the MAP_COPY flag into MAP_PRIVATE.
- return EINVAL if MAP_SHARED and MAP_PRIVATE are both included in flags.
1999-06-17 21:05:19 +00:00
tls 3e2a95b2e4 add FreeBSD's malloc, compiled in only if MALLOC_NEW is set in mk.conf 1999-06-17 19:33:36 +00:00
thorpej 0288ffb53a pmap_change_wiring() -> pmap_unwire(). 1999-06-17 19:23:20 +00:00
thorpej f5a527bb4e Remove pmap_pageable(); no pmap implements it, and it is not really useful,
because pmap_enter()/pmap_change_wiring() (soon to be pmap_unwire())
communicate the information in greater detail.
1999-06-17 18:21:21 +00:00
bouyer cc6eca7553 mbuf should be allocated with M_DONTWAIT in ether_output(). This caused panics
when routing atalk.
1999-06-17 17:27:13 +00:00
thorpej 12347b2657 Make uvm_vslock() return the error code from uvm_fault_wire(). All places
which use uvm_vslock() should now test the return value.  If it's not
KERN_SUCCESS, wiring the pages failed, so the operation which is using
uvm_vslock() should error out.

XXX We currently just EFAULT a failed uvm_vslock().  We may want to do
more about translating error codes in the future.
1999-06-17 15:47:22 +00:00
leo ffd3da04d4 Comply with the changes Jason suggested yesterday. A copy of his log message:
Don't (ab)use uvm_map_pageable() to allocate PT pages.  Instead, do
  some internal reference counting on PT pages.  We still allocate them
  with the page fault routine (a wire-fault, now), but no longer free
  PT pages from pmap_pageable().
1999-06-17 07:59:16 +00:00
tsubai a8d7da0d21 Add "trackpad" definition. 1999-06-17 06:59:05 +00:00
thorpej 1f97ad987f In uvm_useracc(), make sure we have a read lock on the map before
calling uvm_map_checkprot().
1999-06-17 05:57:33 +00:00
christos 717ef4f35b Add -u flag, that prevents sup from attempting to restore a and m times
on the received files.
1999-06-17 05:11:47 +00:00
mjacob 92f90fcb92 STK 9490 && SD-3 drives incorrectly quirked as not supporting the LOAD command.
Anyway, just because a drive doesn't support the LOAD (to BOT) command does
not mean that the drive doesn't support the UNLOAD command. Also note and
print errors in rewinds and unloads (and errors in writing closing filemarks
for same).
1999-06-17 04:20:55 +00:00
thorpej f274deb90a The i386 and pc532 pmaps are officially fixed. 1999-06-17 00:24:10 +00:00
thorpej f51688dd8b PMAP_NEW is no longer optional on the pc532; the old pmap's page table
allocation strategy no longer works at all.  Move pmap.new.* to pmap.*.

To read the revision history of PMAP_NEW up until this merge, use cvs
rlog of the old pmap.new.* files.
1999-06-17 00:22:41 +00:00
thorpej 5c9f5c95a4 Goodbye pmap.new.h 1999-06-17 00:12:40 +00:00
thorpej e2442268e9 PMAP_NEW is no longer optional on the i386; the old pmap's page table
allocation strategy no longer works at all.  Move pmap.new.* to pmap.*.

To read the revision history of PMAP_NEW up until this merge, use cvs
rlog of the old pmap.new.* files.
1999-06-17 00:12:10 +00:00
thorpej 01d1ebf115 Note that MCL_FUTURE is not yet fully implented in the BUGS section. 1999-06-16 23:32:17 +00:00
thorpej 9fdf52a910 Note POSIX 1003.1b-1993. 1999-06-16 23:30:28 +00:00
thorpej 6cb6c24690 The (incorrect) nesting behavior of mlock(2) no longer exists. 1999-06-16 23:14:59 +00:00
thorpej cf110d86e7 1.4D -- semantics of uvm_map_pageable() changed. 1999-06-16 23:10:51 +00:00
thorpej d1d9b366cd When unwiring a range in uvm_fault_unwire_locked(), don't call
pmap_change_wiring(...,FALSE) unless the map entry claims the address
is unwired.  This fixes the following scenario, as described on
tech-kern@netbsd.org on Wed 6/16/1999 12:25:23:

	- User mlock(2)'s a buffer, to guarantee it will never become
	  non-resident while he is using it.

	- User then does physio to that buffer.  Physio calls uvm_vslock()
	  to lock down the pages and ensure that page faults do not happen
	  while the I/O is in progress (possibly in interrupt context).

	- Physio does the I/O.

	- Physio calls uvm_vsunlock().  This calls uvm_fault_unwire().

	  >>> HERE IS WHERE THE PROBLEM OCCURS <<<

	  uvm_fault_unwire() calls pmap_change_wiring(..., FALSE),
	  which now gives the pmap free reign to recycle the mapping
	  information for that page, which is illegal; the mapping is
	  still wired (due to the mlock(2)), but now access of the
	  page could cause a non-protection page fault (disallowed).

	  NOTE: This could eventually lead to a panic when the user
	  subsequently munlock(2)'s the buffer and the mapping info
	  has been recycled for use by another mapping!
1999-06-16 23:02:40 +00:00
thorpej b861180119 * Rename uvm_fault_unwire() to uvm_fault_unwire_locked(), and require that
the map be at least read-locked to call this function.  This requirement
  will be taken advantage of in a future commit.
* Write a uvm_fault_unwire() wrapper which read-locks the map and calls
  uvm_fault_unwire_locked().
* Update the comments describing the locking contraints of uvm_fault_wire()
  and uvm_fault_unwire().
1999-06-16 22:11:23 +00:00
tron caca5dac34 Note that bebox and i386 use "/dev/rcd0d" instead of "/dev/rcd0c".
Fixes PR kern/7775 by Eric Mumpower.
1999-06-16 21:18:42 +00:00
is b5937495f5 Fix typo. 1999-06-16 20:47:57 +00:00
is 38f1211404 Add sanity check for MTU size in fragmentation required packets. 1999-06-16 20:43:48 +00:00
is 847d4766be Factor out common code in the fragmentation required branch. 1999-06-16 20:10:07 +00:00
thorpej 42c671ffba Modify uvm_map_pageable() and uvm_map_pageable_all() to follow POSIX 1003.1b
semantics.  That is, regardless of the number of mlock/mlockall calls,
an munlock/munlockall actually unlocks the region (i.e. sets wiring count
to 0).

Add a comment describing why uvm_map_pageable() should not be used for
transient page wirings (e.g. for physio) -- note, it's currently only
(ab)used in this way by a few pieces of code which are known to be
broken, i.e. the Amiga and Atari pmaps, and i386 and pc532 if PMAP_NEW is
not used.  The i386 GDT code uses uvm_map_pageable(), but in a safe
way, and could be trivially converted to use uvm_fault_wire() instead.
1999-06-16 19:34:24 +00:00
thorpej 23c6eb95d3 Remove a incorrect-and-no-longer-relevant comment. 1999-06-16 18:43:28 +00:00
thorpej 26879cb8fb Clean up some comments. 1999-06-16 17:43:49 +00:00
minoura ff8fb3ef82 Remove extra ]. 1999-06-16 17:25:39 +00:00
tron cf71eb8d35 Correct wrong conversion specifications in calls to syslog(3). 1999-06-16 16:34:29 +00:00