Commit Graph

975 Commits

Author SHA1 Message Date
David Greenman
9aba88bf29 Rather than exclude bounce buffers support with NOBOUNCE, include it
with BOUNCE_BUFFERS. This is more intuitive, and is better for future
multiplatform support. Added BOUNCE_BUFFERS option to the GENERIC and
LINT kernel config files.
1994-08-31 06:17:49 +00:00
David Greenman
e81097cf46 Quiet down compiler warnings. 1994-08-31 04:45:24 +00:00
David Greenman
da992aeb48 Changed STRC -> P_TRACED. 1994-08-30 20:18:52 +00:00
David Greenman
5d39db03f6 Whoops...clean up after me cleaning up after Bruce. 1994-08-30 20:11:40 +00:00
David Greenman
0711286530 Cleaned up after Bruce: there were still some things that included
com.h/lpa.h. Removed all vestiges of com/lpa out of conf.c and also
fixed up the end of cdevsw/bdevsw to have "no" routines instead of
a NULL pointer (suggested by someone a few weeks back).
1994-08-30 19:36:35 +00:00
David Greenman
694292e3df Moved gpl'd fpemul into 2.0 cvs tree. Changed it's location to
sys/gnu/i386/fpemul/.
1994-08-30 19:01:44 +00:00
David Greenman
a6ca859eb1 Fixed bug caused by change of rlimit variables to quad_t's. The bug was in
using min() to calculate the minimum of rss_cur,rss_max - since these
are now quad_t's and min() takes u_ints...the comparison later for exceeding
the rss limit was always true - resulting in rather serious page thrashing.
Now using new qmin() function for this purpose.

Fixed another bug where PG_BUSY pages would sometimes be paged out (bad!).
This was caused by the PG_BUSY flag not being included in a comparison.
1994-08-30 18:27:44 +00:00
David Greenman
147db1cbab Added qmin and qmax functions to deal with quad_t's. 1994-08-30 18:19:47 +00:00
David Greenman
e66defe8ab Changed to reclaim memory from other buffers to eliminate memory
thrashing.

Submitted by:	John Dyson
1994-08-30 18:19:11 +00:00
Bruce Evans
8fdce837c3 Don't define LOCORE (as nothing) in sources. It is now defined
consistently (as 1) in Makefile.i386 for all assembler sources.
1994-08-30 17:19:10 +00:00
Bruce Evans
292cf0fd45 Add conf.c, machdep.c, exception,s, support.s and swtch.s so that config
will do most of the work for handling them.  Only one extra flag and one
bogus dependency was used for machdep.c and there was never anything
special about the others.

Add locore.s, but commented out.  It's still special.

Remove com.c and lpa.c.
1994-08-30 17:18:34 +00:00
Bruce Evans
0611064bd9 Remove exception.o, swtch.o, support.o, conf.o and machdep.o from
SYSTEM_OBS.  They are now normal objects.

Remove stale dependencies for the above now-normal objects and for
locore.o and generate dependencies using mkdep.  Config doesn't
generate lists of assembler source files so the lists to be mkdep'ed
have to be given explictly.  Only the standard *.s files are given,
so the dependencies for gnu/fpemul/*.s are incomplete.  *.S files
would be handled right if config put them in CFILES.

Don't define NPX.  It was replaced by NNPX > 0 years ago.

Define LOAD_ADDRESS in COPTS so that compiling machdep.c isn't a special
case.

Moving around the dependencies exposed a bug in make.  It doesn't
know that assym.s and ./assym.s are the same.  Add a rule tell it.
1994-08-30 17:17:49 +00:00
Andrey A. Chernov
eda43f1aca Change RAW_PART back to 3, too early step right now, disklabels need more
work
Change hardcoded 3 value in several places to RAW_PART define
1994-08-30 14:31:38 +00:00
Andrey A. Chernov
b7a8860d88 Change WDRAW back to 3, too early step right now, disklabels needs more
work
Change hardcoded 'd' in printfs to 'a' + WDPART
1994-08-30 14:26:13 +00:00
Bruce Evans
2c22dd40a2 Conditionalize support for my debugger. This normally saves 304 bytes. 1994-08-30 01:38:04 +00:00
Jordan K. Hubbard
2de1d01ab8 Make decl/define for Debugger() match reality.
Submitted by:	jkh
1994-08-30 00:12:11 +00:00
Andrey A. Chernov
0e91a83462 Fake floppy partition RAW_PART=2 now 1994-08-29 21:47:11 +00:00
Andrey A. Chernov
39a66415f6 RAW_PART=2 1994-08-29 21:37:49 +00:00
Andrey A. Chernov
8a1d40881d Now WDRAW=2 1994-08-29 21:35:16 +00:00
Andrey A. Chernov
b2be795bf2 Use RAW_PART=2 to trick diskerr 1994-08-29 21:32:31 +00:00
Andrey A. Chernov
c594d6c8a3 Raw partition is 2 now 1994-08-29 21:25:11 +00:00
Andrey A. Chernov
3b2dc1fcd6 Raw partition is 2 now 1994-08-29 21:19:27 +00:00
David Greenman
fff93ab600 Patches from John Dyson to improve swap code efficiency.
Religiously add back pmap_clear_modify() in vnode_pager_input until we figure
out why system performance isn't what we expect.

Submitted by:	John Dyson (swap_pager) & David Greenman (vnode_pager)
1994-08-29 06:23:19 +00:00
David Greenman
1cdeb653a8 "bogus" fixes from 1.1.5 to work around some cache coherency problems. 1994-08-29 06:09:15 +00:00
Andrey A. Chernov
67f5dcad6b Bruce was right, stupid device returns non-busy state too early,
add only one DELAY(10) after inb(non_busy) now
1994-08-28 20:37:59 +00:00
Bruce Evans
66e2076c9e Reformat recent additions to the same style as the original. 1994-08-28 16:53:35 +00:00
Bruce Evans
406d45e059 Don't test if a u_int is < 0. The remaining test is sufficient and the
extra one caused a warning.
1994-08-28 16:16:33 +00:00
Bruce Evans
8a3a52aaa1 Update declarations for timeout stuff the same as for the other SCSI
drivers.
1994-08-28 16:08:51 +00:00
David Greenman
f1a9c71596 Made a little more up to date. 1994-08-28 06:46:25 +00:00
David Greenman
3b281f5345 ddb ps function from 1.1.5. Moved into its own file and cleaned up a bit
by me.
1994-08-27 16:28:45 +00:00
David Greenman
d5e4441ddd Updated this a bit. It's still woefully out of date. 1994-08-27 16:23:03 +00:00
David Greenman
8a129caed5 1) Changed ddb into a option rather than a pseudo-device (use options DDB
in your kernel config now).
2) Added ps ddb function from 1.1.5. Cleaned it up a bit and moved into its
   own file.
3) Added \r handing in db_printf.
4) Added missing memory usage stats to statclock().
5) Added dummy function to pseudo_set so it will be emitted if there
   are no other pseudo declarations.
1994-08-27 16:14:39 +00:00
Andrey A. Chernov
de662aeac4 Continue previous fix:
Add MIN_DELAY definition instead of hard-coded 10
1994-08-27 15:28:34 +00:00
Andrey A. Chernov
e84e5d655f 1) Raw partition number was incorrectly 0, changed to 3
2) DELAY(1) does nothing, it affects audio playing f.e:
driver can't play second half of disk, changed to DELAY(10)
3) Debugging messages #ifdef DEBUGed
1994-08-27 13:15:25 +00:00
Garrett Wollman
6a7be6e8e0 Obey RFC 793, section 3.4:
Several examples of connection initiation follow.  Although these
  examples do not show connection synchronization using data-carrying
  segments, this is perfectly legitimate, so long as the receiving TCP
  doesn't deliver the data to the user until it is clear the data is
  valid (i.e., the data must be buffered at the receiver until the
  connection reaches the ESTABLISHED state).
1994-08-26 22:27:16 +00:00
Garrett Wollman
24ea21ced4 Added ntp_gettime and ntp_adjtime syscalls, both nosys'ed out until
someone gets to re-integrating the code.  ntp_gettime() should be
turned into a sysctl variable and emulated in the library.
1994-08-26 18:15:25 +00:00
Jordan K. Hubbard
e6175254f3 Bring back our support for 57K and 115K.
Submitted by:	jkh
1994-08-26 12:07:31 +00:00
Søren Schmidt
acb5f10f46 Oops didn't check that init_sysent.c was generated proberly. Fixed.
Reviewed by:
Submitted by:
1994-08-26 09:33:37 +00:00
Søren Schmidt
75c34c34d6 Changes to new sysent structure. TODO MOD_EXEC support.
Reviewed by:
Submitted by:
1994-08-26 08:42:07 +00:00
Jordan K. Hubbard
9f99fb8402 Add timex.h for xntpd. The system calls will have to wait for tomorrow,
when I'm less sleepy.
Submitted by:	jkh
1994-08-26 06:29:22 +00:00
Garrett Wollman
d843c3038f Methinks p_sysent should be in the copy-on-fork rather than the
zero-on-fork section of the struct proc.  (At least, my system
won't boot unless it is.)
1994-08-25 22:59:35 +00:00
Garrett Wollman
293c5accf0 Add Charles Martin Hannum to copyright notice so he can stop whining and
find something useful to do other than taking credit for other people's
work.  Also make the 3C507 bits match the indentation style of the rest of
the code.
1994-08-25 20:16:59 +00:00
Paul Richards
c77e94e6df Stop cvs up -P from removing empty compile directories.
Reviewed by:
Submitted by:
1994-08-25 16:20:16 +00:00
Paul Richards
8a2283e2ac Added ${MACHINE}/boot to build bootblocks.
Submitted by:	Paul Richards
1994-08-25 13:54:28 +00:00
Bruce Evans
3e0a35fee4 Updated to final 1.1.5 version (revision 1.56).
Merged changes from 2.0 version (revisions 1.46-1.50) by hand.

Finished conversion to clists: removed flush of tty output buffer
in comflush() (most writes were truncated to 256 bytes) and restored
bypass of ttyinput() in siopoll().

Finished conversion to 2.0 types - more void *'s, less caddr_t's,
less casts, no Dev_t's.

Only these things are seriously broken now compared with 1.1.5:
waiting for output complete is impossible so ttywait() can deadlock;
sioclose() isn't called enough so sioopen() sometimes returns EBUSY
unnecessarily; input flow control is not implemented.
1994-08-25 10:15:28 +00:00
Bruce Evans
5b96a5b90d Support speeds 57600 and 115200.
Privatize functions.
1994-08-25 10:01:00 +00:00
Andreas Schulz
a5585c6fbd Reviewed by:
Submitted by:
Add the elink.c file to the necessary modules for the ie and ep driver.
1994-08-24 22:37:56 +00:00
Andreas Schulz
411c7a8786 Reviewed by:
Submitted by:
Add the 3com 3C507 card to the if_ie.c driver. The files elink.c and
elink.h are helding routines that are shared between the 3C507 and the
3C509/3C579. if_ie507.h are constant declarations unique to the 3C507.
The code is based on the NetBSD driver if_ie.c donated to NetBSD by
Rafal Boni and then modified by Charles Hannum.
1994-08-24 22:32:44 +00:00
Søren Schmidt
f3f0ca6051 Changes preparing for iBCS support
Reviewed by:
Submitted by:
1994-08-24 11:52:21 +00:00
Søren Schmidt
c9177dd5f0 Changes preparing for iBCS support
Reviewed by:
Submitted by:
1994-08-24 11:51:46 +00:00
Søren Schmidt
ca70a975e9 New file declaring the sysent structures
Reviewed by:
Submitted by:
1994-08-24 11:47:23 +00:00
Søren Schmidt
25ae122558 Changes preparing for iBCS2 support
Reviewed by:
Submitted by:
1994-08-24 11:45:19 +00:00
Søren Schmidt
c085674216 Added iBCS2 files
Reviewed by:
Submitted by:
1994-08-24 11:44:45 +00:00
David Greenman
0fd1a014fe Pay attention to *all* errors from copyinstr(). This patch fixes a bug
that causes a no-panic instant reboot when bogus argv/envvs are fed to
execve().
1994-08-24 10:53:53 +00:00
David Greenman
e0c0215442 Initialized v_writecount. 1994-08-24 04:06:39 +00:00
David Greenman
329b62ac1c Corrected some comments regarding ptes/pdes. 1994-08-23 16:27:15 +00:00
Paul Richards
d184e84f7e Re-enabled inlining of inb.
Changed u_int_inb to just inb and deleted define.

The code generated is identical to that generated with the cast so
the problem was obviously fixed at some point after gcc 1.4

Reviewed by:
Submitted by:
1994-08-23 13:41:37 +00:00
Paul Richards
bffa0592e2 I've disabled this piece of code since it's what's
hosing syscons. Doesn anyone know anything about this
or can we just delete it now?

/*
 * This roundabout method of returning a u_char helps stop gcc-1.40 from
 * generating unnecessary movzbl's.
 */
#ifdef disable_for_gcc-2_6_0
#define inb(port)       ((u_char) u_int_inb(port))
#endif

static inline u_int
u_int_inb(u_int port)
{
        u_char  data;
        /*
         * We use %%dx and not %1 here because i/o is done at %dx and
not at
         * %edx, while gcc-2.2.2 generates inferior code (movw instead
of movl)
         * if we tell it to load (u_short) port.
         */
        __asm __volatile("inb %%dx,%0" : "=a" (data) : "d" (port));
        return data;
}

Reviewed by:
Submitted by:
1994-08-23 11:57:19 +00:00
Jordan K. Hubbard
d42826b436 I was in bourne-shell mode when I wrote this.. *blush*.
Submitted by:	jkh
1994-08-23 09:54:22 +00:00
Paul Richards
d091793974 Ran ft.c through ident.
Added a missing #ifdef INET wrapper in lpt.c

Main change:
	Removed the timeout_func_t casts from timeout calls and
	correctly defined the timeout routines to conform to
	the new format.
lpt.c doesn't have this change.

Reviewed by:
Submitted by:
1994-08-23 07:52:29 +00:00
Jordan K. Hubbard
84fb67c981 Fix the libkern references to hopefully DTRT. See comments regarding
a slight change in how profiled version is selected - may need to adjust
some .mk macros if PROF is foolishly initialized anywhere to a null value.
Submitted by:	jkh
1994-08-23 04:21:21 +00:00
Geoff Rehmet
08a55f5ccd remove unnecessary occurrence of
#ifndef _SYS_TTYCHARS_H_
#define _SYS_TTYCHARS_H_
...
#endif
Submitted by:	Geoff
1994-08-22 19:34:03 +00:00
David Greenman
4f5a3fef1a print "BUSY" instead of error number if filesystem was busy during
vfs_unmountall() - this is the most common case. If it was a different
error, then print the error number.
1994-08-22 17:05:00 +00:00
Bruce Evans
f0b544e99e Restore the intr_* array variables that were removed in the previous
revision.  They caused redundant redeclaration warnings because I
forgot to declare them as extern and gcc-2.6.0 treats "extern int x[];"
slightly different from "int x[];" (this is probably a bug).  The new
versions will cause RR warnings from gcc-2.4.5 because it does not
understand that the second declaration in "extern int x[]; int x[1];"
is not redundant.  The variables don't actually need to be declared
in a header file because they are used in only one C source file and
one assembler source file, but I want all public variables and
comments about them to be findable by grepping *.h.
1994-08-22 15:58:40 +00:00
Bruce Evans
1353e8ff44 Pad `_cpu_vendor' to finish on a 32-bit boundary so that most of the
locore globals aren't misaligned.
1994-08-22 14:28:57 +00:00
Bruce Evans
c80c3fd1f1 Idempotency #endif was not at end of file or commented. 1994-08-22 14:16:36 +00:00
Bruce Evans
b531a9b1c9 - Fix warnings in df, etc. caused by misplaced declaration of doumount().
- Fix bogus comments caused by misplaced #endif.
1994-08-22 14:09:51 +00:00
Bruce Evans
e8496288df - Fix attribute for __pure2.
- Update name of idempotency identifier in comment to match code.
1994-08-22 13:44:39 +00:00
Søren Schmidt
5d39245780 modified include stucture to 2.0 style.
Reviewed by:
Submitted by:
1994-08-22 11:11:05 +00:00
David Greenman
f85b3e8c21 Fixed minor typo in diagnostic message. 1994-08-22 08:21:51 +00:00
Paul Richards
89ebd8383e Added (timeout_func_t) casts to timeout/utimeoute calls.
Reviewed by:
Submitted by:
1994-08-21 20:16:14 +00:00
Paul Richards
d9e9aec7ad Another typo by me
Reviewed by:
Submitted by:
1994-08-21 19:19:39 +00:00
Paul Richards
1624344d17 Remove the idempotency I added -- it was wrong.
Reviewed by:
Submitted by:
1994-08-21 19:13:08 +00:00
Paul Richards
9d0de5eba9 Fix typo (define -> ifndef)
Reviewed by:
Submitted by:
1994-08-21 19:06:48 +00:00
Paul Richards
c4350ddb46 Removed disk type from disklabel lines, not needed for installing
bootblocks.

Reviewed by:
Submitted by:
1994-08-21 18:15:45 +00:00
Paul Richards
b95ed23990 Fixed bootblocks to work with FreeBSD 2.0
1) Fixed up some header locations
2) Replaced list of boot files with /kernel
3) Changed disklabel use in Makefile to conform to 4.4
4) Added size command in Makefile to get close estimate of bootblock
   sizes. Total size of text and data must be below 64K, slightly
   overestimated since a.out header subsequently gets stripped.
5) Various buffer sizes are set to 8192 bytes in sys.c. In 4.4 MAXBSIZE
   is set to 64K which is too big for the bootblocks to deal with.

Submitted by:	Paul Richards
1994-08-21 17:47:26 +00:00
Paul Richards
3301cc3c0a Made idempotent
Reviewed by:
Submitted by:
1994-08-21 07:19:45 +00:00
Paul Richards
eb9fb78c34 Made idempotent
Reviewed by:
Submitted by:
1994-08-21 07:03:56 +00:00
Paul Richards
33420ec6e7 More idempotency....... this is fun :-) 1994-08-21 06:50:16 +00:00
Paul Richards
62c72b0ca9 Made idempotent.
Submitted by:	paul
1994-08-21 06:22:12 +00:00
Paul Richards
5f282528fa Made idempotent -- made some of them more consistent with rest of tree.
Reviewed by:
Submitted by:
1994-08-21 06:14:33 +00:00
Paul Richards
2539bf7513 Made idempotent 1994-08-21 05:44:12 +00:00
Paul Richards
707f139edb Made idempotent.
Submitted by:	Paul
1994-08-21 05:27:42 +00:00
Paul Richards
cea1da3be2 Make idempotent.
Submitted by:	Paul
1994-08-21 05:11:48 +00:00
Paul Richards
836dc83b6a Made idempotent.
Reviewed by:
Submitted by:
1994-08-21 04:55:31 +00:00
Paul Richards
af9da40534 Made them all idempotent.
Reviewed by:
Submitted by:
1994-08-21 04:42:17 +00:00
David Greenman
e0e9c42112 Implemented filesystem clean bit via:
machdep.c:
	Changed printf's a little and call vfs_unmountall() if the sync was
	successful.

cd9660_vfsops.c, ffs_vfsops.c, nfs_vfsops.c, lfs_vfsops.c:
	Allow dismount of root FS. It is now disallowed at a higher level.

vfs_conf.c:
	Removed unused rootfs global.

vfs_subr.c:
	Added new routines vfs_unmountall and vfs_unmountroot. Filesystems
	are now dismounted if the machine is properly rebooted.

ffs_vfsops.c:
	Toggle clean bit at the appropriate places. Print warning if an
	unclean FS is mounted.

ffs_vfsops.c, lfs_vfsops.c:
	Fix bug in selecting proper flags for VOP_CLOSE().

vfs_syscalls.c:
	Disallow dismounting root FS via umount syscall.
1994-08-20 16:03:26 +00:00
David Greenman
7b42c960f8 1) cleaned up after Garrett - fixed more redundant declarations, changed
use of timeout_t -> timeout_func_t in aha1542 and aha1742 drivers.
2) fix a bug in the portalfs that was uncovered by better prototyping -
   specifically, the time must be converted from timeval to timespec
   before storing in va_atime.
3) fixed/added some miscellaneous prototypes
1994-08-20 03:49:02 +00:00
David Greenman
6d4868c584 Woops...forgot to commit this file. Part of Terry Lambert's loadable kernel
module support, with NetBSD improvements.
1994-08-20 02:23:40 +00:00
David Greenman
27774cbbf4 Removed bogus save of CMAP2. 1994-08-19 22:49:42 +00:00
Andreas Schulz
a41bb423b1 Reviewed by:
Corrected a little typo in a comment.
Throw out the typedef timeout_t with an ifdef __FreeBSD__, it is already
defined in sys/systm.h .
1994-08-19 21:02:05 +00:00
David Greenman
593de81839 Hmmm...my workaround for Garrett's new exec prototypes wasn't sufficient.
I guess we'll have to not specify what the args to the exec functions
are.
1994-08-19 14:24:16 +00:00
David Greenman
3edb235c09 Terry Lambert's loadable kernel module support w/improvements from the
NetBSD group.
1994-08-19 11:45:29 +00:00
Jordan K. Hubbard
6605d9f3db 1. Make this idempotent.
2. Hack.

	Hack is to define RCSID() to null macro so that new msun stuff
	will compile.  This does NOT belong here, and I DON'T want it to
	stay, I just need to put this here for now to enable msun and we need
	to talk about what our RCSID story is supposed to be.  We talked about
	supporting RCSID() one day, and everyone seemed to like the idea
	reasonably well of making it a macro you could just no-op this way,
	but we never did anything.  Now I see that JTCs code has it and I'm
	loath to remove it or do anything until we've discussed it some more.

	Well, so how about it?  What's our story vis-a-vis RCSID() going to
	be?

Submitted by:	jkh
1994-08-19 11:20:11 +00:00
Jordan K. Hubbard
c6866b514f Smash together Poul-Henning's, Garrett's and Steve Gerakines 24f changes
into one, hopefully functioning, Ultrastore driver.  Any Ultrastore owners
out there - please speak up!  We need to test this puppy.
Reviewed by:
Submitted by:
1994-08-19 00:32:52 +00:00
Poul-Henning Kamp
e9d1679134 Added my ProAudioSpectum SCSI driver for cards with the 5380 SCSI-chip.
This is the slowest and most stupid of our SCSI-drivers, but it is there
and it works.  It has been tested with CD-ROM and disk.
It uses no interrupts, no DMA, just polled I/0.
Transfer-rate is <= 100Kbyte/sec.
If you set the jumpers on the board, you can change the unit-number and
you will be able to have four of these co-exist in one computer, why one
would do that is somewhat unclear though.
If I ever get my hand on the docs for this, I will improve it of course,
but for now we can install and access those CD-ROMs.
1994-08-19 00:01:08 +00:00
Poul-Henning Kamp
11a9e878f3 Added {} around two initializers for spare[2] in some structs. This calms
down -Wall a little bit.
1994-08-18 23:36:40 +00:00
Garrett Wollman
f23b4c91c4 Fix up some sloppy coding practices:
- Delete redundant declarations.
- Add -Wredundant-declarations to Makefile.i386 so they don't come back.
- Delete sloppy COMMON-style declarations of uninitialized data in
  header files.
- Add a few prototypes.
- Clean up warnings resulting from the above.

NB: ioconf.c will still generate a redundant-declaration warning, which
is unavoidable unless somebody volunteers to make `config' smarter.
1994-08-18 22:36:09 +00:00
David Greenman
9a500b2bcc Added support for TIOCSTAT ioctl. This allows shells that use raw/cbreak
tty modes to process a control-T and do the right thing.
1994-08-18 09:16:37 +00:00
David Greenman
8912c0ed61 Bruce Evans' dynamic interrupt support.
/usr/src/sys/i386/isa/clock.c:
	o Garrett's statclock changes.
	o Wire xxxintr, not Vclk.
	o Wire using register_intr(), not setidt().

/usr/src/sys/i386/isa/icu.s:
	o Garrett's statclock changes.
	o Removed unused variable high_imask.
	o Fake int 8 for rtc as well as int 0 for clk.  Required for kernel
	  profiling with statclock, harmless otherwise.

/usr/src/sys/i386/isa/isa.c:
	o Allow isdp->id_irq and other things in *isdp to be changed by
	  probes.  Changing interrupts later requires direct calls to
	  register_intr() and unregister_intr() and more care.
	  ALLOW_CONFLICT_* is brought over from 1.1.5, except
	  ALLOW_CONFLICT_IRQ is not supported.  IRQ conflict checking is
	  delayed until after probing so that drivers can change the IRQ
	  to a free one; real conflicts require more cooperation between
	  drivers to handle.
	o Too many details to list.
	o This file requires splitting and a lot more work.

/usr/src/sys/i386/isa/isa_device.h:
	o Declare more things more completely.

/usr/src/sys/i386/isa/sio.c:
	o Prepare to register interrupt handlers as fast.

/usr/src/sys/i386/isa/vector.s:
	o Generate entry code for 16 fast interrupt handlers and 16 normal
	  interrupt handlers.  Changed some constants to variables:
	  # $unit is now intr_unit[intr].  Type is int.  Someday it should
	    be a cookie suitable for the handler (e.g., a struct com_s for
	    sio).
	  # $handler is now intr_handler[intr].
	  # intrcnt_actv[id_num] is now *intr_countp[intr].  The indirection
	    is required to get a contiguous range of counters for vmstat
	    and so that the drivers depend more in the driver than on the
	    interrupt number (drivers could take turns using an interrupt
	    and the counts would remain correct).  There is a separate
	    counter for each device and for each stray interrupt.  In
	    1.1.5, stray interrupt 7 clobbers the count for device 7 or
	    something worse if there is no device 7 :-(.
	  # mask is now intr_mask[intr] (was already indirect).
	 o Entry points are now _XintrI and _XfastintrI (I = intr = 0-15),
	   not _VdevU (U = unit).
	 o Removed BUILD_VECTORS stuff.  There's a trace of it left for
	   the string table for vmstat but config now generates the
	   string in one piece because nothing more is required.
	 o Removed old handling of stray interrupts and older comments
	   about it.

Submitted by:	 Bruce Evans
1994-08-18 05:09:36 +00:00