14240 Commits

Author SHA1 Message Date
dcs
55c04d9855 Replace /kernel.config with /boot/kernel.conf. 1999-03-14 21:57:49 +00:00
julian
c26ea8f875 quick BDE premption 1999-03-14 20:43:09 +00:00
julian
8ad9ed65a4 A bit of a hack, but allows the vn device to be a module again.
Submitted by: Matt Dillon <dillon@freebsd.org>
1999-03-14 20:40:15 +00:00
msmith
c62de94444 Fix syntax for boot command
Noticed by:	Ruslan Ermilov <ru@ucb.crimea.ua>
1999-03-14 19:55:01 +00:00
julian
0c3f3973d2 Submitted by: Matt Dillon <dillon@freebsd.org>
The old VN device broke in -4.x when the definition of B_PAGING
changed. This patch fixes this plus implements additional capabilities.
The new VN device can be backed by a file ( as per normal ), or it can
be directly backed by swap.

Due to dependencies in VM include files  (on opt_xxx options) the new
vn device cannot be a module yet. This will be fixed in a later commit.
This commit delimitted by tags {PRE,POST}_MATT_VNDEV
1999-03-14 09:20:01 +00:00
peter
105e87d9a2 Merge NetBSD 1.80->1.82 changes from vendor branch into mainline. 1999-03-14 08:32:52 +00:00
semenu
e557c4ccfc Implemented workaround for EPIC's Application Note 7-15 (concerning
chip int. and ext. clock synchronisation). Fixed workaround for
transmit threshold underrun. Added volatile keyword to CSR_READ_* and
CSR_WRITE_* macroses. Added DELAYs to eliminate randomness caused
by processor speed. Fixed all TXCON and RXCON registers to be accessed
only when chip is idle, as manual told. Changed epic_init_phy to
drop link by isolating and going loopback, should should force link
partner to restart autonegotiation.

PR: kern/10535,	kern/9742, kern/10575
Submitted by:	Peter Jeremy, David Greenman
1999-03-14 08:30:23 +00:00
alc
aa8bb4e29a Correct two optimization errors in vm_object_page_remove:
1. The size of vm_object::memq is vm_object::resident_page_count,
not vm_object::size.

2. The "size > 4" test sometimes results in the traversal of a ~1000 page
memq in order to locate ~10 pages.
1999-03-14 06:36:00 +00:00
ken
61a6296116 Disable tagged queueing for the IBM DCAS drives. These drives have poor
write performance when tagged queueing is enabled.

Although the PR was submitted for the 4 gig version of this drive, the
assumption is that the 2 gig version has the same problem.  Therefore
tagged queueing is disabled for both.

Also, update the comment for the Western Digital Enterprise drives to note
that the best performance for those drives is achieved when tagged queueing
is disabled and write caching is enabled.

PR:		kern/10398
Submitted by:	Hideaki Okada <hokada@isl.melco.co.jp>
1999-03-14 05:15:38 +00:00
grog
f3472fd7dc deallocrqg: deallocate the correct object, also check that the object
is really in the chain.
1999-03-14 04:04:23 +00:00
bde
89837c552b Enforce monotonicity of apparent process user, system and interrupt times.
PR:		975, 10402
1999-03-13 19:46:13 +00:00
phk
b2f414d450 Reduce Bruce-filter verbosity. 1999-03-13 16:22:18 +00:00
joerg
2555d646e6 Make NDGBPORTS an official option. 1999-03-13 13:20:59 +00:00
kato
5f4feb8f98 Sync with sys/i386/conf/Makefile.i386 revision 1.141. 1999-03-13 13:18:00 +00:00
peter
be55fa9ced set if_snd.ifq_maxlen to something reasonable - note that if_de.c has
a wierd double-queue arrangement..  It always empties the if_snd queue
then puts the transmit packets into a different queue that is limited
by the number of TX descriptors and does it's own discards...
This should stop the boot-time XXX warning anyway.
1999-03-13 09:21:27 +00:00
grog
960556695d Change prototype of vinum_inactive. 1999-03-13 07:46:34 +00:00
grog
91cf8ffed0 Improve the manner in which the location of the kld is found. It
should now be completely automatic.
1999-03-13 07:42:15 +00:00
grog
01538c36ae Remove opencount from vinum_conf and struct vol, and disk index from
struct vol.

Add time to struct mc, remove KVA crud.

Add debug flags DEBUG_EOFINFO and DEBUG_MEMFREE.
1999-03-13 07:40:52 +00:00
grog
ad02b2abf8 Part of removing vol->opencount: now we just use a flag. 1999-03-13 07:39:17 +00:00
grog
996f111060 Add DEBUG_EOFINFO log messages. 1999-03-13 07:38:27 +00:00
grog
26f18379e6 Remove antique crud.
MMalloc: save the time at which the request was granted, remove more
crud.

FFree: add a circular buffer of the last 64 Free requests if
DEBUG_MEMFREE is set.
1999-03-13 07:37:44 +00:00
grog
56ebff21a0 lock_drive: report on and recover from an obscure situation where the
daemon can deadlock against itself.
1999-03-13 07:35:40 +00:00
grog
e953ecbd17 VINUM_RESETCONFIG: do the reset even if the config is open (as it has
to be for us to issue the ioctl :-).  Also remove the opencount
parameter of the config, which just never worked.
1999-03-13 07:34:56 +00:00
grog
d74441502e Don't frob vp->v_usecount, it scares the hell out of the driver under
certain circumstances.
1999-03-13 07:33:37 +00:00
grog
6ed0096f2d Change the way of recognizing whether a plex was given to a volume
after the volume had been fully operational; involves a change in the
use of the VF_NEWBORN flag.  Now if you add a plex to a volume which
is up, the plex will be down and the subdisks stale.  You need to
explicitly start the subdisks, which copies data from the good
subdisks to the uninitialized ones.

Stumbled-over-by: Ludwig Pummer <ludwigp@bigfoot.com>

give_sd_to_drive:
   correct method to give the entire largest chunk of drive to the
   subdisk.  Now it's enough to specify a length, and vinum will give
   you as much as it can.  Not to be recommended except for empty
   drives.

   Correct a bogon which made vinum refuse to give the last sector of
   a drive to a subdisk.

   Last-reported-by: Ludwig Pummer <ludwigp@bigfoot.com>

Change %q formats to %ll before the former go away.  This doesn't make
much difference, since kernel kvprintf currently doesn't support
either, and the messages in question are just error messages.
1999-03-13 07:32:40 +00:00
alc
32abb27147 pmap_qenter/pmap_qremove:
Use the pmap_kenter/pmap_kremove inline functions
	instead of duplicating them.

pmap_remove_all:
	Eliminate an unused (but initialized) variable.

pmap_ts_reference:
	Change the implementation.  The new implementation is much smaller
	and simpler, but functionally identical.  (Reviewed by
	"John S. Dyson" <dyson@iquest.net>.)
1999-03-13 07:31:29 +00:00
grog
1f397a853d vinum_inactive: distinguish whether we care whether the config
is open or not.
1999-03-13 07:22:00 +00:00
grog
0fab885041 Add a dire warning about the folly of configuring vinum in
the kernel.
1999-03-13 06:32:06 +00:00
jdp
d790b6b749 Reverse the order of processing object files within an executable or
shared library when invoking global constructors and destructors.
For constructors, the object files used to be processed from first
to last; now they're done from last to first.  (Destructors are done
in the opposite order, as required by the C++ standard.)  This makes
us consistent with standard gcc and egcs compilers.  It also
eliminates ordering differences between dynamic and static
executables.

Bump the value of __FreeBSD_version to 400002 to reflect this
change.
1999-03-13 01:35:44 +00:00
phk
6ca05cef42 Fix an old cut&paste bogon.
Noticed by: bde
1999-03-12 21:58:54 +00:00
imp
2342c41cd5 Don't allow anyone except root to mount file systems that map uids.
This can have bad security implications, but the impact on FreeBSD
systems is minimal because this fs isn't in the default kernels and it
is unknown if it even works.

Submitted by: Manuel Bouyer <bouyer@antioche.eu.org> and
	Artur Grabowski <art@stacken.kth.se>
1999-03-12 19:40:39 +00:00
imp
5fa6e11c9c Remove static delcarations from {,un}register_pcic_intr declarations
in the not APIC_IO case.  This should silence the warnings when
building pcic.c as well as the undefined functions when the kernel
links.

Noticed by: several people in -current and me building the kernel
1999-03-12 18:45:47 +00:00
gallatin
9528077457 Enable crashdumps on alphas.
Reviewed by: Doug Rabson <dfr@nlsystems.com>
1999-03-12 14:44:46 +00:00
phk
8b985865a3 Remove duplicate include.
Noticed by: bde
1999-03-12 11:09:50 +00:00
phk
8df441b6eb Fix Typo. 1999-03-12 11:09:18 +00:00
alc
2d75a5cc4c Remove vm_page_frees from kmem_malloc that are performed
by vm_map_delete/vm_object_page_remove anyway.
1999-03-12 08:05:49 +00:00
julian
35ed865438 This solves a deadlock that can occur when read()ing into a file-mmap()
space. When doing this, it is possible to for another process to attempt
to get an exclusive lock on the vnode and deadlock the mmap/read
combination when the uiomove() call tries to obtain a second
shared lock on the vnode. There is still a potential deadlock
situation with write()/mmap().
Submitted by: Matt Dillon <dillon@freebsd.org>
Reviewed by: Luoqi Chen <luoqi@freebsd.org>
Delimmitted by tag PRE_MATT_MMAP_LOCK and POST_MATT_MMAP_LOCK
in kern/kern_lock.c kern/kern_subr.c
1999-03-12 03:09:29 +00:00
julian
f27c95753f Reviewed by: Many at differnt times in differnt parts,
including alan, john, me, luoqi, and kirk
Submitted by:	Matt Dillon <dillon@frebsd.org>

This change implements a relatively sophisticated fix to getnewbuf().
There were two problems with getnewbuf(). First, the writerecursion
can lead to a system stack overflow when you have NFS and/or VN
devices in the system. Second, the free/dirty buffer accounting was
completely broken. Not only did the nfs routines blow it trying to
manually account for the buffer state, but the accounting that was
done did not work well with the purpose of their existance: figuring
out when getnewbuf() needs to sleep.

The meat of the change is to kern/vfs_bio.c. The remaining diffs are
all minor except for NFS, which includes both the fixes for bp
interaction AND fixes for a 'biodone(): buffer already done' lockup.
Sys/buf.h also contains a chaining structure which is not used by
this patchset but is used by other patches that are coming soon.
This patch deliniated by tags PRE_MAT_GETBUF and POST_MAT_GETBUF.
(sorry for the missing T matt)
1999-03-12 02:24:58 +00:00
julian
10962136cf Fix the 'fwd' option to ipfw when asked to divert to another machine.
also rely less on other modules clearing static values, and clear them
in a few cases we missed before.
Submitted by: Matthew Reimer <mreimer@vpop.net>
1999-03-12 01:15:57 +00:00
julian
4726cfcda9 Stop the mfs from trying to swap out crucial bits of the mfs
as this can lead to deadlock.
Submitted by: Mat dillon <dillon@freebsd.org>
1999-03-12 00:44:03 +00:00
bde
29f248cf7f Fixed runtime accounting. The time since the previous context switch
was discarded on every call to calcru().  Hacking on the `switchtime'
global for a related fix in rev.1.38 of kern_resource.c was too fragile
and broke when p_switchtime went away.

PR:		10402
1999-03-11 21:53:12 +00:00
dg
d81c143718 Fixed variable overflow problem.
Obtained from:	NetBSD via Mark J. Taylor <mtaylor@cybernet.com>
1999-03-11 18:50:39 +00:00
dg
2d2ba9f6b4 Increased kernel virtual address space to 1GB. NOTE: You MUST have fixed
bootblocks in order to boot the kernel after this! Also note that this
change breaks BSDI BSD/OS compatibility.
Also increased default NKPT to 17 so that FreeBSD can boot on machines
with >=2GB of RAM. Booting on machines with exactly 4GB requires other
patches, not included.
1999-03-11 18:28:46 +00:00
phk
1542a4a497 Make even more of the PPSAPI implementations generic.
FLL support in hardpps()

Various magic shuffles and improved comments

Style fixes from Bruce.
1999-03-11 15:09:51 +00:00
jkh
b18a02a6c7 People who wanted the "tagged opening" message can boot -v. The rest
of us, who appear to have complained incessantly about this message since
it appeared, can now stop.
1999-03-11 10:48:02 +00:00
roberto
28cc7091aa Fix two tests against hex. values for CPUID.
PR:		i386/10050
Submitted by:	Kevin Day <toasty@dragondata.com>
1999-03-10 20:42:00 +00:00
julian
7ecfe45d80 Need to include /contrib/dev/oltr/... not dev/oltr/... 1999-03-10 17:45:26 +00:00
roger
6559ff4047 Updated to use new APIC (SMP) safe interrupt register/unregister
functions.
Posted for review to -smp and -mobile and -hackers with no objections.

Reviewed by:	Nate
1999-03-10 15:00:54 +00:00
roger
51e8dc78eb Header file for pcic interrupt register/unregister functions.
No objections from -smp or -mobile or -hackers.
1999-03-10 14:56:28 +00:00
kato
eeb7d27ebc Keyboard driver update.
Submitted by:	Kazutaka YOKOTA <yokota@FreeBSD.org>
1999-03-10 14:51:53 +00:00