Commit Graph

4345 Commits

Author SHA1 Message Date
Poul-Henning Kamp
d28db85ed5 "distribute" games into their own distribution.
Reviewed by:
Submitted by:
Obtained from:
1994-11-14 20:10:49 +00:00
Andrey A. Chernov
775fca0065 Remove unused variable from previous commit 1994-11-14 19:32:11 +00:00
Andrey A. Chernov
c26acd6574 Add model autodetection code, idea from burgess@s069.infonet.net
This change affects probe printout, disklabel, devconf stuff
1994-11-14 19:25:43 +00:00
Bruce Evans
004bedeb68 Rewrite almost everything.
Alphabetize.

Write all i/o functions in sleep so that we don't use anything from
NetBSD.

Restore the correct type of u_int for ports.  This saves a whole cycle
per i/o on 486's.

Change `inline' back to __inline to avoid compiler warnings with
-Wreally-all.

Don't implement bdb() unless BDE_DEBUGGER is defined.  Declare bdb_exists
outside the function to avoid hundreds of compiler warnings.

Let the compiler pick the register in asms if possible.

Implement ffs() using inline asm().  gcc provides a slightly different
one.  It was broken in gcc-2.4.5 but works now.  Declaring a correct
version inline ensures getting a correct version.  FreeBSD-1.1.5 has
an slow inline version but FreeBSD-2.0 has a library version (which
probably never gets used).

Do inb() and outb() without using %edx for constant ports below 0x100.

Remove casts to the same type in queue functions.

Declare prototypes for everything implemented i386/*.s and also for
everything that is normally implemented as an inline here (I don't
like the current complete dependency on gcc).  Ifdef out the prototypes
that are declared elsewhere.  THere should be a separate header to
declare things implemented in i386/*.s, but then it would be harder
to override declarations with inlines.

${UII}
1994-11-14 15:04:06 +00:00
Bruce Evans
663f148514 Log processes that exit with an masked npx exception that would trap
with the current default exception (un)mask.  There should be no such
processes unless you change the mask.  Someday the mask should be
changed to the IEEE default of everything masked.  The npx state
gets saved so that it can be checked and this may have the side effect
of fixing a bug that was reported for 1.1.5.  (npx exceptions may
sometimes leak across exits and clobber another process.  I can't see
how this can happen.)

Get some missing/wrong declarations from headers now that the headers
have them.
1994-11-14 14:59:06 +00:00
Bruce Evans
1b099e1e02 Hide the declaration of ffs() if an inline ffs() is implemented.
I couldn't find a better way to avoid compiler warnings about
redundant and/or inconsistent declaration of ffs().  I'd like to
be able to declare prototypes in general headers without committing
to implementing them as `static inline' or `extern', but there
seems to be no way to do this with gcc-2.6.1.  E.g.,

	int foo(void);
	static __inline int foo(void) { return 1; }

causes a warning about the linkage mismatch, while the opposite
order causes a warning about the redundant declaration.
1994-11-14 14:56:46 +00:00
Bruce Evans
e77e2e6ca1 Oops, the previous commit got the diff for the log message instead of
the following.

Move declarations to and from <machine/segments.h>.  Make segment stuff
static if possible.

Remove unused (although initialized) global variables _default_ldt,
currentldt, _gsel_tss (rename the latter to the auto variable
gtel_tss).

Use "correct" and consistent types for interrupt handlers.

Remove a mailing address from the code.

Fix type mismatches found by adding prototypes.
1994-11-14 14:23:54 +00:00
Bruce Evans
30008dda2d (Bogus several hundred line diff for a log message deleted. See rev 1.91
for the intended log message. -DG)
1994-11-14 14:19:54 +00:00
Bruce Evans
095b0028db Move declarations of atdevbase and rtcin() to cpufunc.h (a less wrong
place).

Fix spelling error.

Uniformize idempotency ifdef.
1994-11-14 14:19:10 +00:00
Bruce Evans
040f100044 Remove 1.5+K of bloat for unused idt entries.
Partly support BDE_DEBUGGER.  Still broken by conflict with APM.  Does
nothing if BDE_DEBUGGER is not defined.

Clean up prototypes and data declarations.  Declare most of the segment
functions that are implemented in support.s.  Make data private in
machdep.c if possible.

Parenthesize expressions in macros properly!

${Uniformize idempotency ifdef}.
1994-11-14 14:18:15 +00:00
Bruce Evans
e00dc32993 Remove extra idempotency ifdef and uniformize the other one.
Comment about support for 4 different spellings of KERNEL.
1994-11-14 14:13:13 +00:00
Bruce Evans
3bbb00e1a3 Declare inline functions as __inline and with new-style parameter lists
to avoid compiler warnings.

Clean up prototypes: alphabetize; don't use redundant `extern' or
meaningless `extern inline'.

Uniformize idempotency ifdef.
1994-11-14 14:12:24 +00:00
Bruce Evans
080e34f38b Declare fuswintr() and suswintr() the same as fusword() and susword().
(These functions are implemented in assembler so the compiler can't
check the declarations.)

Clean up prototypes: restore CSRG's alphabetical order, arg names in
prototypes, formatting to fit in 80 columns
1994-11-14 14:09:38 +00:00
Bruce Evans
67df6ed30c if.h:
Declare a complete prototype for the function pointer *ifa_rtrequest.

radix.h:
Declare a complete prototype for the function pointer *rnh_walktree
and for the function rn_walktree.

Uniformize idempotency ifdef.
1994-11-14 14:06:06 +00:00
Bruce Evans
dedb3ba62d Update stupid declaration in comment to match code.
Declare all public syscntlfn's here.
1994-11-14 13:59:09 +00:00
Bruce Evans
6124ac44aa Move declarations of public functions to <sys/sysctl.h>.
Make some private data static.

Comment about MAXPATHLEN bytes of bloat for the kernel name.
1994-11-14 13:58:30 +00:00
Bruce Evans
bf40299d44 Declare a complete prototype for the function pointer *ext_free and the
function m_devget.

Uniformize idempotency ifdef.
1994-11-14 13:54:20 +00:00
Bruce Evans
80d08a820d Add prototype for vfinddev(). 1994-11-14 13:51:53 +00:00
Bruce Evans
ad7dee4d66 Remove unused `struct disklabel' (the declarations that used it went away).
Uniformize idempotency ifdef.
1994-11-14 13:50:15 +00:00
Bruce Evans
36633bf49d Undo a previous change. <sys/disklabel.h> was broken, not these files. 1994-11-14 13:22:52 +00:00
Bruce Evans
3d06c6b3f5 Declare `struct dkbad' with the correct scope so that everything including
<sys/disklabel.h> doesn't have to include <sys/dkbad.h> to avoid compiler
warnings.
1994-11-14 13:08:44 +00:00
Bruce Evans
4f21005bdd pmap.h:
Disable the bogus declaration of pmap_bootstrap().  Since its arg list
is machine-dependent, it must be declared in a machine-dependent header.

vm_page.h:
Change `inline' to `__inline' and old-style function parameter lists for
inlined functions to new-style.

`inline' and old-style function parameter lists should never be used in
system headers, even in very machine-dependent ones, because they cause
warnings from gcc -Wreally-all.
1994-11-14 08:19:08 +00:00
Bruce Evans
ba9c09688c Add missing define of DPADD. Remove uneccessary define SRCS. Reorder
defines.
1994-11-14 08:02:40 +00:00
Bruce Evans
99fb10656e Don't follow a null pointer for the reporting error if kvm_openfiles() fails.
Don't ever pretend that the program is named "." and has no args.
1994-11-14 07:54:06 +00:00
Bruce Evans
2f1d65aabc Don't build an unused array of kernel names when HAVE_GETBOOTFILE is
defined.

Don't use the newfangled C features to waste time building the array
at runtime when HAVE_GETBOOTFILE is not defined.
1994-11-14 07:51:11 +00:00
Bruce Evans
d6238d7915 Fix logic in previous commit. 1994-11-14 07:13:12 +00:00
Bruce Evans
f0f78037fe Remove the bogus include of <sys/dkbad.h>. 1994-11-14 07:01:58 +00:00
Bruce Evans
ff8189b3f8 Install shared libraries in ${SHLIBDIR} instead of in ${LIBDIR}.
Add missing ${DESTDIR}'s.
1994-11-14 06:45:23 +00:00
Bruce Evans
643c00317e Install shared libraries in ${DESTDIR}${SHLIBDIR} instead of in
$(DESTDIR)/$(LIBDIR) (I need SHLIBDIR.  The / was a bug and the
$(...) style was inconsistent.)

Install ordinary libraries in ${DESTDIR}${LIBDIR} instead of in
$(DESTDIR)/$(LIBDIR).

Change remaining $(...) to ${...}.
1994-11-14 06:44:45 +00:00
Bruce Evans
baa5e01a32 This change was actually made in the previous revision:
Define SHLIBDIR?= ${LIBDIR} and install shared libraries in
${DESTDIR}${SHLIBDIR} instead of in ${DESTDIR}${LIBDIR}.
SHLIBDIR may be defined in /etc/make.conf to override the
default of /usr/lib (I use /lib).  Other changes are required
for non-default shared library directories to actually work
(ld* and crtso have too many hard-coded paths).

Bruce
1994-11-14 06:28:20 +00:00
Bruce Evans
069fcad2d9 Clean up some foreign makefiles a bit, attempting to handle .sh files
more like binaries.  This is hard to do using a general rules because
the natural `.sh:' rule has a null suffix and null suffixes are broken.
(With 1.1.5's make they sometimes work and sometimes cause core dumps.
2.0's make has a botched fixed and they never work.)
1994-11-14 05:57:36 +00:00
Bruce Evans
a3a5ddcb52 Include <sys/types.h> early. This will be required when <stdio.h> and/or
<signal.h> are fixed to not include it.

Bruce
1994-11-14 05:16:46 +00:00
Bruce Evans
2175e44a77 Define `RANTOUCH?= ${RANLIB} -t' and use it instead of ${RANLIB} -t.
RANTOUCH may be defined in /etc/make.conf as
`${ECHO} skipping ${RANLIB} -t' to help stop `make install' from
changing the timestamps on unchanged libraries, thus making the
uninstalled binaries appear to be out of date...  Other changes
are required to stop install from clobbering the timestamps.
1994-11-14 04:55:39 +00:00
Bruce Evans
3ecb436950 Define LIBEDIT, LIBGCC, LIBKVM, LIBSCRYPT and LIBY.
Comment about missing libraries for LIBDES, LIBKDB, LIBKRB, LIBMP, LIBPC
and LIBPLOT.

Don't define LIBDBM since it was replaced by db in libc.

Remove duplication.  ${DESTDIR}/usr/lib/... gives /usr/lib/... even when
DESTDIR is not defined.
1994-11-14 04:28:44 +00:00
Bruce Evans
2c02e8a20a Replace strtol() by strtoul() so that "negative" addresses and masks don't
get truncated to LONG_MAX.  Don't lobotomize the merged library source.

Make all private data static.

Use int_parms for the i/o "address" since the "address" is really a number
and is represented as an int.

Add command `flags' to allow changing device flags.

Fix scrolling of device listing.  Only scrolling of the current devtab
was controlled.  Reprint the header after scrolling.

Rename commands and change strings to match their config(8) keywords:

	io -> port
	IOaddr -> port
	mem -> iomem (abbreviation is io :-()
	MemAddr -> iomem
	case changes

Don't use NULL for ASCII NUL.

Call strtoul() with base 0 for both numbers and addresses so that input
is consistent and hex and octal can be used for numbers.

Fix entry of irq number.  Check the range at no extra cost.  It wasn't
possible to enter irq -1.

Format device listing better.  Large numbers (such as 0xffffffff for the
GENERIC lpt0 port) messed up the formatting.

Show the unit number in the device listing.  Comment about the fields
that aren't shown.
1994-11-14 03:22:28 +00:00
David Greenman
b0150bfc4b Set laundry flag when transitioning an inactive page from clean to dirty.
This fixes a performance bug where pages would sometimes not be paged
out when they could be.

Submitted by:	John Dyson
1994-11-14 02:57:40 +00:00
David Greenman
317205ca28 Fixed bug where a read-behind to a negative offset would occur if the
fault was at offset 0 in the object. This resulted in more overhead but
was othewise benign. Added incore() check in vnode_pager_has_page()
to work around a problem with LFS...other than slightly higher overhead,
this change has no affect on UFS.
1994-11-13 22:48:55 +00:00
Nate Williams
0dc02ef480 Fixed a mis-spelling. 1994-11-13 21:19:18 +00:00
Nate Williams
0f1f11ef34 Added the DEC ethernet cards to the list of supported ethernet drivers. 1994-11-13 21:17:38 +00:00
Nate Williams
7145a92269 Changed output message in interrupt-driven lp device from
'TCP/IP interface' to 'TCP/IP capable interface' to avoid confusion.
1994-11-13 21:14:30 +00:00
Poul-Henning Kamp
55ff8fb132 Add a new "distribute" target. This is a variant of install, which will
put the stuff into the right "distribution".  As default things end up
in "bindist".

Normal (ie: most) makefiles know naught of this.

More commits will follow, which will direct various parts of the tree
into the distribution we want them in.

Some of the grief of being release-engineer is supposed to go away with this.
1994-11-13 21:05:28 +00:00
Poul-Henning Kamp
2a7b3781fc Added routines to read the canonical UNIX configuration file. This will
later be applied to a number of programs (inetd for instance) to clean
out the bogus code doing the same thing, modulus all the bugs.

If you need to read a '#'-is-a-comment-file, please use these routines.

I realize that the shlib# should be bumped (for the non-US world:
increased by something), but will defer this until something significant
happens.
1994-11-13 20:47:44 +00:00
David Greenman
24ea4a9671 Fixed bugs in accounting of swap space that resulted in the pager thinking
it was out of space when it really wasn't.

Submitted by:	John Dyson
1994-11-13 15:36:48 +00:00
David Greenman
bfbfac11c9 Implemented swap locking via P_SWAPPING flag. It was possible for a process
to be chosen for swap-in while it was being swapped-out. This was BAD.

Submitted by:	John Dyson
1994-11-13 12:47:07 +00:00
David Greenman
0d15e0ac1e Added P_SWAPPING flag to implement a lock for swap in. It was possible for
a process to be chosen for swap-in while it was being swapped-out. This was
BAD.

Submitted by:	John Dyson
1994-11-13 12:46:08 +00:00
David Greenman
07d0d0fc9c Added support for SIOCSIFMTU ioctl. Fixed bug that caused panic at boot time
related to interrupts being enabled before the device attach. The interrupt
should be mapped *after* the device attach.
1994-11-13 12:39:38 +00:00
Justin T. Gibbs
e424e8bfac Add ep0 line to kernel config files. 1994-11-13 10:17:07 +00:00
Justin T. Gibbs
72f30c2bd3 Andres Vega Garcia's improvements to the ep driver. This driver is a merging
of the 1.1.5 driver, a recent version of the NetBSD driver, Andres'
transmission start threshold code, and all other relavent changes to the driver
since it was brought into 2.0.  The multicast support from NetBSD has not be
folded in yet.  I've tested it under high loads for two weeks and it is now
robust enough to be included in the GENERIC kernel.
Reviewed by: gibbs
Submitted by:	vega@sophia.inria.fr (Andres Vega Garcia)
1994-11-13 10:12:37 +00:00
Nate Williams
412ac969ed Add Matt Thomas' le0 DEPCA driver to the GENERIC kernel. This works
but I can't test to see if it walks on other ethernet drivers.  Can the
install folks add this driver to the install script?
1994-11-13 09:42:07 +00:00
Nate Williams
e369a78c55 Added VLB to the list of PC busses supported since this question comes up
often on USENET.

Added comments regarding the new 'extended IDE' controllers, which work with
FreeBSD but do not use the extended features.

Minor formatting changes.
1994-11-13 09:19:04 +00:00