dragonfly.git
20 years agoremove oldstyle __P prototypes
Robert Garrett [Wed, 27 Aug 2003 11:02:14 +0000 (11:02 +0000)]
remove oldstyle __P prototypes

20 years agoremove old ___P() prototypes
Robert Garrett [Wed, 27 Aug 2003 10:59:04 +0000 (10:59 +0000)]
remove old ___P() prototypes

20 years agoremove __P
Robert Garrett [Wed, 27 Aug 2003 10:47:13 +0000 (10:47 +0000)]
remove __P

20 years agoremove __P() from this directory
Robert Garrett [Wed, 27 Aug 2003 10:35:18 +0000 (10:35 +0000)]
remove __P() from this directory

20 years ago__P!= wanted
Robert Garrett [Wed, 27 Aug 2003 09:38:33 +0000 (09:38 +0000)]
__P!= wanted

20 years agoCleanup some debugging junk and fix a bug in the M_ZERO optimization code.
Matthew Dillon [Wed, 27 Aug 2003 07:00:27 +0000 (07:00 +0000)]
Cleanup some debugging junk and fix a bug in the M_ZERO optimization code.

20 years agolets go ahead and commit this before we hit the network interfaces
Robert Garrett [Wed, 27 Aug 2003 06:48:15 +0000 (06:48 +0000)]
lets go ahead and commit this before we hit the network interfaces
__P removal

20 years ago__P removal
Robert Garrett [Wed, 27 Aug 2003 06:30:04 +0000 (06:30 +0000)]
__P removal

20 years ago__P removal
Robert Garrett [Wed, 27 Aug 2003 06:07:11 +0000 (06:07 +0000)]
__P removal

20 years agoAdjust our kvm based utilities to use the _KERNEL_STRUCTURES define
Matthew Dillon [Wed, 27 Aug 2003 03:21:50 +0000 (03:21 +0000)]
Adjust our kvm based utilities to use the _KERNEL_STRUCTURES define
instead of _KERNEL to access kernel header files.

20 years agoA significant number of applications need access to kernel data
Matthew Dillon [Wed, 27 Aug 2003 02:03:23 +0000 (02:03 +0000)]
A significant number of applications need access to kernel data
structures.  Traditionally they have done a #define _KERNEL and
then #include'd the files.  Unfortunately this can create huge
conflicts between libc declarations and kernel declarations.  Also,
every time we create a new dependancy between kernel includes we might
windup causing another unexpected header file to be included into such
a user program, causing its build to fail due to a conflict.

This commit introduces _KERNEL_STRUCTURES.  A user program which needs
access to kernel data structures sets this instead of _KERNEL.  This
define will cause the kernel data structure but not the inlines or
extern's to be brought in.

Only those header files which directly impact buildworld have been
modified so far, but the intent is for all significant kernel header files
to use this feature.

20 years agoSLAB ALLOCATOR Stage 1. This brings in a slab allocator written from scratch
Matthew Dillon [Wed, 27 Aug 2003 01:43:08 +0000 (01:43 +0000)]
SLAB ALLOCATOR Stage 1.  This brings in a slab allocator written from scratch
by your's truely.  A detailed explanation of the allocator is included but
first, other changes:

* Instead of having vm_map_entry_insert*() and friends allocate the
  vm_map_entry structures a new mechanism has been emplaced where by
  the vm_map_entry structures are reserved at a higher level, then
  expected to exist in the free pool in deep vm_map code.  This preliminary
  implementation may eventually turn into something more sophisticated that
  includes things like pmap entries and so forth.  The idea is to convert
  what should be low level routines (VM object and map manipulation)
  back into low level routines.

* vm_map_entry structure are now per-cpu cached, which is integrated into
  the the reservation model above.

* The zalloc 'kmapentzone' has been removed.  We now only have 'mapentzone'.

* There were race conditions between vm_map_findspace() and actually
  entering the map_entry with vm_map_insert().  These have been closed
  through the vm_map_entry reservation model described above.

* Two new kernel config options now work.  NO_KMEM_MAP has been fleshed out
  a bit more and a number of deadlocks related to having only the kernel_map
  now have been fixed.  The USE_SLAB_ALLOCATOR option will cause the kernel
  to compile-in the slab allocator instead of the original malloc allocator.
  If you specify USE_SLAB_ALLOCATOR you must also specify NO_KMEM_MAP.

* vm_poff_t and vm_paddr_t integer types have been added.  These are meant
  to represent physical addresses and offsets (physical memory might be
  larger then virtual memory, for example Intel PAE).  They are not heavily
  used yet but the intention is to separate physical representation from
  virtual representation.

    SLAB ALLOCATOR FEATURES

The slab allocator breaks allocations up into approximately 80 zones based
on their size.  Each zone has a chunk size (alignment).  For example, all
allocations in the 1-8 byte range will allocate in chunks of 8 bytes.  Each
size zone is backed by one or more blocks of memory.  The size of these
blocks is fixed at ZoneSize, which is calculated at boot time to be between
32K and 128K.  The use of a fixed block size allows us to locate the zone
header given a memory pointer with a simple masking operation.

The slab allocator operates on a per-cpu basis.  The cpu that allocates a
zone block owns it.  free() checks the cpu that owns the zone holding the
memory pointer being freed and forwards the request to the appropriate cpu
through an asynchronous IPI.  This request is not currently optimized but it
can theoretically be heavily optimized ('queued') to the point where the
overhead becomes inconsequential.  As of this commit the malloc_type
information is not MP safe, but the core slab allocation and deallocation
algorithms, non-inclusive the having to allocate the backing block,
*ARE* MP safe.  The core code requires no mutexes or locks, only a critical
section.

Each zone contains N allocations of a fixed chunk size.  For example, a
128K zone can hold approximately 16000 or so 8 byte allocations.  The zone
is initially zero'd and new allocations are simply allocated linearly out
of the zone.  When a chunk is freed it is entered into a linked list and
the next allocation request will reuse it.  The slab allocator heavily
optimizes M_ZERO operations at both the page level and the chunk level.

The slab allocator maintains various undocumented malloc quirks such as
ensuring that small power-of-2 allocations are aligned to their size,
and malloc(0) requests are also allowed and return a non-NULL result.
kern_tty.c depends heavily on the power-of-2 alignment feature and ahc
depends on the malloc(0) feature.  Eventually we may remove the malloc(0)
feature.

    PROBLEMS AS OF THIS COMMIT

NOTE!  This commit may destabilize the kernel a bit.  There are issues
with the ISA DMA area ('bounce' buffer allocation) due to the large backing
block size used by the slab allocator and there are probably some deadlock
issues do to the removal of kmem_map that have not yet been resolved.

20 years agoThe game rogue(6) has a potential buffer overflow allowing
David Rhodus [Tue, 26 Aug 2003 23:52:50 +0000 (23:52 +0000)]
The game rogue(6) has a potential buffer overflow allowing
the attacker to gain gid games.

In addition, it includes a spelling fix.

20 years agowhat the heck one last one before i go take a nap...
Robert Garrett [Tue, 26 Aug 2003 21:42:19 +0000 (21:42 +0000)]
what the heck one last one before i go take a nap...

remove __P(); from the i386 directory

20 years agoM_PREPEND() can fail, meaning the returned mbuf
David Rhodus [Tue, 26 Aug 2003 21:32:57 +0000 (21:32 +0000)]
M_PREPEND() can fail, meaning the returned mbuf
can be NULL. Check for NULL in rip_output()
when prepending an IP header. This prevents
mbuf exhaustion from causing a kernel panic
when sending raw IP packets.

20 years ago__P() removal
Robert Garrett [Tue, 26 Aug 2003 21:09:02 +0000 (21:09 +0000)]
__P() removal

20 years ago__P(); not anymore in this directory
Robert Garrett [Tue, 26 Aug 2003 21:00:17 +0000 (21:00 +0000)]
__P(); not anymore in this directory

20 years ago__P() removal
Robert Garrett [Tue, 26 Aug 2003 20:49:49 +0000 (20:49 +0000)]
__P() removal

20 years agoRemove additional KKASSERT(p)'s that we do not need (fixes lint)
Matthew Dillon [Tue, 26 Aug 2003 08:28:25 +0000 (08:28 +0000)]
Remove additional KKASSERT(p)'s that we do not need (fixes lint)

20 years agoRemove unnecessary KKASSERT(p) checks for procedures which do not need
Matthew Dillon [Tue, 26 Aug 2003 05:30:29 +0000 (05:30 +0000)]
Remove unnecessary KKASSERT(p) checks for procedures which do not need
curproc.

20 years agoAdd the TINDERBOX kernel configuration file.
Hiten Pandya [Tue, 26 Aug 2003 04:00:38 +0000 (04:00 +0000)]
Add the TINDERBOX kernel configuration file.

Developers should feel free to add options into this file, which
they would like tested out by the DragonFly Tinderbox system.

In the future, it will allow us to maintain the build, by testing
the options in this file first, and then adding them to mainstream
GENERIC configuration file.

20 years agoRemove the documentation/ folder from under 'src' tree.
Hiten Pandya [Tue, 26 Aug 2003 03:03:41 +0000 (03:03 +0000)]
Remove the documentation/ folder from under 'src' tree.

Documentation related stuff will now live in the doc/ tree.
The contents of the src/documentation/ folder has been moved
to the doc/notes folder.

20 years agochange vn device from old style raw device to block device.
Robert Garrett [Mon, 25 Aug 2003 20:17:25 +0000 (20:17 +0000)]
change vn device from old style raw device to block device.
Submitted by: simon

20 years agoAdd the NO_KMEM_MAP kernel configuration option. This is a temporary option
Matthew Dillon [Mon, 25 Aug 2003 19:50:33 +0000 (19:50 +0000)]
Add the NO_KMEM_MAP kernel configuration option.  This is a temporary option
that will allow developers to test kmem_map removal and also the upcoming
(not this commit) slab allocator.  Currently this option removes kmem_map
and causes the malloc and zalloc subsystems to use kernel_map exclusively.

Change gd_intr_nesting_level.  This variable is now only bumped while we
are in a FAST interrupt or processing an IPIQ message.  This variable is
not bumped while we are in a normal interrupt or software interrupt thread.

Add warning printf()s if malloc() and related functions detect attempts to
use them from within a FAST interrupt or IPIQ.

Remove references to the no-longer-used zalloci() and zfreei() functions.

20 years agoAdd the 'eatmem' utility. eatmem is a memory stressor.
Matthew Dillon [Mon, 25 Aug 2003 19:41:00 +0000 (19:41 +0000)]
Add the 'eatmem' utility.  eatmem is a memory stressor.

20 years agoRemove now unused proc p variables.
Matthew Dillon [Mon, 25 Aug 2003 18:48:14 +0000 (18:48 +0000)]
Remove now unused proc p variables.

20 years agoAdd an alignment feature to vm_map_findspace(). This feature will be used
Matthew Dillon [Mon, 25 Aug 2003 17:01:13 +0000 (17:01 +0000)]
Add an alignment feature to vm_map_findspace().  This feature will be used
primarily by the upcoming slab allocator but has many applications.

Use the alignment feature in the buffer cache to hopefully reduce
fragmentation.

20 years agoAdd support for Protocol Independent Multicast.
Jeffrey Hsu [Sun, 24 Aug 2003 23:16:53 +0000 (23:16 +0000)]
Add support for Protocol Independent Multicast.

Submitted to FreeBSD by: Pavlin Radoslavov <pavlin@icir.org>

20 years agoAdd support for Protocol Independent Multicast.
Jeffrey Hsu [Sun, 24 Aug 2003 23:07:08 +0000 (23:07 +0000)]
Add support for Protocol Independent Multicast.

Submitted to FreeBSD by: Pavlin Radoslavov <pavlin@icir.org>

20 years agoFix typos in comments.
Jeffrey Hsu [Sun, 24 Aug 2003 22:36:43 +0000 (22:36 +0000)]
Fix typos in comments.

20 years agoSeparate out userland copyin/copyout operations from the core syscall code
Matthew Dillon [Sun, 24 Aug 2003 21:37:15 +0000 (21:37 +0000)]
Separate out userland copyin/copyout operations from the core syscall code
for bind(), accept(), and connect().

Submitted-by: "David P. Reese Jr." <daver@gomerbud.com>
20 years agoSync with FreeBSD
David Rhodus [Sun, 24 Aug 2003 17:55:21 +0000 (17:55 +0000)]
Sync with FreeBSD

20 years agoCleaned up dead declarations.
David Rhodus [Sun, 24 Aug 2003 16:26:00 +0000 (16:26 +0000)]
Cleaned up dead declarations.
Made objects that should have been delared as static, static.

Obtained from: FreeBSD

20 years agoUpdate man page to reflect the optional setting of user, primary
David Rhodus [Sun, 24 Aug 2003 16:04:16 +0000 (16:04 +0000)]
Update man page to reflect the optional setting of user, primary
group, or grouplist when chrooting.

20 years agoAllow the optional setting of a user, primary group, or grouplist
David Rhodus [Sun, 24 Aug 2003 15:58:55 +0000 (15:58 +0000)]
Allow the optional setting of a user, primary group, or grouplist
when chrooting

Obtained from: FreeBSD

20 years agoregen
David Rhodus [Sun, 24 Aug 2003 15:55:50 +0000 (15:55 +0000)]
regen

20 years agoAdd function so Control-D erases the screen.
David Rhodus [Sun, 24 Aug 2003 15:51:45 +0000 (15:51 +0000)]
Add function so Control-D erases the screen.

Obtained from: FreeBSD

20 years agoFix a bug that could cause dc(4) to m_freem() an already freed
David Rhodus [Sun, 24 Aug 2003 15:49:11 +0000 (15:49 +0000)]
Fix a bug that could cause dc(4) to m_freem() an already freed
mbuf or something that isn't an mbuf.

Obtained from: FreeBSD

20 years agoAllow a NULL dev to be passed to _devsw(). This should close any remaining
Matthew Dillon [Sat, 23 Aug 2003 16:58:36 +0000 (16:58 +0000)]
Allow a NULL dev to be passed to _devsw().  This should close any remaining
kernel panics related to non-existant devices.

20 years agoif ipv6 doesnt need oldstyle prototypes maybe its time we took them out
Robert Garrett [Sat, 23 Aug 2003 11:18:00 +0000 (11:18 +0000)]
if ipv6 doesnt need oldstyle prototypes maybe its time we took them out
of ipv4's code

20 years agowell, if netproto doesnt need old prototypes inet6 doesnt either
Robert Garrett [Sat, 23 Aug 2003 11:02:46 +0000 (11:02 +0000)]
well, if netproto doesnt need old prototypes inet6 doesnt either

20 years agoDo you think /sys/netproto needs to use __P() prototypes?
Robert Garrett [Sat, 23 Aug 2003 10:06:24 +0000 (10:06 +0000)]
Do you think /sys/netproto needs to use __P() prototypes?

I don't.

20 years agoReintegrate the module build for usb.ko
Matthew Dillon [Fri, 22 Aug 2003 23:51:55 +0000 (23:51 +0000)]
Reintegrate the module build for usb.ko

20 years agoRemove more __const occurences.
Jeroen Ruigrok/asmodai [Fri, 22 Aug 2003 19:38:36 +0000 (19:38 +0000)]
Remove more __const occurences.

20 years agoUpdate the manual page to reflect the normal definitions.
Jeroen Ruigrok/asmodai [Fri, 22 Aug 2003 19:34:14 +0000 (19:34 +0000)]
Update the manual page to reflect the normal definitions.

20 years agoGet rid of __const.
Jeroen Ruigrok/asmodai [Fri, 22 Aug 2003 19:31:21 +0000 (19:31 +0000)]
Get rid of __const.

20 years agoAdjust an #include line to fix a build error.
Matthew Dillon [Fri, 22 Aug 2003 18:33:53 +0000 (18:33 +0000)]
Adjust an #include line to fix a build error.

Submitted-by: "Simon 'corecode' Schubert" <corecode@fs.ei.tum.de>
20 years agoModify the header dependancy ordering so the bsd.kmod.mk/bsd.prog.mk
Matthew Dillon [Fri, 22 Aug 2003 17:36:34 +0000 (17:36 +0000)]
Modify the header dependancy ordering so the bsd.kmod.mk/bsd.prog.mk
control files do not touch things like opt_compat.h, so our targets
are run instead.

20 years agoSeparate system call generation out from the Makefile so kernel and
Matthew Dillon [Thu, 21 Aug 2003 20:08:38 +0000 (20:08 +0000)]
Separate system call generation out from the Makefile so kernel and
module builds do not accidently try to regenerate the syscalls if the
timestamps do not happen to be exactly as expected.

Problem-noticed-by: qhwt@myrealbox.com
20 years agoremove extra ) from )) in this file as well.
Robert Garrett [Wed, 20 Aug 2003 23:54:36 +0000 (23:54 +0000)]
remove extra ) from )) in this file as well.

noticed by buildworld

20 years agoTemporarily go back to an absolute path for signal.h's #inclusion of trap.h
Matthew Dillon [Wed, 20 Aug 2003 23:05:33 +0000 (23:05 +0000)]
Temporarily go back to an absolute path for signal.h's #inclusion of trap.h
so XFree86-4-clients will build.  XFree86-4-clients uses -I- which really is
really a bad idea as it screws up the valuable ability to #include headers
using relative paths.  Eventually we will have our own ports system that
will cover these idiosyncratic gotchas.

20 years agoFix minor bug in last commit.
Matthew Dillon [Wed, 20 Aug 2003 22:59:00 +0000 (22:59 +0000)]
Fix minor bug in last commit.
Reported-by: "Simon 'corecode' Schubert" <corecode@fs.ei.tum.de>
20 years agoSilence warnings about _POSIX_C_SOURCE not being defined. This occured when
Matthew Dillon [Wed, 20 Aug 2003 20:22:43 +0000 (20:22 +0000)]
Silence warnings about _POSIX_C_SOURCE not being defined.   This occured when
certain ports are built.

20 years agoSet SYSDIR properly for sys/crypto and deep sys/dev/disk/... drivers by
Matthew Dillon [Wed, 20 Aug 2003 19:38:45 +0000 (19:38 +0000)]
Set SYSDIR properly for sys/crypto and deep sys/dev/disk/... drivers by
adding additional .. paths to the check.  This is a stopgap.  The hack
really needs to be ripped out entirely and replaced with a more definitive
path.

Submitted-by: qhwt@myrealbox.com
20 years ago__P()!=wanted, remove old style prototypes from the vfs subtree
Robert Garrett [Wed, 20 Aug 2003 09:56:34 +0000 (09:56 +0000)]
__P()!=wanted, remove old style prototypes from the vfs subtree

20 years ago__P()!=wanted, clean up the vm subsystem
Robert Garrett [Wed, 20 Aug 2003 08:03:01 +0000 (08:03 +0000)]
__P()!=wanted, clean up the vm subsystem

20 years ago__P() != wanted so tell makesyscalls to stop putting that crap there.
Robert Garrett [Wed, 20 Aug 2003 07:37:54 +0000 (07:37 +0000)]
__P() != wanted so tell makesyscalls to stop putting that crap there.

20 years ago__P() != wanted, begin removal, in order to preserve white space this needs
Robert Garrett [Wed, 20 Aug 2003 07:31:22 +0000 (07:31 +0000)]
__P() != wanted, begin removal, in order to preserve white space this needs
to be done by hand, as I accidently killed a source tree that I had gotten
this far on. I'm committing this now, LINT and GENERIC both build with
these changes, there are many more to come.

20 years agoLinux needs %edx to be 0 on entry. It registers it as an atexit function if
Matthew Dillon [Wed, 20 Aug 2003 07:13:30 +0000 (07:13 +0000)]
Linux needs %edx to be 0 on entry.  It registers it as an atexit function if
it isn't NULL.  Note: if execve() fails the original contents of %edx
should be maintained.

This commit contains fixes for ibcs2, sysv, and linux's execve functions.
The main execve() function has already been fixed.

20 years agoLinux needs %edx to be 0 on entry. It registers it as an atexit function if
Matthew Dillon [Wed, 20 Aug 2003 04:44:55 +0000 (04:44 +0000)]
Linux needs %edx to be 0 on entry.  It registers it as an atexit function if
it isn't NULL.  I thought I had maintained this but I forgot that the
syscall exit code is loaded into %eax,%edx after an execve().  This fixes the
problem.

20 years agoplay viking, swing axe, remove deadwood..
Robert Garrett [Wed, 20 Aug 2003 02:45:43 +0000 (02:45 +0000)]
play viking, swing axe, remove deadwood..

20 years agoPlay viking, get axe ... take axe to useless deadwood that has existed way
Robert Garrett [Wed, 20 Aug 2003 02:42:24 +0000 (02:42 +0000)]
Play viking, get axe ... take axe to useless deadwood that has existed way
to long.

Remove CTM from build and remove its files as well.

Approved with Relish: Matt Dillon

20 years agoProperly handle an error return from udev2dev().
Jeffrey Hsu [Tue, 19 Aug 2003 18:36:38 +0000 (18:36 +0000)]
Properly handle an error return from udev2dev().

Reviewed by: dillon

20 years agoThe make release process tries to stat/open a non-existant device, which
Matthew Dillon [Mon, 18 Aug 2003 16:45:30 +0000 (16:45 +0000)]
The make release process tries to stat/open a non-existant device, which
causes addalias() to be called with a NULL dev.  Add code to addaliasu()
to check that the device actually exists before trying to add the vnode to
its alias list.

Found by: ROBERT GARRETT <rg70@sbcglobal.net>, Jeffrey Hsu <hsu@FreeBSD.org>

20 years agoAdd missing Makefile.modules (forgot to add it in the last commit)
Matthew Dillon [Sat, 16 Aug 2003 22:00:16 +0000 (22:00 +0000)]
Add missing Makefile.modules (forgot to add it in the last commit)

20 years agoMake modules work again part 2 (final): Link the module build back into the
Matthew Dillon [Sat, 16 Aug 2003 02:52:00 +0000 (02:52 +0000)]
Make modules work again part 2 (final): Link the module build back into the
kernel build.  It should now be possible to build and install the modules
using the 'mobj', 'modules' and 'minstall' targets in /usr/src/sys/Makefile,
though the preferred way is to simply build a kernel using the config or
the buildkernel and installkernel mechanisms.

This commit also fixes a few minor #include path problems that came up during
testing.

Tested with: config/make/install, direct make/install, and with
buildkernel/installkernel.

The following modules are not yet being built by the new system (and were
built with the old system):  vesa.ko, fpu.ko, gnufpu.ko, ibcs2_coff.ko,
usb.ko, ng_mppc.ko, libiconv.ko.

20 years agoNon-semantic-changing cosmetic transformation. Gets rid of unnecessary
Jeffrey Hsu [Fri, 15 Aug 2003 20:45:33 +0000 (20:45 +0000)]
Non-semantic-changing cosmetic transformation.  Gets rid of unnecessary
assignments.

20 years agoFix compile-time error when compiling a profiled GENERIC.
Matthew Dillon [Fri, 15 Aug 2003 18:37:15 +0000 (18:37 +0000)]
Fix compile-time error when compiling a profiled GENERIC.

Report-by: David Rhodus <drhodus@catpa.com>
20 years agoDecouple slow-starting an idle connection from Nagle's algorithm.
Jeffrey Hsu [Fri, 15 Aug 2003 14:55:04 +0000 (14:55 +0000)]
Decouple slow-starting an idle connection from Nagle's algorithm.

20 years agoMake modules work again part 1: hook up 'dev'. Note that not all devices
Matthew Dillon [Fri, 15 Aug 2003 08:32:32 +0000 (08:32 +0000)]
Make modules work again part 1: hook up 'dev'.  Note that not all devices
were converted to modules even in the original module build, so coverage
is somewhat spotty.

20 years agoStandardize the syscall generation target to 'sysent'.
Matthew Dillon [Fri, 15 Aug 2003 07:34:25 +0000 (07:34 +0000)]
Standardize the syscall generation target to 'sysent'.

20 years agomaster makefile for netproto modules, of which there is exactly one
Matthew Dillon [Fri, 15 Aug 2003 07:33:35 +0000 (07:33 +0000)]
master makefile for netproto modules, of which there is exactly one
at the moment (ncp).

20 years agoMake modules work again part 1: forgot a file in 'emulation'.
Matthew Dillon [Fri, 15 Aug 2003 07:32:28 +0000 (07:32 +0000)]
Make modules work again part 1: forgot a file in 'emulation'.

20 years agoMake modules work again part 1: linkup crypto.
Matthew Dillon [Fri, 15 Aug 2003 07:31:25 +0000 (07:31 +0000)]
Make modules work again part 1: linkup crypto.

20 years agoMake modules work again part 1: linkup vfs, rename Makefile.module files,
Matthew Dillon [Fri, 15 Aug 2003 07:26:16 +0000 (07:26 +0000)]
Make modules work again part 1: linkup vfs, rename Makefile.module files,
add additional Makefile's as appropriate, and fixup junk header file
generation.

20 years agoMake modules work again part 1: linkup "net" and rename Makefile.module files
Matthew Dillon [Fri, 15 Aug 2003 07:03:12 +0000 (07:03 +0000)]
Make modules work again part 1: linkup "net" and rename Makefile.module files
to Makefile.  Still more to come...

20 years agoMake modules work again part 1: linkup emulation/ and change the architecture
Matthew Dillon [Fri, 15 Aug 2003 06:32:58 +0000 (06:32 +0000)]
Make modules work again part 1: linkup emulation/ and change the architecture
softlink scheme so the module build and the direct linked-to-kernel build
can more easily access architecture-specific files.  A new config is required.

still more to come...

20 years agoMake modules work again part 1: wire up the module build for bus/
Matthew Dillon [Fri, 15 Aug 2003 01:19:54 +0000 (01:19 +0000)]
Make modules work again part 1: wire up the module build for bus/

20 years agoMake modules work again part 1: Rename netgraph's Makefile.module to
Matthew Dillon [Thu, 14 Aug 2003 23:26:45 +0000 (23:26 +0000)]
Make modules work again part 1: Rename netgraph's Makefile.module to
Makefile and cleanup the subdirectory makefiles to build the netgraph
modules.

20 years agoAdd statistics to disambiguate how a spurious retransmit was detected.
Jeffrey Hsu [Thu, 14 Aug 2003 23:11:33 +0000 (23:11 +0000)]
Add statistics to disambiguate how a spurious retransmit was detected.

20 years agoMake the logic clear on when to use Eifel detection or fall back
Jeffrey Hsu [Thu, 14 Aug 2003 23:09:33 +0000 (23:09 +0000)]
Make the logic clear on when to use Eifel detection or fall back
onto the old RTT heuristic.

Move infrequently executed code out of the fast path to avoid
L1 instruction cache pollution.

Add statistics to disambiguate how a spurious retransmit was detected.

20 years agoAdd softlinks so ports like sysutils/ffsrecov will compile. Eventually
Matthew Dillon [Thu, 14 Aug 2003 23:05:11 +0000 (23:05 +0000)]
Add softlinks so ports like sysutils/ffsrecov will compile.  Eventually
these and other softlinks will be replaced by the environment code.

20 years agoFix spurious spelling within comments.
Jeffrey Hsu [Thu, 14 Aug 2003 21:08:57 +0000 (21:08 +0000)]
Fix spurious spelling within comments.

20 years agoAdd README for the documentation directory.
Jeroen Ruigrok/asmodai [Thu, 14 Aug 2003 18:31:14 +0000 (18:31 +0000)]
Add README for the documentation directory.

20 years agoRemove FBSDID, move $ rcs id back to a comment field.
Matthew Dillon [Thu, 14 Aug 2003 18:28:49 +0000 (18:28 +0000)]
Remove FBSDID, move $ rcs id back to a comment field.

20 years agoRemove reference to FreeBSD's documentation about their source trees.
Jeroen Ruigrok/asmodai [Thu, 14 Aug 2003 18:27:49 +0000 (18:27 +0000)]
Remove reference to FreeBSD's documentation about their source trees.
It is a whole different tree altogether.

20 years agoFirst stab at our own UPDATING file.
Jeroen Ruigrok/asmodai [Thu, 14 Aug 2003 18:26:32 +0000 (18:26 +0000)]
First stab at our own UPDATING file.
If you make any change worth mentioning to people using the source tree,
feel free to add to the text.  Do not worry about spelling, layout or the
like, it will get fixed up shortly afterwards.

20 years agoAdd, hopefully, support for the ICH5 sound hardware.
Jeroen Ruigrok/asmodai [Thu, 14 Aug 2003 18:10:40 +0000 (18:10 +0000)]
Add, hopefully, support for the ICH5 sound hardware.

20 years ago* Fix the type of the NULL arg to execl()
David Rhodus [Wed, 13 Aug 2003 22:55:22 +0000 (22:55 +0000)]
* Fix the type of the NULL arg to execl()
* de-__P()
* Explicitly compare the values returned by chdir(2) and
chroot(2) to -1

Obtained from: FreeBSD

20 years agoNew statistics to keep track of supurious retransmits.
Jeffrey Hsu [Wed, 13 Aug 2003 21:17:53 +0000 (21:17 +0000)]
New statistics to keep track of supurious retransmits.

20 years agoImplement the Eifel Dectection Algorithm for TCP (RFC 3522).
Jeffrey Hsu [Wed, 13 Aug 2003 18:34:25 +0000 (18:34 +0000)]
Implement the Eifel Dectection Algorithm for TCP (RFC 3522).

20 years agoSyscall messaging 4a: LINT build.
Matthew Dillon [Tue, 12 Aug 2003 04:58:23 +0000 (04:58 +0000)]
Syscall messaging 4a: LINT build.

20 years agoSyscall messaging 4: Further expand the kernel-version of the syscall message.
Matthew Dillon [Tue, 12 Aug 2003 02:36:15 +0000 (02:36 +0000)]
Syscall messaging 4: Further expand the kernel-version of the syscall message.
The (in-kernel) syscall message is now arranged:

    struct blah_args {
sysmsg
usrmsg
... syscall arguments ...
    }

Original system calls copyin() just the arguments and then initialize sysmsg
and go.  Syscall messages copyin() usrmsg+arguments and then initialize sysmsg
as appropriate and go.

Further detail work for EASYNC support.  Implement td_msgport as a reply port
and start working on an async capability for the nanosleep() system call.

NOTE: Preliminary system call messaging can be tested using the suite of
programs in /usr/src/test/sysmsg.

NOTE: Work is still in progress  and you can crash the system, so use of
MSGF_ASYNC for messaging system calls is currently restricted to root.

Also fixed a bug in the syscall module helper code in sys/sysent.h, which
might have been causing the linux problems (or might not have).

All system call headers had to be regenerated to deal with the structural
changes.

20 years agoAdd src/test and throw in some of the ad-hoc timing and testing programs
Matthew Dillon [Tue, 12 Aug 2003 02:29:44 +0000 (02:29 +0000)]
Add src/test and throw in some of the ad-hoc timing and testing programs
that have been written.

20 years agoAdd or correct range checking of signal numbers in system calls and
David Rhodus [Mon, 11 Aug 2003 17:50:15 +0000 (17:50 +0000)]
Add or correct range checking of signal numbers in system calls and
ioctls.

20 years agoFix a bug which caused signals on YUV images to fail.
David Rhodus [Mon, 11 Aug 2003 17:30:31 +0000 (17:30 +0000)]
Fix a bug which caused signals on YUV images to fail.

Fix broken programming of VSCALE_HI registers in yuv422_prog().

  Obtained from: FreeBSD

20 years agoFix for insufficient range checking of signal numbers.
David Rhodus [Mon, 11 Aug 2003 17:07:30 +0000 (17:07 +0000)]
Fix for insufficient range checking of signal numbers.
In most cases, attempted delivery of a negative or out-of-range signal
number will trigger an assertion failure and panic, thereby crashing
the system.

FreeBSD Security Advisory FreeBSD-SA-03:09.signal

20 years agoThe iBCS2 system call translator for statfs(2) did not check the
David Rhodus [Mon, 11 Aug 2003 15:40:52 +0000 (15:40 +0000)]
The iBCS2 system call translator for statfs(2) did not check the
 did not check the length parameter for validity.

FreeBSD Security Advisory FreeBSD-SA-03:10.ibcs2

20 years agofinish fixing my braindeadness..
Robert Garrett [Mon, 11 Aug 2003 12:44:27 +0000 (12:44 +0000)]
finish fixing my braindeadness..
thanks to David Reese for the netbsd, openbsd and opendarwin cvs files

20 years agoChange the names of these files to match the FreeBSD ones
Robert Garrett [Mon, 11 Aug 2003 12:42:05 +0000 (12:42 +0000)]
Change the names of these files to match the FreeBSD ones