Commit Graph

913 Commits

Author SHA1 Message Date
paul
35900aa74f Remove the idempotency I added -- it was wrong.
Reviewed by:
Submitted by:
1994-08-21 19:13:08 +00:00
paul
68a462f3d5 Fix typo (define -> ifndef)
Reviewed by:
Submitted by:
1994-08-21 19:06:48 +00:00
paul
a5b27701b9 Removed disk type from disklabel lines, not needed for installing
bootblocks.

Reviewed by:
Submitted by:
1994-08-21 18:15:45 +00:00
paul
eb40903ae1 Fixed bootblocks to work with FreeBSD 2.0
1) Fixed up some header locations
2) Replaced list of boot files with /kernel
3) Changed disklabel use in Makefile to conform to 4.4
4) Added size command in Makefile to get close estimate of bootblock
   sizes. Total size of text and data must be below 64K, slightly
   overestimated since a.out header subsequently gets stripped.
5) Various buffer sizes are set to 8192 bytes in sys.c. In 4.4 MAXBSIZE
   is set to 64K which is too big for the bootblocks to deal with.

Submitted by:	Paul Richards
1994-08-21 17:47:26 +00:00
paul
ef6f4b86ab Made idempotent
Reviewed by:
Submitted by:
1994-08-21 07:19:45 +00:00
paul
bcc18c44d8 Made idempotent
Reviewed by:
Submitted by:
1994-08-21 07:03:56 +00:00
paul
9e34f0cb59 More idempotency....... this is fun :-) 1994-08-21 06:50:16 +00:00
paul
2f3d57ca81 Made idempotent.
Submitted by:	paul
1994-08-21 06:22:12 +00:00
paul
bf2ae5d599 Made idempotent -- made some of them more consistent with rest of tree.
Reviewed by:
Submitted by:
1994-08-21 06:14:33 +00:00
paul
743dba06ce Made idempotent 1994-08-21 05:44:12 +00:00
paul
8197ce5e98 Made idempotent.
Submitted by:	Paul
1994-08-21 05:27:42 +00:00
paul
be1bed59fb Make idempotent.
Submitted by:	Paul
1994-08-21 05:11:48 +00:00
paul
08a1a02226 Made idempotent.
Reviewed by:
Submitted by:
1994-08-21 04:55:31 +00:00
paul
1f5dfa1be2 Made them all idempotent.
Reviewed by:
Submitted by:
1994-08-21 04:42:17 +00:00
dg
f817326b2e Implemented filesystem clean bit via:
machdep.c:
	Changed printf's a little and call vfs_unmountall() if the sync was
	successful.

cd9660_vfsops.c, ffs_vfsops.c, nfs_vfsops.c, lfs_vfsops.c:
	Allow dismount of root FS. It is now disallowed at a higher level.

vfs_conf.c:
	Removed unused rootfs global.

vfs_subr.c:
	Added new routines vfs_unmountall and vfs_unmountroot. Filesystems
	are now dismounted if the machine is properly rebooted.

ffs_vfsops.c:
	Toggle clean bit at the appropriate places. Print warning if an
	unclean FS is mounted.

ffs_vfsops.c, lfs_vfsops.c:
	Fix bug in selecting proper flags for VOP_CLOSE().

vfs_syscalls.c:
	Disallow dismounting root FS via umount syscall.
1994-08-20 16:03:26 +00:00
dg
c97639b923 1) cleaned up after Garrett - fixed more redundant declarations, changed
use of timeout_t -> timeout_func_t in aha1542 and aha1742 drivers.
2) fix a bug in the portalfs that was uncovered by better prototyping -
   specifically, the time must be converted from timeval to timespec
   before storing in va_atime.
3) fixed/added some miscellaneous prototypes
1994-08-20 03:49:02 +00:00
dg
255b8baf81 Woops...forgot to commit this file. Part of Terry Lambert's loadable kernel
module support, with NetBSD improvements.
1994-08-20 02:23:40 +00:00
dg
b2b5a4aef0 Removed bogus save of CMAP2. 1994-08-19 22:49:42 +00:00
ats
4dde745bf6 Reviewed by:
Corrected a little typo in a comment.
Throw out the typedef timeout_t with an ifdef __FreeBSD__, it is already
defined in sys/systm.h .
1994-08-19 21:02:05 +00:00
dg
f3df44cf64 Hmmm...my workaround for Garrett's new exec prototypes wasn't sufficient.
I guess we'll have to not specify what the args to the exec functions
are.
1994-08-19 14:24:16 +00:00
dg
6b1e97340f Terry Lambert's loadable kernel module support w/improvements from the
NetBSD group.
1994-08-19 11:45:29 +00:00
jkh
070c4a2af3 1. Make this idempotent.
2. Hack.

	Hack is to define RCSID() to null macro so that new msun stuff
	will compile.  This does NOT belong here, and I DON'T want it to
	stay, I just need to put this here for now to enable msun and we need
	to talk about what our RCSID story is supposed to be.  We talked about
	supporting RCSID() one day, and everyone seemed to like the idea
	reasonably well of making it a macro you could just no-op this way,
	but we never did anything.  Now I see that JTCs code has it and I'm
	loath to remove it or do anything until we've discussed it some more.

	Well, so how about it?  What's our story vis-a-vis RCSID() going to
	be?

Submitted by:	jkh
1994-08-19 11:20:11 +00:00
jkh
0dd81803dd Smash together Poul-Henning's, Garrett's and Steve Gerakines 24f changes
into one, hopefully functioning, Ultrastore driver.  Any Ultrastore owners
out there - please speak up!  We need to test this puppy.
Reviewed by:
Submitted by:
1994-08-19 00:32:52 +00:00
phk
a8a9b8d89b 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
phk
3fcf3cf41d Added {} around two initializers for spare[2] in some structs. This calms
down -Wall a little bit.
1994-08-18 23:36:40 +00:00
wollman
f9fc827448 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
dg
bf2d1675b9 Added support for TIOCSTAT ioctl. This allows shells that use raw/cbreak
tty modes to process a control-T and do the right thing.
1994-08-18 09:16:37 +00:00
dg
7b3218c89f Bruce Evans' dynamic interrupt support.
/usr/src/sys/i386/isa/clock.c:
	o Garrett's statclock changes.
	o Wire xxxintr, not Vclk.
	o Wire using register_intr(), not setidt().

/usr/src/sys/i386/isa/icu.s:
	o Garrett's statclock changes.
	o Removed unused variable high_imask.
	o Fake int 8 for rtc as well as int 0 for clk.  Required for kernel
	  profiling with statclock, harmless otherwise.

/usr/src/sys/i386/isa/isa.c:
	o Allow isdp->id_irq and other things in *isdp to be changed by
	  probes.  Changing interrupts later requires direct calls to
	  register_intr() and unregister_intr() and more care.
	  ALLOW_CONFLICT_* is brought over from 1.1.5, except
	  ALLOW_CONFLICT_IRQ is not supported.  IRQ conflict checking is
	  delayed until after probing so that drivers can change the IRQ
	  to a free one; real conflicts require more cooperation between
	  drivers to handle.
	o Too many details to list.
	o This file requires splitting and a lot more work.

/usr/src/sys/i386/isa/isa_device.h:
	o Declare more things more completely.

/usr/src/sys/i386/isa/sio.c:
	o Prepare to register interrupt handlers as fast.

/usr/src/sys/i386/isa/vector.s:
	o Generate entry code for 16 fast interrupt handlers and 16 normal
	  interrupt handlers.  Changed some constants to variables:
	  # $unit is now intr_unit[intr].  Type is int.  Someday it should
	    be a cookie suitable for the handler (e.g., a struct com_s for
	    sio).
	  # $handler is now intr_handler[intr].
	  # intrcnt_actv[id_num] is now *intr_countp[intr].  The indirection
	    is required to get a contiguous range of counters for vmstat
	    and so that the drivers depend more in the driver than on the
	    interrupt number (drivers could take turns using an interrupt
	    and the counts would remain correct).  There is a separate
	    counter for each device and for each stray interrupt.  In
	    1.1.5, stray interrupt 7 clobbers the count for device 7 or
	    something worse if there is no device 7 :-(.
	  # mask is now intr_mask[intr] (was already indirect).
	 o Entry points are now _XintrI and _XfastintrI (I = intr = 0-15),
	   not _VdevU (U = unit).
	 o Removed BUILD_VECTORS stuff.  There's a trace of it left for
	   the string table for vmstat but config now generates the
	   string in one piece because nothing more is required.
	 o Removed old handling of stray interrupts and older comments
	   about it.

Submitted by:	 Bruce Evans
1994-08-18 05:09:36 +00:00
dg
c87abe4536 Moved over my fix for vnode lossage when multiple TIOCSCTTY ioctls are
done. This patch was extended to also include a suggested change by
Kirk McKusick which allows the control tty to be reasigned to a different
tty without losing a vnode.
1994-08-18 03:53:38 +00:00
sos
d4c1e31c0f Oops, changed order of include lines...
Reviewed by:
Submitted by:
1994-08-17 19:32:23 +00:00
sos
778497d080 Updated to latest 1.1.5.1+ version
Reviewed by:
Submitted by:
1994-08-17 08:51:59 +00:00
sos
f78983c0b7 Updated to latest version from 1.1.5.1+
Reviewed by:
Submitted by:
1994-08-17 08:51:10 +00:00
wollman
d7a33d9622 Add option KBD_RESET_FAIL_OK so that GCC 2.6 doesn't break my
console.
1994-08-15 22:41:33 +00:00
wollman
d1747d9934 Enable use of the RTC chip for the statistical clock. While this does
not provide the full accuracy of a randomized statistical clock, it does
provide greater accuracy than the previous method, while not significantly
increasing overhead.  It also provides profiling support at 1024 Hz.

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

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

Reviewed by:
Submitted by:	Paul Richards
1994-08-14 01:52:02 +00:00
phk
8c771a08fd The tcp/ip interfaces needed longer timeouts, works fine under 2.0. 1994-08-14 01:46:28 +00:00
wollman
f4b3cc415b Fix conditional-compilation mixup, pointed out by Paul Richards. 1994-08-13 17:45:09 +00:00
dg
9daaac06d0 Made the kernel compile cleanly with gcc 2.6.0. Thanks go to Bruce
Evans for suggesting a method to detect various versions of gcc.
1994-08-13 14:21:58 +00:00
wollman
07e1c7f69d 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
phk
0bd3f2acae Submitted by: Poul-Henning Kamp <phk@login.dkuug.dk>
Added my if_lp TCP/IP driver to lpt.c.
I have (surprise) not been able to test it on a 2.0 machine yet.  Connect the
machines with a parallel "lap-link" cable, and get rates from 35 kbyte/sec
up to 75 kbyte/sec.  (when ftp'ing foo: dev/zero -> bar:/dev/null).

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

I think we should promote this feature when we dump 2.0 on the expectant
public, because it provides a cheap and efficient way to move data to and
from notebooks &c.  It is not a replacement for ethernet, but a cheap
substitute sometimes.
1994-08-13 00:37:03 +00:00
dg
8975035777 Added conditionals to make this compile cleanly in FreeBSD 2.0. 1994-08-12 11:42:37 +00:00
dg
cc490038a0 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
dg
0bf5c587d2 Removed some unnecessary code that sets the link layer address. This should
be removed from the other drivers, too, as it is already done at a higher level
in the kernel.
1994-08-12 06:36:51 +00:00
dg
62b817045c Add missing ifr variable declaration that I forgot when adding MTU
ioctl support.
1994-08-12 06:06:19 +00:00
jkh
0dbbd21c05 Change outb() as per Bruce's instructions so that it doesn't explicitly
try to pass its argument in the ax register.
Reviewed by:
Submitted by:
1994-08-11 02:26:08 +00:00
wollman
af8613405f For Pentium machines, use a faster version of microtime with 8 usec
resolution (can probably be improved somewhat).  Other machines take
a three-instruction hit if I586_CPU is defined, none otherwise.
1994-08-11 00:28:24 +00:00
wollman
ad6af289bc Tell Pentium users their CPU speed. (More changes to make use of this
to come later.)
1994-08-10 23:28:33 +00:00
dg
59538967d9 Initialize lockf pointer. I missed this when I made NFS use the generic
advlock mechanism, and not doing so results in random system crashes.
1994-08-10 19:48:23 +00:00
wollman
f0e3ec0f96 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
wollman
27d6cc8585 Handle NMI's in accordance with data in van Gilluwe book. 1994-08-10 04:39:52 +00:00
wollman
4131cde334 Some programs (like GNU configure programs) depend on the output of
`uname -s' to be something reasonable (traditionally, `i386') rather
than `PC-Class'.  Make it so.
1994-08-10 03:53:33 +00:00
wollman
dfdb8b7e14 Add back in CPU detection copde from 1.1.5. As an added bonus, the
hw.model MIB variable is now declared correctly.
1994-08-10 03:51:18 +00:00
dg
90f432ed61 Fixed vm_page_deactivate to deal with getting called with a page that's
not on any queue. This is an old patchkit days fix.

Reviewed by:	John Dyson and David Greenman
Submitted by:	originally by Paul Mackerras
1994-08-10 03:09:37 +00:00
wollman
1a485fa264 Change default security level to -1, so that users don't get bitten by
upcoming makefile change.
1994-08-10 02:41:09 +00:00
dg
4dfef8927a Removed some padding bytes from the nfsnode struct to make the structure
size a power of 2 again. The system complains otherwise - probably because
it wastes space with our malloc scheme otherwise.
1994-08-09 15:10:14 +00:00
jkh
e6e4d38831 Merge in the necessary bits from 1.1.5.1 to make exec.h and reloc.h
happy campers again (e.g. match our own exec format).  This should
make ld happy.
Submitted by:	jkh
1994-08-09 14:39:57 +00:00
dg
12543ae820 Removed ntohl and ntohs functions. These were already inlined assembly in
endian.h.
1994-08-09 11:21:44 +00:00
dg
82430e77cf Removed an old, obsolete call to vmmeter(). This is called now in the
schedcpu() routine in kern/kern_synch.c. This extra call to vmmeter() in
vm_glue.c was what was totally messing up the load average calculations.
1994-08-09 10:42:41 +00:00
dg
0b8d504c00 Added various filesystems and multicast support options. Removed my
personal config file now that the GENERIC ones provide an adequate
template.
1994-08-09 08:17:09 +00:00
dg
8c8cfc5c11 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
jkh
d5d7662740 Fix a compilation-stopping typo; whoops, David - more sleep! :-)
Submitted by:	jkh
1994-08-08 16:45:11 +00:00
wollman
5e00042a4a Run-time configuration of VFS update interval. Old UPDATE_INTERVAL
configuration option is no longer supported.
1994-08-08 15:41:08 +00:00
dg
3080f1fcaf Last commit for this file should have read:
Reduced maximum transfer size by one to allow for catching a too large
condition correctly. Do single block I/O if the size is too large.

Submitted by:	Bruce Evans
1994-08-08 13:56:46 +00:00
dg
90aed30c20 Detect the "EOF" condition. Specifically, end of partition.
Submitted by:	Bruce Evans
1994-08-08 13:53:55 +00:00
dg
f85fe1cefd Added support for SIOCSIFMTU. 1994-08-08 13:33:16 +00:00
dg
0c715f4417 Process tracing code. Written by Sean Eric Fagan.
Submitted by:	Sean Eric Fagan
1994-08-08 13:00:27 +00:00
dg
51d1879366 Added ioctl support for SIOCSIFMTU. 1994-08-08 12:09:04 +00:00
dg
4eb7e7f1c4 On second thought, better restrict the mtu to between 72-65535...strange
things happen otherwise.
1994-08-08 11:43:44 +00:00
dg
6a73fab070 Enforce the mtu to between the range 1-65535 before calling the driver
ioctl routine.
1994-08-08 10:58:30 +00:00
dg
77ebe221fd Added ioctl support for SIOCGIFMTU and SIOCSIFMTU. These set the per-
interface MTU.
1994-08-08 10:49:26 +00:00
dg
02aff34c6c Take out multicast support for the moment. 1994-08-08 09:14:37 +00:00
dg
9982630be3 Increased ARG_MAX even further...to 64k bytes. 1994-08-08 09:12:43 +00:00
dg
a5f60ab1cf Changed B_AGE policy to work correctly in a world with relatively large
buffer caches. The old policy generally ended up caching nothing.
1994-08-08 09:11:44 +00:00
wollman
ee4032e27e Define a sysctl MIB variable for the YP domain name. 1994-08-08 00:30:12 +00:00
wollman
530c561980 Increase ARG_MAX so that `make clean' in src/lib/libc works again.
(Adding YP pushed it over the limit.)
1994-08-07 23:00:50 +00:00
wollman
2914d85c79 Use the header files that are compatible with the code just moved over
from 1.1.5.
1994-08-07 18:41:02 +00:00
dg
5f96899afd Made pmap_kenter "TLB safe". ...and then removed all the pmap_updates that
are no longer needed because of this.
1994-08-07 14:53:27 +00:00
dg
81dc370a9d Provide support for upcoming merged VM/buffer cache, and fixed a few bugs
that haven't appeared to manifest themselves (yet).

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

Submitted by:	 John Dyson
1994-08-07 03:31:52 +00:00
dg
93fcce5ec9 Implemented "fast" mbuf macros. a small number of mbufs are cached in
a linked list for fast allocation/free. Improves TCP performance by
about 20%.

Submitted by:	John Dyson
1994-08-06 11:26:16 +00:00
dg
4c3dd171d4 Don't strip the kernel. 1994-08-06 10:52:15 +00:00
dg
d54669e82c Fixed various prototype problems with the pmap functions and the subsequent
problems that fixing them caused.
1994-08-06 10:25:50 +00:00
dg
e1ff3868d9 Incorporated 1.1.5 improvements to the bounce buffer code (i.e. make it
actually work), and additionally improved it's performance via new pmap
routines and "pbuf" allocation policy.

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

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

Submitted by:	John Dyson
1994-08-06 09:15:42 +00:00
dg
edb74877fe Implemented support for the "ps_strings" structure (grrrr...) for use in
the userland library libkvm.
1994-08-06 09:06:31 +00:00
dg
f35b3c52c8 Enabled page table preloading of cached objects.
Submitted by:	John Dyson
1994-08-06 09:00:50 +00:00
dg
9719140bdf Process scheduling changes - adapted from FreeBSD 1.1.5. Basically,
charge scheduling CPU of child process to the parent and have child
inherit scheduling CPU from parent on fork. Makes a **big** difference
in the feel of the system to interactive users.

Submitted by:	John Dyson
1994-08-06 07:15:04 +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
wollman
2159e4287d Delete redundant #ifdef __i386__, be consistent about idempotency
protection.

Submitted by:	Bruce Evans
1994-08-05 14:36:04 +00:00
dg
f25724c99e Hack to get netstat compiling...from 1.1.5. 1994-08-05 12:33:30 +00:00
dg
8b4c1e13e0 Converted 'vmunix' to 'kernel'. 1994-08-05 09:28:55 +00:00
dg
26a975e503 Renamed this thing, and change 'vmunix' to 'kernel' internally. 1994-08-05 09:25:31 +00:00
wollman
4e7c0a8db9 Install RPC headers from include, like they always should have been. 1994-08-04 20:39:34 +00:00
dg
4db9c05591 Added assembly versions of ffs() and bcmp(). 1994-08-04 19:51:01 +00:00
dg
f9c5964667 Inlined insque and remque. 1994-08-04 19:46:57 +00:00
dg
92c719582b Fixed bug that would cause free memory reserves to be depleted and cause a
panic in some cases.
Submitted by:	John Dyson
1994-08-04 19:43:13 +00:00