Commit Graph

715 Commits

Author SHA1 Message Date
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
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
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
Søren Schmidt
49e3cd80ee Oops, changed order of include lines...
Reviewed by:
Submitted by:
1994-08-17 19:32:23 +00:00
Søren Schmidt
529f6e548c Updated to latest 1.1.5.1+ version
Reviewed by:
Submitted by:
1994-08-17 08:51:59 +00:00
Søren Schmidt
8c7004b6d4 Updated to latest version from 1.1.5.1+
Reviewed by:
Submitted by:
1994-08-17 08:51:10 +00:00
Garrett Wollman
0254742789 Add option KBD_RESET_FAIL_OK so that GCC 2.6 doesn't break my
console.
1994-08-15 22:41:33 +00:00
Garrett Wollman
8ea838500f Enable use of the RTC chip for the statistical clock. While this does
not provide the full accuracy of a randomized statistical clock, it does
provide greater accuracy than the previous method, while not significantly
increasing overhead.  It also provides profiling support at 1024 Hz.

You must re-compile config before making a new kernel, or you will end
up with unresolved symbols.

Reviewed uy:	Bruce evans said it worked for him.
1994-08-15 03:15:20 +00:00
Andreas Schulz
021d975d03 Submitted by: Bruce Evans
Delete the ifdef GPL_EMULATE case here and made the padding work for
both types of emulators so that there is no longer a need to compile
ps and friends new if you are using the GPL math emulator instead the
normal one.
1994-08-14 23:32:45 +00:00
Andreas Schulz
5e687d014e Reviewed by:
Added code to check for an adaptec 1542B Version 3.20 Board. This was the
first board that supports >1Gb drives and has the extended bios. So we
need also to disable the exbios like it is done for the 1542C/CF boards.
1994-08-14 21:06:00 +00:00
Paul Richards
be89b92c7b Changed the include <sound/ulaw.h> to be <i386/isa/sound/ulaw.h> so
it compiles.

Reviewed by:
Submitted by:	Paul Richards
1994-08-14 01:52:02 +00:00
Poul-Henning Kamp
063ea59ae1 The tcp/ip interfaces needed longer timeouts, works fine under 2.0. 1994-08-14 01:46:28 +00:00
Garrett Wollman
502bf5ce55 Fix conditional-compilation mixup, pointed out by Paul Richards. 1994-08-13 17:45:09 +00:00
David Greenman
0e42760866 Made the kernel compile cleanly with gcc 2.6.0. Thanks go to Bruce
Evans for suggesting a method to detect various versions of gcc.
1994-08-13 14:21:58 +00:00
Garrett Wollman
f540b1065a Change all #includes to follow the current Berkeley style. Some of these
``changes'' are actually not changes at all, but CVS sometimes has trouble
telling the difference.

This also includes support for second-directory compiles.  This is not
quite complete yet, as `config' doesn't yet do the right thing.  You can
still make it work trivially, however, by doing the following:

rm /sys/compile
mkdir /usr/obj/sys/compile
ln -s M-. /sys/compile
cd /sys/i386/conf
config MYKERNEL
cd ../../compile/MYKERNEL
ln -s /sys @
rm machine
ln -s @/i386/include machine
make depend
make
1994-08-13 03:50:34 +00:00
Poul-Henning Kamp
24420201d8 Submitted by: Poul-Henning Kamp <phk@login.dkuug.dk>
Added my if_lp TCP/IP driver to lpt.c.
I have (surprise) not been able to test it on a 2.0 machine yet.  Connect the
machines with a parallel "lap-link" cable, and get rates from 35 kbyte/sec
up to 75 kbyte/sec.  (when ftp'ing foo: dev/zero -> bar:/dev/null).

The same lpt.c file should compile under 1.1.5.1 without problems.

I think we should promote this feature when we dump 2.0 on the expectant
public, because it provides a cheap and efficient way to move data to and
from notebooks &c.  It is not a replacement for ethernet, but a cheap
substitute sometimes.
1994-08-13 00:37:03 +00:00
David Greenman
58eaed35cf Added conditionals to make this compile cleanly in FreeBSD 2.0. 1994-08-12 11:42:37 +00:00
David Greenman
7952584606 New ethernet device driver from Matt Thomas:
This driver supports all the DEC EtherWORKS III NICs (DE203, DE204,
and DE205) and the later DEC EtherWORKS II NICs (DE200, DE201, DE202,
DE422).  DEPCA-style boards prior to the DE200 have not been tested
and may not work.

Submitted by:	Matt Thomas (thomas@lkg.dec.com)
1994-08-12 06:51:12 +00:00
David Greenman
bd1671dc28 Removed some unnecessary code that sets the link layer address. This should
be removed from the other drivers, too, as it is already done at a higher level
in the kernel.
1994-08-12 06:36:51 +00:00
David Greenman
6979fee553 Add missing ifr variable declaration that I forgot when adding MTU
ioctl support.
1994-08-12 06:06:19 +00:00
Jordan K. Hubbard
f9f0c18d31 Change outb() as per Bruce's instructions so that it doesn't explicitly
try to pass its argument in the ax register.
Reviewed by:
Submitted by:
1994-08-11 02:26:08 +00:00
Garrett Wollman
fba73571bd For Pentium machines, use a faster version of microtime with 8 usec
resolution (can probably be improved somewhat).  Other machines take
a three-instruction hit if I586_CPU is defined, none otherwise.
1994-08-11 00:28:24 +00:00
Garrett Wollman
a4f90f4d45 Tell Pentium users their CPU speed. (More changes to make use of this
to come later.)
1994-08-10 23:28:33 +00:00
Garrett Wollman
5c8b38d41d Handle NMI's in accordance with data in van Gilluwe book. 1994-08-10 04:39:52 +00:00
Garrett Wollman
2e0cc1821d Some programs (like GNU configure programs) depend on the output of
`uname -s' to be something reasonable (traditionally, `i386') rather
than `PC-Class'.  Make it so.
1994-08-10 03:53:33 +00:00
Garrett Wollman
29c0a86011 Add back in CPU detection copde from 1.1.5. As an added bonus, the
hw.model MIB variable is now declared correctly.
1994-08-10 03:51:18 +00:00
Jordan K. Hubbard
52cd438439 Merge in the necessary bits from 1.1.5.1 to make exec.h and reloc.h
happy campers again (e.g. match our own exec format).  This should
make ld happy.
Submitted by:	jkh
1994-08-09 14:39:57 +00:00
David Greenman
95b671fc95 Removed ntohl and ntohs functions. These were already inlined assembly in
endian.h.
1994-08-09 11:21:44 +00:00
David Greenman
e9b3179b97 Added various filesystems and multicast support options. Removed my
personal config file now that the GENERIC ones provide an adequate
template.
1994-08-09 08:17:09 +00:00
Jordan K. Hubbard
3578b06c6a Fix a compilation-stopping typo; whoops, David - more sleep! :-)
Submitted by:	jkh
1994-08-08 16:45:11 +00:00
David Greenman
e80859e4d6 Last commit for this file should have read:
Reduced maximum transfer size by one to allow for catching a too large
condition correctly. Do single block I/O if the size is too large.

Submitted by:	Bruce Evans
1994-08-08 13:56:46 +00:00
David Greenman
7d7bb69d41 Detect the "EOF" condition. Specifically, end of partition.
Submitted by:	Bruce Evans
1994-08-08 13:53:55 +00:00
David Greenman
8867d2f19c Added support for SIOCSIFMTU. 1994-08-08 13:33:16 +00:00
David Greenman
90fd8c3866 Added ioctl support for SIOCSIFMTU. 1994-08-08 12:09:04 +00:00
David Greenman
f847d045bf Take out multicast support for the moment. 1994-08-08 09:14:37 +00:00
David Greenman
8339815ff9 Made pmap_kenter "TLB safe". ...and then removed all the pmap_updates that
are no longer needed because of this.
1994-08-07 14:53:27 +00:00
David Greenman
a481f20029 Provide support for upcoming merged VM/buffer cache, and fixed a few bugs
that haven't appeared to manifest themselves (yet).

Submitted by:	John Dyson
1994-08-07 13:10:43 +00:00
David Greenman
c564966bf0 Don't kremove process VM pages (oops!). This was the cause of the instability
that was introduced last night.

Submitted by:	 John Dyson
1994-08-07 03:31:52 +00:00
David Greenman
539d9ba017 Don't strip the kernel. 1994-08-06 10:52:15 +00:00
David Greenman
c87801fe54 Fixed various prototype problems with the pmap functions and the subsequent
problems that fixing them caused.
1994-08-06 10:25:50 +00:00
David Greenman
ae92ea446f Incorporated 1.1.5 improvements to the bounce buffer code (i.e. make it
actually work), and additionally improved it's performance via new pmap
routines and "pbuf" allocation policy.

Submitted by:	John Dyson
1994-08-06 09:20:56 +00:00
David Greenman
ed3f895438 Made the tmpstk start at tmpstk. Not doing so causes problems for the
debugger.

Submitted by:	John Dyson
1994-08-06 09:17:44 +00:00
David Greenman
16f62314cd Incorporated post 1.1.5 work from John Dyson. This includes performance
improvements via the new routines pmap_qenter/pmap_qremove and pmap_kenter/
pmap_kremove. These routine allow fast mapping of pages for those
architectures that have "normal" MMUs. Also included is a fix to the
pageout daemon to properly check a queue end condition.

Submitted by:	John Dyson
1994-08-06 09:15:42 +00:00
David Greenman
ee4834308a Added my own kernel configuration file. This can be used as a place to
start for people trying to get 2.0 running.
1994-08-06 06:36:55 +00:00