Commit Graph

12730 Commits

Author SHA1 Message Date
KATO Takenori
e6a8c534a3 Sync with sys/i386/conf/GENERIC revision 1.131. 1998-11-13 08:18:44 +00:00
KATO Takenori
e4b4a0d1dc Sync with sys/i386/boot/kzipboot/malloc.c revision 1.7. 1998-11-13 08:18:14 +00:00
Mike Smith
c5118de899 Implement NFS ACCESS RPC result caching.
This yields startling performance increases for NFS clients for many
access profiles, due to the fact that ACCESS results are persistently
cached in the namecache in many cases.

Note that the code is somewhat conservative in that it requires an
exact credential match for a cache hit.  This bloats the nfsnode
structure by sizeof(struct ucred) (96 bytes).  Any less conservative
approach opens the possibility for a false veto in eg. setuid
applications.  Alternative suggestions would be welcomed.

The cache is normally disabled, to activate set the sysctl variable
vfs.nfs.access_cache_timeout to a nonzero value.  This is the time in
seconds that a cached entry will be considered valid; useful values appear
to be 2-10 seconds.  Performance of the cache can be monitored with the
vfs.nfs.access_cache_hits and vfs.nfs.access_cache_hits variables.
1998-11-13 02:39:09 +00:00
David Greenman
1c680b45a2 Restored the "reallocblks" code to its former glory. What this does is
basically do a on-the-fly defragmentation of the FFS filesystem, changing
file block allocations to make them contiguous. Thanks to Kirk McKusick
for providing hints on what needed to be done to get this working.
1998-11-13 01:01:44 +00:00
David E. O'Brien
58371a7e38 Remove amd', nca' SCSI devices to match Mike's LINT commit. 1998-11-12 11:29:28 +00:00
Jordan K. Hubbard
207fe43d59 bootforth seems to be working well enough for me and others to turn
on by default.  If it causes trouble, it's very easy to switch off again.
1998-11-12 07:40:51 +00:00
Jordan K. Hubbard
845491fe8d MF22: Bring in some linux sound ioctl support which I committed to 2.2
for PR 7792 but did not bring forward.

Submitted by:	Avatar Liang <avatar@www.mmlab.cse.yzu.edu.tw>
PR:		8656
1998-11-12 00:42:08 +00:00
Jordan K. Hubbard
531842e143 Install scripts without .sh suffix. 1998-11-12 00:37:39 +00:00
Mike Smith
aafbf5d3c5 Consign the 'amd' driver to the Attic. 1998-11-11 21:32:56 +00:00
Mike Smith
abb46fda2c Remove the 'amd' driver. 1998-11-11 21:30:59 +00:00
Mike Smith
f98d49a8e4 Remove all mention of the 'amd' driver. It can come back if we grow
support for it again.
1998-11-11 21:29:09 +00:00
David Greenman
9ec944bdb0 Be sure to pullup entire IP header when dealing with fragment packets. 1998-11-11 21:17:59 +00:00
Robert V. Baron
a6c122eaf6 coda_lookup now passes up an extra flag. But old veni will
be ok; new veni will check /dev/cfs0 to make sure that a new
kernel is running.
Also, a bug in vc_nb_close iff CODA_SIGNAL's were seen has been
fixed.
1998-11-11 20:32:20 +00:00
David Greenman
4f6e1f8bfc Closed a small race condition between wiring/unwiring pages that involved
the page's wire_count.
1998-11-11 15:07:57 +00:00
Peter Wemm
c56ba274eb Argh, I don't know how I managed this, but it would help to actually
provide the routines that kern/inflate.c expects.
1998-11-11 14:28:08 +00:00
Peter Wemm
a533143f79 regenerate (+kldsym) 1998-11-11 13:05:29 +00:00
Peter Wemm
ba031106b1 kldsym(2) prototype implementation 1998-11-11 13:04:40 +00:00
Peter Wemm
de8a10f07a regenerate (+kldsym) 1998-11-11 12:57:05 +00:00
Peter Wemm
325e13dd19 A kldsym(2) syscall prototype for extracting information from the in-kernel
linker.  This is intended to replace kvm_mkdb etc.  The first version
only does name->value lookups, but it's open ended.  value->name lookups
would probably be a good thing to do too.

It's been suggested to try and connect the symbol tables to sysctl (which
is probably a more flexible way of doing it if it's done right), but that
is far more complex and difficult than I was ready to have a shot at.
1998-11-11 12:45:14 +00:00
Don Lewis
62d6ce3af2 I got another batch of suggestions for cosmetic changes from bde. 1998-11-11 10:56:07 +00:00
Don Lewis
831d27a9f5 Installed the second patch attached to kern/7899 with some changes suggested
by bde, a few other tweaks to get the patch to apply cleanly again and
some improvements to the comments.

This change closes some fairly minor security holes associated with
F_SETOWN, fixes a few bugs, and removes some limitations that F_SETOWN
had on tty devices.  For more details, see the description on the PR.

Because this patch increases the size of the proc and pgrp structures,
it is necessary to re-install the includes and recompile libkvm,
the vinum lkm, fstat, gcore, gdb, ipfilter, ps, top, and w.

PR:		kern/7899
Reviewed by:	bde, elvind
1998-11-11 10:04:13 +00:00
Robert Nordier
21ffb6774a Revise error messages. 1998-11-11 08:56:17 +00:00
Peter Wemm
1e216ab590 Use a name less likely to collide with source files without an obj dir. 1998-11-11 07:40:44 +00:00
Peter Wemm
0ddd3cf262 Rename joy,ibcs2,linux to joy.sh,ibcs2.sh,linux.sh (via repo copy). 1998-11-11 07:04:10 +00:00
Peter Wemm
8f1dc34cf9 Reenable /usr/bin/ibcs2 installing from here; it works now that the
guaranteed kernel stack overflow is fixed.
1998-11-11 05:18:22 +00:00
Bruce Evans
c5f25b1912 Don't forget to remove opt_mfs.h.
Fixed style bugs (bitrotted FOOFS options and hard-coded ${.TARGET}).
1998-11-11 03:06:46 +00:00
Mike Smith
2831f40f0b Use an at_shutdown hook to drop back to the SRM in the case where the system
is being halted, rather than hanging waiting for a keypress.

Submitted by:	Andrew Gallatin <gallatin@freebsd.org>
1998-11-11 00:02:25 +00:00
Doug Rabson
d44f5a8a2b Allow the use of NODEV in CDEV_MODULE and BDEV_MODULE to make the system
auto-allocate the major number.  Not terribly useful without DEVFS.
1998-11-10 21:45:18 +00:00
Jordan K. Hubbard
aab22db753 We need to install the linux shell script or the lkm version will
still be in place.
1998-11-10 19:39:58 +00:00
Luigi Rizzo
ac1e654ef7 Add entry for AOpen AW37 1998-11-10 10:44:56 +00:00
Peter Wemm
1c5bb3eaa1 add #include <sys/kernel.h> where it's needed by MALLOC_DEFINE() 1998-11-10 09:16:29 +00:00
Peter Wemm
c6105dce78 Register and unregister vnodeops the new way rather than leaking on
unload.
1998-11-10 09:12:40 +00:00
Peter Wemm
5ad3d2212f kzipboot uses kern/inflate.c outside the kernel by providing its own
minimal malloc/free implementation.  Stop passing M_GZIP to it.
1998-11-10 09:08:49 +00:00
Peter Wemm
4e61198e8f Make the vnode opv vector construction fully dynamic. Previously we
leaked memory on each unload and were limited to items referenced in
the kernel copy of vnode_if.c.  Now a kernel module is free to create
it's own VOP_FOO() routines and the rest of the system will happily
deal with it, including passthrough layers like union/umap/etc.

Have VFS_SET() call a common vfs_modevent() handler rather than
inline duplicating the common code all over the place.

Have VNODEOP_SET() have the vnodeops removed at unload time (assuming a
module) so that the vop_t ** vector is reclaimed.

Slightly adjust the vop_t ** vectors so that calling slot 0 is a panic
rather than a page fault.  This could happen if VOP_something() was called
without *any* handlers being present anywhere (including in vfs_default.c).
slot 1 becomes the default vector for the vnodeop table.

TODO: reclaim zones on unload (eg: nfs code)
1998-11-10 09:04:09 +00:00
Peter Wemm
edfbe15080 Arrange for unload-time linker set hooks to be called. While cut/pasting
some code, I changed the original to be consistant with the rest of the
file rather than duplicating the problems.
1998-11-10 08:49:28 +00:00
Peter Wemm
db66937855 Have MALLOC_DECLARE() initialize malloc types explicitly, and have them
removed at module unload (if in a module of course).
However; this introduces a new dependency on <sys/kernel.h> for things
that use MALLOC_DECLARE().  Bruce told me it is better to add sys/kernel.h
to the handful of files that need it rather than add an extra include to
sys/malloc.h for kernel compiles. Updates to follow in subsequent commits.
1998-11-10 08:46:24 +00:00
Peter Wemm
3234f9c00f New macro for building a linker set of things to do at module unload
time (eg: disconnect malloc types contained within a module), opposite
of SYSINIT().
1998-11-10 08:41:41 +00:00
Justin T. Gibbs
712463b1fa Noop Commit - Change was in last revision.
If the next available mailbox is not in the free state, print a warning
and handle the condition as a temporary resource shortage.  The condition
should never happen, but we shouldn't panic since recovery is possible.
1998-11-10 06:47:11 +00:00
Justin T. Gibbs
4ff057c7b0 Convert to change in ISA compatiblity port handling in the base bt driver. 1998-11-10 06:45:14 +00:00
Justin T. Gibbs
3c1cabf7a2 Fix probes when a port address is specified. 1998-11-10 06:44:54 +00:00
Justin T. Gibbs
d0993d7584 Fix probes when a port address is specified.
Convert from BT'isms to AHA'isms

Don't fail the probe if the illegal command bit is set in the status
register.  If the BusLogic MultiMaster probe preceeded us, it may well
have determined that the card we are attaching to was not a true MultiMaster
by sending us a command that fails on the 154X.

Reset the adapter before doing the inquiry.  This provides extra sanity
and will also clear the illegal command status bit that my be left over
from the MultiMaster probe.
1998-11-10 06:44:42 +00:00
Nicolas Souchu
a6530ace00 Release the ppbus when probe fails. 1998-11-09 22:22:01 +00:00
Don Lewis
643a8daaaf If the session leader dies, s_leader is set to NULL and getsid() may
dereference a NULL pointer, causing a panic.  Instead of following
s_leader to find the session id, store it in the session structure.

Jukka found the following info:

	BTW - I just found what I have been looking for. Std 1003.1
	Part 1: SYSTEM API [C LANGUAGE] section 2.2.2.80 states quite
	explicitly...

	Session lifetime: The period between when a session is created
	and the end of lifetime of all the process groups that remain
	as members of the session.

	So, this quite clearly tells that while there is any single
	process in any process group which is a member of the session,
	the session remains as an independent entity.

Reviewed by:	peter
Submitted by:	"Jukka A. Ukkonen" <jau@jau.tmt.tele.fi>
1998-11-09 15:08:04 +00:00
Dima Ruban
46e79a3c0e Add some bogus stuff to make systat/vmstat happy.
Reviewed by:	dfr
1998-11-09 10:47:19 +00:00
Peter Wemm
dfab6b6416 ifioctl takes a u_long rather than an int on 3.0 1998-11-09 09:34:00 +00:00
Peter Wemm
08274d68df Add #include to get a prototype for update_intr_masks(). 1998-11-09 09:30:55 +00:00
Peter Wemm
5187e87901 "fix" a warning that has been bugging me for ages. Eliminate a couple
of temporary variables since they are only used once and their types
were the cause of the warnings.
1998-11-09 09:21:25 +00:00
Peter Wemm
96fca41fcf s/%#p/%p/ to fix a warning. This looks like a leftover of once being
%#x, which causes a leading 0x to be prepended. %p has this by default
and the '#' is ignored by the kernel prinf code for %p.
1998-11-09 08:08:06 +00:00
Peter Wemm
dd31125d72 Fix a warning (#include the apic_next_irq() prototype for APIC_IO) 1998-11-09 08:03:01 +00:00
Peter Wemm
497e02e364 Delete stray extern declaration for non-existing variables. 1998-11-09 07:03:04 +00:00
Peter Wemm
dad00f4e9c Remove [apparently] bogus casts to u_long for the vnode_pager_setsize()
second argument.  np_size is a 64 bit int, so is the second arg.  This
might have caused needless 2G/4G file size problems.

I believe it was Bruce who queried this.
1998-11-09 07:00:14 +00:00
Poul-Henning Kamp
5adee71e55 Update interface to timecounter to last change to the generic code. 1998-11-08 19:26:23 +00:00
Nicolas Souchu
31a7daae9e Add semicolon to INTERFACE declaration. 1998-11-08 18:51:38 +00:00
Doug Rabson
66d22cfe03 Port the ps/2 mouse driver to the alpha. 1998-11-08 18:43:03 +00:00
Nicolas Souchu
7d70baf7b2 Check if devclass exists for probed devices before
declaring the device 'alive'.
1998-11-08 18:42:34 +00:00
Nicolas Souchu
710c119cf7 Update configuration files for the perl based makedevops script.
Submitted by: Nick Hibma <nick.hibma@jrc.it>
Approved by:  Doug Rabson <dfr@nlsystems.com>
1998-11-08 18:39:57 +00:00
Robert Nordier
0293eac42c Prevent boot.config being parsed more than once. 1998-11-08 18:37:28 +00:00
Nicolas Souchu
7a8ecb9e64 Add semicolon to INTERFACE declarations 1998-11-08 18:35:53 +00:00
Nicolas Souchu
1864a32626 "Here is the most recent version of makedevops.pl. I've made the parsing
of the input file more strict and the error messages more elaborate.
Second, the output file has slightly improved looks when >80 character
lines are concerned (I needed a 80 character line formatter anyway for
work...)."

Submitted by: Nick Hibma <nick.hibma@jrc.it>
1998-11-08 18:33:11 +00:00
Robert Nordier
7ac90f7d65 Drop the familiar 'text=xxxx data=xxxx bss=xxxx ...' display while
loading.  This eliminates noise when loading boot/loader; and when
loading a kernel, they generally flash by too fast to be
intelligible anyway.
1998-11-08 18:29:29 +00:00
Robert Nordier
9888bdcd29 boot1: Eliminate EDD detection and optional use of disk packet
interface.  Do some general consistency fixes and space optimizations.
Use of some freed-up space to defend against possible BIOS misfeatures.

boot2: Revise disk read interface to provide for boot1 changes.  Free
up space for this.
1998-11-08 15:36:35 +00:00
Doug Rabson
7095ee912b * Fix a couple of places in the device pager where an address was
truncated to 32 bits.
* Change the calling convention of the device mmap entry point to
  pass a vm_offset_t instead of an int for the offset allowing
  devices with a larger memory map than (1<<32) to be supported
  on the alpha (/dev/mem is one such).

These changes are required to allow the X server to mmap the various
I/O regions used for device port and memory access on the alpha.
1998-11-08 12:39:07 +00:00
Peter Wemm
ba5e60d11c Missing newline at end of file causes syntax error. 1998-11-08 09:57:28 +00:00
Mike Smith
1916cd2927 Enable 686 class optimisations for all 686-class processors, not just the
Pentium Pro.  This resolves the "Dog slow SMP" issue for Pentium II
systems.
1998-11-08 02:26:14 +00:00
Jordan K. Hubbard
37869e957d o Add proper stack checking to all file words
o add fkey and fread
o eliminate fexists now that this can be expressed in HLL forth
  ( : fexists fopen dup -1 <> if fclose 1 else drop 0 then ; ) :-)

Once we get the ability to write files, it should be possible to do
stand-alone rescue work from the 3rd stage boot. :)
1998-11-07 17:38:40 +00:00
Nicolas Souchu
623bdbdb0a Change METHODE (french) to METHOD.
Submitted by: Nick Hibma <nick.hibma@jrc.it>
1998-11-07 14:56:04 +00:00
Nicolas Souchu
376ba00c94 Define DEBUG only if not already defined, avoiding confusions with
opt_global.h
1998-11-07 14:35:41 +00:00
Nicolas Souchu
99a6f52d8f Add iic driver iff the corresponding devclass exists. 1998-11-07 14:33:46 +00:00
Nicolas Souchu
dec0ec9e81 Return to previous check_for_i2c_devices() behaviour.
Cast the cmd parameter to unsigned char in every smbus call.

Submitted by: Roger Hardiman <roger@cs.strath.ac.uk>
1998-11-07 14:30:48 +00:00
Jordan K. Hubbard
335edb957d Eliminate much code cruft by extending simple file I/O API to include
fopen and fclose.
1998-11-07 06:18:06 +00:00
Jordan K. Hubbard
ed82a24960 Eliminate much code cruft by extending simple file I/O API to include
fopen and fclose.  Also look for /boot/boot.4th now and, if found,
load its contents.
1998-11-07 06:18:00 +00:00
Jordan K. Hubbard
d6a0c2b58d Take init out of here - it's a layering violation. 1998-11-07 05:01:25 +00:00
Peter Wemm
7c8faeb31f oops! s/vfs_register/vfs_unregister/ in the unload case..
Mentioned by: dfr
1998-11-07 04:51:36 +00:00
Peter Wemm
5c23153cac Don't define the module glue if building as an LKM, this happens to have
a same symbol name as the LKM glue.
1998-11-07 04:34:02 +00:00
Jordan K. Hubbard
c412a7ae32 Don't have debugging on by default - it makes testing annoying. :) 1998-11-07 03:44:10 +00:00
Jordan K. Hubbard
65e7b066b3 OK, fload/fexec work properly when both compiling and interpreting
now.  Gack.
1998-11-07 01:56:06 +00:00
Jordan K. Hubbard
ebc4b7c4fb switch words to default mode. 1998-11-06 23:50:08 +00:00
Jordan K. Hubbard
e1266cedab Submit better fix to the prompt bug. 1998-11-06 23:22:26 +00:00
Jordan K. Hubbard
f476d38a01 Make fexists/fload work with existing string literals instead. Doing
my own string literal handling is just too wonky.
1998-11-06 23:20:32 +00:00
Mike Smith
ed91f3baaf USERCONFIG_BOOT -> INTRO_USERCONFIG
Submitted by:	des
1998-11-06 20:32:22 +00:00
Jordan K. Hubbard
c6c128e122 Argh, I had this right[er] before. More commits to follow. 1998-11-06 19:17:03 +00:00
David Greenman
bd81f199b5 Added support for non-blocking sockets to sendfile(2). 1998-11-06 19:16:30 +00:00
Peter Wemm
a429d69f4a Remove trailing ';' - use the one supplied by the caller: "VFS_SET(foo);" 1998-11-06 16:36:31 +00:00
Peter Wemm
9fe66b94a2 Make this work now; fixing the kstack overflow allows the dependency to
be added to the symbol search order safely.
1998-11-06 16:02:14 +00:00
Peter Wemm
578c822198 Don't use a glue file for the module; use the one in the kernel. 1998-11-06 16:01:19 +00:00
Peter Wemm
43dfe295b0 Create an 'ibcs2' module so that scripts can tell if it's statically
linked in or needs to be loaded.
1998-11-06 16:00:47 +00:00
Peter Wemm
caab6e909e Don't put aggregate structs 4K large on the kernel stack, especially when
we can recurse when loading dependencies and that the kstack is limited
to something like 6 or 7KB.  Having a single dependency caused an instant
double panic, and I stronly suspect some of the other strange "events"
that I have seen are possibly as a result of taking a couple of interrupts
with a large chunk of the stack already in use.

While here, fix a minor logic hiccup in a sanity check.
1998-11-06 15:16:07 +00:00
Peter Wemm
21ce23eb91 Define the kld_debug variable if KLD_DEBUG is enabled 1998-11-06 15:10:17 +00:00
David E. O'Brien
9e22648b54 make lnc0 definition in LINT match GENERIC 1998-11-06 09:37:38 +00:00
David E. O'Brien
9a0931701a add AMD Am7990 & Am79C960 to description of lnc(4) 1998-11-06 09:35:32 +00:00
KATO Takenori
f3284683fb Sync with sys/i386/i386/userconfig.c revision up to 1.115. 1998-11-06 08:08:05 +00:00
KATO Takenori
c70606fd9f Sync with sys/i386/i386/machdep.c revision up to 1.315. 1998-11-06 08:07:32 +00:00
KATO Takenori
48ba888a6a Sync with sys/i386/conf/options.i386 revision 1.91. 1998-11-06 08:07:00 +00:00
KATO Takenori
a0a1e229e8 Sync with sys/i386/conf/Makefile.i386 revision 1.128. 1998-11-06 08:06:32 +00:00
Jordan K. Hubbard
11adc0d65e Use proper literal names. 1998-11-06 04:01:32 +00:00
Mike Smith
8a34f8ba88 Ack. Create parseable command tail properly, and eat args out of the TIB. 1998-11-06 03:50:44 +00:00
Mike Smith
8190a019a5 Don't not print the prompt string; not doing this has funny side-effects.
Make the prompt an empty string instead.
1998-11-06 03:47:08 +00:00
Mike Smith
84924924e1 Don't use the poxy vmGetString interface (who uses counted strings these
days?), get the input buffer ourselves.  Add some debugging code.
1998-11-06 03:45:36 +00:00
Peter Wemm
f9d919e98f put a \n on an error message printf 1998-11-06 02:18:57 +00:00
Peter Wemm
cf3e757633 If this is going to have checks for kernel versions, it might as well
do it so that it works.  This code should run on 2.2.x now.
1998-11-06 02:13:14 +00:00
Peter Wemm
5ebfc07dce Remove machine/cputypes.h - it's an i386 only thing 1998-11-06 01:34:06 +00:00
Robert Nordier
548bf5dd17 Make use of BIOS int 0x13 extensions configurable, and disabled
by default.
1998-11-05 20:52:25 +00:00
David Greenman
9dab07768f Document the new NSFBUFS option. 1998-11-05 14:36:37 +00:00
David Greenman
dd0b2081f4 Implemented zero-copy TCP/IP extensions via sendfile(2) - send a
file to a stream socket. sendfile(2) is similar to implementations in
HP-UX, Linux, and other systems, but the API is more extensive and
addresses many of the complaints that the Apache Group and others have
had with those other implementations. Thanks to Marc Slemko of the
Apache Group for helping me work out the best API for this.
Anyway, this has the "net" result of speeding up sends of files over
TCP/IP sockets by about 10X (that is to say, uses 1/10th of the CPU
cycles) when compared to a traditional read/write loop.
1998-11-05 14:28:26 +00:00
Jordan K. Hubbard
82f35547c9 Remember a bit more of my forth and do:
o Add fexists word to check for the presence of a file
o make fexists and fload immediate words which DTRT both interpreted
  and compiled (doh!)
o add an init word which gets run at bootstrapping time to do extra
  post-coldload initialization (in the default implementation, we
  look for /boot/boot.4th and load it if found).
1998-11-05 08:39:43 +00:00
Jordan K. Hubbard
5eb1c6c169 1. rebuild all elements of testmain properly for safety.
2. add fload and key prims for doing simple file and terminal I/O, respectively
1998-11-05 07:27:55 +00:00
Mike Smith
875e602afe Explicitly invoke perl to run the softwords.pl script in case the
script is not executable.
Submitted by:	Don Lewis <Don.Lewis@tsc.tdk.com>
1998-11-05 04:54:05 +00:00
Peter Wemm
ce6bd34722 Build linux_genassym static, this should help aout-to-elf builds 1998-11-05 04:39:26 +00:00
Peter Wemm
6a1a9040f4 Do not overwrite the lkm versions of the install scripts for now. linux
works but ibcs2 has a load failure and joy doesn't look like it'll work.
1998-11-05 04:22:52 +00:00
Peter Wemm
38266231ef Update to use kldload, no temporary files! 1998-11-05 04:19:26 +00:00
Peter Wemm
92892ca7a5 Do not add ${KMOD} to the CLEANFILES list. We want ${PROG} which is either
${KMOD}.o or ${KMOD}.ko.  Otherwise we can delete the source shell script
for linux, joy and ibcs2.
1998-11-05 04:01:55 +00:00
Nicolas Souchu
d3cf287966 iicbus probe and attach deferred until root_bus_configure() call. 1998-11-04 22:09:17 +00:00
Nicolas Souchu
804ec04759 Properly reset parent to get interface addr. 1998-11-04 22:07:24 +00:00
Bill Fenner
0931333f8d Fix sbcheck() to check all packets on socket buffer.
Also fix data types and printf formats while I'm here.

PR:	misc/8494

Panic instead of looping forever in sbflush().  If sb_mbcnt counts
more mbufs than sb_cc counts bytes, the original code can turn into an
infinite loop of removing 0 bytes from the socket buffer until it's empty.
1998-11-04 20:22:11 +00:00
Kenneth D. Merry
25e5ca272b Generalize the quirk entry that disables multi-lun probing for Sony CDROM
drives.  It seems that quite a few (possibly all?) of their drives respond
to inquiries on multiple luns.  Hopefully we can detect problems like this
in the probe phase at some point.  For now, this is a pretty functional
solution.
1998-11-04 19:56:24 +00:00
John Polstra
68d0b83d98 Fix make world breakage: "$MACHINE_ARCH" -> "${MACHINE_ARCH}". 1998-11-04 18:25:23 +00:00
Mike Smith
28cc91d8c5 Don't try to build i386-centric modules on non-i386 systems. 1998-11-04 17:15:07 +00:00
Peter Wemm
3187d896a1 Make a.out kernels kld compatable by default... 1998-11-04 15:27:41 +00:00
Peter Wemm
84e40f5627 The handle for the kernel is common. With this fix, ELF kernels can load
a.out kld modules, and a.out kernels can load ELF kld modules.
1998-11-04 15:20:58 +00:00
Peter Wemm
0ce10add93 Remove stray(?) debugging printf's and cngetc()'s that freeze boot several
times waiting for keypresses.
1998-11-04 13:37:43 +00:00
Luigi Rizzo
16c775657c Remove an error message from sb interrupt driver -- it
does not apply to all situations.
1998-11-04 09:13:20 +00:00
Mike Smith
2cd5cac4ec Improve the assertion testing for successful softword compilation.
The excessive use of assert() vs. robust error checking is annoying.
1998-11-04 07:07:18 +00:00
Peter Wemm
0640d357f2 Simple update to make these work as kld and preload modules. 1998-11-04 03:49:39 +00:00
Mike Smith
95bd40d634 Turn off -g accidentally left in from testing. 1998-11-04 03:42:36 +00:00
Mike Smith
4ce140ae69 Fix includes; we were still pulling in <stdlib.h> in some places.
Support building a standalone interpreter with 'make testmain', remove
win32 and egregious gets() in testmain.c
1998-11-04 03:42:16 +00:00
Mike Smith
66683792a4 Use a smaller default dictionary to waste less space. 1998-11-04 03:41:09 +00:00
Peter Wemm
ee9d248c5f General tidy up: remove more unused code, update comments, simplify some
routines a little.
1998-11-04 03:18:10 +00:00
Jordan K. Hubbard
12b2c0d82e Respect ${.OBJDIR} properly when looking for libficl.a 1998-11-04 02:36:18 +00:00
Mike Smith
48fe834fda Add required parts for BootForth building (currently disabled and
untested).  Only suitable for i386 at the moment, as we are missing
setjmp/longjmp on the Alpha.
1998-11-04 00:30:47 +00:00
Mike Smith
cbb5c0dd58 Make this work in the libstand environment; don't use stdio/stdlib headers. 1998-11-04 00:29:33 +00:00
Mike Smith
c7db92c026 Add BootForth hooks; if BOOT_FORTH is defined, pass every line read
to the Forth interpreter.  Instantiate all of our inbuilt commands
as Forth words, and handle them being called from there.

Add my copyright to the bcache module (oops).
1998-11-04 00:29:01 +00:00
Mike Smith
631746a171 Include "bootstrap.h" to get a definition for bcache_devdata.
Submitted by:	jkh
1998-11-03 23:44:49 +00:00
Dag-Erling Smørgrav
fb46af4f6c Back out previous commit. The bpfilter -> bpf transition will have to be a
flag day unless we can hack config(8) to smooth things over.
1998-11-03 22:01:22 +00:00
Dag-Erling Smørgrav
10b4ab477f Rename the 'bpfilter' pseudo-device to 'bpf'. The old syntax is still legal
and will stick around for a while.
1998-11-03 21:12:20 +00:00
Mike Smith
5aa27731b7 Remove USERCONFIG_BOOT, add INTRO_USERCONFIG 1998-11-03 21:08:49 +00:00
Mike Smith
ec2a20b046 Remove the USERCONFIG_BOOT option. Userconfig script data is searched
for in a loaded module of type "userconfig_script".  The RB_CONFIG
flag will always result in the user being left inside userconfig at
the end of the script's execution, regardless of 'quit' commands in
the script.  If the RB_CONFIG flag is not specified, the user will
never be left inside userconfig, even if the script does not have an
explicit exit command.

Add the INTRO_USERCONFIG option.  This option forces the userconfig 'intro'
screen (after a script has optionally been executed).  There is no longer
a need to queue an 'intro' command.
1998-11-03 21:07:51 +00:00
Peter Wemm
02fc72dbe5 make mount(2) automatically kldload modules if the requested filesystem
isn't present.
1998-11-03 14:29:09 +00:00
Peter Wemm
7837745438 Have the in-kernel linker try a default extension of .ko. This means that
"kldload nfs" works.  We use the same default extension in the /boot/loader
system.
1998-11-03 14:27:05 +00:00
Peter Wemm
e91a7f30cf Initialize the a.out kld loader after elf, so that elf gets first shot at
a kldload attempt.
1998-11-03 14:25:21 +00:00
Peter Wemm
b913711e0c Use the kvm space pathname that we copied in, not the one in user space. 1998-11-03 13:09:31 +00:00
Peter Wemm
cabb29ecf0 Reactivate coda. Also, KLD isn't just for i386, it will work on all
architectures since it is a key part of the configuration mechanism. The
exact same code runs in the kernel as it does in a kld module.
1998-11-03 08:58:27 +00:00
Peter Wemm
7b91328a39 Support KLD. We register and unregister two modules. "coda" (the vfs)
via VFS_SET(), and "codadev" for the cdevsw entry.  From kldstat -v:
 3    1 0xf02c5000 115d8    coda.ko
        Contains modules:
                Id Name
                 2 codadev
                 3 coda
1998-11-03 08:55:06 +00:00
Julian Elischer
cd8ab93c90 In the cyrix Cx5530, there are null (empty) Base address registers before the
base register that controls Ultra-DMA, so we need to examine all possible
base registers instead of just giving up at the first empty one.
Also, looking at the source code to the BIOS, I see that they are also
checking for 0xffffffff as an invalid value so do the same. Stefan may like
to clean this up, but at least now I can find my PCI IDE registers.
1998-11-03 08:47:29 +00:00
Peter Wemm
3b49cbc625 The union kld module is now fully functional. 1998-11-03 08:03:04 +00:00
Peter Wemm
8c14bf40a1 Change the #ifdef UNION code into a callable hook. Arrange to have this
set up when unionfs is present, either statically or as a kld module.
1998-11-03 08:01:48 +00:00
Peter Wemm
d679319f61 Update comments on status of modules 1998-11-03 06:51:48 +00:00
Peter Wemm
600f97da28 Build KLD modules, these work for both a.out and elf. 1998-11-03 06:50:58 +00:00
Greg Lehey
0b492c2b06 Remove some dead code and comments 1998-11-03 06:38:58 +00:00
Greg Lehey
44043daefc Print a warning if we removed a junked drive
Take a drive down if it's not open
1998-11-03 06:38:26 +00:00
Greg Lehey
8ef3d686c9 Take drive down if the disk driver tells us it's not there 1998-11-03 06:37:57 +00:00
Greg Lehey
62ae0ffa95 Check for duplicate subdisk names 1998-11-03 06:37:14 +00:00
Mike Smith
780ebb4b00 Add the Ficl (Forth Inspired Command Language) interpreter. If all goes well,
this will allow us to manage bloat in the loader by using a bytecoded HLL
rather than lots of C code.  It also offers an opportunity for vendors
or others with special applications to significantly customise the boot
process without having to commit to a divergent code branch.

This early commit is to allow others to experiment with the most effective
mechanisms for integrating FICL with the loader as it currently stands.

Ficl is distributed with the following license conditions:

"Ficl is freeware.  Use it in any way that you like, with the understanding
 that the code is not supported."

All source files contain authorship attributions.

Obtained from:	John Sadler (john_sadler@alum.mit.edu)
1998-11-03 06:11:35 +00:00
Kazutaka YOKOTA
58541533dd Don't update the screen while the cursor shape is being changed
by the user-land program.
PR: i386/8344
1998-11-03 02:37:46 +00:00
Mike Smith
ddfd18e255 Ok, the entry aging algorithm sucked; 1s time resolution is not enough for
LRU.  Use a 31-bit counter instead.  If we decide to do heavy I/O through
the bootloader this will have to be revisited.
1998-11-02 23:50:59 +00:00
Mike Smith
af1f6e0673 Implement a simple LRU block cache. By default this is initialised to 16k,
and will bypass transfers for more than 8k.  Blocks are invalidated after
2 seconds, so removable media should not confuse the cache.

The 8k threshold is a compromise; all UFS transfers performed by
libstand are 8k or less, so large file reads thrash the cache.
However many filesystem metadata operations are also performed using
8k blocks, so using a lower threshold gives poor performance.

Those of you with an eye for cache algorithms are welcome to tell me
how badly this one sucks; you can start with the 'bcachestats' command
which will print the contents of the cache and access statistics.
1998-11-02 23:28:11 +00:00
Robert Nordier
3d04f230e5 Revise a few comments. 1998-11-02 17:53:08 +00:00
Mike Smith
3c0efe5da1 Standardise on ';' as a component separator; it seems to be a little more
common than ','.
1998-11-02 16:55:57 +00:00
David E. O'Brien
20ae30c22c spell check 1998-11-02 09:39:54 +00:00
Greg Lehey
c51cd25e95 Change some numeric #defines to enums 1998-11-02 04:11:16 +00:00
Greg Lehey
8b71433847 Don't close drives when called from interrupt context, set a flag for
the top half to do it.

Put in a dubious check for subdisk integrity when trying to bring
up a plex where others are already up.  This particular kludge is
crying out for a rewrite of the whole state code.

Add code to set_plex_state and set_volume_state to defer updates when
called from an interrupt context.  This doesn't happen yet, but it
could do.
1998-11-02 04:10:45 +00:00
Greg Lehey
d45fbfc7a1 Get the default revive blocksize right for striped and RAID-5 plexes 1998-11-02 04:10:19 +00:00
Greg Lehey
47ffaa06f1 Close any drives downed in an interrupt context.
Ensure correct order of requests.
Call launch_requests at splhigh to see if this stops the mysterious
SMP panics
1998-11-02 04:09:34 +00:00
Greg Lehey
f9fd1687b6 Accept incorrect device open counts, but print a warning
Don't save invalid drive config information, remove the drive
1998-11-02 04:09:09 +00:00
Greg Lehey
6e1f0e2f5e Check for maximum number of subdisks in a plex
Get object counts right when removing
1998-11-02 04:08:30 +00:00
Peter Wemm
f3d6ee090e Only do one VOP_ACCESS() per open() instead of two. This should reduce
the NFSv3 ACCESS RPC problems a little for busy clients that do a lot of
open/close.  The nfs code could probably cache the results, but I'm not
sure whether this would be legal or useful.  The problem is that with
a CPU farm, on each open there would be a lookup, getattr then access RPC
then the read/write RPC activity.  Caching the access results probably
isn't going to help much if the clients access lots of files.  Having the
nfs_access() routine interpret the getattr results is a bit of a hack, but
it's how NFSv2 is done and it might be OK for a mount attribute for v3.
1998-11-02 02:36:16 +00:00
Alexander Langer
9184fb847b Optimize bzero() by unrolling the aligned quadword loop and moving the length
manipulation away from the length comparison.  Measurements on beast.cdrom.com
show >3X improvement over the original code on large block sizes, putting the
performance on par with the optimized assembly code in libc.
1998-11-02 00:14:50 +00:00
Nicolas Souchu
9cd97de577 Oops forgot to remove peter's 'device iicbb0' declaration. Done. 1998-11-01 18:47:18 +00:00
Nicolas Souchu
28ebb6922f Add controller iicbb (generic I2C bit-banging code) and lpbb
(official Philips I2C parallel interface)

Add comments for bktr port to the new I2C framework
1998-11-01 18:41:21 +00:00
Wolfram Schneider
05fc45d7bf The kernel should compile even /dev/null does not exists. 1998-11-01 15:36:20 +00:00
Robert Nordier
3b1bd5ae35 Ignore, rather than emulate, an i386 'hlt' instruction (though for
most practical purposes, this should be indistinguishable from a
more strictly correct approach).

Feedback and testing: msmith
1998-11-01 13:52:52 +00:00
Semen Ustimenko
5fabcd1a00 Ported to OpenBSD. sys/pci/smc83c170.h renamed to sys/pci/if_txvar.h to be
like others.
1998-11-01 07:44:33 +00:00
Poul-Henning Kamp
3538f74065 Unneeded file.
Submitted by:	Mike Spengler <mks@networkcs.com>
1998-10-31 20:09:25 +00:00
Poul-Henning Kamp
5930f69a34 Set BLLI Layer 2 protocol field when using a 'User specified' protocol.
Submitted by:	Mike Spengler <mks@networkcs.com>
1998-10-31 20:08:03 +00:00
Poul-Henning Kamp
264b85f3ce Trivial stylish changes, mostly to silence gcc.
Reviewed by:	Mike Spengler <mks@networkcs.com>
Submitted by:	phk
1998-10-31 20:07:01 +00:00
Bill Paul
1b2451269c Increase the size of the tx and rx rings from 10 to 20 descriptors
and increase the tx interrupt threshold to 4. This fixes performance
problems on slower systems.

Also fix a mind-o in the rx ring init routine: I used the TX
constant instead of the RX. This isn't a problem as long as the
rings are the same size, but if they aren't hijinx will ensue.
1998-10-31 17:23:48 +00:00
Peter Wemm
b0359e2c11 Add John Dyson's SYSCTL descriptions, and an export of more stats to
a sysctl hierarchy (vm.stats.*).  SYSCTL descriptions are only present
in source, they do not get compiled into the binaries taking up memory.
1998-10-31 17:21:31 +00:00
Doug Rabson
06feb69276 * Extend the memory available for the heap from 256k to 512k.
* Embed the stack into the bss section for loader and netboot.  This
  is required for netboot since otherwise the stack would be inside our
  heap.
* Install loader and netboot in /boot by default.
* Fix getbootfile so that it searches for a ',' instead of a ';'
  when terminating the filename.
1998-10-31 17:12:32 +00:00
Peter Wemm
1f2edded90 vm_object_page_clean() last arg changed from TRUE to OBJPC_SYNC. I'm not
sure that this is necessary to be a sync write here since a VOP_FSYNC()
follows and it will schedule, sort and complete the writes that the
vm_object_page_clean() started (as I think I understand things).
1998-10-31 15:39:31 +00:00
Peter Wemm
2ec07c6614 Change dirty block list handling to use TAILQ macros. 1998-10-31 15:33:32 +00:00
Peter Wemm
40c8cfe552 Use TAILQ macros for clean/dirty block list processing. Set b_xflags
rather than abusing the list next pointer with a magic number.
1998-10-31 15:31:29 +00:00
Peter Wemm
213cbcbeaf I do not know if this is correct, but add iicbb0 as a device so that
LINT links.
1998-10-31 14:26:21 +00:00
Peter Wemm
e6b148712b Fixup prototypes so that this beastie compiles. 1998-10-31 14:23:09 +00:00
Peter Wemm
16e9e530cc Convert lists for bufs attached to vnodes from a LIST to a TAILQ.
- Use TAILQ_* macros extensively instead of internal names
- use b_xflags instead of the NOLIST magic number hack in the next pointer
- clean bufs are inserted at the tail rather than the head.
- redo dirty buffer insert so that metadata (negative lbn) goes to the
  tail directly rather than at the HEAD.  This makes a difference when
  inserting dirty data blocks in lbn sorted order since data block
  insertion will not have to bypass all the metadata cruft.  data is
  lbn sorted since it makes sense for clustering and writeback ordering,
  while metadata sorting doesn't help much since the lbn's are
  meaningless when walking the list for writebacks.

Small systems will not notice much (if any) benefit from this, but really
busy systems with large dirty block lists should get a lot more.

I've tested this with softdep, and it doesn't seem to mind the change of
queueing of metadata.

Reviewed (in princible) by: dg
Obtained from: partly from John Dyson's work-in-progress patches in June.
1998-10-31 14:20:39 +00:00
Peter Wemm
630ff66320 Convert the vnode clean/dirty attached buffer lists from LISTs to TAILQs.
Add a new flags field (we get this for free because of struct packing)
for cleaner management of tailq membership.
We had two spare b_flags slots, but they are a precious resource and may
be needed for other things that are related to other b_flags bits.  The two
new flags are convenient to use in a seperate location.

Reviewed (in principle) by: dg
Obtained from: John Dyson's old work-in-progress
1998-10-31 14:05:11 +00:00
Nicolas Souchu
3ab1f0562c New callback mechanism to allow iicbus bus allocation when requesting
smbus over iicsmb(4).
1998-10-31 11:39:54 +00:00
Nicolas Souchu
af5487872e pcf.c: timeout management added
ppc.c: nsc code improved. Actually, a complete rewrite.
1998-10-31 11:37:09 +00:00
Nicolas Souchu
f7ce69c963 lpbb is the official Philips parallel I2C interface. lpbb.c contains only
basic i/o functions, bit-banging mechanism is implemented by dev/iicbus/iicbb.c

immio.c: some bootverbose logs to watch zip+ connect/disconnect process
1998-10-31 11:35:21 +00:00
Nicolas Souchu
04f89a63cb iicbb is generic support for I2C bit-banging.
Other files: timeout management added to the I2C framework.
1998-10-31 11:31:07 +00:00
Nicolas Souchu
fbd78b40dd Brooktree driver ported to the new I2C framework. See iicbus(4) for more info. 1998-10-31 11:26:38 +00:00
Nicolas Souchu
206b85750f Extensions to iicbus(4) added + brooktree848 driver ported to new I2C
framework.
1998-10-31 11:24:20 +00:00
Doug Rabson
171f44d78b * Use explicitly sized types for grovelling around inside packets.
* On the alpha, make sure memory accesses are only made to aligned boundaries.

Submitted by: Alex Nash <nash@mcs.net>
1998-10-31 10:45:03 +00:00
Doug Rabson
57250ffb42 * Fix vga_probe() so that it doesn't report a non-vga display adapter as
a vga.
* Fix broken logic in syscons for a failed probe.
* Fix AlphaStation 500/600 so that non-serial consoles are supported.

Submitted by: Thomas Valentino Crimi <tcrimi+@andrew.cmu.edu> (vga bits),
	      Andrew Gallatin <gallatin@cs.duke.edu> (AS500/AS600)
1998-10-31 10:35:24 +00:00
Peter Wemm
b421db370b The last argument to vm_object_page_clean() are now bit flags, rather than
the old true/false.

While here, have vfs_msync() only call vm_object_page_clean() with
OBJPC_SYNC if called with MNT_WAIT flags.  vfs_msync() is called at unmount
time (with MNT_WAIT) and from the syncer process (formerly update).
This should make dirty mmap writebacks a little less nasty.

I have tested this a little with SOFTUPDATES enabled, but I don't normally
use it since I've been badly burned too many times.
1998-10-31 07:42:04 +00:00
Mike Smith
dc8be6a8f5 - Add a new command 'lsdev' to list devices which might be likely to host
filesystems.
 - New 'help' command and data in the help.* files (not yet installed),
   provides topic and subtopic help, indexes, etc.
 - Don't crash if the user tries to set an invalid console.  Be helpful
   instead.
 - Expand tabs (badly) on the i386 video console.
 - Some minor cosmetic changes.
1998-10-31 02:53:12 +00:00
Dag-Erling Smørgrav
903a1a16df Document that we support i82595-based Ethernet adapters (Intel EtherExpress
Pro/10 and Pro/10+).
1998-10-30 20:49:14 +00:00
David Greenman
2a78b8d1f8 Unwire everything to the inactive queue in order to preserve LRU ordering. 1998-10-30 14:53:54 +00:00
Luigi Rizzo
2a62931083 Fix a typo, and remove verbose error reporting when in
promisc mode (they are annoying in normal mode
as well so i am really tempted to remove them unconditionally...)
1998-10-30 11:53:58 +00:00
Luigi Rizzo
9525e8f53c Use "KB" instead of "Kb" for KiloBytes, consistently with other
drivers and common practices.
1998-10-30 10:57:09 +00:00
Luoqi Chen
36159e3d1e Fix an uninitialized variable in the `dangerously dedicated disk' case. 1998-10-30 07:15:52 +00:00
Mike Smith
35d27a0f39 Add the ability to specify where on the at_shutdown queue a handler is
installed.

Remove cpu_power_down, and replace it with an entry at the end of the
SHUTDOWN_FINAL queue in the only place it's used (APM).

Submitted by:	Some ideas from Bruce Walter <walter@fortean.com>
1998-10-30 05:41:15 +00:00