Commit Graph

3986 Commits

Author SHA1 Message Date
dg
3d86889aac Remove PG_W bit setting in some cases where it should not be set.
Submitted by:	John Dyson <dyson>
1995-10-23 02:31:29 +00:00
dyson
b1a28fda3c Finalize GETPAGES layering scheme. Move the device GETPAGES
interface into specfs code.  No need at this point to modify the
PUTPAGES stuff except in the layered-type (NULL/UNION) filesystems.
1995-10-23 02:23:29 +00:00
dg
7bae034de0 More improvements to the logic for modify-bit checking. Removed
pmap_prefault() code as we don't plan to use it at this point in time.

Submitted by:	John Dyson <dyson>
1995-10-23 00:47:10 +00:00
phk
0104ec6360 Remove the last trace of arptnew() 1995-10-22 19:07:58 +00:00
bde
2b02753359 sio.c:
Fix the tests for being a console by reverting to the ones that
were used before the the RB_SERIAL changes.  RB_SERIAL only needs
to be tested in one place.  The initialization of comconsole was
wrong before the RB_SERIAL changes for the COMCONSOLE case.  This
may have been the cause of the unnecessary changes.

Start eliminating #includes of <i386/i386/cons.h>.  This header is
supposed to be included from <machine> although it should be
completely machine-independent and included from <sys>.

Remove a wrong XXX comment.  `comconsole' is used to test for being
a console and even the tests for deciding the default termios state
are necessary (the semi-reentrant i/o routines don't handle ordinary
device i/o).

cy.c:
Sync with sio.c.  The console tests are present but always fail.
1995-10-22 15:38:08 +00:00
bde
2f9bb19585 Only allow `sensitive' devices for displays in find_display(). This is
a quick fix for syscons deciding not to become the console because it
thinks another tty device has priority.
1995-10-22 15:07:43 +00:00
dg
db7c5a06ea Fix order problem: unbusy pages before releasing the buffer.
Submitted by:	John Dyson <dyson>
1995-10-22 09:37:45 +00:00
dg
b5341559e2 Moved the filesystem read-only check out of the syscalls and into the
filesystem layer, as was done in lite-2. Merged in some other cosmetic
changes while I was at it. Rewrote most of msdosfs_access() to be more
like ufs_access() and to include the FS read-only check.

Obtained from: partially from 4.4BSD-lite2
1995-10-22 09:32:48 +00:00
dg
67678134fd Simplified some expressions. 1995-10-22 02:59:48 +00:00
phk
e08396dc86 Make a lot of things static. 1995-10-21 23:13:11 +00:00
swallace
a60db4f016 In bsd_to_ibcs2_sigaction(), flag for ibcs2 system should be
IBCS2_SA_NOCLDSTOP and not SA_NOCLDSTOP.

Submitted by:	 bde
1995-10-21 20:33:43 +00:00
bde
2f3f635ee8 Start including <sys/sysproto.h> to get the correct args structs and
prototypes for all syscalls.  The args structs are still declared in
comments as in VOP implementation functions.  I don't like the
duplication for this, but several more layers of changes are required
to get it right.  First we need to catch up with 4.4lite2, which uses
macros to handle struct padding.  Then we need to catch up with NetBSD,
which passes the args correctly (as void *).  Then we need to handle
varargs functions and struct padding better.  I think all the details
can be hidden in machine-generated functions so that the args structs
and verbose macros to reference them don't have to appear in the core
sources.

Add prototypes.

Add bogus casts to hide the evil type puns exposed by the previous
steps.  &uap[1] was used to get at the args after the first.  This
worked because only the first arg in *uap was declared.  This broke
when the machine- genenerated args struct declared all the args
(actually it declares extra args in some cases and depends on the
user stack having some accessible junk after the last arg, not to
mention the user args being on the stack.  It isn't possible to
declare a correct args struct for a varargs syscall).  The msgsys(),
semsys() and shmsys() syscall interfaces are BAD because they
multiplex several syscalls that have different types of args.
There was no reason to duplicate this sysv braindamage but now
we're stuck with it.  NetBSD has reimplemented the syscalls properly
as separate syscalls #220-231.

Declare static functions as static in both their prototype and their
implementation (the latter is optional, and this misfeature was used).

Remove gratuitous #includes.

Continue cleaning up new init stuff.
1995-10-21 19:50:00 +00:00
dyson
4519f95061 Implement mincore system call. 1995-10-21 17:42:28 +00:00
bde
ae33f2fb7d Avoid overflow in calcru(). Fixes PR 788.
Submitted by:	imdave@synet.net (Dave Bodenstab)
1995-10-21 09:18:45 +00:00
peter
75d7440902 Remove bogus #include <sys/device.h>, and the bogus instances of
"struct device" and the bogus unit number mentioned in the error message.
Some other minor cleanups, all trivial.
1995-10-21 09:10:49 +00:00
dg
50bd49a6ed Killed a few gratuitous #include's. 1995-10-21 08:38:13 +00:00
swallace
70dc81bc26 sigset() should have sa_flags cleared to sig is maked before calling
handler (remove SA_NODEFER).

On the other hand, signal() case should set sa_flags to SA_NODEFER as
in previous change.

In addition, added #ifdef'd code for signal() to or in SA_RESETHAND
flag for when that compatability is implemented.
1995-10-21 05:01:57 +00:00
dg
6eb3fd6437 Fix panic caused by PRU_CONTROL not being dealt with properly. Bug pointed
out by David Maltz <dmaltz@orval.mach.cs.cmu.edu>, but this fix is by me.
1995-10-21 02:12:20 +00:00
phk
6d6a401f8b A mixed bag of changes, relating to getting the state in "lsdev" right,
and pccard support to work sensibly.  Better by far, but still not good.
1995-10-21 00:55:36 +00:00
dyson
dc58fb65bd If we clear the B_CACHE flag because a buffer isn't composed fully of
valid bytes, we must also clear the B_DONE flag.  Some filesystems
depend on this (incl NFS) and is probably the cause of the biodone
error and subsequent crash.  Anyway this change needs to be made.
1995-10-19 23:48:25 +00:00
dg
61860c0e91 Fix initialization of "bsize" in vnode_pager_haspage(). It must happen
after the check for the mount point still existing or else the system
will panic if someone forcibly unmounted the filesystem.
1995-10-19 21:35:03 +00:00
swallace
971c849347 Use sa_flag option SA_NODEFER in sigsys() emulation because SVR3
does not automatically mask signal upon delivery.
1995-10-19 19:20:17 +00:00
swallace
f62e0784cb Implement SA_NODEFER sa_flag for sigaction():
Add SA_NODEFER define to signal.h
	Add ps_nodefer field to struct sigacts in signalvar.h.
	Add code to kern_sig.c to handle SA_NODEFER.

If flag is set, when the signal is delivered, it is not masked automatically
from receiving the same signal again.

Reviewed by:	 wollman, bde
1995-10-19 19:16:01 +00:00
se
7309d9d4a4 Make CONF1_ENABLE_MSK1 even less restriktive: Ignore slot ID ... 1995-10-17 23:30:11 +00:00
se
9b1dda8fb9 At least the ASUS Triton motherboards don't disable the PCI bus configuration
accesses after the BIOS bus scan. The previous revision made the assumption,
that every PCI motherboard did ...

Change the test on the initial value of the CONF1_ADDR_PORT register in a way
that makes the probe succeed on triton based motherboards, without breaking
the EISA motherboard that has some non-PCI register at the same address.
1995-10-17 15:23:14 +00:00
wollman
156b44398e Change signature of rt->rt_output() so that it is compatible with
ifp->if_output() functions.  This way, initial implementations of
rt_output functionality can just lazily use if_output until customized
versions are written.
1995-10-16 20:53:55 +00:00
wollman
e34bd6ff01 When adding a route fails because there is already a route with the same
(mask,value) in the tree, don't immediately return EEXIST.  Instead, check
to see if the pre-existing route was generated by protcol-cloning.  If so,
then it is OK to simply blow away the old route and re-attempt the insertion.
If not, then fall back to the same error code as before.
1995-10-16 19:09:40 +00:00
wollman
e52c654ee2 The ability to administratively change the MTU of an interface presents
a few new wrinkles for MTU discovery which tcp_output() had better
be prepared to handle.  ip_output() is also modified to do something
helpful in this case, since it has already calculated the information
we need.
1995-10-16 18:21:26 +00:00
swallace
b2a70d6c38 Add a hack to emulator to emulat spx device for local X connections.
This is truly a hack.  The idea is taken from the Linux ibcs2 emulator.

To use this feature, you must use the option,
	options		SPX_HACK
in your config.

Also, in /compat/ibcs2/dev, you must do:

lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 X0R@ -> /dev/null
lrwxr-xr-x  1 root  wheel         7 Oct 15 22:20 nfsd@ -> socksys
lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 socksys@ -> /dev/null
crw-rw-rw-  1 root  wheel   41,   1 Oct 15 22:14 spx

Do NOT use old socksys driver as that has been removed.
This hack needs /compat/ibcs2/dev/spx to be any device that does NOT
exist/configured (so the now non-existant spx major/minor works fine).
When an open() is called, the error ENXIO is checked and then the
path is checked.  If spx open detected, then a unix socket is opened
to the hardcoded path "/tmp/.X11-unix/X0".

As the Linux hacker author mentioned, the real way would be to detect
the getmsg/putmsg through /dev/X0R and /dev/spx.  Until this true
solution is implemented (if ever), I think this hack is important
enough to be put into the tree, even though I don't like it dirtying
up my clean code (which is what #ifdef SPX_HACK is for).
1995-10-16 05:52:55 +00:00
dyson
a8f1d3e38b Remove an unnecessary tsleep in the swapin code. This tsleep
can defer swapping in processes and is just not the right thing to do.
1995-10-16 05:45:49 +00:00
swallace
a7a55e98e3 Do a better fake for uname information returned in utssys() call.
Currently, the emulator defaults to returning "FreeBSD" as the system
name, release "3.2", and version "2.0".  Some programs want to make
sure they are on a SYSV 3.2 system and check for 3.X release number.

Use the following defines to override the defaults:
	IBCS2_UNAME_SYSNAME
	IBCS2_UNAME_RELEASE
	IBCS2_UNAME_VERSION
(should be string)
for system name, release, and version, respectively.  This allows
someone to compile the emulator into the kernel so it can pretend
to be a specific system if needed.
1995-10-16 05:32:20 +00:00
se
9d38676afa Go back to separate tests for configuration mechanism 1 and mechanism 2.
Require the state of the configuration enable bits to be OFF assuming
that the BIOS left them that way, as it should anyway to avoid bad things
to happen.

The tests themselves are copied from the previous release, with the
exception of CONF1_ENABLE_MSK1 having the LSB set. This bit should be
read back as '0', since only DWORD addresses are legal.
1995-10-15 23:43:08 +00:00
phk
b14049734c Pull all of libkern.a in (though not mcount) so the LKM's don't come
out shorthanded.  Makes the idea of libkern pretty void now...
1995-10-15 18:03:42 +00:00
phk
d63873130a Revert to default entry point. 1995-10-15 17:00:49 +00:00
phk
f3523ea047 Make LKM entry consisten with tradition: pcic_mod(). 1995-10-15 16:59:36 +00:00
phk
380fa2c538 An even better idea: The default will be that on _${KMOD} (_nfs_mod...) will
be exported.  This breaks the compilation of some lkms, the owners of which
is kindly requested to consider what should be exported.
1995-10-15 16:56:56 +00:00
phk
101c4a6b72 Automatically DTRT for VFS_LKM 1995-10-15 16:46:00 +00:00
phk
f06fa12b69 Only export our 'init' symbol. 1995-10-15 14:33:17 +00:00
phk
62c5f3cfd4 Make a rule for cleaning the namelist of lkms.
TXT & DATA symbols not explicitly mentioned will be made local.
1995-10-15 14:32:26 +00:00
dg
2c16cdc8fb atapi and wcd LKMs.
Submitted by:	Serge Vakulenko, <vak@cronyx.ru>
1995-10-14 15:47:29 +00:00
dg
8d3425ea62 Latest fixes from Serge:
I tried to solve the problem of IDE probing compatibility in this version.
When compiled without an ATAPI option, the wd driver is
fully backward compatible with 2.0.5.  With ATAPI option,
the wdprobe becomes strictly weaker.  That is, if wdprobe works
without ATAPI option, it will always work with it too.

Another problem was with the CD-ROM drive attached as a slave
in the IDE bus, where there is no master.  All IDE CD-ROM
drives are shipped in slave configuration, and most users
just plug them in, never thinking about jumpers.
It works fine with ms-dos and ms-windows, and this
version of the driver supports it as well.

The eject op can now load disks.  Just repeat it twice,
and the disk will be ejected and then loaded back.

The disc cannot be ejected if it is mounted.

Submitted by:	Serge Vakulenko, <vak@cronyx.ru>
1995-10-14 15:41:10 +00:00
jkh
a308e5f9a1 Coerce the exit message into making more sense. 1995-10-14 12:57:01 +00:00
bde
5cbfb32a2d Don't allow i/o operations for non-root users. 1995-10-14 07:09:58 +00:00
bde
dd2590866a Don't allow i/o operations for non-root users.
Add prototypes.
1995-10-14 07:08:09 +00:00
bde
c385cd17e3 Don't allow mmapping the page after last video page.
Obtained from:	syscons.c (bug obtained from original pccons.c)
1995-10-14 05:54:47 +00:00
bde
f7f4ce9b82 Don't allow mmapping of physical page 6 (ENXIO).
nxmmap() returned a bogus value as well as having a bogus type.  Some
drivers use nxmmap() for configured devices (`nx' functions should
only be used for unconfigured devices).  These drivers allowed mmapping
physical page 6, which may have interesting contents.  vm has kludges
to avoid the same bug with nullop() returning page 0 and enodev()
returning page 19 (ENODEV), but didn't handle enxio() returning page 6.
vm is the wrong place to handle these bugs.
1995-10-14 05:25:45 +00:00
bde
dded218f3c Restore initialization of %ecx for the !I586_CPU case.
Don't declare _i586_ctr_bias.  The usual style, which was
followed in microtime.s, is to omit extern declarations.
1995-10-14 04:53:49 +00:00
wollman
cb8eb0b245 Only compile Pentium microtime in Pentium kernels.
Submitted by:	Michael Butler <imb@scgt.oz.au>
1995-10-13 19:53:25 +00:00
wollman
234ef116d9 Say goodbye to IFF_NOTRAILERS. Support for trailers was officially
dropped for 4.4, but for some reason this flag lived on.  (Until
today, that is.)
1995-10-13 19:48:06 +00:00
wollman
ad2a8dc42d Protect against routing socket messages with way-too-big address families.
Submitted by:	Keith Sklower by way of Paul Traina
1995-10-13 16:01:59 +00:00
wollman
7c65eebe94 Routes can be asymmetric. Always offer to /accept/ an MSS of up to the
capacity of the link, even if the route's MTU indicates that we cannot
send that much in their direction.  (This might actually make it possible
to test Path MTU discovery in a useful variety of cases.)
1995-10-13 16:00:25 +00:00
bde
25b151aca5 Fix select().
Remove some unused code and never-working backwards compatibility code.

Add prototypes.
Reviewed by:	babkin@hq.icb.chel.su (Serge Babkin)
1995-10-12 23:28:41 +00:00
wollman
6cbc65227c Reduce jitter of Pentium microtime() implementation by letting the counter
free-run and doing a subtract in microtime() rather than resetting the
counter to zero at every clock tick.  In combination with the changes to
kern_clock.c, this should eliminate all the immediately obvious sources
of systematic jitter in timekeeping on Pentium machines.
1995-10-12 20:39:49 +00:00
wollman
fab8249e23 Improve clock accuracy by accounting for late/missed clock interrupts
if the hardware supports it.
1995-10-12 20:35:01 +00:00
wollman
4afe99dda1 The additional checks involving sequence numbers in MTU discovery resends
turned out not to be necessary; simply watching for MTU decreases (which
we already did) automagically eliminates all the cases we were trying to
protect against.
1995-10-12 17:37:25 +00:00
julian
0ba2aa8cba oops currupted a line by hitting the wrong key..
fix it
1995-10-12 02:05:47 +00:00
julian
8481e93a3a Ack!
sometime around 1.51, the check for minphys dissappeared out of
transfers for disks..
we weren't hecking that the adapter could handle a transfer of
the size we were requesting..
Peter!?
 :)
this explains the rash of failures I've seen reported recently
with "too many DMA segments" on raw devices

(added one for st as well)
1995-10-12 02:02:03 +00:00
swallace
cf5bbfc223 Remove the '1' from getpeername1 and getsockname1 when NOT COMPAT_OLDSOCK.
Left it in there by mistake.
1995-10-11 06:09:45 +00:00
dg
651b268bec Fix probe to work properly with the Cyclades cyclom-16Ye. 1995-10-11 02:41:13 +00:00
swallace
02d471bd8d Fix the getdirentries of ibcs2 to handle uneven DIRBLKSIZ offsets.
Slight modification from previous fix.

Also, fix problem where an entry would be skipped next call if not enough room
in buffer current call.
1995-10-10 23:13:27 +00:00
swallace
c4598e0910 Fix the getdirentries of ibcs2 to handle uneven DIRBLKSIZ offsets.
Same bug as was in linux.

Also, fix problem where an entry would be skipped next call if not enough room
in buffer current call.
1995-10-10 23:12:53 +00:00
ache
864b292027 Add -fno-strength-reduce to neutralize possible bad effect of -O2
specified directly
1995-10-10 21:11:22 +00:00
wollman
ba18d18f32 More MTU discovery: avoid over-retransmission if route changes in the
middle of a fully-open window.  Also, keep track of how many retransmits
we do as a result of MTU discovery.  This may actually do more work than
necessary, but it's an unusual condition...

Suggested by: Janey Hoe <janey@lcs.mit.edu>
1995-10-10 17:45:43 +00:00
swallace
5668a5f30b Change alternate space base name from /emul/ibcs2 to /compat/ibcs2,
in line with linux alt space of /compat/linux.
This was pointed out by Stefan Esser.

In cheching alt space for libraries in imgact_coff.c, use const
ibcs2_emul_path instead of its own local string.  Also do a proper
malloc of temp name according to MAXPATHLEN.
1995-10-10 17:33:19 +00:00
phk
11529bae00 PCCARD support. 1995-10-10 09:52:55 +00:00
swallace
bff43db348 Remove socksys modload command from ibcs2 startup shell script. 1995-10-10 08:38:11 +00:00
swallace
fcb4c63594 Remove redundant getmsg and putmesg function declarations and #include directive 1995-10-10 08:31:12 +00:00
swallace
d290ff1973 Remove socksys lkm from makefile list. 1995-10-10 08:23:13 +00:00
swallace
1bc48af2f7 Add prototypes and declare function return type in ibcs2.c
Add new files to Makefile.
1995-10-10 08:20:28 +00:00
swallace
2a93c6b2f1 Remove the IBCS2 option for the socksys driver. A pointer to /dev/null
will work fine now.
1995-10-10 08:10:53 +00:00
swallace
37fb0bcb44 Remove the ugly COMPAT_IBCS2 hack to hide a return value through
magic numbers.  The new socksys support does not need this hack.

I am against any magic practicing.
1995-10-10 08:08:54 +00:00
swallace
f5d3dbfa4d Update files list to include new ibcs2 files needed to compile. 1995-10-10 08:04:10 +00:00
bde
f1f5fdfb35 Fix benign type mismatches in devswitch functions.
Add prototypes.
Clean up includes.
1995-10-10 08:03:26 +00:00
swallace
20f13c7a7e Remove old files no longer needed.
Add new files created for emulator.
Modify NetBSD import to work with FreeBSD and add new features and
code.  The complete emulator is essentially a combination of work/code
implemented by Sean Eric Fagan, Soren Schmidt, Scott Bartram, and myself,
Steven Wallace.

Features of this new emulator system include:

 o  "clean" code, including strict prototyping.
 o  Auto-generation of ibcs2 system calls, xenix system calls, isc system
calls.  Generation includes system tables, structure definitions,
and prototyping of function calls.
 o  ibcs2 emulator does not rely on any COMPAT_43 system calls.
 o  embedded socksys support
 o  ibcs2 msgsys, semsys, shmsys calls supported if supported in kernel
 o  alternate /emul/ibcs2 namespace searched first for files in ibcs2
system.  Usefull to keep sysv libraries, binaries in /emul/ibcs2.
 o  many other finer details and functions fixed or implemented.
1995-10-10 07:59:30 +00:00
swallace
6c1c648223 This commit was generated by cvs2svn to compensate for changes in r11394,
which included commits to RCS files with non-trunk default branches.
1995-10-10 07:27:24 +00:00
swallace
e2b7ea019e Import of original NetBSD's ibcs2 emulator sources by Scott Bartram,
which is used as a basis for a more complete and cleaner ibcs2 emulator.
(snapshot about May 1995 with a few files from September 1995)

Some files and code from old emulator still remains.
New files, features, and changes have been implemented by myself,
which will be shown in following commits.
1995-10-10 07:27:24 +00:00
julian
20daee429d almost entirely cosmetic changes
just keeping the sources in sync with my own set..
1995-10-10 07:12:27 +00:00
bde
e57f986b87 Remove bogus includes that became fatal after the previous (intended to
be cosmetic?) commit.
1995-10-10 05:41:39 +00:00
bde
bf6064e463 Fix TCP_DEBUG support so that LINT compiles again (deReiserize). 1995-10-10 05:23:17 +00:00
bde
622f341b04 Include <sys/sysproto.h> so that machdep.c compiles cleanly again
(the prototype for sync() moved).

KNFize and otherwise clean up printing of BIOS geometries.

Add prototypes.

Continue cleaning up new init stuff.
1995-10-10 05:05:28 +00:00
bde
a789b7489e Update comment and config for cy driver.
Extend test coverage:
Add and enable undocumented options TCPDEBUG, COMPAT_LINUX and IBCS2.
Add but disable (broken) pseudo device tb.
Add and enable pseudo devices su, ssc.
Add but disable (broken) devices sscape0, trix0.
Add and enable device bqu0.
1995-10-10 04:03:12 +00:00
se
d1c61dd19d Fix bad typo: CONF1_ENABLE_RES1 was written CONF1_ENABLE_CHK1 ... 1995-10-09 21:56:24 +00:00
joerg
be110e87c8 Some bug fixes for the worm driver:
o  don't use polled mode after the device probe phase
o  don't biodone() a NULL buffer pointer
o  increase the timeout for scsi_read_capacity(); WORMs are slooow
o  make WORMMs known to scsiconf at all

This brings the driver in a state where it at least doesn't
immediately panic, nor hangs the controller any more.  Unfortunately,
at least the YAMAHA CDR100 i've been testing with answered my write
attempts with an "Incorrect command sequence" response.  Perhaps other
CD burners might work however.

Reviewed by:	dufault
1995-10-09 15:15:01 +00:00
joerg
d14a472e3c BIOS manufacturers don't seem to have a unique idea about 2.88 MB
floppy drive types in the CMOS; add 0x50 as an alias for 2.88 MB.
1995-10-09 15:00:39 +00:00
dg
37ad3411f6 Include <sys/systm.h> 1995-10-09 05:54:32 +00:00
bde
73cb54f1d4 Fix tracing of syscalls. The previous fix required the undocumented
option DDB_NO_LCALLS to stop ddb getting control and broke all ddb
tracing.  Now there is no option and no way for ddb to trace at
address _Xsyscall or to _Xsyscall, but tracing everywhere else
works.  The previous fix did unnecessary things for Linux syscalls.

Don't bother checking that syscall frames are for user mode.

Make debugger traps inside the kernel (except at addresses _Xsyscall
and _Xsyscall+1) fatal if ddb is not configured.  They "can't happen".

Add prototypes.

Remove stupid comments, e.g., /*ARGSUSED*/ for args that are used.
1995-10-09 04:36:01 +00:00
bde
f6872ed68c Fix types of sysctl functions. Add prototypes. Cosmetic. 1995-10-09 04:06:28 +00:00
dyson
7ccaf92915 Work-around a problem in the clustering code on non-VMIO buffers. The
write-side needs rewriting, but this makes a ktrace panic go away for
now.
1995-10-09 03:19:49 +00:00
gibbs
0f62a1bc92 Identify the 2940 *Ultra* SCSI adapter. We treat it as a normal 2940
for now since I don't have any documentation on this card yet and it
is software compatible with the earlier cards.

The 2940 *Ultra* is Adaptec's push to take SCSI to 20MHz bus rates.  Its
based on the aic7880 chip which is the successor to the aic7870.
1995-10-08 17:46:11 +00:00
swallace
eeedb17b1a Add #include <sys/sysproto.h> to get struct close_args and close
function prototype.
1995-10-08 00:09:00 +00:00
swallace
f89a2d2259 Remove prototype definitions from <sys/systm.h>.
Prototypes are located in <sys/sysproto.h>.

Add appropriate #include <sys/sysproto.h> to files that needed
protos from systm.h.

Add structure definitions to appropriate files that relied on sys/systm.h,
right before system call definition, as in the rest of the kernel source.

In kern_prot.c, instead of using the dummy structure "args", create
individual dummy structures named <syscall>_args.  This makes
life easier for prototype generation.
1995-10-08 00:06:22 +00:00
swallace
7c4cb4e36b Update sysproto.h to reflect changes. 1995-10-07 23:57:04 +00:00
swallace
d652154286 Fix misc formatting errors in makesyscalls.sh.
Add CPT_NOA type which is COMPAT with NOARGS -- do not produce argument
struct in sysproto.

Change accept, recvfrom, getsockname to CPT_NOA type.
Fix getrlimit, setrlimit argument #2 name to struct rlimit.
1995-10-07 23:56:20 +00:00
swallace
d5c6b3a46c Remove compat int from wait_args structure since no longer used or desired. 1995-10-07 23:48:07 +00:00
swallace
f6c446557e Remove compat_43 psuedo-argument hack, and replace with a better hack.
Instead of using a fake "compat" argument, pass a real compat int to function
if COMPAT_43 is defined.  Functions involved: wait4, accept, recvfrom,
getsockname.

With the compat psuedo-argument, this introduces an argument structure
that can have two possible sizes depending on compat options.
This makes life difficult for lkm modules like ibcs2, which would
have to guess what size used in kernel when compiled.  Also,
the prototype generator for these structures cannot generate proper sizes.

Now there is only one fixed structure and makes everybody happy.

I recommend these changes be introduced to 2.1 so that ibcs2, linux
lkm's generated for 2.2 can still run on a 2.1 kernel.
1995-10-07 23:47:26 +00:00
dg
31dfaff825 Add SIOCGIFADDR support. 1995-10-07 20:34:30 +00:00
bde
a04727abd8 Restore my changes from revisions 1.8, 1.9 and 1.10. They were blown away
be the previous commit.  It didn't even compile.
1995-10-07 20:07:18 +00:00
dg
bf6129211c Fix argument passing to the "freeer" routine. Added some prototypes. (bde)
Moved extern declaration of swap_pager_full into swap_pager.h and out of
the various files that reference it. (davidg)

Submitted by:	bde & davidg
1995-10-07 19:02:56 +00:00
bde
9674b45cfa Return EINVAL instead of panicing for rename("dir1", "dir2/..").
Fixes part of PR 760.

This bug seems to be very old.
1995-10-07 10:14:12 +00:00
swallace
11b88f454b Remake generated files to reflect makesyscalls.sh changes 1995-10-07 06:29:30 +00:00
swallace
9c1e10e65e Add new functionality to makesyscalls.sh:
o  optional config-file to set vars: sysnames, sysproto, sysproto_h,
	syshdr, syssw, syshide, syscallprefix, switchname, namesname, sysvec.
  o  change syntax of syscalls.master entry:
	remove argument count.
	add pseudo-prototype field defining function name and arguments.
  o  generates correct structure definitions for all system calls
	in sys/sysproto.h
  o  add type NOARGS:  same as STD except do not create structure in
	sys/sysproto.h
  o  add type NOPROTO:  same as STD except do not create structure or function
	prototype in sys/sysproto.h

New functionality provides complete prototype definitions.
Usefull for generating files for emulated systems like my new ibcs2 code.

Update syscalls.master to reflect new changes.  For example, read()
entry now looks like:

3	STD	POSIX	{ int ibcs2_read(int fd, char *buf, u_int nbytes); }

This is similar to how NetBSD generates these files.
1995-10-07 06:24:08 +00:00
wollman
07202edd8d Put newline at end of log()ed messages so syslog can't fill up your
/var quite as fast.
1995-10-06 19:30:43 +00:00
phk
f449f1529f use roundup2 to avoid a bunch of 64bit divides. 1995-10-06 09:56:51 +00:00
phk
ae1bee0e80 Add roundup2(x,y) for when y is a power of two. 1995-10-06 09:56:26 +00:00
phk
670fb97809 Avoid some 64bit divides. 1995-10-06 09:47:58 +00:00
phk
d78eeda10d A little hack to avoid a 64bit divide. Can go away if Gcc ever learns to
optimise 64bit stuff...
1995-10-06 09:43:32 +00:00
phk
3cbc1f1bb0 Avoid a 64bit divide. 1995-10-06 09:42:11 +00:00
jkh
47d6e25382 matcd -> matcdc 1995-10-06 05:36:51 +00:00
peter
d76ed02585 Part 2 of the overlapping kzip changes.
Submitted by:	Gary Jones(?) <gj@freefall>
1995-10-06 02:57:26 +00:00
phk
73c29c0675 Make the netboot more tolerant about the config file. 1995-10-05 20:51:39 +00:00
wollman
91aa19bcd7 Convert ARP to use queue.h macros rather than insque/remque. While
we're at it, eliminate obsolete exposure of `struct llinfo_arp' to
the world.  (This dates back to when ARP entries were not stored in
the routing table, and there was no other way for the `arp' program
to read the whole table than to grovel around in /dev/kmem.)
1995-10-05 20:08:43 +00:00
phk
a2463c6630 Comment out, but don't delete stuff we don't use.
Classify in "gcc stuff" and "legitimate stuff".
1995-10-05 14:46:07 +00:00
phk
4ca299c4d8 remove GCC divsi3 routines which are never used. 1995-10-05 10:32:47 +00:00
jkh
df41364682 Change kernel name to make a more unique target for sed. 1995-10-05 04:34:30 +00:00
dg
35303001bd 1) Fixed irq logic so that it uses the kernel configured irq if it doesn't
match the board setting.
2) Fixed the warning message to properly print the irq mismatch (as opposed
   to the bit encoded value).
3) Add irq autodetection if the kernel has "?" or no irq specified.
4) Add missing splimp protection in ixioctl().
1995-10-05 03:01:13 +00:00
bde
f12a489cee Fix pollution of application namespace by declarations of kernel
functions.  The application header <sys/user.h> includes <vm/vm.h>
which includes <vm/lock.h>...

vm.h:
Don't include <machine/cpufunc.h>.  It is already included by
<sys/systm.h> in the kernel and isn't designed to be included by
applications (the 2.1 version causes a syntax error in C++ and the
current version has initializers that are invalid in strict C++).

lock.h:
Only declare kernel functions if KERNEL is defined.
1995-10-05 01:11:48 +00:00
bde
31218d9591 Don't wait for output to drain in pppclose(). Discard output immediately
for the same reasons as in slclose().

Free the cblock in the canonical queue in pppclose().  This is a no-op in
the usual cases where the tty is being closed or the line discipline is
being switched back to the standard discipline, but it saves a cblock if
the line discipline is being switched to one that doesn't use the canonical
queue.

Add prototypes.  I use `extern' in prototypes for functions with bogus
linkage.  This should be fixed someday.

Continue cleaning up new init stuff yet again.
1995-10-05 00:33:27 +00:00
jkh
8a1fa70dc0 This upgrades the driver for Cronyx-Sigma multiplexor boards
from version 1.2 to version 1.9.
Submitted by:	Serge Vakulenko, <vak@cronyx.ru>
1995-10-04 22:24:16 +00:00
jkh
1c1ef85e13 I have applied my last changes correcting the bug in dgbselect() to it
and here is the patch.  Submit it please. Thank you!

BTW, there is a new option "NDGBPORTS". By default it is equal to
NDGB*16 and means the number of ports of all Digiboards for which the
tty structures are reserved. It can be set to the real value in config-file
like:

       options "NDGBPORTS=8"
Submitted by:	Serge A. Babkin <babkin@hq.icb.chel.su>
1995-10-04 21:51:26 +00:00
wollman
306caafb86 Make a whole bunch of PCB variables ints rather than shorts. There appear
to be no ill effects, and so far as Iknow none of the variables in
question depend on 16-bit wraparound behavior.  (The sizes are in
many cases relics from when a PCB had to fit inside a 128-byte mbuf.  PCBs
are no longer stored in that way, and the old structure would not have
fit, either.)
1995-10-04 20:49:03 +00:00
julian
368d81d28d find some way of letting a node know where in its parent's directory structure
it was referenced from.. stops a rather annoying panic, but
introduces a rather interesting but "I can live with it" bug
`ln a b ; mv a b; echo ?`
returns a rather than b..
I know why but I need to think of the 'correct' answer. at least this is 'safe'
1995-10-04 11:05:09 +00:00
julian
9e94a3c011 fix REALLY STUPID bug/typo
don't look at the diffs.. it's too embarassing :)
1995-10-04 08:58:00 +00:00
jkh
f1a83ab13a Add the kernel config file (only for 2.1) that I'll be using
to generate my special IDE CDROM installation boot floppy.
1995-10-04 08:25:24 +00:00
julian
841d635ce3 Submitted by: Juergen Lock <nox@jelal.hb.north.de>
Obtained from: other people on the net ?

1. stepping over syscalls (gdb ni) sends you to DDB, and returned
to the wrong address afterwards, with or without DDB.  patch in
i386/i386/trap.c below.

2. the linux emulator (modload'ed) still causes panics with DIAGNOSTIC,
re-applied a patch posted to one of the lists...
1995-10-04 07:08:04 +00:00
joerg
2ed6c55943 Hide the "input/output timeout" messages behind the bootverbose case.
This message has been confusing innocent ft users.

It should go into 2.1 as well, it's a very simple fix.
1995-10-04 07:01:23 +00:00
julian
e3dc667e86 add the file kern_conf.c so it can be compiled in when needed
for testing.. (for cdevsw_add and bdevsw_add)

make the lkm code use the new generic devsw add routines (if so required)
define these routines in conf.h so we can use them
1995-10-04 03:43:18 +00:00
julian
ad186c6e98 add the file kern_conf.c so it can be compiled in when needed
for testing.. (for cdevsw_add and bdevsw_add)

make the lkm code use the new generic devsw add routines (if so required)
1995-10-04 03:42:39 +00:00
julian
0b2d21a6af add the file kern_conf.c so it con be compiled in when needed
for testing.. (for cdevsw_add and bdevsw_add)
1995-10-04 03:41:38 +00:00
wollman
3fc43db861 Finish 4.4-Lite-2 merge: randomize TCP initial sequence numbers
to make ISS-guessing spoofing attacks harder.
1995-10-03 16:54:17 +00:00
wpaul
ec8963af8a Make swapgeneric.c compile and (sort of) work again.
This is really just a token gesture at this point. We can't really turn
on swapping here anymore because (I think) we need to do a namei() lookup
in order to get a vnode which we can pass to swaponvp(). But to do a
namei(), we need a properly initialized proc structure, and we don't
have one. (I was hopping to toss it proc0, but that isn't initialized
until later.) We could conceiveably fabricate a dummy proc structure
to make namei() happy, but that's too much work for too little payoff.

For now, swapgeneric's only remaining saving grace is that it lets
you set the root device with -a.
1995-10-03 14:49:38 +00:00
jkh
74b4712f54 Whoops, I misunderstood this. IRQ *12* is a better GUS default. 1995-10-03 01:12:59 +00:00
wollman
6db5ef09ae Compress manual pages (if desired) in the obj directory rather
than in the installation destination.  Should make release-building
substantially faster.  The msun Makefile changes simple adapt to the new
scheme.
1995-10-02 20:02:05 +00:00
dg
0da9546df9 Check for failure to map the interrupt. Not doing so will guarantee that
the machine will wedge later.
1995-10-02 14:04:33 +00:00
dg
f425fbd371 Fixed bug where wrong thing was being checked for NULL before calling
free(), resulting in a panic. This happend whenever an irq had already
been allocated by another device (like something on the ISA bus).
1995-10-02 13:43:11 +00:00
julian
6c352a2d2d actually compiles.. (previous commit was to just get it into the tree) 1995-10-02 10:15:40 +00:00
julian
a630be8f81 Obtained from: well it has a relationship with the LKM code..
This is a place for all things to do with conf.c and conf.h
that are not machine specific.
Other things that are at present in i386/isa/conf.c might
migrate into here..
It's the first small step in cleaning up the device interface
to make it more dynamic and to assist in more modular drivers
(i.e. both loadable via LKMs and linked in..
e.g able to add a device without having to edit conf.c)

this code is not yet used and the whole thing will be conditionally
compiled in for a while till proven useful :)
1995-10-02 09:24:44 +00:00
ugen
5d0e3b6e78 Well..finally..this is the first part..it should take care of
matching IP options..Check and test this - i made only a couple
of rough tests and this could be buggy.. Ipaccounting can't use
IP Options (and i don't see any need to cound packets with specific
options either..)
More to come...
1995-10-01 21:52:50 +00:00
dg
fa16067a4d Insert zeroed pages at the head of the zero queue rather than at the tail.
A measurable performance improvement results from the potential for the
page to be partially cached when it is eventually used.
1995-10-01 20:10:20 +00:00
dufault
e59ac78c69 Say so if a sense code is vendor specific. 1995-10-01 15:19:05 +00:00
dufault
2d9159367e Support the 1542CP by recognizing the new ID. Try to make future
1542 revs work by assuming the next few sequential ID codes are
new Adaptec boards and enabling them after printing a warning.

Conditionalize the informational boot messages with "if (bootverbose)".
1995-10-01 15:09:51 +00:00
dg
5912825d62 Two critical bugfixes:
1) "obj" was't initialized properly, resulting in an important vm_page_lookup
   always failing (resulting in a panic).
2) busy pages could be put on the cache queue or freed (resulting in a panic).
1995-10-01 05:50:27 +00:00
dg
2d4e957890 Make ATAPI support completely optional - if ATAPI isn't defined, the
original code/algorithm is used completely (with one bugfix). This makes
it "safe" to bring these changes into -stable.
1995-09-30 15:19:44 +00:00
jkh
058de844cd Bring IDE CDROM support up to latest version (1.8a?) from Serge.
Submitted by:	vak@cronyx.ru
1995-09-30 00:11:19 +00:00
dg
302aaf80d5 Latest version from Matt Thomas. This version works with the newer
DC21041 NICs and with ZNYX cards.

Submitted by:	Matt Thomas
1995-09-29 19:52:10 +00:00
bde
8f7bb8c7b4 Fix FAT_CURSOR to give scanlines 0-15 instead of (the current start)-15. 1995-09-28 18:43:40 +00:00
jkh
698228783e o Support for CDIOCPREVENT and CDIOCALLOW ioctls that xcdplayer
were making and were no-brainers.  However, the xcdplayer
    eject button didn't work because xcdplayer gave up and didn't bother
    to try the EJECT ioctl anyway when CDIOCALLOW was not available.
    This all works now.

o   A change so that xcdplayer gets TOC entry data for the lead-out area
    on the disc.  Xcdplayer can now play the last track on a CD, which
    it would not do in earlier versions (but no one reported).
    Cdplayer gets the TOC data differently and it works in old and new
    versions.

o   Eliminated a race condition that caused the driver to sleep forever
    on very slow and heavily loaded systems on rare occasions when
    the system was doing lots of audio-related ioctls to the drive.

o   Fixed a problem where a locked drive could be unlocked by accessing
    one of the non-locking devs.  Door locking now follows the documented
    rules.

o   Made all wait channel strings unique to matcd.

Submitted by: Frank Durda IV <uhclem%nemesis@fw.ast.com>
1995-09-28 13:15:49 +00:00
ache
ba21e61ba5 Back out MTUDISC description per Garrett request, yet not ready 1995-09-27 19:12:20 +00:00
ache
aeafdb6b25 Document MTUDISC 1995-09-27 17:26:30 +00:00
wollman
5842872c70 Add newline at end of log message and reduce log level to INFO from NOTICE. 1995-09-27 15:00:49 +00:00
phk
f37fd45509 if_ze.c was derived from if_ed.c about 42 (!) versions ago. It is now
scheduled for demolition.  This is a first step: get rid of if_zereg.h,
by adding the five extra definitions to if_edreg.h.
Also add some definitions which will become needed when if_ze.c gets
replaced entirely by pccard and if_ed.c.  (this is a 2.1.0 candidate)
1995-09-26 08:57:47 +00:00