Commit Graph

47 Commits

Author SHA1 Message Date
chs ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
augustss 246260555f Use correct type for todo variable.
Use more explicit panics messages.
2000-12-08 02:25:50 +00:00
chs aeda8d3b77 Initial integration of the Unified Buffer Cache project. 2000-11-27 08:39:39 +00:00
ad 50cf734d26 (*minphys)() musn't return zero. 2000-09-29 13:27:12 +00:00
mrg 32aa199ccf remove include of <vm/vm.h> 2000-06-27 17:41:07 +00:00
thorpej bfca0515b2 __predict_false() uvm_useracc() failure. 2000-05-08 20:03:20 +00:00
simonb 9ff7681a33 Don't need to include <sys/conf.h> here. 2000-03-29 03:43:31 +00:00
thorpej 445e42d77a One small piece from UBC: create a pool for I/O buffers. One small piece
not from UBC: make physio use it instead of its own home-grown thing.
2000-02-14 20:12:02 +00:00
thorpej e3d3905ac7 Preserve B_ORDERED. 2000-01-21 23:21:46 +00:00
fvdl 0b1963121a Add Kirk McKusick's soft updates code to the trunk. Not enabled by
default, as the copyright on the main file (ffs_softdep.c) is such
that is has been put into gnusrc. options SOFTDEP will pull this
in. This code also contains the trickle syncer.

Bump version number to 1.4O
1999-11-15 18:49:07 +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
thorpej 701868a6c8 Pass the appropriate access_type to uvm_vslock() for the given physio
operation: B_READ == VM_PROT_READ|VM_PROT_WRITE, B_WRITE == VM_PROT_READ.
1999-05-26 01:08:03 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
kleink f69591d12d Use of casts as lvalues is a GNU C extension; rearrange slightly. 1999-02-10 17:03:26 +00:00
perry 275d1554aa Abolition of bcopy, ovbcopy, bcmp, and bzero, phase one.
bcopy(x, y, z) ->  memcpy(y, x, z)
ovbcopy(x, y, z) -> memmove(y, x, z)
   bcmp(x, y, z) ->  memcmp(x, y, z)
  bzero(x, y)    ->  memset(x, 0, y)
1998-08-04 04:03:10 +00:00
kleink fe2d01988e Fix some arithmetics lossage on typeless pointers. 1998-05-08 18:18:55 +00:00
thorpej 73863dd3c9 Pass vslock() and vsunlock() a proc *, rather than implicitly operating
on curproc.
1998-04-30 06:28:57 +00:00
mrg d90485202c - add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
mrg 1a8c7604f4 initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the rest of the MI portion changes.

this will be KNF'd shortly.  :-)
1998-02-05 07:59:28 +00:00
pk 153ccc307b Use PHOLD() and PRELE(), rather than manipulating p_holdcnt directly. 1997-05-19 10:43:28 +00:00
pk 7b9f9e5426 Check user access rights only if `uio_segflg' says it's a user space buffer. 1996-06-13 22:30:18 +00:00
christos 8a5b1b92e2 First pass at prototyping 1996-02-04 02:15:01 +00:00
mycroft ec64328797 Check for todo<0, done<0, and done>todo. 1995-10-10 02:51:45 +00:00
mycroft 80d7b0695a minphys() functions really should return void. 1995-08-12 20:30:45 +00:00
mycroft 605a125097 After an I/O operation completes, immediately set B_BUSY again. Also,
lower spl sooner, and remove an unneeded splbio()/splx() pair.
1995-07-27 02:37:12 +00:00
cgd b45221af72 prototype strategy and minphys, use & check minphys return value 1995-07-24 07:45:24 +00:00
mycroft 7263209ce6 Make each disk and tape driver define its own read and write functions.
Deprecate rawread() and rawwrite() completely.  Remove d_strategy from cdevsw to
force the abstraction barrier.
1995-07-04 07:15:28 +00:00
cgd cf92afd66e New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:29:24 +00:00
mycroft 6c5092484b Eliminate use of b_bufsize, and instead pass an extra arg to v(un)mapbuf(),
to be consistent with vs)un)lock().
1994-06-28 22:21:16 +00:00
mycroft ff2e6e12a2 Set b_bufsize after the minphys routine is called. 1994-06-26 06:08:11 +00:00
mycroft 507802da61 Set b_bufsize, for use by v{,un}mapbuf(). 1994-06-16 00:54:18 +00:00
mycroft 0d8affb278 Turn P_NOSWAP and P_PHYSIO into a hold count, as suggested by a comment. 1994-06-15 19:59:21 +00:00
cgd b3fda1e8ec update with merged versions 1994-05-20 10:05:02 +00:00
cgd 47d5757075 4.4-Lite versions 1994-05-20 10:04:05 +00:00
mycroft 495d3519fa HPUXCOMPAT -> COMPAT_HPUX 1994-05-04 04:02:54 +00:00
cgd 3dda0064a5 Convert mount, vnode, and buf structs to use <sys/queue.h>. Also,
some knf and structure frobbing to do along with it.
1994-04-21 07:47:31 +00:00
cgd 1758eaf2cb kill hack for vfs_bio jolitz-ish hack 1994-01-27 07:45:21 +00:00
mycroft 21edb9924e Canonicalize all #includes. 1993-12-18 03:59:02 +00:00
pk e7356e6993 Use proc pointer passed in uio rather then curproc for credentials (should
perhaps be done for b_proc also).
1993-12-16 16:28:43 +00:00
pk 644f409712 Properly initialize the credentials fields in the buffer used in physio().
Actually use the credentials of `curproc' when doing IO (among other things,
this allows us to read /dev/drum when swapping on an NFS mounted file).
1993-12-07 23:46:13 +00:00
cgd 76dbc1192b new specfs.h and fifo.h locations 1993-11-12 05:54:12 +00:00
cgd 98bb5ccd73 if mincnt returns 0 (i.e. off end of disk, or something), punt. 1993-07-08 10:53:40 +00:00
cgd 0ffdd71a7e mark the buffer busy immediately when we acquire it,
also, sleep at a slightly higher priority (so says mw...)
1993-07-08 10:29:26 +00:00
andrew 0e6cb953ea ANSIfications - removed all implicit function return types and argument
definitions.  Ensured that all files include "systm.h" to gain access to
general prototypes.  Casts where necessary.
1993-06-27 06:01:27 +00:00
mycroft 0ee0a87c29 Fix uninitialized variable. 1993-06-24 21:34:54 +00:00
cgd b2285d45d0 special case raw disk handling return values 1993-06-22 05:19:14 +00:00
cgd 0dde03704d use/add new physio... 1993-06-16 22:06:33 +00:00