Commit Graph

10393 Commits

Author SHA1 Message Date
John Dyson
1c77c6b7b0 Fix an embarassing problem in vtruncbuf. 1998-03-19 18:46:58 +00:00
Tatsumi Hosokawa
bf595ed7c2 Uninitialized pointer reference may happen on particular environment.
(for example, it kills my new laptop, Toshiba Libretto 100....)
1998-03-19 16:19:16 +00:00
Bruce Evans
5f1c0dcd1a Fixed CLEANFILES. Some temporary files were missing. 1998-03-19 13:22:46 +00:00
Bruce Evans
d2ca4e981b Fixed building of kernels without `options FFS'. ffs_softdep_stub.c is
not optional, since several "standard" files in ufs/ufs reference it.
1998-03-19 13:01:50 +00:00
Bruce Evans
77d71f644a Fixed a race to build the @' and machine' symlinks early enough
for `make -jN'.
1998-03-19 12:35:55 +00:00
David Greenman
4d88b7963a Protect against count of chars received being 0, which causes a panic
otherwise. Can apparantly happen with some firmware revs.

Submitted by:	Kouichi Hirabayashi <kh@mogami-wire.co.jp>
1998-03-18 20:52:28 +00:00
Garrett Wollman
2cc2df490e Add preliminary support for IEEE 802.1Q VLAN tagging. It doesn't actually
work reliably yet (I've had panics), but it does seem to occasionally
be able to transmit and receive syntactically-correct packets.
Also fixes one of if_ethersubr.c's legion style bugs, and removes
the hostcache code from standard kernels---the code that depends on it
is not going to happen any time soon, I'm afraid.
1998-03-18 01:40:12 +00:00
John Dyson
4641c8ac1d Correct a problem where data OR metadata could be thrown away if a
buffer is grown.
1998-03-17 17:36:05 +00:00
Daniel O'Callaghan
b9e8979b7b PR: i386/6040
Submitted by:	nakagawa@jp.freebsd.org
Add new PCI NE2000 (VIA VT86C926)
1998-03-17 10:54:23 +00:00
Søren Schmidt
eb615e1788 Fixed missing filemark on close if data written to tape.
Don't try to flush buffers if the drive says it has none.
More error checking and reporting.

Hack: if drive hangs, it can be reset by issuing a mt -f device offline.

I've been able to make several 4G backups. However there is still problems
with some configurations. It is not clear if it is hardware or driver
problems yet.
1998-03-17 10:45:18 +00:00
KATO Takenori
61324207f1 Make EPSON_BOUNCEDMA a new-style option. 1998-03-17 09:11:03 +00:00
KATO Takenori
b2bde4cb07 If lowervp is NULLVP, vap was clobbered.
Submitted by:	Naofumi Honda <honda@Kururu.math.sci.hokudai.ac.jp>
Obtained from:	NetBSD/pc98
1998-03-17 08:47:50 +00:00
KATO Takenori
b96ae93234 Sync with sys/i386/isa/clock.c revision 1.117. 1998-03-17 08:42:18 +00:00
KATO Takenori
f1aca9c33f Deleted PC-98 code because (1) machine dependent code should not be in
here, and (2) the flag used in PC-98 code has been assigned to another
purpose.
1998-03-17 08:41:28 +00:00
John Dyson
2deb5d0417 Correct a severely evil bug in the vtruncbuf code. It didn't cause
me any problems until after the previous commit.  This problem then
caused a severe case of creeping crud on my diskdrive, and hosed
my system so bad, that I needed to do a complete reinstall.  Sorry!!!

I assume that others have manifest this bug.
1998-03-17 06:30:52 +00:00
Mike Smith
4d1b2b52df Add missing entry to list of major device names. This list should not
exist.
1998-03-17 00:28:02 +00:00
Eivind Eklund
f909c15bec Clear up DPT comment to avoid further confusion. This is a hardware
driver.
1998-03-16 23:04:07 +00:00
Julian Elischer
c2a94b7a3c Remove a soft-update hook that was accidentally added to the READ path.
also add some comments, and a couple of very minor cosmetic changes.
1998-03-16 18:39:41 +00:00
Mike Smith
14e6f79297 Spell 'compatibility' like everyone else. 1998-03-16 12:07:54 +00:00
Mike Smith
2167f84289 Use dkmakeminor() rather than magic knowledge of the size and location of
the slice field.  Handle incomprehensible slice numbers slightly better.
Suggested by:	bde
1998-03-16 11:50:39 +00:00
Poul-Henning Kamp
b05dcf3c2f A bunch of BNN (Bruce Normal Nits) from bde:
Bring back the softclock inlining
	save a couple of <<32's
	many white-space shuffles.
1998-03-16 10:19:12 +00:00
Poul-Henning Kamp
7ab95d0bab Be less draconian about the TSC if APM is configured, use it for
timecounting if APM-BIOS isn't found.
Be just as draconian about SMP as always, but explain it better.
1998-03-16 10:06:58 +00:00
John Dyson
e85c1afb7c Allow vfs_ioopt to be enabled with a (temporary) config option. 1998-03-16 02:13:03 +00:00
John Dyson
bef608bd7e Some VM improvements, including elimination of alot of Sig-11
problems.  Tor Egge and others have helped with various VM bugs
lately, but don't blame him -- blame me!!!

pmap.c:
1)	Create an object for kernel page table allocations.  This
	fixes a bogus allocation method previously used for such, by
	grabbing pages from the kernel object, using bogus pindexes.
	(This was a code cleanup, and perhaps a minor system stability
	 issue.)

pmap.c:
2)	Pre-set the modify and accessed bits when prudent.  This will
	decrease bus traffic under certain circumstances.

vfs_bio.c, vfs_cluster.c:
3)	Rather than calculating the beginning virtual byte offset
	multiple times, stick the offset into the buffer header, so
	that the calculated offset can be reused.  (Long long multiplies
	are often expensive, and this is a probably unmeasurable performance
	improvement, and code cleanup.)

vfs_bio.c:
4)	Handle write recursion more intelligently (but not perfectly) so
	that it is less likely to cause a system panic, and is also
	much more robust.

vfs_bio.c:
5)	getblk incorrectly wrote out blocks that are incorrectly sized.
	The problem is fixed, and writes blocks out ONLY when B_DELWRI
	is true.

vfs_bio.c:
6)	Check that already constituted buffers have fully valid pages.  If
	not, then make sure that the B_CACHE bit is not set. (This was
	a major source of Sig-11 type problems.)

vfs_bio.c:
7)	Fix a potential system deadlock due to an incorrectly specified
	sleep priority while waiting for a buffer write operation.  The
	change that I made opens the system up to serious problems, and
	we need to examine the issue of process sleep priorities.

vfs_cluster.c, vfs_bio.c:
8)	Make clustered reads work more correctly (and more completely)
	when buffers are already constituted, but not fully valid.
	(This was another system reliability issue.)

vfs_subr.c, ffs_inode.c:
9)	Create a vtruncbuf function, which is used by filesystems that
	can truncate files.  The vinvalbuf forced a file sync type operation,
	while vtruncbuf only invalidates the buffers past the new end of file,
	and also invalidates the appropriate pages.  (This was a system reliabiliy
	and performance issue.)

10)	Modify FFS to use vtruncbuf.

vm_object.c:
11)	Make the object rundown mechanism for OBJT_VNODE type objects work
	more correctly.  Included in that fix, create pager entries for
	the OBJT_DEAD pager type, so that paging requests that might slip
	in during race conditions are properly handled.  (This was a system
	reliability issue.)

vm_page.c:
12)	Make some of the page validation routines be a little less picky
	about arguments passed to them.  Also, support page invalidation
	change the object generation count so that we handle generation
	counts a little more robustly.

vm_pageout.c:
13)	Further reduce pageout daemon activity when the system doesn't
	need help from it.  There should be no additional performance
	decrease even when the pageout daemon is running.  (This was
	a significant performance issue.)

vnode_pager.c:
14)	Teach the vnode pager to handle race conditions during vnode
	deallocations.
1998-03-16 01:56:03 +00:00
Eivind Eklund
7db79065bd Remove an ifdef (to get linker errors instead of compile errors in the
absence of 'controller snd0').
1998-03-15 23:08:24 +00:00
KATO Takenori
d16238bcdd Sync with sys/i386/isa/clock.c revision 1.116. 1998-03-15 13:35:42 +00:00
Mike Smith
0fd31d39fa Use dsname() to generate the disk region name for the "changing root
device to" message.  Suppress this message if only the slice number
has changed.
1998-03-15 04:42:23 +00:00
Alexander Langer
6d473e818c Allow ICMP unreachable messages to be sent in response to ICMP query
packets (as per Stevens volume 1 section 6.2).
1998-03-15 00:36:27 +00:00
John Dyson
26300b34f1 Disable the vfs.ioopt option for now, so that we don't get gratuitious
bugreports.  I might not be able to fix the problems before 3.0, due
to other, more important things.
1998-03-14 19:50:36 +00:00
Tor Egge
8f7030a7cc Add a BOOTP_WIRED_TO option, for use on machines with multiple network
cards where the first detected card should not be used for bootp.
Submitted by:	Doug Ambrisko <ambrisko@whistle.com>
1998-03-14 04:13:56 +00:00
Tor Egge
8bd965cce4 Update workaround for limitations in the arp code.
Adjust the RPC timeout message which occured when the old workaround
broke to show the correct IP address.
1998-03-14 03:25:18 +00:00
Tor Egge
c555a715f5 On SMP systems, initially follow the MP spec with regard to which pin
on the IOAPIC being connected to the 8254 timer interrupt.
Verify that timer interrupts are delivered. If they aren't, attempt
a fallback to mixed mode (i.e. routing the timer interrupt via the 8259 PIC).
1998-03-14 03:11:50 +00:00
Tor Egge
d20d60be28 Don't use the standard macros for disabling/enabling interrupt.
On SMP systems, this left the mpintr_lock simplelock locked, causing
further calls to disable_intr to deadlock or panic.
1998-03-14 03:02:15 +00:00
Tor Egge
8293f20aee Don't misuse vnode interlocks in routines that can be called from interrupts.
PR:		5893
1998-03-14 02:55:01 +00:00
KATO Takenori
598c5bb063 Fixed include file's path. 1998-03-14 02:35:10 +00:00
KATO Takenori
492540946f Link i386/include instead of pc98/include (there is no such directory). 1998-03-14 02:33:54 +00:00
KATO Takenori
8fb62a4f93 Sync with sys/i386/conf/files.i386 revision 1.194. 1998-03-14 02:31:00 +00:00
KATO Takenori
f322c29afe Sync with sys/i386/boot/rawboot/Makefile revision 1.11. 1998-03-14 02:30:01 +00:00
KATO Takenori
773b1808ec Sync with sys/i386/boot/Makefile.inc. 1998-03-14 02:29:24 +00:00
John Birrell
afe4dfa050 Added a null entry for sysmk that is generated by makesyscalls.sh.
Gee, I wish there was a better way to run makesyscalls.sh so that
a make world finds missing things like this. Running it manually
sucks.

Pointed out by: Peter Dufault
1998-03-13 19:13:54 +00:00
Eivind Eklund
97df91b415 The coff LKM needs IBCS2 to be able to link (for the 'make regress'
linktest) - add this as a dependency.
1998-03-12 20:04:38 +00:00
Eivind Eklund
69b87d3e06 Introduce the 'regress' target.
Silently approved by:	-hackers, -current
1998-03-12 20:02:17 +00:00
Eivind Eklund
57a0e7b124 'LKM' is a minimal kernel config file, just enough to be able to test-link
the LKMs.
1998-03-12 20:00:21 +00:00
Guido van Rooij
c8bdd56b3a Fix for mmap of char devices bug as described in OpenBSD advisory of
1998/02/20
Reviewed by:	John Dyson
Submitted by:	"Cy Schubert" <cschuber@uumail.gov.bc.ca>
1998-03-12 19:36:18 +00:00
Bruce Evans
df5cf212e6 Changed speed_t from long to unsigned long. POSIX.1 requires an
unsigned integral type.  Changing it doesn't seem to cause any
sign extension bugs in /usr/src.  In the kernel, this is partly
because `struct speedtab' and its lookup function are too bogus
to use speed_t's for speeds - they use ints.

Reminded by:	PR 5786
1998-03-12 14:09:55 +00:00
Bruce Evans
8b5ab341cb Removed duplicated -I options. 1998-03-12 12:26:49 +00:00
Bruce Evans
4a61fb92f4 Removed hacks to pass -nostdinc to mkdep. bsd.dep.mk now handles
-nostdinc properly.
1998-03-12 12:23:27 +00:00
Bruce Evans
7762bc7bdf Fixed breakage of the !SMP case in vm_page_zero_idle() in the
previous commit.  Opportunities to clean pages were often missed,
and leaving of the idle state was sometimes delayed until the next
interrupt (after any that occurred while cleaning).

Fixed an unstaticization, a syntax error and a style bug in the
previous commit.
1998-03-12 09:55:57 +00:00
Bruce Evans
d1d9d2601f Don't depend on "implicit int" or bloat the data section in the
declaration of mem_devsw_installed.

Reduced include nesting.
1998-03-12 09:14:18 +00:00
Peter Dufault
917827427e idprio processes must be preempted as soon as anything is runnable. 1998-03-11 20:50:42 +00:00
Julian Elischer
fdc021ba7f Add EISA support for DPT drivers
Submitted by: Matthew Dodd
Reviewd by:	shimon@simon-shapiro.org (DPT author)
1998-03-11 00:30:16 +00:00
Mike Smith
617dd81f70 If the root mount fails from a device that is not the compatability slice
of a disk, because that slice does not exist, try again mounting from the
compatability slice.

This handles the case where a disk has been initialised by 'disklabel
auto', which places a bogus and invalid slice entry on the disk.
The bootstrap is not smart enough to reject this slice, and pretends to
boot from it.  Believing the the bootstrap at this point is unwise.

Booting from non-'wd' disks thus prepared is still broken, as
'disklabel -rwB xdN auto' does not initialise the disk type field, and
the bootstrap mistakenly claims that the disk is handled by 'wd'.

Behaviour is now consistent with DEVFS expected characteristics.
1998-03-11 00:10:31 +00:00
Eivind Eklund
94db1b8198 Document options policy.
Reviewed by:	bde
1998-03-10 15:55:38 +00:00
Eivind Eklund
04fa1e6c8b Change PMAP_SHPGPERPROC to not be equal to the default, for the
benefit of bde's "unused include files" script.

Requested by:	bde
1998-03-10 15:42:13 +00:00
KATO Takenori
c6be3326f0 Sync with sys/i386/i386/userconfig.c revision 1.103. 1998-03-10 12:52:55 +00:00
KATO Takenori
1af2c4fbaa Sync with sys/i386/conf/options.i386 revision 1.76. 1998-03-10 12:48:57 +00:00
Julian Elischer
2b28ffe5aa Free the vnode in the failure case of vop_symlink()
Suggested by: Michaelh@cet.co.jp
1998-03-10 09:12:19 +00:00
Jordan K. Hubbard
24265e24b6 Add bktr and pcm entries by popular request. Also use more canonical
reference to [ENTER] in the docs rather than [RETURN].
1998-03-10 08:03:47 +00:00
John Dyson
31bba5f966 Correct a problem with the ffs_getpages routine that manifest's itself
during the tail command.  The amount to read is incorrectly calculated.
Submitted by:	Tor Egge
1998-03-09 22:12:52 +00:00
Eivind Eklund
005092bba6 Turn "PMAP_SHPGPERPROC" into a new-style option, add it to LINT, and
document it there.
1998-03-09 22:09:13 +00:00
Julian Elischer
19ab6a4071 Slightly more correct initialisation of the new buf struct for soft-updates.
Submitted by: Chris Csanady <ccsanady@friley585.res.iastate.edu>
Suggested by: Kirk McKusick
1998-03-09 20:39:26 +00:00
Eivind Eklund
3bfd185367 Make this compile after soft updates integration.
LINTing forgotten by:	julian
1998-03-09 14:46:57 +00:00
KATO Takenori
3e8e255152 Make FPU_ERROR_BROKEN a new-style option. 1998-03-09 10:17:13 +00:00
Mike Smith
86ffbd76d0 Complement diagnostic messages about missing per-FS VOP page operations,
but don't make their absence fatal.
Submitted by:	terry
1998-03-09 08:58:53 +00:00
Mike Smith
72928bdadb "Correct behaviour" involves being consistent with the canonical names of
other partitions.  In this case, they appear in the first slice in the
WHOLE_DISK_SLICE case.
1998-03-09 08:35:33 +00:00
Mike Smith
34ef5a9d25 Merge from 2.2; behave correctly in the presence of a slice number that
doesn't directly correspond to the slice field in the device minor number.
1998-03-09 08:10:21 +00:00
John Birrell
2bbb0ff141 Updates to reflect differences in what NetBSD does and what FreeBSD
userland expects.
1998-03-09 05:53:13 +00:00
John Birrell
74712ec974 Import NetBSD/Alpha headers needed to get the FreeBSD userland to compile
(and even run). These files don't necessarily make sense for a
FreeBSD/Alpha kernel build. That will come later and these files
will be changed accordingly.
1998-03-09 05:43:16 +00:00
John Birrell
dec76a72d4 Add a file generated by makesyscalls.sh to the same directory that
the other syscall files are generated into. This new file is to be
included by src/lib/libc/sys/Makefile.inc to automatically pick up
syscall names.

The other file, netbsd_syscall.mk, is the hand-generated NetBSD
equivalent to be included by src/lib/libc/sys/Makefile.inc when
_NETBSD_SYSCALLS is defined during the build of libc/libc_r.
1998-03-09 04:05:45 +00:00
John Birrell
cbe0799aaf Add statements to generate a sys/syscall.mk file for inclusion
during the libc/libc_r to automatically pick up syscall names on
the assumption that default asm code needs to generated for them.

In the up-coming changes to the libc makefiles, there is the option
to provide a machine dependent asm source file which will turn off
the automatic generation of the default. There is also an option
to just stop code being generated for a syscall. In most cases,
though, the default asm code is all that is required, so this
change makes that the most convenient was to do business.

Idea suggested by: bde
1998-03-09 04:00:42 +00:00
Steve Price
6cc8ce08fe Correct an ethernet framesize mismatch that caused poor
device performance among other things.

PR:		4989, 5910
Submitted by:	Yoshikazu Goto <gotoh@ae.anritsu.co.jp>
1998-03-09 03:07:54 +00:00
Peter Dufault
2d5936d354 Preprocessor directives require a leading '#'
Submitted by:	ccsanady@friley585.res.iastate.edu
1998-03-09 00:15:08 +00:00
Peter Dufault
7a2ac24c5f Put sigevent and AIO_LISTIO_MAX back in aio.h so
that kernels can be built.
1998-03-08 22:21:12 +00:00
John Dyson
be01eafd5f Quell unneeded pageout daemon activity. 1998-03-08 18:19:17 +00:00
John Dyson
6215e86272 Remove a very ill advised vm_page_protect. This was being called
for a non-managed page.  That is a big no-no.
1998-03-08 18:05:59 +00:00
Peter Dufault
aac4ad2c99 Reviewed by: bde
Changes to support building with _POSIX_SOURCE set to 199309L:

1. Add sys/_posix.h to handle those preprocessor defs that POSIX
says have effects when defined before including any header files;

2. Change POSIX4_VISIBLE back to _POSIX4_VISIBLE

3. Add _POSIX4_VISIBLE_HISTORICALLY for pre-existing BSD features now
defined in POSIX.  These show up when:

_POSIX_SOURCE and _POSIX_C_SOURCE are not set or
_POSIX_C_SOURCE is set >= 199309L

and vanish when:

_POSIX_SOURCE is set or _POSIX_C_SOURCE is < 199309L.

4. Explain these in man 9 posix4;

5. Include _posix.h and conditionalize on new feature test.
1998-03-08 17:25:38 +00:00
Peter Wemm
5921df6791 merge benfor branch changes onto mainline. 1998-03-08 16:54:00 +00:00
Mike Smith
f2dddd5e99 Construct the minor number for the root device taking into account the
slice number passed in by the bootblocks.  This means the kernel will
not use the compatability slice to obtain the root filesystem when
booting from a sliced disk.

Use the extraction macros from reboot.h rather than stating them in full
again.
1998-03-08 15:06:55 +00:00
Mike Smith
130f8c6e14 Define shift, mask and extraction macros for obtaining the slice number
from the bootdev parameter.  This is arguably a 386-ism, although disks
partitioned in this fashion are not uncommon.
1998-03-08 15:04:20 +00:00
Julian Elischer
b1897c197c Reviewed by: dyson@freebsd.org (john Dyson), dg@root.com (david greenman)
Submitted by:	Kirk McKusick (mcKusick@mckusick.com)
Obtained from:  WHistle development tree
1998-03-08 09:59:44 +00:00
John Dyson
2abc1ef602 Initialize b_resid, and also print out better diagnostics on I/O
errors.  This will allow for better tracking of user error reports.
1998-03-08 08:46:18 +00:00
Julian Elischer
2cbcee772b Submitted by: kirk McKusick
Stub file for soft updates.
1998-03-08 08:38:41 +00:00
Jordan K. Hubbard
1bd7f49a71 Add a quirk entry for IO DATA CDC-TX86 6 CD changer.
PR:		5942
Submitted by:	Masanao Sasai <m_sasai@mxa.meshnet.ne.jp>
1998-03-08 06:52:45 +00:00
John Dyson
e163e201ef Some cruft left over from my megacommit. A page rotation optimization
was a good idea, but can cause instability.  That optimization is
now removed.
1998-03-08 06:27:30 +00:00
John Dyson
edd97f3a37 Several minor fixes:
1) When freeing pages, it is a good idea to protect them off.
	   (This is probably gratuitious, but good form.)
	2) Allow collapsing pages in the backing object that are
	   PQ_CACHE.  This will improve memory utilization.
	3) Correct the collapse code so that pages that were on the
	   cache queue are moved to the inactive queue.  This is
	   done when pages are marked dirty (so that those pages
	   will be properly paged out instead of freed), so that
	   cached pages will not be paradoxically marked dirty.
1998-03-08 06:25:59 +00:00
John Dyson
eed2412e5a Free the first page also if it is not valid. 1998-03-08 06:21:33 +00:00
KATO Takenori
d01df9f46d Sync with sys/i386/i386/machdep.c revision 1.292. 1998-03-08 03:55:35 +00:00
John Dyson
8f9110f6a1 This mega-commit is meant to fix numerous interrelated problems. There
has been some bitrot and incorrect assumptions in the vfs_bio code.  These
problems have manifest themselves worse on NFS type filesystems, but can
still affect local filesystems under certain circumstances.  Most of
the problems have involved mmap consistancy, and as a side-effect broke
the vfs.ioopt code.  This code might have been committed seperately, but
almost everything is interrelated.

1)	Allow (pmap_object_init_pt) prefaulting of buffer-busy pages that
	are fully valid.
2)	Rather than deactivating erroneously read initial (header) pages in
	kern_exec, we now free them.
3)	Fix the rundown of non-VMIO buffers that are in an inconsistent
	(missing vp) state.
4)	Fix the disassociation of pages from buffers in brelse.  The previous
	code had rotted and was faulty in a couple of important circumstances.
5)	Remove a gratuitious buffer wakeup in vfs_vmio_release.
6)	Remove a crufty and currently unused cluster mechanism for VBLK
	files in vfs_bio_awrite.  When the code is functional, I'll add back
	a cleaner version.
7)	The page busy count wakeups assocated with the buffer cache usage were
	incorrectly cleaned up in a previous commit by me.  Revert to the
	original, correct version, but with a cleaner implementation.
8)	The cluster read code now tries to keep data associated with buffers
	more aggressively (without breaking the heuristics) when it is presumed
	that the read data (buffers) will be soon needed.
9)	Change to filesystem lockmgr locks so that they use LK_NOPAUSE.  The
	delay loop waiting is not useful for filesystem locks, due to the
	length of the time intervals.
10)	Correct and clean-up spec_getpages.
11)	Implement a fully functional nfs_getpages, nfs_putpages.
12)	Fix nfs_write so that modifications are coherent with the NFS data on
	the server disk (at least as well as NFS seems to allow.)
13)	Properly support MS_INVALIDATE on NFS.
14)	Properly pass down MS_INVALIDATE to lower levels of the VM code from
	vm_map_clean.
15)	Better support the notion of pages being busy but valid, so that
	fewer in-transit waits occur.  (use p->busy more for pageouts instead
	of PG_BUSY.)  Since the page is fully valid, it is still usable for
	reads.
16)	It is possible (in error) for cached pages to be busy.  Make the
	page allocation code handle that case correctly.  (It should probably
	be a printf or panic, but I want the system to handle coding errors
	robustly.  I'll probably add a printf.)
17)	Correct the design and usage of vm_page_sleep.  It didn't handle
	consistancy problems very well, so make the design a little less
	lofty.  After vm_page_sleep, if it ever blocked, it is still important
	to relookup the page (if the object generation count changed), and
	verify it's status (always.)
18)	In vm_pageout.c, vm_pageout_clean had rotted, so clean that up.
19)	Push the page busy for writes and VM_PROT_READ into vm_pageout_flush.
20)	Fix vm_pager_put_pages and it's descendents to support an int flag
	instead of a boolean, so that we can pass down the invalidate bit.
1998-03-07 21:37:31 +00:00
Tor Egge
1516126e28 Reenable redirection of clock interrupt to a higher priority vector.
setidt() now knows about f00f_hack(), and the APs now use the same
interrupt descriptor table as the BSP.
1998-03-07 20:48:16 +00:00
John Dyson
4866e0856c Make vm_fault much cleaner by removing the evil macro inlines, and
put alot of it's context into a data structure.  This allows
significant shortening of its codepath, and will significantly
decrease it's cache footprint.

Also, add some stats to vmmeter.  Note that you'll have to
rebuild/recompile vmstat, systat, etc... Otherwise, you'll
get "very interesting" paging stats.
1998-03-07 20:45:47 +00:00
Tor Egge
1146c3560f The APs now reload the interrupt descriptor table pointer after
f00f_hack has run.

Use the global r_idt descriptor in f00f_hack when in SMP mode,
so the APs find the relocated interrupt descriptor table.

Submitted by:	Partially from David A Adkins <adkin003@tc.umn.edu>
1998-03-07 20:16:49 +00:00
John Dyson
9b2e5bad34 Some kern_lock code improvements. Add missing wakeup, and enable
disabling some diagnostics when memory or speed is at a premium.
1998-03-07 19:25:34 +00:00
KATO Takenori
0ea34c690a Sync with following changes:
>   Added files:
>     sys/i386/boot        Makefile.inc
>  Revision  Changes    Path
>  1.63      +3 -12     src/sys/i386/boot/biosboot/Makefile
>  1.8       +1 -17     src/sys/i386/boot/kzipboot/Makefile
>  1.16      +6 -15     src/sys/i386/boot/netboot/Makefile
>  1.10      +3 -14     src/sys/i386/boot/rawboot/Makefile
1998-03-07 15:48:29 +00:00
KATO Takenori
546c9ed396 Sync with sys/i386/isa/clock.c revision 1.115. 1998-03-07 15:43:43 +00:00
KATO Takenori
917d483199 Sync with sys/i386/i386/machdep.c revision 1.291. 1998-03-07 15:42:54 +00:00
Bruce Evans
0b8a3ff790 Set the input and output buffer sizes and the input buffer watermarks
dynamically depending on the line speed(s).  This should give the old
sizes and watermarks until drivers are changed.

Display the input watermarks in pstat and sicontrol.
1998-03-07 15:36:29 +00:00
Bruce Evans
16337c2efb Fixed missing simple_lock() in ffs_mountfs(). 1998-03-07 14:59:44 +00:00
Eivind Eklund
22263dd149 Make this handle -j<large>, and avoid .depend pointing at /usr/include. 1998-03-07 10:48:15 +00:00
Mike Smith
651ae11e2f Trivial filesystem getpages/putpages implementations, set the second.
These should be considered the first steps in a work-in-progress.
Submitted by:	Terry Lambert <terry@freebsd.org>
1998-03-06 09:46:52 +00:00
Bruce Evans
589d9341f4 Removed support for now-unused FreeBSD misfeature DPSRCS. 1998-03-06 07:28:01 +00:00
Bruce Evans
47da63c3df Fixed dependencies of ${PROG} on ${DPSRCS} and `all' on ${_ILINKS}.
There were various races for `make -j'.  Half-built versions of
vnode_if.h were sometimes #included...

Removed a null dependency.
1998-03-06 05:43:46 +00:00
Tor Egge
5dd528cd4e Remove special handling for resuming clock interrupt when using APIC_IO.
The `generic' vector stubs do the right thing.
1998-03-05 21:45:53 +00:00
Tor Egge
622a086be3 Use t_idt instead of idt inside setidt() if f00f_hack() has relocated the IDT.
Submitted by:	Bruce Evans <bde@zeta.org.au>
1998-03-05 19:37:03 +00:00
Jordan K. Hubbard
1fbe7f53e0 Correct minor typo
Confirmed by:	Ustimenko Semen <semen@iclub.nsu.ru>
1998-03-05 10:53:26 +00:00
KATO Takenori
afaeca874b Fixed mistakenly merged part.
Submitted by:	NOKUBI Hirotaka <hnokubi@yyy.or.jp>
1998-03-05 03:31:27 +00:00
Tor Egge
540d82e3b4 Disable redirection of clock interrupt to a higher priority vector.
This does not work on most dual Pentium machines, due to setidt()
being neutralized by f00f_hack().
1998-03-04 23:45:12 +00:00
Semen Ustimenko
1b0783ba37 *** empty log message *** 1998-03-04 16:35:05 +00:00
KATO Takenori
3a94cb7f7d Defined CCR6 and CCR7 (configuration registers of M2 CPU.) 1998-03-04 11:39:16 +00:00
Peter Dufault
917e476dad Reviewed by: msmith, bde long ago
POSIX.4 headers and sysctl variables.  Nothing should change
unless POSIX4 is defined or _POSIX_VERSION is set to 199309.
1998-03-04 10:27:00 +00:00
Peter Dufault
644d85f4ca Reviewed by: msmith, bde long ago
Fix for RTPRIO scheduler to eliminate invalid context switches.

POSIX.4 headers and sysctl variables.  Nothing should change
unless POSIX4 is defined or _POSIX_VERSION is set to 199309.
1998-03-04 10:25:55 +00:00
Peter Dufault
f3df61a1cd Reviewed by: msmith, bde long ago
Fix for RTPRIO scheduler to eliminate invalid context switches.
1998-03-04 10:25:03 +00:00
Peter Wemm
f688ebc13a Fix recent breakage when compiling under elf.
_Xforward_irq         -> Xforward_irq
_apic_isrbit_location -> apic_isrbit_location
_cpu_num_to_apic_id   -> cpu_num_to_apic_id
_invltlb_ok           -> invltlb_ok
1998-03-04 09:55:13 +00:00
John Dyson
aeb52ab0eb Fix certain kinds of block device operations. For example, tunefs on
a block device shouldn't crash the system anymore.
1998-03-04 06:44:59 +00:00
John Dyson
a638dbdbf4 Fix a rounding error for the NFS buffer validend.
Submitted by:	John W. De Boskey <jwd@unx.sas.com>
1998-03-04 03:17:30 +00:00
Tor Egge
02c1dc3bbc When entering the apic version of slow interrupt handler, level
interrupts are masked, and EOI is sent iff the corresponding ISR bit
is set in the local apic. If the CPU cannot obtain the interrupt
service lock (currently the global kernel lock) the interrupt is
forwarded to the CPU holding that lock.

Clock interrupts now have higher priority than other slow interrupts.
1998-03-03 22:56:30 +00:00
Tor Egge
3163861c7b Forward the signal if the process runs on a different CPU. This reduces
the signal handling latency for cpu-bound processes that performs very
few system calls.

The IPI for forcing an additional software trap is no longer dependent upon
BETTER_CLOCK being defined.
1998-03-03 20:55:26 +00:00
Tor Egge
fe9cd27373 Reduce timeout before assuming that forwarding of hardclock or softclock
failed. Don't complain on forwarding failure, unless
BETTER_CLOCK_DIAGNOSTIC is defined.
1998-03-03 20:09:14 +00:00
Tor Egge
ff27571284 When sending an IPI to a specific target, disable interrupts inside the
critical region in order to avoid sending the IPI to the wrong target.
1998-03-03 19:54:49 +00:00
Tor Egge
221e0c595b forward_statclock and forward_hardclock are located in mp_machdep.c. 1998-03-03 19:44:34 +00:00
David Greenman
9292429115 Added support for the 82553 and 'B' 82555 PHY. 1998-03-03 14:19:09 +00:00
Mike Smith
3f75478c2e Patch to the last commit; attempt to unspam stuff from NetBSD.
Submitted by:	Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
1998-03-03 02:50:24 +00:00
KATO Takenori
a9c784f064 Sync with sys/i386/i386/machdep.c revision 1.290. 1998-03-02 10:02:01 +00:00
Jordan K. Hubbard
b42ae45d15 Update the information in this file slightly. 1998-03-02 07:35:48 +00:00
Peter Wemm
c8a7999933 Update the ELF image activator to use some of the exec resources rather
than rolling it's own.  This means that it now uses the "safe"
exec_map_first_page() to get the ld.so headers rather than risking a panic
on a page fault failure (eg: NFS server goes down).
Since all the ELF tools go to a lot of trouble to make sure everything
lives in the first page for executables, this is a win.  I have not seen
any ELF executable on any system where all the headers didn't fit in the
first page with lots of room to spare.
I have been running variations of this code for some time on my pure ELF
systems.
1998-03-02 05:47:58 +00:00
John Dyson
59228495d7 Change vfs.ioopt default back to '0'. 1998-03-01 23:07:45 +00:00
Mike Smith
34bdbbd0de The intent is to get rid of WILLRELE in vnode_if.src by making
a complement to all ops that return a vpp, VFS_VRELE.  This is
initially only for file systems that implement the following ops
that do a WILLRELE:

	vop_create, vop_whiteout, vop_mknod, vop_remove, vop_link,
	vop_rename, vop_mkdir, vop_rmdir, vop_symlink

This is initial DNA that doesn't do anything yet.  VFS_VRELE is
implemented but not called.

A default vfs_vrele was created for fs implementations that use the
standard vnode management routines.

VFS_VRELE implementations were made for the following file systems:

Standard (vfs_vrele)
	ffs mfs nfs msdosfs devfs ext2fs

Custom
	union umapfs

Just EOPNOTSUPP
	fdesc procfs kernfs portal cd9660

These implementations may change as VOP changes are implemented.

In the next phase, in the vop implementations calls to vrele and the vrele
part of vput will be moved to the top layer vfs_vnops and made visible
to all layers.  vput will be replaced by unlock in these cases.  Unlocking
will still be done in the per fs layer but the refcount decrement will be
triggered at the top because it doesn't hurt to hold a vnode reference a
little longer.  This will have minimal impact on the structure of the
existing code.

This will only be done for vnode arguments that are released by the various
fs vop implementations.

Wider use of VFS_VRELE will likely require restructuring of the code.

Reviewed by:	phk, dyson, terry et. al.
Submitted by:	Michael Hancock <michaelh@cet.co.jp>
1998-03-01 22:46:53 +00:00
Mike Smith
ea0665cd2b Fix mmap() on msdosfs. In the words of the submitter:
|In the process of evaluating the getpages/putpages issues I discovered
|that mmap on MSDOSFS does not work. This is because I blindly merged
|NetBSD changes in msdosfs_bmap and msdosfs_strategy. Apparently, their
|blocksize is always DEV_BSIZE (even in files), while in FreeBSD
|blocksize in files is v_mount->mnt_stat.f_iosize (i.e. clustersize in
|MSDOSFS case). The patch is below.

Submitted by:	Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
1998-03-01 21:26:09 +00:00
Guido van Rooij
4049a04253 Make sure that you can only bind a more specific address when it is
done by the same uid.
Obtained from: OpenBSD
1998-03-01 19:39:29 +00:00
Søren Schmidt
231f599691 First pre alpha Work In Progress commit of a IDE/ATAPI tape driver.
It does endeed work, but there is still some problems to solve.
I get a "nonrecovered data error" from time to time, but besides
this it has backed up several Gigs allready.

Please report any success/failure directly to me.

Thanks to Warner Losh for providing a drive to use in writing
this driver!
1998-03-01 18:57:29 +00:00
Søren Schmidt
ff86df5bb2 Undo the previous commit which was NOT for -current.
Rearrange a few lines for better order.
1998-03-01 17:29:25 +00:00
Satoshi Asami
fc6ffbcae9 Add Intel 430TX chipset, namely 82439TX system controller and four
incarnations of 82371AB (P/I bridge, IDE, USB and power management).

Tested by:	jkh
1998-03-01 10:10:31 +00:00
Bruce Evans
b0a76e6a69 Restored half of the ANSI semantic errors fix which was clobbered
by the previous commit.
1998-03-01 06:06:20 +00:00
Bruce Evans
ddf6208225 Fixed syntax error in previous commit. 1998-03-01 06:01:33 +00:00
KATO Takenori
55a5998a24 Sync with sys/i386/isa/clock.c revision 1.114. 1998-03-01 05:22:25 +00:00
John Dyson
ffc82b0a70 1) Use a more consistent page wait methodology.
2)	Do not unnecessarily force page blocking when paging
	pages out.
3)	Further improve swap pager performance and correctness,
	including fixing the paging in progress deadlock (except
	in severe I/O error conditions.)
4)	Enable vfs_ioopt=1 as a default.
5)	Fix and enable the page prezeroing in SMP mode.

All in all, SMP systems especially should show a significant
improvement in "snappyness."
1998-03-01 04:18:54 +00:00
Mike Smith
1ee98f0885 Style nits and staticism with the previous commit.
Submitted by:	bde
1998-03-01 01:37:38 +00:00
Mike Smith
b1f04c95e1 Add local stup putpages/getpages routines.
Submitted by:	Terry Lambert <terry@freebsd.org>
1998-03-01 00:51:43 +00:00
Poul-Henning Kamp
3301c800f5 Prevent the TSC from being used on APM machines, we have no idea if
it runs at a constant frequency.  This was less of an issue before,
because the TSC only interpolated in the HZ intervals, but now where
the timecounter is used all the way, this becomes much more visible.

Nit: Fix a printf which triggered the bde-filter.
1998-02-28 21:16:13 +00:00
Poul-Henning Kamp
c544ff8a5e Make it possible to indicate that we don't care about the remote
sides IP address, as long as it isn't 0.0.0.0
1998-02-28 21:01:09 +00:00
KATO Takenori
acdd6c1ca2 Sync with sys/i386/isa/if_ed.c revision 1.136. 1998-02-28 07:38:18 +00:00
Brian Somers
0ffaca1078 1) in CleanupAliasData, don't nullify entry in linkTableOut
since there might be permanent entries still left after
   calls to DeleteLink (it will be nullified by DeleteLink
   if all entries are deleted, won't it ?)

2) in PacketAliasSetAddress, set the aliasing address
   even when PKT_ALIAS_RESET_ON_ADDR_CHANGE is in effect.
   Just don't clean up links in this case.

Submitted by: Ari Suutari <ari@suutari.iki.fi>
         via: Charles Mott <cmott@srv.net>
PR: 5041
1998-02-27 23:07:07 +00:00
Stefan Eßer
ebef4c231e Add PCI device ID of Surecom NE-34 1998-02-27 22:30:36 +00:00
Guido van Rooij
d3c0af6943 Raise ncallout from NPROC + 16 to NPROC + 16 + MAXFILES. This shold
prevent a possible DOS attack. The proper fix (to dynamically grow
the callout list) is in the make.
Submitted by:	Paul Traina
1998-02-27 19:58:29 +00:00
KATO Takenori
269d7ee60c Sync with sys/i386/isa/sio.c revision up to 1.199. 1998-02-27 15:24:51 +00:00
KATO Takenori
84aa00c273 Sync with sys/i386/isa/if_fe.c revision up to 1.39. 1998-02-27 15:23:37 +00:00
KATO Takenori
03e97bc7ec Sync with sys/i386/isa/if_ed.c revision up to 1.135. 1998-02-27 15:22:06 +00:00
KATO Takenori
71e3969b24 Sync with sys/i386/conf/majors.i386 revision 1.36. 1998-02-27 15:20:07 +00:00
Tatsumi Hosokawa
71cbe8e15a Support for "MAC address in CIS" type cards.
For example, IBM Creditcard Ethernet's MAC address is ALWAYS
"0:2:4:6:8:a" :-) without this code.
1998-02-27 14:29:51 +00:00
Mike Smith
cce0eefd5a Fix a problem with the conversion of Unix filenames into the VFAT
namespace.
Submitted by:	Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
1998-02-27 12:22:22 +00:00
Jun-ichiro itojun Hagino
1ed882e558 polish the code.
use tradictional decls.  tabify.  remove bogus #defines.  prototypes.
1998-02-27 11:10:18 +00:00
Jun-ichiro itojun Hagino
751bf650a8 make sys/netkey/key{,_debug}.c compile. I believe it works but not tested.
I'll polish the code later on.
1998-02-27 10:02:49 +00:00
Mike Smith
47959c89b9 PCCARD-code related style nits, as requested.
Submitted by:	bde
1998-02-27 06:39:32 +00:00
Jordan K. Hubbard
281bc0476a Move "geometry disk" device (not yet implemented) to major 95 to
eliminate conflict with /dev/pci.
1998-02-27 06:15:50 +00:00
Mike Smith
9a70f9f75f Fix some style nits and remove an unused header.
Submitted by:	bde
1998-02-27 05:38:32 +00:00
Dima Ruban
c383a33f06 NetBSD PR# 2772
Reviewed by:	David Greenman
1998-02-26 08:31:53 +00:00
Amancio Hasty
d7ef1f6051 Radio support for bt848 cards from Flemming Jacobsen <fj@trw.nl>
Amancio
1998-02-26 08:19:14 +00:00
Mike Smith
69a36f24fb Fixes for some bugs in the VFAT/FAT32 support:
- 'mv longnamedfile1 longnamedfile2' would cause longnamedfile2 to lose its
   long name.
 - Long names have trailing spaces/dots stripped for lookup as well as
   assignment.
 - A lockup when the mdsosfs was accessed from within the Linux emulator is fixed.
 - A bug whereby long filenames were recognised by Microsoft operating systems but
   not FreeBSD is fixed.

Submitted by:	Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
1998-02-26 06:45:46 +00:00
Mike Smith
ce75f2c365 In the author's words:
These diffs implement the first stage of a VOP_{GET|PUT}PAGES pushdown
for local media FS's.

See ffs_putpages in /sys/ufs/ufs/ufs_readwrite.c for implementation
details for generic *_{get|put}pages for local media FS's.  Support
is trivial to add for any FS that formerly relied on the default
behaviour of the vnode_pager in in EOPNOTSUPP cases (just copy the
ffs_getpages() code for the FS in question's *_{get|put}pages).

Obviously, it would be better if each local media FS implemented a
more optimal method, instead of calling an exported interface from
the /sys/vm/vnode_pager.c, but this is a necessary first step in
getting the FS's to a point where they can be supplied with better
implementations on a case-by-case basis.

Obviously, the cd9660_putpages() can be rather trivial (since it
is a read-only FS type 8-)).

A slight (temporary) modification is made to print a diagnostic message
in the case where the underlying filesystem attempts to engage in the
previous behaviour.  Failure is likely to be ungraceful.

Submitted by:	terry@freebsd.org (Terry Lambert)
1998-02-26 06:39:59 +00:00
David Greenman
f498eeeead Changes to support the addition of a new sysctl variable:
net.inet.tcp.delack_enabled
Which defaults to 1 and can be set to 0 to disable TCP delayed-ack
processing (i.e. all acks are immediate).
1998-02-26 05:25:39 +00:00
KATO Takenori
589421d418 Deleted KLOCK-hack. 1998-02-26 03:23:56 +00:00
KATO Takenori
aa76a48760 Sync with sys/i386/conf/majors.i386 revision 1.35. 1998-02-26 03:22:05 +00:00
KATO Takenori
95b31a1d26 Sync with sys/i386/conf/files.i386 revision 1.193. 1998-02-26 03:21:41 +00:00
KATO Takenori
3ce6f1bf50 Fixed syntax error by recent changes to the queue macros. 1998-02-26 03:20:41 +00:00
Bruce Evans
5132080e71 Removed unused #includes. 1998-02-25 13:08:07 +00:00
Bruce Evans
01777fec62 Fixed a syntax error. Strange but correct code was broken by recent
changes to the queue macros.
1998-02-25 11:56:37 +00:00
Bruce Evans
e978f41536 Added missing #include of "opt_devfs.h".
Fixed pedantic semantics errors (in ANSI C, static arrays must have
a size, and static objects should be consistently declared as static
unless you know more than anyone should have to know about the
linkage rules).
1998-02-25 07:12:17 +00:00
Bruce Evans
edc693217c Added a used #include.
"options KEY" is not in LINT, and consequently doesn't actually compile,
even with this change.
1998-02-25 06:41:47 +00:00
Bruce Evans
57518a4e83 Removed a stale comment and staler code. 1998-02-25 06:30:15 +00:00
Bruce Evans
79aa4f4704 Don't depend on "implicit int" or bloat the data section in the
declaration of ptc_devsw_installed.

Fixed a spelling error.
1998-02-25 06:19:15 +00:00
Bruce Evans
2094493a6c Don't depend on "implicit int". 1998-02-25 06:16:37 +00:00
Bruce Evans
8f03c6f18f Declare function pointer args as pointers, not as functions. 1998-02-25 06:13:32 +00:00
Bruce Evans
a0d38b495a Fixed a missing newline in a debugging printf.
Fixed punctuation in some comments.
1998-02-25 06:04:46 +00:00
Bruce Evans
6b16931c00 Removed unused #includes. 1998-02-25 05:58:50 +00:00
Bruce Evans
770a5f7ec9 Removed redundant test against MAXDSIZ (the rlimit test is stronger). 1998-02-25 05:33:06 +00:00
Bruce Evans
c9b9921363 Fixed missing permissions checking for mounting by non-root.
There is now less need for the vfs.usermount sysctl.  msdosfs already
has this change, modulo a missing LK_RETRY, via NetBSD.  At least
ext2fs is missing this and many other changes from Lite2.

Obtained from:	Lite2
1998-02-25 04:47:04 +00:00
Bruce Evans
9c8fff87fc Fixed the calculation of `delta' in settime(). We once set all
times consistently wrong (up to 1 tick too late), but recent changes
fixed the setting of the main clock, making other times inconsistent.
The inconsistencies tended to show up as a negative resource usage
for the process that set the time.

Fixed the check for setting the clock backwards.  A stale timestamp
(`time') was checked, so it was possible to set the clock backwards
by up to almost 1 tick.  Until recently, this bug was compensated
for by setting the clock consistently wrong.

Merged the comment about setting the clock backwards from Lite2.

Removed latency micro-optimizations/speed pessimizations in settime().
microtime() and set_timecounter() are relatively expensive, and
they must be called together with clock updates blocked to get a
consistent `delta', so significant latency optimizations are not
possible.

Removed some stale comments.
1998-02-25 04:10:32 +00:00
John Dyson
660957521c Fix page prezeroing for SMP, and fix some potential paging-in-progress
hangs.  The paging-in-progress diagnosis was a result of Tor Egge's
excellent detective work.
Submitted by:	Partially from Tor Egge.
1998-02-25 03:56:15 +00:00
Julian Elischer
47f049d7d9 OOPs typo TCF, not TCP.... 1998-02-25 02:35:35 +00:00
Bruce Evans
6aeb4f6474 Removed vestiges of previous microtime() implementation. 1998-02-25 02:20:30 +00:00
Bruce Evans
b289b0f141 Removed _POSIX_SOURCE ifdef. This is not a POSIX.1 header. 1998-02-25 02:17:46 +00:00
Bruce Evans
fb156c95b6 Removed _POSIX_SOURCE ifdefs. This is not a POSIX.1 header, so POSIX
sources can't include it.  However, until recently it was included
by <sys/stat.h>, so it should have been (almost) entirely inside
_POSIX_SOURCE ifdefs for <sys/stat.h> to be (almost) POSIX.1 conformant,
but it was only about half inside _POSIX_SOURCE ifdefs.
1998-02-25 02:14:14 +00:00
Julian Elischer
cfaa93b26b Bring our in.h up to date with respect to allocated
IP protocol numbers. It is possible that the names may require tuning,
but the numbers represent what is in rfc1700 which is the present
active RFC.
1998-02-25 02:14:03 +00:00
Bruce Evans
92d378b5c7 Don't include <sys/time.h> if _POSIX_SOURCE is defined. This fixes
longstanding namespace pollution.  The need for the pollution
(unconditional use of timespecs) went away in the first round of
Lite2 merges (rev.1.7 for stat.h), but <sys.time.h> was still
unconditionally included, and a stale comment about the need for
the pollution was not removed.
1998-02-25 02:00:44 +00:00
Bruce Evans
e25af463f2 Don't add files handled by bsd.kmod.mk to CLEANFILES. Don't add never-
generated files to CLEANFILES.
1998-02-25 01:40:55 +00:00
Poul-Henning Kamp
828c63ae15 Add loran0 to LINT 1998-02-24 22:24:46 +00:00
Poul-Henning Kamp
cb7cfa353d Add the smallest and least useful device-driver by a fair margin... 1998-02-24 22:08:05 +00:00
Julian Elischer
17e2cf15be Add the 'do/while hack' to all the queue macros
to allow them to be more generally used.

Submitted by: Kirk McKusick (from some of his trees)
(possibly some cleanups to follow)
1998-02-24 17:27:23 +00:00
Andrey A. Chernov
5114f1d7c6 Back out "always view in lowercase" part
Return to previous variant "comparing in lowercase" in winChkName
1998-02-24 14:13:16 +00:00
Søren Schmidt
fffdf6c1e0 Add the Intel 82371SB USB host controller to the known list. 1998-02-24 12:15:34 +00:00
John Dyson
a15403de7b Correct some severe VM tuning problems for small systems (<=16MB), and
improve tuning on larger systems.  (A couple of the VM tuning params for
small systems were so badly chosen that the system could hang under load.)

The broken tuning was originaly my fault.
1998-02-24 10:16:23 +00:00
Bruce Evans
7be755bea2 MF22: removed duplicate #include of <sys.cdefs.h> and fixed comments about
the main #include of it.

Fixed disordering of _BSD_CLOCKID_T.

Removed forward declarations of "common" structs.  The declarations are
now made closer to where they are used.
1998-02-24 02:11:39 +00:00
Bruce Evans
8b20504fa8 Forward declare more structs that are used in prototypes here - don't
depend on <sys/types.h> forward declaring common ones.
1998-02-24 02:01:11 +00:00
Andrey A. Chernov
7391f6114e Implement loadable DOS<->local conversion tables for DOS names
Always create DOS name in uppercase
Always view DOS name in lowercase
1998-02-23 16:44:37 +00:00
Steve Price
26fa14da33 Use port 0x110 to avoid PNP conflicts.
PR:		5614, 5781
1998-02-23 15:02:59 +00:00
KATO Takenori
efa0ac5b6f Fix signatures of NEC's DOS formats.
Submitted by:	Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
1998-02-23 14:57:50 +00:00
KATO Takenori
9f3962f9bb Sync with sys/i386/isa/clock.c revision 1.113. 1998-02-23 12:24:27 +00:00
KATO Takenori
dbcff41328 Removed unused file (sync with sys/i386/i386/microtime.s). 1998-02-23 12:23:23 +00:00
Andrey A. Chernov
64fb806ca2 Oops, add missing bcopy of upper->lower table 1998-02-23 09:59:08 +00:00
Andrey A. Chernov
b998efa98d Implement loadable upper->lower local conversion table 1998-02-23 09:39:29 +00:00
John Dyson
e47ed70b0f Significantly improve the efficiency of the swap pager, which appears to
have declined due to code-rot over time.  The swap pager rundown code
has been clean-up, and unneeded wakeups removed.  Lots of splbio's
are changed to splvm's.  Also, set the dynamic tunables for the
pageout daemon to be more sane for larger systems (thereby decreasing
the daemon overheadla.)
1998-02-23 08:22:48 +00:00
John Dyson
d9bed5bee1 Try to dynamically size the VM_KMEM_SIZE (but is still able to be overridden
in a way identically as before.)  I had problems with the system properly
handling the number of vnodes when there is alot of system memory, and the
default VM_KMEM_SIZE.  Two new options "VM_KMEM_SIZE_SCALE" and
"VM_KMEM_SIZE_MAX" have been added to support better auto-sizing for systems
with greater than 128MB.

Add some accouting for vm_zone memory allocations, and provide properly
for vm_zone allocations out of the kmem_map.  Also move the vm_zone
allocation stats to the VM OID tree from the KERN OID tree.
1998-02-23 07:42:43 +00:00
John Dyson
8a58a9f6c9 Try to dynamically size the VM_KMEM_SIZE (but is still able to be overridden
in a way identically as before.)  I had problems with the system properly
handling the number of vnodes when there is alot of system memory, and the
default VM_KMEM_SIZE.  Two new options "VM_KMEM_SIZE_SCALE" and
"VM_KMEM_SIZE_MAX" have been added to support better auto-sizing for systems
with greater than 128MB.
1998-02-23 07:41:23 +00:00
John Dyson
64d3c7e32d Clean-up the vget mechanism by permanently attaching VM objects to
vnodes, therefore vget doesn't need to do so anymore.  Other minor
improvements include the temp free vnode queue obeying the VAGE
flag and a printf that warns of to-be-removed code being executed.
1998-02-23 06:59:52 +00:00
Bruce Evans
168be6199e Quick fix for the i8254 timecounter often gaining 10 msec. 1998-02-23 00:11:25 +00:00
Andrey A. Chernov
a4f93748d2 Reduce new arguments number added in my changes 1998-02-22 18:00:54 +00:00
Andrey A. Chernov
4d63452f4e Add Unicode support to winChkName, now lookup works! 1998-02-22 17:26:27 +00:00
Andrey A. Chernov
13df76f25a Implement loadable local<->unicode file names conversion
Note: it produce correct names only for Win95, DOS names are still
incorrect and need similar work
mount_msdos support coming soon
1998-02-22 15:09:54 +00:00
KATO Takenori
6dd95c2390 Sync with sys/i386/isa/clock.c revision 1.112. 1998-02-22 13:44:39 +00:00
Andrey A. Chernov
794d43e27f Replace all unknown Unicode characters with '?' in win->unix mapping 1998-02-22 12:22:23 +00:00
Andrey A. Chernov
2b5b6623f6 Add initial support to map 0x4XX Unicode Cyrillic range names:
only win->unix part is implemented at this time with 256-byte
table defaulted to KOI8-R (will be loadable in future).
Since back mapping not supported yet, you'll get "No such file or directory"
on each Cyrillic name with 'ls -l', only 'echo *' work at this moment.
Teach current code to understand Unicode a bit.
1998-02-22 12:05:42 +00:00
David Greenman
4f492074ff The changes I had made long ago to support >32 disk-type units was
incomplete; dkmakeminor was broken for >32. I noticed this when trying
to use more than 32 ccd units on wcarchive.
Reviewed by:	bde
1998-02-22 10:11:23 +00:00
Jordan K. Hubbard
b5068bbbaf Properly bzero() structures after they're returned from getccdbuf().
Submitted by:	Chris Csanady <ccsanady@friley585.res.iastate.edu>
1998-02-22 10:01:23 +00:00
Jordan K. Hubbard
2a44bbdd5d MF22: correct comments. 1998-02-22 01:17:51 +00:00
Jordan K. Hubbard
6bf2dcfc50 Add missing CLOCK_UNLOCK() before write_eflags().
Submitted by:	dave adkins <adkin003@tc.umn.edu>
1998-02-21 20:45:27 +00:00
Jordan K. Hubbard
b44fb1c4ba MF22: CODA entries.
Submitted by:	"Robert.V.Baron" <rvb@GLUCK.CODA.CS.CMU.EDU>
1998-02-21 19:24:36 +00:00
Jordan K. Hubbard
c60ee1dff5 MF22: CODA entries. They'll have to rework their usage of malloc
somewhat in -current before this will work, but these should at least
serve as place-holders.
1998-02-21 19:23:04 +00:00
Nate Williams
4bd4f74b5f there is a minor bug in sb_dsp.c -- the driver
reports ESS cards as able to do 16-bit, but it has no support for it.

Submitted by:	Luigi Rizzo <luigi@labinfo.iet.unipi.it>
1998-02-21 17:53:04 +00:00
Nate Williams
68c4406a91 A minor bugfix for my audio driver and pcaudio. The problem is with
signals delivered to a process writing to the audio device the
system: if you try

        cat /dev/zero > /dev/dsp (or cat /dev/zero > /dev/pcaudio)

and press Ctrl-C : for a second or two the system appears to freeze
(e.g. the cursor will disappear if you move the mouse, xclock
blocks, etc.). I think that interrupts etc. still run so the problem
is not too terrible, but still annoying

[ The problems appears to also be in isa/pcaudio.c, though that is ignored ]

Submitted by:	Luigi Rizzo <luigi@labinfo.iet.unipi.it>
1998-02-21 17:51:39 +00:00
KATO Takenori
2d67fcee71 Make pc98 options new-style. 1998-02-21 16:17:55 +00:00
KATO Takenori
7cd00cc31e Oops, previous commit was incomplete. 1998-02-21 15:54:23 +00:00
KATO Takenori
c2515e4e62 Sync with sys/i386/isa/clock.c revision 1.111. 1998-02-21 15:52:40 +00:00
KATO Takenori
36c12c2f2e Sync with sys/i386/isa/spkr.c revision 1.33. 1998-02-21 15:51:51 +00:00
KATO Takenori
9217f466af Sync with sys/i386/conf/options.i386 revision 1.21. 1998-02-21 15:50:26 +00:00
KATO Takenori
ba065b1a91 Sync with sys/i386/conf/majors.i386 revision 1.34. 1998-02-21 15:49:45 +00:00
KATO Takenori
eb564225af Sync with sys/i386/conf/files.i386 revision 1.192. 1998-02-21 15:49:03 +00:00
Eivind Eklund
c2469addb2 Make TUNE_1542 a new-style option, and enable this option in LINT. It
has been disabled since 1994 by mistake (or at least I hope so :-)
1998-02-21 10:11:43 +00:00
Gary Palmer
c64e99ed2a Add $Id$ 1998-02-21 05:35:02 +00:00
Gary Palmer
559e730459 Provide a missing parameter to printf to stop the kernel from panicing. 1998-02-21 04:32:56 +00:00
John Birrell
a0a9bf2e58 Add #ifndef _POSIX_SOURCE around the timecounter definitions
which rely on u_int being defined in sys/types.h, but isn't
if _POSIX_SOURCE is defined.

This fixes the gnu/lib/libstdc++ breakage. I've successfully completed
a make world after this and a kernel (without many devices).
1998-02-21 03:20:46 +00:00
Jordan K. Hubbard
3bbe72d3dd Reserve cdev 93 for CODA filesystem.
Submitted by:	"Robert.V.Baron" <rvb@GLUCK.CODA.CS.CMU.EDU>
1998-02-20 23:55:32 +00:00
Jordan K. Hubbard
f082783a66 Update to "stable-167" release; totally reimplements media detection.
Submitted by:	Ustimenko Semen <semen@iclub.nsu.ru>
1998-02-20 18:08:46 +00:00
Poul-Henning Kamp
7ec73f6417 Replace TOD clock code with more systematic approach.
Highlights:
    * Simple model for underlying hardware.
    * Hardware basis for timekeeping can be changed on the fly.
    * Only one hardware clock responsible for TOD keeping.
    * Provides a real nanotime() function.
    * Time granularity: .232E-18 seconds.
    * Frequency granularity:  .238E-12 s/s
    * Frequency adjustment is continuous in time.
    * Less overhead for frequency adjustment.
    * Improves xntpd performance.

Reviewed by:    bde, bde, bde
1998-02-20 16:36:17 +00:00
Bruce Evans
161e89999d Removed default tags target. PROG is always defined here, so ifdefing
it was bogus, and without the ifdef the default is identical to the
central one in bsd.dep.mk.
1998-02-20 15:52:49 +00:00
Bruce Evans
876a94ee2c Staticized.
Don't depend on "implicit int".
1998-02-20 13:52:15 +00:00
Bruce Evans
e31abede1f Don't depend on "implicit int" or bloat the data section in the
declaration of xxx_devsw_installed.
1998-02-20 13:46:58 +00:00
Bruce Evans
d68fa50ccb Don't depend on "implicit int". 1998-02-20 13:37:40 +00:00
Bruce Evans
b9cecfcd53 Removed unused debugging variables and macros.
Don't depend on "implicit int" or bloat the data section in the
declaration of vn_devsw_installed.
1998-02-20 13:27:36 +00:00
Bruce Evans
39e4376ba7 Removed unused #includes. 1998-02-20 13:11:54 +00:00
Bruce Evans
ee16b4300e Fixed some stale comments about console drivers.
Uncommented css0.  It compiles OK.

Moved trix0 so that it compiles OK when uncommented.  Uncommented
it.  Drivers with the same interrupt handler must be together in
config files so that config(8)'s simple avoidance of redundant
declarations of interrupt handlers works (config emits a declaration
unless it would duplicate the previous one).

Commented out NO_LKM.  Negative options should not be configured
in LINT.  There should be no negative options for subsystems.
LKMs should never have been standard or the default.
1998-02-20 12:27:28 +00:00
KATO Takenori
116e73ba18 Sync with sys/i386/isa/lpt.c revision 1.167. 1998-02-20 12:25:23 +00:00
KATO Takenori
20bea78d8c Sync with sys/i386/conf/majors.i386 revision 1.33. 1998-02-20 12:24:18 +00:00
John Birrell
756985ab45 Test for the existance of ${MACHINE}/boot before trying to build it.
The PC98 stuff in this makefile should be removed and that system
should build with MACHINE=pc98 and MACHINE_ARCH=i386.
1998-02-20 07:37:08 +00:00
Steve Price
ad64a9aade Don't propogate *_DEBUG options. Use DEBUG and recompile
only those parts of the kernel that you are interested in.

Prodded by:	Bruce Evans <bde@zeta.org.au>
1998-02-20 04:19:39 +00:00
Amancio Hasty
1735805c3a Move Luigi's I2CWR ioctl from the video_ioctl section to the
tuner_ioctl section. Changed Major device from 79 to 92 and reserved
our Major device number -- hasty@star-gate.com
1998-02-20 03:55:17 +00:00
Steve Price
8f50e70513 Cleanup the lpt for probe code.
PR:		5773
Submitted by:	Dag-Erling Coidan Smorgrav <dag-erli@ifi.uio.no>
1998-02-20 02:44:48 +00:00
Steve Price
34d1c7b48c Add an LPT_DEBUG option.
PR:		5773
Submitted by:	Dag-Erling Coidan Smorgrav <dag-erli@ifi.uio.no>
1998-02-20 02:44:18 +00:00
Bill Fenner
92f57d003c Revert sosend() to its behavior from 4.3-Tahoe and before: if
so_error is set, clear it before returning it.  The behavior
introduced in 4.3-Reno (to not clear so_error) causes potentially
transient errors (e.g.  ECONNREFUSED if the other end hasn't opened
its socket yet) to be permanent on connected datagram sockets that
are only used for writing.

(soreceive() clears so_error before returning it, as does
getsockopt(...,SO_ERROR,...).)

Submitted by:	Van Jacobson <van@ee.lbl.gov>, via a comment in the vat sources.
1998-02-19 19:38:20 +00:00
Mike Smith
eed5086e1a Move the 'sw' device off block major #1, which is now occupied by 'wfd'. 1998-02-19 12:15:06 +00:00
KATO Takenori
3fa6dbe912 Sync with sys/i386/conf/majors.1.31. 1998-02-19 08:43:25 +00:00
KATO Takenori
5783aeff4d Sync with sys/i386/conf/files.i386 revision 1.191. 1998-02-19 08:42:57 +00:00