Commit Graph

146 Commits

Author SHA1 Message Date
dg
02aff34c6c Take out multicast support for the moment. 1994-08-08 09:14:37 +00:00
dg
4c3dd171d4 Don't strip the kernel. 1994-08-06 10:52:15 +00:00
dg
85b36e9dfa 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
dg
e016b38d66 Removed pager declarations. They are NOT optional, and don't need to be
declared.
1994-07-28 05:53:44 +00:00
rgrimes
b11d406e74 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
rgrimes
2469c867a1 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
jkh
01e206e225 Get us closer to being able to install on the second drive. 1994-05-24 08:09:49 +00:00
jkh
111891d3bc Start preparing for the new, improved, doesn't-hang-the-keyboard version of
syscons as standard.  pccons adherants are welcome to go fix pccons, but for
now I see only syscons really moving forward.
see
1994-05-19 10:55:34 +00:00
jkh
7dfa59e5a9 Remove the now bogus IP_VAT_COMPAT. 1994-05-18 16:23:25 +00:00
jkh
1fb6f7c329 Add line for IP_VAT_COMPAT, documenting it. 1994-05-17 23:20:32 +00:00
jkh
a38f70ce76 Fold in the changes to support IP multicasting, from Jim Lowe et al. 1994-05-17 22:30:41 +00:00
jkh
cd576b6d9a 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
jkh
53ce5f0cff 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
jkh
56dd89d422 Get generic kernels to be as forgiving of users with lossy hardware
as possible:

options         "SCSI_DELAY=15"         #Be pessimistic about Joe SCSI device
1994-05-16 09:40:10 +00:00
jkh
a5d9a1f062 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
gclarkii
74a4d73383 Almost had problems. The directory on my system is gpl not gnu.
corrected error
1994-04-29 21:57:12 +00:00
gclarkii
7a31fda8cc Added GPL_MATH_EMULATE to options
This should not be used in binary distributions.
1994-04-29 21:53:55 +00:00
gclarkii
7798f251a6 Added files for option gpl_math_emulate 1994-04-29 21:49:02 +00:00
wollman
7745e6da4c 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
ache
0378205e1d device pca0 added 1994-04-23 12:13:27 +00:00
ache
f277d23264 Sound driver updated to version 2.5 1994-04-23 02:03:17 +00:00
sos
d07e39d1a7 pcaudio.c added 1994-04-21 14:13:43 +00:00
ache
c3cfb2dfa0 snd7 config line corrected, irqaremoved 1994-04-13 01:29:14 +00:00
csgr
7607f20040 Remove lpa from the generic kernels - one step closer to nuking lpa !! 1994-04-12 16:05:13 +00:00
ache
6d829d17b9 Remove unneded irq/drq/vector from snd? 1994-04-07 22:18:49 +00:00
dg
24d135e218 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
phk
7d2bbe7dd6 corrected pointer to sound.doc 1994-04-04 17:27:45 +00:00
dg
5717a39a7a 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
ats
03504efea2 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
wollman
334b88b204 More symtab space. 1994-03-19 22:17:56 +00:00
wollman
6d40bd433d 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
swallace
3f6ebb7ed1 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
swallace
9c005e258d 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
rgrimes
0a2cbe88c9 Add mcd1 at 0x340 irq 11. 1994-03-08 05:56:47 +00:00
guido
232adbd34d Ttys structures are now allocated dynamically via ttymalloc/ttyfree.
This inetrface should be used from now on.
pseudo device pty xx still keeps its meaning: a maximum of
xx ptys is allowed.
A ringbuffer is now 2040 bytes long, per Garrett Wollman's request.
The changes are inspired by the way NetBSD did it (thanks for that!),
though I made it slihghtly different, including the interface so
at least 75% of the allocated space is deallocated when the tty is
closed.
Note further that it is easy to modify the ringbuffer length runtime.
This will have to wait untill some later date...


-Guido
1994-03-02 20:18:09 +00:00
alm
58dce7cb20 floppy tape support still not quite there - it prevents
mounting the floppy disk  drives on some systems that don't have
a floppy tape drive.
1994-03-01 01:27:03 +00:00
alm
df0578e9fd Add floppy tape support. 1994-02-28 04:19:39 +00:00
phk
9b442cb8ae dcfclk driver obsoleted, sio/TIOCTIMESTAMP took over. 1994-02-27 21:53:54 +00:00
rgrimes
cdb65a87fa Put back the bt0 that some one deleted.... 1994-02-23 10:59:44 +00:00
rgrimes
2fb7cb3f03 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
jkh
872e15cb55 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
b689f3d1d1 Commented on what the mse0, mcd0, and lpt/lpa devices were used for.
(No functional changes)
1994-02-09 05:35:57 +00:00
rgrimes
6aafc49d11 Remove the ft driver, it causes instant reboots during attatch, and this
was new code added at the last minute!
1994-02-07 10:42:04 +00:00
alm
73a43165f2 Add floppy tape support (missed these when changing G*) 1994-02-07 05:55:50 +00:00
alm
84e9f2ea7d Add floppy tape support 1994-02-07 04:27:59 +00:00
jkh
e8b6460e30 Patches to allow the pcvt port to simply "drop in" with a minimum of
effort.
1994-02-06 22:11:00 +00:00
ache
0554f42f8a BLANK_SAVER syscons option added 1994-02-01 10:46:43 +00:00
ache
aa79a897c5 Add FADE_SAVER option from new syscons. 1994-02-01 08:34:16 +00:00
dg
8df5d2c1f8 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
rgrimes
c827a140f2 Remove commented out PROCFS, it is standard. 1994-01-29 21:41:36 +00:00