From owner-p4-projects@FreeBSD.ORG Sun Jun 27 02:08:30 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE1B916A4D0; Sun, 27 Jun 2004 02:08:29 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A306C16A4CE for ; Sun, 27 Jun 2004 02:08:29 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9BEB643D1D for ; Sun, 27 Jun 2004 02:08:29 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i5R28NmF084367 for ; Sun, 27 Jun 2004 02:08:23 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i5R28Nq2084364 for perforce@freebsd.org; Sun, 27 Jun 2004 02:08:23 GMT (envelope-from davidxu@freebsd.org) Date: Sun, 27 Jun 2004 02:08:23 GMT Message-Id: <200406270208.i5R28Nq2084364@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 55875 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jun 2004 02:08:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=55875 Change 55875 by davidxu@davidxu_alona on 2004/06/27 02:08:21 Change kse_switchin interface. Add syscall ttrace. Affected files ... .. //depot/projects/davidxu_ksedbg/src/sys/kern/init_sysent.c#2 edit .. //depot/projects/davidxu_ksedbg/src/sys/kern/syscalls.c#2 edit .. //depot/projects/davidxu_ksedbg/src/sys/kern/syscalls.master#2 edit .. //depot/projects/davidxu_ksedbg/src/sys/sys/syscall.h#2 edit .. //depot/projects/davidxu_ksedbg/src/sys/sys/syscall.mk#2 edit .. //depot/projects/davidxu_ksedbg/src/sys/sys/sysproto.h#2 edit Differences ... ==== //depot/projects/davidxu_ksedbg/src/sys/kern/init_sysent.c#2 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/init_sysent.c,v 1.172 2004/06/22 04:36:24 rwatson Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.173 2004/06/22 04:34:55 rwatson Exp */ @@ -472,4 +472,5 @@ { SYF_MPSAFE | AS(ksem_timedwait_args), (sy_call_t *)lkmressys }, /* 441 = ksem_timedwait */ { SYF_MPSAFE | AS(thr_suspend_args), (sy_call_t *)thr_suspend }, /* 442 = thr_suspend */ { SYF_MPSAFE | AS(thr_wake_args), (sy_call_t *)thr_wake }, /* 443 = thr_wake */ + { AS(ttrace_args), (sy_call_t *)ttrace }, /* 444 = ttrace */ }; ==== //depot/projects/davidxu_ksedbg/src/sys/kern/syscalls.c#2 (text+ko) ==== @@ -2,7 +2,7 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.158 2004/06/22 04:36:25 rwatson Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.173 2004/06/22 04:34:55 rwatson Exp */ @@ -451,4 +451,5 @@ "ksem_timedwait", /* 441 = ksem_timedwait */ "thr_suspend", /* 442 = thr_suspend */ "thr_wake", /* 443 = thr_wake */ + "ttrace", /* 444 = ttrace */ }; ==== //depot/projects/davidxu_ksedbg/src/sys/kern/syscalls.master#2 (text+ko) ==== @@ -626,10 +626,12 @@ int attrnamespace, void *data, size_t nbytes); } 439 STD { ssize_t extattr_list_link(const char *path, \ int attrnamespace, void *data, size_t nbytes); } -440 MSTD { int kse_switchin(const struct __mcontext *mcp, \ - long val, long *loc); } +440 MSTD { int kse_switchin(struct kse_thr_mailbox *tmbx, \ + int flags); } 441 MNOSTD { int ksem_timedwait(semid_t id, struct timespec *abstime); } 442 MSTD { int thr_suspend(const struct timespec *timeout); } 443 MSTD { int thr_wake(thr_id_t id); } +444 STD { int ttrace(int req, pid_t pid, lwpid_t tid, \ + caddr_t addr, int data); } ; Please copy any additions and changes to the following compatability tables: ; sys/compat/freebsd32/syscalls.master ==== //depot/projects/davidxu_ksedbg/src/sys/sys/syscall.h#2 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/syscall.h,v 1.156 2004/06/22 04:36:25 rwatson Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.173 2004/06/22 04:34:55 rwatson Exp */ @@ -356,4 +356,5 @@ #define SYS_ksem_timedwait 441 #define SYS_thr_suspend 442 #define SYS_thr_wake 443 -#define SYS_MAXSYSCALL 444 +#define SYS_ttrace 444 +#define SYS_MAXSYSCALL 445 ==== //depot/projects/davidxu_ksedbg/src/sys/sys/syscall.mk#2 (text+ko) ==== @@ -1,6 +1,6 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. -# $FreeBSD: src/sys/sys/syscall.mk,v 1.111 2004/06/22 04:36:25 rwatson Exp $ +# $FreeBSD$ # created from FreeBSD: src/sys/kern/syscalls.master,v 1.173 2004/06/22 04:34:55 rwatson Exp MIASM = \ syscall.o \ @@ -297,4 +297,5 @@ kse_switchin.o \ ksem_timedwait.o \ thr_suspend.o \ - thr_wake.o + thr_wake.o \ + ttrace.o ==== //depot/projects/davidxu_ksedbg/src/sys/sys/sysproto.h#2 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/sysproto.h,v 1.155 2004/06/22 04:36:25 rwatson Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.173 2004/06/22 04:34:55 rwatson Exp */ @@ -1289,9 +1289,8 @@ char nbytes_l_[PADL_(size_t)]; size_t nbytes; char nbytes_r_[PADR_(size_t)]; }; struct kse_switchin_args { - char mcp_l_[PADL_(const struct __mcontext *)]; const struct __mcontext * mcp; char mcp_r_[PADR_(const struct __mcontext *)]; - char val_l_[PADL_(long)]; long val; char val_r_[PADR_(long)]; - char loc_l_[PADL_(long *)]; long * loc; char loc_r_[PADR_(long *)]; + char tmbx_l_[PADL_(struct kse_thr_mailbox *)]; struct kse_thr_mailbox * tmbx; char tmbx_r_[PADR_(struct kse_thr_mailbox *)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; }; struct ksem_timedwait_args { char id_l_[PADL_(semid_t)]; semid_t id; char id_r_[PADR_(semid_t)]; @@ -1303,6 +1302,13 @@ struct thr_wake_args { char id_l_[PADL_(thr_id_t)]; thr_id_t id; char id_r_[PADR_(thr_id_t)]; }; +struct ttrace_args { + char req_l_[PADL_(int)]; int req; char req_r_[PADR_(int)]; + char pid_l_[PADL_(pid_t)]; pid_t pid; char pid_r_[PADR_(pid_t)]; + char tid_l_[PADL_(lwpid_t)]; lwpid_t tid; char tid_r_[PADR_(lwpid_t)]; + char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; + char data_l_[PADL_(int)]; int data; char data_r_[PADR_(int)]; +}; int nosys(struct thread *, struct nosys_args *); void sys_exit(struct thread *, struct sys_exit_args *); int fork(struct thread *, struct fork_args *); @@ -1597,6 +1603,7 @@ int ksem_timedwait(struct thread *, struct ksem_timedwait_args *); int thr_suspend(struct thread *, struct thr_suspend_args *); int thr_wake(struct thread *, struct thr_wake_args *); +int ttrace(struct thread *, struct ttrace_args *); #ifdef COMPAT_43