19 years agoAdd the -o file option to rcorder. This will cause rcorder to generate
Matthew Dillon [Thu, 11 Dec 2003 20:50:21 +0000 (20:50 +0000)]
Add the -o file option to rcorder.  This will cause rcorder to generate
the dependancy list required to execute a particular file.

19 years agoDo not print out error messages in quiet mode to make shell scriptiong
Matthew Dillon [Thu, 11 Dec 2003 20:33:49 +0000 (20:33 +0000)]
Do not print out error messages in quiet mode to make shell scriptiong
with varsym easier.

19 years agoPull the sf_buf routines and structures out into its own files in
Jeffrey Hsu [Wed, 10 Dec 2003 23:48:07 +0000 (23:48 +0000)]
Pull the sf_buf routines and structures out into its own files in
anticipation of wider future use.

Requested and reviewed by: dillon

19 years agoMore cleanups to make ports work better.
Matthew Dillon [Wed, 10 Dec 2003 22:41:20 +0000 (22:41 +0000)]
More cleanups to make ports work better.

19 years agoAdd -fstack-protector support for the kernel.
Matthew Dillon [Wed, 10 Dec 2003 22:27:27 +0000 (22:27 +0000)]
Add -fstack-protector support for the kernel.


Submitted-by: Ryan Dooley <dooleyr@missouri.edu>
19 years agoThis patch improves the performance of sendfile(2). It adds a hash
Jeffrey Hsu [Wed, 10 Dec 2003 22:26:19 +0000 (22:26 +0000)]
This patch improves the performance of sendfile(2).  It adds a hash
table of active sf_buf mappings to ensure there is exactly one
(ref-counted) sf_buf for each vm_page.  This saves on the number
of sf_bufs used when sendfile(2) sends the same file over and over
again to multiple connections simultaneously.  It also does lazy
updates on the hw page table when a sf_buf ref count goes to zero,
placing them on a freelist instead, in effect, making sf_bufs a
cache of virtual-to-physical translations with LRU replacement on
the inactive sf_bufs.  Finally, it does a wakeup_one() instead of
a broadcast wakeup() when a free sf_buf becomes available.

This patch roughly corresponds to FreeBSD revs 1.219 and 1.220 of

  revision 1.219
  date: 2003/11/17 18:22:24;  author: alc;  state: Exp;  lines: +48 -26
  Change the i386's sf_buf implementation so that it never allocates
  more than one sf_buf for one vm_page.  To accomplish this, we add
  a global hash table mapping vm_pages to sf_bufs and a reference
  count to each sf_buf.  (This is similar to the patches for RELENG_4
  at http://www.cs.princeton.edu/~yruan/debox/.)

  For the uninitiated, an sf_buf is nothing more than a kernel virtual
  address that is used for temporary virtual-to-physical mappings by
  sendfile(2) and zero-copy sockets.  As such, there is no reason for
  one vm_page to have several sf_bufs mapping it.  In fact, using more
  than one sf_buf for a single vm_page increases the likelihood that
  sendfile(2) blocks, hurting throughput.
  (See http://www.cs.princeton.edu/~yruan/debox/.)

  revision 1.220
  date: 2003/12/07 22:49:25;  author: alc;  state: Exp;  lines: +10 -9
  Don't remove the virtual-to-physical mapping when an sf_buf is freed.
  Instead, allow the mapping to persist, but add the sf_buf to a free list.
  If a later sendfile(2) or zero-copy send resends the same physical page,
  perhaps with the same or different contents, then the mapping overhead is
  avoided and the sf_buf is simply removed from the free list.

  In other words, the i386 sf_buf implementation now behaves as a cache of
  virtual-to-physical translations using an LRU replacement policy on
  inactive sf_bufs.  This is similar in concept to a part of
  http://www.cs.princeton.edu/~yruan/debox/ patch, but much simpler in
  implementation.  Note: none of this is required on alpha, amd64, or ia64.
  They now use their direct virtual-to-physical mapping to avoid any
  emphemeral mapping overheads in their sf_buf implementations.

Reviewed by: dillon

19 years agoAdd -fstack-protector and -fno-stack-protector support to GCC. Note
Matthew Dillon [Wed, 10 Dec 2003 22:25:08 +0000 (22:25 +0000)]
Add -fstack-protector and -fno-stack-protector support to GCC.  Note
that the default is set to no protection (what it was before).  See:


Submitted-by: Ryan Dooley <dooleyr@missouri.edu>
19 years agoAdd libc support for propolice. See:
Matthew Dillon [Wed, 10 Dec 2003 22:15:36 +0000 (22:15 +0000)]
Add libc support for propolice.  See:


Submitted-by: Ryan Dooley <dooleyr@missouri.edu>
19 years agoAdd strlcpy and strlcat to libkern
Matthew Dillon [Wed, 10 Dec 2003 00:29:26 +0000 (00:29 +0000)]
Add strlcpy and strlcat to libkern

19 years ago* Add a part of the AGP update that was missed.
David Rhodus [Tue, 9 Dec 2003 23:43:36 +0000 (23:43 +0000)]
* Add a part of the AGP update that was missed.
This also fixes the kernel compile.

19 years agoThis patch adds a bunch of stuff from FreeBSD5. It consistantly makes
Matthew Dillon [Tue, 9 Dec 2003 19:40:56 +0000 (19:40 +0000)]
This patch adds a bunch of stuff from FreeBSD5.  It consistantly makes
vendor specific drivers depend on agp, consistantly checks the gart size
!= 0, changes agp_generic_enable to the FreeBSD5 function, initializing
the device as v2 or v3 accordingly, syncs up agpio.h, and adds a couple
PCI Ids from FreeBSD5.

Submitted-by: Craig Dooley <cd5697@albany.edu>
19 years ago * Merge fixes from libc to libcr.
Eirik Nygaard [Mon, 8 Dec 2003 13:56:36 +0000 (13:56 +0000)]
 * Merge fixes from libc to libcr.

19 years agoPCI compat cleanup, part 1. This brings in the LNC and VX drivers
Matthew Dillon [Sun, 7 Dec 2003 19:23:40 +0000 (19:23 +0000)]
PCI compat cleanup, part 1.  This brings in the LNC and VX drivers
from FreeBSD-5.  They are not the newest versions, just new enough to
use newbus, not the PCI compat code.

Submitted-by: Joerg Sonnenberger <joerg@britannica.bec.de>
19 years agoConvert alpm to use the devmethod code.
Matthew Dillon [Sun, 7 Dec 2003 18:22:09 +0000 (18:22 +0000)]
Convert alpm to use the devmethod code.

Submitted-by: Joerg Sonnenberger <joerg@britannica.bec.de>
19 years agoThread testing code for libcaps.
Matthew Dillon [Sun, 7 Dec 2003 04:26:41 +0000 (04:26 +0000)]
Thread testing code for libcaps.

19 years agoMajor update to libcaps. Implement support for virtual cpus using
Matthew Dillon [Sun, 7 Dec 2003 04:21:54 +0000 (04:21 +0000)]
Major update to libcaps.  Implement support for virtual cpus using
rfork_thread() and implement IPIs, per-virtual-cpu globaldata areas,
and per-virtual-cpu LWKT scheduling.

19 years agoAdd additional functionality to the upcall support to allow us to wait for
Matthew Dillon [Sun, 7 Dec 2003 04:20:40 +0000 (04:20 +0000)]
Add additional functionality to the upcall support to allow us to wait for
an upcall instead of spin.

Also fix a bug in the trap code.  %gs faults have to be handled in nested
interrupts because %gs is not saved and restored.  It is also possible that
%fs may have to be handled the same way, but I am not sure yet.

19 years agoAdjust a comment.
Matthew Dillon [Sun, 7 Dec 2003 02:14:20 +0000 (02:14 +0000)]
Adjust a comment.

19 years agoModify the upcall code to access the critical count via the current thread
Matthew Dillon [Sun, 7 Dec 2003 01:17:53 +0000 (01:17 +0000)]
Modify the upcall code to access the critical count via the current thread
rather then embedding the critical count in the upcall structure.

19 years agoMinor cleanups to sysport. Use ms_msgsize in the sendsys() call.
Matthew Dillon [Sat, 6 Dec 2003 20:11:44 +0000 (20:11 +0000)]
Minor cleanups to sysport.  Use ms_msgsize in the sendsys() call.

Submitted-by: Galen Sampson <galen_sampson@yahoo.com>
19 years ago* Remove a few extra $FreeBSD$ tags
David Rhodus [Sat, 6 Dec 2003 03:11:36 +0000 (03:11 +0000)]
* Remove a few extra $FreeBSD$ tags
* Fix a few mis-spellings

19 years agoMajor libcaps work to support userland threading. Stage 1/2.
Matthew Dillon [Thu, 4 Dec 2003 22:06:22 +0000 (22:06 +0000)]
Major libcaps work to support userland threading.  Stage 1/2.
Hook the system's upcall mechanism into the globaldata structure
and hook up the LWKT thread switching primitives.  Integrate the
mp_lock code from DragonFly into libcaps to serve as a master lock
for userland threading as well (it turns out that the BGL support in
DragonFly could be trivially ported to the userland threading code).

Still todo: hook up critical section handling, deal with FP regs,
hook up rfork support for multiple virtual cpu's via the upcall mechanism,
and testing of same.

Work by: Galen Sampson <galen_sampson@yahoo.com> and
 Matthew Dillon <dillon@backplane.com>

19 years agoAugment the upcall system calls to support a priority mechanism rather then
Matthew Dillon [Thu, 4 Dec 2003 20:35:09 +0000 (20:35 +0000)]
Augment the upcall system calls to support a priority mechanism rather then
just a pending mechanism.  When dispatching or polling for an upcall the
data field is used to supply a priority which will be compared against
the userland crit_count.

19 years agoGeneral cleanups as part of the libcaps userland threading work.
Matthew Dillon [Thu, 4 Dec 2003 20:09:33 +0000 (20:09 +0000)]
General cleanups as part of the libcaps userland threading work.

19 years agoAs part of the libcaps threading work a number of routines in lwkt_thread.c
Matthew Dillon [Thu, 4 Dec 2003 00:12:40 +0000 (00:12 +0000)]
As part of the libcaps threading work a number of routines in lwkt_thread.c
are going to be separately implemented for userland.  #ifdef _KERNEL out
the routines.

Submitted-by: Galen Sampson <galen_sampson@yahoo.com>
19 years agoAdd chmod 1777 for /tmp and make other minor adjustments.
Matthew Dillon [Thu, 4 Dec 2003 00:01:14 +0000 (00:01 +0000)]
Add chmod 1777 for /tmp and make other minor adjustments.

Suggested-by: Peter Kadau <peter.kadau@tuebingen.mpg.de>
19 years agoAdd additional information on cvsup'ing various sources.
Matthew Dillon [Tue, 2 Dec 2003 20:19:39 +0000 (20:19 +0000)]
Add additional information on cvsup'ing various sources.

Suggested-by: David Rhodus <drhodus@catpa.com>
19 years ago* Might help if we built gbk.c and gb18030.c
David Rhodus [Tue, 2 Dec 2003 15:08:38 +0000 (15:08 +0000)]
* Might help if we built gbk.c and gb18030.c

19 years ago * Remove unused #includes.
Eirik Nygaard [Tue, 2 Dec 2003 14:56:28 +0000 (14:56 +0000)]
 * Remove unused #includes.

Obtained from: FreeBSD

19 years agoComment PFIL_HOOKS since it should not be needed in GENERIC.
Jeroen Ruigrok/asmodai [Tue, 2 Dec 2003 12:35:52 +0000 (12:35 +0000)]
Comment PFIL_HOOKS since it should not be needed in GENERIC.
Leave it in so that people know it is needed for packet filters.

19 years agoAdd the packet filtering files.
Jeroen Ruigrok/asmodai [Tue, 2 Dec 2003 09:18:17 +0000 (09:18 +0000)]
Add the packet filtering files.

19 years agoAdd PFIL_HOOKS functionality. This allows us to plug in many firewalling
Jeroen Ruigrok/asmodai [Tue, 2 Dec 2003 08:00:22 +0000 (08:00 +0000)]
Add PFIL_HOOKS functionality.  This allows us to plug in many firewalling
architectures by using/having generic hooks in the networking code.

19 years ago* Sync comment with code's reality.
David Rhodus [Mon, 1 Dec 2003 23:50:20 +0000 (23:50 +0000)]
* Sync comment with code's reality.

Obtained from: FreeBSD

19 years ago* Fix problem where initgroups would silently truncate groups with
David Rhodus [Mon, 1 Dec 2003 23:46:20 +0000 (23:46 +0000)]
*   Fix problem where initgroups would silently truncate groups with
  more than NGROUP elements without providing the opportunity to
setgroups to fail and correctly return error and set errno.

Obtained from: FreeBSD

19 years ago* Add GBK encoding support.
David Rhodus [Mon, 1 Dec 2003 23:38:23 +0000 (23:38 +0000)]
* Add GBK encoding support.

Obtained from: FreeBSD

19 years ago* Add support for gb18030 encoding.
David Rhodus [Mon, 1 Dec 2003 23:29:25 +0000 (23:29 +0000)]
* Add support for gb18030 encoding.

Obtained from: FreeBSD

19 years agoAfter testing the manual installation instructions on a real box make some
Matthew Dillon [Mon, 1 Dec 2003 23:19:16 +0000 (23:19 +0000)]
After testing the manual installation instructions on a real box make some
minor documentation changes and fix a bug (missing cpdup for /usr).

19 years ago* Allow a return of 0 from __sys_write() to exit the loop in libc_r's
David Rhodus [Mon, 1 Dec 2003 23:17:08 +0000 (23:17 +0000)]
* Allow a return of 0 from __sys_write() to exit the loop in libc_r's
        wrapped version of write().

Obtained from: FreeBSD

19 years ago* Document the fact that send(2) can return EPIPE (like when a
David Rhodus [Mon, 1 Dec 2003 23:02:22 +0000 (23:02 +0000)]
* Document the fact that send(2) can return EPIPE (like when a
socket is not connected).

Obtained from: FreeBSD

19 years ago* don't fclose() a bogus FILE *.
David Rhodus [Mon, 1 Dec 2003 22:58:44 +0000 (22:58 +0000)]
* don't fclose() a bogus FILE *.

Obtained from: FreeBSD

19 years ago* Attempt to save the last dregs of emacs users' sanity by saving the
David Rhodus [Mon, 1 Dec 2003 22:56:22 +0000 (22:56 +0000)]
* Attempt to save the last dregs of emacs users' sanity by saving the
   contents of the PR when an interrupt is received during the editor
   session.  This stops the use of ^G from deleting a filled PR from
   underneath the user.

Obtained from: The FreeBSD project

19 years agoAdd a README file, rc.conf, and example fstab. Disable a number of system
Matthew Dillon [Mon, 1 Dec 2003 21:14:03 +0000 (21:14 +0000)]
Add a README file, rc.conf, and example fstab.  Disable a number of system
gizmos in the rc.conf that don't make sense for a CD boot, like syslog
and cron.

19 years agoUse mkiso -R instead of -r in order to properly record file modes. In
Matthew Dillon [Mon, 1 Dec 2003 20:12:39 +0000 (20:12 +0000)]
Use mkiso -R instead of -r in order to properly record file modes.  In
particular, the file modes associated with devices.

19 years agoAdd nreleae back in. It's a dummy target designed only to ensure that
Matthew Dillon [Mon, 1 Dec 2003 19:32:56 +0000 (19:32 +0000)]
Add nreleae back in.  It's a dummy target designed only to ensure that
the proper obj dir infrastructure is created so the nrelease Makefile's
can use ${.OBJDIR}.

Adjust the nrelease Makefile's to perform port checks only when actually
building the release.

19 years agoTemporary disable the ports checks.. the Makefile has to be runnable from
Matthew Dillon [Mon, 1 Dec 2003 19:12:25 +0000 (19:12 +0000)]
Temporary disable the ports checks.. the Makefile has to be runnable from
buildworld in order to create the obj dir infrastructure only (not to actually
build a release).

19 years ago* buildworld doesn't need to look at nrelease.
David Rhodus [Mon, 1 Dec 2003 17:07:26 +0000 (17:07 +0000)]
* buildworld doesn't need to look at nrelease.
This was requiring things like mkisofs and cvsup to
complete a basic buildworld.

19 years agoFix a minor bug... install cvsup and mkisofs in the correct
Matthew Dillon [Mon, 1 Dec 2003 10:10:22 +0000 (10:10 +0000)]
Fix a minor bug... install cvsup and mkisofs in the correct

19 years agoIntroduce /usr/src/nrelease which begins to implement the new 'live CD'
Matthew Dillon [Mon, 1 Dec 2003 09:59:46 +0000 (09:59 +0000)]
Introduce /usr/src/nrelease which begins to implement the new 'live CD'
ISO builder idea.  This initial commit is capable of creating bootable
ISO images which contain a complete working distribution but will boot
into a login prompt (login as root) rather then sysinstall or a
sysinstall-like utility.  Development is ongoing.  Critical subdirectories
are remounted as MFS so most normal commands, including vi, should work just

19 years agoAdd forgotten newline in debug output.
Jeroen Ruigrok/asmodai [Mon, 1 Dec 2003 09:29:11 +0000 (09:29 +0000)]
Add forgotten newline in debug output.

Synchs with FreeBSD's 1.7.

19 years agoGet rid off FreeBSD mirrors and add our own three (in Germany, Ireland, and
Jeroen Ruigrok/asmodai [Mon, 1 Dec 2003 09:02:10 +0000 (09:02 +0000)]
Get rid off FreeBSD mirrors and add our own three (in Germany, Ireland, and

19 years agoWhen attempting to open a file path do not treat a file that appears as a
Matthew Dillon [Mon, 1 Dec 2003 08:52:20 +0000 (08:52 +0000)]
When attempting to open a file path do not treat a file that appears as a
path element as a directory.  This can lockup the boot code.

19 years agoDo not require -i0 when -o is used.
Matthew Dillon [Mon, 1 Dec 2003 06:07:16 +0000 (06:07 +0000)]
Do not require -i0 when -o is used.

19 years agoAdd a missing PRELE() when the mfs_mount kernel process exits. Because
Matthew Dillon [Mon, 1 Dec 2003 04:38:26 +0000 (04:38 +0000)]
Add a missing PRELE() when the mfs_mount kernel process exits.  Because
DragonFly does not teardown zombie processes while p_lock is non-zero this
prevented such processes from being reaped and deadlocked the init process.

19 years agoDocumentat mount_mfs -C
Matthew Dillon [Mon, 1 Dec 2003 04:36:57 +0000 (04:36 +0000)]
Documentat mount_mfs -C

19 years agoAdd the -C option to mount_mfs. This option will automatically copy the
Matthew Dillon [Mon, 1 Dec 2003 04:35:39 +0000 (04:35 +0000)]
Add the -C option to mount_mfs.  This option will automatically copy the
underlying filesystem into the MFS mount being created over it.  It does
this by loading the directory and file structure into memory, creating the
MFS mount, then storing the directory and file structure back into the MFS

This will be used when booting from read-only media to generate an 'easy'
read-write template.  For example:

    mount_mfs -s 16384 -C swap /var

Softlinks, devices, regular files, directories, and hardlinks are maintained.
Fifos and sockets are not copied.

19 years agoAdd cpdup to /bin (not /usr/bin), so we can start using it during boot
Matthew Dillon [Mon, 1 Dec 2003 02:20:14 +0000 (02:20 +0000)]
Add cpdup to /bin (not /usr/bin), so we can start using it during boot
to simplify things like diskless booting.

19 years agoAdd the MPIPE subsystem. This subsystem is used for 'pipelining' fixed-size
Matthew Dillon [Sun, 30 Nov 2003 20:14:18 +0000 (20:14 +0000)]
Add the MPIPE subsystem.  This subsystem is used for 'pipelining' fixed-size
allocations.  Pipelining is used to avoid lack-of-resource deadlocks by
still allowing resource allocations to 'block' by guarenteeing that an
already in-progress operation will soon free memory that will be immediately
used to satisfy the blocked resource.

Adjust the ATAold code to use the new mechanism and remove the code that
tried to back-off into PIO mode when resources were lacking.

19 years ago* s/FreeBSD/DragonFly at the boot2 prompt.
David Rhodus [Sun, 30 Nov 2003 17:04:35 +0000 (17:04 +0000)]
* s/FreeBSD/DragonFly at the boot2 prompt.

19 years ago* Prevent leakage of wired pages by setting start_entry
David Rhodus [Sat, 29 Nov 2003 18:56:22 +0000 (18:56 +0000)]
* Prevent leakage of wired pages by setting start_entry
during vm_map_wire().

19 years ago* Add quirk for LEXAR 256MB JUMPDRIVE
David Rhodus [Sat, 29 Nov 2003 15:23:33 +0000 (15:23 +0000)]
* Add quirk for LEXAR 256MB JUMPDRIVE

19 years agoFix bug in last commit (missing ..)
Matthew Dillon [Fri, 28 Nov 2003 19:32:41 +0000 (19:32 +0000)]
Fix bug in last commit (missing ..)

Submitted-by: YONETANI Tomokazu <qhwt@myrealbox.com>
19 years agoFix a DOS in rfork(). Disallow kernel-only flags.
Matthew Dillon [Thu, 27 Nov 2003 19:57:37 +0000 (19:57 +0000)]
Fix a DOS in rfork().  Disallow kernel-only flags.

Taken-from: FreeBSD-4.x kern_fork.c and unistd.h

19 years agoCleanup POSIX real-time so the kernel compiles without the P1003_1B
Matthew Dillon [Thu, 27 Nov 2003 19:11:17 +0000 (19:11 +0000)]
Cleanup POSIX real-time so the kernel compiles without the P1003_1B

Submitted-by: Joerg Sonnenberger <joerg@britannica.bec.de>
19 years agoAdd support for the ICH 4 mobile chipset.
Jeroen Ruigrok/asmodai [Wed, 26 Nov 2003 14:24:46 +0000 (14:24 +0000)]
Add support for the ICH 4 mobile chipset.

19 years agoTemporary hack out release.9, which creates the floppies.
Jeroen Ruigrok/asmodai [Wed, 26 Nov 2003 07:49:57 +0000 (07:49 +0000)]
Temporary hack out release.9, which creates the floppies.

19 years agoGet rid off the POSIX real-time extensions as well as the System V IPC and
Jeroen Ruigrok/asmodai [Tue, 25 Nov 2003 18:04:48 +0000 (18:04 +0000)]
Get rid off the POSIX real-time extensions as well as the System V IPC and
slip support.

19 years ago#include cleanups for lwkt_msgport.c and lwkt_thread.c... the committed
Matthew Dillon [Mon, 24 Nov 2003 23:56:07 +0000 (23:56 +0000)]
#include cleanups for lwkt_msgport.c and lwkt_thread.c... the committed
library name is libcaps, not liblwkt.

19 years agoSet the close-on-exec flag for CAPS client descriptors.
Matthew Dillon [Mon, 24 Nov 2003 21:32:33 +0000 (21:32 +0000)]
Set the close-on-exec flag for CAPS client descriptors.

19 years agoAdd /var/caps/root and /var/caps/users. IPC rendezvous services for root
Matthew Dillon [Mon, 24 Nov 2003 21:21:43 +0000 (21:21 +0000)]
Add /var/caps/root and /var/caps/users.  IPC rendezvous services for root
is implemented as a unix domain socket by libcaps in /var/caps/root/<name>.
IPC rendezvous services for users are implemented in
/var/caps/users/<uid>/<name>.  Allowing users to create services requires
manually creating a /var/caps/users/<uid> directory that is owned by that

19 years agoAdd a new library, libcaps, which is intended to encompass DragonFly-specific
Matthew Dillon [Mon, 24 Nov 2003 21:15:59 +0000 (21:15 +0000)]
Add a new library, libcaps, which is intended to encompass DragonFly-specific
core threading and IPC mechanisms.

As of this commit the library is very incomplete.  It works just well enough
to run the IPC test program unthreaded.  For the moment it is implemented
via unix domain sockets.  The IPC mechanism is eventually expected to be
moved directly into the kernel and use an upcall for replies.

19 years agoMore LWKT messaging cleanups. Isolate the default port functions by making
Matthew Dillon [Mon, 24 Nov 2003 20:46:05 +0000 (20:46 +0000)]
More LWKT messaging cleanups.  Isolate the default port functions by making
them static and rename lwkt_init_port() to lwkt_initport() to conform with

19 years agoFix the OID_AUTO collision with static sysctl numbers. This can occur
Matthew Dillon [Sun, 23 Nov 2003 22:15:22 +0000 (22:15 +0000)]
Fix the OID_AUTO collision with static sysctl numbers.  This can occur
when things like DIVERT are turned on, because they use static oid's
larger then 100.  Change the minimum OID_AUTO oid from 100 to 256 (taken
from FreeBSD-5.x), and add the assignment scan code from FreeBSD-4.x
rather then using a static variable.

19 years agoNETISR_POLL cannot use isr 0. Use isr 1.
Matthew Dillon [Sun, 23 Nov 2003 20:22:59 +0000 (20:22 +0000)]
NETISR_POLL cannot use isr 0.  Use isr 1.

Bug reported by: TC Lewis <tfox@dimension-4.dnsalias.net>

19 years agoMake the 'bad isr' panics a little more verbose.
Matthew Dillon [Sun, 23 Nov 2003 00:28:01 +0000 (00:28 +0000)]
Make the 'bad isr' panics a little more verbose.

19 years agoChange $FreeBSD$ to $DragonFly$ on the output files.
Jeroen Ruigrok/asmodai [Sat, 22 Nov 2003 21:12:35 +0000 (21:12 +0000)]
Change $FreeBSD$ to $DragonFly$ on the output files.

19 years agoAlso revert the VI_UNLOCKED damage.
Jeroen Ruigrok/asmodai [Sat, 22 Nov 2003 21:11:31 +0000 (21:11 +0000)]
Also revert the VI_UNLOCKED damage.

19 years agoRemove KTR damage.
Jeroen Ruigrok/asmodai [Sat, 22 Nov 2003 21:01:50 +0000 (21:01 +0000)]
Remove KTR damage.

19 years agoAdd two more awk kernel build scripts from FreeBSD.
Jeroen Ruigrok/asmodai [Sat, 22 Nov 2003 20:00:37 +0000 (20:00 +0000)]
Add two more awk kernel build scripts from FreeBSD.

19 years agoAdd proper $FreeBSD$ identifier.
Jeroen Ruigrok/asmodai [Sat, 22 Nov 2003 19:58:48 +0000 (19:58 +0000)]
Add proper $FreeBSD$ identifier.

19 years agoRemove haveseen_iobase(), it is not in use in the kernel.
Jeroen Ruigrok/asmodai [Sat, 22 Nov 2003 19:48:32 +0000 (19:48 +0000)]
Remove haveseen_iobase(), it is not in use in the kernel.

This synchs with FreeBSD's 1.21 and 1.70.

19 years agoUse malloc() + M_ZERO instead of malloc() + bzero().
Jeroen Ruigrok/asmodai [Sat, 22 Nov 2003 19:43:25 +0000 (19:43 +0000)]
Use malloc() + M_ZERO instead of malloc() + bzero().

Synchs with FreeBSD's 1.23.

19 years agoProperly spell compatible and compatibility.
Jeroen Ruigrok/asmodai [Sat, 22 Nov 2003 19:30:57 +0000 (19:30 +0000)]
Properly spell compatible and compatibility.

19 years ago * K&R function cleanup
Eirik Nygaard [Sat, 22 Nov 2003 11:38:13 +0000 (11:38 +0000)]
 * K&R function cleanup

19 years agoRemove the archaic wd(4) driver.
Jeroen Ruigrok/asmodai [Sat, 22 Nov 2003 09:51:45 +0000 (09:51 +0000)]
Remove the archaic wd(4) driver.

19 years agoRemove the archaic wd(4) driver and its dependencies.
Jeroen Ruigrok/asmodai [Sat, 22 Nov 2003 09:50:36 +0000 (09:50 +0000)]
Remove the archaic wd(4) driver and its dependencies.

Tested with: LINT

19 years agoUse unsigned integers for the counters, since they cannot be negative
Jeroen Ruigrok/asmodai [Sat, 22 Nov 2003 08:39:46 +0000 (08:39 +0000)]
Use unsigned integers for the counters, since they cannot be negative

Synchs with FreeBSD 1.5 and 1.7.

19 years agoSpell initialise correctly.
Jeroen Ruigrok/asmodai [Sat, 22 Nov 2003 08:16:45 +0000 (08:16 +0000)]
Spell initialise correctly.

Sync with FreeBSD's 1.6 (which is also a commit by me)

19 years agoAdd details on how to get a "checked out" source tree.
Jeroen Ruigrok/asmodai [Sat, 22 Nov 2003 07:51:14 +0000 (07:51 +0000)]
Add details on how to get a "checked out" source tree.

19 years agoWhen looking for files that have already been linked, strip off any
Matthew Dillon [Fri, 21 Nov 2003 23:30:42 +0000 (23:30 +0000)]
When looking for files that have already been linked, strip off any
path prefix components.

19 years agoDo some fairly major include file cleanups to further separate kernelland
Matthew Dillon [Fri, 21 Nov 2003 22:46:15 +0000 (22:46 +0000)]
Do some fairly major include file cleanups to further separate kernelland
from userland.

    * Do not allow userland to include sys/proc.h directly, it must use
      sys/user.h instead.   This is because sys/proc.h has a huge number
      of kernel header file dependancies.

    * Do cleanups and work in lwkt_thread.c and lwkt_msgport.c to allow
      these files to be directly compiled in an upcoming userland thread
      support library.

    * sys/lock.h is inappropriately included by a number of third party
      programs so we can't disallow its inclusion, but do not include
      any kernel structures unless _KERNEL or _KERNEL_STRUCTURES are

    * <ufs/ufs/inode.h> is often included by userland to get at the
      on-disk inode structure.  Only include the on-disk components and do
      not include kernel structural components unless _KERNEL or
      _KERNEL_STRUCTURES is defined

    * Various usr.bin programs include sys/proc.h unnecessarily.

    * The slab allocator has no concept of malloc buckets.  Remove malloc
      buckets structures and VMSTAT support from the system.

    * Make adjustments to sys/thread.h and sys/msgport.h such that the
      upcoming userland thread support library can include these files
      directly rather then copy them.

    * Use low level __int types in sys/globaldata.h, sys/msgport.h,
      sys/slaballoc.h, sys/thread.h, and sys/malloc.h, instead of
      high level sys/types.h types, reducing include dependancies.

19 years ago'Building databases' has 10 seconds worth of sleeps that it doesn't need.
Matthew Dillon [Fri, 21 Nov 2003 18:44:53 +0000 (18:44 +0000)]
'Building databases' has 10 seconds worth of sleeps that it doesn't need.
Remove them.

19 years agoTweak the context data a bit and do some code cleanup. Save %edx as well
Matthew Dillon [Fri, 21 Nov 2003 08:32:49 +0000 (08:32 +0000)]
Tweak the context data a bit and do some code cleanup.  Save %edx as well
as %eax and %ecx so we can throw the upcall pointer into %edx, which makes
it possible to create self-contained context assembly code.  This also
improves performance by giving the context assembly (see
src/test/sysperf/upcall.S) easier access to the upcall structure.

It's also safer (though not critical) to have the kernel save all the
call-used registers when setting up for an upcall.

19 years agoAdd some comments to the upcall test code.
Matthew Dillon [Fri, 21 Nov 2003 07:04:20 +0000 (07:04 +0000)]
Add some comments to the upcall test code.

19 years agoAdd an upcall performance test program + example context function
Matthew Dillon [Fri, 21 Nov 2003 06:58:28 +0000 (06:58 +0000)]
Add an upcall performance test program + example context function
assembly code.

19 years agoAdd UPC_CRITADD, the value that crit_count must be increased or decreased
Matthew Dillon [Fri, 21 Nov 2003 06:41:58 +0000 (06:41 +0000)]
Add UPC_CRITADD, the value that crit_count must be increased or decreased

19 years agoAdd a big whopping manual page for the upcall syscalls, upc_register and
Matthew Dillon [Fri, 21 Nov 2003 06:41:02 +0000 (06:41 +0000)]
Add a big whopping manual page for the upcall syscalls, upc_register and

19 years agoImplement an upcall mechanism to support userland LWKT. This mechanism will
Matthew Dillon [Fri, 21 Nov 2003 05:29:08 +0000 (05:29 +0000)]
Implement an upcall mechanism to support userland LWKT.  This mechanism will
allow multiple processes sharing the same VM space (aka clone/threading)
to send each other what are basically IPIs.

Two new system calls have been added, upc_register() and upc_control().
Documentation is forthcoming.  The upcalls are nicely abstracted and a
program can register as many as it wants up to the kernel limit (which
is 32 at the moment).

The upcalls will be used for passing asynch data from kernel to userland,
such as asynch syscall message replies, for thread preemption timing,
software interrupts, IPIs between virtual cpus (e.g. between the processes
that are sharing the single VM space).

19 years agoAdd a DECLARE_DUMMY_MODULE for snd_cmi to detect kld/static-kernel conflicts.
Matthew Dillon [Thu, 20 Nov 2003 22:14:27 +0000 (22:14 +0000)]
Add a DECLARE_DUMMY_MODULE for snd_cmi to detect kld/static-kernel conflicts.

19 years agoAdd a DECLARE_DUMMY_MODULE() so we can get linker_set module names
Matthew Dillon [Thu, 20 Nov 2003 22:07:34 +0000 (22:07 +0000)]
Add a DECLARE_DUMMY_MODULE() so we can get linker_set module names
for modules that normally use DRIVER_MODULE().  The problem is that
DRIVER_MODULE() will define names that do not match the module name,
so a DECLARE_DUMMY_MODULE() is needed for the kernel to be able to
figure out that a module has been statitically compiled in.

19 years ago * Make pkg_add fetch the packages from /packages-4-stable instead of
Eirik Nygaard [Thu, 20 Nov 2003 17:40:06 +0000 (17:40 +0000)]
 * Make pkg_add fetch the packages from /packages-4-stable instead of
   /packages-current so -r works again.

Reported by: Adam K Kirchhoff <adamk@voicenet.com>