Commit Graph

76 Commits

Author SHA1 Message Date
Robert Watson
df0c8868b1 Add "-s" argument to kdump to suppress the display of I/O data.
MFC after:	1 week
2005-11-12 14:21:48 +00:00
Robert Watson
a9ac598b36 Add a "-H" argument to kdump, which causes kdump to print an additional
field holding the threadid.  This is more useful for libthr than
libpthread, but still quite useful in libpthread as it can be used to
process interlaced records from multiple threads over the course of a
system call.

Detect old ktr_buffer values using the heuristic "if it's negative,
then it must not be a valid threadid".  This may leave something to be
desired.

MFC after:	1 month
Reviewed by:	davidxu
2005-11-01 14:48:23 +00:00
George V. Neville-Neil
a9a2bf999b Update kdump manual page with information on the dump format.
Add a table with the different types of operations traced.

Reviewed by:	Ruslan Ermilov
Approved by:	Robert Watson (mentor)
2005-01-28 12:17:33 +00:00
Ruslan Ermilov
7143dfdc43 Place a function prototype correctly.
Submitted by:	Divacky Roman
2004-09-19 14:54:35 +00:00
Max Laier
22ac3ead26 Commit userland part of pf version 3.5 from OpenBSD (OPENBSD_3_5_BASE). 2004-06-16 23:39:33 +00:00
Ruslan Ermilov
b388c4ac50 Bump document date on behalf of the -E option. 2004-05-18 20:42:36 +00:00
Poul-Henning Kamp
743f91743d Respect decimal flag when dumping USER type records. 2004-03-25 12:33:55 +00:00
Dag-Erling Smørgrav
e9c67f69d1 Use the -H option instead of the deprecated -follow predicate. 2004-02-25 21:45:41 +00:00
Peter Wemm
24b648094d First pass at attempted debrucification:
- sort the -E switch into the right place.
- add previously missing -p pid in usage (from the last few commits).
- add -E to usage.
- consistently use trfile in the man page.

I knew I shouldn't have touched the man page.  If I commit to a man page,
it just makes people suspicious. :-)
2003-12-08 22:47:59 +00:00
Peter Wemm
ec13191464 Add a -E (elapsed time) flag to kdump. This is like -T, except it is
relative to start of the dump.

Approved by:  re (scottl)
2003-12-07 01:06:32 +00:00
Peter Wemm
ec4beb5d8b Two enhancements for kdump.
1) add a "-p pid", which is rather useful for selecting a single pid in
a combined trace file (eg: with ktrace -i).
2) display binary genio data in a more precise format.
2003-06-03 01:44:43 +00:00
John Baldwin
b9609ab177 Add a default case that just outputs a new line for the case of an
unknown header type.
2003-03-13 18:58:39 +00:00
John Baldwin
db53f66b42 Teach kdump(8) to handle events marked with KTR_DROP. If a record has
KTR_DROP set in its header, then we output an extra line to stdout to
indicate that events were dropped between the previous record and this
record.  It is a bit trickier because we need to always notify the user
if events are dropped even if KTR_DROP is set on a record of a type that
we aren't interested in since kdump(8) doesn't know if the dropped events
were of the types that the user has requested.  To avoid outputting
multiple events dropped notices in between actual event logs, a state
variable is set whenever a drop is logged and cleared whenever an actual
record is output.

Requested by:	phk
2003-03-13 18:46:35 +00:00
Peter Wemm
4c42f0a174 Kill references to netns in comment about how it conflicted with netipx so
it was ignored all this time.
2003-03-05 19:19:08 +00:00
Bruce Evans
38c8f73ed0 Backed out revs 1.32-1.33. The problem has been fixed better by
depolluting <netinet/if_gre.h> in the !_KERNEL case.

Reviewed by:	sobomax
2002-09-16 10:06:02 +00:00
Maxim Sobolev
3b68178c89 Also add #include <netinet/in_systm.h> before <neinet/ip.h> to fix the
world.

Submitted by:	Brooks Davis <brooks@one-eyed-alien.net>
2002-09-07 12:20:47 +00:00
Maxim Sobolev
885564890b Add #include <netinet/ip.h> in attempt to fix the world. 2002-09-07 06:16:22 +00:00
David Malone
91fbb9c1db Improve WARNS situation for kdump:
1) Define _KERNEL while including sys/time.h to get some function prototypes.
2) Add prototypes and ANSIify definitions.
3) Constness changes.
4) Remove register keyword.
5) Actually return a sensible value from main.
6) Make fread_tail take a void * instead of a char *.
7) Avoid a signedness warning by casting to a size_t. Should be safe
   enough 'cos we also check for nonnegativity.
8) Be extra chummy with sigset_t rather than passing a struct to printf
   and pretending it is an int.
2002-07-28 16:05:07 +00:00
Ruslan Ermilov
95ad74d7cf Dependencies are delimited by space not tab. 2002-07-23 09:15:45 +00:00
David E. O'Brien
e026a48c34 Consistently use FBSDID 2002-06-30 05:25:07 +00:00
Mark Murray
a5a01740a0 Better warnings fixes. Use more sane argument types instead of bogus casts
Submitted by:	bde
2002-06-24 16:35:19 +00:00
Mark Murray
4c2fb88368 Better fix for style.
Suggested by:	ru (but modified a bit by markm)
2002-06-21 11:06:11 +00:00
Mark Murray
796851bb71 Fix warnings generated elsewhere. 2002-06-21 10:22:39 +00:00
Mark Murray
09b904c8e5 Style tidy-up. 2002-06-21 10:21:21 +00:00
Ruslan Ermilov
b2490f915f I now don't seem to be able to reproduce the -DNOCLEAN buildworld
breakage with ioctl.c.  The .depend file should track dependencies
just fine, and the worst we can have is to miss new ioctls.

But I still think it's a good idea to have -DNOCLEAN build produce
the same ioctl.c as it would without -DNOCLEAN.

Prodded for a long time by:	bde
2002-04-11 14:49:32 +00:00
David Malone
4a213d4ae9 Const the code. 2002-04-01 10:45:09 +00:00
Ruslan Ermilov
4de06a8fe6 Back out revision 1.13 (addition of ipfilter includes). A proper
fix for the relevant world breakage was later committed in revision
1.20, and this now breaks -DNO_IPFILTER world.
2002-03-25 19:12:05 +00:00
David E. O'Brien
37397b32c9 Really fix this work to work. While rev 1.24 did allow awk to run w/o
complaining; the resulting output was useless.
2001-11-01 02:16:10 +00:00
David E. O'Brien
c61f74b1f6 Utilize the property of 'echo' in that it removes \n from its input. 2001-11-01 01:50:38 +00:00
Dima Dorfman
f247324df7 Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
Ruslan Ermilov
625003720a mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 14:16:33 +00:00
Ruslan Ermilov
5e4440632e Backout rev. 1.22 as the change that caused problems was also backed out. 2001-05-24 08:47:57 +00:00
Ruslan Ermilov
a6882bcc15 Work around the side effect of src/include/Makefile,v 1.137 changes.
(The proper fix is to add missing #include directives.)
2001-05-21 17:06:26 +00:00
Ruslan Ermilov
207ef320ab Execute this script in a "C" locale environment.
Currently, cs_CZ.ISO_8859-2 locale's collation sequence is
broken, and this caused grep(1) to skip some include files.

Reported by:	Michal Mertl <mime@traveller.cz>
2001-04-06 14:40:26 +00:00
Ruslan Ermilov
5c9b69e3ac Traverse ${DESTDIR}/usr/include in lexographical order.
This should fix problems reported recently on -current.
2001-03-27 16:15:25 +00:00
Kenneth D. Merry
3393f8daa3 Rewrite of the CAM error recovery code.
Some of the major changes include:

	- The SCSI error handling portion of cam_periph_error() has
	  been broken out into a number of subfunctions to better
	  modularize the code that handles the hierarchy of SCSI errors.
	  As a result, the code is now much easier to read.

	- String handling and error printing has been significantly
	  revamped.  We now use sbufs to do string formatting instead
	  of using printfs (for the kernel) and snprintf/strncat (for
	  userland) as before.

	  There is a new catchall error printing routine,
	  cam_error_print() and its string-based counterpart,
	  cam_error_string() that allow the kernel and userland
	  applications to pass in a CCB and have errors printed out
	  properly, whether or not they're SCSI errors.  Among other
	  things, this helped eliminate a fair amount of duplicate code
	  in camcontrol.

	  We now print out more information than before, including
	  the CAM status and SCSI status and the error recovery action
	  taken to remedy the problem.

	- sbufs are now available in userland, via libsbuf.  This
	  change was necessary since most of the error printing code
	  is shared between libcam and the kernel.

	- A new transfer settings interface is included in this checkin.
	  This code is #ifdef'ed out, and is primarily intended to aid
	  discussion with HBA driver authors on the final form the
	  interface should take.  There is example code in the ahc(4)
	  driver that implements the HBA driver side of the new
	  interface.  The new transfer settings code won't be enabled
	  until we're ready to switch all HBA drivers over to the new
	  interface.

src/Makefile.inc1,
lib/Makefile:		Add libsbuf.  It must be built before libcam,
			since libcam uses sbuf routines.

libcam/Makefile:	libcam now depends on libsbuf.

libsbuf/Makefile:	Add a makefile for libsbuf.  This pulls in the
			sbuf sources from sys/kern.

bsd.libnames.mk:	Add LIBSBUF.

camcontrol/Makefile:	Add -lsbuf.  Since camcontrol is statically
			linked, we can't depend on the dynamic linker
			to pull in libsbuf.

camcontrol.c:		Use cam_error_print() instead of checking for
			CAM_SCSI_STATUS_ERROR on every failed CCB.

sbuf.9:			Change the prototypes for sbuf_cat() and
			sbuf_cpy() so that the source string is now a
			const char *.  This is more in line wth the
			standard system string functions, and helps
			eliminate warnings when dealing with a const
			source buffer.

			Fix a typo.

cam.c:			Add description strings for the various CAM
			error status values, as well as routines to
			look up those strings.

			Add new cam_error_string() and
			cam_error_print() routines for userland and
			the kernel.

cam.h:			Add a new CAM flag, CAM_RETRY_SELTO.

			Add enumerated types for the various options
			available with cam_error_print() and
			cam_error_string().

cam_ccb.h:		Add new transfer negotiation structures/types.

			Change inq_len in the ccb_getdev structure to
			be "reserved".  This field has never been
			filled in, and will be removed when we next
			bump the CAM version.

cam_debug.h:		Fix typo.

cam_periph.c:		Modularize cam_periph_error().  The SCSI error
			handling part of cam_periph_error() is now
			in camperiphscsistatuserror() and
			camperiphscsisenseerror().

			In cam_periph_lock(), increase the reference
			count on the periph while we wait for our lock
			attempt to succeed so that the periph won't go
			away while we're sleeping.

cam_xpt.c:		Add new transfer negotiation code.  (ifdefed
			out)

			Add a new function, xpt_path_string().  This
			is a string/sbuf analog to xpt_print_path().

scsi_all.c:		Revamp string handing and error printing code.
			We now use sbufs for much of the string
			formatting code.  More of that code is shared
			between userland the kernel.

scsi_all.h:		Get rid of SS_TURSTART, it wasn't terribly
			useful in the first place.

			Add a new error action, SS_REQSENSE.  (Send a
			request sense and then retry the command.)
			This is useful when the controller hasn't
			performed autosense for some reason.

			Change the default actions around a bit.

scsi_cd.c,
scsi_da.c,
scsi_pt.c,
scsi_ses.c:		SF_RETRY_SELTO -> CAM_RETRY_SELTO.  Selection
			timeouts shouldn't be covered by a sense flag.

scsi_pass.[ch]:		SF_RETRY_SELTO -> CAM_RETRY_SELTO.

			Get rid of the last vestiges of a read/write
			interface.

libkern/bsearch.c,
sys/libkern.h,
conf/files:		Add bsearch.c, which is needed for some of the
			new table lookup routines.

aic7xxx_freebsd.c:	Define AHC_NEW_TRAN_SETTINGS if
			CAM_NEW_TRAN_CODE is defined.

sbuf.h,
subr_sbuf.c:		Add the appropriate #ifdefs so sbufs can
			compile and run in userland.

			Change sbuf_printf() to use vsnprintf()
			instead of kvprintf(), which is only available
			in the kernel.

			Change the source string for sbuf_cpy() and
			sbuf_cat() to be a const char *.

			Add __BEGIN_DECLS and __END_DECLS around
			function prototypes since they're now exported
			to userland.

kdump/mkioctls:		Include stdio.h before cam.h since cam.h now
			includes a function with a FILE * argument.

Submitted by:	gibbs (mostly)
Reviewed by:	jdp, marcel (libsbuf makefile changes)
Reviewed by:	des (sbuf changes)
Reviewed by:	ken
2001-03-27 05:45:52 +00:00
Jordan K. Hubbard
d9f61e83b6 Fix ioctl.c creation to deal with the depend case more properly.
Submitted by:	Ruslan Ermilov <ru@sunbay.com>
2000-09-14 18:52:48 +00:00
Jordan K. Hubbard
6b61687292 remove .PHONY to avoid gratuitous rebuild of ioctl.c each time.
Approved by:	sef
2000-09-14 06:20:19 +00:00
Ruslan Ermilov
6bc4ee4976 Unbreak world build by adding the necessary <net/ethernet.h> include.
Submitted by:	Nickolay Dudorov <nnd@wint.itfs.nsk.su>
2000-08-02 07:37:44 +00:00
Ruslan Ermilov
ed7cf099c6 Make auto-generated ioctl.c to be always considered out of date
since it could potentially depend on any ${DESTDIR}/usr/include
preprocessor file.  This fixes the broken -DNOCLEAN world build
I experienced yesterday.
2000-08-01 10:21:13 +00:00
Ruslan Ermilov
a7e7621042 Fix an off-by-nine error when building a list of includes. 2000-08-01 08:15:06 +00:00
Jun-ichiro itojun Hagino
82b5a7cc73 more pre-requisite for new ipv6 ioctls 2000-07-04 16:26:47 +00:00
Peter Wemm
c447342094 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot).  This is consistant with the other
BSD's who made this change quite some time ago.  More commits to come.
1999-12-29 05:07:58 +00:00
Poul-Henning Kamp
b1637716a8 sys/dkbad.h is no more. 1999-12-08 19:47:08 +00:00
Marcel Moolenaar
e2366ecc70 Avoid hardcoding any paths and variables. The include directory must
now be specified on the command line. Accept a '-s' option which
controls whether a switch-statement is to be used instead of a series
of if-statements.

Replace cpp with gcc -E.

Discussed with: bde
1999-12-03 12:50:02 +00:00
Marcel Moolenaar
5d00a945b6 Make sure DESTDIR is set in the environment of mkioctls. This fixes
the breakage people have encountered at certain times (for example
when the altq_*.h files were removed).

$FreeBSD$ tag added.
1999-12-02 13:47:17 +00:00
Guido van Rooij
80d3cdcb56 Unbreak build world by readding the necessary ipfilter includes. 1999-11-24 15:38:35 +00:00
Doug Rabson
5736689c84 ioctlname() is actually passed a register_t.
Pointed out by: bde
1999-11-10 08:41:08 +00:00
Doug Rabson
647fc635a3 Fix a boatload of warnings in the generated code on the alpha. 1999-11-09 22:32:29 +00:00
Peter Wemm
4e05e22361 Ack, ip_mroute.h is not an ipfilter include. :-/
Submitted by:	Mike Heffner <spock@techfour.net>
1999-10-11 16:14:22 +00:00