Commit Graph

104799 Commits

Author SHA1 Message Date
marcel
2f2074cbd9 Update for the KDB framework:
o  Make debugging code conditional upon KDB instead of DDB.
o  Call kdb_alt_break() insteadof db_alt_break().
2004-07-10 21:18:33 +00:00
marcel
3351894f4f Update for the KDB framework:
o  Call kdb_enter() instead of breakpoint().
o  Call kdb_alt_break() instead of db_alt_break().
o  Make debugging code conditional upon KDB instead of DDB.
2004-07-10 21:16:01 +00:00
marcel
f2187020e1 Update for the KDB framework:
o  Make debugging code conditional upon KDB instead of DDB.
2004-07-10 21:14:20 +00:00
marcel
153c72172f Remove DDB. The one user of this macro has been changed to use BVDDB.
Yes, DDB is unrelated to the debugger with the same acronym. Hence,
the change.
2004-07-10 21:13:28 +00:00
marcel
d6d823aef5 s/DDB/BVDDB/g
Note that DDB is unrelated to the debugger with the same acronym.
2004-07-10 21:12:27 +00:00
marcel
d6d709552d Update for the KDB framework:
o  Make debugging code conditional upon KDB instead of DDB.
o  Call kdb_alt_break() instead of db_alt_break().
2004-07-10 21:09:47 +00:00
marcel
069f39a671 Update for the KDB framework:
o  Make debugging code conditional upon KDB instead of DDB.
o  Call kdb_alt_break() instead of db_alt_break().
o  Call kdb_enter() instead of breakpoint().
2004-07-10 21:07:44 +00:00
marcel
5aaccdba8a Update for the KDB framework:
o  Make debugging code conditional upon KDB instead of DDB.
2004-07-10 21:06:08 +00:00
marcel
4aa6ec6ad9 Update for the KDB framework:
o  Make debugging code dependent upon KDB instead of DDB.
2004-07-10 21:05:14 +00:00
marcel
f95797fb06 Update for the KDB framework:
o  Call kdb_enter() instead of Debugger().
o  Don't make such calls conditional upon KDB instead of DDB because
   they're already conditional upon EN_DEBUG.
2004-07-10 21:03:52 +00:00
marcel
2a624cf907 Update for the KDB framework:
o  Use kdb_alt_break() to handle the alternate break sequence instead
   of handcoding it here.
o  Remove GDB kluges to make this driver work with the pre-KDB remote
   GDB code.
o  Call kdb_enter() instead of Debugger().

Note that with this commit the dcons(4) driver cannot be used for
remote debugging anymore. This driver has to use the new GDB debug
port interface instead. Such has not been done yet.
2004-07-10 21:02:17 +00:00
marcel
5871b498c8 Update for the KDB framework:
o  Remove inclusion of opt_ddb.h
o  Make debugging code conditional upon KDB.
2004-07-10 20:57:43 +00:00
marcel
f4488175f3 Update for the KDB framework:
o  Call kdb_enter() instead of Debugger().
2004-07-10 20:56:43 +00:00
marcel
7fd8e71125 Update for the KDB framework:
o  Call kdb_enter() instead of Debugger().

While here, remove a redundant return.
2004-07-10 20:55:15 +00:00
marcel
237e690744 Update for the KDB framework:
o  Remove inclusion of opt_ddb.h.
o  Call kdb_enter() instead of Debugger().
o  Make debugging code conditional upon KDB.
2004-07-10 20:50:19 +00:00
marcel
cdeb3179e7 Update for the KDB debugger framework:
o  Make debugging code conditional upon KDB.
o  Use kdb_backtrace() instead of backtrace().
o  Remove inclusion of opt_ddb.h.
2004-07-10 20:45:47 +00:00
marcel
486eb0f23a Hook the KDB frontend into the build. 2004-07-10 20:35:00 +00:00
marcel
006d404cf7 Implement makectx(). The makectx() function is used by KDB to create
a PCB from a trapframe for purposes of unwinding the stack. The PCB
is used as the thread context and all but the thread that entered the
debugger has a valid PCB.
This function can also be used to create a context for the threads
running on the CPUs that have been stopped when the debugger got
entered. This however is not done at the time of this commit.
2004-07-10 19:56:00 +00:00
marcel
8a7d828338 Add new options for the KDB framework. This commit merely adds them and
in particular not without removing the options they replace or in the
proper location in this file. The purpose of this commit is to make it
possible to commit changes in parts without causing massive build
breakages. At least, that's the intend. I have no idea if it actually
works out as I hope...
2004-07-10 19:34:06 +00:00
marcel
60b53542e9 Introduce the KDB debugger frontend. The frontend provides a framework
in which multiple (presumably different) debugger backends can be
configured and which provides basic services to those backends.
Besides providing services to backends, it also serves as the single
point of contact for any and all code that wants to make use of the
debugger functions, such as entering the debugger or handling of the
alternate break sequence. For this purpose, the frontend has been
made non-optional.
All debugger requests are forwarded or handed over to the current
backend, if applicable. Selection of the current backend is done by
the debug.kdb.current sysctl. A list of configured backends can be
obtained with the debug.kdb.available sysctl. One can enter the
debugger by writing to the debug.kdb.enter sysctl.
2004-07-10 18:40:12 +00:00
kientzle
34cc13118c Correct a brain-o in extract_dir: mkdirpath() and mkdir(2) are
not interchangable.
2004-07-10 18:10:20 +00:00
marcel
81854db17f Add support for uart(4) being a debug port for the GDB backend. 2004-07-10 18:08:38 +00:00
maxim
b611b99868 o Document net.inet.sack.enable sysctl. net.inet.sack.sackhole_limit
is not documented yet, it is not used at the moment and is the subject
of the future work.

Improved by:	ru
Not objected:	ps, jayanth
2004-07-10 17:55:13 +00:00
marcel
6e0dcca8a9 Introduce the GDB debugger backend for the new KDB framework. The
backend improves over the old GDB support in the following ways:
o  Unified implementation with minimal MD code.
o  A simple interface for devices to register themselves as debug
   ports, ala consoles.
o  Compression by using run-length encoding.
o  Implements GDB threading support.
2004-07-10 17:47:22 +00:00
marcel
1ff7195057 Unbreak alpha: On alpha a long double is the same as a double and
consequently the exponent is only 11 bits. Testing whether the
exponent equals 32767 in that case only effects to compiler warnings
and thus build breakage.
2004-07-10 15:52:26 +00:00
phk
b9f13e4266 Clean up and wash struct iovec and struct uio handling.
Add copyiniov() which copies a struct iovec array in from userland into
a malloc'ed struct iovec.  Caller frees.

Change uiofromiov() to malloc the uio (caller frees) and name it
copyinuio() which is more appropriate.

Add cloneuio() which returns a malloc'ed copy.  Caller frees.

Use them throughout.
2004-07-10 15:42:16 +00:00
phk
afe21b6175 Remove a pointless check. 2004-07-10 15:38:27 +00:00
tjr
72e8ff2c10 Add a reference to od(1). 2004-07-10 13:11:00 +00:00
alfred
008c1be05d Decode the "wence" arg to lseek and linux_lseek. 2004-07-10 09:23:53 +00:00
tjr
3f97d8af9c Initialize cs_invert to "false" in new csets. 2004-07-10 06:28:18 +00:00
rwatson
a4644f9bd8 Now socket buffer locks are being asserted at higher code blocks in
soreceive(), remove some leaf assertions that are redundant.
2004-07-10 04:38:06 +00:00
rwatson
e3e0b9a496 Assert socket buffer lock at strategic points between sections of code
in soreceive() to confirm we've moved from block to block properly
maintaining locking invariants.
2004-07-10 03:47:15 +00:00
imp
10c37ef567 Modernize description of physio. Make explicit that this creates a
request that's passed to the driver's strategy.
2004-07-10 01:10:17 +00:00
marius
8526267db8 - Add missing <sys/module.h>. [1]
- Remove unused includes.
- Sort includes.

Reported by:	Pyun YongHyeon <yongari@kt-is.co.kr> [1]
2004-07-09 23:12:22 +00:00
alfred
68b0bdace1 document vfs_suser. 2004-07-09 22:33:43 +00:00
emax
8dd322db66 Force commit.
Bluetooth code was maked as non-i386 specific.
Bump __FreeBSD_version to mark this change.

Reviewed by:	kris, ru
Requested by:	obrien
2004-07-09 21:51:14 +00:00
jhb
761713b2ff Check the lock lists to see if they are empty directly rather than
assigning a pointer to the list and then dereferencing the pointer as a
second step.  When the first spin lock is acquired, curthread is not in
a critical section so it may be preempted and would end up using another
CPUs lock list instead of its own.

When this code was in witness_lock() this sequence was safe as curthread
was in a critical section already since witness_lock() is called after the
lock is acquired.

Tested by:	Daniel Lang dl at leo.org
2004-07-09 17:46:27 +00:00
emax
68fab2852b Bump __FreeBSD_version
Reviewed by:	kris, ru
2004-07-09 16:57:24 +00:00
cognet
113a0eae5d Do not bzero() the softc, as newbus does it for us. 2004-07-09 16:56:46 +00:00
tjr
0bea5c0108 Add fast paths for conversion of plain ASCII characters. 2004-07-09 15:46:06 +00:00
tjr
e224905046 Slightly reorganize and simplify. 2004-07-09 15:12:10 +00:00
pjd
2210d0e607 Decrease default stripe size to 4k, as we have "FAST" mode turned on by
default.
2004-07-09 14:41:51 +00:00
pjd
227209a4da Implement "FAST" mode for GEOM_STRIPE class and turn it on by default.
In this mode you can setup even very small stripe size and you can be
sure that only one I/O request will be send to every disks in stripe.
It consumes some more memory, but if allocation fails, it will fall
back to "ECONOMIC" mode.

It is about 10 times faster for small stripe size than "ECONOMIC" mode
and other RAID0 implementations. It is even recommended to use this
mode and small stripe size, so our requests are always splitted.

One can still use "ECONOMIC" mode by setting kern.geom.stripe.fast to 0.
It is also possible to setup maximum memory which "FAST" mode can consume,
by setting kern.geom.stripe.maxmem from /boot/loader.conf.
2004-07-09 14:30:09 +00:00
phk
5be6baa85c Only detach consumers which are attached when we wither stuff away.
Pointed out by:	pjd
2004-07-09 14:06:17 +00:00
phk
98f388939d Add a JFLAG which can be used to speed up universe:
make universe JFLAG=-j12
2004-07-09 13:55:50 +00:00
des
f51d81efae Reduce namespace pollution. 2004-07-09 13:52:42 +00:00
cognet
10b0f934b6 Newbus returns a zeroed softc, so there's no need to call bzero() here. 2004-07-09 13:42:05 +00:00
des
a4be987299 When cleaning house, don't try to remove what isn't there. 2004-07-09 13:15:32 +00:00
des
8369ef54b0 Bump document date.
Reminded by:	ru
2004-07-09 11:44:49 +00:00
des
881a348b52 Accumulate directory entries in a fixed-length sbuf, and uiomove them in
one go before returning.  This avoids calling uiomove() while holding
allproc_lock.

Don't adjust uio->uio_offset manually, uiomove() does that for us.

Don't drop allproc_lock before calling panic().

Suggested by:	alfred
2004-07-09 11:43:37 +00:00