Commit Graph

311 Commits

Author SHA1 Message Date
Paul Traina
5ea2be93cd Add kernel hooks for /dev/vatio -- a minimalistic BSD audio driver emulator
created by Amancio Hasty (specificly, this, in conjunction with his sound
driver mods for dual-mode DMA will allow VAT compiled for BSD/386 1.1 to
run under FreeBSD 2.x.)
1994-11-01 01:47:22 +00:00
Joerg Wunsch
95b926abab Documented the FDSEEKWAIT option. 1994-10-30 20:57:07 +00:00
Jordan K. Hubbard
100ba1a617 IP Firewall code from Daniel Boulet and J.S.Antsilevich
Submitted by:	danny ugen
1994-10-28 15:09:49 +00:00
Jordan K. Hubbard
54c7241bd3 Julian Elischer's disklabel fixes. 1994-10-27 20:45:13 +00:00
Garrett Wollman
d1a27c8dab Stylistic changes. 1994-10-26 21:10:13 +00:00
Jordan K. Hubbard
cb72513713 Enable USERCONFIG and document it in LINT. 1994-10-26 19:20:27 +00:00
Jordan K. Hubbard
8d8aa3c30b Add userconfig. 1994-10-26 19:19:12 +00:00
Bruce Evans
40974c748a Never strip the kernel.
Recommend -Wimplicit in CWARNFLAGS next.  There are still a few hundred
potential arg mismatches because no function declaration is in scope.

Don't duplicate option `-I.'.

Remove null editing of the assembler source for all profiled objects.
The required magic has been done since prehistoric times by an
asm("mcount") declaration.

Simplify the clean rule.

Don't try to be clever about timestamps involving genassym.  genassym's
timestamp usually got ahead of assym.s's timestamp, so `make' almost
always had to run genassym and compare *assym.s to decide that nothing
needed to be done.  The cost is reassembling a few files whenever
genassym is rebuilt.  Assembling is almost as fast as comparing.

Always go through genassym.o to build genassym.  This would have avoided
numerous bugs involving mkdep -p.  Now it just stops genassym from
depending on the name of the temporary object file.

Use ${CFLAGS} for building genassym.  Mainly ${CWARNFLAGS} were missing.
1994-10-25 19:34:57 +00:00
Søren Schmidt
3c43212ad8 Added sea0 - Seagate driver lines to config 1994-10-24 22:18:12 +00:00
Garrett Wollman
6a8d662377 LINT: vastly restructured so that it's actually useful for something
Makefile.i386: make definition of STRIP unconditional.
1994-10-21 01:10:54 +00:00
Poul-Henning Kamp
c47b6376fd According to a quick reading of sources, one experiment and Bruce's word:
aha, ahb and bt all on "irq ?" now.
1994-10-20 00:53:30 +00:00
Poul-Henning Kamp
12396a6a16 Bruce told me to: Make uha0 use irq ? 1994-10-20 00:19:37 +00:00
Garrett Wollman
2a07a4c97e Conditionally define CC, CWARNOPTS, etc., so that `makeoptions' in
config files actually does something useful.
1994-10-18 19:45:46 +00:00
Poul-Henning Kamp
b888f09c89 Bumped the version to 2.0.1-Development. 1994-10-18 01:50:21 +00:00
Garrett Wollman
3345fd3909 Added kern_devconf.c as standard. 1994-10-16 03:49:43 +00:00
Poul-Henning Kamp
4da5299d11 Sanitized a little bit. All SCSI is now "controllers" and LINT is more
sorted now.
1994-10-15 08:09:42 +00:00
Søren Schmidt
5411ea9d8c Added ibcs2_socksys file. 1994-10-13 20:19:11 +00:00
Stefan Eßer
8f7b2bb2fb Name change: pci_intel.c -> pcisupport.c 1994-10-12 03:56:49 +00:00
Geoff Rehmet
ee38c19853 First stage of getting imgact_gzip reentrant:
1) cut this up into /sys/sys/inflate.h, sys/kern/inflate.c
sys/kern/ingact_gzip.c
2) make a lot more things static
3) make a lot of globals const
4) make some args const
5) first stage of making globals into a struct (not used yet)

The vm_allocate() call which was introduced between revisions 1.4 and
1.5 of imagact_gzip.c broke things.  I have backed that out for the time
being.  (Davidg: help please)

WARNING: if you have gzip enabled in your kernel, you must now run
config again, as another source file has been added.  Otherwise your
kernel compile will fall over.

This is all still WIP.  More commits to come.

Suggestions from: phk.
1994-10-07 22:27:00 +00:00
Andrey A. Chernov
70c0b54c8a USE_RTC_CENTURY added 1994-10-04 14:11:02 +00:00
Rodney W. Grimes
def3ff8dc9 Put genassym: back how it was originally, the real bug was in mkdep. 1994-10-03 23:03:38 +00:00
Poul-Henning Kamp
8819d6eca4 I added "pserudo-device gzip" as default. 1994-10-03 22:32:13 +00:00
Poul-Henning Kamp
cabc837c74 dependency for genassym was wrong, there is never made a genassym.o file.
made i depend on the src.
1994-10-03 18:51:35 +00:00
Poul-Henning Kamp
e64ac77789 Changed the imgact_gzip to "optional gzip" per David Greenman's request. 1994-10-03 06:35:17 +00:00
Poul-Henning Kamp
7ba9adc8e7 ***
WARNING:  THIS MATERIAL MIGHT GO AWAY!
This material needs the core-groups approval to stay here for the 2.0 release.
If the core-group does not concent to this commit, it will be backed out.
***

It is a non-gpl'ed "unzip" which will allow execution of a.out files which
have been sent through "gzip -9".  The idea being saved disk-space.

Just now this code has quality rating:  "working prototype".

To compress a file to be used with this, do it exactly this way:

gzip -9 -v < /bin/FOO > /tmp/FOO
remember to chmod /tmp/FOO as needed.

DON'T compress all of you binaries right away !  There are several things
which you should consider first:

1. Using compressed binaries, you use >MUCH< more VM, and thus swap-space.

2. It is slow.

3. It might crash your machine.

Apart from that, I welcome comments...
1994-10-03 05:17:01 +00:00
Rodney W. Grimes
07049f23e9 genassym: depends on Makefile and genassym.o, genassym.o dependicies are
picked up from .depend.
1994-10-02 22:58:40 +00:00
Poul-Henning Kamp
0ff3ad4e5e In case CWARNFLAGS and COPTFLAGS are already defined (from /etc/make.conf
for instance), don't nuke them.
1994-10-02 21:50:51 +00:00
Rodney W. Grimes
470d929ec2 genassym: depends on the source code too. 1994-10-01 21:43:24 +00:00
David Greenman
fae772f7b2 Added Cortex-I Frame Grabber by Paul S. LaFollette, Jr.
Submitted by:	Paul S. LaFollette, Jr.
1994-10-01 17:59:42 +00:00
Poul-Henning Kamp
93e9832a32 #Driver for Advaced Power Management (also need options APM)
-device		apm0	isa?
+device		apm0	at isa?
1994-10-01 16:44:07 +00:00
David Greenman
3af6b6527a Added options APM and device apm0 for Advanced Power Management support. 1994-10-01 05:43:09 +00:00
David Greenman
22414e535a Laptop Advanced Power Management support by HOSOKAWA Tatsumi.
Submitted by:	HOSOKAWA Tatsumi
1994-10-01 02:56:21 +00:00
Steven Wallace
7f4295e337 add new sound files to kernel config file list 1994-10-01 02:36:24 +00:00
Geoff Rehmet
27476ec8f6 Do strip -x of kernel
Obtained from:1.1.5.1
1994-09-29 14:02:40 +00:00
Garrett Wollman
af27b9fc77 GENERIC*: remove commented-out options; the user should have to do
/some/ research to figure out how to turn them on.

LINT: better description of TCP_COMPAT_42: ``emulate 4.2BSD TCP bugs''.
1994-09-28 22:57:24 +00:00
Garrett Wollman
33e7ce7c3d LKMs are no longer options, so remove the `options LKM' from LINT. 1994-09-28 22:51:54 +00:00
Garrett Wollman
5ea9b26376 LKM support is no longer optional. 1994-09-28 22:45:04 +00:00
Sean Eric Fagan
0a061aacf3 Get rid of parentheses in version stuff. Use 2.0.0-Development instead. 1994-09-28 18:26:02 +00:00
Stefan Eßer
5c370a2e33 Added entries for PCI and NCR device drivers. 1994-09-28 17:00:14 +00:00
Poul-Henning Kamp
0dc7d9074f Added
options                DIAGNOSTIC
 options                MSDOSFS_DEBUG
1994-09-27 20:36:26 +00:00
Garrett Wollman
d2920e07e6 Lots of kernel code requires vnodE_if.h, so provide code to generate it
if requested.  LKMs which need it should use:

SRCS+=	vnode_if.h
CLEANFILES+= vnode_if.h vnode_if.c

These rules were already present for VFS LKMs; now they are enabled all
the time.  (VFS LKMs do not need the fragment above; it is still done for them.)
1994-09-26 22:34:04 +00:00
Jordan K. Hubbard
31208007c7 Jim Babb's port of the AIC6360 code.
Submitted by:	babb
Obtained from:  NetBSD
1994-09-26 16:15:06 +00:00
David Greenman
c770b47d56 Removed unimplemented subr_rmap.c and unused references to it. 1994-09-25 22:31:11 +00:00
Andrey A. Chernov
7bf314246a HARDFONTS option documented 1994-09-25 02:10:47 +00:00
Poul-Henning Kamp
905d9e84dd Fixed the problem where "make depend" was mandatory for building kernel.
moved vnode_if.o up before ${OBJS} in the SYSTEM_OBJS list.
1994-09-23 07:01:59 +00:00
David Greenman
16b49b3e73 Removed last vestige of MULTICAST option. 1994-09-23 06:22:58 +00:00
Garrett Wollman
e98e6beea3 Add PPP. NB: this is VERY VERY VERY green code, added to make it easier
to test things out.  It compiles, but I don't know if it works (yet).
1994-09-23 00:14:11 +00:00
Garrett Wollman
c9b1d6048d More loadable VFS changes:
- Make a number of filesystems work again when they are statically compiled
  (blush)

- FIFOs are no longer optional; ``options FIFO'' removed from distributed
  config files.
1994-09-22 19:38:41 +00:00
Garrett Wollman
1aa57be361 Make it easier to create filesystem LKMs by doing most of the
work in the Makefile.  Just define VFS_LKM and you're off!
1994-09-21 03:49:59 +00:00
Jordan K. Hubbard
db814a26b3 Add entries for transputer driver.
Reviewed by:	jkh
Submitted by:	luigi
1994-09-21 01:30:15 +00:00
David Greenman
db3170abc8 Sorted. 1994-09-20 15:55:09 +00:00
Doug Rabson
3f9a698275 Added MSDOSFS option. 1994-09-19 15:45:02 +00:00
Doug Rabson
27a0bc89a4 Added msdosfs.
Obtained from: NetBSD
1994-09-19 15:41:57 +00:00
Garrett Wollman
3f31c649d1 Redo Kernel NTP PLL support, kernel side.
This code is mostly taken from the 1.1 port (which was in turn taken from
Dave Mills's kern.tar.Z example).  A few significant differences:

1) ntp_gettime() is now a MIB variable rather than a system call.  A few
fiddles are done in libc to make it behave the same.

2) mono_time does not participate in the PLL adjustments.

3) A new interface has been defined (in <machine/clock.h>) for doing
possibly machine-dependent things around the time of the clock update.
This is used in Pentium kernels to disable interrupts, set `time', and
reset the CPU cycle counter as quickly as possible to avoid jitter in
microtime().  Measurements show an apparent resolution of a bit more than
8.14usec, which is reasonable given system-call overhead.
1994-09-18 20:40:01 +00:00
Jordan K. Hubbard
12cada7161 Add SYSV shm stuff back to LINT.
chflags noschg /kernel in Makefile.i386 so if our previous kernel
was installed by make install, the second won't fall over.
1994-09-16 10:23:46 +00:00
Doug Rabson
3b8a29aebc Added back the SYSV ipc files which somehow got removed. 1994-09-15 16:47:50 +00:00
David Greenman
610ee2f9b5 Made TCPDEBUG truely optional. Based on changes I made in FreeBSD 1.1.5.
Fixed somebody's idea of a joke - about the first half of the lines in
in_proto.c were spaced over by one space.
1994-09-15 10:36:56 +00:00
Garrett Wollman
639a2e5035 A make system file for building LKMs, derived from bsd.prog.mk. 1994-09-14 21:59:28 +00:00
Garrett Wollman
5e9ae478ac Shuffle some functions and variables around to make it possible for
multicast routing to be implemented as an LKM.  (There's still a bit of
work to do in this area.)
1994-09-14 03:10:15 +00:00
Doug Rabson
3d903220e4 Added SYSV ipcs.
Obtained from: NetBSD and FreeBSD-1.1.5
1994-09-13 14:47:38 +00:00
Poul-Henning Kamp
66ce0eae53 Added DSI_SOFT_MODEM 1994-09-13 03:34:08 +00:00
Andreas Schulz
2c2006d83f Deleted the pccons driver from the files.i386, added the seagate driver
into files.i386.
LINT:
Deleted the timezone line. Commented out the maxfdescs line and the
SYSVSHM and the SHMMAXPGS lines.
1994-09-11 21:09:52 +00:00
Geoff Rehmet
e32458368f Remove *_SAVER syscons options - I don't know how they go in here:
(These options did not even really exist in 1.1.5.1)
CVS:
1994-09-09 22:12:38 +00:00
Garrett Wollman
6bf5b24768 Don't include options MULTICAST or MROUTING in generic kernels. MULTICAST
has no effect now, and MROUTING should never be defined by default.
(Eventually the code should be dynamically loadable.)

Also, allow for Pentium CPUs in GENERICBT kernels.

Add an `install' rule to Makefile.i386, which looks like this:
	mv /kernel /kernel.old
	install -c -m 555 -o root -g root -fschg kernel /
I'd like comments on whether or not you think it's a good idea to have
the kernel be immutable by default; I'm happy either way.
CVS:
1994-09-09 22:03:51 +00:00
Stefan Eßer
e579efa207 Reviewed by: Stefan Esser <se>
Submitted by:
Added "i386/pci/pci_intel.c" for Intel PCI chip set specific driver code.
1994-09-06 21:58:53 +00:00
Andreas Schulz
2ac8be827f Reviewed by:
Delete the hints to the sg driver. This thing was never finished and
has now been beaten by the sea driver.
1994-09-05 22:32:42 +00:00
Jordan K. Hubbard
7d5a70fc3b Get rid of a superfluous echo.
Submitted by:	jkh
1994-09-05 19:10:01 +00:00
Jordan K. Hubbard
82e08a73de Remove symlink before remaking it for libkern.a
Reviewed by:	jkh
Submitted by:	dima
1994-09-05 19:09:15 +00:00
Bruce Evans
86a8648eef Restore some explicit dependencies for locore.s so that "make clean; make"
works even if .depend doesn't exist.
1994-09-02 20:24:15 +00:00
Paul Richards
040071b276 Added entry for if_lnc.c, soon to be added new Lancef amily ethernet
driver.
Reviewed by:
Submitted by:
1994-09-02 15:49:48 +00:00
David Greenman
9670686d24 Added ze driver (brought over from 1.1.5). 1994-09-01 02:21:20 +00:00
Stefan Eßer
96a09a3064 Submitted by: Stefan Esser <se@ZPR.Uni-Koeln.DE>
Added entry for 'de' device in anticipation of Matt Thomas'
PCI Ethernet driver (required by the PCI autoconfig code).
1994-09-01 02:12:23 +00:00
Stefan Eßer
2c57cee563 Reviewed by:
Submitted by:
Added lines for 'pci' and 'ncr' devices (found under i386/pci).
1994-08-31 23:40:38 +00:00
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
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
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
David Greenman
f1a9c71596 Made a little more up to date. 1994-08-28 06:46:25 +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
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
Søren Schmidt
c085674216 Added iBCS2 files
Reviewed by:
Submitted by:
1994-08-24 11:44:45 +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
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
David Greenman
3edb235c09 Terry Lambert's loadable kernel module support w/improvements from the
NetBSD group.
1994-08-19 11:45:29 +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
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
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
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
Garrett Wollman
9ae159169a Make it easier for programs to figure out what revision of FreeBSD they
are running under.  Here's how to bootstrap (order is important):

1) Re-compile gcc (just the driver is all you need).
2) Re-compile libc.
3) Re-compile your kernel.  Reboot.
4) cd /usr/src/include; make install

You can now detect the compilation environment with the following code:

#if !defined(__FreeBSD__)
#define __FreeBSD_version 199401
#elif __FreeBSD__ == 1
#define __FreeBSD_version 199405
#else
#include <osreldate.h>
#endif

You can determine the run-time environment by calling the new C library
function getosreldate(), or by examining the MIB variable kern.osreldate.

For the time being, the release date is defined as 199409, which we have
already established as our target.
1994-08-10 06:25:07 +00:00
David Greenman
92dc7331c9 Made lockf advisory locking code generic (rather than ufs specific), and
use it in NFS. This is required both for diskless support and for POSIX
compliance. Note: the support in NFS is only for the local node.

Submitted by:	based on work originally done by Yuval Yurom
1994-08-08 17:31:01 +00:00
David Greenman
539d9ba017 Don't strip the kernel. 1994-08-06 10:52:15 +00:00
David Greenman
1e74887068 Renamed this thing, and change 'vmunix' to 'kernel' internally. 1994-08-05 09:25:31 +00:00
David Greenman
3c4dd3568f Added $Id$ 1994-08-02 07:55:43 +00:00
Rodney W. Grimes
c7cb9b9654 SYSCONS is no longer needed since pccons has been removed.
Update the GENERIC* to have the new file system options and the new kernel
name.

Fix the clean target in Makefile.i386 to rm kernel instead of 386bsd.
1994-05-26 13:38:01 +00:00
Rodney W. Grimes
26f9a76710 The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.
Reviewed by:	Rodney W. Grimes
Submitted by:	John Dyson and David Greenman
1994-05-25 09:21:21 +00:00
Rodney W. Grimes
df8bae1de4 BSD 4.4 Lite Kernel Sources 1994-05-24 10:09:53 +00:00
Jordan K. Hubbard
0bf1d79182 Remove the now bogus IP_VAT_COMPAT. 1994-05-18 16:23:25 +00:00
Jordan K. Hubbard
33b061c9fd Add line for IP_VAT_COMPAT, documenting it. 1994-05-17 23:20:32 +00:00
Jordan K. Hubbard
e3178a06e5 Fold in the changes to support IP multicasting, from Jim Lowe et al. 1994-05-17 22:30:41 +00:00
Jordan K. Hubbard
3759860cff Whoops - comment out psm0 by default in case someone wants to
compile this thing.  I won't turn on the ALLOW_CONFLICT_IOADDR this would need
to compile instead since that would then rob us of other, possibly important,
conflict checks.
1994-05-17 14:18:13 +00:00
Jordan K. Hubbard
45b4c36f90 Add descriptions of ALLOW_CONFLICT_* options we want to doc for now
(only 2).  Add entry for psm0 (PS/2 mouse).
1994-05-17 14:15:11 +00:00
Jordan K. Hubbard
7d46c3b6d8 Remove confusing (as they are now unnecessary) comments about
INACCURATE_MICROTIME_IS_OK.  Document what pca0 is.
1994-05-13 08:48:22 +00:00
Gary Clark II
3c7e7a693b Almost had problems. The directory on my system is gpl not gnu.
corrected error
1994-04-29 21:57:12 +00:00
Gary Clark II
cfecaf32f0 Added GPL_MATH_EMULATE to options
This should not be used in binary distributions.
1994-04-29 21:53:55 +00:00
Gary Clark II
a5a7a6cdf7 Added files for option gpl_math_emulate 1994-04-29 21:49:02 +00:00
Garrett Wollman
9ad380ab4c Define new option, INACCURATE_MICROTIME_IS_OK. When this is defined,
the NTP kernel PLL is disabled, and acquire_timer0() is enabled, thus
opening the door for microtime() (and hence gettimeofday()) to return
bogus timestamps.  This option is necessary for the `pca' driver to
work, but is implemented to underscore the fact that accurate timekeeping
and the `pca' driver are incompatible at present.  If someone writes a version
of microtime() that works when the `pca' driver is being used, this can get
junked.
1994-04-23 21:39:18 +00:00
Andrey A. Chernov
0897a95d08 device pca0 added 1994-04-23 12:13:27 +00:00
Andrey A. Chernov
db2fd867a3 Sound driver updated to version 2.5 1994-04-23 02:03:17 +00:00
Søren Schmidt
f847be1ad5 pcaudio.c added 1994-04-21 14:13:43 +00:00
Andrey A. Chernov
bc906632a8 snd7 config line corrected, irqaremoved 1994-04-13 01:29:14 +00:00
Andrey A. Chernov
cea06d471b Remove unneded irq/drq/vector from snd? 1994-04-07 22:18:49 +00:00
David Greenman
32128f4c0d from kimmel@varese.cs.umass.edu (Matt Kimmel):
"el" driver for 3COM 3C501. This driver has some serious performance
problems and drops packets on the floor like hot potatos.
1994-04-07 12:10:31 +00:00
Poul-Henning Kamp
c7ba7a5e32 corrected pointer to sound.doc 1994-04-04 17:27:45 +00:00
David Greenman
d230622648 New interrupt code from Bruce Evans. In additional to Bruce's attached
list of changes, I've made the following additional changes:

1) i386/include/ipl.h renamed to spl.h as the name conflicts with the
   file of the same name in i386/isa/ipl.h.
2) changed all use of *mask (i.e. netmask, biomask, ttymask, etc) to
   *_imask (net_imask, etc).
3) changed vestige of splnet use in if_is to splimp.
4) got rid of "impmask" completely (Bruce had gotten rid of netmask),
   and are now using net_imask instead.
5) dozens of minor cruft to glue in Bruce's changes.

   These require changes I made to config(8) as well, and thus it must
be rebuilt.

-DG

from Bruce Evans:

sio:
	o No diff is supplied.  Remove the define of setsofttty().  I hope
	  that is enough.

*.s:
	o i386/isa/debug.h no longer exists.  The event counters became too
	  much trouble to maintain.  All function call entry and exception
	  entry counters can be recovered by using profiling kernel (the new
	  profiling supports all entry points; however, it is too slow to
	  leave enabled all the time; it also).  Only BDBTRAP() from debug.h
	  is now used.  That is moved to exception.s.  It might be worth
	  preserving SHOW_BITS() and calling it from _mcount() (if enabled).
	o T_ASTFLT is now only set just before calling trap().
	o All exception handlers set SWI_AST_MASK in cpl as soon as possible
	  after entry and arrange for _doreti to restore it atomically with
	  exiting.  It is not possible to set it atomically with entering
	  the kernel, so it must be checked against the user mode bits in
	  the trap frame before committing to using it.  There is no place
	  to store the old value of cpl for syscalls or traps, so there are
	  some complications restoring it.

Profiling stuff (mostly in *.s):
	o Changes to kern/subr_mcount.c, gcc and gprof are not supplied yet.
	o All interesting labels `foo' are renamed `_foo' and all
	  uninteresting labels `_bar' are renamed `bar'.  A small change
	  to gprof allows ignoring labels not starting with underscores.
	o MCOUNT_LABEL() is to provide names for counters for times spent
	  in exception handlers.
	o FAKE_MCOUNT() is a version of MCOUNT() suitable for exception
	  handlers.  Its arg is the pc where the exception occurred.  The
	  new mcount() pretends that this was a call from that pc to a
	  suitable MCOUNT_LABEL().
	o MEXITCOUNT is to turn off any timer started by MCOUNT().

/usr/src/sys/i386/i386/exception.s:
	o The non-BDB BPTTRAP() macros were doing a sti even when interrupts
	  were disabled when the trap occurred.  The sti (fixed) sti is
	  actually a no-op unless you have my changes to machdep.c that make
	  the debugger trap gates interrupt gates, but fixing that would
	  make the ifdefs messier.  ddb seems to be unharmed by both
	  interrupts always disabled and always enabled (I had the branch in
	  the fix back to front for some time :-().
	o There is no known pushal bug.
	o tf_err can be left as garbage for syscalls.

/usr/src/sys/i386/i386/locore.s:
	o Fix and update BDE_DEBUGGER support.
	o ENTRY(btext) before initialization was dangerous.
	o Warm boot shot was longer than intended.

/usr/src/sys/i386/i386/machdep.c:
	o DON'T APPLY ALL OF THIS DIFF.  It's what I'm using, but may require
	  other changes.
	  Use the following:
		o Remove aston() and setsoftclock().
	  Maybe use the following:
		o No netisr.h.
		o Spelling fix.
		o Delay to read the Rebooting message.
		o Fix for vm system unmapping a reduced area of memory
		  after bounds_check_with_label() reduces the size of
		  a physical i/o for a partition boundary.  A similar
		  fix is required in kern_physio.c.
		o Correct use of __CONCAT.  It never worked here for non-
		  ANSI cpp's.  Is it time to drop support for non-ANSI?
		o gdt_segs init.  0xffffffffUL is bogus because ssd_limit
		  is not 32 bits.  The replacement may have the same
		  value :-), but is more natural.
		o physmem was one page too low.  Confusing variable names.
	  Don't use the following:
		o Better numbers of buffers.  Each 8K page requires up to
		  16 buffer headers.  On my system, this results in 5576
		  buffers containing [up to] 2854912 bytes of memory.
		  The usual allocation of about 384 buffers only holds
		  192K of disk if you use it on an fs with a block size
		  of 512.
		o gdt changes for bdb.
		o *TGT -> *IDT changes for bdb.
		o #ifdefed changes for bdb.

/usr/src/sys/i386/i386/microtime.s:
	o Use the correct asm macros.  I think asm.h was copied from Mach
	  just for microtime and isn't used now.  It certainly doesn't
	  belong in <sys>.  Various macros are also duplicated in
	  sys/i386/boot.h and libc/i386/*.h.
	o Don't switch to and from the IRR; it is guaranteed to be selected
	  (default after ICU init and explicitly selected in isa.c too, and
	  never changed until the old microtime clobbered it).

/usr/src/sys/i386/i386/support.s:
	o Non-essential changes (none related to spls or profiling).
	o Removed slow loads of %gs again.  The LDT support may require
	  not relying on %gs, but loading it is not the way to fix it!
	  Some places (copyin ...) forgot to load it.  Loading it clobbers
	  the user %gs.  trap() still loads it after certain types of
	  faults so that fuword() etc can rely on it without loading it
	  explicitly.  Exception handlers don't restore it.  If we want
	  to preserve the user %gs, then the fastest method is to not
	  touch it except for context switches.  Comparing with
	  VM_MAXUSER_ADDRESS and branching takes only 2 or 4 cycles on
	  a 486, while loading %gs takes 9 cycles and using it takes
	  another.
	o Fixed a signed branch to unsigned.

/usr/src/sys/i386/i386/swtch.s:
	o Move spl0() outside of idle loop.
	o Remove cli/sti from idle loop.  sw1 does a cli, and in the
	  unlikely event of an interrupt occurring and whichqs becoming
	  zero, sw1 will just jump back to _idle.
	o There's no spl0() function in asm any more, so use splz().
	o swtch() doesn't need to be superaligned, at least with the
	  new mcounting.
	o Fixed a signed branch to unsigned.
	o Removed astoff().

/usr/src/sys/i386/i386/trap.c:
	o The decentralized extern decls were inconsistent, of course.
	o Fixed typo MATH_EMULTATE in comments. */
	o Removed unused variables.
	o Old netmask is now impmask; print it instead.  Perhaps we
	  should print some of the new masks.
	o BTW, trap() should not print anything for normal debugger
	  traps.

/usr/src/sys/i386/include/asmacros.h:
	o DON'T APPLY ALL OF THIS DIFF.  Just use some of the null macros
	  as necessary.

/usr/src/sys/i386/include/cpu.h:
	o CLKF_BASEPRI() changes since cpl == SWI_AST_MASK is now normal
	  while the kernel is running.
	o Don't use var++ to set boolean variables.  It fails after a mere
	  4G times :-) and is slower than storing a constant on [3-4]86s.

/usr/src/sys/i386/include/cpufunc.h:
	o DON'T APPLY ALL OF THIS DIFF.  You need mainly the include of
	  <machine/ipl.h>.  Unfortunately, <machine/ipl.h> is needed by
	  almost everything for the inlines.

/usr/src/sys/i386/include/ipl.h:
	o New file.  Defines spl inlines and SWI macros and declares most
	  variables related to hard and soft interrupt masks.

/usr/src/sys/i386/isa/icu.h:
	o Moved definitions to <machine/ipl.h>

/usr/src/sys/i386/isa/icu.s:
	o Software interrupts (SWIs) and delayed hardware interrupts (HWIs)
	  are now handled uniformally, and dispatching them from splx() is
	  more like dispatching them from _doreti.  The dispatcher is
	  essentially *(handler[ffs(ipending & ~cpl)]().
	o More care (not quite enough) is taken to avoid unbounded nesting
	  of interrupts.
	o The interface to softclock() is changed so that a trap frame is
	  not required.
	o Fast interrupt handlers are now handled more uniformally.
	  Configuration is still too early (new handlers would require
	  bits in <machine/ipl.h> and functions to vector.s).
	o splnnn() and splx() are no longer here; they are inline functions
	  (could be macros for other compilers).  splz() is the nontrivial
	  part of the old splx().

/usr/src/sys/i386/isa/ipl.h
	o New file.  Supposed to have only bus-dependent stuff.  Perhaps
	  the h/w masks should be declared here.

/usr/src/sys/i386/isa/isa.c:
	o DON'T APPLY ALL OF THIS DIFF.  You need only things involving
	  *mask and *MASK and comments about them.  netmask is now a pure
	  software mask.  It works like the softclock mask.

/usr/src/sys/i386/isa/vector.s:
	o Reorganize AUTO_EOI* macros.
	o Option FAST_INTR_HANDLER_USERS_ES for people who don't trust
	  fastintr handlers.
	o fastintr handlers need to metamorphose into ordinary interrupt
	  handlers if their SWI bit has become set.  Previously, sio had
	  unintended latency for handling output completions and input
	  of SLIP framing characters because this was not done.

/usr/src/sys/net/netisr.h:
	o The machine-dependent stuff is now imported from <machine/ipl.h>.

/usr/src/sys/sys/systm.h
	o DON'T APPLY ALL OF THIS DIFF.  You need mainly the different
	  splx() prototype.  The spl*() prototypes are duplicated as
	  inlines in <machine/ipl.h> but they need to be duplicated here
	  in case there are no inlines.  I sent systm.h and cpufunc.h
	  to Garrett.  We agree that spl0 should be replaced by splnone
	  and not the other way around like I've done.

/usr/src/sys/kern/kern_clock.c
	o splsoftclock() now lowers cpl so the direct call to softclock()
	  works as intended.
	o softclock() interface changed to avoid passing the whole frame
	  (some machines may need another change for profile_tick()).
	o profiling renamed _profiling to avoid ANSI namespace pollution.
	  (I had to improve the mcount() interface and may as well fix it.)
	  The GUPROF variant doesn't actually reference profiling here,
	  but the 'U' in GUPROF should mean to select the microtimer
	  mcount() and not change the interface.
1994-04-02 07:00:53 +00:00
Andreas Schulz
16a6a70817 Makefile.i386:
put vers.o at the end of the loader line. We are simply jumping in the
moment into the first location of the text segment in 386bsd. So the
linking order is very important :-). With the addition of the const
types in newvers.sh we jumped into them. I have experimented with an
entry point specification, but was unsuccessfull. Someone else should
look at this.
devices.i386:
files.i386:
Added entries for a Sony cdrom driver.
1994-03-21 20:48:52 +00:00
Garrett Wollman
27408f32ce More symtab space. 1994-03-19 22:17:56 +00:00
Garrett Wollman
11e4fa43bc Added David Mills' kernel NTP PLL code. The current version of NTP does
not yet speak to this code.
1994-03-15 01:58:22 +00:00
Steven Wallace
63a7486262 Removed EXCLUDE_<driver> for sound drivers so that all sound drivers
are compiled into kernel.  Users are referred to sound doc for info.
1994-03-11 22:17:24 +00:00
Steven Wallace
62d15cccd2 Added appropriate entries into files.i386 for snd drivers in /sys/i386/isa/sound
Added new snd drivers and EXCLUDE_<driver> options to LINT.
1994-03-11 10:31:05 +00:00
Poul-Henning Kamp
9b73b5a04a dcfclk driver obsoleted, sio/TIOCTIMESTAMP took over. 1994-02-27 21:53:54 +00:00
Rodney W. Grimes
dbd8393f77 I don't want to read about all the people that forgot this due to syscons
changes, so I am adding it here until AFTER the 1.1 release:
+ COPTFLAGS+=-D__FreeBSD__
1994-02-17 06:51:15 +00:00
Jordan K. Hubbard
8d5a4c1f9e Use -Z instead of -z to build kernels. This is consistent with NetBSD's
usage of the -[Zz] flags (we're now in sync).  Part of the ld update
changes.
1994-02-13 20:37:32 +00:00
Nate Williams
8d43398bd2 Commented on what the mse0, mcd0, and lpt/lpa devices were used for.
(No functional changes)
1994-02-09 05:35:57 +00:00
Andrew Moore
c1eeb17fc0 Add floppy tape support (missed these when changing G*) 1994-02-07 05:55:50 +00:00
Andrew Moore
97acce82ca Add floppy tape support 1994-02-07 04:27:59 +00:00
Jordan K. Hubbard
91f5809304 Patches to allow the pcvt port to simply "drop in" with a minimum of
effort.
1994-02-06 22:11:00 +00:00
Andrey A. Chernov
1be30750de BLANK_SAVER syscons option added 1994-02-01 10:46:43 +00:00
Andrey A. Chernov
21c64a07fe Add FADE_SAVER option from new syscons. 1994-02-01 08:34:16 +00:00
David Greenman
da59a31c01 WINE/user LDT support from John Brezak, ported to FreeBSD by Jeffrey Hsu
<hsu@soda.berkeley.edu>.
1994-01-31 10:27:13 +00:00
Rodney W. Grimes
ec40982451 Remove commented out PROCFS, it is standard. 1994-01-29 21:41:36 +00:00
Andrey A. Chernov
bcbd5c8c3d Set FIFO_TRIGGER in more human-readable form 1994-01-29 03:17:39 +00:00
Nate Williams
f657493cee Added -static declartion to genassym compile so a kernel doesn't require
working shlibs.
1994-01-27 21:10:14 +00:00
Andrey A. Chernov
690f540c97 Add FIFO_TRIGGER value for sio.c 1994-01-27 01:01:22 +00:00
Rodney W. Grimes
7e9dd2e95c Disabled sg disk driver in LINT since there is no sg.c file in isa yet!
Removed com port comments, since we are about to depricate the driver.

Fix several plaes in LINT where people have been cutting and pasting using
xterms :-(
1994-01-25 11:08:25 +00:00
Andrey A. Chernov
bf0e6e5324 Sound driver options added 1994-01-25 03:16:31 +00:00
Rodney W. Grimes
f4767d9a94 No longer need SYSVIPC option, any of the SYSV options now trigger the
kern/sysv_ipc.c file for inclusion in the kernel.
1994-01-22 09:25:37 +00:00
David Greenman
2ae37484c6 System V IPC code from Danny Boulet, chewed on a bit by the NetBSD group
and then some more by Jeffrey Hsu (who provided this port for FreeBSD).
1994-01-21 09:56:05 +00:00
Rodney W. Grimes
db703a94ed Removed at clause from LINT since it was wrong and is no longer needed. 1994-01-17 05:45:26 +00:00
Andreas Schulz
6216795300 Documented the drivers more in the LINT file. Added a line in files.i386
and LINT for the integration of a Seagate ST01/02 SCSI controller.
1994-01-16 12:01:34 +00:00
David Greenman
7f8cb36869 "New" VM system from John Dyson & myself. For a run-down of the
major changes, see the log of any effected file in the sys/vm
directory (swap_pager.c for instance).
1994-01-14 16:25:31 +00:00
Andreas Schulz
b2aba26166 Now enabled the line for the 3C509 driver. 1994-01-10 18:53:52 +00:00
Andreas Schulz
1668b3a88d Added lines for an Etherlink III ( 3C509 ) driver. 1994-01-09 13:30:50 +00:00
Rodney W. Grimes
f3f1a1b513 SCSIDUMP option no longer needed, it is now standard. 1994-01-06 18:15:20 +00:00
Rodney W. Grimes
b935223e65 Added dumps on wd0 to the end of all config lines so people know about it
and can change it.  This really won't change the kernels, it just documents
how to do the dumps on option.
1994-01-05 14:56:50 +00:00
Nate Williams
2620c42ea3 Updated config files for new multi-controller wd.c driver and removed
outdated wx config file.
1994-01-04 20:10:34 +00:00
Nate Williams
dd807b39fc Removed wx driver hooks. 1994-01-04 20:09:28 +00:00
Garrett Wollman
990ac0b7cb Added support for X.25 as a network-layer protocol under ISO TP class 0, as
is commonly used in Europe.  Make it compile, and bump up symtab space as
needed.
1993-12-19 22:45:13 +00:00
Garrett Wollman
aaf08d94ca Make everything compile with -Wtraditional. Make it easier to distribute
a binary link-kit.  Make all non-optional options (pagers, procfs) standard,
and update LINT to reflect new symtab requirements.

NB: -Wtraditional will henceforth be forgotten.  This editing pass was
primarily intended to detect any constructions where the old code might
have been relying on traditional C semantics or syntax.  These were all
fixed, and the result of fixing some of them means that -Wall is now a
realistic possibility within a few weeks.
1993-12-19 00:55:01 +00:00
David Greenman
6d01f02e51 1) Added proc file system from Paul Kranenburg with changes from
John Dyson to make it reliably work under FreeBSD.
2) Added and enabled PROCFS in the GENERICxx and LINT kernels.
3) New execve() from me. Still work to be done here, but this version
	works well and is needed before other changes can be made. For
	a description of the design behind this, see freebsd-arch or
	ask me.
4) Rewrote stack fault code; made user stack VM grow as needed rather
	than all up front; improves performance a little and reduces
	process memory requirements.
5) Incorporated fix from Gene Stark to fault/wire a user page table
	page to fix a problem in copyout. This is a temporary fix and
	is not appropriate for pageable page tables. For a description
	of the problem, see Gene's post to the freebsd-hackers mailing
	list.
6) Tighten up vm_page struct to reduce memory requirements for it. ifdef
	pager page lock code as it's not being used currently.
7) Introduced new element to vmspace struct - vm_minsaddr; initial
	(minimum) stack address. Compliment to vm_maxsaddr.
8) Added a panic if the allocation for process u-pages fails.
9) Improve performance and accuracy of kernel profiling by putting in
	a little inline assembly instead of spl().
10) Made serial console with sio driver work. Still has problems with
	serial input, but is almost useable.
11) Added -Bstatic to SYSTEM_LD in Makefile.i386 so that kernels will
	build properly with the new ld.
1993-12-12 12:22:57 +00:00