add support for KTR_USER records

This commit is contained in:
jdolecek 2000-12-17 16:09:40 +00:00
parent d2a0c208d5
commit 33150dda73
3 changed files with 28 additions and 6 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: kdump.c,v 1.31 2000/11/13 21:43:12 jdolecek Exp $ */ /* $NetBSD: kdump.c,v 1.32 2000/12/17 16:09:40 jdolecek Exp $ */
/*- /*-
* Copyright (c) 1988, 1993 * Copyright (c) 1988, 1993
@ -43,7 +43,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 1993\n\
#if 0 #if 0
static char sccsid[] = "@(#)kdump.c 8.4 (Berkeley) 4/28/95"; static char sccsid[] = "@(#)kdump.c 8.4 (Berkeley) 4/28/95";
#else #else
__RCSID("$NetBSD: kdump.c,v 1.31 2000/11/13 21:43:12 jdolecek Exp $"); __RCSID("$NetBSD: kdump.c,v 1.32 2000/12/17 16:09:40 jdolecek Exp $");
#endif #endif
#endif /* not lint */ #endif /* not lint */
@ -104,6 +104,7 @@ void ktremul __P((char *, int, int));
void ktrgenio __P((struct ktr_genio *, int)); void ktrgenio __P((struct ktr_genio *, int));
void ktrpsig __P((struct ktr_psig *)); void ktrpsig __P((struct ktr_psig *));
void ktrcsw __P((struct ktr_csw *)); void ktrcsw __P((struct ktr_csw *));
void ktruser __P((char *, int));
void usage __P((void)); void usage __P((void));
void eprint __P((int)); void eprint __P((int));
char *ioctlname __P((long)); char *ioctlname __P((long));
@ -206,6 +207,9 @@ main(argc, argv)
case KTR_EMUL: case KTR_EMUL:
ktremul(m, ktrlen, size); ktremul(m, ktrlen, size);
break; break;
case KTR_USER:
ktruser(m, ktrlen);
break;
} }
if (tail) if (tail)
(void)fflush(stdout); (void)fflush(stdout);
@ -257,6 +261,9 @@ dumpheader(kth)
case KTR_EMUL: case KTR_EMUL:
type = "EMUL"; type = "EMUL";
break; break;
case KTR_USER:
type = "USER";
break;
default: default:
(void)sprintf(unknown, "UNKNOWN(%d)", kth->ktr_type); (void)sprintf(unknown, "UNKNOWN(%d)", kth->ktr_type);
type = unknown; type = unknown;
@ -559,6 +566,18 @@ ktrcsw(cs)
cs->user ? "user" : "kernel"); cs->user ? "user" : "kernel");
} }
void
ktruser(name, len)
char *name;
int len;
{
int i;
printf("\"%d, ", len);
for(i=0; i < len; i++)
printf("%x", name[i]);
printf("\"\n");
}
void void
usage() usage()
{ {

View File

@ -1,4 +1,4 @@
/* $NetBSD: ktrace.h,v 1.9 2000/11/13 21:35:38 jdolecek Exp $ */ /* $NetBSD: ktrace.h,v 1.10 2000/12/17 16:09:40 jdolecek Exp $ */
/*- /*-
* Copyright (c) 1988, 1993 * Copyright (c) 1988, 1993
@ -36,7 +36,7 @@
*/ */
#define DEF_POINTS (KTRFAC_SYSCALL | KTRFAC_SYSRET | KTRFAC_NAMEI | \ #define DEF_POINTS (KTRFAC_SYSCALL | KTRFAC_SYSRET | KTRFAC_NAMEI | \
KTRFAC_GENIO | KTRFAC_PSIG | KTRFAC_EMUL) KTRFAC_GENIO | KTRFAC_PSIG | KTRFAC_EMUL | KTRFAC_USER)
#define ALL_POINTS (DEF_POINTS | KTRFAC_CSW) #define ALL_POINTS (DEF_POINTS | KTRFAC_CSW)

View File

@ -1,4 +1,4 @@
/* $NetBSD: subr.c,v 1.7 1997/07/23 05:40:20 mikel Exp $ */ /* $NetBSD: subr.c,v 1.8 2000/12/17 16:09:41 jdolecek Exp $ */
/*- /*-
* Copyright (c) 1988, 1993 * Copyright (c) 1988, 1993
@ -38,7 +38,7 @@
#if 0 #if 0
static char sccsid[] = "@(#)subr.c 8.2 (Berkeley) 4/28/95"; static char sccsid[] = "@(#)subr.c 8.2 (Berkeley) 4/28/95";
#else #else
__RCSID("$NetBSD: subr.c,v 1.7 1997/07/23 05:40:20 mikel Exp $"); __RCSID("$NetBSD: subr.c,v 1.8 2000/12/17 16:09:41 jdolecek Exp $");
#endif #endif
#endif /* not lint */ #endif /* not lint */
@ -76,6 +76,9 @@ getpoints(s)
case 's': case 's':
facs |= KTRFAC_PSIG; facs |= KTRFAC_PSIG;
break; break;
case 'u':
facs |= KTRFAC_USER;
break;
case 'w': case 'w':
facs |= KTRFAC_CSW; facs |= KTRFAC_CSW;
break; break;