1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-18 10:35:55 +00:00
Commit Graph

2003 Commits

Author SHA1 Message Date
Søren Schmidt
6378775666 First round in syscons update. Several new features has been added:
No kernel config options anymore besides keyboard language layout.
Virtual consoles are now dynamically allocated, no NCONS anymore.
Software cursor blinking/nonblinking.
Visual bell for laptops (don't beep at meetings :-).
Cursor/bell default type setable via config "flags" instead of as defines.
Cursor/bell type setable via ioctl's.
New video modes 80x30 80x60 for some laptops, and those with multisync monitors.
Scroll-lock history (length currently fixed at 100 lines).
Lots of cleanups, some only commented out for now (will goaway soon).
Support for new features in vidcontrol/kbdcontrol.
Updated manpages.
1995-01-12 11:47:05 +00:00
David Greenman
aedcdea1de Fixed mbuf lossage when level != IPPROTO_IP. Problem reported by Robert
Dobbs, hint from Charles Hannum, fix by me.
1995-01-12 10:53:25 +00:00
David Greenman
ec2bb6ade1 Increase maxfiles to NPROC*2. This makes the per-process open file limit
highly bogus, however, and this needs to be fixed.
1995-01-12 03:38:12 +00:00
David Greenman
8b4dd3c473 Improve my previous change to use the same tests as are used in qcollapse. 1995-01-11 20:19:20 +00:00
David Greenman
a748978457 Fixed a panic that Garrett reported to me...the OBJ_INTERNAL flag wasn't
being cleared in some cases for vnode backed objects; we now do this in
vnode_pager_alloc proper to guarantee it. Also be more careful in the
rcollapse code about messing with busy/bmapped pages.
1995-01-11 20:00:10 +00:00
Jordan K. Hubbard
6722294de8 Change GENERIC to SWAP_GENERIC for now. I need the GENERIC kernel to
build by default again!  When the furor subsides, maybe something better
can be done, but..
1995-01-11 17:51:26 +00:00
Joerg Wunsch
dc16046f96 Finally implement support for the `lsdev' program. The controller is
now marked busy as long as it's being in non-reset state, and the
drives are busy as long as at least one instance is open.

Also reformat everything to fit into 80 columns again.

Changed my mind wrt. error reporting for a write-protected drive and
an open() with write intent; ENXIO has been too weird, now return EIO.
Some portions of the code need to be rewritten to use tprintf()
instead of simple printf()'s, so the messages will also appear on the
session terminal, however.
1995-01-11 16:13:01 +00:00
David Greenman
c3d05da5e3 MFS doesn't bother to associate a struct mount with the vnode...so work
around this by not trying to cluster this type of I/O.

Submitted by:	John Dyson
1995-01-11 01:53:18 +00:00
David Greenman
f295740e4d Fix conversion to/from nfs v2 time in handling microseconds.
Submitted by:	rick@snowhite.cis.uoguelph.ca
1995-01-10 13:11:42 +00:00
David Greenman
740c65cfec Added two missing brelse() calls.
Submitted by:	rick@snowhite.cis.uoguelph.ca
1995-01-10 13:06:51 +00:00
Jordan K. Hubbard
ed4a82f717 Latest update from Serge Vakulenko <vak@cronyx.ru>
Submitted by:	vak
1995-01-10 11:41:28 +00:00
David Greenman
5943df8331 PG_FAKE is no longer used - so don't bother to clear it. 1995-01-10 09:20:34 +00:00
David Greenman
a776a317e9 Kill VM_PAGE_INIT macro as it is only used once and makes the code more
difficult to understand. Got rid of unused vm_page flags.
1995-01-10 09:19:52 +00:00
David Greenman
480dff540b Fixed some formatting weirdness that I overlooked in the previous commit. 1995-01-10 07:32:52 +00:00
Bruce Evans
fa724216f5 Always build libkern_p.a. `NOPROFILE' should only control user libraries. 1995-01-10 01:57:56 +00:00
Joerg Wunsch
b324392f6b fix for: kern/97: wt DELAY patch
Wangtek PC-02 QIC-02 controller with Cipher 150MB tape drive

        Any attemp to open /dev/rwt0 hangs.

        The following patch to /sys/i386/isa/wt.c is derived from Mikael
Hybsch's wt driver.

Submitted by:	Terry Lee <terry@uivlsi.csl.uiuc.edu>
1995-01-09 17:55:10 +00:00
David Greenman
0d94caffca These changes embody the support of the fully coherent merged VM buffer cache,
much higher filesystem I/O performance, and much better paging performance. It
represents the culmination of over 6 months of R&D.

The majority of the merged VM/cache work is by John Dyson.

The following highlights the most significant changes. Additionally, there are
(mostly minor) changes to the various filesystem modules (nfs, msdosfs, etc) to
support the new VM/buffer scheme.

vfs_bio.c:
Significant rewrite of most of vfs_bio to support the merged VM buffer cache
scheme.  The scheme is almost fully compatible with the old filesystem
interface.  Significant improvement in the number of opportunities for write
clustering.

vfs_cluster.c, vfs_subr.c
Upgrade and performance enhancements in vfs layer code to support merged
VM/buffer cache.  Fixup of vfs_cluster to eliminate the bogus pagemove stuff.

vm_object.c:
Yet more improvements in the collapse code.  Elimination of some windows that
can cause list corruption.

vm_pageout.c:
Fixed it, it really works better now.  Somehow in 2.0, some "enhancements"
broke the code.  This code has been reworked from the ground-up.

vm_fault.c, vm_page.c, pmap.c, vm_object.c
Support for small-block filesystems with merged VM/buffer cache scheme.

pmap.c vm_map.c
Dynamic kernel VM size, now we dont have to pre-allocate excessive numbers of
kernel PTs.

vm_glue.c
Much simpler and more effective swapping code.  No more gratuitous swapping.

proc.h
Fixed the problem that the p_lock flag was not being cleared on a fork.

swap_pager.c, vnode_pager.c
Removal of old vfs_bio cruft to support the past pseudo-coherency.  Now the
code doesn't need it anymore.

machdep.c
Changes to better support the parameter values for the merged VM/buffer cache
scheme.

machdep.c, kern_exec.c, vm_glue.c
Implemented a seperate submap for temporary exec string space and another one
to contain process upages. This eliminates all map fragmentation problems
that previously existed.

ffs_inode.c, ufs_inode.c, ufs_readwrite.c
Changes for merged VM/buffer cache.  Add "bypass" support for sneaking in on
busy buffers.

Submitted by:	John Dyson and David Greenman
1995-01-09 16:06:02 +00:00
Jordan K. Hubbard
716831f5f4 Add a MIN macro. 1995-01-09 11:38:40 +00:00
Poul-Henning Kamp
5b568d88bb cdev #50 -> pcmcia 1995-01-09 09:36:48 +00:00
Peter Dufault
04bcc6f58b Ensured all files have copyright and RCS ID variable. 1995-01-08 15:56:10 +00:00
Andreas Schulz
c9082578fa Submitted by: Gerd Truschinski
Removed one semicolon, two are one to much :-). Found by the hc860 compiler
and Gerd Truschinski 8-).
1995-01-08 15:13:40 +00:00
Peter Dufault
f948427e16 Added ssc device 1995-01-08 13:42:19 +00:00
Peter Dufault
081964045f Added residual length for 1542C only 1995-01-08 13:41:28 +00:00
Peter Dufault
e8831d3712 added ssc device 1995-01-08 13:40:31 +00:00
Peter Dufault
832ac3cac7 Added "change address" ioctl for ssc device. 1995-01-08 13:39:46 +00:00
Peter Dufault
7562b0d606 Reviewed by: gibbs@estienne.CS.Berkeley.EDU
Reenabled "SCIOCOMAND" ioctl.
Restructured so low level drivers can easily request retries.
Added preliminary fixed SCSI devices (should be revisited before 2.1)
Added "ssc" device that can have its' (HBA, ID, LUN) set via ioctl.
1995-01-08 13:38:38 +00:00
David Greenman
f7c9e2441f Restored Herb's current copyright. The one in the file appeared to have
been run through indent and additionally doesn't contain clauses 3 and 4
that were apparantly added sometime after the driver was put into FreeBSD.
1995-01-08 10:47:23 +00:00
Andreas Schulz
ddfdef1374 Submitted by: Steve Gerakines
Delete some parts of the ultra 24F tests for the controller, so that
it now accepts a broader range.
1995-01-07 23:23:40 +00:00
Jordan K. Hubbard
f677a957bf Fix indenting of gsc entry, reserve 48 for cyclades. 1995-01-07 23:20:08 +00:00
Andreas Schulz
a9700525d8 Work around a compiler bug in gcc2.6.3 in handling (long long) variables and
shifting. Also correct the original code as Garrett noticed it in mail.
Leave the mishandled code in to use it later if future versions of gcc
are correct. The code was part of the calibrate_cyclecounter routine to
get the speed of the pentium chip.
1995-01-07 17:26:35 +00:00
Jordan K. Hubbard
2f6df2645b Gunther Schadow <gusw@fub46.zedat.fu-berlin.de>'s
driver for the Genius GS-4500 hand scanner.
Submitted by:	gusw@fub46.zedat.fu-berlin.de
1995-01-07 14:52:08 +00:00
David Greenman
d8e5ab9731 Got rid of unused nclist declaration. 1995-01-07 06:08:15 +00:00
Joerg Wunsch
dc5df763e4 Peter's work to work around one of the most annoying bugs in the
floppy driver (or in the hardware?).  It turned out to be caused by
spurious interrupts, right after an FDC reset.

Also major cleanup in the low-level structure, there are now functions
performing error-checks for the FDC I/O.

Submitted by:	(mostly) Peter Dufault <dufault@FreeBSD.org>
1995-01-06 15:20:00 +00:00
Bruce Evans
123bcf5fda Fix scaling for TIOCM[SG]DTRWAIT to work when hz != 100.
Bruce
1995-01-06 15:03:41 +00:00
Bruce Evans
4c5e4b09a7 Fix error handling for new TIOCSDRAINWAIT ioctl. 1995-01-06 14:56:42 +00:00
Stefan Eßer
623976474c Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
Reviewed by: <wollman>
First hooks and defines for the ISDN driver,
that soon will see the light ...
1995-01-05 19:51:51 +00:00
Justin T. Gibbs
ff2e6a8b6f Add VNINACT flag. LFS has a habbit of skipping the ufs_inactive procedure.
It used to do this by setting a global <Yuck>.  Now we set th VNINACT
flag in the vnode to force a skip of ufs_inactive.

Sorry for missing this file in my last commit folks.

Index: vnode.h
===================================================================
RCS file: /usr/cvs/src/sys/sys/vnode.h,v
retrieving revision 1.14
diff -c -r1.14 vnode.h
*** 1.14	1994/11/14 13:51:53
--- vnode.h	1994/12/03 01:06:27
***************
*** 116,121 ****
--- 116,122 ----
  #define	VALIASED	0x0800	/* vnode has an alias */
  #define	VDIROP		0x1000	/* LFS: vnode is involved in a directory op */
  #define VVMIO		0x2000	/* VMIO flag */
+ #define VNINACT		0x4000  /* LFS: skip ufs_inactive() in lfs_vunref */

  /*
   * Vnode attributes.  A field value of VNOVAL represents a field whose value
1995-01-05 16:22:17 +00:00
David Greenman
010cf3b9e3 Make sure that the object being collapsed doesn't go away on us...by
gaining extra references to it.

Submitted by:	John Dyson
Obtained from:
1995-01-05 04:30:40 +00:00
David Greenman
f81dd52383 Initialize map start hint to vm_map_find()...not doing so will cause it
to fail if the random thing on the stack happens to be too large.

Submitted by:	David Jones <dej@qpoint.torfree.net>
1995-01-05 03:59:38 +00:00
Andrey A. Chernov
33c38bd574 Fight against hanging modems: add timeout to ttywait.
Reviewed by: Bruce
1995-01-05 00:01:07 +00:00
Justin T. Gibbs
61acca9f2f Change panic messges that are ffs_blah functions to say they are ffs not
ufs functions.
1995-01-04 23:48:04 +00:00
Justin T. Gibbs
1a451e33ef LFS stability patches. There is still a problem with directory update
ordering that can prove fatal during large batches of deletes, but this
is much better than it was.  I probably won't be putting much more time
into this until Seltzer releases her new version of LFS which has
fragment support.  This should be availible just before USENIX.
1995-01-04 23:46:34 +00:00
David Greenman
53cdbe34f1 Made a few cosmetic changes, and fixed a bug in handling the case of the
remote DMA not completing correctly (the packet was still queued for xmit).
1995-01-04 21:10:17 +00:00
David Greenman
b5ba45f6f3 Corrected the list of volatile registers for outsb, outsw, and outsl.
This bug caused my ethernet driver to break, among other things no doubt.
1995-01-04 20:42:25 +00:00
Paul Traina
e228c81074 Fix the GUS driver so that it will initialize properly from power-on...
no more DOS boots to start it up.

Simply did a localized nuke of the OUTB macro in this file.  This is
a kludge, since it seems it may actually be necessary in other GUS
files (tbd).

Thanks to: Amancio Hasty & Ken Hornstein
1995-01-04 20:07:27 +00:00
Bruce Evans
f73f117cf0 Don't allow negative console numbers for the VT_WAITACTIVE ioctl. Use the
correct console number for the VT_WAITACTIVE ioctl.  Invalid console numbers
caused waiting on an invalid pointer.

Use bcopyw() instead of move_up() and move_down().  bcopyw() handles
overlapped copies and should be faster.  Actually use bcopy().  bcopy()
is slightly faster if video memory is 16-bit and about twice as fast if
it is 32-bit.  bcopy() is said to fail on someGA's, but syscons already
depends on it working for other accesses to video memory.
1995-01-03 16:56:05 +00:00
Jordan K. Hubbard
c4cab716b9 From Gene Stark:
If nd->swap_nblks is zero in nfs_mountroot(), then the system
       comes up without initializing swapdev_vp to an actual vnode pointer.
       The swap pager assumes a non-NULL value for swapdev_vp.

       The fix is to try initializing local swap if no NFS swap space
       is specified.
1995-01-03 07:44:10 +00:00
Bruce Evans
37e52b59cc Use sufficient parentheses in macros.
Remove bogus input operands for fnsave(), fnstcw() and fnstsw().

Change all fwait's to fnop's.  This might help avoid hardware bugs.
Wait after fninit with an fnop.  This should be safer now.

Fix some spelling and formatting errors.

Use natural sizes for control and status words (u_short, promotes to int).

Don't clobber the SWI_CLOCK_MASK bits in npx0_imask when using IRQ13.

Set the devconf state correctly (always busy, if configured).  Improve
code for npx_registerdev() a little (gcc can't keep id->id_unit in a
register for some reason).  Don't register a nonexistent npx device.

Print a useful message in npxattach() again (delete references to errors
and not the whole message).  Don't print "387 emulator" if there is no
emulator in the kernel.

Use %p for pointers in error messages.

Don't clobber the FPU state when there is an FPU exception.  Just clear
the exception flags (after saving the flags as before).  This allows
debuggers and SIGFPE handlers to look at the full exception state.
SIGFPE handlers should normally return via longjmp(), which restores a
good FPU state (as before).  Returning from a SIGFPE handler may leave
the FPU in the wrong state (as before).

Clear the busy latch _after_ clearing the exception flags so that there
is less chance of getting a bogus h/w interrupt for a control operation.

Clear the saved exception status word when the next FPU instruction is
excuted so that it doesn't stick around until the next exception.

Clear the busy latch after fnsave() in npxsave() in case it was set when
npxsave() was called.
1995-01-03 04:00:06 +00:00
Bruce Evans
d5ebbddc5e Replace sv_ex_tw by padding (it is no longer used; the tag word in sv_env
is valid).

Expand comment about bogus padding for emulators.

Update prototpe for npxinit().
1995-01-03 03:57:46 +00:00
Andreas Schulz
832f3afd12 Submitted by: Ben Jackson
just a missing newline in a kernel printf added.
1995-01-02 22:56:00 +00:00