Commit Graph

3861 Commits

Author SHA1 Message Date
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