cgd
6f5b5cefc7
make the check_header and load_file functions static
1996-09-30 23:02:14 +00:00
ws
0d59d2eb20
Enter new KGDB on panic just like other kernel debuggers
1996-09-30 17:32:01 +00:00
cgd
fea9aa2096
clean up a comment (in code derived from the a.out code, where i cleaned
...
up the comment earlier).
1996-09-27 03:38:27 +00:00
cgd
2f42e5b8ed
fix some typos and clean up some comments.
1996-09-26 23:34:46 +00:00
cgd
0e097578a2
add and use a machine-dependent header, which currently defines some
...
macros to use to remove #ifdefs from the machine ID case check.
Eventually, these headers will contain other information, e.g.
machine-dependent relocation information, etc.
1996-09-26 21:50:55 +00:00
cgd
79bd41b179
add support and reorganize for 64-bit ELF, included by EXEC_ELF64
...
option. (Also, make EXEC_ELF32 option a way to explicitly include
32-bit ELF support.)
1996-09-26 20:51:03 +00:00
christos
3f15a06497
Recognize %.2x as %02x
1996-09-25 21:03:06 +00:00
cgd
80c82b8766
rename exec_elf.c to exec_elf32.c, since it execs 32-bit ELF. exec_elf32.c
...
was copied from exec_elf.c on the CVS server to keep the logs intact.
1996-09-20 22:33:23 +00:00
jtc
16fe807b60
renamed sys_getlogin to sys___getlogin. required by libc namespace conventions
1996-09-19 04:52:12 +00:00
thorpej
0d3a57ea3f
Add COMPAT_M68K4K to the exec switch.
1996-09-10 22:05:03 +00:00
mycroft
7cbc74f45c
Use INFTIM, not -1.
1996-09-07 21:47:23 +00:00
mycroft
1449e67e30
Modify poll(2) prototype.
1996-09-07 14:20:09 +00:00
mycroft
07d2eae876
Regen.
1996-09-07 14:18:04 +00:00
mycroft
cdd2b02b50
Modify poll(2) prototype.
1996-09-07 14:16:42 +00:00
mycroft
264dd4757c
Regen.
1996-09-07 12:56:49 +00:00
mycroft
2bc736661a
Implement poll(2).
1996-09-07 12:40:22 +00:00
mycroft
59f71c45fc
Clean up sys_select() slightly.
1996-09-05 15:32:52 +00:00
mycroft
af113f915d
Use SET(), CLR(), ISSET().
1996-09-05 15:31:40 +00:00
mycroft
b3eac79b64
tty stop functions really should return void, not int, and certainly not both.
1996-09-02 06:43:16 +00:00
christos
da17295d91
Calling shmdt(2) before calling shmat(2) would crash the system because
...
p->p_vmspace->vm_shm would be NULL. Protected the rest of the cases where
that might happen too. This was the reason why sunxdoom would panic the
system in SVR4 emulation.
1996-09-01 22:53:06 +00:00
mycroft
de1c962824
Don't core dump if ruid != euid or rgid != egid.
1996-09-01 01:56:10 +00:00
cgd
f8ed933394
implement realloc(), just like the user-land version, except it takes
...
"type" and "flags" arguments a la kernel malloc().
1996-08-27 20:01:42 +00:00
cgd
d7083cda8d
update so that SYSCALL_DEBUG works again. s/nosys/sys_nosys/g.
...
(It must not have been used for a long time!)
1996-08-20 22:00:36 +00:00
explorer
a9ef8aef84
This fixes a nasty little bug where traceroute (and other raw-ip sending
...
programs which attach their own header) can crash the machine. The problem
in this case was:
a variable "space" was set to the total data to copy,
len was used to remember how much to copy in this chunk (mbuf),
in one case, len = min(MCLBYTES - max_hdr, resid) but
size -= MCLBYTES;
instead of
size -= len;
Note that userland programs can still crash the machine by providing
bogus data in the ip->ip_len field I suspect. I haven't verified this,
but will soon be doing so and applying a fix of some sort. Probably
clamping the ip->ip_len value to the true packet size will be ok.
1996-08-14 05:53:18 +00:00
explorer
1177a1fc69
formatting fix only
1996-08-14 05:43:35 +00:00
explorer
13659c5c84
spelling error only
1996-08-14 05:43:19 +00:00
thorpej
d719cb7901
Inside some DIAGNOSTIC code, cast some pointer arithmetic results
...
to long to quiet the compiler.
1996-08-13 23:25:10 +00:00
mrg
cd658e4447
oops, need to copyinstr() here. how come it worked anyway?
1996-08-11 04:05:33 +00:00
mrg
72bad48e62
implement RB_STRING, derived from SunOS, via compat_sunos.
1996-08-10 00:23:14 +00:00
mrg
5abbf990f3
Change reboot(2) to take two arguments: bootopt like normal and also
...
a boot string for firmware that can do this, such as the SPARC and
the sun3 models. It is currently silently ignored on all other
hardware now, however. The MD function "boot()" has been changed to
also take a char *.
1996-08-09 10:30:23 +00:00
thorpej
3946240709
Fix unititialized variable warning. Pointed out by Aaron Brown.
1996-07-25 20:41:48 +00:00
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
jtc
e19bfae4f9
Rename struct timespec fields to conform to POSIX.1b
1996-02-01 00:18:04 +00:00
mycroft
99686e0059
Add a vnode** argument to getvnode(), prototype it, and make it return
...
EBADF if the file descriptor has been revoked.
1996-01-30 20:05:33 +00:00
mycroft
436d930db5
Use insmntque() rather than manually frobbing the mount list.
1996-01-30 18:21:08 +00:00
cgd
6ffadcadf6
fix off-by-one error in tickfix code. (should increment when count >=
...
interval, because count goes from 0->(interval-1) to count interval
ticks.)
1996-01-17 04:37:31 +00:00
fvdl
961c294fd5
* Don't rely on the protection bits of segments anymore to decide whether
...
it's text or data; use the entry point instead (this solves some trouble
with ELF executables with strange permissions)
* Incorporate some fixes from r_friedl@informatik.uni-kl.de sent to
netbsd-bugs a while ago
1996-01-16 23:07:18 +00:00
pk
ba8a7101f0
Correct test for ECHONL (from der Mouse; PR#1922).
1996-01-10 20:52:27 +00:00
thorpej
5b39541e48
New generic disk framework. Highlights:
...
- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.
- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.
- Several new functions for attaching and detaching disks, and
handling metrics calculation.
Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.
For usage and architectural details, see the forthcoming disk(9) manual
page.
1996-01-07 22:01:38 +00:00
jtc
2fce159ff8
Changed name of sigaltstack's ss_base field to ss_sp to match XPG4.2 and
...
traditional usage.
1996-01-04 22:21:33 +00:00
thorpej
17eb6e2bc1
Move the old-style disk instrumentation "structures" to a central location
...
(sys/kern/subr_disk.c) and note that they should/will be deperecated.
1995-12-28 19:16:31 +00:00
mycroft
f597a53319
Remove the process from zombproc and its parent's child list before freeing
...
its resources.
1995-12-24 11:23:33 +00:00
mycroft
f183fc14f7
If __FORK_BRAINDAMAGE, continue stuffing retval[1] for the benefit of main().
1995-12-10 08:26:02 +00:00
cgd
6652367efa
(1) undef various EXEC_ cpp symbols before defining them, in case
...
they're already defined for some reason (this can happen
on the alpha, for example, which needs to define EXEC_ECOFF
in the std.alpha config file).
(2) minor spacing consistency.
1995-12-09 05:34:47 +00:00
mycroft
af942a9add
Only expect vm_fork() to return if __FORK_BRAINDAMAGE is defined.
...
Use splstatclock() rather than splhigh() in one place.
Eliminate unused third arg to vm_fork().
1995-12-09 04:23:07 +00:00
mycroft
bcd91943f8
Remove unused third arg to shmfork().
1995-12-09 04:12:56 +00:00
mycroft
feb42498e3
If we abort, make sure to free ep_emul_arg.
1995-12-09 04:11:00 +00:00
mycroft
00be80b604
Add a limfree(), and use it.
1995-12-09 04:09:32 +00:00
mycroft
27b9d9f436
Eliminate an extra variable.
1995-12-09 04:07:41 +00:00
mycroft
65806fd730
When converting from termios to sgtty, if RAW is set, use the previous\
...
settings of LITOUT and PASS8, since these cannot be determined from the\
termios modes.
1995-12-07 00:53:29 +00:00
thorpej
a5d3f68110
Add hooks for COMPAT_HPUX.
1995-11-28 08:07:25 +00:00
cgd
b69dc1f62c
move ../sys/syscallargs.h out of the way when making new version,
...
just like we do for init_sysent.c, syscalls.c, and ../sys/syscall.h.
1995-11-22 23:11:32 +00:00
cgd
a321588516
update for new syscalls.master
1995-11-22 23:09:26 +00:00
cgd
a2ce90f34c
change definition of profil() to make it 64-bit friendly. This has
...
no practical consequence on 32-bit systems. old prototype was
int profil(char *, int, int, int), and new one is int profile(char *,
size_t, u_long, u_int). the size_t is the size of the buffer,
and the u_long is the 'starting offset'. (I changed the last int
to u_int, because it's treated as a u_int everywhere, and isn't
logically a signed value.)
1995-11-22 23:07:19 +00:00
mycroft
7edc899fdd
ffs -> ufs
1995-11-11 22:00:15 +00:00
gwr
dd962ebbf6
Make sys_mount accept "ufs" as an alias for "ffs"
1995-11-07 22:41:02 +00:00
christos
16c4374c1f
Make the ktrace code emit a record that indicates the current emulation
...
every time there is an attach or detach event.
1995-10-22 00:35:06 +00:00
mycroft
ec64328797
Check for todo<0, done<0, and done>todo.
1995-10-10 02:51:45 +00:00
mycroft
5a44558c93
Reran makesyscalls.sh.
1995-10-10 01:33:26 +00:00
mycroft
44a38d8470
Add aliases for all compat functions.
1995-10-10 01:32:53 +00:00
mycroft
2dd293d3c3
Add hooks for COMPAT_FREEBSD, from Noriyuki Soda.
1995-10-10 01:26:36 +00:00
thorpej
c819cd372d
In lkmioctl(), disallow LMRESERV, LMLOADBUF, LMUNRESRV, LMREADY,
...
and LMUNLOAD if securelevel > 0. From Matthew Green <mrg@eterna.com.au>
1995-10-10 00:23:20 +00:00
mycroft
55c46e9514
Reran makesyscalls.sh.
1995-10-07 06:41:34 +00:00
mycroft
245f292fed
Prefix names of system call implementation functions with `sys_'.
1995-10-07 06:25:19 +00:00
mycroft
2d9aa901e9
Write core dumps with mode 0600.
1995-10-06 16:12:05 +00:00
mycroft
62f5268325
Fix oversight in previous.
1995-10-05 08:50:02 +00:00
mycroft
9806359967
Make PARENB depend on RAW and ANYP, but not on LITOUT or PASS8.
1995-10-05 08:38:55 +00:00
mycroft
1c5d240ffa
Make PASS8 = !ISTRIP and LITOUT = !OPOST, if CSIZE is CS8.
1995-10-05 02:45:06 +00:00
mycroft
f5f86fc38b
Fix type errors.
1995-10-05 01:42:22 +00:00
mycroft
210951a875
Switch to using SET(), CLR(), and ISSET() macros, like tty.c.
1995-10-05 01:35:07 +00:00
thorpej
42c10934c1
Fix typo in declaration of exit(), pointed out by Chris Demetriou.
1995-09-27 20:26:51 +00:00
cgd
08cae70f24
fix annoying but non-critical rounding but in ttyinfo(). (If
...
microseconds goes over 10^6 when rounding, increment seconds.)
1995-09-22 00:11:35 +00:00
thorpej
60024eb978
Make system calls conform to a standard prototype and bring those
...
prototypes into scope.
1995-09-19 21:40:36 +00:00
thorpej
1f5a887dbf
makesyscalls.sh changed
1995-09-19 21:31:49 +00:00
thorpej
70bf3eea21
Emit prototypes for system call functions and append them to the
...
`syscallargs' header file.
1995-09-19 21:28:56 +00:00
thorpej
7f6d48201f
s/memcmp/bcmp/
1995-09-16 00:28:08 +00:00
ws
166530c153
Distribute cache entries more evenly
1995-09-08 14:15:07 +00:00
mycroft
873ed30f83
so_pcb should be a void *.
1995-08-17 02:57:20 +00:00
mycroft
a87c08a36e
Access rights are now stored in MT_CONTROL mbufs. Document this.
1995-08-16 01:03:19 +00:00
mycroft
0ecd5256ad
Allocate PCBs with malloc(), more mgetclr(). Be more careful to free the
...
PCB after it's done with.
1995-08-16 00:29:50 +00:00
mycroft
d23236204d
When resetting a signal, change ps_sigact, just to be sure.
1995-08-14 06:07:55 +00:00
mycroft
5c03d498db
Fix typos.
1995-08-14 01:47:03 +00:00
mycroft
2e95cf3d31
Implement SA_RESETHAND and SA_NODEFER.
...
Only return SA_NOCLDSTOP in the sigaction struct for SIGCHLD.
Rename ss_flags bits.
1995-08-13 22:53:59 +00:00
mycroft
36a94a031a
Lock the process in core before operating on it.
1995-08-13 09:05:51 +00:00
mycroft
5482957905
splnet --> splsoftnet
1995-08-12 23:59:09 +00:00
mycroft
80d7b0695a
minphys() functions really should return void.
1995-08-12 20:30:45 +00:00
thorpej
0f77910137
Add and document a `kern.rawpartition' sysctl.
1995-08-04 18:36:08 +00:00
cgd
32b4385a97
fix bug pointed out by, and do the cleanup suggested by
...
Alasdair Baird <alasdair@wildcat.demon.co.uk>. From pr 1301.
1995-08-02 22:01:46 +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
e9d17d38b5
avoid unnecessary aging of buffers. This used to make sense, when buffer
...
caches were much smaller, but makes little sense now, and will become more
useless as RAM (and buffer cache) sizes grow. Suggested by Bob Baron.
1995-07-24 21:19:27 +00:00
cgd
b45221af72
prototype strategy and minphys, use & check minphys return value
1995-07-24 07:45:24 +00:00
mycroft
73d0d3717e
Don't toss out tty stop signals if we're being traced.
1995-07-24 03:18:42 +00:00
christos
7de0fcfd12
Add KTR_EMUL to indicate a switch between syscall emulations.
...
Currently this record is emitted only on exec. Maybe it should
be emitted on ktrace() attach too.
1995-07-19 15:19:08 +00:00
cgd
f5bbdfba41
bdwrite() should upgrade writes to tape devices by sending them to
...
bawrite(). it's logically more correct (doesn't return an error code,
because it's async; bdwrite is also async), it still writes things
in-order, it makes sure the proper accountins is done (see the
wasdelayed cases in bwrite()), and it allows writes to vnodes on volumes
mountd with the MNT_ASYNC to be converted into delayed writes the way
God, err, Kirk intended. Convert synchronous bwrite()s on MNT_ASYNC
file systems to delayed writes.
1995-07-12 07:56:31 +00:00
cgd
9c3fe30d92
fix long-standing XXX in getblk(): NFS does funky things (somewhat
...
explained in comments), which can cause a race condition. amazingly,
the _only_ time i've ever seen or heard of this problem was in some
comments and sources by Rick Macklem, and when running against the
a DEC OSF/1 NFS server running on an Alpha.
1995-07-12 07:39:00 +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
mycroft
083ba962e2
Oops; need fcntl.h.
1995-07-03 16:58:38 +00:00
mycroft
9a4505cb89
Close routines take file flags, not I/O flags. Fix two incorrect usages.
1995-07-02 18:13:02 +00:00
christos
1654fca494
Remove unused define
1995-06-30 02:57:20 +00:00
cgd
3748c1aef7
try to insure that the 'default' address for shm segments is the same
...
from process to process. It apparently is on SysV systems, and some
programs depend on this. Suggested by John Birrell <jb@werple.mira.net.au>.
1995-06-29 11:43:17 +00:00
christos
1a5a3c9199
Extracted all of the compat_xxx routines, and created a library [libcompat]
...
for them. There are a few #ifdef COMPAT_XX remaining, but they are not easy
or worth eliminating (yet).
1995-06-24 20:33:55 +00:00
fvdl
8ef93cbcf5
Generic mi ELF loader; delete Linux and Svr4 compat conf entries and
...
add generic ELF entry to exec_conf.c
1995-06-22 21:29:47 +00:00
cgd
3176641085
fix pr 1128; change vfs_bufstats defn from DIAGNOSTIC - > DEBUG
1995-06-20 10:42:33 +00:00
cgd
8f62c773e8
don't assume the f_fsnamelen is nul-truncated or longer than MFSNAMELEN
1995-06-18 14:45:14 +00:00
cgd
d0601a093f
copy some format specifiers from kprintf to sprintf. b & r still missing
1995-06-16 10:52:17 +00:00
fvdl
0cdb827026
Add Linux ELF module to the list of things to try.
1995-06-11 20:22:12 +00:00
mycroft
d7e904a697
Fix various signal handling bugs:
...
* If we got a stopping signal while already stopped with the same signal,
the second signal would sometimes (but not always) be ignored.
* Signals delivered by the debugger always pretended to be stopping
signals.
* PT_ATTACH still didn't quite work right.
1995-06-08 23:51:01 +00:00
mycroft
4a975bbe6f
If necessary, wake up the child during attach so we always get a SIGCHLD.
1995-06-05 20:57:54 +00:00
pk
1e52ad70a9
We need some compat_10 routines if COMPAT_SUNOS is on (PR #1008 ).
1995-06-05 12:56:54 +00:00
mycroft
3e6f699a75
Only do software flow control if IXOFF is set. Also fix hardware flow control
...
case in ttyblock().
1995-06-04 14:01:37 +00:00
mycroft
3cd36c72ef
Use ISSET() and CLR() in two cases.
1995-06-04 12:57:52 +00:00
mycroft
3eeacbcb2d
#include <sys/vnode.h>, for prototypes.
1995-06-03 05:53:28 +00:00
mycroft
8dc3fb5a63
Use vaccess().
1995-06-02 19:04:22 +00:00
jtc
95ded74f58
Moved egid credential from cr_groups[0] to new field cr_gid. POSIX.1
...
requires that sgid executables and the setuid() syscall *not* change
the supplemental group list.
1995-06-01 22:43:30 +00:00
cgd
4a04bbaa09
add a facility by which to register 'hooks' to be run at shutdown time.
1995-05-31 20:41:44 +00:00
mycroft
53eb79fc69
Preserve the ISWHITEOUT flag between cache_enter() and cache_lookup().
1995-05-30 09:02:02 +00:00
mycroft
ce5fcc40af
Remove gratuitous extra indirections.
1995-05-23 06:11:29 +00:00
cgd
7e68171a95
properly determine if send/rcv timeout values are out of range.
1995-05-23 00:19:30 +00:00
mycroft
bfd22ffde8
Generate the new ps_strings format.
1995-05-16 14:19:03 +00:00
christos
fb371ccef0
tty_tb.c: need to include ioctl_compat.h in order to compile.
...
sysv_shm.c: make shm_find_segment_by_shmid global so it can be used by
COMPAT_HPUX. There should be a better way...
rest: Add #ifdef COMPAT_HPUX where needed
1995-05-10 16:52:53 +00:00
mycroft
78356f06b3
Add two vprint()s, to give more informative panic messages.
1995-05-04 03:11:06 +00:00
cgd
3d9ffd41f3
make this work sanely on a 64-bit machine. Sacrifices a small bit of
...
error checking in the DIAGNOSTIC case. These changes might be backed out,
if it's decided that MINBUCKET should be 5 (rather than 4) on the alpha.
However, doing that has its own set of nasty consequences.
1995-05-01 22:39:11 +00:00
cgd
2581c66077
remember first error code (if any) that's different than ENOEXEC.
...
Not perfect, but there's no perfect solution to the "multiple interesting
error codes" problem.
1995-05-01 22:36:45 +00:00
christos
2ca157b084
Make this compile again; from Ted Lemon
1995-04-25 21:10:01 +00:00
christos
1c1cf96baf
makesyscalls.sh was changed
1995-04-22 19:43:50 +00:00
christos
3d1b06ab09
- new copyargs routine.
...
- use emul_xxx
- deprecate nsysent; use constant SYS_MAXSYSCALL instead.
- deprecate ep_setup
- call sendsig and setregs indirectly.
1995-04-22 19:42:47 +00:00
cgd
5fe7be7a26
be a little smarter when printing syscall names & args
1995-04-22 14:17:18 +00:00
mycroft
954487037b
Rearrange vfs_shutdown() slightly.
1995-04-21 22:09:53 +00:00
mycroft
84f803aef6
Add a return type for vaccess().
1995-04-21 22:03:24 +00:00
mycroft
f51cb8c974
Print a message for each file system that does not unmount cleanly. Add a
...
vfs_shutdown() routine that does the unmount and sync.
1995-04-21 21:55:11 +00:00
mycroft
b92e5976ff
Rename pttty() to ptytty() to mimic ptyioctl().
1995-04-19 22:33:56 +00:00
mycroft
cdd1a8eb54
Fix typo.
1995-04-19 18:58:14 +00:00
mycroft
7aaa443e99
Implement pttty(), and rename pt_ioctl to pt_softc.
1995-04-19 18:50:21 +00:00
mycroft
20b6b4f24d
Change ttselect() to use a callback to get the tty structure.
1995-04-19 18:46:10 +00:00
mycroft
72adfee7f7
EMUL_IBCS2_ELF -> EMUL_SVR4; EMUL_IBCS2_{COFF,XOUT} -> EMUL_IBCS2
1995-04-13 20:48:14 +00:00
mycroft
6cabaea642
Define vfs_unmountall(), to unmount file systems at shutdown time.
1995-04-10 19:46:56 +00:00
mycroft
c75f9f2e07
Change `fdclose' to `fdrelease', to avoid confusion with device interfaces.
1995-04-10 18:27:59 +00:00
mycroft
04a0a9a518
Use the new d_type field.
1995-04-10 00:46:51 +00:00
fvdl
366ba9b889
Use sigcode fields in package structure. This seems to be the cleanest
...
way to deal with seperate trampoline code for emulation of other OSs,
it avoids having to clutter up kern_exec.c any further.
1995-04-07 22:33:23 +00:00
mycroft
bb85930bbe
Add missing argument to closef().
1995-04-05 21:26:40 +00:00
christos
9255f898e8
Added TIOCGSID for COMPAT_SVR4 [get session id]
1995-03-31 03:07:41 +00:00
mycroft
46b2bb599f
Make definition of b_cylinder global.
1995-03-29 20:57:35 +00:00
cgd
a046d2374e
don't default return types to ints; specify them.
...
ktrsyscall takes (vp, code, argsize, args), and stores argsize rather
than nargs.
1995-03-26 07:48:47 +00:00
cgd
0310dd8f78
add an 'INSECURE' option which makes securelevel default to -1
1995-03-26 00:01:08 +00:00
cgd
fd10fb94e5
make it reasonable for processes to not double-map it's user area and kstack
1995-03-25 22:05:15 +00:00
mycroft
f75ba16b09
Update to use timer{add,sub}().
1995-03-21 13:33:34 +00:00
mycroft
7439778432
Use %p.
1995-03-19 23:44:44 +00:00
mycroft
20a403a292
Nuke startinit_verbose.
1995-03-19 23:27:03 +00:00
mycroft
fe62f9afca
Actually, do the previous differently.
1995-03-19 23:23:11 +00:00
mycroft
feb5b4b126
Add a `%p' format.
1995-03-19 23:17:16 +00:00
mycroft
a1615c4d35
Clean up comments related to last change, and remove an unneeded
...
splclock/splx pair.
1995-03-18 14:35:14 +00:00
chopps
b3f539b09c
add prototypes before each inline
1995-03-10 04:13:52 +00:00
mycroft
fab1d8444c
Update to match syscalls.master.
1995-03-09 17:33:07 +00:00
mycroft
57e6889435
Make memory map syscalls consistently use size_t.
1995-03-09 17:28:28 +00:00
mycroft
2f805fa51b
copy*str() should use size_t.
1995-03-09 12:05:21 +00:00
mycroft
1f5c42f54c
Update types.
1995-03-09 08:55:47 +00:00
mycroft
7f1e89164d
Update types, and fill in missing debug switch entries.
1995-03-09 08:54:37 +00:00
cgd
6782442a8c
use long for argc, envc, and u_long for len.
1995-03-08 01:23:00 +00:00
cgd
9c3af345b5
use NULL rather than casted zero
1995-03-08 01:21:30 +00:00
cgd
4f2d1996e7
needs systm.h
1995-03-08 01:20:50 +00:00
cgd
c771cb43cf
need COMPAT_OSF1 for some things
1995-03-08 01:20:19 +00:00
fvdl
cb05b6a54b
Two more "|| defined(COMPAT_LINUX)" that I somehow missed first time around.
1995-03-05 20:48:15 +00:00
fvdl
7b5bd63e35
Extended a couple of defines with "|| defined(COMPAT_LINUX)" to make
...
things compile without requiring COMPAT_43 and/or COMPAT_09.
1995-03-05 08:52:17 +00:00
cgd
41356f64e3
add support for clocks with hz > 1000, and for cases where 1000000 / hz != int
1995-03-03 01:24:03 +00:00
cgd
c7fde1470b
various XXX changes that linux bins need to get their args correctly.
1995-02-28 23:09:01 +00:00
cgd
b90bc60c78
switch entry for Linux a.out
1995-02-28 23:06:21 +00:00
mycroft
cfe40d86f6
Move a couple of assignments from the parent to the child.
1995-02-23 23:41:43 +00:00
mycroft
e8f67573e2
Align the stack even if envp is NULL.
1995-02-22 01:39:56 +00:00
mycroft
477c99007d
NULL out file descriptors as they're closed, for the benefit of fstat(8).
1995-02-15 02:12:02 +00:00
mycroft
53f792b77d
Omit the call to process_sstep() if PT_STEP is not defined.
1995-02-09 05:19:18 +00:00
cgd
a03b011499
undo a part of the last change that mistakenly required PT_STEP.
...
(i simply undid that part of the change.) also, fix a tyop.
1995-02-08 23:38:29 +00:00
mycroft
c43614be17
Remove UIO_USERISPACE.
1995-02-08 15:06:48 +00:00
mycroft
a8dd9a66e2
Optimize differently.
1995-02-04 14:44:48 +00:00
mycroft
5561e58072
Small optimization.
1995-02-04 14:22:13 +00:00
mycroft
1815d82b85
Make attach/detach more safe.
1995-02-03 11:35:57 +00:00
mycroft
42d23cb6e4
Remove PT_{READ,WRITE}_U.
1995-01-26 17:56:21 +00:00
cgd
aff3f5b497
implement sysctl variable kern.maxpartitions
1995-01-25 06:08:06 +00:00
cgd
ef5b4feb51
ooops. forgot to emable fpathconf's use of VOP_PATHCONF!
1995-01-23 04:45:22 +00:00
mycroft
9843f45605
Turn mountlist into a CIRCLEQ, and handle setting and checking of MNT_ROOTFS
...
differently.
1995-01-18 06:19:49 +00:00
mycroft
af0c359450
Turn mountlist into a CIRCLEQ, and handle setting and checking of MNT_ROOTFS
...
differently.
1995-01-18 06:14:43 +00:00
cgd
7fb59862ff
undo charles's accidental changes.
1995-01-15 09:23:05 +00:00
cgd
6354211739
cast pointer to long, not int
1995-01-12 05:40:10 +00:00
cgd
6bec8ab087
cast pointers to longs.
1995-01-12 05:22:18 +00:00
mycroft
d903b2aa28
Remove unused extern.
1995-01-09 19:54:28 +00:00
cgd
c6720544a8
update for new syscalls.master
1995-01-06 00:08:50 +00:00
cgd
dfa90d1c7f
obsolete resuba, per ragge.
1995-01-06 00:08:17 +00:00
mycroft
ebe3db17a7
Handle null pointers like libc.
1994-12-28 06:30:35 +00:00
ws
2f0fb8ee09
Implement and use a common access checking routine
1994-12-24 16:44:12 +00:00
cgd
d218233b36
various cleanups for -Wall. some inspired by James Jegers.
1994-12-24 15:07:22 +00:00
cgd
8a8d0c16d8
make from latest syscalls.master.
1994-12-24 14:30:56 +00:00
cgd
596b9735bd
make return type explicit, from James Jegers
1994-12-24 14:07:52 +00:00
cgd
9c6713415c
as noted by James Jegers, crfree should return void.
1994-12-24 14:04:43 +00:00
cgd
da93322976
define lkm_nofunc, to be used instead of nosys (blech!) for unused load,
...
unload, and stat functions. arguably could (should?) use NULL instead,
but this is a bit more descriptive. also, unconditionally call the
load/unload/stat functions, as now they're known to work (because, at
worst, they're lkm_nofunc).
1994-12-24 13:25:48 +00:00
cgd
c39db8e1f2
make it reflect the current makesyscalls.sh, pointed out by
...
Stephen J. Roznowski <sjr@zombie.ncsc.mil>.
1994-12-23 10:08:25 +00:00
cgd
e475f6d4f2
kill the #if 0 around SHM_*LOCK. makes no difference, though...
1994-12-22 13:30:40 +00:00
cgd
a2e9d6806f
use ALIGNBYTES for calculating alignment. no reason not to, and good style
...
to do so.
1994-12-19 14:36:46 +00:00
mycroft
b4aa6d3a28
Call foo_statfs() from a common place when mounting.
1994-12-15 19:46:08 +00:00
mycroft
790aa66ac5
Remove extra arg to ptcopen().
1994-12-14 19:45:30 +00:00
mycroft
70f25af085
Sync with CSRG.
1994-12-14 19:41:23 +00:00
mycroft
b903333935
Remove old declaration.
1994-12-14 19:38:48 +00:00
mycroft
12371eafc4
Revert open() completely.
1994-12-14 19:36:15 +00:00