Commit Graph

1053 Commits

Author SHA1 Message Date
abrown 062b2cdd6b Fix unused variable warning for an "int i" left over from the old disk
statistics code.
1996-07-24 16:13:04 +00:00
thorpej aba7675464 In extent_alloc_subregion(), don't adjust the initial boundary check
value if we're not concerned with boundary checking.  Avoids a stupid
infinite loop.
1996-07-23 23:09:10 +00:00
explorer 67b1de765f Add compile-time and run-time control over automatic niceing 1996-07-17 21:54:04 +00:00
thorpej 0462d3063c Remove old-style disk instrumentation code. 1996-07-12 22:00:42 +00:00
jtc f9a9b2e372 Used signed instead of unsigned longs for sec and usec variables to
handle cases which would otherwise yeild wildly wrong results.
1996-07-11 00:09:29 +00:00
cgd 1c5ea3c014 print difference between pointers with %ld, so that -Wformat works
on the Alpha and for consistency.  Also, other minor formatting cleanups.
1996-07-10 18:15:22 +00:00
chuck 9c9676883e add native mode atm protocol layer 1996-07-04 03:16:56 +00:00
pk 947ec65105 sunos_compat: return EIO when TIOCGPGRPing a half-open pty. This is
expected by SunOS pty-allocating programs (telnetd,rlogind,..).
1996-07-02 21:19:02 +00:00
mycroft 8ea2fc5788 Regen. 1996-06-23 11:08:01 +00:00
mycroft 351bdbd445 Implement setre[ug]id() compatibly with 4.3BSD, SunOS, and Linux. 1996-06-23 11:04:11 +00:00
thorpej 6041e29f1f My extent map manager. Sort of like resource maps, but more flexible.
Understands allocation aligment and boundary restrictions, "specific region"
allocations, and suballocations.  Capable of statically or dynamically
allocating map overhead.

Many thanks to Matthias Drochner for running the code for me, and sending
me bug fixes, optimizations, and suggestions.  Also, many thanks to
Chris Demetriou for his extremely helpful suggestions.

XXX No manual page yet.  One is forthcoming, as soon as I can scare up
the time to write one.  This has been sitting on my plate for quite a
while, and several projects are waiting for it.  Time to move on.
1996-06-23 00:10:08 +00:00
mycroft 506cefab8c In the sync case of bwrite(), move the accounting earlier so that so that the
delayed write is logically converted to a sync write, mirroring the async case.
In bdwrite(), move the tape case earlier to avoid needless reassignbuf()s.
1996-06-18 20:50:23 +00:00
pk b298c40fbe Call reassignbuf() at splbio in bdwrite(). 1996-06-17 22:21:31 +00:00
cgd d73abf41aa avoid unnecessary checks of m_get/MGET/etc.'s return values. When
they're called with M_WAIT, they are defined to never return NULL.
1996-06-14 22:21:12 +00:00
christos e2e0f65050 Merge pagedvn changes from OpenBSD and added mips defines. Also added
ELF_MAP_PAGE_ZERO define. The entry point computation is different than
the one OpenBSD uses.
1996-06-14 18:15:55 +00:00
jtc 2074cccbb8 Cast `sec' to a u_quad_t in `sec * 1000000 + usec' so the expression
is computed with quad integer arithmetic (so it won't overflow after
4294 seconds).
1996-06-13 23:22:22 +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 306987eb37 - Pass the Elf exec header in the emulation dependent probe functions.
- remove static from elf_read_from().
1996-06-13 18:35:25 +00:00
cgd 1abc77f86d if kmem_malloc() fails while trying to allocate an mbuf cluster, try
and free some space by calling m_reclaim().  Also, log the "mb_map full"
error message (at most) every 60-seconds.  The old code would log it
once over the lifetime of the system, but that's not a useful diagnostic.
(More useful is the new behaviour, which roughly indicates how often
periods of heavy load occur, without spamming the console and system
logs with messages.)
1996-06-13 17:02:23 +00:00
cgd 06c209646e handle the case where kmem_malloc() returns NULL in the 'can wait' case.
Right now, this code just panic()s (same as kmem_malloc() used to do
before, but different message), but in the future it should be modified
to try to reclaim wasted memory.
1996-06-13 16:53:34 +00:00
cgd f41d0a3d9b in select(), if it's a small number of file descriptors use a
automatic array rather than an array allocated with alloca().
(This was the only use of alloca() in the kernel, and it wasn't
necessary or consistent with the way other functions in this file
work.)
1996-06-13 05:08:47 +00:00
cgd 1e2b610d5a #ifdef __alpha__, call a machine-dependent function with new device
structure and 'aux', right before ca_attach is called for the
newly-attached device.  This allows the alpha port to do root device
autodetection without modifying every bus and device driver which could
be in the 'boot path.'  In the long run, it may make sense to make
this machine-independent.
1996-06-13 04:50:29 +00:00
pk 50e7d72655 Protect vnode when updating for started IO on buffers. 1996-06-11 11:15:36 +00:00
briggs 0a55dbede5 Do not declare tickfixcnt ifdef NTP. 1996-06-09 04:51:03 +00:00
cgd 57b8bdb5c3 Fix a bug where free()ing an already-free block, or even a block that looked
like it might have already been freed, would cause a crash because of a bad
pointer dereference.  Pointed out by Brian Noble <bnoble@cs.cmu.edu>.
1996-06-06 19:13:32 +00:00
mrg 8def9fa734 don't tty_detach() in ttyfree(). make the user of ttyfree() do
the tty_detach() as not all ttymalloc()'ed ttys are tty_attach()ed.
1996-06-06 15:31:24 +00:00
mrg b9c4c21d8e add a comment on how to use tty_attach(). 1996-06-04 13:59:10 +00:00
mycroft abfbe7c6c4 Deal with FD_SETSIZE larger than the default. 1996-06-02 14:48:23 +00:00
jtk ef561b71a7 print out file systems being unmounted, #ifdef DEBUG. pr#1492 1996-06-01 20:24:05 +00:00
mrg a715717750 now that tty.h has queue.h, we do not need it here. 1996-05-31 00:03:05 +00:00
cgd 2fc4279f35 a few minor KNF nits 1996-05-30 23:43:31 +00:00
mrg 13eaf2e29b check tty_count first (from cgd). 1996-05-30 23:32:33 +00:00
mrg ade39d6cb2 call tty_init(). 1996-05-29 19:10:16 +00:00
mrg 5583238255 impliment ttylist stats based on disk stats. 1996-05-29 02:02:42 +00:00
mycroft 4c8302e0f4 Oops. Add missing label. 1996-05-23 17:07:03 +00:00
mycroft 8d0a82819c We can only get a control mbuf for PRU_SEND or PRU_SENDOOB. Add diagnostic
code to panic in this case.
1996-05-23 16:49:08 +00:00
mycroft 5288bfd58b Make sure the control and data mbufs are freed in all cases. 1996-05-23 16:41:49 +00:00
mycroft 03232fb1f2 Separate some code into separate functions.
Make unp_addr be a pointer to the sockaddr, not to the mbuf, as with raw
sockets.
Other minor cleanup.
1996-05-23 16:03:45 +00:00
mycroft 08cc6b486f And PRU_SEND. 1996-05-22 19:06:07 +00:00
mycroft b85e5d8f5e PRU_CONNECT also needs a proc pointer. 1996-05-22 19:00:52 +00:00
mycroft 49d52c9b1c Pass a proc pointer down to the usrreq and pcbbind functions for PRU_ATTACH, PRU_BIND and
PRU_CONTROL.  The usrreq interface really needs to be split up, but this will have to wait.
Remove SS_PRIV completely.
1996-05-22 13:54:55 +00:00
mycroft 627bb9bd50 Remove bogus comment in setgid(). 1996-05-22 02:22:47 +00:00
mrg 92292a798d initialise securelevel to zero to allow it to be patchable. this is _not_ a security issue. 1996-05-20 17:49:05 +00:00
jonathan 950ec8ffb3 Remove unused locals "struct ecoff_filehdr *efp = &execp->f;". 1996-05-19 20:36:06 +00:00
jonathan 431ae5d022 Add line discipline code, initialization, and config support for MosquitoNet's
Metricom Ricochet starmode-radio-IP driver.
1996-05-19 17:17:50 +00:00
pk bcc0cb3fa0 Don't touch retval[] in socketpair(); manual page says this system call
return 0 on success (PR#2428).
1996-05-17 22:45:32 +00:00
tls 3052b5a949 fix obscure problem involving ptrace of init 1996-05-15 06:17:47 +00:00
mycroft 9401257bde Regen. 1996-05-11 18:30:39 +00:00
mycroft 261382c331 Change VOP_UPDATE() semantics:
* Make 2nd and 3rd args timespecs, not timevals.
* Consistently pass a Boolean as the 4th arg (except in LFS).
Also, fix ffs_update() and lfs_update() to actually change the nsec fields.
1996-05-11 18:26:27 +00:00
cgd 3b4db01a70 update for new exec_ecoff.h header, clean up a bit (KNF + changes similar
to those made in the header).
1996-05-09 23:44:44 +00:00
mycroft 584810c846 Implement futimes(). 1996-04-23 10:29:02 +00:00
mycroft 7ee33b9890 Regen. 1996-04-23 10:27:28 +00:00
mycroft af747826c6 Add futimes(), at position 206. 1996-04-23 10:24:21 +00:00
christos 4ef330b934 remove include of <sys/cpu.h> 1996-04-22 01:38:12 +00:00
thorpej e408d7413a Fix __sysctl() to return the proper value to the caller, to match
documented behavior.  sysctl(3) is documented to return 0 on success,
-1 on failure.  The previous behavior was to return -1 on failure
and the number of bytes copied back down to user space.
Fixes part of PR #1999, from Kevin M. Lahey <kml@nas.nasa.gov>
1996-04-12 23:21:37 +00:00
ragge 62b2afac2d Removed a function that were #ifdef vax'ed. 1996-04-09 17:21:56 +00:00
cgd fbce6d4468 Make config_found_sm() (and therefore config_found()) and config_rootfound()
return a struct device * of attached device, or NULL if device attach failed,
rather than 1/0 for success/failure, so that code that bus code which needs
to know what the child device is doesn't have to open-code a hacked variant
of config_found().  Make config_attach() return struct device *, rather than
void, to facilitate that.
1996-04-04 06:06:18 +00:00
cgd e3c70ced5f call config_init() before autoconfiguration, to initialize alldevs and
allevents lists.
1996-04-04 00:26:28 +00:00
cgd 8c248b98cc change 'struct device' and 'struct evcnt' lists (alldevs and allevents) to
be TAILQ's.  TAILQ_HEAD's of those structs are now 'struct devicelist' and
'struct evcntlist', respectively.
1996-04-04 00:25:44 +00:00
christos 96776962f7 Fix PR2277; make lkmenodev() be the same type as enodev(). 1996-03-31 21:40:27 +00:00
christos 8b63c1fbac Goodbye kern_conf.h 1996-03-30 22:26:30 +00:00
christos e2d37158ba Change %r -> %: as for recursive printf's 1996-03-30 22:25:18 +00:00
christos 87a65718ea Eliminate kern_conf.h 1996-03-30 22:24:38 +00:00
christos 0babd67cbc Fix db_printf formats. 1996-03-30 22:23:18 +00:00
christos 174916004d Fix another printf format warning. 1996-03-29 01:55:12 +00:00
cgd f92325cf2f kill unnecessary (and sometimes dangerous) casts of ioctl commands to int 1996-03-29 00:25:30 +00:00
thorpej 44dcfee5ea Move an #ifdef FIFO so this compiles on a SPARC (-Wall) if FIFO is not
defined.
1996-03-22 06:51:04 +00:00
fvdl 6c53a8d22f Remove previously introduced bug: always make sure mappings of a removed
file don't stick around.
1996-03-18 23:06:08 +00:00
pk bf834e7def Remove extraneous argument from sysctl_doprof().
Fix a printf format.
1996-03-17 02:44:40 +00:00
thorpej 532e997971 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 00:57:14 +00:00
christos c9e746a335 Fix printf() formats. 1996-03-16 23:17:04 +00:00
mycroft 6b1f642521 Calculate the equivalent of `SHIFT_HZ' at run time, in initclocks(). 1996-03-15 07:56:00 +00:00
cgd 1b7b5cb771 support nested #if/#else/#endif sets, to allow ULTRIX compat code to handle
Mips ULTRIX and VAX ULTRIX from the same syscall table.
1996-03-15 01:25:12 +00:00
christos e79beaff89 - fdopen -> filedescopen
- bring kgdb prototype in scope.
1996-03-14 19:01:08 +00:00
mycroft 65bd075be8 Reran makesyscalls.sh. 1996-03-08 21:05:40 +00:00
mycroft 79bb0bd2c7 Move an assignment inside #ifdef NTP. 1996-03-08 06:27:30 +00:00
christos 4a43afe50f - Make things compile cleanly after the NTP additions.
- Remove unused variables in exec_ecoff.c
1996-03-07 14:31:16 +00:00
cgd a8804b9fb4 Do not build vnode_if.[ch] for each kernel. Build them once, like the
various syscall sources/headers, and just compile them.  From PR 2142, OK'd
by mycroft.  (These are now generated files.)
1996-02-29 21:01:12 +00:00
cgd 3d67685d36 Do not build vnode_if.[ch] for each kernel. Build them once, like the
various syscall sources/headers, and just compile them.  From PR 2142, OK'd
by mycroft.
1996-02-29 20:54:58 +00:00
mycroft d66ea3596c Add dependency for syscallargs.h. 1996-02-29 16:02:30 +00:00
jonathan 1f6d8c1c1f Fix for PR kern/2140: a typo in the nested CPP if/else/endif caused
SHIFT_HZ to be undefined for values of HZ other than 64.
1996-02-29 02:48:53 +00:00
cgd c6a9e56518 Replace config_found() with config_found_sm(), which adds a cfmatch_t to the
argument list.  This allows easy 'submatching', which will eliminate a fair
bit of slightly tricky duplicated code from various busses.  config_found()
is now a #define in sys/device.h, which invokes config_found_sm().
1996-02-27 21:45:46 +00:00
jonathan e7ef034c05 Add NTP kernel precision timekeeping from Dave Mill's xntp distribution
and the "kernel.tar.Z" distribution on louie.udel.edu, which is older than
xntp 3.4y or 3.5a, but contains newer kernel source fragments.

This commit adds support for a new kernel configuration option, NTP.
If NTP is selected, then the system clock should be run at "HZ", which
must be defined at compile time to be one value from:
  60, 64, 100, 128, 256, 512, 1024.

Powers of 2 are ideal; 60 and 100 are supported but are marginally less
accurate.

If NTP is not configured, there should be no change in behavior relative
to pre-NTP kernels.

These changes have been tested extensively with xntpd 3.4y on a decstation;
almost identical kernel mods work on an i386.  No pulse-per-second (PPS)
line discipline support is included, due to unavailability of hardware
to test it.

With this in-kernel PLL support for NetBSD, both xntp 3.4y and xntp
3.5a user-level code need minor changes. xntp's prototype for
syscall() is  correct for FreeBSD, but not for NetBSD.
1996-02-27 04:20:30 +00:00
cgd c0cdc0cf04 when printing data modified on the free list:
(1) do not cast it to (void *), and
	(2) print it as 0x%x, rather than %p.
This is not perfect (because the data being printed is "int32_t"-sized), but
is more correct than printing it as a pointer because the data is _not_ a
pointer, it is data to be printed in hex, and on some systems, pointers are
wider than the data items being printed, which leads to excess and misleading
output.  The only 'right' solution to this is to have a printf specifier
that prints the fixed-sized types the right way, and that's not really
practical.
1996-02-20 23:56:16 +00:00
fvdl 56a654e17f Changes for NVSv3 code: pull in more NFS include files into kern_time.c
to get types right (overkill for just one function call, but oh well).
Clear B_NEEDCOMMIT in bdwrite().
1996-02-18 11:57:06 +00:00
christos 20df3b41ab uipc_proto.c: No need for the forward decls anymore; everything is prototyped.
kern_time.c: add header to get the NFS prototypes if needed.
1996-02-13 21:10:43 +00:00
christos 09afd77655 More proto fixes 1996-02-09 18:59:18 +00:00
mycroft 06a1236be9 Rearrange the locking in sys_unlink(), more like nfsrv_remove(). 1996-02-09 15:39:12 +00:00
mycroft 53fccab940 Fix vop_link, vop_symlink, and vop_remove semantics in several ways:
* Change the argument names to vop_link so they actually make sense.
* Implement vop_link and vop_symlink for all file systems, so they do proper
  cleanup.
* Require the file system to decide whether or not linking and unlinking of
  directories is allowed, and disable it for all current file systems.
1996-02-09 14:45:36 +00:00
fvdl d6b5a89f90 Use a default, 'safe' address to map the loader to in case the an emulation-
specific probe function did not specify it. It picks the same address
as mmap() does for a non-fixed map at address 0. See also the comment
around a similar line of code in vm/vm_mmap.c.
1996-02-09 13:25:54 +00:00
mycroft bf6bf23e7b If parent is in ppwait, wake it up early to prevent deadlock. 1996-02-09 01:19:21 +00:00
mycroft 7366dec9ec No need for LOCKPARENT in sys_lstat(), and eliminate dead variables. 1996-02-08 02:54:20 +00:00
jtc d9d402d0fb Revert to sane symlink semantics. This something we should have done
long ago.  Fixes many PRs.
1996-02-07 16:55:56 +00:00
pk 00acf2040e unp_detach() return type botch. 1996-02-04 20:32:15 +00:00
christos 4aea4494ff new files... 1996-02-04 02:19:27 +00:00
christos e630447d8c First pass at prototyping 1996-02-04 02:17:43 +00:00
christos cc3c2e69cd First pass at prototyping 1996-02-04 02:17:39 +00:00
christos 8a5b1b92e2 First pass at prototyping 1996-02-04 02:15:01 +00:00
christos df9a562f20 Removed tty_compat.c; it is part of the kernel compat library... 1996-02-02 18:49:42 +00:00
mycroft bb7cccd06d Do the previous change a little differently. 1996-02-02 07:49:52 +00:00