Commit Graph

30717 Commits

Author SHA1 Message Date
mjl
fb7137cfd9 Regen 1999-06-19 18:49:34 +00:00
mjl
4e0161f8dc Regen 1999-06-19 18:17:14 +00:00
mjl
c32aeb153b Added NewMedia BusToaster SCSI Host Adapter 1999-06-19 18:16:07 +00:00
sommerfeld
1425b5931b Fix PR7761: clip overly large length rather than failing 1999-06-19 18:01:26 +00:00
ragge
656c580511 Don't try to disconnect SCSI disks. From Michael Kukat.
Now DEC disks also works in VAXstations :-)
1999-06-19 15:46:05 +00:00
augustss
d98b0bd725 Regen. 1999-06-19 04:51:42 +00:00
augustss
0650293580 Add Sony CXD 1947A FireWrire Controller and Neomagic 128XD. 1999-06-19 04:49:52 +00:00
thorpej
72fcd1784e Fix a typo. 1999-06-19 00:11:17 +00:00
augustss
0e64bf3732 Add ess to isa attachment. The entry is commented out for the moment since
I'm not sure how accurate the probe is.
1999-06-18 20:27:59 +00:00
augustss
a6a09bcdd6 Add support for ES18[67][89]. From PR #7427 by AW9K-NNK@asahi-net.or.jp,
Nonaka Kimihiro.
1999-06-18 20:25:23 +00:00
thorpej
51867fc227 When sending an ARP reply, make sure to set the length of the outgoing
packet.

Slightly modified from PR #7809, Zdenek Salvet <salvet@ics.muni.cz>.
1999-06-18 18:20:50 +00:00
thorpej
43ddb951ea Whitespace police. 1999-06-18 18:11:56 +00:00
thorpej
471cb34fb2 Fix a harmless typo. 1999-06-18 18:08:52 +00:00
thorpej
041cfb14aa Fix that ANNOYING transmit timeout bug, caused by an unfortunate interaction
between a bug in the receive path (buffer length used instead of actual
received frame length) and the ARP code not correctly setting the length
of the reused mbuf, which all told caused the transmit logic in the chip
to wedge.

Also, make sure to count received packets.

Found and fixed by Zdenek Salvet <salvet@ics.muni.cz>, PR #7809.
1999-06-18 17:44:06 +00:00
minoura
170b78e476 Reduce TLB operations. 1999-06-18 14:27:09 +00:00
nisimura
1c949badf4 - Fix an large error I made last month in TLB mod improvement, still
wondering why not I was immediately blown away.
- Continuing invastigations on VM related panics on very high loads.
1999-06-18 08:17:50 +00:00
leo
bfdcd7d519 Update pmap_check_wiring(). Also attach TNF copyright because of the
pmap_remove_mapping() changes.
1999-06-18 07:13:16 +00:00
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
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
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
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
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
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
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
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
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
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