From owner-p4-projects@FreeBSD.ORG Fri Jan 14 15:30:49 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4FE5E16A4DB; Fri, 14 Jan 2005 15:30:49 +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 1FE0C16A4D9 for ; Fri, 14 Jan 2005 15:30:49 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F339943D1F for ; Fri, 14 Jan 2005 15:30:47 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j0EFUlen084616 for ; Fri, 14 Jan 2005 15:30:47 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j0EFUk7L084613 for perforce@freebsd.org; Fri, 14 Jan 2005 15:30:46 GMT (envelope-from jhb@freebsd.org) Date: Fri, 14 Jan 2005 15:30:46 GMT Message-Id: <200501141530.j0EFUk7L084613@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 69006 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: Fri, 14 Jan 2005 15:30:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=69006 Change 69006 by jhb@jhb_slimer on 2005/01/14 15:30:06 IFC @69003 Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/prof_machdep.c#2 integrate .. //depot/projects/smpng/sys/amd64/isa/atpic.c#8 integrate .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_xscale.S#4 integrate .. //depot/projects/smpng/sys/arm/arm/machdep.c#8 integrate .. //depot/projects/smpng/sys/arm/arm/trap.c#7 integrate .. //depot/projects/smpng/sys/arm/arm/undefined.c#5 integrate .. //depot/projects/smpng/sys/arm/include/proc.h#3 integrate .. //depot/projects/smpng/sys/arm/include/trap.h#2 integrate .. //depot/projects/smpng/sys/boot/i386/boot0/boot0.S#5 integrate .. //depot/projects/smpng/sys/coda/coda_fbsd.c#12 integrate .. //depot/projects/smpng/sys/coda/coda_venus.c#11 integrate .. //depot/projects/smpng/sys/coda/coda_venus.h#5 integrate .. //depot/projects/smpng/sys/coda/coda_vfsops.c#21 integrate .. //depot/projects/smpng/sys/coda/coda_vnops.c#19 integrate .. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#43 integrate .. //depot/projects/smpng/sys/compat/linux/linux_file.c#25 integrate .. //depot/projects/smpng/sys/compat/linux/linux_getcwd.c#15 integrate .. //depot/projects/smpng/sys/compat/linux/linux_ioctl.c#36 integrate .. //depot/projects/smpng/sys/compat/linux/linux_ipc.c#17 integrate .. //depot/projects/smpng/sys/compat/linux/linux_mib.c#11 integrate .. //depot/projects/smpng/sys/compat/linux/linux_misc.c#51 integrate .. //depot/projects/smpng/sys/compat/linux/linux_signal.c#16 integrate .. //depot/projects/smpng/sys/compat/linux/linux_socket.c#21 integrate .. //depot/projects/smpng/sys/compat/linux/linux_stats.c#21 integrate .. //depot/projects/smpng/sys/compat/linux/linux_sysctl.c#11 integrate .. //depot/projects/smpng/sys/compat/linux/linux_uid16.c#20 integrate .. //depot/projects/smpng/sys/compat/pecoff/imgact_pecoff.c#24 integrate .. //depot/projects/smpng/sys/conf/NOTES#90 integrate .. //depot/projects/smpng/sys/conf/files#133 integrate .. //depot/projects/smpng/sys/conf/files.i386#74 integrate .. //depot/projects/smpng/sys/conf/files.pc98#68 integrate .. //depot/projects/smpng/sys/conf/newvers.sh#15 integrate .. //depot/projects/smpng/sys/conf/options#91 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/dsutils.c#17 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/nsinit.c#16 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/fil.c#16 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi.c#77 integrate .. //depot/projects/smpng/sys/dev/aha/aha.c#15 integrate .. //depot/projects/smpng/sys/dev/aha/aha_isa.c#12 integrate .. //depot/projects/smpng/sys/dev/amr/amr_cam.c#11 integrate .. //depot/projects/smpng/sys/dev/amr/amrvar.h#16 integrate .. //depot/projects/smpng/sys/dev/bfe/if_bfe.c#14 integrate .. //depot/projects/smpng/sys/dev/bktr/bktr_audio.c#6 integrate .. //depot/projects/smpng/sys/dev/bktr/bktr_card.c#9 integrate .. //depot/projects/smpng/sys/dev/bktr/bktr_core.c#16 integrate .. //depot/projects/smpng/sys/dev/bktr/bktr_i2c.c#7 integrate .. //depot/projects/smpng/sys/dev/bktr/bktr_os.c#23 integrate .. //depot/projects/smpng/sys/dev/bktr/bktr_reg.h#8 integrate .. //depot/projects/smpng/sys/dev/bktr/bktr_tuner.c#6 integrate .. //depot/projects/smpng/sys/dev/cardbus/cardbus.c#22 integrate .. //depot/projects/smpng/sys/dev/cardbus/cardbus_cis.c#22 integrate .. //depot/projects/smpng/sys/dev/cardbus/cardbus_cis.h#7 integrate .. //depot/projects/smpng/sys/dev/cardbus/cardbusreg.h#5 integrate .. //depot/projects/smpng/sys/dev/cardbus/cardbusvar.h#8 integrate .. //depot/projects/smpng/sys/dev/exca/exca.c#14 integrate .. //depot/projects/smpng/sys/dev/fdc/fdc_isa.c#8 integrate .. //depot/projects/smpng/sys/dev/fdc/fdc_pccard.c#5 integrate .. //depot/projects/smpng/sys/dev/fdc/fdcvar.h#6 integrate .. //depot/projects/smpng/sys/dev/fe/if_fe.c#17 integrate .. //depot/projects/smpng/sys/dev/fe/if_fe_cbus.c#6 integrate .. //depot/projects/smpng/sys/dev/fe/if_fe_isa.c#5 integrate .. //depot/projects/smpng/sys/dev/fe/if_fe_pccard.c#10 integrate .. //depot/projects/smpng/sys/dev/fe/if_fevar.h#4 integrate .. //depot/projects/smpng/sys/dev/matcd/creativeif.h#3 delete .. //depot/projects/smpng/sys/dev/matcd/matcd.c#7 delete .. //depot/projects/smpng/sys/dev/matcd/matcd_data.h#4 delete .. //depot/projects/smpng/sys/dev/matcd/matcd_isa.c#5 delete .. //depot/projects/smpng/sys/dev/matcd/matcddrv.h#3 delete .. //depot/projects/smpng/sys/dev/matcd/options.h#3 delete .. //depot/projects/smpng/sys/dev/mse/mse.c#3 integrate .. //depot/projects/smpng/sys/dev/mse/mse_cbus.c#3 integrate .. //depot/projects/smpng/sys/dev/mse/mse_isa.c#3 integrate .. //depot/projects/smpng/sys/dev/mse/msevar.h#3 integrate .. //depot/projects/smpng/sys/dev/pccard/pccarddevs#40 integrate .. //depot/projects/smpng/sys/dev/pccbb/pccbb.c#48 integrate .. //depot/projects/smpng/sys/dev/pccbb/pccbb_isa.c#3 integrate .. //depot/projects/smpng/sys/dev/pccbb/pccbb_pci.c#4 integrate .. //depot/projects/smpng/sys/dev/pccbb/pccbbdevid.h#15 integrate .. //depot/projects/smpng/sys/dev/pccbb/pccbbreg.h#10 integrate .. //depot/projects/smpng/sys/dev/pccbb/pccbbvar.h#15 integrate .. //depot/projects/smpng/sys/dev/puc/puc.c#20 integrate .. //depot/projects/smpng/sys/dev/puc/puc_pci.c#8 integrate .. //depot/projects/smpng/sys/dev/puc/pucvar.h#13 integrate .. //depot/projects/smpng/sys/dev/sio/sio_pci.c#15 integrate .. //depot/projects/smpng/sys/dev/usb/ehci.c#19 integrate .. //depot/projects/smpng/sys/dev/usb/ehcivar.h#6 integrate .. //depot/projects/smpng/sys/dev/usb/ohcivar.h#12 integrate .. //depot/projects/smpng/sys/dev/usb/uhcivar.h#12 integrate .. //depot/projects/smpng/sys/fs/deadfs/dead_vnops.c#12 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vfsops.c#20 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#39 integrate .. //depot/projects/smpng/sys/fs/fdescfs/fdesc_vnops.c#20 integrate .. //depot/projects/smpng/sys/fs/fifofs/fifo_vnops.c#33 integrate .. //depot/projects/smpng/sys/fs/hpfs/hpfs_vfsops.c#26 integrate .. //depot/projects/smpng/sys/fs/hpfs/hpfs_vnops.c#25 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_vfsops.c#38 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_vnops.c#30 integrate .. //depot/projects/smpng/sys/fs/ntfs/ntfs_vfsops.c#26 integrate .. //depot/projects/smpng/sys/fs/ntfs/ntfs_vnops.c#20 integrate .. //depot/projects/smpng/sys/fs/nullfs/null_vfsops.c#17 integrate .. //depot/projects/smpng/sys/fs/nullfs/null_vnops.c#18 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs.h#6 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_io.c#16 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_node.c#13 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_vnops.c#12 integrate .. //depot/projects/smpng/sys/fs/portalfs/portal_vnops.c#21 integrate .. //depot/projects/smpng/sys/fs/pseudofs/pseudofs_vncache.c#20 integrate .. //depot/projects/smpng/sys/fs/pseudofs/pseudofs_vnops.c#34 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs.h#10 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_io.c#20 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_node.c#18 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_vnops.c#29 integrate .. //depot/projects/smpng/sys/fs/udf/udf_vnops.c#23 integrate .. //depot/projects/smpng/sys/fs/umapfs/umap_vnops.c#10 integrate .. //depot/projects/smpng/sys/fs/unionfs/union_subr.c#22 integrate .. //depot/projects/smpng/sys/fs/unionfs/union_vnops.c#22 integrate .. //depot/projects/smpng/sys/geom/geom_vfs.c#2 integrate .. //depot/projects/smpng/sys/geom/mirror/g_mirror.c#17 integrate .. //depot/projects/smpng/sys/geom/raid3/g_raid3.c#14 integrate .. //depot/projects/smpng/sys/geom/shsec/g_shsec.c#1 branch .. //depot/projects/smpng/sys/geom/shsec/g_shsec.h#1 branch .. //depot/projects/smpng/sys/gnu/ext2fs/ext2_vfsops.c#41 integrate .. //depot/projects/smpng/sys/gnu/ext2fs/ext2_vnops.c#29 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC.hints#7 integrate .. //depot/projects/smpng/sys/i386/i386/mptable.c#13 integrate .. //depot/projects/smpng/sys/isa/psm.c#32 integrate .. //depot/projects/smpng/sys/isofs/cd9660/cd9660_vnops.c#21 integrate .. //depot/projects/smpng/sys/kern/kern_acct.c#35 integrate .. //depot/projects/smpng/sys/kern/kern_exit.c#91 integrate .. //depot/projects/smpng/sys/kern/kern_umtx.c#18 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#65 integrate .. //depot/projects/smpng/sys/kern/vfs_bio.c#72 integrate .. //depot/projects/smpng/sys/kern/vfs_default.c#34 integrate .. //depot/projects/smpng/sys/kern/vfs_init.c#20 integrate .. //depot/projects/smpng/sys/kern/vfs_lookup.c#22 integrate .. //depot/projects/smpng/sys/kern/vfs_mount.c#43 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#93 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#80 integrate .. //depot/projects/smpng/sys/kern/vfs_vnops.c#56 integrate .. //depot/projects/smpng/sys/kern/vnode_if.src#21 integrate .. //depot/projects/smpng/sys/modules/geom/Makefile#11 integrate .. //depot/projects/smpng/sys/modules/geom/geom_shsec/Makefile#1 branch .. //depot/projects/smpng/sys/net/bridge.c#33 integrate .. //depot/projects/smpng/sys/net/if.c#60 integrate .. //depot/projects/smpng/sys/net/if_ethersubr.c#55 integrate .. //depot/projects/smpng/sys/net/if_stf.c#29 integrate .. //depot/projects/smpng/sys/net/net_osdep.h#12 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/drivers/h4/ng_h4.c#10 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/drivers/h4/ng_h4_var.h#5 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h#4 integrate .. //depot/projects/smpng/sys/netgraph/ng_eiface.c#15 integrate .. //depot/projects/smpng/sys/netgraph/ng_ether.c#21 integrate .. //depot/projects/smpng/sys/netgraph/ng_iface.c#18 integrate .. //depot/projects/smpng/sys/netgraph/ng_l2tp.c#10 integrate .. //depot/projects/smpng/sys/netgraph/ng_lmi.c#7 integrate .. //depot/projects/smpng/sys/netgraph/ng_ppp.c#18 integrate .. //depot/projects/smpng/sys/netgraph/ng_pptpgre.c#16 integrate .. //depot/projects/smpng/sys/netgraph/ng_tty.c#16 integrate .. //depot/projects/smpng/sys/netinet/ip_fw.h#26 integrate .. //depot/projects/smpng/sys/netinet/ip_fw2.c#47 integrate .. //depot/projects/smpng/sys/netinet/ip_fw_pfil.c#9 integrate .. //depot/projects/smpng/sys/netinet/tcp_output.c#35 integrate .. //depot/projects/smpng/sys/netipx/ipx.c#11 integrate .. //depot/projects/smpng/sys/netipx/ipx_input.c#14 integrate .. //depot/projects/smpng/sys/netipx/ipx_pcb.c#17 integrate .. //depot/projects/smpng/sys/netipx/ipx_pcb.h#8 integrate .. //depot/projects/smpng/sys/netipx/ipx_usrreq.c#21 integrate .. //depot/projects/smpng/sys/netipx/spx_usrreq.c#20 integrate .. //depot/projects/smpng/sys/netkey/key.c#29 integrate .. //depot/projects/smpng/sys/nfs4client/nfs4_vfsops.c#12 integrate .. //depot/projects/smpng/sys/nfs4client/nfs4_vnops.c#12 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_bio.c#38 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_diskless.c#9 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vfsops.c#46 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#48 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_serv.c#39 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvsubs.c#24 integrate .. //depot/projects/smpng/sys/pc98/pc98/30line.h#3 integrate .. //depot/projects/smpng/sys/pc98/pc98/module.h#2 delete .. //depot/projects/smpng/sys/pc98/pc98/pc98gdc.c#13 integrate .. //depot/projects/smpng/sys/pci/if_sis.c#47 integrate .. //depot/projects/smpng/sys/pci/if_sisreg.h#14 integrate .. //depot/projects/smpng/sys/powerpc/powermac/uninorth.c#9 integrate .. //depot/projects/smpng/sys/sparc64/conf/NOTES#13 integrate .. //depot/projects/smpng/sys/sparc64/ebus/ebus.c#18 integrate .. //depot/projects/smpng/sys/sys/buf.h#35 integrate .. //depot/projects/smpng/sys/sys/bufobj.h#3 integrate .. //depot/projects/smpng/sys/sys/joystick.h#3 integrate .. //depot/projects/smpng/sys/sys/linker_set.h#7 integrate .. //depot/projects/smpng/sys/sys/mount.h#36 integrate .. //depot/projects/smpng/sys/sys/umtx.h#9 integrate .. //depot/projects/smpng/sys/sys/vnode.h#55 integrate .. //depot/projects/smpng/sys/tools/vnode_if.awk#10 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_balloc.c#15 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_inode.c#20 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_rawread.c#11 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_snapshot.c#44 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_softdep.c#38 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vfsops.c#65 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_extattr.c#31 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_lookup.c#20 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_vnops.c#45 integrate .. //depot/projects/smpng/sys/vm/uma_core.c#53 integrate .. //depot/projects/smpng/sys/vm/vm_object.c#65 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/prof_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.21 2004/05/26 09:43:37 bde Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.22 2005/01/11 03:44:17 imp Exp $"); #ifdef GUPROF #if 0 @@ -49,11 +49,7 @@ #include -#ifdef PC98 -#include -#else #include -#endif #include #ifdef GUPROF ==== //depot/projects/smpng/sys/amd64/isa/atpic.c#8 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.13 2004/08/16 23:12:30 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.14 2005/01/11 03:44:16 imp Exp $"); #include "opt_auto_eoi.h" #include "opt_isa.h" @@ -64,14 +64,9 @@ #define SLAVE 1 /* - * PC-98 machines wire the slave 8259A to pin 7 on the master PIC, and * PC-AT machines wire the slave PIC to pin 2 on the master PIC. */ -#ifdef PC98 -#define ICU_SLAVEID 7 -#else #define ICU_SLAVEID 2 -#endif /* * Determine the base master and slave modes not including auto EOI support. ==== //depot/projects/smpng/sys/arm/arm/cpufunc_asm_xscale.S#4 (text+ko) ==== @@ -73,7 +73,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc_asm_xscale.S,v 1.3 2005/01/05 21:58:47 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc_asm_xscale.S,v 1.4 2005/01/10 22:41:08 cognet Exp $"); /* * Size of the XScale core D-cache. @@ -171,13 +171,11 @@ /* * TLB functions * - * Note: We don't need to worry about issuing a CPWAIT after - * TLB operations, because we expect a pmap_update() to follow. */ ENTRY(xscale_tlb_flushID_SE) mcr p15, 0, r0, c8, c6, 1 /* flush D tlb single entry */ mcr p15, 0, r0, c8, c5, 1 /* flush I tlb single entry */ - RET + CPWAIT_AND_RETURN(r0) /* * Cache functions ==== //depot/projects/smpng/sys/arm/arm/machdep.c#8 (text+ko) ==== @@ -44,7 +44,7 @@ #include "opt_compat.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.8 2005/01/05 21:58:47 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.9 2005/01/10 22:43:16 cognet Exp $"); #include #include @@ -64,8 +64,10 @@ #include #include #include +#include #include #include +#include #include #include @@ -289,17 +291,68 @@ return (0); } + +static int +ptrace_read_int(struct thread *td, vm_offset_t addr, u_int32_t *v) +{ + struct iovec iov; + struct uio uio; + iov.iov_base = (caddr_t) v; + iov.iov_len = sizeof(u_int32_t); + uio.uio_iov = &iov; + uio.uio_iovcnt = 1; + uio.uio_offset = (off_t)addr; + uio.uio_resid = sizeof(u_int32_t); + uio.uio_segflg = UIO_SYSSPACE; + uio.uio_rw = UIO_READ; + uio.uio_td = td; + return proc_rwmem(td->td_proc, &uio); +} + +static int +ptrace_write_int(struct thread *td, vm_offset_t addr, u_int32_t v) +{ + struct iovec iov; + struct uio uio; + iov.iov_base = (caddr_t) &v; + iov.iov_len = sizeof(u_int32_t); + uio.uio_iov = &iov; + uio.uio_iovcnt = 1; + uio.uio_offset = (off_t)addr; + uio.uio_resid = sizeof(u_int32_t); + uio.uio_segflg = UIO_SYSSPACE; + uio.uio_rw = UIO_WRITE; + uio.uio_td = td; + return proc_rwmem(td->td_proc, &uio); +} + int ptrace_single_step(struct thread *td) { - /* XXX */ - return (0); + int error; + + KASSERT(td->td_md.md_ptrace_instr == 0, + ("Didn't clear single step")); + error = ptrace_read_int(td, td->td_frame->tf_pc + 4, + &td->td_md.md_ptrace_instr); + if (error) + return (error); + error = ptrace_write_int(td, td->td_frame->tf_pc + 4, + PTRACE_BREAKPOINT); + if (error) + td->td_md.md_ptrace_instr = 0; + td->td_md.md_ptrace_addr = td->td_frame->tf_pc + 4; + return (error); } int ptrace_clear_single_step(struct thread *td) { - /* XXX */ + if (td->td_md.md_ptrace_instr) { + ptrace_write_int(td, td->td_md.md_ptrace_addr, + td->td_md.md_ptrace_instr); + td->td_md.md_ptrace_instr = 0; + } return (0); } ==== //depot/projects/smpng/sys/arm/arm/trap.c#7 (text+ko) ==== @@ -82,7 +82,7 @@ #include "opt_ktrace.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.9 2005/01/05 21:58:47 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.10 2005/01/10 22:43:16 cognet Exp $"); #include @@ -100,6 +100,8 @@ #include #include #endif +#include +#include #include #include @@ -919,6 +921,8 @@ if (error == 0) { td->td_retval[0] = 0; td->td_retval[1] = 0; + STOPEVENT(p, S_SCE, (callp->sy_narg & SYF_ARGMASK)); + PTRACESTOP_SC(p, td, S_PT_SCE); error = (*callp->sy_call)(td, args); } switch (error) { @@ -952,6 +956,8 @@ CTR4(KTR_SYSC, "syscall exit thread %p pid %d proc %s code %d", td, td->td_proc->p_pid, td->td_proc->p_comm, code); + STOPEVENT(p, S_SCX, code); + PTRACESTOP_SC(p, td, S_PT_SCX); #ifdef KTRACE if (KTRPOINT(td, KTR_SYSRET)) ktrsysret(code, error, td->td_retval[0]); ==== //depot/projects/smpng/sys/arm/arm/undefined.c#5 (text+ko) ==== @@ -48,7 +48,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/undefined.c,v 1.6 2005/01/05 21:58:47 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/undefined.c,v 1.7 2005/01/10 22:43:16 cognet Exp $"); #include #include @@ -62,6 +62,7 @@ #include #include #include +#include #ifdef KDB #include #endif @@ -135,26 +136,17 @@ struct thread *td; td = (curthread == NULL) ? &thread0 : curthread; -#if 0 if (insn == GDB_BREAKPOINT || insn == GDB5_BREAKPOINT) { if (code == FAULT_USER) { - ksiginfo_t ksi; - - KSI_INIT_TRAP(&ksi); - ksi.ksi_signo = SIGTRAP; - ksi.ksi_code = TRAP_BRKPT; - ksi.ksi_addr = (u_int32_t *)addr; - ksi.ksi_trap = 0; - PROC_LOCK(td->td_proc); - trapsignal(td, &ksi); - PROC_UNLOCK(td->td_proc); + trapsignal(td, SIGTRAP, 0); return 0; } +#if 0 #ifdef KGDB return !kgdb_trap(T_BREAKPOINT, frame); #endif +#endif } -#endif return 1; } @@ -257,6 +249,11 @@ fault_code) == 0) break; + if (fault_code & FAULT_USER && fault_instruction == PTRACE_BREAKPOINT) { + ptrace_clear_single_step(td); + return; + } + if (uh == NULL && (fault_code & FAULT_USER)) { /* Fault has not been handled */ trapsignal(td, SIGILL, 0); @@ -272,7 +269,7 @@ return; } else panic("Undefined instruction in kernel.\n"); - } + } #ifdef FAST_FPE /* Optimised exit code */ ==== //depot/projects/smpng/sys/arm/include/proc.h#3 (text+ko) ==== @@ -32,7 +32,7 @@ * * from: @(#)proc.h 7.1 (Berkeley) 5/15/91 * from: FreeBSD: src/sys/i386/include/proc.h,v 1.11 2001/06/29 - * $FreeBSD: src/sys/arm/include/proc.h,v 1.2 2005/01/05 21:58:48 imp Exp $ + * $FreeBSD: src/sys/arm/include/proc.h,v 1.3 2005/01/10 22:43:16 cognet Exp $ */ #ifndef _MACHINE_PROC_H_ @@ -47,6 +47,8 @@ struct mdthread { register_t md_savecrit; + int md_ptrace_instr; + int md_ptrace_addr; }; struct mdproc { ==== //depot/projects/smpng/sys/arm/include/trap.h#2 (text+ko) ==== @@ -1,4 +1,10 @@ /* $NetBSD: trap.h,v 1.1 2001/02/23 03:48:19 ichiro Exp $ */ -/* $FreeBSD: src/sys/arm/include/trap.h,v 1.1 2004/05/14 11:46:44 cognet Exp $ */ +/* $FreeBSD: src/sys/arm/include/trap.h,v 1.2 2005/01/10 22:43:16 cognet Exp $ */ +#ifndef _MACHINE_TRAP_H_ +#define _MACHINE_TRAP_H_ +#define GDB_BREAKPOINT 0xe6000011 +#define GDB5_BREAKPOINT 0xe7ffdefe +#define PTRACE_BREAKPOINT 0xe7fffff0 #define KERNEL_BREAKPOINT 0xe7ffffff +#endif /* _MACHINE_TRAP_H_ */ ==== //depot/projects/smpng/sys/boot/i386/boot0/boot0.S#5 (text+ko) ==== @@ -13,7 +13,7 @@ * warranties of merchantability and fitness for a particular * purpose. * - * $FreeBSD: src/sys/boot/i386/boot0/boot0.S,v 1.12 2004/11/24 15:39:04 jhb Exp $ + * $FreeBSD: src/sys/boot/i386/boot0/boot0.S,v 1.13 2005/01/09 23:30:35 peadar Exp $ */ /* A 512-byte boot manager. */ @@ -104,10 +104,15 @@ * number should be used. If what the bios gives us is bad, use the '0' in * the block instead. */ - testb $0x20,_FLAGS(%bp) # Set number drive? + testb $0x20,_FLAGS(%bp) # Set drive number? jnz main.1 # Yes testb %dl,%dl # Drive number valid? js main.2 # Possibly (0x80 set) +/* + * Only update the boot-sector when there is a valid drive number or + * the drive number is set manually. + */ + orb $0x40,_FLAGS(%bp) # Disable updates main.1: movb _SETDRV(%bp),%dl # Drive number to use /* * Whatever we decided to use, now store it into the fake @@ -145,16 +150,14 @@ /* * Now scan the table of known types */ - movb $TBL1SZ,%cl # Number of entries - repne # Known - scasb # type? - jne main.4 # No + movb $TBL1SZ+1,%cl # Number of entries + repne # Locate + scasb # type /* - * If it matches get the matching element in the next array. If it doesn't, - * we are already pointing at its first element which points to a "?". + * Get the matching element in the next array. */ - addw $TBL1SZ,%di # Adjust -main.4: movb (%di),%cl # Partition + addw $TBL1SZ-1, %di # Adjust + movb (%di),%cl # Partition addw %cx,%di # description callw putx # Display it main.5: incw %dx # Next item @@ -305,7 +308,6 @@ /* * Load selected bootsector to the LOAD location in RAM. * If it fails to read or isn't marked bootable, treat it as a bad selection. - * XXX: What does %si carry? */ main.15: movw $LOAD,%bx # Address for read movb $0x2,%ah # Read sector @@ -313,10 +315,8 @@ jc main.10 # If error cmpw $MAGIC,0x1fe(%bx) # Bootable? jne main.10 # No - pushw %si # Save movw $crlf,%si # Leave some callw puts # space - popw %si # Restore jmp *%bx # Invoke bootstrap /* @@ -413,9 +413,9 @@ .byte 0x9f, 0xa5, 0xa6, 0xa9 /* * These are offsets that match the known names above and point to the strings - * that will be printed. + * that will be printed. os_misc will be used if the search of the above table + * runs over. */ - .byte os_misc-. # Unknown .byte os_dos-. # DOS .byte os_dos-. # DOS .byte os_dos-. # DOS @@ -427,6 +427,7 @@ .byte os_freebsd-. # FreeBSD .byte os_bsd-. # OpenBSD .byte os_bsd-. # NetBSD + .byte os_misc-. # Unknown /* * And here are the strings themselves. 0x80 or'd into a byte indicates * the end of the string. (not so great for Russians but...) ==== //depot/projects/smpng/sys/coda/coda_fbsd.c#12 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/coda/coda_fbsd.c,v 1.39 2005/01/05 23:35:00 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/coda/coda_fbsd.c,v 1.40 2005/01/13 12:25:18 phk Exp $"); #include #include @@ -140,9 +140,9 @@ return (error); } if (vp->v_type == VREG) { - error = vfs_object_create(vp, p, cred); + error = VOP_CREATEVOBJECT(vp, cred, p); if (error != 0) { - printf("coda_getpage: vfs_object_create() returns %d\n", error); + printf("coda_getpage: VOP_CREATEVOBJECT() returns %d\n", error); vput(vp); return(error); } ==== //depot/projects/smpng/sys/coda/coda_venus.c#11 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/coda/coda_venus.c,v 1.22 2005/01/05 23:35:00 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/coda/coda_venus.c,v 1.23 2005/01/11 07:36:18 phk Exp $"); #include #include @@ -395,14 +395,13 @@ } int -venus_fsync(void *mdp, CodaFid *fid, - struct ucred *cred, struct proc *p) +venus_fsync(void *mdp, CodaFid *fid, struct proc *p) { DECL_NO_OUT(coda_fsync); /* sets Isize & Osize */ ALLOC_NO_OUT(coda_fsync); /* sets inp & outp */ /* send the open to venus. */ - INIT_IN(&inp->ih, CODA_FSYNC, cred, p); + INIT_IN(&inp->ih, CODA_FSYNC, NOCRED, p); /* XXX: should be cached mount cred */ inp->Fid = *fid; error = coda_call(mdp, Isize, &Osize, (char *)inp); ==== //depot/projects/smpng/sys/coda/coda_venus.h#5 (text+ko) ==== @@ -27,7 +27,7 @@ * Mellon the rights to redistribute these changes without encumbrance. * * @(#) src/sys/coda/coda_venus.h,v 1.1.1.1 1998/08/29 21:14:52 rvb Exp $ - * $FreeBSD: src/sys/coda/coda_venus.h,v 1.7 2005/01/05 23:35:00 imp Exp $ + * $FreeBSD: src/sys/coda/coda_venus.h,v 1.8 2005/01/11 07:36:18 phk Exp $ * */ @@ -75,8 +75,7 @@ /*out*/ char **str, int *len); int -venus_fsync(void *mdp, CodaFid *fid, - struct ucred *cred, struct proc *p); +venus_fsync(void *mdp, CodaFid *fid, struct proc *p); int venus_lookup(void *mdp, CodaFid *fid, ==== //depot/projects/smpng/sys/coda/coda_vfsops.c#21 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/coda/coda_vfsops.c,v 1.56 2005/01/05 23:35:00 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/coda/coda_vfsops.c,v 1.57 2005/01/11 07:36:18 phk Exp $"); #include #include @@ -419,10 +419,9 @@ * Flush any pending I/O. */ int -coda_sync(vfsp, waitfor, cred, td) +coda_sync(vfsp, waitfor, td) struct mount *vfsp; int waitfor; - struct ucred *cred; struct thread *td; { ENTRY; ==== //depot/projects/smpng/sys/coda/coda_vnops.c#19 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/coda/coda_vnops.c,v 1.56 2005/01/05 23:35:00 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/coda/coda_vnops.c,v 1.58 2005/01/13 12:25:18 phk Exp $"); #include #include @@ -267,9 +267,9 @@ } /* grab (above) does this when it calls newvnode unless it's in the cache*/ if (vp->v_type == VREG) { - error = vfs_object_create(vp, td, cred); + error = VOP_CREATEVOBJECT(vp, cred, td); if (error != 0) { - printf("coda_open: vfs_object_create() returns %d\n", error); + printf("coda_open: VOP_CREATEVOBJECT() returns %d\n", error); vput(vp); } } @@ -432,9 +432,9 @@ return (error); } if (vp->v_type == VREG) { - error = vfs_object_create(vp, td, cred); + error = VOP_CREATEVOBJECT(vp, cred, td); if (error != 0) { - printf("coda_rdwr: vfs_object_create() returns %d\n", error); + printf("coda_rdwr: VOP_CREATEVOBJECT() returns %d\n", error); vput(vp); } } @@ -763,7 +763,6 @@ /* true args */ struct vnode *vp = ap->a_vp; struct cnode *cp = VTOC(vp); - struct ucred *cred = ap->a_cred; struct thread *td = ap->a_td; /* locals */ struct vnode *convp = cp->c_ovp; @@ -787,7 +786,7 @@ } if (convp) - VOP_FSYNC(convp, cred, MNT_WAIT, td); + VOP_FSYNC(convp, MNT_WAIT, td); /* * We see fsyncs with usecount == 1 then usecount == 0. @@ -815,7 +814,7 @@ /* needs research */ return 0; - error = venus_fsync(vtomi(vp), &cp->c_fid, cred, td->td_proc); + error = venus_fsync(vtomi(vp), &cp->c_fid, td->td_proc); CODADEBUG(CODA_FSYNC, myprintf(("in fsync result %d\n",error)); ); return(error); @@ -1564,9 +1563,9 @@ return (error); } if (vp->v_type == VREG) { - error = vfs_object_create(vp, td, cred); + error = VOP_CREATEVOBJECT(vp, cred, td); if (error != 0) { - printf("coda_readdir: vfs_object_create() returns %d\n", error); + printf("coda_readdir: VOP_CREATEVOBJECT() returns %d\n", error); vput(vp); } } ==== //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#43 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.87 2005/01/05 22:34:35 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.88 2005/01/14 04:44:56 obrien Exp $"); #include #include @@ -92,10 +92,10 @@ #endif /* __i386__ || __amd64__ */ #include "opt_compat.h" -#if !COMPAT_LINUX32 /* XXX */ +#ifdef COMPAT_LINUX32 /* XXX */ +#include +#else #include -#else -#include #endif #include #include ==== //depot/projects/smpng/sys/compat/linux/linux_file.c#25 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.89 2004/12/03 18:14:22 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.90 2005/01/14 04:44:56 obrien Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -56,12 +56,12 @@ #include "opt_compat.h" -#if !COMPAT_LINUX32 +#ifdef COMPAT_LINUX32 +#include +#include +#else #include #include -#else -#include -#include #endif #include @@ -833,7 +833,7 @@ l_off_t l_len; l_pid_t l_pid; } -#if __amd64__ && COMPAT_LINUX32 +#if defined(__amd64__) && defined(COMPAT_LINUX32) __packed #endif ; @@ -881,7 +881,7 @@ linux_flock->l_pid = (l_pid_t)bsd_flock->l_pid; } -#if defined(__i386__) || (defined(__amd64__) && COMPAT_LINUX32) +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) struct l_flock64 { l_short l_type; l_short l_whence; @@ -889,7 +889,7 @@ l_loff_t l_len; l_pid_t l_pid; } -#if __amd64__ && COMPAT_LINUX32 +#if defined(__amd64__) && defined(COMPAT_LINUX32) __packed #endif ; @@ -1064,7 +1064,7 @@ return (fcntl_common(td, &args64)); } -#if defined(__i386__) || (defined(__amd64__) && COMPAT_LINUX32) +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) int linux_fcntl64(struct thread *td, struct linux_fcntl64_args *args) { ==== //depot/projects/smpng/sys/compat/linux/linux_getcwd.c#15 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.15 2004/08/16 07:28:16 tjr Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.16 2005/01/14 04:44:56 obrien Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -61,12 +61,12 @@ #include "opt_compat.h" -#if !COMPAT_LINUX32 +#ifdef COMPAT_LINUX32 +#include +#include +#else #include #include -#else -#include -#include #endif #include ==== //depot/projects/smpng/sys/compat/linux/linux_ioctl.c#36 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.122 2005/01/05 22:34:35 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.123 2005/01/14 04:44:56 obrien Exp $"); #include #include @@ -58,12 +58,12 @@ #include "opt_compat.h" -#if !COMPAT_LINUX32 +#ifdef COMPAT_LINUX32 +#include +#include +#else #include #include -#else -#include -#include #endif #include @@ -2088,7 +2088,7 @@ static int linux_ifconf(struct thread *td, struct ifconf *uifc) { -#if COMPAT_LINUX32 +#ifdef COMPAT_LINUX32 struct l_ifconf ifc; #else struct ifconf ifc; ==== //depot/projects/smpng/sys/compat/linux/linux_ipc.c#17 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ipc.c,v 1.39 2004/08/16 07:28:16 tjr Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ipc.c,v 1.40 2005/01/14 04:44:56 obrien Exp $"); #include #include @@ -41,14 +41,14 @@ #include "opt_compat.h" -#if !COMPAT_LINUX32 +#ifdef COMPAT_LINUX32 +#include +#include +#include +#else #include #include #include -#else -#include -#include -#include #endif #include #include @@ -154,7 +154,7 @@ l_pid_t msg_lspid; /* pid of last msgsnd */ l_pid_t msg_lrpid; /* last receive pid */ } -#if __amd64__ && COMPAT_LINUX32 +#if defined(__amd64__) && defined(COMPAT_LINUX32) __packed #endif ; @@ -169,7 +169,7 @@ l_uintptr_t undo; l_ushort sem_nsems; } -#if __amd64__ && COMPAT_LINUX32 +#if defined(__amd64__) && defined(COMPAT_LINUX32) >>> TRUNCATED FOR MAIL (1000 lines) <<<