1698 Commits

Author SHA1 Message Date
bde
0a69e97a70 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
bde
b52c9d7b5b 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
bde
8332f818bd 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
bde
63ee9096f2 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
bde
8f65c578e5 (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
bde
9cab2e99d7 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
bde
03c6bfcbf9 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
bde
245279f8fa 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
bde
0e64300c79 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
bde
cd615052dd 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
bde
37abb2da7a 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
bde
bb89e3d6c3 Update stupid declaration in comment to match code.
Declare all public syscntlfn's here.
1994-11-14 13:59:09 +00:00
bde
ae45316bf1 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
bde
68a749e066 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
bde
11693910a8 Add prototype for vfinddev(). 1994-11-14 13:51:53 +00:00
bde
2f3292e0d0 Remove unused `struct disklabel' (the declarations that used it went away).
Uniformize idempotency ifdef.
1994-11-14 13:50:15 +00:00
bde
f2dfc1d8f0 Undo a previous change. <sys/disklabel.h> was broken, not these files. 1994-11-14 13:22:52 +00:00
bde
d1f1b2e2b3 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
bde
8e23a5a163 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
bde
e7c6a4d349 Remove the bogus include of <sys/dkbad.h>. 1994-11-14 07:01:58 +00:00
bde
9f3046f5bc 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
dg
3f1b0f5075 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
dg
4447d9f5c1 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
49181dd5a7 Fixed a mis-spelling. 1994-11-13 21:19:18 +00:00
nate
e637a98a76 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
phk
94e55d40f9 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
dg
cf1d2fea84 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
dg
01e4955a84 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
dg
e89f049b6a 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
dg
05ff8934e3 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
gibbs
14a63f17d4 Add ep0 line to kernel config files. 1994-11-13 10:17:07 +00:00
gibbs
0edcf3a920 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
cb198fadcd 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
dg
aa7ecd21c7 Nuked ed2 - it was added for the common 16bit card case where the
irq is 10. This is auto-sensed/configured now in the 'ed' driver.
1994-11-13 07:20:03 +00:00
dg
7c27b70251 In cases where it is possible, use the card's configured irq rather than
the one compiled into the kernel. Left in some commented-out shared memory
performance test code.
1994-11-13 07:17:46 +00:00
jkh
bdf6418231 I *almost* had it right. Skip over the rest of the command if it's
abbreviated.
1994-11-13 01:55:33 +00:00
jkh
6d7f44acc0 Make the command set actually work the way I'd intended - you can abbrevate
commands now, as long as whatever you abbreviate them to remains unique.
1994-11-13 00:57:06 +00:00
jkh
01aaa7bddb Whoops, make the comment match the new reality while we're at it. 1994-11-13 00:43:29 +00:00
jkh
74c4e6d5fb mem's 2nd arg was incorrectly defined as an integer, not address parameter.
I found this out the hard way when I went to do:

	mem ed0 0xe8000

And found out that I had to enter the second parameter in decimal.. :-)
1994-11-13 00:42:01 +00:00
jkh
2383a75723 Add back ed2. Harrumph.. 1994-11-12 20:27:24 +00:00
ache
380a01b007 Implement CDIOCALLOW as dummy function (for xcdplayer) 1994-11-12 18:18:20 +00:00
ats
112342be8d Delete a bogus check that the SCSI_DELAY only works for the first
scsi adapter. Let it work on every adapter. Someone want to rewrite
this to be coupled with the adapter specification in the config file,
so that you can say which adapters need it ?
1994-11-12 17:13:23 +00:00
ache
efb0e42fc7 Revision 1.6 fix was lost: don't write 0 to RTC_DIAG 1994-11-12 16:24:54 +00:00
ache
af46a3adab Changes from bugress@s069.infonet.net NOT installed (expect one
cosmetique) because we already have right things there or his changes
are incorrect.
Fix mcd_subchan to return position, inspired by idea from
bugress@s069.infonet.net, but different implementation.
1994-11-12 14:19:11 +00:00
ache
f5cc91bad7 Add and reorganize new MCD commands from bugress@s069.infonet.net
No functionality changes yet, will be next step
1994-11-12 13:26:13 +00:00
jkh
158c37c20e ed2 was actually an impossible entry to reach! 1994-11-12 06:12:01 +00:00
phk
624e500bac Make a kernel sans FFS possible. 1994-11-12 01:47:43 +00:00
dg
f45728d1ba Added 'de' ethernet driver. 1994-11-11 05:48:49 +00:00
dg
6c43274722 Convert irq to a bitmask before putting in id_irq.
Fixed bugs related to the 'more' code.
1994-11-11 05:28:59 +00:00
ats
d07f18e216 pick up the changes from a makesyscall.sh run. The multiple lkmnosys
declarations should now be gone.
1994-11-10 23:59:47 +00:00