Disconnect libm from the build tree. It's broken, not being
maintained, and has been replaced by msun. The libm sources
shouldn't be removed just yet as there are parts that should be
merged into msun first.
Chuck Robey [Tue, 2 May 2000 02:26:04 +0000 (02:26 +0000)]
Cause modules to build with the kernel build. Modules are removed
from the sys Makefile's SUBDIRs. This is conditioned in make.conf by the
NO_MODULES variable and the existence of the modules directory. The
actual location of the modules is not modified. Changes in Makefiles
only, this does not affect Peter's recent changes.
Reviewed by: Peter Wemm, who warned me I would get some flack, and
he had the good idea for the NO_MODULES variable.
Nick Hibma [Mon, 1 May 2000 22:48:23 +0000 (22:48 +0000)]
The USB double bulk pipe driver (Host to host cables). Currently there
are two supported chips, the NetChip 1080 (only prototypes available)
and the EzLink cable. Any other cable should be supported however as they
are all very much alike (there is a difference between them wrt
performance).
It uses Netgraph.
This driver was mostly written by Doug Ambrisko and Julian Elischer and
I would like to thank Whistle for yet another contribution. And my
aplogies to them for me sitting on the driver for so long (2 months).
Also, many thanks to Reid Augustin from NetChip for providing me with a
prototype of their 1080 chip.
Be aware of the fact that this driver is very immature and has only been
tested very lightly. If someone feels like learning about Netgraph however
this is an excellent driver to start playing with.
Peter Wemm [Mon, 1 May 2000 18:08:50 +0000 (18:08 +0000)]
Forced commit: Rev 1.80 also changes the gensetdefs point of execution
so that it gets run after the .kld file generation. If it's run before,
the linker sets are closed off and bound inside the .kld file which makes
it useless for binding into a static kernel as the linker_set's will not
be connected...
Peter Wemm [Mon, 1 May 2000 18:06:49 +0000 (18:06 +0000)]
Remove KMODDEPS support. All our existing dependencies are specified
via the MODULE_VERSION() and MODULE_DEPEND() macros that both the loader
and kld system know how to deal with. The old DT_NEEDED tag is still
supported by the loader (and will remain supported for a while) - but the
kernel side presently doesn't know how to deal with DT_NEEDED.
Paul Saab [Mon, 1 May 2000 17:55:05 +0000 (17:55 +0000)]
Wrap the failure warnings around PXE_DEBUG in the cleanup routine.
It does not matter if they fail, so dont print anything about it
unless we are debugging.
Boris Popov [Mon, 1 May 2000 17:41:25 +0000 (17:41 +0000)]
Update loader logic to distinguish modules vs. files.
Add support for module metadata. The old way of dependancy
handling will be supported for a while.
Alexey Zelkin [Mon, 1 May 2000 14:42:09 +0000 (14:42 +0000)]
. remove some unneeded comments
. replace .Os value with empty value since this library is not KAME only
anymore
. add a note about IPv6 and IPsec integration to the FreeBSD
Peter Wemm [Mon, 1 May 2000 13:33:56 +0000 (13:33 +0000)]
Move the MSG* and SEM* options to opt_sysvipc.h
Remove evil allocation macros from machdep.c (why was that there???) and
use malloc() instead.
Move paramters out of param.h and into the code itself.
Move a bunch of internal definitions from public sys/*.h headers (without
#ifdef _KERNEL even) into the code itself.
I had hoped to make some of this more dynamic, but the cost of doing
wakeups on all sleeping processes on old arrays was too frightening.
The other possibility is to initialize on the first use, and allow
dynamic sysctl changes to parameters right until that point. That would
allow /etc/rc.sysctl to change SEM* and MSG* defaults as we presently
do with SHM*, but without the nightmare of changing a running system.
Doug Rabson [Mon, 1 May 2000 10:45:15 +0000 (10:45 +0000)]
* Move the driver_t::refs field to kobj_t to replace kobj_t::instances.
* Back out a couple of workarounds for the confusion between
kobj_t::instances and driver_t::refs.
Peter Wemm [Mon, 1 May 2000 10:43:06 +0000 (10:43 +0000)]
Fix a couple of easy cases where we make two identical devices.. one
/dev/xxx and one /dev/rxxx. This changes them to a hard link so that
less inodes are consumed and so that the permissions are always in sync.
There are lots more of these still.
Matthew N. Dodd [Mon, 1 May 2000 09:05:19 +0000 (09:05 +0000)]
Split out the ISA bus front end code into its own file. PCCARD attachment
coming later this week. Mitsuru IWASAKI provided a patch to -mobile which
I used to make sure I was doing the right thing but only a small part of
the actual patch was used.
Søren Schmidt [Mon, 1 May 2000 07:30:28 +0000 (07:30 +0000)]
Fix for the HP burners (and possibly other broken drives to)
that fails to proberly close the disk.
The problem seems to be that the HP burners sometimes return
ready when they actually are not, the solution is to not use
immediate mode on the closing commands. This is suboptimal
for real burners, in that they now hog the ATA bus for possibly
minutes, where its really not nessesary, *sigh*.
Brian Feldman [Sun, 30 Apr 2000 18:42:44 +0000 (18:42 +0000)]
For the M_PREPEND macro, remove an initial mbuf NULL check I added. It
was added accidentally, and although not terrible, it would improperly
hide the bug of calling M_PREPEND with a NULL mbuf argument.
Brian Feldman [Sun, 30 Apr 2000 18:33:43 +0000 (18:33 +0000)]
Change the scheduler to actually respect the PUSER barrier. It's been
wrong for many years that negative niceness would lower the priority
of a process below PUSER, and once below PUSER, there were conditionals
in the code that are required to test for whether a process was in
the kernel which would break.
The breakage could (and did) cause lock-ups, basically nothing else
but the least nice program being able to run in some conditions. The
algorithm which adjusts the priority now subtracts PRIO_MIN to do
things properly, and the ESTCPULIM() algorithm was updated to use
PRIO_TOTAL (PRIO_MAX - PRIO_MIN) to calculate the estcpu.
NICE_WEIGHT is now 1 to accomodate the full range of priorities better
(a -20 process with full CPU time has the priority of a +0 process with
no CPU time). There are now 20 queues (exactly; 80 priorities) for
use in user processes' scheduling, and PUSER has been lowered to 48
to accomplish this.
This means, to the user, that things will be scheduled more correctly
(noticeable), there is no lock-up anymore WRT a niced -20 process
never releasing the CPU time for other processes. In this fair system,
tsleep()ed < PUSER processes now will get the proper higher priority
than priority >= PUSER user processes.
The detective work of this was done by me, along with part of the
solution. Luoqi Chen has provided most of the solution, and really
helped me understand what was happening better, to boot :)
Back out all drainwait changes. It is enough controllable via sysctl or
comcontrol, having it in stty cause too many problems with existing drivers
and tty access permissings of non-superuser.
Bruce Evans [Sun, 30 Apr 2000 10:01:56 +0000 (10:01 +0000)]
Fixed the type of some ivar access functions. Ivars have type uintptr_t,
not u_long. On i386's with 64-bit longs, returning u_longs indirectly
in (more than) the space reserved for uintptr_t's tended to corrupt the
previous frame pointer in the stack frame, so it was not easy to debug.
The type mismatches are hidden by the bogus cast in DEVMETHOD().