dragonfly.git
16 years agoNetwork threading stage 1/3: netisrs are already software interrupts,
Matthew Dillon [Sat, 8 Nov 2003 07:57:52 +0000 (07:57 +0000)]
Network threading stage 1/3: netisrs are already software interrupts,
which means they alraedy run in their own thread.  This commit creates
multiple supporting threads for netisrs rather then just one and code
has been added to begin routing packets to particular threads based on
their content.  Eventually this will lead to us being able to isolate and
serialize PCBs in particular threads.  The tail end of the ip_input path's
protocol dispatch, the UIPC (user entry) code, and listen socket have not
been covered yet and still need to be serialized.

A new debugging sysctl, net.inet.ip.mthread_enable, has been added.  It
defaults to 1.  If you set this sysctl 0 netisr processing will revert to
the prior single-threaded behavior.

Submitted-by: Jeffrey Hsu <hsu@FreeBSD.org>
Additional-work-by: dillon
16 years agoDocument critical section and IPIQ interactions in the message port
Matthew Dillon [Sat, 8 Nov 2003 05:38:58 +0000 (05:38 +0000)]
Document critical section and IPIQ interactions in the message port
functions.

16 years agoHopefully do a better job disassembling code in 16 bit mode.
Matthew Dillon [Sat, 8 Nov 2003 03:06:53 +0000 (03:06 +0000)]
Hopefully do a better job disassembling code in 16 bit mode.

16 years agoImport a good chunk of the PNP code from FreeBSD-5.x
Matthew Dillon [Sat, 8 Nov 2003 02:55:19 +0000 (02:55 +0000)]
Import a good chunk of the PNP code from FreeBSD-5.x

16 years agoSynchronize APMBIOS with FreeBSD-5.x bios.c 1.64. The primary change is
Matthew Dillon [Fri, 7 Nov 2003 18:28:53 +0000 (18:28 +0000)]
Synchronize APMBIOS with FreeBSD-5.x bios.c 1.64.  The primary change is
to the PNPATTR_CONFIG_* macros, which are totally different in -current.

16 years agosync from FreeBSD-5.x. No operational changes. Get rid of a .byte macro
Matthew Dillon [Fri, 7 Nov 2003 17:59:23 +0000 (17:59 +0000)]
sync from FreeBSD-5.x.  No operational changes.  Get rid of a .byte macro
and replace with the proper instruction extension.

16 years agoAdd missing $DragonFly$ keywords
Eirik Nygaard [Fri, 7 Nov 2003 14:38:38 +0000 (14:38 +0000)]
Add missing $DragonFly$ keywords

16 years ago * then -> they
Eirik Nygaard [Fri, 7 Nov 2003 13:39:01 +0000 (13:39 +0000)]
 * then -> they
 * Add missing $DragonFly$ keyword

Obtained from: FreeBSD
FreeBSD PR: misc/54967

16 years agoFatal traps were not reporting the correct %cs (code selector) for the SMP
Matthew Dillon [Fri, 7 Nov 2003 06:01:12 +0000 (06:01 +0000)]
Fatal traps were not reporting the correct %cs (code selector) for the SMP
case.  They were reporting the code selector for cpu 0 rather then the cpu
taking the trap.

16 years agoIf a panic occurs from a BIOS call (16 bit mode) or VM86 DDB will attempt
Matthew Dillon [Fri, 7 Nov 2003 06:00:32 +0000 (06:00 +0000)]
If a panic occurs from a BIOS call (16 bit mode) or VM86 DDB will attempt
to disassemble the instruction @ eip.  The problem is that eip is not a
valid KVM address since it is relative to a different %cs selector.  This
commit causes DDB to make appropriate conversions when accessing %eip,
%esp, and %ebp.

16 years agoAdd 3c940 ethernet driver support ('sk' driver) for ASUS K8V (AMD64)
Matthew Dillon [Fri, 7 Nov 2003 05:57:23 +0000 (05:57 +0000)]
Add 3c940 ethernet driver support ('sk' driver) for ASUS K8V (AMD64)
motherboards.

Attributes: This driver was ported from Nathan L. Binkert's OpenBSD driver
by Jung-uk Kim to FreeBSD-4.x.  Jung-uk's port is independant from Stuart
Walsh's work.

16 years ago * Parse arguments with getopt
Eirik Nygaard [Thu, 6 Nov 2003 20:14:24 +0000 (20:14 +0000)]
 * Parse arguments with getopt
 * Add a 'h' flag for usage information

Reviewed by: Matthew Dillon <dillon@apollo.backplane.com>

16 years agoRemove the rest of the __P macros in src/usr.sbin
Eirik Nygaard [Thu, 6 Nov 2003 19:46:42 +0000 (19:46 +0000)]
Remove the rest of the __P macros in src/usr.sbin

16 years ago * Add a missing $DragonFly$ keyword
Eirik Nygaard [Thu, 6 Nov 2003 19:30:05 +0000 (19:30 +0000)]
 * Add a missing $DragonFly$ keyword
 * Remove the rest of the __P macros from src/usr.bin/

16 years agoNuke some more __P macros.
Eirik Nygaard [Thu, 6 Nov 2003 19:09:46 +0000 (19:09 +0000)]
Nuke some more __P macros.

16 years agoAdd another vendor who delivers PL 2303 derived cables/convertors.
Jeroen Ruigrok/asmodai [Thu, 6 Nov 2003 14:36:39 +0000 (14:36 +0000)]
Add another vendor who delivers PL 2303 derived cables/convertors.

16 years agoRemove illegal identifier after #endif.
Jeffrey Hsu [Thu, 6 Nov 2003 05:22:17 +0000 (05:22 +0000)]
Remove illegal identifier after #endif.

16 years agoRemove named arguments in the varsym prototypes which conflict with not very
Matthew Dillon [Wed, 5 Nov 2003 23:56:48 +0000 (23:56 +0000)]
Remove named arguments in the varsym prototypes which conflict with not very
well thought out #define's made in the colldef source.

16 years agoAdd the 'varsym' utility which may be used to manipulate system-wide and
Matthew Dillon [Wed, 5 Nov 2003 23:29:37 +0000 (23:29 +0000)]
Add the 'varsym' utility which may be used to manipulate system-wide and
user-wide variables.  Note that it is not quite complete, it can only set
and retrieve specific variables and cannot yet list the variables.

16 years agoAn additional ui*() API cleanup that I missed.
Matthew Dillon [Wed, 5 Nov 2003 23:27:15 +0000 (23:27 +0000)]
An additional ui*() API cleanup that I missed.

16 years agoVariant symlink support stage 1/2: Implement support for storing and retrieving
Matthew Dillon [Wed, 5 Nov 2003 23:26:21 +0000 (23:26 +0000)]
Variant symlink support stage 1/2: Implement support for storing and retrieving
system-specific, user-specific, and process-specific variables.

16 years agoCleanup the ui*() API in preparation for the addition of variant-symlink
Matthew Dillon [Wed, 5 Nov 2003 20:24:38 +0000 (20:24 +0000)]
Cleanup the ui*() API in preparation for the addition of variant-symlink
support.

16 years agoChange ui_ref from an unsigned short to an integer. A 16 bit ref count is
Matthew Dillon [Wed, 5 Nov 2003 20:07:19 +0000 (20:07 +0000)]
Change ui_ref from an unsigned short to an integer.  A 16 bit ref count is
insufficient.

16 years ago* Temporarily back out last change because of a problem reported
David Rhodus [Wed, 5 Nov 2003 05:30:29 +0000 (05:30 +0000)]
* Temporarily back out last change because of a problem reported
by Kennth Culver until I can look into it more.

16 years ago* Fix a potential race condition in crfree.
David Rhodus [Tue, 4 Nov 2003 22:13:22 +0000 (22:13 +0000)]
* Fix a potential race condition in crfree.

Discussed with Matt Dillon

16 years agoadd cmpdi2 and ucmpdi2 to conf/files to fix LINT build.
Matthew Dillon [Tue, 4 Nov 2003 20:30:53 +0000 (20:30 +0000)]
add cmpdi2 and ucmpdi2 to conf/files to fix LINT build.

16 years agoGet rid of the intmax_t dependancies and just specify the maximum
Matthew Dillon [Tue, 4 Nov 2003 20:25:45 +0000 (20:25 +0000)]
Get rid of the intmax_t dependancies and just specify the maximum
reasonable integer size manually, using a non-conflicting typedef.

16 years agoAdd a missing element related to the dev messaging changes.
Matthew Dillon [Tue, 4 Nov 2003 20:04:48 +0000 (20:04 +0000)]
Add a missing element related to the dev messaging changes.

16 years agoReattact send-pr to the build and change the mail address to bugs@crater.dragonflybsd.org
Eirik Nygaard [Tue, 4 Nov 2003 17:40:05 +0000 (17:40 +0000)]
Reattact send-pr to the build and change the mail address to bugs@crater.dragonflybsd.org

16 years ago* Do not set the No_CRC bit in the Mode Control Register.
David Rhodus [Tue, 4 Nov 2003 17:29:33 +0000 (17:29 +0000)]
* Do not set the No_CRC bit in the Mode Control Register.
Setting the NO_CRC bit can cause data write errors.

* By not setting NO_CRC in the Mode Control Register, we must
also reduce the size of the packet by 4 bytes to remove the
ethernet crc.

Obtained from: FreeBSD

16 years ago* Fix two buffer overflows caused by off-by-one errors: avoid writing
David Rhodus [Tue, 4 Nov 2003 17:03:11 +0000 (17:03 +0000)]
* Fix two buffer overflows caused by off-by-one errors: avoid writing
a null character 1 byte past the end of cmdline[] when libedit is
being used for input, and avoid writing a null pointer 1 element
past the end of margvp[].

Obtained from: FreeBSD

16 years ago* Fix BBS buffer overflow in makeargv().
David Rhodus [Tue, 4 Nov 2003 16:52:01 +0000 (16:52 +0000)]
* Fix BBS buffer overflow in makeargv().

Obtained from: The FreeBSD project

16 years ago* Call crypt() directly instread of taking a detour through makekey.
David Rhodus [Tue, 4 Nov 2003 16:36:35 +0000 (16:36 +0000)]
* Call crypt() directly instread of taking a detour through makekey.

Note: This should have been the last user of makekey. Makekey perhaps
should be depreciated.

Obtained from: The FreeBSD project

16 years ago* Handle realloc() failure correctly.
David Rhodus [Tue, 4 Nov 2003 15:55:22 +0000 (15:55 +0000)]
* Handle realloc() failure correctly.

Obtained from: The FreeBSD project

16 years ago* Add a comment to the file pertaining to the last commit
David Rhodus [Tue, 4 Nov 2003 15:48:16 +0000 (15:48 +0000)]
* Add a comment to the file pertaining to the last commit

16 years ago* Change the buffer lenght test in NEEDSP() so that it does not
David Rhodus [Tue, 4 Nov 2003 15:44:36 +0000 (15:44 +0000)]
* Change the buffer lenght test in NEEDSP() so that it does not
subtract one unsigned number from another potentially smaller
one, leading to wraparound (and heap corruption, eventually).

Obtained from: The FreeBSD project

16 years ago* Fix a that showd up on 64 bit systems. It was actually
David Rhodus [Tue, 4 Nov 2003 15:35:41 +0000 (15:35 +0000)]
* Fix a that showd up on 64 bit systems. It was actually
a real bug that had been swept under the carpet.

Pointed out by: Peter Wemm

16 years agoMake truss check if procfs is mounted, and where it is mounted.
Eirik Nygaard [Tue, 4 Nov 2003 15:34:41 +0000 (15:34 +0000)]
Make truss check if procfs is mounted, and where it is mounted.
It now prints an error message explaining it if procfs is not
mounted. It will also work if procfs is mounted somewhere else
than /proc.

Reviewed by: Matthew Dillon <dillon@apollo.backplane.com>

16 years agoRemove send-pr from the build.
Eirik Nygaard [Tue, 4 Nov 2003 15:16:28 +0000 (15:16 +0000)]
Remove send-pr from the build.
We do not have a gnats system yet so it is not needed.

16 years agoFix typo in cloud -> in a cloud.
Eirik Nygaard [Tue, 4 Nov 2003 14:17:26 +0000 (14:17 +0000)]
Fix typo in cloud -> in a cloud.

Obtained from: FreeBSd
FreeBSD PR: docs/58909

16 years agoUnbreak svr4 damage from last changes to kern/kern_resource.c.
David P. Reese, Jr. [Tue, 4 Nov 2003 05:01:10 +0000 (05:01 +0000)]
Unbreak svr4 damage from last changes to kern/kern_resource.c.

16 years agoFix a translation bug in the last commit. The second status translation
Matthew Dillon [Tue, 4 Nov 2003 04:17:37 +0000 (04:17 +0000)]
Fix a translation bug in the last commit.  The second status translation
was mistakenly changed from W_STOPCODE(p->p_xstat) to p->p_xstat.

16 years agoFix LINT issues with vm_paddr_t
Matthew Dillon [Tue, 4 Nov 2003 01:05:28 +0000 (01:05 +0000)]
Fix LINT issues with vm_paddr_t

16 years agoGive up trying to do this the clean way and just hack groff to remove
Matthew Dillon [Mon, 3 Nov 2003 22:51:48 +0000 (22:51 +0000)]
Give up trying to do this the clean way and just hack groff to remove
the uint64 aliasing.

16 years agoFix the pt_entry_t and pd_entry_t types. They were previously pointers to
Matthew Dillon [Mon, 3 Nov 2003 22:50:15 +0000 (22:50 +0000)]
Fix the pt_entry_t and pd_entry_t types.  They were previously pointers to
integers which is completely bogus.  What they really represent are page
table entries so define them as __uint32_t.  Also add a vtophys_pte()
macro to distinguish between physical addresses (vm_paddr_t) and
physical addresses represented in PTE form (pt_entry_t).  vm_paddr_t can
be 64 bits even on IA32 boxes without PAE which use 32 bit PTE's.

Taken loosely from: FreeBSD-4.x

16 years agoRemove some __P macros in sbin that my script missed.
Eirik Nygaard [Mon, 3 Nov 2003 19:51:05 +0000 (19:51 +0000)]
Remove some __P macros in sbin that my script missed.

Reviewed by: Matthew Dillon <dillon@apollo.backplane.com>

16 years agoRemove __P macros from src/usr.bin and src/usr.sbin.
Eirik Nygaard [Mon, 3 Nov 2003 19:31:44 +0000 (19:31 +0000)]
Remove __P macros from src/usr.bin and src/usr.sbin.

Reviewed by: David Rhodus <drhodus@catpa.com> and
             Matthew Dillon <dillon@apollo.backplane.com>

16 years agoAdd some missing $DragonFly$ keywords.
Eirik Nygaard [Mon, 3 Nov 2003 19:14:37 +0000 (19:14 +0000)]
Add some missing $DragonFly$ keywords.

Reviewed by: Jeroen Ruigrok <asmodai@wxs.nl>

16 years agoFix a minor compile-time bug introduced in 1.22 when DEBUG_VFS_LOCKS is
Matthew Dillon [Mon, 3 Nov 2003 18:49:23 +0000 (18:49 +0000)]
Fix a minor compile-time bug introduced in 1.22 when DEBUG_VFS_LOCKS is
turned on.

16 years agoDo a minor update of getconf to deal with the addition of intmax_t and
Matthew Dillon [Mon, 3 Nov 2003 17:15:31 +0000 (17:15 +0000)]
Do a minor update of getconf to deal with the addition of intmax_t and
friends in the 64 bit address cleanup commit.

16 years agoDo a minor update of Groff to deal with the addition of intmax_t and
Matthew Dillon [Mon, 3 Nov 2003 17:15:26 +0000 (17:15 +0000)]
Do a minor update of Groff to deal with the addition of intmax_t and
friends in the 64 bit address cleanup commit.

16 years ago64 bit address space cleanups which are a prerequisit for future 64 bit
Matthew Dillon [Mon, 3 Nov 2003 17:11:23 +0000 (17:11 +0000)]
64 bit address space cleanups which are a prerequisit for future 64 bit
address space work and PAE.  Note: this is not PAE.  This patch basically
adds vm_paddr_t, which represents a 'physical address'.  Physical addresses
may be larger then virtual addresses and on IA32 we make vm_paddr_t a 64
bit quantity.

Submitted-by: Hiten Pandya <hmp@backplane.com>
16 years agoSplit wait4(), setrlimit(), getrlimit(), statfs(), fstatfs(), chdir(),
David P. Reese, Jr. [Mon, 3 Nov 2003 15:57:34 +0000 (15:57 +0000)]
Split wait4(), setrlimit(), getrlimit(), statfs(), fstatfs(), chdir(),
open(), mknod(), link(), symlink(), unlink(), lseek(), access(), stat(),
lstat(), readlink(), chmod(), chown(), lchown(), utimes(), lutimes(),
futimes(), truncate(), rename(), mkdir(), rmdir(), getdirentries(),
getdents().

Trash the 4.3BSD numeric filesystem type support in mount().

Move ocreat(), olseek(), otruncate(), ostat(), olstat(), owait(),
ogetrlimit(), and osetrlimit() to the 43bsd subtree and reimplement
using split syscalls.  Move ogetdirentries() to the subtree without
change because it is such a mess.

Convince linux_waitpid(), linux_wait(), linux_setrlimit(),
linux_old_getrlimit(), and linux_getrlimit() to use split syscalls.

The file kern/vfs_syscalls.c is now completely free of COMPAT_43 code.
I believe that execve() is the only pending split before I can tackle
stackgap usage in the linux emulator's CHECKALT{EXIST,CREAT}() macros.

16 years agoAugment the LWKT thread creation APIs to allow a cpu to be specified. This
Matthew Dillon [Mon, 3 Nov 2003 02:08:38 +0000 (02:08 +0000)]
Augment the LWKT thread creation APIs to allow a cpu to be specified.  This
will be used by upcoming netisr and interrupt thread work to create protocol
and interrupt threads on specified cpus rather then cpu #0.

16 years agoBetter documentation of the MP lock state for new threads.
Matthew Dillon [Mon, 3 Nov 2003 00:39:07 +0000 (00:39 +0000)]
Better documentation of the MP lock state for new threads.

16 years ago* Nuke ~771 __P()'s from our tree.
David Rhodus [Sat, 1 Nov 2003 17:16:02 +0000 (17:16 +0000)]
* Nuke ~771 __P()'s from our tree.

Work sent-in by: Eirik Nygaard <eirikn@kerneled.com>

16 years agoRemove the matching for the host to PCI bridge, since this is actually
Jeroen Ruigrok/asmodai [Fri, 31 Oct 2003 22:00:13 +0000 (22:00 +0000)]
Remove the matching for the host to PCI bridge, since this is actually
an AGP controller/host to PCI bridge and thus gets dealt with in a
different way.

16 years agoAdd identifier for the nForce2 PCI to ISA bridge.
Jeroen Ruigrok/asmodai [Fri, 31 Oct 2003 21:51:23 +0000 (21:51 +0000)]
Add identifier for the nForce2 PCI to ISA bridge.

16 years agoAdd nForce AGP support, taken from FreeBSD with some minor changes to get
Jeroen Ruigrok/asmodai [Fri, 31 Oct 2003 21:49:23 +0000 (21:49 +0000)]
Add nForce AGP support, taken from FreeBSD with some minor changes to get
it to work with DragonFly.

16 years agoProperly detect and print the nForce2 Host to PCI bridge and PCI-PCI
Jeroen Ruigrok/asmodai [Fri, 31 Oct 2003 21:12:07 +0000 (21:12 +0000)]
Properly detect and print the nForce2 Host to PCI bridge and PCI-PCI
bridges.

16 years agoChange # comments to /* */ equivalents.
Jeroen Ruigrok/asmodai [Fri, 31 Oct 2003 13:53:02 +0000 (13:53 +0000)]
Change # comments to /* */ equivalents.

Idea submitted by: Craig Dooley <cd5697@albany.edu>

16 years agoGet rid of DDB, INVARIANTS, and INVARIANT_SUPPORT in the boot floppies.
Jeroen Ruigrok/asmodai [Thu, 30 Oct 2003 07:14:18 +0000 (07:14 +0000)]
Get rid of DDB, INVARIANTS, and INVARIANT_SUPPORT in the boot floppies.

16 years agoMake our manual pages report that they are part of DragonFly.
Jeroen Ruigrok/asmodai [Tue, 28 Oct 2003 18:13:47 +0000 (18:13 +0000)]
Make our manual pages report that they are part of DragonFly.

Assumption that our first release will be called 1.0.

16 years agoChange 'nvidianf2' to 'nforce2' to be more explanatory.
Jeroen Ruigrok/asmodai [Tue, 28 Oct 2003 07:30:37 +0000 (07:30 +0000)]
Change 'nvidianf2' to 'nforce2' to be more explanatory.

16 years agoAdd the NVIDIA nForce3 chipset.
Jeroen Ruigrok/asmodai [Tue, 28 Oct 2003 07:28:36 +0000 (07:28 +0000)]
Add the NVIDIA nForce3 chipset.

16 years agoAdd NVIDIA nForce3 OHCI USB support.
Jeroen Ruigrok/asmodai [Tue, 28 Oct 2003 07:28:10 +0000 (07:28 +0000)]
Add NVIDIA nForce3 OHCI USB support.

16 years agoAdd a bunch of Intel USB controllers.
Jeroen Ruigrok/asmodai [Tue, 28 Oct 2003 06:54:49 +0000 (06:54 +0000)]
Add a bunch of Intel USB controllers.

16 years agoAdd the AMD-766, Apple KeyLargo, and SiS 5571.
Jeroen Ruigrok/asmodai [Tue, 28 Oct 2003 06:50:15 +0000 (06:50 +0000)]
Add the AMD-766, Apple KeyLargo, and SiS 5571.

16 years agoReorder to alphabetical order.
Jeroen Ruigrok/asmodai [Tue, 28 Oct 2003 06:47:30 +0000 (06:47 +0000)]
Reorder to alphabetical order.

16 years agoAdd NVIDIA's nForce2.
Jeroen Ruigrok/asmodai [Tue, 28 Oct 2003 06:46:45 +0000 (06:46 +0000)]
Add NVIDIA's nForce2.

16 years agoDeal with multicast packets in a manner similar to Solaris, RFC 3376, and
Matthew Dillon [Tue, 28 Oct 2003 03:51:51 +0000 (03:51 +0000)]
Deal with multicast packets in a manner similar to Solaris, RFC 3376, and
draft-ietf-magma-msf-api-05.txt.   Multicast packets are not sent to
multicast-unaware sockets or to sockets not bound to the interface the
packet came in on.

The sysctl net.inet.udp.strict_mcast_mship enables the new requirements
by default.  Original operation may be recovered by setting the sysctl to 0.

There is a relatively minor scaling issue with the per-PCB membership
array scan, which is linear.  It is not a show stopper though.

Submitted by: "William A. Carrel" <william.a@carrel.org>
Reviewed by: Jeffrey Hsu <hsu@FreeBSD.org>, dillon

16 years agoAdd OHCI support for the NVIDIA nForce 2 chipset.
Jeroen Ruigrok/asmodai [Mon, 27 Oct 2003 21:39:27 +0000 (21:39 +0000)]
Add OHCI support for the NVIDIA nForce 2 chipset.

FreeBSD PR: kern/47311
Submitted by: Mike Hibler <mike@cs.utah.edu>

16 years agoAllow NVIDIA's nForce 2 chipset to use proper ATA DMA modes.
Jeroen Ruigrok/asmodai [Mon, 27 Oct 2003 21:12:29 +0000 (21:12 +0000)]
Allow NVIDIA's nForce 2 chipset to use proper ATA DMA modes.

FreeBSD PR: kern/47311
Submitted by: Mike Hibler <mike@cs.utah.edu>

16 years agoFix a bug introduced when I redid the stray interrupt arary. The
Matthew Dillon [Mon, 27 Oct 2003 16:42:17 +0000 (16:42 +0000)]
Fix a bug introduced when I redid the stray interrupt arary.  The
initial loading of the vectors by isa_defaultirq() wound up being a nop
because I broke the intr_handler[] check in icu_unset().  This caused
stray interrupts doing boot (e.g. a stray irq 7 / printer interrupt being
the most common) to generate trap 30's and drop into DDB on boot.

Mucho Thanks to: David Rhodus <drhodus@catpa.com>

16 years agoBackout last commit, oops! SIGCKPT had already been added and it was redundant.
Matthew Dillon [Mon, 27 Oct 2003 15:31:19 +0000 (15:31 +0000)]
Backout last commit, oops! SIGCKPT had already been added and it was redundant.

16 years agoRemove unneeded XXX, to rename lwkt_create() as it was named
Hiten Pandya [Sun, 26 Oct 2003 13:59:58 +0000 (13:59 +0000)]
Remove unneeded XXX, to rename lwkt_create() as it was named
lwkt_create() since rev 1.6.

16 years agoSimplify the lazy-release code for P_CURPROC, removing the TDF_RUNQ
Matthew Dillon [Sat, 25 Oct 2003 17:39:22 +0000 (17:39 +0000)]
Simplify the lazy-release code for P_CURPROC, removing the TDF_RUNQ
optimization because it wasn't actually getting hit often enough to matter.

16 years agoAdd a DEBUG_INTERRUPTS option for debugging unexpected (trap 30) interrupts.
Matthew Dillon [Sat, 25 Oct 2003 17:36:22 +0000 (17:36 +0000)]
Add a DEBUG_INTERRUPTS option for debugging unexpected (trap 30) interrupts.
This might be useful in the upcoming AMD64 port as well so it's worth
comitting.

16 years agoFix two bugs in split in split revealed after my optimization in
Hiten Pandya [Sat, 25 Oct 2003 14:14:52 +0000 (14:14 +0000)]
Fix two bugs in split in split revealed after my optimization in
last revision of this file.

Check for new file at the beginning and not at the end to avoid
the internal buffer getting confused.

Submitted by: Simon 'corecode' Schubert <corecode@fs.ei.tum.de>

16 years agoInterrupt threads could block in free waiting for kernel_map(). Add a
Matthew Dillon [Sat, 25 Oct 2003 00:48:03 +0000 (00:48 +0000)]
Interrupt threads could block in free waiting for kernel_map().  Add a
check for TDF_INTTHREAD to avoid this scenario.  This makes free() compatible
with assumptions made by softupdates().

16 years agoFix type-o's, minor documentation update.
Matthew Dillon [Fri, 24 Oct 2003 17:47:51 +0000 (17:47 +0000)]
Fix type-o's, minor documentation update.

Submitted-by: Eirik Nygaard <eirikn@kerneled.com>
16 years agoHonor MODULES_OVERRIDE if defined.
Matthew Dillon [Fri, 24 Oct 2003 17:22:15 +0000 (17:22 +0000)]
Honor MODULES_OVERRIDE if defined.

Submitted-by: Skip Ford <skip.ford@verizon.net>
16 years agoThis is FreeBSD 5.x's code to dump the kernel's identifier through
Matthew Dillon [Fri, 24 Oct 2003 17:19:16 +0000 (17:19 +0000)]
This is FreeBSD 5.x's code to dump the kernel's identifier through
either the 'kern.ident' oid or with uname -i.

Submitted-by: Skip Ford <skip.ford@verizon.net>
16 years agoAdd SIGCKPT support to tcsh's built-in kill.
Matthew Dillon [Fri, 24 Oct 2003 17:14:14 +0000 (17:14 +0000)]
Add SIGCKPT support to tcsh's built-in kill.

Submitted-by: Emiel Kollof <coolvibe@hackerheaven.org>
16 years agoRemove the FreeBSD 3.x signal code. This includes osendsig(),
David P. Reese, Jr. [Fri, 24 Oct 2003 14:10:46 +0000 (14:10 +0000)]
Remove the FreeBSD 3.x signal code.  This includes osendsig(),
osigreturn() and a couple of structures that these syscalls depended
on.

Split the sigaction(), sigprocmask(), sigpending(), sigsuspend(),
sigaltstack() and kill() syscalls.

Move the 4.3BSD signal syscalls osigvec(), osigblock(), osigsetmask(),
osigstack() and okillpg() to the 43bsd subtree.  I'm not too sure
if these will even work with the FreeBSD-4 signal trampoline code,
but they do compile and link.

Implement linux_signal(), linux_rt_sigaction(), linux_sigprocmask(),
linux_rt_sigprocmask(), linux_sigpending(), linux_kill(),
linux_sigaction(), linux_sigsuspend(), linux_rt_sigsuspend(),
linux_pause(), and linux_sigaltstack() with the new in-kernel syscalls.
This patch kills 7 stackgap allocations in the Linuxolator.

16 years agoHook i386/vesa up to the module build
Matthew Dillon [Thu, 23 Oct 2003 17:32:54 +0000 (17:32 +0000)]
Hook i386/vesa up to the module build

16 years agomakesyscalls.sh wants comments to be on their own line. Move the Checkpoint
David P. Reese, Jr. [Thu, 23 Oct 2003 00:04:58 +0000 (00:04 +0000)]
makesyscalls.sh wants comments to be on their own line.  Move the Checkpoint
comment to its own line.

16 years ago* Un-break buildworld
David Rhodus [Wed, 22 Oct 2003 17:00:53 +0000 (17:00 +0000)]
* Un-break buildworld

16 years agoMSGF_DONE needs to be cleared when a message is to be handled asynchronously.
Matthew Dillon [Wed, 22 Oct 2003 01:01:16 +0000 (01:01 +0000)]
MSGF_DONE needs to be cleared when a message is to be handled asynchronously.
Nobody uses lwkt_waitmsg() yet so the bug didn't effect anything.

Noticed-by: Galen Sampson <galen_sampson@yahoo.com>
16 years agoAdd support for SIGCKPT to csh/tcsh's internal 'kill' command.
Matthew Dillon [Wed, 22 Oct 2003 01:00:16 +0000 (01:00 +0000)]
Add support for SIGCKPT to csh/tcsh's internal 'kill' command.

Submitetd-by: Kenneth Culver <culverk@sweetdreamsracing.biz>
16 years agoUse sys_nsig instead of NSIG so libc-suspplied arrays match up.
Matthew Dillon [Wed, 22 Oct 2003 00:51:15 +0000 (00:51 +0000)]
Use sys_nsig instead of NSIG so libc-suspplied arrays match up.

16 years agoFix bug in last commit, flags were not being passed to fo_write() which
Matthew Dillon [Tue, 21 Oct 2003 20:06:47 +0000 (20:06 +0000)]
Fix bug in last commit, flags were not being passed to fo_write() which
broke pwrite().  This caused samba to stop working (amoung other things).

Samba problem reported by: David Rhodus <drhodus@catpa.com>

16 years agoA hackish fix to a bug uio_yield().
Matthew Dillon [Tue, 21 Oct 2003 04:14:58 +0000 (04:14 +0000)]
A hackish fix to a bug uio_yield().

16 years agoCreate the kern_fstat() and kern_ftruncate() in-kernel syscalls.
David P. Reese, Jr. [Tue, 21 Oct 2003 01:05:09 +0000 (01:05 +0000)]
Create the kern_fstat() and kern_ftruncate() in-kernel syscalls.

Implement fstat(), nfstat() and ftruncate() using the in-kernel syscalls.

Move ofstat() and oftruncate() to the 43bsd emulation tree and implement
with in-kernel syscalls.

Create the linux_ftruncate() syscall in the linux emulation layer.  This
replaces a direct use of oftruncate() in the linux syscall map.  Rewrite
linux_newfstat() and linux_fstat64() with the in-kernel syscalls.

16 years agoYah yah. Always good to commit the header file needed for the last fix.
Matthew Dillon [Mon, 20 Oct 2003 16:50:39 +0000 (16:50 +0000)]
Yah yah.  Always good to commit the header file needed for the last fix.

16 years agoFix a bug introduced by recent INVARIANTS debugging additions, sometimes
Matthew Dillon [Mon, 20 Oct 2003 16:09:00 +0000 (16:09 +0000)]
Fix a bug introduced by recent INVARIANTS debugging additions, sometimes
the first word of M_ZERO'd memory isn't zero'd.

16 years agoFix an error message.
Matthew Dillon [Mon, 20 Oct 2003 07:01:05 +0000 (07:01 +0000)]
Fix an error message.

16 years agoDo a bit of cleanup and add a bit of debugging to the checkpoint module.
Matthew Dillon [Mon, 20 Oct 2003 06:50:51 +0000 (06:50 +0000)]
Do a bit of cleanup and add a bit of debugging to the checkpoint module.

Fix a bug in the offset calculations in the ELF checkpoint file descriptor
writeout code... one loop was skipping descriptors 0,1,2, another loop
was not.  This bug had prevented 'primes' from being properly checkpointed.

16 years agoAdd the checkpt module to the system tree. Currently this may only be
Matthew Dillon [Mon, 20 Oct 2003 04:48:42 +0000 (04:48 +0000)]
Add the checkpt module to the system tree.  Currently this may only be
loaded as a module, not configured into the kernel directly.

16 years agoAdditional checkpoint suppor for vmspace info. In particular, the data size
Matthew Dillon [Mon, 20 Oct 2003 04:47:35 +0000 (04:47 +0000)]
Additional checkpoint suppor for vmspace info.  In particular, the data size
is used by sbrk and must be restored for programs to work properly.