From owner-p4-projects@FreeBSD.ORG Sun Feb 20 01:37:06 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D44B116A4D0; Sun, 20 Feb 2005 01:37:04 +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 8AE4A16A4CE for ; Sun, 20 Feb 2005 01:37:04 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0F0AA43D3F for ; Sun, 20 Feb 2005 01:37:04 +0000 (GMT) (envelope-from anholt@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 j1K1b4IF082339 for ; Sun, 20 Feb 2005 01:37:04 GMT (envelope-from anholt@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1K1b3f9082336 for perforce@freebsd.org; Sun, 20 Feb 2005 01:37:03 GMT (envelope-from anholt@freebsd.org) Date: Sun, 20 Feb 2005 01:37:03 GMT Message-Id: <200502200137.j1K1b3f9082336@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anholt@freebsd.org using -f From: Eric Anholt To: Perforce Change Reviews Subject: PERFORCE change 71353 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, 20 Feb 2005 01:37:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=71353 Change 71353 by anholt@anholt_leguin on 2005/02/20 01:36:40 IFC @71352 to get uipc_syscalls.c fix. Affected files ... .. //depot/projects/drm-merge/sys/alpha/include/exec.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/exec.h#2 integrate .. //depot/projects/drm-merge/sys/arm/arm/cpufunc_asm.S#2 integrate .. //depot/projects/drm-merge/sys/arm/include/exec.h#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_perf.c#2 integrate .. //depot/projects/drm-merge/sys/geom/geom_vfs.c#2 integrate .. //depot/projects/drm-merge/sys/i386/include/_types.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/exec.h#2 integrate .. //depot/projects/drm-merge/sys/ia64/include/exec.h#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_cpu.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_module.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_sig.c#2 integrate .. //depot/projects/drm-merge/sys/kern/uipc_syscalls.c#2 integrate .. //depot/projects/drm-merge/sys/kern/vfs_subr.c#2 integrate .. //depot/projects/drm-merge/sys/net/if_ethersubr.c#2 integrate .. //depot/projects/drm-merge/sys/net/if_vlan.c#2 integrate .. //depot/projects/drm-merge/sys/net/if_vlan_var.h#2 integrate .. //depot/projects/drm-merge/sys/netgraph/ng_ksocket.c#2 integrate .. //depot/projects/drm-merge/sys/nfsclient/nfs_socket.c#2 integrate .. //depot/projects/drm-merge/sys/nfsclient/nfs_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/powerpc/include/exec.h#2 integrate .. //depot/projects/drm-merge/sys/sys/bufobj.h#2 integrate .. //depot/projects/drm-merge/sys/sys/cpu.h#2 integrate .. //depot/projects/drm-merge/sys/sys/mbuf.h#2 integrate .. //depot/projects/drm-merge/sys/sys/param.h#2 integrate .. //depot/projects/drm-merge/sys/ufs/ffs/ffs_snapshot.c#2 integrate .. //depot/projects/drm-merge/sys/ufs/ffs/ffs_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/ufs/ufs/ufs_inode.c#2 integrate .. //depot/projects/drm-merge/sys/vm/vnode_pager.c#2 integrate Differences ... ==== //depot/projects/drm-merge/sys/alpha/include/exec.h#2 (text+ko) ==== @@ -29,7 +29,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/alpha/include/exec.h,v 1.3 2005/01/05 20:05:50 imp Exp $ + * $FreeBSD: src/sys/alpha/include/exec.h,v 1.4 2005/02/19 21:16:48 ru Exp $ */ -#define __LDPGSZ 8192 +#ifndef _MACHINE_EXEC_H_ +#define _MACHINE_EXEC_H_ + +#define __LDPGSZ 8192 + +#endif /* !_MACHINE_EXEC_H_ */ ==== //depot/projects/drm-merge/sys/amd64/include/exec.h#2 (text+ko) ==== @@ -27,12 +27,12 @@ * SUCH DAMAGE. * * @(#)exec.h 8.1 (Berkeley) 6/11/93 - * $FreeBSD: src/sys/amd64/include/exec.h,v 1.9 2004/04/05 21:25:51 imp Exp $ + * $FreeBSD: src/sys/amd64/include/exec.h,v 1.10 2005/02/19 21:16:48 ru Exp $ */ -#ifndef _EXEC_H_ -#define _EXEC_H_ +#ifndef _MACHINE_EXEC_H_ +#define _MACHINE_EXEC_H_ -#define __LDPGSZ 4096 +#define __LDPGSZ 4096 -#endif /* !_EXEC_H_ */ +#endif /* !_MACHINE_EXEC_H_ */ ==== //depot/projects/drm-merge/sys/arm/arm/cpufunc_asm.S#2 (text+ko) ==== @@ -43,7 +43,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc_asm.S,v 1.3 2005/01/05 21:58:47 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc_asm.S,v 1.5 2005/02/20 01:26:01 cognet Exp $"); .text .align 0 @@ -121,9 +121,7 @@ teq r2, r3 /* Only write if there is a change */ mcrne p15, 0, r2, c1, c0, 0 /* Write new control register */ - #if 0 mov r0, r3 /* Return old value */ - #endif RET .Lglou: ==== //depot/projects/drm-merge/sys/arm/include/exec.h#2 (text+ko) ==== @@ -26,12 +26,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/exec.h,v 1.2 2005/01/05 21:58:48 imp Exp $ + * $FreeBSD: src/sys/arm/include/exec.h,v 1.3 2005/02/19 21:16:48 ru Exp $ */ -#ifndef _EXEC_H_ -#define _EXEC_H_ +#ifndef _MACHINE_EXEC_H_ +#define _MACHINE_EXEC_H_ -#define __LDPGSZ 4096 +#define __LDPGSZ 4096 -#endif /* !_EXEC_H_ */ +#endif /* !_MACHINE_EXEC_H_ */ ==== //depot/projects/drm-merge/sys/dev/acpica/acpi_perf.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_perf.c,v 1.9 2005/02/18 00:23:36 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_perf.c,v 1.10 2005/02/19 06:13:26 njl Exp $"); #include "opt_acpi.h" #include @@ -64,7 +64,11 @@ uint32_t sts_val; }; -#define MAX_PX_STATES 16 +/* Offsets in struct cf_setting array for storing driver-specific values. */ +#define PX_SPEC_CONTROL 0 +#define PX_SPEC_STATUS 1 + +#define MAX_PX_STATES 16 struct acpi_perf_softc { device_t dev; @@ -389,6 +393,8 @@ set->lat = px->trans_lat; set->volts = CPUFREQ_VAL_UNKNOWN; set->dev = dev; + set->spec[PX_SPEC_CONTROL] = px->ctrl_val; + set->spec[PX_SPEC_STATUS] = px->sts_val; return (0); } ==== //depot/projects/drm-merge/sys/geom/geom_vfs.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/geom_vfs.c,v 1.8 2005/02/10 12:10:35 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/geom_vfs.c,v 1.9 2005/02/19 11:44:56 phk Exp $"); #include #include @@ -153,6 +153,7 @@ bo->bo_ops = g_vfs_bufops; bo->bo_private = cp; bo->bo_bsize = pp->sectorsize; + gp->softc = bo; return (error); } @@ -161,9 +162,12 @@ g_vfs_close(struct g_consumer *cp, struct thread *td) { struct g_geom *gp; + struct bufobj *bo; g_topology_assert(); gp = cp->geom; + bo = gp->softc; + bufobj_invalbuf(bo, V_SAVE, td, 0, 0); g_wither_geom_close(gp, ENXIO); } ==== //depot/projects/drm-merge/sys/i386/include/_types.h#2 (text+ko) ==== @@ -33,7 +33,7 @@ * * From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 * From: @(#)types.h 8.3 (Berkeley) 1/5/94 - * $FreeBSD: src/sys/i386/include/_types.h,v 1.9 2004/03/20 20:41:40 marcel Exp $ + * $FreeBSD: src/sys/i386/include/_types.h,v 1.10 2005/02/19 13:46:40 marius Exp $ */ #ifndef _MACHINE__TYPES_H_ @@ -119,7 +119,7 @@ #else typedef char * __va_list; #endif /* ! (__GNUC__ post 2.95 || __INTEL_COMPILER) */ -#if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(__GNUC_VA_LIST) && !defined(__NO_GNUC_VA_LIST) +#if defined(__GNUC__) && !defined(__GNUC_VA_LIST) && !defined(__NO_GNUC_VA_LIST) #define __GNUC_VA_LIST typedef __va_list __gnuc_va_list; /* compatibility w/GNU headers*/ #endif ==== //depot/projects/drm-merge/sys/i386/include/exec.h#2 (text+ko) ==== @@ -27,12 +27,12 @@ * SUCH DAMAGE. * * @(#)exec.h 8.1 (Berkeley) 6/11/93 - * $FreeBSD: src/sys/i386/include/exec.h,v 1.9 2004/04/07 20:46:05 imp Exp $ + * $FreeBSD: src/sys/i386/include/exec.h,v 1.10 2005/02/19 21:16:48 ru Exp $ */ -#ifndef _EXEC_H_ -#define _EXEC_H_ +#ifndef _MACHINE_EXEC_H_ +#define _MACHINE_EXEC_H_ -#define __LDPGSZ 4096 +#define __LDPGSZ 4096 -#endif /* !_EXEC_H_ */ +#endif /* !_MACHINE_EXEC_H_ */ ==== //depot/projects/drm-merge/sys/ia64/include/exec.h#2 (text+ko) ==== @@ -29,7 +29,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/include/exec.h,v 1.2 2005/01/06 22:18:23 imp Exp $ + * $FreeBSD: src/sys/ia64/include/exec.h,v 1.3 2005/02/19 21:16:48 ru Exp $ */ -#define __LDPGSZ 4096 +#ifndef _MACHINE_EXEC_H_ +#define _MACHINE_EXEC_H_ + +#define __LDPGSZ 4096 + +#endif /* !_MACHINE_EXEC_H_ */ ==== //depot/projects/drm-merge/sys/kern/kern_cpu.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_cpu.c,v 1.8 2005/02/18 00:23:36 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_cpu.c,v 1.9 2005/02/20 00:59:15 njl Exp $"); #include #include @@ -91,6 +91,7 @@ struct cf_level *dup, struct cf_setting *set); static int cpufreq_curr_sysctl(SYSCTL_HANDLER_ARGS); static int cpufreq_levels_sysctl(SYSCTL_HANDLER_ARGS); +static int cpufreq_settings_sysctl(SYSCTL_HANDLER_ARGS); static device_method_t cpufreq_methods[] = { DEVMETHOD(device_probe, bus_generic_probe), @@ -745,12 +746,52 @@ return (error); } +static int +cpufreq_settings_sysctl(SYSCTL_HANDLER_ARGS) +{ + device_t dev; + struct cf_setting *sets; + struct sbuf sb; + int error, i, set_count; + + dev = oidp->oid_arg1; + sbuf_new(&sb, NULL, 128, SBUF_AUTOEXTEND); + + /* Get settings from the device and generate the output string. */ + set_count = MAX_SETTINGS; + sets = malloc(set_count * sizeof(*sets), M_TEMP, M_NOWAIT); + if (sets == NULL) + return (ENOMEM); + error = CPUFREQ_DRV_SETTINGS(dev, sets, &set_count); + if (error) + goto out; + if (set_count) { + for (i = 0; i < set_count; i++) + sbuf_printf(&sb, "%d/%d ", sets[i].freq, sets[i].power); + } else + sbuf_cpy(&sb, "0"); + sbuf_trim(&sb); + sbuf_finish(&sb); + error = sysctl_handle_string(oidp, sbuf_data(&sb), sbuf_len(&sb), req); + +out: + free(sets, M_TEMP); + sbuf_delete(&sb); + return (error); +} + int cpufreq_register(device_t dev) { struct cpufreq_softc *sc; device_t cf_dev, cpu_dev; + /* Add a sysctl to get each driver's settings separately. */ + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), + OID_AUTO, "freq_settings", CTLTYPE_STRING | CTLFLAG_RD, dev, 0, + cpufreq_settings_sysctl, "A", "CPU frequency driver settings"); + /* * Add only one cpufreq device to each CPU. Currently, all CPUs * must offer the same levels and be switched at the same time. ==== //depot/projects/drm-merge/sys/kern/kern_module.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ #include "opt_compat.h" #include -__FBSDID("$FreeBSD: src/sys/kern/kern_module.c,v 1.47 2005/01/19 17:53:06 ps Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_module.c,v 1.48 2005/02/18 22:14:40 ps Exp $"); #include #include @@ -457,10 +457,10 @@ id = mod->id; refs = mod->refs; name = mod->name; - CP(data32, mod->data, intval); - CP(data32, mod->data, uintval); - CP(data32, mod->data, longval); - CP(data32, mod->data, ulongval); + CP(mod->data, data32, intval); + CP(mod->data, data32, uintval); + CP(mod->data, data32, longval); + CP(mod->data, data32, ulongval); MOD_SUNLOCK; stat32 = uap->stat; ==== //depot/projects/drm-merge/sys/kern/kern_sig.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.300 2005/02/13 17:37:18 sobomax Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.301 2005/02/19 06:05:49 davidxu Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -846,10 +846,9 @@ struct sigacts *ps; sigset_t savedmask, sigset; struct proc *p; - int error; - int sig; - int hz; - int i; + int error, sig, hz, i, timevalid = 0; + struct timespec rts, ets, ts; + struct timeval tv; p = td->td_proc; error = 0; @@ -859,6 +858,14 @@ PROC_LOCK(p); ps = p->p_sigacts; savedmask = td->td_sigmask; + if (timeout) { + if (timeout->tv_nsec >= 0 && timeout->tv_nsec < 1000000000) { + timevalid = 1; + getnanouptime(&rts); + ets = rts; + timespecadd(&ets, timeout); + } + } again: for (i = 1; i <= _SIG_MAXSIG; ++i) { @@ -909,17 +916,18 @@ * signals. */ if (timeout) { - struct timeval tv; - - if (timeout->tv_nsec < 0 || timeout->tv_nsec > 1000000000) { + if (!timevalid) { error = EINVAL; goto out; } - if (timeout->tv_sec == 0 && timeout->tv_nsec == 0) { + getnanouptime(&rts); + if (timespeccmp(&rts, &ets, >=)) { error = EAGAIN; goto out; } - TIMESPEC_TO_TIMEVAL(&tv, timeout); + ts = ets; + timespecsub(&ts, &rts); + TIMESPEC_TO_TIMEVAL(&tv, &ts); hz = tvtohz(&tv); } else hz = 0; @@ -927,8 +935,15 @@ td->td_waitset = &waitset; error = msleep(&ps, &p->p_mtx, PPAUSE|PCATCH, "sigwait", hz); td->td_waitset = NULL; - if (error == 0) /* surplus wakeup ? */ - error = EINTR; + if (timeout) { + if (error == ERESTART) { + /* timeout can not be restarted. */ + error = EINTR; + } else if (error == EAGAIN) { + /* will calculate timeout by ourself. */ + error = 0; + } + } goto again; out: @@ -946,6 +961,7 @@ _STOPEVENT(p, S_SIG, sig); SIGDELSET(td->td_siglist, sig); + bzero(info, sizeof(*info)); info->si_signo = sig; info->si_code = 0; } ==== //depot/projects/drm-merge/sys/kern/uipc_syscalls.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.215 2005/02/18 19:37:36 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.216 2005/02/18 21:39:55 rwatson Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -501,7 +501,7 @@ { struct socket *so; struct file *fp; - int error, s; + int error; int interrupted = 0; NET_LOCK_GIANT(); ==== //depot/projects/drm-merge/sys/kern/vfs_subr.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.582 2005/02/18 11:13:56 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.583 2005/02/19 11:44:56 phk Exp $"); #include "opt_ddb.h" #include "opt_mac.h" @@ -84,7 +84,7 @@ static void delmntque(struct vnode *vp); static void insmntque(struct vnode *vp, struct mount *mp); static void vlruvp(struct vnode *vp); -static int flushbuflist(struct bufv *bufv, int flags, struct vnode *vp, +static int flushbuflist(struct bufv *bufv, int flags, struct bufobj *bo, int slpflag, int slptimeo); static void syncer_shutdown(void *arg, int howto); static int vtryrecycle(struct vnode *vp); @@ -927,22 +927,14 @@ } /* - * Flush out and invalidate all buffers associated with a vnode. + * Flush out and invalidate all buffers associated with a bufobj * Called with the underlying object locked. */ int -vinvalbuf(vp, flags, td, slpflag, slptimeo) - struct vnode *vp; - int flags; - struct thread *td; - int slpflag, slptimeo; +bufobj_invalbuf(struct bufobj *bo, int flags, struct thread *td, int slpflag, int slptimeo) { int error; - struct bufobj *bo; - ASSERT_VOP_LOCKED(vp, "vinvalbuf"); - - bo = &vp->v_bufobj; BO_LOCK(bo); if (flags & V_SAVE) { error = bufobj_wwait(bo, slpflag, slptimeo); @@ -970,10 +962,10 @@ */ do { error = flushbuflist(&bo->bo_clean, - flags, vp, slpflag, slptimeo); + flags, bo, slpflag, slptimeo); if (error == 0) error = flushbuflist(&bo->bo_dirty, - flags, vp, slpflag, slptimeo); + flags, bo, slpflag, slptimeo); if (error != 0 && error != EAGAIN) { BO_UNLOCK(bo); return (error); @@ -990,7 +982,7 @@ BO_UNLOCK(bo); if (bo->bo_object != NULL) { VM_OBJECT_LOCK(bo->bo_object); - vm_object_pip_wait(bo->bo_object, "vnvlbx"); + vm_object_pip_wait(bo->bo_object, "bovlbx"); VM_OBJECT_UNLOCK(bo->bo_object); } BO_LOCK(bo); @@ -1018,21 +1010,31 @@ } /* + * Flush out and invalidate all buffers associated with a vnode. + * Called with the underlying object locked. + */ +int +vinvalbuf(struct vnode *vp, int flags, struct thread *td, int slpflag, int slptimeo) +{ + + ASSERT_VOP_LOCKED(vp, "vinvalbuf"); + return (bufobj_invalbuf(&vp->v_bufobj, flags, td, slpflag, slptimeo)); +} + +/* * Flush out buffers on the specified list. * */ static int -flushbuflist(bufv, flags, vp, slpflag, slptimeo) +flushbuflist(bufv, flags, bo, slpflag, slptimeo) struct bufv *bufv; int flags; - struct vnode *vp; + struct bufobj *bo; int slpflag, slptimeo; { struct buf *bp, *nbp; int retval, error; - struct bufobj *bo; - bo = &vp->v_bufobj; ASSERT_BO_LOCKED(bo); retval = 0; @@ -1049,31 +1051,23 @@ BO_LOCK(bo); return (error != ENOLCK ? error : EAGAIN); } + if (bp->b_bufobj != bo) { /* XXX: necessary ? */ + BO_LOCK(bo); + return (EAGAIN); + } /* * XXX Since there are no node locks for NFS, I * believe there is a slight chance that a delayed * write will occur while sleeping just above, so - * check for it. Note that vfs_bio_awrite expects - * buffers to reside on a queue, while bwrite and - * brelse do not. + * check for it. */ if (((bp->b_flags & (B_DELWRI | B_INVAL)) == B_DELWRI) && - (flags & V_SAVE)) { - - if (bp->b_vp == vp) { - if (bp->b_flags & B_CLUSTEROK) { - vfs_bio_awrite(bp); - } else { - bremfree(bp); - bp->b_flags |= B_ASYNC; - bwrite(bp); - } - } else { - bremfree(bp); - (void) bwrite(bp); - } + (flags & V_SAVE)) { + bremfree(bp); + bp->b_flags |= B_ASYNC; + bwrite(bp); BO_LOCK(bo); - return (EAGAIN); + return (EAGAIN); /* XXX: why not loop ? */ } bremfree(bp); bp->b_flags |= (B_INVAL | B_NOCACHE | B_RELBUF); ==== //depot/projects/drm-merge/sys/net/if_ethersubr.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)if_ethersubr.c 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/net/if_ethersubr.c,v 1.184 2005/02/14 11:58:54 glebius Exp $ + * $FreeBSD: src/sys/net/if_ethersubr.c,v 1.185 2005/02/18 22:31:19 ru Exp $ */ #include "opt_atalk.h" @@ -604,7 +604,8 @@ #endif if (!(BDG_ACTIVE(ifp)) && - !(ether_type == ETHERTYPE_VLAN && ifp->if_nvlans > 0)) { + !((ether_type == ETHERTYPE_VLAN || m->m_flags & M_VLANTAG) && + ifp->if_nvlans > 0)) { /* * Discard packet if upper layers shouldn't see it because it * was unicast to a different Ethernet address. If the driver @@ -618,7 +619,7 @@ * it's undesired. */ if ((ifp->if_flags & IFF_PROMISC) != 0 - && (eh->ether_dhost[0] & 1) == 0 + && !ETHER_IS_MULTICAST(eh->ether_dhost) && bcmp(eh->ether_dhost, IFP2AC(ifp)->ac_enaddr, ETHER_ADDR_LEN) != 0 && (ifp->if_flags & IFF_PPROMISC) == 0) { @@ -657,8 +658,7 @@ * Check to see if the device performed the VLAN decapsulation and * provided us with the tag. */ - if (m_tag_first(m) != NULL && - m_tag_locate(m, MTAG_VLAN, MTAG_VLAN_TAG, NULL) != NULL) { + if (m->m_flags & M_VLANTAG) { /* * If no VLANs are configured, drop. */ ==== //depot/projects/drm-merge/sys/net/if_vlan.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/net/if_vlan.c,v 1.76 2005/01/24 15:48:00 yar Exp $ + * $FreeBSD: src/sys/net/if_vlan.c,v 1.77 2005/02/18 22:31:19 ru Exp $ */ /* @@ -563,6 +563,7 @@ */ tag = EVL_VLANOFTAG(VLAN_TAG_VALUE(mtag)); m_tag_delete(m, mtag); + m->m_flags &= ~M_VLANTAG; } else { switch (ifp->if_type) { case IFT_ETHER: ==== //depot/projects/drm-merge/sys/net/if_vlan_var.h#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/net/if_vlan_var.h,v 1.20 2005/01/07 01:45:34 imp Exp $ + * $FreeBSD: src/sys/net/if_vlan_var.h,v 1.21 2005/02/18 22:31:19 ru Exp $ */ #ifndef _NET_IF_VLAN_VAR_H_ @@ -80,8 +80,8 @@ * * to mark the packet m with the specified VLAN tag. The last * parameter provides code to execute in case of an error. On - * output the driver should check ifnet to see if any VLANs are - * in use and only then check for a packet tag; this is done with: + * output the driver should check mbuf to see if a VLAN tag is + * present and only then check for a tag; this is done with: * * struct m_tag *mtag; * mtag = VLAN_OUTPUT_TAG(ifp, m); @@ -107,10 +107,11 @@ } \ *(u_int *)(mtag+1) = (_t); \ m_tag_prepend((_m), mtag); \ + (_m)->m_flags |= M_VLANTAG; \ } while (0) #define VLAN_OUTPUT_TAG(_ifp, _m) \ - ((_ifp)->if_nvlans != 0 ? \ + ((_m)->m_flags & M_VLANTAG ? \ m_tag_locate((_m), MTAG_VLAN, MTAG_VLAN_TAG, NULL) : NULL) #define VLAN_TAG_VALUE(_mt) (*(u_int *)((_mt)+1)) #endif /* _KERNEL */ ==== //depot/projects/drm-merge/sys/netgraph/ng_ksocket.c#2 (text+ko) ==== @@ -37,7 +37,7 @@ * * Author: Archie Cobbs * - * $FreeBSD: src/sys/netgraph/ng_ksocket.c,v 1.51 2005/02/16 16:00:35 glebius Exp $ + * $FreeBSD: src/sys/netgraph/ng_ksocket.c,v 1.52 2005/02/19 14:41:49 glebius Exp $ * $Whistle: ng_ksocket.c,v 1.1 1999/11/16 20:04:40 archie Exp $ */ @@ -897,6 +897,12 @@ struct mbuf *m; struct sa_tag *stag; + /* Avoid reentrantly sending on the socket */ + if (SOCKBUF_OWNED(&so->so_snd)) { + NG_FREE_ITEM(item); + return (EDEADLK); + } + /* Extract data */ NGI_GET_M(item, m); NG_FREE_ITEM(item); ==== //depot/projects/drm-merge/sys/nfsclient/nfs_socket.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_socket.c,v 1.119 2005/01/07 01:45:50 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_socket.c,v 1.120 2005/02/18 23:41:39 ps Exp $"); /* * Socket operations for use by nfs @@ -1027,10 +1027,12 @@ error = nfs_send(nmp->nm_so, nmp->nm_nam, m2, rep); nfs_sndunlock(rep); } + mtx_lock(&nfs_reqq_mtx); if (!error && (rep->r_flags & R_MUSTRESEND) == 0) { nmp->nm_sent += NFS_CWNDSCALE; rep->r_flags |= R_SENT; } + mtx_unlock(&nfs_reqq_mtx); } else { splx(s); rep->r_rtt = -1; @@ -1056,10 +1058,12 @@ /* * Decrement the outstanding request count. */ + mtx_lock(&nfs_reqq_mtx); if (rep->r_flags & R_SENT) { rep->r_flags &= ~R_SENT; /* paranoia */ nmp->nm_sent -= NFS_CWNDSCALE; } + mtx_unlock(&nfs_reqq_mtx); /* * If there was a successful reply and a tprintf msg. ==== //depot/projects/drm-merge/sys/nfsclient/nfs_vnops.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_vnops.c,v 1.250 2005/01/29 23:19:08 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_vnops.c,v 1.251 2005/02/19 11:44:56 phk Exp $"); /* * vnode op calls for Sun NFS version 2 and 3 @@ -538,7 +538,9 @@ error = nfs_flush(vp, MNT_WAIT, ap->a_td, cm); /* np->n_flag &= ~NMODIFIED; */ } else { + VOP_LOCK(vp, LK_EXCLUSIVE, curthread); error = nfs_vinvalbuf(vp, V_SAVE, ap->a_td, 1); + VOP_UNLOCK(vp, 0, curthread); } } /* ==== //depot/projects/drm-merge/sys/powerpc/include/exec.h#2 (text+ko) ==== @@ -26,12 +26,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/powerpc/include/exec.h,v 1.2 2005/01/07 02:29:19 imp Exp $ + * $FreeBSD: src/sys/powerpc/include/exec.h,v 1.3 2005/02/19 21:16:48 ru Exp $ */ -#ifndef _EXEC_H_ -#define _EXEC_H_ +#ifndef _MACHINE_EXEC_H_ +#define _MACHINE_EXEC_H_ -#define __LDPGSZ 4096 +#define __LDPGSZ 4096 -#endif /* !_EXEC_H_ */ +#endif /* !_MACHINE_EXEC_H_ */ ==== //depot/projects/drm-merge/sys/sys/bufobj.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/bufobj.h,v 1.12 2005/01/11 10:43:08 phk Exp $ + * $FreeBSD: src/sys/sys/bufobj.h,v 1.13 2005/02/19 11:44:57 phk Exp $ */ /* @@ -125,6 +125,7 @@ void bufobj_wdrop(struct bufobj *bo); void bufobj_wref(struct bufobj *bo); +int bufobj_invalbuf(struct bufobj *bo, int flags, struct thread *td, int slpflag, int slptimeo); int bufobj_wwait(struct bufobj *bo, int slpflag, int timeo); int bufsync(struct bufobj *bo, int waitfor, struct thread *td); ==== //depot/projects/drm-merge/sys/sys/cpu.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/cpu.h,v 1.2 2005/02/13 05:37:19 njl Exp $ + * $FreeBSD: src/sys/sys/cpu.h,v 1.3 2005/02/19 06:13:25 njl Exp $ */ #ifndef _SYS_CPU_H_ @@ -53,6 +53,7 @@ int power; /* Power consumed in mW. */ int lat; /* Transition latency in us. */ device_t dev; /* Driver providing this setting. */ + int spec[4];/* Driver-specific storage for non-standard info. */ }; /* Maximum number of settings a given driver can have. */ ==== //depot/projects/drm-merge/sys/sys/mbuf.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)mbuf.h 8.5 (Berkeley) 2/19/95 - * $FreeBSD: src/sys/sys/mbuf.h,v 1.165 2005/02/10 22:23:02 bmilekic Exp $ + * $FreeBSD: src/sys/sys/mbuf.h,v 1.166 2005/02/18 22:31:18 ru Exp $ */ #ifndef _SYS_MBUF_H_ @@ -178,6 +178,7 @@ #define M_FRAG 0x0800 /* packet is a fragment of a larger packet */ #define M_FIRSTFRAG 0x1000 /* packet is first fragment */ #define M_LASTFRAG 0x2000 /* packet is last fragment */ +#define M_VLANTAG 0x10000 /* packet has VLAN tag attached */ /* * External buffer types: identify ext_buf type. @@ -195,7 +196,8 @@ */ #define M_COPYFLAGS (M_PKTHDR|M_EOR|M_RDONLY|M_PROTO1|M_PROTO1|M_PROTO2|\ M_PROTO3|M_PROTO4|M_PROTO5|M_SKIP_FIREWALL|\ - M_BCAST|M_MCAST|M_FRAG|M_FIRSTFRAG|M_LASTFRAG) + M_BCAST|M_MCAST|M_FRAG|M_FIRSTFRAG|M_LASTFRAG|\ + M_VLANTAG) /* * Flags indicating hw checksum support and sw checksum requirements. ==== //depot/projects/drm-merge/sys/sys/param.h#2 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * @(#)param.h 8.3 (Berkeley) 4/4/95 - * $FreeBSD: src/sys/sys/param.h,v 1.224 2005/02/15 06:33:28 njl Exp $ + * $FreeBSD: src/sys/sys/param.h,v 1.225 2005/02/19 13:48:53 marius Exp $ */ #ifndef _SYS_PARAM_H_ @@ -57,7 +57,7 @@ * is created, otherwise 1. */ #undef __FreeBSD_version -#define __FreeBSD_version 600012 /* Master, propagated to newvers */ +#define __FreeBSD_version 600013 /* Master, propagated to newvers */ #ifndef LOCORE #include ==== //depot/projects/drm-merge/sys/ufs/ffs/ffs_snapshot.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ufs/ffs/ffs_snapshot.c,v 1.97 2005/02/08 17:40:01 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/ufs/ffs/ffs_snapshot.c,v 1.98 2005/02/19 07:31:33 delphij Exp $"); #include #include @@ -474,7 +474,7 @@ loc = howmany(xp->i_size, fs->fs_bsize) - 1; if (loc < NDADDR) { len = fragroundup(fs, blkoff(fs, xp->i_size)); - if (len < fs->fs_bsize) { + if (len != 0 && len < fs->fs_bsize) { ffs_blkfree(ump, copy_fs, vp, DIP(xp, i_db[loc]), len, xp->i_number); blkno = DIP(xp, i_db[loc]); ==== //depot/projects/drm-merge/sys/ufs/ffs/ffs_vfsops.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ufs/ffs/ffs_vfsops.c,v 1.278 2005/02/10 12:20:08 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/ufs/ffs/ffs_vfsops.c,v 1.279 2005/02/19 11:44:57 phk Exp $"); #include "opt_mac.h" #include "opt_quota.h" @@ -794,7 +794,6 @@ out: if (bp) brelse(bp); - vinvalbuf(devvp, V_SAVE, td, 0, 0); if (cp != NULL) { DROP_GIANT(); g_topology_lock(); @@ -956,7 +955,6 @@ return (error); } } - vinvalbuf(ump->um_devvp, V_SAVE, td, 0, 0); DROP_GIANT(); g_topology_lock(); g_vfs_close(ump->um_cp, td); ==== //depot/projects/drm-merge/sys/ufs/ufs/ufs_inode.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ufs/ufs/ufs_inode.c,v 1.57 2005/01/28 14:42:17 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/ufs/ufs/ufs_inode.c,v 1.58 2005/02/19 11:44:57 phk Exp $"); #include "opt_quota.h" #include "opt_ufs.h" @@ -173,12 +173,12 @@ } } #endif + vnode_destroy_vobject(vp); #ifdef UFS_DIRHASH if (ip->i_dirhash != NULL) ufsdirhash_free(ip); #endif UFS_IFREE(ump, ip); vp->v_data = 0; - vnode_destroy_vobject(vp); return (0); } ==== //depot/projects/drm-merge/sys/vm/vnode_pager.c#2 (text+ko) ==== @@ -51,7 +51,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/vnode_pager.c,v 1.212 2005/01/28 08:56:47 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/vnode_pager.c,v 1.213 2005/02/19 11:44:57 phk Exp $"); #include #include @@ -158,6 +158,7 @@ obj = vp->v_object; if (obj == NULL) return; + VOP_LOCK(vp, LK_EXCLUSIVE, curthread); vp->v_object = NULL; VM_OBJECT_LOCK(obj); if (obj->ref_count == 0) { @@ -180,6 +181,7 @@ vm_pager_deallocate(obj); VM_OBJECT_UNLOCK(obj); } + VOP_UNLOCK(vp, 0, curthread); } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Feb 20 02:06:28 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BFF2716A4D0; Sun, 20 Feb 2005 02:06:26 +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 8269916A4CE for ; Sun, 20 Feb 2005 02:06:26 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6606843D2D for ; Sun, 20 Feb 2005 02:06:26 +0000 (GMT) (envelope-from anholt@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 j1K26Q2b083462 for ; Sun, 20 Feb 2005 02:06:26 GMT (envelope-from anholt@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1K26QGN083459 for perforce@freebsd.org; Sun, 20 Feb 2005 02:06:26 GMT (envelope-from anholt@freebsd.org) Date: Sun, 20 Feb 2005 02:06:26 GMT Message-Id: <200502200206.j1K26QGN083459@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anholt@freebsd.org using -f From: Eric Anholt To: Perforce Change Reviews Subject: PERFORCE change 71357 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, 20 Feb 2005 02:06:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=71357 Change 71357 by anholt@anholt_leguin on 2005/02/20 02:05:43 Add drm_vm.c to compile. LINT builds. Affected files ... .. //depot/projects/drm-merge/sys/conf/files#3 edit .. //depot/projects/drm-merge/sys/modules/drm/drm/Makefile#2 edit Differences ... ==== //depot/projects/drm-merge/sys/conf/files#3 (text+ko) ==== @@ -464,6 +464,7 @@ dev/drm/drm_pci.c optional drm dev/drm/drm_scatter.c optional drm dev/drm/drm_sysctl.c optional drm +dev/drm/drm_vm.c optional drm dev/drm/mach64_dma.c optional mach64drm dev/drm/mach64_drv.c optional mach64drm dev/drm/mach64_irq.c optional mach64drm ==== //depot/projects/drm-merge/sys/modules/drm/drm/Makefile#2 (text+ko) ==== @@ -18,7 +18,9 @@ drm_memory.c \ drm_pci.c \ drm_scatter.c \ - drm_sysctl.c + drm_sysctl.c \ + drm_vm.c + SRCS +=device_if.h bus_if.h pci_if.h opt_drm.h .include From owner-p4-projects@FreeBSD.ORG Sun Feb 20 03:18:55 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 918A616A4FC; Sun, 20 Feb 2005 03:18:54 +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 40D9016A4CF for ; Sun, 20 Feb 2005 03:18:54 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2237543D53 for ; Sun, 20 Feb 2005 03:18:54 +0000 (GMT) (envelope-from jmg@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 j1K3IsAo086213 for ; Sun, 20 Feb 2005 03:18:54 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1K3Irr2086210 for perforce@freebsd.org; Sun, 20 Feb 2005 03:18:53 GMT (envelope-from jmg@freebsd.org) Date: Sun, 20 Feb 2005 03:18:53 GMT Message-Id: <200502200318.j1K3Irr2086210@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71359 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, 20 Feb 2005 03:18:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=71359 Change 71359 by jmg@jmg_carbon on 2005/02/20 03:18:12 add code to reset the cpu on the TS-7200 board... Submitted by: cognet Obtained from: NetBSD Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/ep93xx.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/ep93xx/ep93xx.c#2 (text+ko) ==== @@ -67,6 +67,8 @@ #include #include +#include /* XXX */ + /* Software copy of the IRQs we have enabled. */ __volatile u_int32_t vic1_intr_enabled; __volatile u_int32_t vic2_intr_enabled; @@ -180,7 +182,28 @@ void cpu_reset(void) { - while(1); + /* + * Make really really sure that all interrupts are disabled, + * and poke the Internal Bus and Peripheral Bus reset lines. + */ + (void) disable_interrupts(I32_bit|F32_bit); + { + u_int32_t feed, ctrl; + + feed = TS7XXX_IO16_VBASE + TS7XXX_WDOGFEED; + ctrl = TS7XXX_IO16_VBASE + TS7XXX_WDOGCTRL; + + __asm __volatile ( + "mov r0, #0x5\n" + "mov r1, #0x1\n" + "strh r0, [%0]\n" + "strh r1, [%1]\n" + : + : "r" (feed), "r" (ctrl) + : "r0", "r1" + ); + } + while (1); } static struct resource * From owner-p4-projects@FreeBSD.ORG Sun Feb 20 07:17:45 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6B21E16A4D0; Sun, 20 Feb 2005 07:17:45 +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 41F1916A4CE for ; Sun, 20 Feb 2005 07:17:45 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 115C543D2D for ; Sun, 20 Feb 2005 07:17:45 +0000 (GMT) (envelope-from jmg@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 j1K7HiVa001483 for ; Sun, 20 Feb 2005 07:17:44 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1K7Hiri001480 for perforce@freebsd.org; Sun, 20 Feb 2005 07:17:44 GMT (envelope-from jmg@freebsd.org) Date: Sun, 20 Feb 2005 07:17:44 GMT Message-Id: <200502200717.j1K7Hiri001480@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71365 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, 20 Feb 2005 07:17:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=71365 Change 71365 by jmg@jmg_carbon on 2005/02/20 07:17:09 clean up a bunch of debugging printf's now that we are getting all the way to mi_startup, and trying to start init... we still have a problem with the I/D caches though... KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2005 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 6.0-CURRENT #82: Sat Feb 19 19:11:20 PST 2005 jmg@carbon.funkthat.com:/usr/home/jmg/p4/arm/src/sys/arm/compile/TS7200 Preloaded elf kernel "elf kernel" at 0xc04867cc. Old value: 207b, new value : 217b ARM920T rev 0 (ARM9TDMI core) DC disabled IC disabled WB enabled LABT16KB/32B 64-way Instruction cache 16KB/32B 64-way write-back-locking-A Data cache panic: free: address 0xc0ba6000(0xc0ba6000) has not been allocated. Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/ts7200_machdep.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/ep93xx/ts7200_machdep.c#2 (text+ko) ==== @@ -217,13 +217,12 @@ int i = 0; uint32_t fake_preload[35]; uint32_t memsize = 32*1024*1024; /* XXX */ - int bla; boothowto |= RB_VERBOSE | RB_SINGLE; i = 0; set_cpufuncs(); cninit(); - printf("cninit called\n"); + fake_preload[i++] = MODINFO_NAME; fake_preload[i++] = strlen("elf kernel") + 1; strcpy((char*)&fake_preload[i++], "elf kernel"); @@ -243,13 +242,10 @@ preload_metadata = (void *)fake_preload; physmem = memsize / PAGE_SIZE; - printf("mem: %ld\n", physmem); pcpu_init(pcpup, 0, sizeof(struct pcpu)); PCPU_SET(curthread, &thread0); - printf("pcpu init done\n"); - physical_start = (vm_offset_t) SDRAM_START; physical_end = (vm_offset_t) &end + SDRAM_START - 0xc0000000; #define KERNEL_TEXT_BASE (KERNBASE + 0x00200000) @@ -281,14 +277,10 @@ kernel_pt_table[loop].pv_va = kernel_pt_table[loop].pv_pa + 0xc0000000; } - printf("kernel[%d], va: 0x%08x, pa: 0x%08x\n", loop, - kernel_pt_table[loop].pv_va, kernel_pt_table[loop].pv_pa); i++; } freemempos -= 2 * PAGE_SIZE; - printf("page table up\n"); - freemem_pt = freemempos; freemempos = 0x00100000; /* @@ -306,8 +298,6 @@ valloc_pages(minidataclean, 1); valloc_pages(msgbufpv, round_page(MSGBUF_SIZE) / PAGE_SIZE); - printf("stack setup\n"); - /* * Allocate memory for the l1 and l2 page tables. The scheme to avoid * wasting memory by allocating the l1pt on the first 16k memory was @@ -322,41 +312,29 @@ */ l1pagetable = kernel_l1pt.pv_pa; - printf("phys end: %d\n", physical_end); - printf("l1page, pt: %08x, va: %08x, pvaddr: %p\n", l1pagetable, - ARM_VECTORS_HIGH & ~(0x00100000 - 1), - &kernel_pt_table[KERNEL_PT_SYS]); - /* Map the L2 pages tables in the L1 page table */ pmap_link_l2pt(l1pagetable, ARM_VECTORS_HIGH & ~(0x00100000 - 1), &kernel_pt_table[KERNEL_PT_SYS]); - printf("linkl2pt\n"); for (i = 0; i < KERNEL_PT_KERNEL_NUM; i++) { pmap_link_l2pt(l1pagetable, KERNBASE + i * 0x00100000, &kernel_pt_table[KERNEL_PT_KERNEL + i]); } - printf("afterforkernelnum\n"); for (loop = 0; loop < KERNEL_PT_VMDATA_NUM; ++loop) pmap_link_l2pt(l1pagetable, KERNBASE + (i + loop) * 0x00100000, &kernel_pt_table[KERNEL_PT_VMDATA + loop]); - printf("afterforvmdata, freemempos: 0x%08x\n", freemempos); pmap_map_chunk(l1pagetable, KERNBASE, SDRAM_START, freemempos - 0x00000000 + 0x1000, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - printf("pmapchunk a\n"); pmap_map_chunk(l1pagetable, KERNBASE + 0x100000, SDRAM_START + 0x100000, 0x100000, VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); - printf("pmapchunk b\n"); + /* map the kernel into the page table */ pmap_map_chunk(l1pagetable, KERNBASE + 0x200000, SDRAM_START + 0x200000, - (((uint32_t)(&end) - KERNBASE - 0x200000) + L1_S_SIZE) & ~(L1_S_SIZE - 1), - VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - printf("pmapchunk c\n"); + (((uint32_t)(&end) - KERNBASE - 0x200000) + L1_S_SIZE) & + ~(L1_S_SIZE - 1), VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); freemem_after = ((int)&end + PAGE_SIZE) & ~(PAGE_SIZE - 1); afterkern = round_page(((vm_offset_t)&end + L1_S_SIZE) & ~(L1_S_SIZE - 1)); - printf("another place\n"); - /* Map the stack pages */ #define alloc_afterkern(va, pa, size) \ va = freemem_after; \ @@ -405,33 +383,19 @@ pmap_map_chunk(l1pagetable, msgbufpv.pv_va, msgbufpv.pv_pa, MSGBUF_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - printf("after bunch of pmap's\n"); - /* Map the vector page. */ pmap_map_entry(l1pagetable, ARM_VECTORS_HIGH, systempage.pv_pa, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); pmap_devmap_bootstrap(l1pagetable, tsarm_devmap); - printf("foo\n"); - cpu_domains((DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)) | DOMAIN_CLIENT); - printf("bar\n"); - - __asm("mov %0, pc": "=r" (bla)); - printf("pc: %x\n", bla); - - setttb(kernel_l1pt.pv_va); + setttb(kernel_l1pt.pv_pa); - printf("baz\n"); - cpu_tlb_flushID(); - printf("bleh\n"); - cpu_domains(DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)); - printf("XXX: MMU Enabled /o/\n"); /* * Pages were allocated during the secondary bootstrap for the * stacks for different CPU modes. From owner-p4-projects@FreeBSD.ORG Sun Feb 20 20:22:43 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BDB9B16A4D0; Sun, 20 Feb 2005 20:22:42 +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 9378116A4CE for ; Sun, 20 Feb 2005 20:22:42 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7D62443D60 for ; Sun, 20 Feb 2005 20:22:42 +0000 (GMT) (envelope-from jmg@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 j1KKMgr8054203 for ; Sun, 20 Feb 2005 20:22:42 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KKMgkK054200 for perforce@freebsd.org; Sun, 20 Feb 2005 20:22:42 GMT (envelope-from jmg@freebsd.org) Date: Sun, 20 Feb 2005 20:22:42 GMT Message-Id: <200502202022.j1KKMgkK054200@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71398 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, 20 Feb 2005 20:22:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=71398 Change 71398 by jmg@jmg_carbon on 2005/02/20 20:22:26 fix a very stupid braino, EP93XX_UART_F_TXFF != 1!! luckily, w/o cache the board runs so slowly, that this is never an issue, but if you enable either the I or D cache, since the TXFF is never full, it just drops chars.. Affected files ... .. //depot/projects/arm/src/sys/dev/uart/uart_dev_epuart.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/dev/uart/uart_dev_epuart.c#2 (text+ko) ==== @@ -246,8 +246,8 @@ #if 0 /* Set RTS & DTR. */ uart_setreg(bas, EP93XX_UART_MdmCtrl, 0); + uart_barrier(bas); #endif - uart_barrier(bas); } static void @@ -268,7 +268,7 @@ delay = epuart_delay(bas); limit = 20; - while ((uart_getreg(bas, EP93XX_UART_Flag) & EP93XX_UART_F_TXFF) == 1 && + while ((uart_getreg(bas, EP93XX_UART_Flag) & EP93XX_UART_F_TXFF) && --limit) DELAY(delay); uart_setreg(bas, EP93XX_UART_Data, c); From owner-p4-projects@FreeBSD.ORG Sun Feb 20 20:29:52 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C756516A4D0; Sun, 20 Feb 2005 20:29:51 +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 8732016A4CE for ; Sun, 20 Feb 2005 20:29:51 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7116843D1F for ; Sun, 20 Feb 2005 20:29:51 +0000 (GMT) (envelope-from jmg@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 j1KKTpal054679 for ; Sun, 20 Feb 2005 20:29:51 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KKTpnO054676 for perforce@freebsd.org; Sun, 20 Feb 2005 20:29:51 GMT (envelope-from jmg@freebsd.org) Date: Sun, 20 Feb 2005 20:29:51 GMT Message-Id: <200502202029.j1KKTpnO054676@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71399 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, 20 Feb 2005 20:29:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=71399 Change 71399 by jmg@jmg_carbon on 2005/02/20 20:29:14 remove the conditionals on the fixup, w/ them the TS-7200 won't properly relocate... Affected files ... .. //depot/projects/arm/src/sys/arm/arm/locore.S#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/locore.S#3 (text+ko) ==== @@ -160,13 +160,14 @@ subs r2, r2, #4 bgt .L1 + /* fix up the pc to be at KERNVIRTADDR */ ldr r4, =KERNVIRTADDR cmp pc, r4 #if KERNVIRTADDR > KERNPHYSADDR - ldrlt r4, =KERNVIRTADDR - ldrlt r5, =KERNPHYSADDR - sublt r4, r4, r5 - addlt pc, pc, r4 + ldr r4, =KERNVIRTADDR + ldr r5, =KERNPHYSADDR + sub r4, r4, r5 + add pc, pc, r4 #else ldrgt r4, =KERNPHYSADDR ldrgt r5, =KERNVIRTADDR From owner-p4-projects@FreeBSD.ORG Sun Feb 20 20:35:01 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4E53616A540; Sun, 20 Feb 2005 20:35:01 +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 0B4AA16A4D1 for ; Sun, 20 Feb 2005 20:34:59 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA57343D1D for ; Sun, 20 Feb 2005 20:34:58 +0000 (GMT) (envelope-from jmg@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 j1KKYwsh055098 for ; Sun, 20 Feb 2005 20:34:58 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KKYwUl055095 for perforce@freebsd.org; Sun, 20 Feb 2005 20:34:58 GMT (envelope-from jmg@freebsd.org) Date: Sun, 20 Feb 2005 20:34:58 GMT Message-Id: <200502202034.j1KKYwUl055095@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71401 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, 20 Feb 2005 20:35:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=71401 Change 71401 by jmg@jmg_carbon on 2005/02/20 20:34:56 update the cpufunc stuff for arm... Submitted by: cognet Obtained from: NetBSD Affected files ... .. //depot/projects/arm/src/sys/arm/arm/cpufunc.c#2 edit .. //depot/projects/arm/src/sys/arm/arm/cpufunc_asm.S#2 edit .. //depot/projects/arm/src/sys/arm/arm/cpufunc_asm_arm9.S#2 edit .. //depot/projects/arm/src/sys/arm/include/cpufunc.h#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/cpufunc.c#2 (text+ko) ==== @@ -1,5 +1,6 @@ /* $NetBSD: cpufunc.c,v 1.65 2003/11/05 12:53:15 scw Exp $ */ +#define ARM9_CACHE_WRITE_THROUGH 1 /*- * arm7tdmi support code Copyright (c) 2001 John Fremlin * arm8 support code Copyright (c) 1997 ARM Limited @@ -426,17 +427,16 @@ /* Cache operations */ - arm9_cache_syncI, /* icache_sync_all */ - arm9_cache_syncI_rng, /* icache_sync_range */ + arm9_icache_sync_all, /* icache_sync_all */ + arm9_icache_sync_range, /* icache_sync_range */ - /* ...cache in write-though mode... */ - arm9_cache_flushD, /* dcache_wbinv_all */ - arm9_cache_flushD_rng, /* dcache_wbinv_range */ - arm9_cache_flushD_rng, /* dcache_inv_range */ - (void *)cpufunc_nullop, /* dcache_wb_range */ + arm9_dcache_wbinv_all, /* dcache_wbinv_all */ + arm9_dcache_wbinv_range, /* dcache_wbinv_range */ +/*XXX*/ arm9_dcache_wbinv_range, /* dcache_inv_range */ + arm9_dcache_wb_range, /* dcache_wb_range */ - arm9_cache_flushID, /* idcache_wbinv_all */ - arm9_cache_flushID_rng, /* idcache_wbinv_range */ + arm9_idcache_wbinv_all, /* idcache_wbinv_all */ + arm9_idcache_wbinv_range, /* idcache_wbinv_range */ /* Other functions */ @@ -973,6 +973,11 @@ cpufuncs = arm9_cpufuncs; cpu_reset_needs_v4_MMU_disable = 1; /* V4 or higher */ get_cachetype_cp15(); + arm9_dcache_sets_inc = 1U << arm_dcache_l2_linesize; + arm9_dcache_sets_max = (1U << (arm_dcache_l2_linesize + + arm_dcache_l2_nsets)) - arm9_dcache_sets_inc; + arm9_dcache_index_inc = 1U << (32 - arm_dcache_l2_assoc); + arm9_dcache_index_max = 0U - arm9_dcache_index_inc; #ifdef ARM9_CACHE_WRITE_THROUGH pmap_pte_init_arm9(); #else @@ -1844,14 +1849,14 @@ cpuctrl = CPU_CONTROL_MMU_ENABLE | CPU_CONTROL_32BP_ENABLE | CPU_CONTROL_32BD_ENABLE | CPU_CONTROL_SYST_ENABLE | CPU_CONTROL_IC_ENABLE | CPU_CONTROL_DC_ENABLE - | CPU_CONTROL_WBUF_ENABLE; + | CPU_CONTROL_WBUF_ENABLE | CPU_CONTROL_LABT_ENABLE; cpuctrlmask = CPU_CONTROL_MMU_ENABLE | CPU_CONTROL_32BP_ENABLE | CPU_CONTROL_32BD_ENABLE | CPU_CONTROL_SYST_ENABLE | CPU_CONTROL_IC_ENABLE | CPU_CONTROL_DC_ENABLE | CPU_CONTROL_WBUF_ENABLE | CPU_CONTROL_ROM_ENABLE | CPU_CONTROL_BEND_ENABLE | CPU_CONTROL_AFLT_ENABLE - | CPU_CONTROL_LABT_ENABLE | CPU_CONTROL_BPRD_ENABLE - | CPU_CONTROL_CPCLK; + | CPU_CONTROL_LABT_ENABLE | CPU_CONTROL_VECRELOC + | CPU_CONTROL_ROUNDROBIN; #ifndef ARM32_DISABLE_ALIGNMENT_FAULTS cpuctrl |= CPU_CONTROL_AFLT_ENABLE; @@ -1868,8 +1873,10 @@ /* Clear out the cache */ cpu_idcache_wbinv_all(); + printf("Old value: %x, new value : %x\n", cpu_control(0, 0), cpuctrl); + /* Set the control register */ - cpu_control(0xffffffff, cpuctrl); + cpu_control(cpuctrlmask, cpuctrl); ctrl = cpuctrl; } ==== //depot/projects/arm/src/sys/arm/arm/cpufunc_asm.S#2 (text+ko) ==== @@ -121,9 +121,7 @@ teq r2, r3 /* Only write if there is a change */ mcrne p15, 0, r2, c1, c0, 0 /* Write new control register */ - #if 0 mov r0, r3 /* Return old value */ - #endif RET .Lglou: ==== //depot/projects/arm/src/sys/arm/arm/cpufunc_asm_arm9.S#2 (text+ko) ==== @@ -1,7 +1,7 @@ -/* $NetBSD: cpufunc_asm_arm9.S,v 1.2 2002/01/29 15:27:29 rearnsha Exp $ */ +/* $NetBSD: cpufunc_asm_arm9.S,v 1.3 2004/01/26 15:54:16 rearnsha Exp $ */ -/*- - * Copyright (c) 2001 ARM Limited +/* + * Copyright (c) 2001, 2004 ARM Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,11 +29,9 @@ * SUCH DAMAGE. * * ARM9 assembly functions for CPU / MMU / TLB specific operations - * */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc_asm_arm9.S,v 1.3 2005/01/05 21:58:47 imp Exp $"); /* * Functions to set the MMU Translation Table Base register @@ -42,17 +40,14 @@ * addresses that are about to change. */ ENTRY(arm9_setttb) - /* - * Since we use the caches in write-through mode, we only have to - * drain the write buffers and flush the caches. - */ - mcr p15, 0, r0, c7, c7, 0 /* flush I+D caches */ - mcr p15, 0, r0, c7, c10, 4 /* drain write buffer */ + stmfd sp!, {r0, lr} + bl _C_LABEL(arm9_idcache_wbinv_all) + ldmfd sp!, {r0, lr} mcr p15, 0, r0, c2, c0, 0 /* load new TTB */ mcr p15, 0, r0, c8, c7, 0 /* invalidate I+D TLBs */ - RET + mov pc, lr /* * TLB functions @@ -60,57 +55,159 @@ ENTRY(arm9_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 + mov pc, lr /* - * Cache functions + * Cache operations. For the entire cache we use the set/index + * operations. */ -ENTRY(arm9_cache_flushID) - mcr p15, 0, r0, c7, c7, 0 /* flush I+D cache */ - RET + s_max .req r0 + i_max .req r1 + s_inc .req r2 + i_inc .req r3 -ENTRY(arm9_cache_flushID_SE) - mcr p15, 0, r0, c7, c5, 1 /* flush one entry from I cache */ - mcr p15, 0, r0, c7, c6, 1 /* flush one entry from D cache */ - RET +ENTRY_NP(arm9_icache_sync_range) + ldr ip, .Larm9_line_size + cmp r1, #0x4000 + bcs .Larm9_icache_sync_all + ldr ip, [ip] + sub r3, ip, #1 + and r2, r0, r3 + add r1, r1, r2 + bic r0, r0, r3 +.Larm9_sync_next: + mcr p15, 0, r0, c7, c5, 1 /* Invalidate I cache SE with VA */ + mcr p15, 0, r0, c7, c10, 1 /* Clean D cache SE with VA */ + add r0, r0, ip + subs r1, r1, ip + bpl .Larm9_sync_next + mov pc, lr -ENTRY(arm9_cache_flushI) - mcr p15, 0, r0, c7, c5, 0 /* flush I cache */ - RET +ENTRY_NP(arm9_icache_sync_all) +.Larm9_icache_sync_all: + /* + * We assume that the code here can never be out of sync with the + * dcache, so that we can safely flush the Icache and fall through + * into the Dcache cleaning code. + */ + mcr p15, 0, r0, c7, c5, 0 /* Flush I cache */ + /* Fall through to clean Dcache. */ -ENTRY(arm9_cache_flushI_SE) - mcr p15, 0, r0, c7, c5, 1 /* flush one entry from I cache */ - RET +.Larm9_dcache_wb: + ldr ip, .Larm9_cache_data + ldmia ip, {s_max, i_max, s_inc, i_inc} +.Lnext_set: + orr ip, s_max, i_max +.Lnext_index: + mcr p15, 0, ip, c7, c10, 2 /* Clean D cache SE with Set/Index */ + sub ip, ip, i_inc + tst ip, i_max /* Index 0 is last one */ + bne .Lnext_index /* Next index */ + mcr p15, 0, ip, c7, c10, 2 /* Clean D cache SE with Set/Index */ + subs s_max, s_max, s_inc + bpl .Lnext_set /* Next set */ + mov pc, lr -ENTRY(arm9_cache_flushD) - mcr p15, 0, r0, c7, c6, 0 /* flush D cache */ - RET +.Larm9_line_size: + .word _C_LABEL(arm_pdcache_line_size) -ENTRY(arm9_cache_flushD_SE) - mcr p15, 0, r0, c7, c6, 1 /* flush one entry from D cache */ - RET - -ENTRY(arm9_cache_cleanID) - mcr p15, 0, r0, c7, c10, 4 - RET - +ENTRY(arm9_dcache_wb_range) + ldr ip, .Larm9_line_size + cmp r1, #0x4000 + bcs .Larm9_dcache_wb + ldr ip, [ip] + sub r3, ip, #1 + and r2, r0, r3 + add r1, r1, r2 + bic r0, r0, r3 +.Larm9_wb_next: + mcr p15, 0, r0, c7, c10, 1 /* Clean D cache SE with VA */ + add r0, r0, ip + subs r1, r1, ip + bpl .Larm9_wb_next + mov pc, lr + +ENTRY(arm9_dcache_wbinv_range) + ldr ip, .Larm9_line_size + cmp r1, #0x4000 + bcs .Larm9_dcache_wbinv_all + ldr ip, [ip] + sub r3, ip, #1 + and r2, r0, r3 + add r1, r1, r2 + bic r0, r0, r3 +.Larm9_wbinv_next: + mcr p15, 0, r0, c7, c14, 1 /* Purge D cache SE with VA */ + add r0, r0, ip + subs r1, r1, ip + bpl .Larm9_wbinv_next + mov pc, lr + /* - * Soft functions + * Note, we must not invalidate everything. If the range is too big we + * must use wb-inv of the entire cache. */ -ENTRY(arm9_cache_syncI) - mcr p15, 0, r0, c7, c7, 0 /* flush I+D caches */ - RET +ENTRY(arm9_dcache_inv_range) + ldr ip, .Larm9_line_size + cmp r1, #0x4000 + bcs .Larm9_dcache_wbinv_all + ldr ip, [ip] + sub r3, ip, #1 + and r2, r0, r3 + add r1, r1, r2 + bic r0, r0, r3 +.Larm9_inv_next: + mcr p15, 0, r0, c7, c6, 1 /* Invalidate D cache SE with VA */ + add r0, r0, ip + subs r1, r1, ip + bpl .Larm9_inv_next + mov pc, lr + +ENTRY(arm9_idcache_wbinv_range) + ldr ip, .Larm9_line_size + cmp r1, #0x4000 + bcs .Larm9_idcache_wbinv_all + ldr ip, [ip] + sub r3, ip, #1 + and r2, r0, r3 + add r1, r1, r2 + bic r0, r0, r3 +.Larm9_id_wbinv_next: + mcr p15, 0, r0, c7, c5, 1 /* Invalidate I cache SE with VA */ + mcr p15, 0, r0, c7, c14, 1 /* Purge D cache SE with VA */ + add r0, r0, ip + subs r1, r1, ip + bpl .Larm9_id_wbinv_next + mov pc, lr -ENTRY_NP(arm9_cache_flushID_rng) - b _C_LABEL(arm9_cache_flushID) +ENTRY_NP(arm9_idcache_wbinv_all) +.Larm9_idcache_wbinv_all: + /* + * We assume that the code here can never be out of sync with the + * dcache, so that we can safely flush the Icache and fall through + * into the Dcache purging code. + */ + mcr p15, 0, r0, c7, c5, 0 /* Flush I&D cache */ + /* Fall through */ -ENTRY_NP(arm9_cache_flushD_rng) - /* Same as above, but D cache only */ - b _C_LABEL(arm9_cache_flushD) +ENTRY(arm9_dcache_wbinv_all) +.Larm9_dcache_wbinv_all: + ldr ip, .Larm9_cache_data + ldmia ip, {s_max, i_max, s_inc, i_inc} +.Lnext_set_inv: + orr ip, s_max, i_max +.Lnext_index_inv: + mcr p15, 0, ip, c7, c14, 2 /* Purge D cache SE with Set/Index */ + sub ip, ip, i_inc + tst ip, i_max /* Index 0 is last one */ + bne .Lnext_index_inv /* Next index */ + mcr p15, 0, ip, c7, c14, 2 /* Purge D cache SE with Set/Index */ + subs s_max, s_max, s_inc + bpl .Lnext_set_inv /* Next set */ + mov pc, lr -ENTRY_NP(arm9_cache_syncI_rng) - /* Similarly, for I cache sync */ - b _C_LABEL(arm9_cache_syncI) +.Larm9_cache_data: + .word _C_LABEL(arm9_dcache_sets_max) /* * Context switch. @@ -134,4 +231,25 @@ nop nop nop - RET + mov pc, lr + + .bss + +/* XXX The following macros should probably be moved to asm.h */ +#define _DATA_OBJECT(x) .globl x; .type x,_ASM_TYPE_OBJECT; x: +#define C_OBJECT(x) _DATA_OBJECT(_C_LABEL(x)) + +/* + * Parameters for the cache cleaning code. Note that the order of these + * four variables is assumed in the code above. Hence the reason for + * declaring them in the assembler file. + */ + .align 0 +C_OBJECT(arm9_dcache_sets_max) + .space 4 +C_OBJECT(arm9_dcache_index_max) + .space 4 +C_OBJECT(arm9_dcache_sets_inc) + .space 4 +C_OBJECT(arm9_dcache_index_inc) + .space 4 ==== //depot/projects/arm/src/sys/arm/include/cpufunc.h#2 (text+ko) ==== @@ -322,23 +322,25 @@ void arm9_tlb_flushID_SE (u_int va); -void arm9_cache_flushID (void); -void arm9_cache_flushID_SE (u_int); -void arm9_cache_flushI (void); -void arm9_cache_flushI_SE (u_int); -void arm9_cache_flushD (void); -void arm9_cache_flushD_SE (u_int); +void arm9_icache_sync_all __P((void)); +void arm9_icache_sync_range __P((vm_offset_t, vm_size_t)); -void arm9_cache_cleanID (void); +void arm9_dcache_wbinv_all __P((void)); +void arm9_dcache_wbinv_range __P((vm_offset_t, vm_size_t)); +void arm9_dcache_inv_range __P((vm_offset_t, vm_size_t)); +void arm9_dcache_wb_range __P((vm_offset_t, vm_size_t)); -void arm9_cache_syncI (void); -void arm9_cache_flushID_rng (vm_offset_t, vm_size_t); -void arm9_cache_flushD_rng (vm_offset_t, vm_size_t); -void arm9_cache_syncI_rng (vm_offset_t, vm_size_t); +void arm9_idcache_wbinv_all __P((void)); +void arm9_idcache_wbinv_range __P((vm_offset_t, vm_size_t)); void arm9_context_switch (void); void arm9_setup (char *string); + +extern unsigned arm9_dcache_sets_max; +extern unsigned arm9_dcache_sets_inc; +extern unsigned arm9_dcache_index_max; +extern unsigned arm9_dcache_index_inc; #endif #ifdef CPU_ARM10 From owner-p4-projects@FreeBSD.ORG Sun Feb 20 20:37:03 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA9D016A4D0; Sun, 20 Feb 2005 20:37:02 +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 7A25716A4CE for ; Sun, 20 Feb 2005 20:37:02 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2680E43D4C for ; Sun, 20 Feb 2005 20:37:02 +0000 (GMT) (envelope-from jmg@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 j1KKb2E8055381 for ; Sun, 20 Feb 2005 20:37:02 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KKb1Jk055378 for perforce@freebsd.org; Sun, 20 Feb 2005 20:37:01 GMT (envelope-from jmg@freebsd.org) Date: Sun, 20 Feb 2005 20:37:01 GMT Message-Id: <200502202037.j1KKb1Jk055378@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71403 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, 20 Feb 2005 20:37:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=71403 Change 71403 by jmg@jmg_carbon on 2005/02/20 20:36:52 fix building the kernel, this exists in FreeBSD but I haven't integrated it yet... Affected files ... .. //depot/projects/arm/src/sys/kern/uipc_syscalls.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/kern/uipc_syscalls.c#2 (text+ko) ==== @@ -501,7 +501,7 @@ { struct socket *so; struct file *fp; - int error, s; + int error; int interrupted = 0; NET_LOCK_GIANT(); From owner-p4-projects@FreeBSD.ORG Sun Feb 20 20:41:08 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4CF8216A4D0; Sun, 20 Feb 2005 20:41:08 +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 2422116A4CE for ; Sun, 20 Feb 2005 20:41:08 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0F46043D2D for ; Sun, 20 Feb 2005 20:41:08 +0000 (GMT) (envelope-from jmg@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 j1KKf7WB055622 for ; Sun, 20 Feb 2005 20:41:07 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KKf7W4055619 for perforce@freebsd.org; Sun, 20 Feb 2005 20:41:07 GMT (envelope-from jmg@freebsd.org) Date: Sun, 20 Feb 2005 20:41:07 GMT Message-Id: <200502202041.j1KKf7W4055619@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71405 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, 20 Feb 2005 20:41:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=71405 Change 71405 by jmg@jmg_carbon on 2005/02/20 20:41:03 add a string for ARM9TDMI cpus... Affected files ... .. //depot/projects/arm/src/sys/arm/arm/identcpu.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/identcpu.c#2 (text+ko) ==== @@ -264,7 +264,7 @@ { "ARM7", "CPU_ARM7" }, /* CPU_CLASS_ARM7 */ { "ARM7TDMI", "CPU_ARM7TDMI" }, /* CPU_CLASS_ARM7TDMI */ { "ARM8", "CPU_ARM8" }, /* CPU_CLASS_ARM8 */ - { "ARM9TDMI", NULL }, /* CPU_CLASS_ARM9TDMI */ + { "ARM9TDMI", "CPU_ARM9TDMI" }, /* CPU_CLASS_ARM9TDMI */ { "ARM9E-S", NULL }, /* CPU_CLASS_ARM9ES */ { "ARM10E", "CPU_ARM10" }, /* CPU_CLASS_ARM10E */ { "SA-1", "CPU_SA110" }, /* CPU_CLASS_SA1 */ From owner-p4-projects@FreeBSD.ORG Sun Feb 20 20:49:19 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 733C316A4D0; Sun, 20 Feb 2005 20:49:19 +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 3494116A4CE for ; Sun, 20 Feb 2005 20:49:19 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0782143D39 for ; Sun, 20 Feb 2005 20:49:19 +0000 (GMT) (envelope-from jmg@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 j1KKnIEn062567 for ; Sun, 20 Feb 2005 20:49:18 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KKnI1s062564 for perforce@freebsd.org; Sun, 20 Feb 2005 20:49:18 GMT (envelope-from jmg@freebsd.org) Date: Sun, 20 Feb 2005 20:49:18 GMT Message-Id: <200502202049.j1KKnI1s062564@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71407 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, 20 Feb 2005 20:49:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=71407 Change 71407 by jmg@jmg_carbon on 2005/02/20 20:48:35 kill a line that I added for some debugging... Affected files ... .. //depot/projects/arm/src/sys/arm/arm/cpufunc.c#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/cpufunc.c#3 (text+ko) ==== @@ -1,6 +1,5 @@ /* $NetBSD: cpufunc.c,v 1.65 2003/11/05 12:53:15 scw Exp $ */ -#define ARM9_CACHE_WRITE_THROUGH 1 /*- * arm7tdmi support code Copyright (c) 2001 John Fremlin * arm8 support code Copyright (c) 1997 ARM Limited From owner-p4-projects@FreeBSD.ORG Sun Feb 20 20:50:21 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EE2E816A4D0; Sun, 20 Feb 2005 20:50:20 +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 CB6E716A4CE for ; Sun, 20 Feb 2005 20:50:20 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A159E43D54 for ; Sun, 20 Feb 2005 20:50:20 +0000 (GMT) (envelope-from jmg@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 j1KKoKC9062665 for ; Sun, 20 Feb 2005 20:50:20 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KKoKwt062662 for perforce@freebsd.org; Sun, 20 Feb 2005 20:50:20 GMT (envelope-from jmg@freebsd.org) Date: Sun, 20 Feb 2005 20:50:20 GMT Message-Id: <200502202050.j1KKoKwt062662@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71408 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, 20 Feb 2005 20:50:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=71408 Change 71408 by jmg@jmg_carbon on 2005/02/20 20:49:30 we're past this state, don't need page mapping output.. Affected files ... .. //depot/projects/arm/src/sys/arm/conf/TS7200#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/conf/TS7200#2 (text+ko) ==== @@ -20,9 +20,6 @@ machine arm ident TS7200 -# make pmap more verbose -options VERBOSE_INIT_ARM - options PHYSADDR=0x00000000 options KERNPHYSADDR=0x00200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm From owner-p4-projects@FreeBSD.ORG Sun Feb 20 20:52:24 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE02B16A4D0; Sun, 20 Feb 2005 20:52:23 +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 9EFDC16A4CE for ; Sun, 20 Feb 2005 20:52:23 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8756043D3F for ; Sun, 20 Feb 2005 20:52:23 +0000 (GMT) (envelope-from jmg@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 j1KKqNPf062799 for ; Sun, 20 Feb 2005 20:52:23 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KKqNrS062796 for perforce@freebsd.org; Sun, 20 Feb 2005 20:52:23 GMT (envelope-from jmg@freebsd.org) Date: Sun, 20 Feb 2005 20:52:23 GMT Message-Id: <200502202052.j1KKqNrS062796@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71409 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, 20 Feb 2005 20:52:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=71409 Change 71409 by jmg@jmg_carbon on 2005/02/20 20:51:25 physmem isn't linearly mapped.. copy the mapping that NetBSD has for the TS-7200... Submitted by: cognet Obtained from: NetBSD Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/ts7200_machdep.c#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/ep93xx/ts7200_machdep.c#3 (text+ko) ==== @@ -458,9 +458,15 @@ phys_avail[0] = SDRAM_START; phys_avail[1] = freemempos; phys_avail[0] = round_page(virtual_avail - KERNBASE + SDRAM_START); - phys_avail[1] = trunc_page(0x00000000 + memsize - 1); - phys_avail[2] = 0; - phys_avail[3] = 0; + phys_avail[1] = trunc_page(0x00800000 - 1); + phys_avail[2] = 0x01000000; + phys_avail[3] = trunc_page(0x01800000 - 1); + phys_avail[4] = 0x04000000; + phys_avail[5] = trunc_page(0x04800000 - 1); + phys_avail[6] = 0x05000000; + phys_avail[7] = trunc_page(0x05800000 - 1); + phys_avail[8] = 0; + phys_avail[9] = 0; /* Do basic tuning, hz etc */ init_param1(); From owner-p4-projects@FreeBSD.ORG Sun Feb 20 21:03:38 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 71D3D16A4D2; Sun, 20 Feb 2005 21:03:38 +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 3358816A4CE for ; Sun, 20 Feb 2005 21:03:38 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AE15443D41 for ; Sun, 20 Feb 2005 21:03:37 +0000 (GMT) (envelope-from jmg@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 j1KL3bn4063323 for ; Sun, 20 Feb 2005 21:03:37 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KL3btO063320 for perforce@freebsd.org; Sun, 20 Feb 2005 21:03:37 GMT (envelope-from jmg@freebsd.org) Date: Sun, 20 Feb 2005 21:03:37 GMT Message-Id: <200502202103.j1KL3btO063320@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71410 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, 20 Feb 2005 21:03:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=71410 Change 71410 by jmg@jmg_carbon on 2005/02/20 21:03:16 change the irq interface slightly... remove arm_get_irqnb, and replace with arm_get_next_irq that returns the next unmask irq that is pending.. we no longer mask/unmask/enable interrupts in executing/dispatching the interrupt handlers... change the interface for arm_(un)?mask_irq to take a number instead of a mask to support >32 irq systems... also fix probing of the ep93xx devices, make the child device eparm, and probe/attach the devices... Submitted by: cognet (the probing/attaching) Affected files ... .. //depot/projects/arm/src/sys/arm/arm/intr.c#2 edit .. //depot/projects/arm/src/sys/arm/ep93xx/ep93xx.c#3 edit .. //depot/projects/arm/src/sys/arm/include/intr.h#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/intr.c#2 (text+ko) ==== @@ -67,7 +67,7 @@ struct arm_intr *intr = (struct arm_intr *)arg; intr->handler(intr->arg); - arm_unmask_irqs(1 << intr->irq); + arm_unmask_irqs(intr->irq); } void arm_handler_execute(void *, int); @@ -127,14 +127,8 @@ struct thread *td = curthread; td->td_intr_nesting_level++; - if (irqnb == 0) - irqnb = arm_get_irqnb(frame); - arm_mask_irqs(irqnb); - enable_interrupts(I32_bit|F32_bit); - while (irqnb != 0) { - i = ffs(irqnb) - 1; + while ((i = arm_get_next_irq()) != -1) { intrcnt[intrcnt_tab[i]]++; - irqnb &= ~(1U << i); ithd = ithreads[i]; if (!ithd) continue; @@ -148,7 +142,6 @@ arm_unmask_irqs(1 << i); } else if (ih) ithread_schedule(ithd); - irqnb |= arm_get_irqnb(frame); } td->td_intr_nesting_level--; } ==== //depot/projects/arm/src/sys/arm/ep93xx/ep93xx.c#3 (text+ko) ==== @@ -80,45 +80,47 @@ void -arm_unmask_irqs(int irqmask) +arm_unmask_irqs(int irq) { - int irq; + KASSERT(irq < VIC_NIRQ * 2, ("irq %d is greater than max", irq)); - while ((irq = ffs(irqmask) - 1)) { - if (irq < VIC_NIRQ) { - vic1_intr_enabled |= (1U << irq); - VIC1REG(EP93XX_VIC_IntEnable) = (1U << irq); - } else { - vic2_intr_enabled |= (1U << (irq - VIC_NIRQ)); - VIC2REG(EP93XX_VIC_IntEnable) = - (1U << (irq - VIC_NIRQ)); - } + if (irq < VIC_NIRQ) { + vic1_intr_enabled |= (1U << irq); + VIC1REG(EP93XX_VIC_IntEnable) = (1U << irq); + } else { + vic2_intr_enabled |= (1U << (irq - VIC_NIRQ)); + VIC2REG(EP93XX_VIC_IntEnable) = + (1U << (irq - VIC_NIRQ)); } } void -arm_mask_irqs(int irqmask) +arm_mask_irqs(int irq) { - int irq; + KASSERT(irq < VIC_NIRQ * 2, ("irq %d is greater than max", irq)); - while ((irq = ffs(irqmask) - 1)) { - if (irq < VIC_NIRQ) { - vic1_intr_enabled &= ~(1U << irq); - VIC1REG(EP93XX_VIC_IntEnClear) = (1U << irq); - } else { - vic2_intr_enabled &= ~(1U << (irq - VIC_NIRQ)); - VIC2REG(EP93XX_VIC_IntEnClear) = - (1U << (irq - VIC_NIRQ)); - } + if (irq < VIC_NIRQ) { + vic1_intr_enabled &= ~(1U << irq); + VIC1REG(EP93XX_VIC_IntEnClear) = (1U << irq); + } else { + vic2_intr_enabled &= ~(1U << (irq - VIC_NIRQ)); + VIC2REG(EP93XX_VIC_IntEnClear) = + (1U << (irq - VIC_NIRQ)); } } int -arm_get_irqnb(void *unused) +arm_get_next_irq() { - - return (VIC1REG(EP93XX_VIC_IRQStatus) | - VIC2REG(EP93XX_VIC_IRQStatus)); + int reg; + + if ((reg = VIC1REG(EP93XX_VIC_IRQStatus) & vic1_intr_enabled)) { + return ffs(reg) - 1; + } else if ((reg = VIC2REG(EP93XX_VIC_IRQStatus) & vic2_intr_enabled)) { + return ffs(reg) - 1 + 32; + } + + return -1; } static void @@ -152,7 +154,7 @@ ep93xx_identify(driver_t *driver, device_t parent) { - BUS_ADD_CHILD(parent, 0, "ep", 0); + BUS_ADD_CHILD(parent, 0, "eparm", 0); } struct arm32_dma_range * @@ -176,6 +178,11 @@ ep93xx_intr_init(); device_add_child(dev, "uart", 0); device_add_child(dev, "epclk", 0); + + /* kick these off */ + bus_generic_probe(dev); + bus_generic_attach(dev); + return (0); } @@ -224,9 +231,10 @@ struct resource *ires, int flags, driver_intr_t *intr, void *arg, void **cookiep) { + BUS_SETUP_INTR(device_get_parent(dev), child, ires, flags, intr, arg, cookiep); - arm_unmask_irqs(1 << ires->r_start); + arm_unmask_irqs(ires->r_start); return (0); } ==== //depot/projects/arm/src/sys/arm/include/intr.h#2 (text+ko) ==== @@ -47,10 +47,11 @@ #include -int arm_get_irqnb(void *); +int arm_get_next_irq(void); void arm_mask_irqs(int); void arm_unmask_irqs(int); void set_splmasks(void); void arm_setup_irqhandler(const char *, void (*)(void*), void *, int, int, void **); + #endif /* _MACHINE_INTR_H */ From owner-p4-projects@FreeBSD.ORG Sun Feb 20 21:08:45 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A480416A4D0; Sun, 20 Feb 2005 21:08:44 +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 8082E16A4CE for ; Sun, 20 Feb 2005 21:08:44 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 54EE743D2D for ; Sun, 20 Feb 2005 21:08:44 +0000 (GMT) (envelope-from jmg@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 j1KL8iF6063545 for ; Sun, 20 Feb 2005 21:08:44 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KL8iIG063542 for perforce@freebsd.org; Sun, 20 Feb 2005 21:08:44 GMT (envelope-from jmg@freebsd.org) Date: Sun, 20 Feb 2005 21:08:44 GMT Message-Id: <200502202108.j1KL8iIG063542@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71411 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, 20 Feb 2005 21:08:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=71411 Change 71411 by jmg@jmg_carbon on 2005/02/20 21:08:30 we need to mask the intrrupt that we schedule, and not unmask the not (now) masked FAST interrupts... Pointed out by: cognet Affected files ... .. //depot/projects/arm/src/sys/arm/arm/intr.c#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/intr.c#3 (text+ko) ==== @@ -139,9 +139,10 @@ ih->ih_handler(ih->ih_argument ? ih->ih_argument : frame); } - arm_unmask_irqs(1 << i); - } else if (ih) + } else if (ih) { + arm_mask_irqs(1 << i); ithread_schedule(ithd); + } } td->td_intr_nesting_level--; } From owner-p4-projects@FreeBSD.ORG Sun Feb 20 21:25:05 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EB56B16A4D0; Sun, 20 Feb 2005 21:25:04 +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 AA85F16A4CE for ; Sun, 20 Feb 2005 21:25:04 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8037843D2D for ; Sun, 20 Feb 2005 21:25:04 +0000 (GMT) (envelope-from cognet@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 j1KLP4b6064206 for ; Sun, 20 Feb 2005 21:25:04 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KLP4sR064203 for perforce@freebsd.org; Sun, 20 Feb 2005 21:25:04 GMT (envelope-from cognet@freebsd.org) Date: Sun, 20 Feb 2005 21:25:04 GMT Message-Id: <200502202125.j1KLP4sR064203@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Subject: PERFORCE change 71412 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, 20 Feb 2005 21:25:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=71412 Change 71412 by cognet@cognet on 2005/02/20 21:24:07 Bring back a more generic locore.S. Also fix the braindead attempt to get the pc to our virtual space. in ts7200_machdep.c, move the call to cninit() after the new page table is used, since the uart memio is not mapped anymore in locore.S Affected files ... .. //depot/projects/arm/src/sys/arm/arm/locore.S#4 edit .. //depot/projects/arm/src/sys/arm/ep93xx/ts7200_machdep.c#4 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/locore.S#4 (text+ko) ==== @@ -1,6 +1,8 @@ +<<<<<<< locore.S +======= /* $NetBSD: locore.S,v 1.14 2003/04/20 16:21:40 thorpej Exp $ */ -/*- +/* * Copyright (C) 1994-1997 Mark Brinicombe * Copyright (C) 1994 Brini * All rights reserved. @@ -37,7 +39,7 @@ #include #include #include -__FBSDID("$FreeBSD: src/sys/arm/arm/locore.S,v 1.8 2005/01/23 22:08:31 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/locore.S,v 1.4 2004/09/28 14:37:08 cognet Exp $"); /* What size should this really be ? It is only used by init_arm() */ #define INIT_ARM_STACK_SIZE 2048 @@ -129,10 +131,7 @@ 3: ldmia r4!, {r1,r2,r3} /* # of sections, PA|attr, VA */ cmp r1, #0 - adrne r5, 2b - bicne r5, r5, #0xff000000 - orrne r5, r5, #PHYSADDR - movne pc, r5 + bne 2b mcr p15, 0, r0, c2, c0, 0 /* Set TTB */ mcr p15, 0, r0, c8, c7, 0 /* Flush TLB */ @@ -160,20 +159,6 @@ subs r2, r2, #4 bgt .L1 - /* fix up the pc to be at KERNVIRTADDR */ - ldr r4, =KERNVIRTADDR - cmp pc, r4 -#if KERNVIRTADDR > KERNPHYSADDR - ldr r4, =KERNVIRTADDR - ldr r5, =KERNPHYSADDR - sub r4, r4, r5 - add pc, pc, r4 -#else - ldrgt r4, =KERNPHYSADDR - ldrgt r5, =KERNVIRTADDR - subgt r4, r4, r5 - sublt pc, pc, r4 -#endif ldr fp, =KERNVIRTADDR /* trace back starts here */ bl _C_LABEL(initarm) /* Off we go */ @@ -195,11 +180,12 @@ .word STARTUP_PAGETABLE_ADDR mmu_init_table: /* fill all table VA==PA */ + MMU_INIT(0x00000000, 0x00000000, 1<<(32-L1_S_SHIFT), L1_TYPE_S|L1_S_AP(AP_KRW)) /* map SDRAM VA==PA, WT cacheable */ MMU_INIT(PHYSADDR, PHYSADDR , 64, L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)) /* map VA 0xc0000000..0xc3ffffff to PA */ MMU_INIT(KERNBASE, PHYSADDR, 64, L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)) - MMU_INIT(0xf0100000, 0x80800000, 1<<(32-L1_S_SHIFT), L1_TYPE_S|L1_S_AP(AP_KRW)) + MMU_INIT(0xfe800000, 0xfe800000, 1<<(32-L1_S_SHIFT), L1_TYPE_S|L1_S_AP(AP_KRW)) .word 0 /* end of table */ #endif @@ -314,23 +300,18 @@ mov pc, r7 #endif -ENTRY(asm_putc) - ldr r1, =0xf01c0000 - strb r0, [r1] - mov pc, lr - /* * setjump + longjmp */ ENTRY(setjmp) stmia r0, {r4-r14} mov r0, #0x00000000 - RET + mov pc, lr ENTRY(longjmp) ldmia r0, {r4-r14} mov r0, #0x00000001 - RET + mov pc, lr .data .global _C_LABEL(esym) @@ -357,3 +338,4 @@ szsigcode: .long esigcode-sigcode /* End of locore.S */ +>>>>>>> 1.4 ==== //depot/projects/arm/src/sys/arm/ep93xx/ts7200_machdep.c#4 (text+ko) ==== @@ -221,7 +221,6 @@ boothowto |= RB_VERBOSE | RB_SINGLE; i = 0; set_cpufuncs(); - cninit(); fake_preload[i++] = MODINFO_NAME; fake_preload[i++] = strlen("elf kernel") + 1; @@ -395,6 +394,7 @@ cpu_tlb_flushID(); cpu_domains(DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)); + cninit(); /* * Pages were allocated during the secondary bootstrap for the From owner-p4-projects@FreeBSD.ORG Sun Feb 20 21:29:10 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4E1F416A4D0; Sun, 20 Feb 2005 21:29:10 +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 2BB8616A4CE for ; Sun, 20 Feb 2005 21:29:10 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DCDC243D2F for ; Sun, 20 Feb 2005 21:29:09 +0000 (GMT) (envelope-from cognet@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 j1KLT93m064803 for ; Sun, 20 Feb 2005 21:29:09 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KLT9OL064800 for perforce@freebsd.org; Sun, 20 Feb 2005 21:29:09 GMT (envelope-from cognet@freebsd.org) Date: Sun, 20 Feb 2005 21:29:09 GMT Message-Id: <200502202129.j1KLT9OL064800@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Subject: PERFORCE change 71413 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, 20 Feb 2005 21:29:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=71413 Change 71413 by cognet@cognet on 2005/02/20 21:28:50 Bring back the good locore.S, not an elder copy I had on an another box. Affected files ... .. //depot/projects/arm/src/sys/arm/arm/locore.S#5 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/locore.S#5 (text+ko) ==== @@ -1,8 +1,6 @@ -<<<<<<< locore.S -======= /* $NetBSD: locore.S,v 1.14 2003/04/20 16:21:40 thorpej Exp $ */ -/* +/*- * Copyright (C) 1994-1997 Mark Brinicombe * Copyright (C) 1994 Brini * All rights reserved. @@ -39,7 +37,7 @@ #include #include #include -__FBSDID("$FreeBSD: src/sys/arm/arm/locore.S,v 1.4 2004/09/28 14:37:08 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/locore.S,v 1.8 2005/01/23 22:08:31 cognet Exp $"); /* What size should this really be ? It is only used by init_arm() */ #define INIT_ARM_STACK_SIZE 2048 @@ -67,6 +65,7 @@ ASENTRY_NP(_start) + /* Check if we are running on RAM, if not move ourself to RAM */ #if 0 cmp pc, #PHYSADDR @@ -131,7 +130,10 @@ 3: ldmia r4!, {r1,r2,r3} /* # of sections, PA|attr, VA */ cmp r1, #0 - bne 2b + adrne r5, 2b + bicne r5, r5, #0xff000000 + orrne r5, r5, #PHYSADDR + movne pc, r5 mcr p15, 0, r0, c2, c0, 0 /* Set TTB */ mcr p15, 0, r0, c8, c7, 0 /* Flush TLB */ @@ -159,6 +161,22 @@ subs r2, r2, #4 bgt .L1 + ldr r4, =KERNVIRTADDR + cmp pc, r4 +#if KERNVIRTADDR > KERNPHYSADDR + bgt virt_done + ldr r4, =KERNVIRTADDR + ldr r5, =KERNPHYSADDR + sub r4, r4, r5 + add pc, pc, r4 +#else + blt virt_done + ldr r4, =KERNPHYSADDR + ldr r5, =KERNVIRTADDR + sub r4, r4, r5 + sub pc, pc, r4 +#endif +virt_done: ldr fp, =KERNVIRTADDR /* trace back starts here */ bl _C_LABEL(initarm) /* Off we go */ @@ -180,12 +198,10 @@ .word STARTUP_PAGETABLE_ADDR mmu_init_table: /* fill all table VA==PA */ - MMU_INIT(0x00000000, 0x00000000, 1<<(32-L1_S_SHIFT), L1_TYPE_S|L1_S_AP(AP_KRW)) /* map SDRAM VA==PA, WT cacheable */ MMU_INIT(PHYSADDR, PHYSADDR , 64, L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)) /* map VA 0xc0000000..0xc3ffffff to PA */ MMU_INIT(KERNBASE, PHYSADDR, 64, L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)) - MMU_INIT(0xfe800000, 0xfe800000, 1<<(32-L1_S_SHIFT), L1_TYPE_S|L1_S_AP(AP_KRW)) .word 0 /* end of table */ #endif @@ -306,12 +322,12 @@ ENTRY(setjmp) stmia r0, {r4-r14} mov r0, #0x00000000 - mov pc, lr + RET ENTRY(longjmp) ldmia r0, {r4-r14} mov r0, #0x00000001 - mov pc, lr + RET .data .global _C_LABEL(esym) @@ -338,4 +354,3 @@ szsigcode: .long esigcode-sigcode /* End of locore.S */ ->>>>>>> 1.4 From owner-p4-projects@FreeBSD.ORG Sun Feb 20 21:31:13 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 332E616A4D0; Sun, 20 Feb 2005 21:31:13 +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 ED8F516A4CE for ; Sun, 20 Feb 2005 21:31:12 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B838D43D2D for ; Sun, 20 Feb 2005 21:31:12 +0000 (GMT) (envelope-from cognet@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 j1KLVCOT064940 for ; Sun, 20 Feb 2005 21:31:12 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KLVC7v064937 for perforce@freebsd.org; Sun, 20 Feb 2005 21:31:12 GMT (envelope-from cognet@freebsd.org) Date: Sun, 20 Feb 2005 21:31:12 GMT Message-Id: <200502202131.j1KLVC7v064937@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Subject: PERFORCE change 71414 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, 20 Feb 2005 21:31:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=71414 Change 71414 by cognet@cognet on 2005/02/20 21:30:40 Reorganize the code to get it to work with the new locore.S. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/i80321/iq31244_machdep.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/i80321/iq31244_machdep.c#2 (text+ko) ==== @@ -209,16 +209,9 @@ uint32_t fake_preload[35]; uint32_t memsize, memstart; - i80321_calibrate_delay(); - cninit(); i = 0; + set_cpufuncs(); - /* - * Fetch the SDRAM start/size from the i80321 SDRAM configration - * registers. - */ - i80321_sdram_bounds(&obio_bs_tag, VERDE_PMMR_BASE + VERDE_MCU_BASE, - &memstart, &memsize); fake_preload[i++] = MODINFO_NAME; fake_preload[i++] = strlen("elf kernel") + 1; strcpy((char*)&fake_preload[i++], "elf kernel"); @@ -237,7 +230,6 @@ fake_preload[i] = 0; preload_metadata = (void *)fake_preload; - physmem = memsize / PAGE_SIZE; pcpu_init(pcpup, 0, sizeof(struct pcpu)); PCPU_SET(curthread, &thread0); @@ -308,7 +300,6 @@ */ l1pagetable = kernel_l1pt.pv_va; - /* Map the L2 pages tables in the L1 page table */ pmap_link_l2pt(l1pagetable, ARM_VECTORS_HIGH & ~(0x00100000 - 1), &kernel_pt_table[KERNEL_PT_SYS]); @@ -400,7 +391,6 @@ setttb(kernel_l1pt.pv_pa); cpu_tlb_flushID(); cpu_domains(DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)); - /* * Pages were allocated during the secondary bootstrap for the * stacks for different CPU modes. @@ -409,6 +399,7 @@ * Since the ARM stacks use STMFD etc. we must set r13 to the top end * of the stack memory. */ + set_stackptr(PSR_IRQ32_MODE, irqstack.pv_va + IRQ_STACK_SIZE * PAGE_SIZE); @@ -430,6 +421,15 @@ * this problem will not occur after initarm(). */ cpu_idcache_wbinv_all(); + /* + * Fetch the SDRAM start/size from the i80321 SDRAM configration + * registers. + */ + i80321_calibrate_delay(); + i80321_sdram_bounds(&obio_bs_tag, IQ80321_80321_VBASE + VERDE_MCU_BASE, + &memstart, &memsize); + physmem = memsize / PAGE_SIZE; + cninit(); /* Set stack for exception handlers */ From owner-p4-projects@FreeBSD.ORG Sun Feb 20 22:19:12 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2BB6016A4D0; Sun, 20 Feb 2005 22:19:12 +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 F130B16A4CE for ; Sun, 20 Feb 2005 22:19:11 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C57AD43D53 for ; Sun, 20 Feb 2005 22:19:11 +0000 (GMT) (envelope-from cognet@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 j1KMJBKK066911 for ; Sun, 20 Feb 2005 22:19:11 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KMJB6t066908 for perforce@freebsd.org; Sun, 20 Feb 2005 22:19:11 GMT (envelope-from cognet@freebsd.org) Date: Sun, 20 Feb 2005 22:19:11 GMT Message-Id: <200502202219.j1KMJB6t066908@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Subject: PERFORCE change 71417 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, 20 Feb 2005 22:19:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=71417 Change 71417 by cognet@cognet on 2005/02/20 22:18:22 arm_mask_irqs() now takes a single irq number as argument, not a bitfield. Affected files ... .. //depot/projects/arm/src/sys/arm/arm/intr.c#4 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/intr.c#4 (text+ko) ==== @@ -140,7 +140,7 @@ ih->ih_argument : frame); } } else if (ih) { - arm_mask_irqs(1 << i); + arm_mask_irqs(i); ithread_schedule(ithd); } } From owner-p4-projects@FreeBSD.ORG Sun Feb 20 22:19:13 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 285B216A4DB; Sun, 20 Feb 2005 22:19:13 +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 3CA7816A4D6 for ; Sun, 20 Feb 2005 22:19:12 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1F7C343D53 for ; Sun, 20 Feb 2005 22:19:12 +0000 (GMT) (envelope-from cognet@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 j1KMJCwU066917 for ; Sun, 20 Feb 2005 22:19:12 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KMJBUv066914 for perforce@freebsd.org; Sun, 20 Feb 2005 22:19:11 GMT (envelope-from cognet@freebsd.org) Date: Sun, 20 Feb 2005 22:19:11 GMT Message-Id: <200502202219.j1KMJBUv066914@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Subject: PERFORCE change 71418 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, 20 Feb 2005 22:19:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=71418 Change 71418 by cognet@cognet on 2005/02/20 22:19:04 Convert the iq31244 code to the new irq api. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/i80321/i80321.c#2 edit .. //depot/projects/arm/src/sys/arm/xscale/i80321/iq80321.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/i80321/i80321.c#2 (text+ko) ==== @@ -259,10 +259,13 @@ } int -arm_get_irqnb(void *clockframe) +arm_get_next_irq() { + int irq; - return (i80321_iintsrc_read()); + if ((irq = i80321_iintsrc_read())) + return (ffs(irq) - 1); + return (-1); } ==== //depot/projects/arm/src/sys/arm/xscale/i80321/iq80321.c#2 (text+ko) ==== @@ -265,14 +265,14 @@ void arm_mask_irqs(int nb) { - intr_enabled &= ~nb; + intr_enabled &= ~(1 << nb); i80321_set_intrmask(); } void arm_unmask_irqs(int nb) { - intr_enabled |= nb; + intr_enabled |= (1 << nb); i80321_set_intrmask(); } From owner-p4-projects@FreeBSD.ORG Sun Feb 20 22:22:17 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE97416A4D0; Sun, 20 Feb 2005 22:22:16 +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 6578316A4CE for ; Sun, 20 Feb 2005 22:22:16 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4BC1643D1D for ; Sun, 20 Feb 2005 22:22:16 +0000 (GMT) (envelope-from cognet@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 j1KMMGjq067181 for ; Sun, 20 Feb 2005 22:22:16 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1KMMFq0067178 for perforce@freebsd.org; Sun, 20 Feb 2005 22:22:15 GMT (envelope-from cognet@freebsd.org) Date: Sun, 20 Feb 2005 22:22:15 GMT Message-Id: <200502202222.j1KMMFq0067178@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Subject: PERFORCE change 71419 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, 20 Feb 2005 22:22:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=71419 Change 71419 by cognet@cognet on 2005/02/20 22:21:20 Convert sa11x0 specific code to the new irq api. Affected files ... .. //depot/projects/arm/src/sys/arm/sa11x0/sa11x0_irqhandler.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/sa11x0/sa11x0_irqhandler.c#2 (text+ko) ==== @@ -102,20 +102,24 @@ extern struct sa11x0_softc *sa11x0_softc; +static uint32_t sa11x0_irq_mask = 0xfffffff; + /* Recalculate the interrupt masks from scratch. * We could code special registry and deregistry versions of this function that * would be faster, but the code would be nastier, and we don't expect this to * happen very much anyway. */ int -arm_get_irqnb(void *frame) +arm_get_next_irq() { - struct sa11x0_softc *sc = sa11x0_softc; + int irq; - return(bus_space_read_4(sc->sc_iot, sc->sc_ioh, SAIPIC_IP)); + if ((irq = (bus_space_read_4(sc->sc_iot, sc->sc_ioh, SAIPIC_IP) & + sa11x0_irq_mask)) != 0) + return (ffs(irq) - 1); + return (-1); } -static uint32_t sa11x0_irq_mask = 0xfffffff; extern vm_offset_t saipic_base; @@ -123,7 +127,7 @@ arm_mask_irqs(int irq) { - sa11x0_irq_mask &= ~irq; + sa11x0_irq_mask &= ~(1 << irq); __asm __volatile("str %0, [%1, #0x04]" /* SAIPIC_MR */ : : "r" (sa11x0_irq_mask), "r" (saipic_base)); } @@ -132,7 +136,7 @@ arm_unmask_irqs(int irq) { - sa11x0_irq_mask |= irq; + sa11x0_irq_mask |= (1 << irq); __asm __volatile("str %0, [%1, #0x04]" /* SAIPIC_MR */ : : "r" (sa11x0_irq_mask), "r" (saipic_base)); } From owner-p4-projects@FreeBSD.ORG Mon Feb 21 01:33:14 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 274AF16A4D0; Mon, 21 Feb 2005 01:33:13 +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 CED5216A4CF for ; Mon, 21 Feb 2005 01:33:12 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9355043D2F for ; Mon, 21 Feb 2005 01:33:12 +0000 (GMT) (envelope-from jmg@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 j1L1XC0g082114 for ; Mon, 21 Feb 2005 01:33:12 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1L1XCNb082111 for perforce@freebsd.org; Mon, 21 Feb 2005 01:33:12 GMT (envelope-from jmg@freebsd.org) Date: Mon, 21 Feb 2005 01:33:12 GMT Message-Id: <200502210133.j1L1XCNb082111@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71434 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: Mon, 21 Feb 2005 01:33:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=71434 Change 71434 by jmg@jmg_carbon on 2005/02/21 01:32:48 the arm_(un)?mask_irqs only work on a single irq, name it such.. Affected files ... .. //depot/projects/arm/src/sys/arm/arm/intr.c#5 edit .. //depot/projects/arm/src/sys/arm/ep93xx/ep93xx.c#4 edit .. //depot/projects/arm/src/sys/arm/include/intr.h#3 edit .. //depot/projects/arm/src/sys/arm/sa11x0/sa11x0_irqhandler.c#3 edit .. //depot/projects/arm/src/sys/arm/xscale/i80321/iq80321.c#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/intr.c#5 (text+ko) ==== @@ -67,7 +67,7 @@ struct arm_intr *intr = (struct arm_intr *)arg; intr->handler(intr->arg); - arm_unmask_irqs(intr->irq); + arm_unmask_irq(intr->irq); } void arm_handler_execute(void *, int); @@ -140,7 +140,7 @@ ih->ih_argument : frame); } } else if (ih) { - arm_mask_irqs(i); + arm_mask_irq(i); ithread_schedule(ithd); } } ==== //depot/projects/arm/src/sys/arm/ep93xx/ep93xx.c#4 (text+ko) ==== @@ -80,7 +80,7 @@ void -arm_unmask_irqs(int irq) +arm_unmask_irq(int irq) { KASSERT(irq < VIC_NIRQ * 2, ("irq %d is greater than max", irq)); @@ -95,7 +95,7 @@ } void -arm_mask_irqs(int irq) +arm_mask_irq(int irq) { KASSERT(irq < VIC_NIRQ * 2, ("irq %d is greater than max", irq)); @@ -234,7 +234,7 @@ BUS_SETUP_INTR(device_get_parent(dev), child, ires, flags, intr, arg, cookiep); - arm_unmask_irqs(ires->r_start); + arm_unmask_irq(ires->r_start); return (0); } ==== //depot/projects/arm/src/sys/arm/include/intr.h#3 (text+ko) ==== @@ -48,8 +48,8 @@ #include int arm_get_next_irq(void); -void arm_mask_irqs(int); -void arm_unmask_irqs(int); +void arm_mask_irq(int); +void arm_unmask_irq(int); void set_splmasks(void); void arm_setup_irqhandler(const char *, void (*)(void*), void *, int, int, void **); ==== //depot/projects/arm/src/sys/arm/sa11x0/sa11x0_irqhandler.c#3 (text+ko) ==== @@ -124,7 +124,7 @@ extern vm_offset_t saipic_base; void -arm_mask_irqs(int irq) +arm_mask_irq(int irq) { sa11x0_irq_mask &= ~(1 << irq); @@ -133,7 +133,7 @@ } void -arm_unmask_irqs(int irq) +arm_unmask_irq(int irq) { sa11x0_irq_mask |= (1 << irq); ==== //depot/projects/arm/src/sys/arm/xscale/i80321/iq80321.c#3 (text+ko) ==== @@ -263,14 +263,14 @@ } void -arm_mask_irqs(int nb) +arm_mask_irq(int nb) { intr_enabled &= ~(1 << nb); i80321_set_intrmask(); } void -arm_unmask_irqs(int nb) +arm_unmask_irq(int nb) { intr_enabled |= (1 << nb); i80321_set_intrmask(); From owner-p4-projects@FreeBSD.ORG Mon Feb 21 04:37:55 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3338616A4D0; Mon, 21 Feb 2005 04:37:55 +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 08B6616A4CE for ; Mon, 21 Feb 2005 04:37:55 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BD13C43D53 for ; Mon, 21 Feb 2005 04:37:54 +0000 (GMT) (envelope-from jmg@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 j1L4bsda088898 for ; Mon, 21 Feb 2005 04:37:54 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1L4bsim088895 for perforce@freebsd.org; Mon, 21 Feb 2005 04:37:54 GMT (envelope-from jmg@freebsd.org) Date: Mon, 21 Feb 2005 04:37:54 GMT Message-Id: <200502210437.j1L4bsim088895@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71437 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: Mon, 21 Feb 2005 04:37:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=71437 Change 71437 by jmg@jmg_carbon on 2005/02/21 04:37:45 make my board boot again.. Affected files ... .. //depot/projects/arm/src/sys/arm/arm/locore.S#6 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/locore.S#6 (text+ko) ==== @@ -164,7 +164,7 @@ ldr r4, =KERNVIRTADDR cmp pc, r4 #if KERNVIRTADDR > KERNPHYSADDR - bgt virt_done + blt virt_done ldr r4, =KERNVIRTADDR ldr r5, =KERNPHYSADDR sub r4, r4, r5 From owner-p4-projects@FreeBSD.ORG Mon Feb 21 04:40:59 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 31FB016A4D0; Mon, 21 Feb 2005 04:40:59 +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 0D09516A4CE for ; Mon, 21 Feb 2005 04:40:59 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D064443D58 for ; Mon, 21 Feb 2005 04:40:58 +0000 (GMT) (envelope-from jmg@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 j1L4ewsB089031 for ; Mon, 21 Feb 2005 04:40:58 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1L4ew2f089028 for perforce@freebsd.org; Mon, 21 Feb 2005 04:40:58 GMT (envelope-from jmg@freebsd.org) Date: Mon, 21 Feb 2005 04:40:58 GMT Message-Id: <200502210440.j1L4ew2f089028@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71438 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: Mon, 21 Feb 2005 04:40:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=71438 Change 71438 by jmg@jmg_carbon on 2005/02/21 04:40:20 branch off std.ep93xx to put device creation and other ep93xx specific things.. to bad p4 doesn't let you delete and add in the same commit to break the history.. oh well.. Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/std.ep93xx#1 branch .. //depot/projects/arm/src/sys/arm/ep93xx/std.ts7200#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/ep93xx/std.ts7200#2 (text+ko) ==== @@ -1,3 +1,3 @@ #$FreeBSD$ -files "../ep93xx/files.ep93xx" -cpu CPU_ARM9 + +include "../ep93xx/std.ep93xx" From owner-p4-projects@FreeBSD.ORG Mon Feb 21 08:36:49 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 54E2816A4D0; Mon, 21 Feb 2005 08:36: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 206A516A4CE for ; Mon, 21 Feb 2005 08:36:49 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E7F0843D1F for ; Mon, 21 Feb 2005 08:36:48 +0000 (GMT) (envelope-from davidxu@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 j1L8am64004984 for ; Mon, 21 Feb 2005 08:36:48 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1L8amcv004981 for perforce@freebsd.org; Mon, 21 Feb 2005 08:36:48 GMT (envelope-from davidxu@freebsd.org) Date: Mon, 21 Feb 2005 08:36:48 GMT Message-Id: <200502210836.j1L8amcv004981@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 71447 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: Mon, 21 Feb 2005 08:36:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=71447 Change 71447 by davidxu@davidxu_celeron on 2005/02/21 08:36:02 use _rtld_free_tls to free tcb. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread/arch/i386/i386/pthread_md.c#4 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthread/arch/i386/i386/pthread_md.c#4 (text+ko) ==== @@ -66,7 +66,7 @@ ldt.sd.sd_gran = 0; /* no more than 1M */ tcb->tcb_ldt = i386_set_ldt(LDT_AUTO_ALLOC, &ldt, 1); if (tcb->tcb_ldt < 0) { - free(tcb); + _rtld_free_tls(tcb, sizeof(struct tcb), 16); tcb = NULL; } #endif From owner-p4-projects@FreeBSD.ORG Mon Feb 21 09:03:22 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0FACD16A4D0; Mon, 21 Feb 2005 09:03:22 +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 DA29A16A4CE for ; Mon, 21 Feb 2005 09:03:21 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B018143D55 for ; Mon, 21 Feb 2005 09:03:21 +0000 (GMT) (envelope-from davidxu@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 j1L93L8Z012611 for ; Mon, 21 Feb 2005 09:03:21 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1L93LQn012608 for perforce@freebsd.org; Mon, 21 Feb 2005 09:03:21 GMT (envelope-from davidxu@freebsd.org) Date: Mon, 21 Feb 2005 09:03:21 GMT Message-Id: <200502210903.j1L93LQn012608@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 71449 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: Mon, 21 Feb 2005 09:03:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=71449 Change 71449 by davidxu@davidxu_celeron on 2005/02/21 09:02:51 Check negative value. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_concurrency.c#5 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_concurrency.c#5 (text+ko) ==== @@ -54,6 +54,9 @@ int _pthread_setconcurrency(int new_level) { - level = new_level; - return 0; + if (new_level > 0) { + level = new_level; + return (0); + } + return (EINVAL); } From owner-p4-projects@FreeBSD.ORG Mon Feb 21 09:18:41 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EE1C516A4D0; Mon, 21 Feb 2005 09:18:40 +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 C414916A4CE for ; Mon, 21 Feb 2005 09:18:40 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 981B843D48 for ; Mon, 21 Feb 2005 09:18:40 +0000 (GMT) (envelope-from davidxu@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 j1L9Ie1m013206 for ; Mon, 21 Feb 2005 09:18:40 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1L9IeMt013203 for perforce@freebsd.org; Mon, 21 Feb 2005 09:18:40 GMT (envelope-from davidxu@freebsd.org) Date: Mon, 21 Feb 2005 09:18:40 GMT Message-Id: <200502210918.j1L9IeMt013203@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 71450 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: Mon, 21 Feb 2005 09:18:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=71450 Change 71450 by davidxu@davidxu_celeron on 2005/02/21 09:17:45 Remove unused macro. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_concurrency.c#6 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_concurrency.c#6 (text+ko) ==== @@ -33,13 +33,6 @@ #include "thr_private.h" -/*#define DEBUG_CONCURRENCY */ -#ifdef DEBUG_CONCURRENCY -#define DBG_MSG stdout_debug -#else -#define DBG_MSG(x...) -#endif - static int level = 0; __weak_reference(_pthread_getconcurrency, pthread_getconcurrency); From owner-p4-projects@FreeBSD.ORG Mon Feb 21 14:00:24 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0BE4816A4D3; Mon, 21 Feb 2005 14:00:24 +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 D792A16A4D1 for ; Mon, 21 Feb 2005 14:00:23 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C111C43D55 for ; Mon, 21 Feb 2005 14:00:23 +0000 (GMT) (envelope-from davidxu@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 j1LE0N7q032084 for ; Mon, 21 Feb 2005 14:00:23 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1LE0NBM032080 for perforce@freebsd.org; Mon, 21 Feb 2005 14:00:23 GMT (envelope-from davidxu@freebsd.org) Date: Mon, 21 Feb 2005 14:00:23 GMT Message-Id: <200502211400.j1LE0NBM032080@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 71461 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: Mon, 21 Feb 2005 14:00:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=71461 Change 71461 by davidxu@davidxu_tiger on 2005/02/21 14:00:07 Remove extra "#include" Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_concurrency.c#7 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_concurrency.c#7 (text+ko) ==== @@ -28,8 +28,6 @@ */ #include #include -#include -#include #include "thr_private.h" @@ -47,9 +45,8 @@ int _pthread_setconcurrency(int new_level) { - if (new_level > 0) { - level = new_level; - return (0); - } - return (EINVAL); + if (new_level < 0) + return (EINVAL); + level = new_level; + return (0); } From owner-p4-projects@FreeBSD.ORG Mon Feb 21 14:01:26 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4373816A4D1; Mon, 21 Feb 2005 14:01:26 +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 0419116A4CE for ; Mon, 21 Feb 2005 14:01:26 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9F64943D60 for ; Mon, 21 Feb 2005 14:01:25 +0000 (GMT) (envelope-from davidxu@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 j1LE1Pn7032180 for ; Mon, 21 Feb 2005 14:01:25 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1LE1PqP032177 for perforce@freebsd.org; Mon, 21 Feb 2005 14:01:25 GMT (envelope-from davidxu@freebsd.org) Date: Mon, 21 Feb 2005 14:01:25 GMT Message-Id: <200502211401.j1LE1PqP032177@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 71462 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: Mon, 21 Feb 2005 14:01:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=71462 Change 71462 by davidxu@davidxu_tiger on 2005/02/21 14:00:57 Sync name. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_stack.c#6 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_stack.c#6 (text+ko) ==== @@ -78,7 +78,7 @@ * | Red Zone (guard page) | red zone for 2nd thread * | | * +-----------------------------------+ - * | stack 2 - PTHREAD_STACK_DEFAULT | top of 2nd thread stack + * | stack 2 - _thr_stack_default | top of 2nd thread stack * | | * | | * | | @@ -89,7 +89,7 @@ * | Red Zone | red zone for 1st thread * | | * +-----------------------------------+ - * | stack 1 - PTHREAD_STACK_DEFAULT | top of 1st thread stack + * | stack 1 - _thr_stack_default | top of 1st thread stack * | | * | | * | | @@ -100,7 +100,7 @@ * | Red Zone | * | | red zone for main thread * +-----------------------------------+ - * | USRSTACK - PTHREAD_STACK_INITIAL | top of main thread stack + * | USRSTACK - _thr_stack_initial | top of main thread stack * | | ^ * | | | * | | | From owner-p4-projects@FreeBSD.ORG Mon Feb 21 17:16:27 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 13C3D16A4D0; Mon, 21 Feb 2005 17:16:27 +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 E230F16A4CE for ; Mon, 21 Feb 2005 17:16:26 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C6AF743D58 for ; Mon, 21 Feb 2005 17:16:26 +0000 (GMT) (envelope-from jmg@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 j1LHGQFM047975 for ; Mon, 21 Feb 2005 17:16:26 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1LHGQoC047972 for perforce@freebsd.org; Mon, 21 Feb 2005 17:16:26 GMT (envelope-from jmg@freebsd.org) Date: Mon, 21 Feb 2005 17:16:26 GMT Message-Id: <200502211716.j1LHGQoC047972@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71477 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: Mon, 21 Feb 2005 17:16:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=71477 Change 71477 by jmg@jmg_carbon on 2005/02/21 17:16:10 add back some ep93xx specific debugging code.. we can remove this at integration, but we are still brining the ep93xx up.. Affected files ... .. //depot/projects/arm/src/sys/arm/arm/locore.S#7 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/locore.S#7 (text+ko) ==== @@ -202,6 +202,10 @@ MMU_INIT(PHYSADDR, PHYSADDR , 64, L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)) /* map VA 0xc0000000..0xc3ffffff to PA */ MMU_INIT(KERNBASE, PHYSADDR, 64, L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)) +#if 0 + /* XXX - EP93xx device mapping for debugging locore.S */ + MMU_INIT(0xf0100000, 0x80800000, 1<<(32-L1_S_SHIFT), L1_TYPE_S|L1_S_AP(AP_KRW)) +#endif .word 0 /* end of table */ #endif @@ -316,6 +320,14 @@ mov pc, r7 #endif +#if 0 +/* XXX - putc to UART1 of ep93xx */ +ENTRY(asm_putc) + ldr r1, =0xf01c0000 + strb r0, [r1] + mov pc, lr +#endif + /* * setjump + longjmp */ From owner-p4-projects@FreeBSD.ORG Mon Feb 21 20:04:55 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E30A916A4D0; Mon, 21 Feb 2005 20:04:54 +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 B7C8716A4CE for ; Mon, 21 Feb 2005 20:04:54 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9E78F43D58 for ; Mon, 21 Feb 2005 20:04:54 +0000 (GMT) (envelope-from jmg@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 j1LK4skF059430 for ; Mon, 21 Feb 2005 20:04:54 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1LK4shf059427 for perforce@freebsd.org; Mon, 21 Feb 2005 20:04:54 GMT (envelope-from jmg@freebsd.org) Date: Mon, 21 Feb 2005 20:04:54 GMT Message-Id: <200502212004.j1LK4shf059427@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71489 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: Mon, 21 Feb 2005 20:04:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=71489 Change 71489 by jmg@jmg_carbon on 2005/02/21 20:04:08 my board doesn't have pci on it.. and I'll save ATA for a bit later.. that'll be enteraining to get the CF slot working.. Affected files ... .. //depot/projects/arm/src/sys/arm/conf/TS7200#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/conf/TS7200#3 (text+ko) ==== @@ -75,9 +75,9 @@ device mem # Memory and kernel memory devices device miibus device uart -device pci -device ata -device atadisk +#device pci +#device ata +#device atadisk device pty #options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. From owner-p4-projects@FreeBSD.ORG Mon Feb 21 20:10:01 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 988BA16A4D1; Mon, 21 Feb 2005 20:10:01 +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 5BA3D16A4CE for ; Mon, 21 Feb 2005 20:10:01 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 409D743D53 for ; Mon, 21 Feb 2005 20:10:01 +0000 (GMT) (envelope-from jmg@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 j1LKA1Lr059706 for ; Mon, 21 Feb 2005 20:10:01 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1LKA0kT059703 for perforce@freebsd.org; Mon, 21 Feb 2005 20:10:00 GMT (envelope-from jmg@freebsd.org) Date: Mon, 21 Feb 2005 20:10:00 GMT Message-Id: <200502212010.j1LKA0kT059703@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71490 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: Mon, 21 Feb 2005 20:10:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=71490 Change 71490 by jmg@jmg_carbon on 2005/02/21 20:09:14 expand the debuging printf's for rman a bit more... MFP4 after: 1 week Affected files ... .. //depot/projects/arm/src/sys/kern/subr_rman.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/kern/subr_rman.c#2 (text+ko) ==== @@ -191,9 +191,10 @@ rv = 0; - DPRINTF(("rman_reserve_resource: <%s> request: [%#lx, %#lx], length " - "%#lx, flags %u, device %s\n", rm->rm_descr, start, end, count, - flags, dev == NULL ? "" : device_get_nameunit(dev))); + DPRINTF(("rman_reserve_resource_bound: <%s> request: [%#lx, %#lx], " + "length %#lx, bound: %#lx, flags %u, device %s\n", rm->rm_descr, + start, end, count, bound, flags, + dev == NULL ? "" : device_get_nameunit(dev))); want_activate = (flags & RF_ACTIVE); flags &= ~RF_ACTIVE; @@ -599,6 +600,8 @@ int rv; struct rman *rm = r->r_rm; + DPRINTF(("rman_release_resource: [%#lx, %#lx], flags: %d\n", + r->r_start, r->r_end, r->r_flags)); mtx_lock(rm->rm_mtx); rv = int_rman_release_resource(rm, r); mtx_unlock(rm->rm_mtx); From owner-p4-projects@FreeBSD.ORG Mon Feb 21 20:25:21 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E373216A4D0; Mon, 21 Feb 2005 20:25:20 +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 BC89216A4CE for ; Mon, 21 Feb 2005 20:25:20 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A232243D49 for ; Mon, 21 Feb 2005 20:25:20 +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 j1LKPK9P060549 for ; Mon, 21 Feb 2005 20:25:20 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1LKPKm5060546 for perforce@freebsd.org; Mon, 21 Feb 2005 20:25:20 GMT (envelope-from jhb@freebsd.org) Date: Mon, 21 Feb 2005 20:25:20 GMT Message-Id: <200502212025.j1LKPKm5060546@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 71492 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: Mon, 21 Feb 2005 20:25:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=71492 Change 71492 by jhb@jhb_slimer on 2005/02/21 20:25:13 MFi386: Don't use fences at all for UP kernels. Affected files ... .. //depot/projects/smpng/sys/amd64/include/atomic.h#6 edit Differences ... ==== //depot/projects/smpng/sys/amd64/include/atomic.h#6 (text+ko) ==== @@ -162,6 +162,8 @@ #if defined(__GNUC__) +#if defined(_KERNEL) && !defined(SMP) + #define ATOMIC_STORE_LOAD(TYPE) \ static __inline u_##TYPE \ atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ @@ -169,6 +171,25 @@ u_##TYPE v; \ \ v = *p; \ + return (v); \ +} \ + \ +static __inline void \ +atomic_store_rel_##TYPE(volatile u_##TYPE *p, u_##TYPE v)\ +{ \ + *p = v; \ +} \ +struct __hack + +#else /* defined(SMP) */ + +#define ATOMIC_STORE_LOAD(TYPE) \ +static __inline u_##TYPE \ +atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ +{ \ + u_##TYPE v; \ + \ + v = *p; \ __asm __volatile("lfence" ::: "memory"); \ return (v); \ } \ @@ -181,6 +202,8 @@ } \ struct __hack +#endif /* !define(SMP) */ + #else /* !defined(__GNUC__) */ extern int atomic_cmpset_int(volatile u_int *, u_int, u_int); From owner-p4-projects@FreeBSD.ORG Mon Feb 21 22:31:00 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 959B316A4D1; Mon, 21 Feb 2005 22:30:59 +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 37AB916A4CE for ; Mon, 21 Feb 2005 22:30:59 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8B44A43D4C for ; Mon, 21 Feb 2005 22:30:56 +0000 (GMT) (envelope-from jmg@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 j1LMUuUO072579 for ; Mon, 21 Feb 2005 22:30:56 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1LMUuxX072576 for perforce@freebsd.org; Mon, 21 Feb 2005 22:30:56 GMT (envelope-from jmg@freebsd.org) Date: Mon, 21 Feb 2005 22:30:56 GMT Message-Id: <200502212230.j1LMUuxX072576@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71502 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: Mon, 21 Feb 2005 22:31:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=71502 Change 71502 by jmg@jmg_carbon on 2005/02/21 22:30:01 make epuart probe and attach.... teach eparm about resources.. This is still using the virtual map, and we haven't split the busses yet, but now irq's and memory mappings are allocated... teach uart how to handle other irq's than the 0 one so that we don't have to create a stupid shim bus/device just to translate the irq resource request from one of all irq's, down to a specific one.. (This one might be fixed with better/correct/existant hints) use BUSY isntead of TXFE so that the logic is correct, and we really wait till tx is completely done... I think that's all this contains... Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/ep93xx.c#5 edit .. //depot/projects/arm/src/sys/arm/ep93xx/ep93xxvar.h#2 edit .. //depot/projects/arm/src/sys/arm/ep93xx/uart_bus_ep93xx.c#2 edit .. //depot/projects/arm/src/sys/arm/ep93xx/uart_cpu_ep93xx.c#2 edit .. //depot/projects/arm/src/sys/dev/uart/uart_bus.h#2 edit .. //depot/projects/arm/src/sys/dev/uart/uart_core.c#2 edit .. //depot/projects/arm/src/sys/dev/uart/uart_dev_epuart.c#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/ep93xx/ep93xx.c#5 (text+ko) ==== @@ -69,6 +69,11 @@ #include /* XXX */ +struct eparm_softc { + struct rman sc_intr_rman; + struct rman sc_mem_rman; +}; + /* Software copy of the IRQs we have enabled. */ __volatile u_int32_t vic1_intr_enabled; __volatile u_int32_t vic2_intr_enabled; @@ -78,7 +83,6 @@ #define VIC2REG(reg) *((volatile u_int32_t*) (EP93XX_AHB_VBASE + \ EP93XX_AHB_VIC2 + (reg))) - void arm_unmask_irq(int irq) { @@ -130,7 +134,6 @@ vic1_intr_enabled = 0; vic2_intr_enabled = 0; - /* All interrupts should use IRQ not FIQ */ VIC1REG(EP93XX_VIC_IntSelect) = 0; VIC2REG(EP93XX_VIC_IntSelect) = 0; @@ -171,13 +174,42 @@ return (0); } +/* + * XXX - we might want to think about breaking this up into two busses, one + * for APB, and another for AHB. Then we would only manage 0 through BUSHIGH, + * and mappings would be directly relative, i.e. just EP93XX_APB_UART1 instead + * of EP93XX_APB_VBASE + EP93XX_APB_UART1. + */ int ep93xx_attach(device_t dev) { + struct eparm_softc *sc; + device_t chld; + + sc = device_get_softc(dev); + sc->sc_intr_rman.rm_type = RMAN_ARRAY; + sc->sc_intr_rman.rm_descr = "Interrupts"; + sc->sc_mem_rman.rm_type = RMAN_ARRAY; + sc->sc_mem_rman.rm_descr = "Register Memory"; + if (rman_init(&sc->sc_intr_rman) != 0 || + rman_init(&sc->sc_mem_rman) != 0 || + rman_manage_region(&sc->sc_intr_rman, 0, NIRQ - 1) != 0 || + rman_manage_region(&sc->sc_mem_rman, EP93XX_AHB_VBASE, + EP93XX_AHB_VBASE + EP93XX_AHB_SIZE - 1) != 0 || + rman_manage_region(&sc->sc_mem_rman, EP93XX_APB_VBASE, + EP93XX_APB_VBASE + EP93XX_APB_SIZE - 1) != 0) + panic("ep93xx_attach(): failed to set up rmans"); ep93xx_intr_init(); - device_add_child(dev, "uart", 0); - device_add_child(dev, "epclk", 0); + + /* XXX - hardcode the device id's? */ + /* XXX - convert to device.hints */ + chld = device_add_child(dev, "uart", -1); + device_set_ivars(chld, (void *)1); + chld = device_add_child(dev, "uart", -1); + device_set_ivars(chld, (void *)2); + + device_add_child(dev, "epclk", -1); /* kick these off */ bus_generic_probe(dev); @@ -214,16 +246,75 @@ } static struct resource * -ep93xx_alloc_resource(device_t dev, device_t child, int type, int *rid, +ep93xx_alloc_resource(device_t bus, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags) { - if (type == SYS_RES_IRQ) { - struct resource *res = malloc(sizeof(*res), M_DEVBUF, M_WAITOK); - res->r_start = start; - res->r_end = end; - return (res); + struct eparm_softc *sc = device_get_softc(bus); + struct resource *rv; + struct rman *rm; + int needactivate = flags & RF_ACTIVE; + + flags &= ~RF_ACTIVE; + + switch (type) { + case SYS_RES_IRQ: + rm = &sc->sc_intr_rman; + break; + case SYS_RES_MEMORY: + rm = &sc->sc_mem_rman; + break; + default: + return (NULL); + } + + /* if non-zero rid, that means it's a specific address */ + if (*rid != 0) + rv = rman_reserve_resource(rm, *rid, *rid + count - 1, count, + flags, child); + else + rv = rman_reserve_resource(rm, start, end, count, flags, child); + + if (rv == NULL) + return (NULL); + if (type == SYS_RES_MEMORY) { + rman_set_bustag(rv, &ep93xx_bs_tag); + rman_set_bushandle(rv, rman_get_start(rv)); + } + + if (needactivate) { + if (bus_activate_resource(child, type, *rid, rv) != 0) { + rman_release_resource(rv); + return (NULL); + } } - return (NULL); + + return (rv); +} + +static int +ep93xx_activate_resource(device_t dev, device_t child, int type, int rid, + struct resource *r) +{ + /* XXX - enable interrupt? */ + /* not much to do since we use static mappings */ + return rman_activate_resource(r); +} + +static int +ep93xx_deactivate_resource(device_t dev, device_t child, int type, int rid, + struct resource *r) +{ + /* XXX - disable interrupt? */ + /* not much to do since we use static mappings */ + return rman_deactivate_resource(r); +} + +static int +ep93xx_release_resource(device_t dev, device_t child, int type, int rid, + struct resource *r) +{ + /* not much to do since we use static mappings */ + return rman_release_resource(r); } static int @@ -239,18 +330,21 @@ return (0); } static device_method_t ep93xx_methods[] = { - DEVMETHOD(device_probe, ep93xx_probe), - DEVMETHOD(device_attach, ep93xx_attach), - DEVMETHOD(device_identify, ep93xx_identify), - DEVMETHOD(bus_alloc_resource, ep93xx_alloc_resource), - DEVMETHOD(bus_setup_intr, ep93xx_setup_intr), + DEVMETHOD(device_probe, ep93xx_probe), + DEVMETHOD(device_attach, ep93xx_attach), + DEVMETHOD(device_identify, ep93xx_identify), + DEVMETHOD(bus_alloc_resource, ep93xx_alloc_resource), + DEVMETHOD(bus_activate_resource, ep93xx_activate_resource), + DEVMETHOD(bus_deactivate_resource, ep93xx_deactivate_resource), + DEVMETHOD(bus_release_resource, ep93xx_release_resource), + DEVMETHOD(bus_setup_intr, ep93xx_setup_intr), {0, 0}, }; static driver_t ep93xx_driver = { "eparm", ep93xx_methods, - 1, + sizeof(struct eparm_softc), }; static devclass_t ep93xx_devclass; ==== //depot/projects/arm/src/sys/arm/ep93xx/ep93xxvar.h#2 (text+ko) ==== @@ -45,4 +45,14 @@ extern struct bus_space ep93xx_bs_tag; +#define EPUARTBAS(x) (struct uart_bas) { &ep93xx_bs_tag, \ + EP93XX_APB_VBASE + ((x) == 1 ? EP93XX_APB_UART1 : \ + EP93XX_APB_UART2), (x) == 1 ? 1 : 2, EP93XX_UART_FREQ, 0 } +#if 0 +/* XXX once we get things more properly virtualized */ +#define EPUARTBAS(x) (struct uart_bas) { &ep93xx_bs_tag, \ + ((x) == 1 ? EP93XX_APB_UART1 : EP93XX_APB_UART2), \ + (x) == 1 ? 1 : 2, EP93XX_UART_FREQ, 0 } +#endif + #endif /* _EP93XXVAR_H_ */ ==== //depot/projects/arm/src/sys/arm/ep93xx/uart_bus_ep93xx.c#2 (text+ko) ==== @@ -41,6 +41,9 @@ #include #include +#include +#include + #include "uart_if.h" static int uart_ep93xx_probe(device_t dev); @@ -64,13 +67,17 @@ uart_ep93xx_probe(device_t dev) { struct uart_softc *sc; + int i; + if ((i = (int)device_get_ivars(dev)) < 1 || i > 2) + return ENXIO; + sc = device_get_softc(dev); - sc->sc_sysdev = SLIST_FIRST(&uart_sysdevs); - sc->sc_class = &uart_ns8250_class; - bcopy(&sc->sc_sysdev->bas, &sc->sc_bas, sizeof(sc->sc_bas)); - return(uart_bus_probe(dev, 0, 0, 0, 0)); + sc->sc_class = &uart_epuart_class; + sc->sc_bas = EPUARTBAS(i); + sc->sc_irid = i == 1 ? 52 : 54; + return (uart_bus_probe(dev, sc->sc_bas.regshft, sc->sc_bas.rclk, + sc->sc_bas.bsh, sc->sc_bas.chan, sc->sc_irid)); } - DRIVER_MODULE(uart, eparm, uart_ep93xx_driver, uart_devclass, 0, 0); ==== //depot/projects/arm/src/sys/arm/ep93xx/uart_cpu_ep93xx.c#2 (text+ko) ==== @@ -45,6 +45,7 @@ int uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2) { + return ((b1->bsh == b2->bsh && b1->bst == b2->bst) ? 1 : 0); } @@ -52,16 +53,12 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di) { di->ops = uart_epuart_ops; - di->bas.chan = 0; - di->bas.bst = &ep93xx_bs_tag; - di->bas.regshft = 0; - di->bas.rclk = 0; di->baudrate = 115200; di->databits = 8; di->stopbits = 1; di->parity = UART_PARITY_NONE; uart_bus_space_io = &ep93xx_bs_tag; uart_bus_space_mem = NULL; - di->bas.bsh = EP93XX_APB_VBASE + EP93XX_APB_UART1; + di->bas = EPUARTBAS(1); return (0); } ==== //depot/projects/arm/src/sys/dev/uart/uart_bus.h#2 (text+ko) ==== @@ -94,6 +94,7 @@ extern struct uart_class uart_ns8250_class; extern struct uart_class uart_sab82532_class; extern struct uart_class uart_z8530_class; +extern struct uart_class uart_epuart_class; struct uart_softc { KOBJ_FIELDS; @@ -159,7 +160,8 @@ int uart_bus_attach(device_t dev); int uart_bus_detach(device_t dev); -int uart_bus_probe(device_t dev, int regshft, int rclk, int rid, int chan); +int uart_bus_probe(device_t dev, int regshft, int rclk, int rid, int chan, + int irid); int uart_tty_attach(struct uart_softc *); int uart_tty_detach(struct uart_softc *); ==== //depot/projects/arm/src/sys/dev/uart/uart_core.c#2 (text+ko) ==== @@ -219,7 +219,7 @@ } int -uart_bus_probe(device_t dev, int regshft, int rclk, int rid, int chan) +uart_bus_probe(device_t dev, int regshft, int rclk, int rid, int chan, int irid) { struct uart_softc *sc; struct uart_devinfo *sysdev; @@ -257,6 +257,7 @@ if (sc->sc_rres == NULL) return (ENXIO); } + sc->sc_irid = irid; /* stash the irq rid */ /* * Fill in the bus access structure and compare this device with @@ -326,7 +327,6 @@ sc->sc_bas.bsh = rman_get_bushandle(sc->sc_rres); sc->sc_bas.bst = rman_get_bustag(sc->sc_rres); - sc->sc_irid = 0; sc->sc_ires = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->sc_irid, RF_ACTIVE); if (sc->sc_ires != NULL) { ==== //depot/projects/arm/src/sys/dev/uart/uart_dev_epuart.c#3 (text+ko) ==== @@ -1,6 +1,6 @@ /*- + * Copyright 2005 John-Mark Gurney * Copyright (c) 2003 Marcel Moolenaar - * Copyright 2005 John-Mark Gurney * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -42,7 +42,6 @@ #include "uart_if.h" -#if 0 /* * Clear pending interrupts. THRE is cleared by reading IIR. Data * that may have been received gets lost here. @@ -50,22 +49,9 @@ static void epuart_clrint(struct uart_bas *bas) { - uint8_t iir; - iir = uart_getreg(bas, REG_IIR); - while ((iir & IIR_NOPEND) == 0) { - iir &= IIR_IMASK; - if (iir == IIR_RLS) - (void)uart_getreg(bas, REG_LSR); - else if (iir == IIR_RXRDY || iir == IIR_RXTOUT) - (void)uart_getreg(bas, REG_DATA); - else if (iir == IIR_MLSC) - (void)uart_getreg(bas, REG_MSR); - uart_barrier(bas); - iir = uart_getreg(bas, REG_IIR); - } + uart_setreg(bas, EP93XX_UART_Ctrl, 0); } -#endif static int epuart_delay(struct uart_bas *bas) @@ -106,7 +92,6 @@ return (divisor); } -#if 0 static int epuart_drain(struct uart_bas *bas, int what) { @@ -121,8 +106,8 @@ * limit high enough to handle large FIFOs. */ limit = 10*1024; - while (uart_getreg(bas, EP93XX_UART_Flag) & EP93XX_UART_F_TXFE - && --limit) + while (uart_getreg(bas, EP93XX_UART_Flag) & + EP93XX_UART_F_BUSY && --limit) DELAY(delay); if (limit == 0) { /* printf("epuart: transmitter appears stuck... "); */ @@ -161,15 +146,14 @@ * We can only flush UARTs with FIFOs. UARTs without FIFOs should be * drained. WARNING: this function clobbers the FIFO setting! */ -static void +static int epuart_flush(struct uart_bas *bas, int what) { - epuart_drain(bas, (what & UART_FLUSH_TRANSMITTER ? + return epuart_drain(bas, (what & UART_FLUSH_TRANSMITTER ? UART_DRAIN_TRANSMITTER : 0) | (what & UART_FLUSH_RECEIVER ? UART_DRAIN_RECEIVER : 0)); } -#endif static int epuart_param(struct uart_bas *bas, int baudrate, int databits, int stopbits, @@ -230,6 +214,8 @@ epuart_probe(struct uart_bas *bas) { + if (bas->chan < 1 || bas->chan > 2) + return (ENXIO); return (0); } @@ -297,15 +283,11 @@ return (uart_getreg(bas, EP93XX_UART_Data)); } -#if 0 /* * High-level UART interface. */ struct epuart_softc { struct uart_softc base; - uint8_t fcr; - uint8_t ier; - uint8_t mcr; }; static int epuart_bus_attach(struct uart_softc *); @@ -339,8 +321,8 @@ "epuart class", epuart_methods, sizeof(struct epuart_softc), - .uc_range = 8, - .uc_rclk = DEFAULT_RCLK + .uc_range = 0x10000, + .uc_rclk = EP93XX_UART_FREQ }; #define SIGCHG(c, i, s, d) \ @@ -353,26 +335,27 @@ static int epuart_bus_attach(struct uart_softc *sc) { - struct epuart_softc *epuart = (struct epuart_softc*)sc; struct uart_bas *bas; + int mdmctrl; + int ctrl; bas = &sc->sc_bas; - epuart->mcr = uart_getreg(bas, REG_MCR); - epuart->fcr = FCR_ENABLE | FCR_RX_MEDH; - uart_setreg(bas, REG_FCR, epuart->fcr); - uart_barrier(bas); epuart_bus_flush(sc, UART_FLUSH_RECEIVER|UART_FLUSH_TRANSMITTER); - if (epuart->mcr & MCR_DTR) - sc->sc_hwsig |= SER_DTR; - if (epuart->mcr & MCR_RTS) - sc->sc_hwsig |= SER_RTS; - epuart_bus_getsig(sc); + /* don't futz around with the ctrl reg if it's a console */ + if (bas->chan == 1) { + mdmctrl = uart_getreg(bas, EP93XX_UART_MdmCtrl); + if (mdmctrl & EP93XX_UART_DTR) + sc->sc_hwsig |= SER_DTR; + if (mdmctrl & EP93XX_UART_RTS) + sc->sc_hwsig |= SER_RTS; + epuart_bus_getsig(sc); + } epuart_clrint(bas); - epuart->ier = IER_EMSC | IER_ERLS | IER_ERXRDY; - uart_setreg(bas, REG_IER, epuart->ier); + ctrl = EP93XX_UART_MSIE | EP93XX_UART_RIE | EP93XX_UART_UARTE; + uart_setreg(bas, EP93XX_UART_Ctrl, ctrl); uart_barrier(bas); return (0); } @@ -383,28 +366,20 @@ struct uart_bas *bas; bas = &sc->sc_bas; - uart_setreg(bas, REG_IER, 0); + epuart_clrint(bas); uart_barrier(bas); - epuart_clrint(bas); return (0); } static int epuart_bus_flush(struct uart_softc *sc, int what) { - struct epuart_softc *epuart = (struct epuart_softc*)sc; struct uart_bas *bas; int error; bas = &sc->sc_bas; mtx_lock_spin(&sc->sc_hwmtx); - if (sc->sc_hasfifo) { - epuart_flush(bas, what); - uart_setreg(bas, REG_FCR, epuart->fcr); - uart_barrier(bas); - error = 0; - } else - error = epuart_drain(bas, what); + error = epuart_flush(bas, what); mtx_unlock_spin(&sc->sc_hwmtx); return (error); } @@ -412,21 +387,35 @@ static int epuart_bus_getsig(struct uart_softc *sc) { - uint32_t new, old, sig; - uint8_t msr; + uint32_t new, sig; + uint8_t mdmsts; - do { - old = sc->sc_hwsig; - sig = old; - mtx_lock_spin(&sc->sc_hwmtx); - msr = uart_getreg(&sc->sc_bas, REG_MSR); - mtx_unlock_spin(&sc->sc_hwmtx); - SIGCHG(msr & MSR_DSR, sig, SER_DSR, SER_DDSR); - SIGCHG(msr & MSR_CTS, sig, SER_CTS, SER_DCTS); - SIGCHG(msr & MSR_DCD, sig, SER_DCD, SER_DDCD); - SIGCHG(msr & MSR_RI, sig, SER_RI, SER_DRI); - new = sig & ~UART_SIGMASK_DELTA; - } while (!atomic_cmpset_32(&sc->sc_hwsig, old, new)); + /* + * We don't spin since we have already destroyed state, should we + * lock the hwsig w/ the spinlock? + */ + mtx_lock_spin(&sc->sc_hwmtx); + mdmsts = uart_getreg(&sc->sc_bas, EP93XX_UART_MdmSts); + sig = 0; + if (mdmsts & EP93XX_UART_MS_DCD) + sig |= SER_DCD; + if (mdmsts & EP93XX_UART_MS_DDCD) + sig |= SER_DDCD; + if (mdmsts & EP93XX_UART_MS_RI) + sig |= SER_RI; + if (mdmsts & EP93XX_UART_MS_TERI) + sig |= SER_DRI; + if (mdmsts & EP93XX_UART_MS_DSR) + sig |= SER_DSR; + if (mdmsts & EP93XX_UART_MS_DDSR) + sig |= SER_DDSR; + if (mdmsts & EP93XX_UART_MS_CTS) + sig |= SER_CTS; + if (mdmsts & EP93XX_UART_MS_DCTS) + sig |= SER_DCTS; + new = sig & ~UART_SIGMASK_DELTA; + sc->sc_hwsig = new; + mtx_unlock_spin(&sc->sc_hwmtx); return (sig); } @@ -435,60 +424,41 @@ { struct uart_bas *bas; int baudrate, divisor, error; - uint8_t efr, lcr; + uint8_t mdmctrl, lctrlh; bas = &sc->sc_bas; error = 0; mtx_lock_spin(&sc->sc_hwmtx); switch (request) { case UART_IOCTL_BREAK: - lcr = uart_getreg(bas, REG_LCR); + lctrlh = uart_getreg(bas, EP93XX_UART_LinCH); if (data) - lcr |= LCR_SBREAK; + lctrlh |= EP93XX_UART_BRK; else - lcr &= ~LCR_SBREAK; - uart_setreg(bas, REG_LCR, lcr); + lctrlh &= ~EP93XX_UART_BRK; + uart_setreg(bas, EP93XX_UART_LinCH, lctrlh); uart_barrier(bas); break; case UART_IOCTL_IFLOW: - lcr = uart_getreg(bas, REG_LCR); - uart_barrier(bas); - uart_setreg(bas, REG_LCR, 0xbf); - uart_barrier(bas); - efr = uart_getreg(bas, REG_EFR); - if (data) - efr |= EFR_RTS; - else - efr &= ~EFR_RTS; - uart_setreg(bas, REG_EFR, efr); - uart_barrier(bas); - uart_setreg(bas, REG_LCR, lcr); - uart_barrier(bas); + if (bas->chan == 1) { + mdmctrl = uart_getreg(bas, EP93XX_UART_MdmCtrl); + if (data) + mdmctrl |= EP93XX_UART_RTS; + else + mdmctrl &= ~EP93XX_UART_RTS; + uart_setreg(bas, EP93XX_UART_MdmCtrl, mdmctrl); + uart_barrier(bas); + } else + error = ENODEV; break; case UART_IOCTL_OFLOW: - lcr = uart_getreg(bas, REG_LCR); - uart_barrier(bas); - uart_setreg(bas, REG_LCR, 0xbf); - uart_barrier(bas); - efr = uart_getreg(bas, REG_EFR); - if (data) - efr |= EFR_CTS; - else - efr &= ~EFR_CTS; - uart_setreg(bas, REG_EFR, efr); - uart_barrier(bas); - uart_setreg(bas, REG_LCR, lcr); - uart_barrier(bas); + /* XXX - hun? I can only read CTS */ break; case UART_IOCTL_BAUD: - lcr = uart_getreg(bas, REG_LCR); - uart_setreg(bas, REG_LCR, lcr | LCR_DLAB); + divisor = uart_getreg(bas, EP93XX_UART_LinCL); + divisor |= uart_getreg(bas, EP93XX_UART_LinCM) << 8; uart_barrier(bas); - divisor = uart_getdreg(bas, REG_DL); - uart_barrier(bas); - uart_setreg(bas, REG_LCR, lcr); - uart_barrier(bas); - baudrate = (divisor > 0) ? bas->rclk / divisor / 16 : 0; + baudrate = bas->rclk / (16 * (divisor + 1)); if (baudrate > 0) *(int*)data = baudrate; else @@ -507,32 +477,33 @@ { struct uart_bas *bas; int ipend; - uint8_t iir, lsr; + uint8_t iidclr, rxsts; bas = &sc->sc_bas; mtx_lock_spin(&sc->sc_hwmtx); - iir = uart_getreg(bas, REG_IIR); - if (iir & IIR_NOPEND) { + iidclr = uart_getreg(bas, EP93XX_UART_IntIDCLR); + if (!(iidclr & (EP93XX_UART_TIS | EP93XX_UART_RIS | EP93XX_UART_MIS))) { mtx_unlock_spin(&sc->sc_hwmtx); return (0); } ipend = 0; - if (iir & IIR_RXRDY) { - lsr = uart_getreg(bas, REG_LSR); - mtx_unlock_spin(&sc->sc_hwmtx); - if (lsr & LSR_OE) + if (iidclr & EP93XX_UART_RIS) { + rxsts = uart_getreg(bas, EP93XX_UART_RXSts); + uart_setreg(bas, EP93XX_UART_RXSts, 0); /* clear */ + if (rxsts & EP93XX_UART_OE) ipend |= UART_IPEND_OVERRUN; - if (lsr & LSR_BI) + if (rxsts & EP93XX_UART_BE) ipend |= UART_IPEND_BREAK; - if (lsr & LSR_RXRDY) + if (iidclr & EP93XX_UART_RIS) ipend |= UART_IPEND_RXREADY; - } else { - mtx_unlock_spin(&sc->sc_hwmtx); - if (iir & IIR_TXRDY) - ipend |= UART_IPEND_TXIDLE; - else - ipend |= UART_IPEND_SIGCHG; } + if (iidclr & EP93XX_UART_TIS) + ipend |= UART_IPEND_TXIDLE; + if (iidclr & EP93XX_UART_MIS) + ipend |= UART_IPEND_SIGCHG; + + uart_setreg(bas, EP93XX_UART_IntIDCLR, 0); /* clear */ + mtx_unlock_spin(&sc->sc_hwmtx); return ((sc->sc_leaving) ? 0 : ipend); } @@ -554,8 +525,7 @@ epuart_bus_probe(struct uart_softc *sc) { struct uart_bas *bas; - int count, delay, error, limit; - uint8_t lsr, mcr; + int error; bas = &sc->sc_bas; @@ -563,123 +533,28 @@ if (error) return (error); - mcr = MCR_IE; if (sc->sc_sysdev == NULL) { /* By using epuart_init() we also set DTR and RTS. */ epuart_init(bas, 9600, 8, 1, UART_PARITY_NONE); - } else - mcr |= MCR_DTR | MCR_RTS; + } error = epuart_drain(bas, UART_DRAIN_TRANSMITTER); if (error) return (error); /* - * Set loopback mode. This avoids having garbage on the wire and - * also allows us send and receive data. We set DTR and RTS to - * avoid the possibility that automatic flow-control prevents - * any data from being sent. + * XXX - Set loopback mode. I guess we should check operation via + * loopback mode. */ - uart_setreg(bas, REG_MCR, MCR_LOOPBACK | MCR_IE | MCR_DTR | MCR_RTS); - uart_barrier(bas); - /* - * Enable FIFOs. And check that the UART has them. If not, we're - * done. Since this is the first time we enable the FIFOs, we reset - * them. - */ - uart_setreg(bas, REG_FCR, FCR_ENABLE); - uart_barrier(bas); - sc->sc_hasfifo = (uart_getreg(bas, REG_IIR) & IIR_FIFO_MASK) ? 1 : 0; - if (!sc->sc_hasfifo) { - /* - * NS16450 or INS8250. We don't bother to differentiate - * between them. They're too old to be interesting. - */ - uart_setreg(bas, REG_MCR, mcr); - uart_barrier(bas); - device_set_desc(sc->sc_dev, "8250 or 16450 or compatible"); - return (0); - } - - uart_setreg(bas, REG_FCR, FCR_ENABLE | FCR_XMT_RST | FCR_RCV_RST); - uart_barrier(bas); - - count = 0; - delay = epuart_delay(bas); - - /* We have FIFOs. Drain the transmitter and receiver. */ - error = epuart_drain(bas, UART_DRAIN_RECEIVER|UART_DRAIN_TRANSMITTER); - if (error) { - uart_setreg(bas, REG_MCR, mcr); - uart_setreg(bas, REG_FCR, 0); - uart_barrier(bas); - goto describe; - } - - /* - * We should have a sufficiently clean "pipe" to determine the - * size of the FIFOs. We send as much characters as is reasonable - * and wait for the the overflow bit in the LSR register to be - * asserted, counting the characters as we send them. Based on - * that count we know the FIFO size. - */ - do { - uart_setreg(bas, REG_DATA, 0); - uart_barrier(bas); - count++; - - limit = 30; - lsr = 0; - /* - * LSR bits are cleared upon read, so we must accumulate - * them to be able to test LSR_OE below. - */ - while (((lsr |= uart_getreg(bas, REG_LSR)) & LSR_TEMT) == 0 && - --limit) - DELAY(delay); - if (limit == 0) { - uart_setreg(bas, REG_IER, 0); - uart_setreg(bas, REG_MCR, mcr); - uart_setreg(bas, REG_FCR, 0); - uart_barrier(bas); - count = 0; - goto describe; - } - } while ((lsr & LSR_OE) == 0 && count < 130); - count--; - - uart_setreg(bas, REG_MCR, mcr); - - /* Reset FIFOs. */ - epuart_flush(bas, UART_FLUSH_RECEIVER|UART_FLUSH_TRANSMITTER); - - describe: - if (count >= 14 && count <= 16) { - sc->sc_rxfifosz = 16; - device_set_desc(sc->sc_dev, "16550 or compatible"); - } else if (count >= 28 && count <= 32) { - sc->sc_rxfifosz = 32; - device_set_desc(sc->sc_dev, "16650 or compatible"); - } else if (count >= 56 && count <= 64) { - sc->sc_rxfifosz = 64; - device_set_desc(sc->sc_dev, "16750 or compatible"); - } else if (count >= 112 && count <= 128) { - sc->sc_rxfifosz = 128; - device_set_desc(sc->sc_dev, "16950 or compatible"); - } else { - sc->sc_rxfifosz = 16; + if (bas->chan == 1) + device_set_desc(sc->sc_dev, + "UART1 with HDLC and Modem Control Signals"); + else device_set_desc(sc->sc_dev, - "Non-standard epuart class UART with FIFOs"); - } + "UART2 with IrDA"); - /* - * Force the Tx FIFO size to 16 bytes for now. We don't program the - * Tx trigger. Also, we assume that all data has been sent when the - * interrupt happens. - */ sc->sc_txfifosz = 16; - #if 0 /* * XXX there are some issues related to hardware flow control and @@ -687,11 +562,6 @@ * investigation, but we avoid using for hardware flow control * until then. */ - /* 16650s or higher have automatic flow control. */ - if (sc->sc_rxfifosz > 16) { - sc->sc_hwiflow = 1; - sc->sc_hwoflow = 1; - } #endif return (0); @@ -702,29 +572,30 @@ { struct uart_bas *bas; int xc; - uint8_t lsr; + uint8_t flag, rxsts; bas = &sc->sc_bas; mtx_lock_spin(&sc->sc_hwmtx); - lsr = uart_getreg(bas, REG_LSR); - while (lsr & LSR_RXRDY) { + flag = uart_getreg(bas, EP93XX_UART_Flag); + while (!(flag & EP93XX_UART_F_RXFE)) { if (uart_rx_full(sc)) { sc->sc_rxbuf[sc->sc_rxput] = UART_STAT_OVERRUN; break; } - xc = uart_getreg(bas, REG_DATA); - if (lsr & LSR_FE) + xc = uart_getreg(bas, EP93XX_UART_Data); + rxsts = uart_getreg(bas, EP93XX_UART_Data); + if (rxsts & EP93XX_UART_FE) xc |= UART_STAT_FRAMERR; - if (lsr & LSR_PE) + if (rxsts & EP93XX_UART_PE) xc |= UART_STAT_PARERR; uart_rx_put(sc, xc); - lsr = uart_getreg(bas, REG_LSR); + flag = uart_getreg(bas, EP93XX_UART_Flag); } /* Discard everything left in the Rx FIFO. */ - while (lsr & LSR_RXRDY) { - (void)uart_getreg(bas, REG_DATA); + while (flag & EP93XX_UART_F_RXFE) { + (void)uart_getreg(bas, EP93XX_UART_Data); uart_barrier(bas); - lsr = uart_getreg(bas, REG_LSR); + flag = uart_getreg(bas, EP93XX_UART_Flag); } mtx_unlock_spin(&sc->sc_hwmtx); return (0); @@ -733,9 +604,9 @@ static int epuart_bus_setsig(struct uart_softc *sc, int sig) { - struct epuart_softc *epuart = (struct epuart_softc*)sc; struct uart_bas *bas; uint32_t new, old; + int mdmctrl; bas = &sc->sc_bas; do { @@ -751,12 +622,12 @@ } } while (!atomic_cmpset_32(&sc->sc_hwsig, old, new)); mtx_lock_spin(&sc->sc_hwmtx); - epuart->mcr &= ~(MCR_DTR|MCR_RTS); + mdmctrl = 0; if (new & SER_DTR) - epuart->mcr |= MCR_DTR; + mdmctrl |= EP93XX_UART_DTR; if (new & SER_RTS) - epuart->mcr |= MCR_RTS; - uart_setreg(bas, REG_MCR, epuart->mcr); + mdmctrl |= EP93XX_UART_RTS; + uart_setreg(bas, EP93XX_UART_MdmCtrl, mdmctrl); uart_barrier(bas); mtx_unlock_spin(&sc->sc_hwmtx); return (0); @@ -765,22 +636,23 @@ static int epuart_bus_transmit(struct uart_softc *sc) { - struct epuart_softc *epuart = (struct epuart_softc*)sc; struct uart_bas *bas; int i; + int ctrl; bas = &sc->sc_bas; mtx_lock_spin(&sc->sc_hwmtx); - while ((uart_getreg(bas, REG_LSR) & LSR_THRE) == 0) + /* XXX - ugly, this sucks, but that's the way uart forces us to be */ + while ((uart_getreg(bas, EP93XX_UART_Flag) & EP93XX_UART_F_TXFE) == 0) ; - uart_setreg(bas, REG_IER, epuart->ier | IER_ETXRDY); + ctrl = uart_getreg(bas, EP93XX_UART_Ctrl); + uart_setreg(bas, EP93XX_UART_Ctrl, ctrl | EP93XX_UART_TIE); uart_barrier(bas); for (i = 0; i < sc->sc_txdatasz; i++) { - uart_setreg(bas, REG_DATA, sc->sc_txbuf[i]); + uart_setreg(bas, EP93XX_UART_Data, sc->sc_txbuf[i]); uart_barrier(bas); } sc->sc_txbusy = 1; mtx_unlock_spin(&sc->sc_hwmtx); return (0); } -#endif From owner-p4-projects@FreeBSD.ORG Tue Feb 22 23:08:26 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 928DE16A4D0; Tue, 22 Feb 2005 23:08:26 +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 5FD3E16A4CE for ; Tue, 22 Feb 2005 23:08:26 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 190A043D58 for ; Tue, 22 Feb 2005 23:08:26 +0000 (GMT) (envelope-from jmg@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 j1MN8QUJ088359 for ; Tue, 22 Feb 2005 23:08:26 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1MN8Po7088356 for perforce@freebsd.org; Tue, 22 Feb 2005 23:08:25 GMT (envelope-from jmg@freebsd.org) Date: Tue, 22 Feb 2005 23:08:25 GMT Message-Id: <200502222308.j1MN8Po7088356@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71611 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: Tue, 22 Feb 2005 23:08:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=71611 Change 71611 by jmg@jmg_carbon on 2005/02/22 23:07:45 make ahb and apb busses to hang devices off... also use hints to attach devices in their proper location, and specify the resources to use... this should remove the need for the uart change that I put in, so I guess I can remove it... I think epclk is not allocating resources properly, but that can be fixed easily... Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/ep93xx.c#6 edit .. //depot/projects/arm/src/sys/arm/ep93xx/ep93xx.h#1 add .. //depot/projects/arm/src/sys/arm/ep93xx/ep93xx_intr.c#1 add .. //depot/projects/arm/src/sys/arm/ep93xx/epclk.c#2 edit .. //depot/projects/arm/src/sys/arm/ep93xx/files.ep93xx#2 edit .. //depot/projects/arm/src/sys/arm/ep93xx/hints.ep93xx#1 add .. //depot/projects/arm/src/sys/arm/ep93xx/std.ep93xx#2 edit .. //depot/projects/arm/src/sys/arm/ep93xx/uart_bus_ep93xx.c#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/ep93xx/ep93xx.c#6 (text+ko) ==== @@ -66,98 +66,136 @@ #include #include +#include #include /* XXX */ -struct eparm_softc { +MALLOC_DEFINE(M_AHPBDEV, "AHB & APB Device", ""); + +struct ahpb_device { + struct resource_list ad_resources; +}; + +struct ahb_softc { struct rman sc_intr_rman; struct rman sc_mem_rman; }; -/* Software copy of the IRQs we have enabled. */ -__volatile u_int32_t vic1_intr_enabled; -__volatile u_int32_t vic2_intr_enabled; +struct apb_softc { + struct rman sc_mem_rman; +}; + +static device_t +ahpb_add_child(device_t dev, const char *name, int unit) +{ + device_t child; + struct ahpb_device *adev; + int start, count; + + child = device_add_child(dev, name, unit); + if (child == NULL) + return (child); + + adev = malloc(sizeof(struct ahpb_device), M_AHPBDEV, M_NOWAIT | M_ZERO); + if (adev == NULL) + return (NULL); + + resource_list_init(&adev->ad_resources); + + device_set_ivars(child, adev); + + start = 0; + count = 0; + resource_int_value(name, unit, "port", &start); + resource_int_value(name, unit, "portsize", &count); + if (start > 0 || count > 0) + bus_set_resource(child, SYS_RES_MEMORY, -1, start, count); -#define VIC1REG(reg) *((volatile u_int32_t*) (EP93XX_AHB_VBASE + \ - EP93XX_AHB_VIC1 + (reg))) -#define VIC2REG(reg) *((volatile u_int32_t*) (EP93XX_AHB_VBASE + \ - EP93XX_AHB_VIC2 + (reg))) + if (resource_int_value(name, unit, "irq", &start) == 0 && start > 0) + bus_set_resource(child, SYS_RES_IRQ, -1, start, 1); -void -arm_unmask_irq(int irq) -{ - KASSERT(irq < VIC_NIRQ * 2, ("irq %d is greater than max", irq)); + if (resource_int_value(name, unit, "ppalloc", &start) == 0 && start > 0) + bus_set_resource(child, SYS_RES_DRQ, -1, start, 1); - if (irq < VIC_NIRQ) { - vic1_intr_enabled |= (1U << irq); - VIC1REG(EP93XX_VIC_IntEnable) = (1U << irq); - } else { - vic2_intr_enabled |= (1U << (irq - VIC_NIRQ)); - VIC2REG(EP93XX_VIC_IntEnable) = - (1U << (irq - VIC_NIRQ)); - } + return (child); } -void -arm_mask_irq(int irq) +static void +ahpb_add_hint_devs(device_t bus) { - KASSERT(irq < VIC_NIRQ * 2, ("irq %d is greater than max", irq)); + char buf[16]; + const char *dname; + int dunit; + int i; - if (irq < VIC_NIRQ) { - vic1_intr_enabled &= ~(1U << irq); - VIC1REG(EP93XX_VIC_IntEnClear) = (1U << irq); - } else { - vic2_intr_enabled &= ~(1U << (irq - VIC_NIRQ)); - VIC2REG(EP93XX_VIC_IntEnClear) = - (1U << (irq - VIC_NIRQ)); + /* + * Add all devices configured to be attached to parent. + */ + snprintf(buf, sizeof(buf), "%s", device_get_name(bus)); + i = 0; + while ((resource_find_match(&i, &dname, &dunit, "at", buf)) == 0) { + if (bootverbose) + printf("adding %s%d on %s\n", dname, dunit, buf); + ahpb_add_child(bus, dname, dunit); } + + } -int -arm_get_next_irq() +static struct resource_list * +ahpb_get_resource_list(device_t dev, device_t child) { - int reg; + struct ahpb_device *adev; + struct resource_list *rl; - if ((reg = VIC1REG(EP93XX_VIC_IRQStatus) & vic1_intr_enabled)) { - return ffs(reg) - 1; - } else if ((reg = VIC2REG(EP93XX_VIC_IRQStatus) & vic2_intr_enabled)) { - return ffs(reg) - 1 + 32; - } + adev = (struct ahpb_device *)device_get_ivars(child); + rl = &adev->ad_resources; - return -1; + return (rl); } -static void -ep93xx_intr_init(void) +static int +ahpb_set_resource(device_t dev, device_t child, int type, int rid, + u_long start, u_long count) { + struct ahpb_device *adev; + struct resource_list *rl; + + adev = (struct ahpb_device *)device_get_ivars(child); + rl = &adev->ad_resources; - vic1_intr_enabled = 0; - vic2_intr_enabled = 0; + if (type != SYS_RES_MEMORY && type != SYS_RES_IRQ && + type != SYS_RES_DRQ) + return (EINVAL); + if (rid < -1) + return (EINVAL); - /* All interrupts should use IRQ not FIQ */ - VIC1REG(EP93XX_VIC_IntSelect) = 0; - VIC2REG(EP93XX_VIC_IntSelect) = 0; + if (rid == -1) + resource_list_add_next(rl, type, start, start + count - 1, + count); + else + resource_list_add(rl, type, rid, start, start + count - 1, + count); - /* Enable IRQs (don't yet use FIQs). */ - enable_interrupts(I32_bit); + return 0; } -int ep93xx_probe(device_t); -void ep93xx_identify(driver_t *, device_t); -int ep93xx_attach(device_t); +int ahb_probe(device_t); +void ahb_identify(driver_t *, device_t); +int ahb_attach(device_t); int -ep93xx_probe(device_t dev) +ahb_probe(device_t dev) { - device_set_desc(dev, "Cirrus Logic EP93xx CPU"); + device_set_desc(dev, "Cirrus Logic EP93xx AHB Bus"); return (0); } void -ep93xx_identify(driver_t *driver, device_t parent) +ahb_identify(driver_t *driver, device_t parent) { - BUS_ADD_CHILD(parent, 0, "eparm", 0); + BUS_ADD_CHILD(parent, 0, "ahb", 0); } struct arm32_dma_range * @@ -181,10 +219,9 @@ * of EP93XX_APB_VBASE + EP93XX_APB_UART1. */ int -ep93xx_attach(device_t dev) +ahb_attach(device_t dev) { - struct eparm_softc *sc; - device_t chld; + struct ahb_softc *sc; sc = device_get_softc(dev); sc->sc_intr_rman.rm_type = RMAN_ARRAY; @@ -194,22 +231,13 @@ if (rman_init(&sc->sc_intr_rman) != 0 || rman_init(&sc->sc_mem_rman) != 0 || rman_manage_region(&sc->sc_intr_rman, 0, NIRQ - 1) != 0 || - rman_manage_region(&sc->sc_mem_rman, EP93XX_AHB_VBASE, - EP93XX_AHB_VBASE + EP93XX_AHB_SIZE - 1) != 0 || - rman_manage_region(&sc->sc_mem_rman, EP93XX_APB_VBASE, - EP93XX_APB_VBASE + EP93XX_APB_SIZE - 1) != 0) - panic("ep93xx_attach(): failed to set up rmans"); + rman_manage_region(&sc->sc_mem_rman, 0, EP93XX_AHB_SIZE - 1) != 0) + panic("ahb_attach(): failed to set up rmans"); ep93xx_intr_init(); - /* XXX - hardcode the device id's? */ - /* XXX - convert to device.hints */ - chld = device_add_child(dev, "uart", -1); - device_set_ivars(chld, (void *)1); - chld = device_add_child(dev, "uart", -1); - device_set_ivars(chld, (void *)2); - - device_add_child(dev, "epclk", -1); + /* add all the deivces per hints */ + ahpb_add_hint_devs(dev); /* kick these off */ bus_generic_probe(dev); @@ -246,12 +274,14 @@ } static struct resource * -ep93xx_alloc_resource(device_t bus, device_t child, int type, int *rid, +ahb_alloc_resource(device_t bus, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags) { - struct eparm_softc *sc = device_get_softc(bus); + struct ahb_softc *sc = device_get_softc(bus); struct resource *rv; struct rman *rm; + u_long rstart, rcount; + int error; int needactivate = flags & RF_ACTIVE; flags &= ~RF_ACTIVE; @@ -267,18 +297,18 @@ return (NULL); } - /* if non-zero rid, that means it's a specific address */ - if (*rid != 0) - rv = rman_reserve_resource(rm, *rid, *rid + count - 1, count, - flags, child); - else - rv = rman_reserve_resource(rm, start, end, count, flags, child); + error = BUS_GET_RESOURCE(bus, child, type, *rid, &rstart, &rcount); + if (error) + return (NULL); + + rv = rman_reserve_resource(rm, rstart, rstart + rcount - 1, rcount, + flags, child); if (rv == NULL) return (NULL); if (type == SYS_RES_MEMORY) { rman_set_bustag(rv, &ep93xx_bs_tag); - rman_set_bushandle(rv, rman_get_start(rv)); + rman_set_bushandle(rv, EP93XX_AHB_VBASE + rman_get_start(rv)); } if (needactivate) { @@ -292,7 +322,7 @@ } static int -ep93xx_activate_resource(device_t dev, device_t child, int type, int rid, +ahb_activate_resource(device_t dev, device_t child, int type, int rid, struct resource *r) { /* XXX - enable interrupt? */ @@ -301,7 +331,7 @@ } static int -ep93xx_deactivate_resource(device_t dev, device_t child, int type, int rid, +ahb_deactivate_resource(device_t dev, device_t child, int type, int rid, struct resource *r) { /* XXX - disable interrupt? */ @@ -310,7 +340,7 @@ } static int -ep93xx_release_resource(device_t dev, device_t child, int type, int rid, +ahb_release_resource(device_t dev, device_t child, int type, int rid, struct resource *r) { /* not much to do since we use static mappings */ @@ -318,9 +348,8 @@ } static int -ep93xx_setup_intr(device_t dev, device_t child, - struct resource *ires, int flags, driver_intr_t *intr, void *arg, - void **cookiep) +ahb_setup_intr(device_t dev, device_t child, struct resource *ires, + int flags, driver_intr_t *intr, void *arg, void **cookiep) { BUS_SETUP_INTR(device_get_parent(dev), child, ires, flags, intr, arg, @@ -329,23 +358,171 @@ return (0); } -static device_method_t ep93xx_methods[] = { - DEVMETHOD(device_probe, ep93xx_probe), - DEVMETHOD(device_attach, ep93xx_attach), - DEVMETHOD(device_identify, ep93xx_identify), - DEVMETHOD(bus_alloc_resource, ep93xx_alloc_resource), - DEVMETHOD(bus_activate_resource, ep93xx_activate_resource), - DEVMETHOD(bus_deactivate_resource, ep93xx_deactivate_resource), - DEVMETHOD(bus_release_resource, ep93xx_release_resource), - DEVMETHOD(bus_setup_intr, ep93xx_setup_intr), + +static int ahb_teardown_intr(device_t dev, device_t child, + struct resource *ires, void *cookie) +{ + + BUS_TEARDOWN_INTR(device_get_parent(dev), child, ires, cookie); + arm_mask_irq(ires->r_start); + + return (0); +} + +static device_method_t ahb_methods[] = { + DEVMETHOD(device_probe, ahb_probe), + DEVMETHOD(device_attach, ahb_attach), + DEVMETHOD(device_identify, ahb_identify), + + DEVMETHOD(bus_get_resource_list, ahpb_get_resource_list), + DEVMETHOD(bus_alloc_resource, ahb_alloc_resource), + DEVMETHOD(bus_release_resource, ahb_release_resource), + DEVMETHOD(bus_set_resource, ahpb_set_resource), + DEVMETHOD(bus_get_resource, bus_generic_rl_get_resource), + DEVMETHOD(bus_delete_resource, bus_generic_rl_delete_resource), + DEVMETHOD(bus_activate_resource, ahb_activate_resource), + DEVMETHOD(bus_deactivate_resource, ahb_deactivate_resource), + + DEVMETHOD(bus_setup_intr, ahb_setup_intr), + DEVMETHOD(bus_teardown_intr, ahb_teardown_intr), + {0, 0}, +}; + +static driver_t ahb_driver = { + "ahb", + ahb_methods, + sizeof(struct ahb_softc), +}; +static devclass_t ahb_devclass; + +DRIVER_MODULE(ahb, nexus, ahb_driver, ahb_devclass, 0, 0); + +static int +apb_probe(device_t dev) +{ + + return 0; +} + +static int +apb_attach(device_t dev) +{ + struct apb_softc *sc; + + sc = device_get_softc(dev); + sc->sc_mem_rman.rm_type = RMAN_ARRAY; + sc->sc_mem_rman.rm_descr = "Register Memory"; + if (rman_init(&sc->sc_mem_rman) != 0 || + rman_manage_region(&sc->sc_mem_rman, 0, EP93XX_APB_SIZE - 1) != 0) + panic("apb_attach(): failed to set up rmans"); + + /* add all the deivces per hints */ + ahpb_add_hint_devs(dev); + + /* kick these off */ + bus_generic_probe(dev); + bus_generic_attach(dev); + + return (0); +} + +static struct resource * +apb_alloc_resource(device_t bus, device_t child, int type, int *rid, + u_long start, u_long end, u_long count, u_int flags) +{ + struct apb_softc *sc = device_get_softc(bus); + struct resource *rv; + struct rman *rm; + u_long rstart, rcount; + int error; + int needactivate = flags & RF_ACTIVE; + + if (type == SYS_RES_IRQ) { + return BUS_ALLOC_RESOURCE(device_get_parent(bus), child, type, + rid, start, end, count, flags); + } + + flags &= ~RF_ACTIVE; + + if (type != SYS_RES_MEMORY) + return NULL; + + rm = &sc->sc_mem_rman; + + error = BUS_GET_RESOURCE(bus, child, type, *rid, &rstart, &rcount); + if (error) + return (NULL); + + rv = rman_reserve_resource(rm, rstart, rstart + rcount - 1, rcount, + flags, child); + + if (rv == NULL) + return (NULL); + if (type == SYS_RES_MEMORY) { + /* XXX - should base this off of AHB's tag and handle */ + rman_set_bustag(rv, &ep93xx_bs_tag); + rman_set_bushandle(rv, EP93XX_APB_VBASE + rman_get_start(rv)); + } + + if (needactivate) { + if (bus_activate_resource(child, type, *rid, rv) != 0) { + rman_release_resource(rv); + return (NULL); + } + } + + return (rv); +} + +static int +apb_activate_resource(device_t dev, device_t child, int type, int rid, + struct resource *r) +{ + /* XXX - enable interrupt? */ + /* not much to do since we use static mappings */ + return rman_activate_resource(r); +} + +static int +apb_deactivate_resource(device_t dev, device_t child, int type, int rid, + struct resource *r) +{ + /* XXX - disable interrupt? */ + /* not much to do since we use static mappings */ + return rman_deactivate_resource(r); +} + +static int +apb_release_resource(device_t dev, device_t child, int type, int rid, + struct resource *r) +{ + /* not much to do since we use static mappings */ + return rman_release_resource(r); +} + +static device_method_t apb_methods[] = { + DEVMETHOD(device_probe, apb_probe), + DEVMETHOD(device_attach, apb_attach), + + DEVMETHOD(bus_get_resource_list, ahpb_get_resource_list), + DEVMETHOD(bus_alloc_resource, apb_alloc_resource), + DEVMETHOD(bus_release_resource, apb_release_resource), + DEVMETHOD(bus_set_resource, ahpb_set_resource), + DEVMETHOD(bus_get_resource, bus_generic_rl_get_resource), + DEVMETHOD(bus_delete_resource, bus_generic_rl_delete_resource), + DEVMETHOD(bus_activate_resource, apb_activate_resource), + DEVMETHOD(bus_deactivate_resource, apb_deactivate_resource), + + DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), + DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), {0, 0}, }; -static driver_t ep93xx_driver = { - "eparm", - ep93xx_methods, - sizeof(struct eparm_softc), +static driver_t apb_driver = { + "apb", + apb_methods, + sizeof(struct apb_softc), }; -static devclass_t ep93xx_devclass; +static devclass_t apb_devclass; -DRIVER_MODULE(eparm, nexus, ep93xx_driver, ep93xx_devclass, 0, 0); +DRIVER_MODULE(apb, ahb, apb_driver, apb_devclass, 0, 0); ==== //depot/projects/arm/src/sys/arm/ep93xx/epclk.c#2 (text+ko) ==== @@ -150,7 +150,7 @@ }; static devclass_t epclk_devclass; -DRIVER_MODULE(epclk, eparm, epclk_driver, epclk_devclass, 0, 0); +DRIVER_MODULE(epclk, apb, epclk_driver, epclk_devclass, 0, 0); /* * epclk_intr: * @@ -180,6 +180,7 @@ stathz = profhz = 0; if (hz != 64) panic("HZ must be 64!"); + if (epclk == NULL) panic("epclk hasn't been attached yet!"); /* clear 64Hz interrupt status */ bus_space_write_4(epclk->sc_iot, epclk->sc_teoi_ioh, 0, 1); ==== //depot/projects/arm/src/sys/arm/ep93xx/files.ep93xx#2 (text+ko) ==== @@ -2,6 +2,7 @@ arm/arm/cpufunc_asm_arm9.S standard arm/arm/irq_dispatch.S standard arm/ep93xx/ep93xx.c standard +arm/ep93xx/ep93xx_intr.c standard arm/ep93xx/ep93xx_space.c standard arm/ep93xx/epclk.c standard arm/ep93xx/uart_bus_ep93xx.c optional uart ==== //depot/projects/arm/src/sys/arm/ep93xx/std.ep93xx#2 (text+ko) ==== @@ -1,3 +1,5 @@ #$FreeBSD$ files "../ep93xx/files.ep93xx" cpu CPU_ARM9 + +hints "../ep93xx/hints.ep93xx" ==== //depot/projects/arm/src/sys/arm/ep93xx/uart_bus_ep93xx.c#3 (text+ko) ==== @@ -35,8 +35,6 @@ #include #include -#include - #include #include #include @@ -67,17 +65,23 @@ uart_ep93xx_probe(device_t dev) { struct uart_softc *sc; - int i; + int error; + int unum; + + error = resource_int_value(device_get_name(dev), device_get_unit(dev), + "chan", &unum); + if (error) + return (error); - if ((i = (int)device_get_ivars(dev)) < 1 || i > 2) + if (unum < 1 || unum > 2) return ENXIO; sc = device_get_softc(dev); sc->sc_class = &uart_epuart_class; - sc->sc_bas = EPUARTBAS(i); - sc->sc_irid = i == 1 ? 52 : 54; + sc->sc_bas = EPUARTBAS(unum); /* do proper resource alloc */ + sc->sc_irid = unum == 1 ? 52 : 54; return (uart_bus_probe(dev, sc->sc_bas.regshft, sc->sc_bas.rclk, - sc->sc_bas.bsh, sc->sc_bas.chan, sc->sc_irid)); + 0, sc->sc_bas.chan, 0)); } -DRIVER_MODULE(uart, eparm, uart_ep93xx_driver, uart_devclass, 0, 0); +DRIVER_MODULE(uart, apb, uart_ep93xx_driver, uart_devclass, 0, 0); From owner-p4-projects@FreeBSD.ORG Tue Feb 22 23:16:37 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C348316A4D0; Tue, 22 Feb 2005 23:16:36 +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 98B0C16A4CE for ; Tue, 22 Feb 2005 23:16:36 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6C24D43D54 for ; Tue, 22 Feb 2005 23:16:36 +0000 (GMT) (envelope-from jmg@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 j1MNGaL8088712 for ; Tue, 22 Feb 2005 23:16:36 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1MNGab1088709 for perforce@freebsd.org; Tue, 22 Feb 2005 23:16:36 GMT (envelope-from jmg@freebsd.org) Date: Tue, 22 Feb 2005 23:16:36 GMT Message-Id: <200502222316.j1MNGab1088709@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71612 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: Tue, 22 Feb 2005 23:16:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=71612 Change 71612 by jmg@jmg_carbon on 2005/02/22 23:16:17 add from hint to the adding line to make it obvious where we got it from Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/ep93xx.c#7 edit Differences ... ==== //depot/projects/arm/src/sys/arm/ep93xx/ep93xx.c#7 (text+ko) ==== @@ -135,7 +135,8 @@ i = 0; while ((resource_find_match(&i, &dname, &dunit, "at", buf)) == 0) { if (bootverbose) - printf("adding %s%d on %s\n", dname, dunit, buf); + printf("adding %s%d on %s from hint\n", dname, dunit, + buf); ahpb_add_child(bus, dname, dunit); } From owner-p4-projects@FreeBSD.ORG Tue Feb 22 23:34:59 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 62CF016A4D0; Tue, 22 Feb 2005 23:34:59 +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 2105A16A4CE for ; Tue, 22 Feb 2005 23:34:59 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DE5CD43D66 for ; Tue, 22 Feb 2005 23:34:58 +0000 (GMT) (envelope-from jmg@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 j1MNYwDW089523 for ; Tue, 22 Feb 2005 23:34:58 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1MNYw8v089520 for perforce@freebsd.org; Tue, 22 Feb 2005 23:34:58 GMT (envelope-from jmg@freebsd.org) Date: Tue, 22 Feb 2005 23:34:58 GMT Message-Id: <200502222334.j1MNYw8v089520@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71613 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: Tue, 22 Feb 2005 23:35:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=71613 Change 71613 by jmg@jmg_carbon on 2005/02/22 23:34:21 comment out the BOOTP stuff, at least till we get the ethernet driver committed... This means we now get to a mountroot> prompt.. so guess if we bring in md, we might be able to get to userland.. also fix up options so that option lines are: "options" so they line up when commented out... Affected files ... .. //depot/projects/arm/src/sys/arm/conf/TS7200#4 edit Differences ... ==== //depot/projects/arm/src/sys/arm/conf/TS7200#4 (text+ko) ==== @@ -21,8 +21,8 @@ ident TS7200 options PHYSADDR=0x00000000 -options KERNPHYSADDR=0x00200000 -options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm +options KERNPHYSADDR=0x00200000 +options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm makeoptions KERNPHYSADDR=0x00200000 makeoptions KERNVIRTADDR=0xc0200000 @@ -35,10 +35,10 @@ makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols makeoptions CONF_CFLAGS=-mcpu=arm9 -options DDB -#options ARMFPE -options HZ=64 -#options DEVICE_POLLING +options DDB +#options ARMFPE +options HZ=64 +#options DEVICE_POLLING options SCHED_4BSD #4BSD scheduler options INET #InterNETworking @@ -62,12 +62,12 @@ options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev -options BOOTP -options BOOTP_NFSROOT -options BOOTP_NFSV3 -options BOOTP_WIRED_TO=em0 -options BOOTP_COMPAT -#options PREEMPTION +#options BOOTP +#options BOOTP_NFSROOT +#options BOOTP_NFSV3 +#options BOOTP_WIRED_TO=em0 +#options BOOTP_COMPAT +#options PREEMPTION device genclock device loop device ether @@ -85,13 +85,13 @@ # output. Adds ~215k to driver. # Debugging for use in -current -options KDB +options KDB options DDB #Enable the kernel debugger #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles #options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed -#options DIAGNOSTIC +#options DIAGNOSTIC # To make an SMP kernel, the next two are needed #options SMP # Symmetric MultiProcessor Kernel From owner-p4-projects@FreeBSD.ORG Wed Feb 23 03:19:34 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6997716A4D1; Wed, 23 Feb 2005 03:19:34 +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 2467616A4CE for ; Wed, 23 Feb 2005 03:19:34 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EA33643D53 for ; Wed, 23 Feb 2005 03:19:33 +0000 (GMT) (envelope-from trhodes@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 j1N3JXV0006733 for ; Wed, 23 Feb 2005 03:19:33 GMT (envelope-from trhodes@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1N3JXx2006730 for perforce@freebsd.org; Wed, 23 Feb 2005 03:19:33 GMT (envelope-from trhodes@freebsd.org) Date: Wed, 23 Feb 2005 03:19:33 GMT Message-Id: <200502230319.j1N3JXx2006730@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trhodes@freebsd.org using -f From: Tom Rhodes To: Perforce Change Reviews Subject: PERFORCE change 71625 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: Wed, 23 Feb 2005 03:19:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=71625 Change 71625 by trhodes@trhodes_local on 2005/02/23 03:19:18 Add audit.2 and auditon.2 manual pages. Affected files ... .. //depot/projects/trustedbsd/audit3/lib/libc/sys/audit.2#1 add .. //depot/projects/trustedbsd/audit3/lib/libc/sys/auditon.2#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Wed Feb 23 06:28:24 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7E01516A4D0; Wed, 23 Feb 2005 06:28:24 +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 578BB16A4CE for ; Wed, 23 Feb 2005 06:28:24 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4247843D3F for ; Wed, 23 Feb 2005 06:28:24 +0000 (GMT) (envelope-from jmg@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 j1N6SOBJ020318 for ; Wed, 23 Feb 2005 06:28:24 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1N6SNID020315 for perforce@freebsd.org; Wed, 23 Feb 2005 06:28:23 GMT (envelope-from jmg@freebsd.org) Date: Wed, 23 Feb 2005 06:28:23 GMT Message-Id: <200502230628.j1N6SNID020315@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71633 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: Wed, 23 Feb 2005 06:28:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=71633 Change 71633 by jmg@jmg_carbon on 2005/02/23 06:27:59 The docs don't talk about a different between the two, so why should we? Affected files ... .. //depot/projects/arm/src/sys/arm/arm/trap.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/trap.c#2 (text+ko) ==== @@ -157,9 +157,9 @@ static const struct data_abort data_aborts[] = { {dab_fatal, "Vector Exception"}, - {dab_align, "Alignment Fault 1"}, + {dab_align, "Alignment Fault"}, {dab_fatal, "Terminal Exception"}, - {dab_align, "Alignment Fault 3"}, + {dab_align, "Alignment Fault"}, {dab_buserr, "External Linefetch Abort (S)"}, {NULL, "Translation Fault (S)"}, {dab_buserr, "External Linefetch Abort (P)"}, From owner-p4-projects@FreeBSD.ORG Wed Feb 23 06:35:33 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7C37816A4D0; Wed, 23 Feb 2005 06:35:33 +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 5931616A4CE for ; Wed, 23 Feb 2005 06:35:33 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 35EFC43D31 for ; Wed, 23 Feb 2005 06:35:33 +0000 (GMT) (envelope-from jmg@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 j1N6ZX9Z020630 for ; Wed, 23 Feb 2005 06:35:33 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1N6ZWAK020627 for perforce@freebsd.org; Wed, 23 Feb 2005 06:35:32 GMT (envelope-from jmg@freebsd.org) Date: Wed, 23 Feb 2005 06:35:32 GMT Message-Id: <200502230635.j1N6ZWAK020627@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71634 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: Wed, 23 Feb 2005 06:35:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=71634 Change 71634 by jmg@jmg_carbon on 2005/02/23 06:35:20 comment these out, I plan to use them, but it seems that there are issues with large kernels that cause random issues... Affected files ... .. //depot/projects/arm/src/sys/arm/conf/TS7200#5 edit Differences ... ==== //depot/projects/arm/src/sys/arm/conf/TS7200#5 (text+ko) ==== @@ -47,6 +47,9 @@ options SOFTUPDATES #Enable FFS soft updates support options UFS_ACL #Support for access control lists options UFS_DIRHASH #Improve performance on big directories +options MD_ROOT # MD is a potential root device +#options MD_ROOT_SIZE="1536" # MD is 1meg +#options GEOM_UZIP options NFSCLIENT #Network Filesystem Client options NFSSERVER #Network Filesystem Server options NFS_ROOT #NFS usable as /, requires NFSCLIENT @@ -96,8 +99,6 @@ # To make an SMP kernel, the next two are needed #options SMP # Symmetric MultiProcessor Kernel #options APIC_IO # Symmetric (APIC) I/O -device md + +device md device random # Entropy device - -# Floppy drives - From owner-p4-projects@FreeBSD.ORG Wed Feb 23 07:06:11 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5BD6216A4D0; Wed, 23 Feb 2005 07:06:11 +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 077B216A4CE for ; Wed, 23 Feb 2005 07:06:11 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A612C43D1F for ; Wed, 23 Feb 2005 07:06:10 +0000 (GMT) (envelope-from jmg@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 j1N76AJN022001 for ; Wed, 23 Feb 2005 07:06:10 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1N76A7P021989 for perforce@freebsd.org; Wed, 23 Feb 2005 07:06:10 GMT (envelope-from jmg@freebsd.org) Date: Wed, 23 Feb 2005 07:06:10 GMT Message-Id: <200502230706.j1N76A7P021989@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71635 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: Wed, 23 Feb 2005 07:06:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=71635 Change 71635 by jmg@jmg_carbon on 2005/02/23 07:05:27 fix up epclk to use the new resource system... the interrupt and timer resources are assigned via hints.. make attach return an int like it's suppose to, I guess we've been lucky... keep proper allocation of information when we setup the interrupt.. Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/epclk.c#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/ep93xx/epclk.c#3 (text+ko) ==== @@ -69,7 +69,7 @@ #include static int epclk_probe(device_t); -static void epclk_attach(device_t); +static int epclk_attach(device_t); /* callback functions for intr_functions */ static void epclk_intr(void* arg); @@ -108,33 +108,52 @@ epclk_probe(device_t dev) { + if (device_get_unit(dev) != 0) + return ENXIO; + return 0; } struct epclk_softc { - bus_space_tag_t sc_iot; - bus_space_handle_t sc_ioh; - bus_space_handle_t sc_teoi_ioh; - device_t dev; + struct resource *sc_timerres; + bus_space_tag_t sc_iot; + bus_space_handle_t sc_ioh; + + struct resource *sc_irqres; + void *sc_irqcookie; + + bus_space_handle_t sc_teoi_ioh; + device_t dev; }; static struct epclk_softc *epclk; -static void +static int epclk_attach(device_t dev) { + int i; epclk = device_get_softc(dev); - epclk->sc_iot = &ep93xx_bs_tag; - epclk->sc_ioh = EP93XX_APB_VBASE; + + i = 0; + epclk->sc_timerres = bus_alloc_resource(dev, SYS_RES_MEMORY, &i, 0, ~0, + ~0, RF_ACTIVE); + + if (epclk->sc_timerres == NULL) + return ENXIO; + + epclk->sc_iot = rman_get_bustag(epclk->sc_timerres); + epclk->sc_ioh = rman_get_bushandle(epclk->sc_timerres); epclk->dev = dev; epclk->sc_teoi_ioh = EP93XX_APB_VBASE + EP93XX_APB_SYSCON + - EP93XX_SYSCON_TEOI; + EP93XX_SYSCON_TEOI; /* XXX - second memory res? */ /* clear and start the debug timer (Timer4) */ bus_space_write_4(epclk->sc_iot, epclk->sc_ioh, EP93XX_TIMERS_Timer4Enable, 0); bus_space_write_4(epclk->sc_iot, epclk->sc_ioh, EP93XX_TIMERS_Timer4Enable, 0x100); + + return 0; } static device_method_t epclk_methods[] = { @@ -161,7 +180,7 @@ { bus_space_write_4(epclk->sc_iot, epclk->sc_teoi_ioh, 0, 1); - hardclock((struct clockframe*) arg); + hardclock((struct clockframe *)arg); } @@ -173,9 +192,7 @@ void cpu_initclocks(void) { - struct resource *irq; - void *ihl; - int rid = 0; + int rid; stathz = profhz = 0; @@ -185,13 +202,15 @@ /* clear 64Hz interrupt status */ bus_space_write_4(epclk->sc_iot, epclk->sc_teoi_ioh, 0, 1); - irq = bus_alloc_resource(epclk->dev, SYS_RES_IRQ, &rid, 35, - 35, 1, RF_ACTIVE); - if (!irq) + rid = 0; + epclk->sc_irqres = bus_alloc_resource(epclk->dev, SYS_RES_IRQ, &rid, + 0, ~0, 1, RF_ACTIVE); + if (!epclk->sc_irqres) panic("Unable to setup the clock irq handler.\n"); else - bus_setup_intr(epclk->dev, irq, INTR_TYPE_CLK | INTR_FAST, - epclk_intr, NULL, &ihl); + bus_setup_intr(epclk->dev, epclk->sc_irqres, + INTR_TYPE_CLK | INTR_FAST, epclk_intr, NULL, + &epclk->sc_irqcookie); } /* From owner-p4-projects@FreeBSD.ORG Wed Feb 23 07:09:15 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F84D16A4D0; Wed, 23 Feb 2005 07:09:15 +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 230B616A4CE for ; Wed, 23 Feb 2005 07:09:15 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E720D43D45 for ; Wed, 23 Feb 2005 07:09:14 +0000 (GMT) (envelope-from jmg@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 j1N79EG5022130 for ; Wed, 23 Feb 2005 07:09:14 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1N79ELd022127 for perforce@freebsd.org; Wed, 23 Feb 2005 07:09:14 GMT (envelope-from jmg@freebsd.org) Date: Wed, 23 Feb 2005 07:09:14 GMT Message-Id: <200502230709.j1N79ELd022127@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71636 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: Wed, 23 Feb 2005 07:09:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=71636 Change 71636 by jmg@jmg_carbon on 2005/02/23 07:09:13 add the hint for the epe (ethernet device) Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/hints.ep93xx#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/ep93xx/hints.ep93xx#2 (text+ko) ==== @@ -4,6 +4,12 @@ # Setup the Peripheral Bus hint.apb.0.at="ahb" +# Setup devices on the AHB +hint.epe.0.at="ahb" +hint.epe.0.port="0x10000" +hint.epe.0.portsize="0x100" +hint.epe.0.irq="39" + # Setup devices on the APB hint.epclk.0.at="apb" hint.epclk.0.port="0x10000" From owner-p4-projects@FreeBSD.ORG Wed Feb 23 07:13:44 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D2FC816A4D0; Wed, 23 Feb 2005 07:13:43 +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 ABDF716A4CE for ; Wed, 23 Feb 2005 07:13:43 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 91E6143D46 for ; Wed, 23 Feb 2005 07:13:43 +0000 (GMT) (envelope-from jmg@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 j1N7DhH4022445 for ; Wed, 23 Feb 2005 07:13:43 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1N7DhFe022442 for perforce@freebsd.org; Wed, 23 Feb 2005 07:13:43 GMT (envelope-from jmg@freebsd.org) Date: Wed, 23 Feb 2005 07:13:43 GMT Message-Id: <200502230713.j1N7DhFe022442@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71638 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: Wed, 23 Feb 2005 07:13:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=71638 Change 71638 by jmg@jmg_carbon on 2005/02/23 07:12:44 keep the rid around for the resources if/when we release them... Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/epclk.c#4 edit Differences ... ==== //depot/projects/arm/src/sys/arm/ep93xx/epclk.c#4 (text+ko) ==== @@ -115,10 +115,12 @@ } struct epclk_softc { + int sc_timerrid; struct resource *sc_timerres; bus_space_tag_t sc_iot; bus_space_handle_t sc_ioh; + int sc_irqrid; struct resource *sc_irqres; void *sc_irqcookie; @@ -131,13 +133,12 @@ static int epclk_attach(device_t dev) { - int i; epclk = device_get_softc(dev); - i = 0; - epclk->sc_timerres = bus_alloc_resource(dev, SYS_RES_MEMORY, &i, 0, ~0, - ~0, RF_ACTIVE); + epclk->sc_timerrid = 0; + epclk->sc_timerres = bus_alloc_resource(dev, SYS_RES_MEMORY, + &epclk->sc_timerrid, 0, ~0, ~0, RF_ACTIVE); if (epclk->sc_timerres == NULL) return ENXIO; @@ -192,7 +193,6 @@ void cpu_initclocks(void) { - int rid; stathz = profhz = 0; @@ -202,9 +202,9 @@ /* clear 64Hz interrupt status */ bus_space_write_4(epclk->sc_iot, epclk->sc_teoi_ioh, 0, 1); - rid = 0; - epclk->sc_irqres = bus_alloc_resource(epclk->dev, SYS_RES_IRQ, &rid, - 0, ~0, 1, RF_ACTIVE); + epclk->sc_irqrid = 0; + epclk->sc_irqres = bus_alloc_resource(epclk->dev, SYS_RES_IRQ, + &epclk->sc_irqrid, 0, ~0, 1, RF_ACTIVE); if (!epclk->sc_irqres) panic("Unable to setup the clock irq handler.\n"); else From owner-p4-projects@FreeBSD.ORG Wed Feb 23 07:28:03 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A7A3916A4D1; Wed, 23 Feb 2005 07:28:02 +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 7DAC716A4CE for ; Wed, 23 Feb 2005 07:28:02 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 65B8E43D39 for ; Wed, 23 Feb 2005 07:28:02 +0000 (GMT) (envelope-from jmg@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 j1N7S2Xv023163 for ; Wed, 23 Feb 2005 07:28:02 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1N7S2AL023160 for perforce@freebsd.org; Wed, 23 Feb 2005 07:28:02 GMT (envelope-from jmg@freebsd.org) Date: Wed, 23 Feb 2005 07:28:02 GMT Message-Id: <200502230728.j1N7S2AL023160@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71640 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: Wed, 23 Feb 2005 07:28:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=71640 Change 71640 by jmg@jmg_carbon on 2005/02/23 07:27:48 remvoe stale comment now that it's done.. Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/ep93xx.c#8 edit Differences ... ==== //depot/projects/arm/src/sys/arm/ep93xx/ep93xx.c#8 (text+ko) ==== @@ -213,12 +213,6 @@ return (0); } -/* - * XXX - we might want to think about breaking this up into two busses, one - * for APB, and another for AHB. Then we would only manage 0 through BUSHIGH, - * and mappings would be directly relative, i.e. just EP93XX_APB_UART1 instead - * of EP93XX_APB_VBASE + EP93XX_APB_UART1. - */ int ahb_attach(device_t dev) { From owner-p4-projects@FreeBSD.ORG Wed Feb 23 11:46:31 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 81F6116A4D0; Wed, 23 Feb 2005 11:46:31 +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 5967D16A4CE for ; Wed, 23 Feb 2005 11:46:31 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 415B543D55 for ; Wed, 23 Feb 2005 11:46:31 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j1NBkVvU041724 for ; Wed, 23 Feb 2005 11:46:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1NBkVsN041721 for perforce@freebsd.org; Wed, 23 Feb 2005 11:46:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 23 Feb 2005 11:46:31 GMT Message-Id: <200502231146.j1NBkVsN041721@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 71652 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: Wed, 23 Feb 2005 11:46:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=71652 Change 71652 by rwatson@rwatson_paprika on 2005/02/23 11:46:19 When replacing an existing mac_bsdextended rule, perform the replacement under the mac_bsdextended_mtx mutex so as not to race with other code using the rule pointer or rule. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#81 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#81 (text+ko) ==== @@ -186,10 +186,10 @@ rule_slots = index + 1; rule_count++; } else { + /* printf("replacement\n"); */ + *rules[index] = temprule; mtx_unlock(&mac_bsdextended_mtx); FREE(ruleptr, M_MACBSDEXTENDED); - /* printf("replacement\n"); */ - *rules[index] = temprule; } mtx_unlock(&mac_bsdextended_mtx); return (0); From owner-p4-projects@FreeBSD.ORG Wed Feb 23 11:47:33 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 440BF16A4D0; Wed, 23 Feb 2005 11:47:33 +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 180BA16A4CE for ; Wed, 23 Feb 2005 11:47:33 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F38C143D48 for ; Wed, 23 Feb 2005 11:47:32 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j1NBlWEw041786 for ; Wed, 23 Feb 2005 11:47:32 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1NBlWxu041783 for perforce@freebsd.org; Wed, 23 Feb 2005 11:47:32 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 23 Feb 2005 11:47:32 GMT Message-Id: <200502231147.j1NBlWxu041783@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 71653 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: Wed, 23 Feb 2005 11:47:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=71653 Change 71653 by rwatson@rwatson_paprika on 2005/02/23 11:47:16 Don't unlock the mac_bsdextended_mtx twice when replacing a rule. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#82 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#82 (text+ko) ==== @@ -185,13 +185,13 @@ if (index + 1 > rule_slots) rule_slots = index + 1; rule_count++; + mtx_unlock(&mac_bsdextended_mtx); } else { /* printf("replacement\n"); */ *rules[index] = temprule; mtx_unlock(&mac_bsdextended_mtx); FREE(ruleptr, M_MACBSDEXTENDED); } - mtx_unlock(&mac_bsdextended_mtx); return (0); } From owner-p4-projects@FreeBSD.ORG Wed Feb 23 11:55:43 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 90B2916A4D0; Wed, 23 Feb 2005 11:55:43 +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 6758216A4CE for ; Wed, 23 Feb 2005 11:55:43 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D48043D49 for ; Wed, 23 Feb 2005 11:55:43 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j1NBthA9042394 for ; Wed, 23 Feb 2005 11:55:43 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1NBthF8042391 for perforce@freebsd.org; Wed, 23 Feb 2005 11:55:43 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 23 Feb 2005 11:55:43 GMT Message-Id: <200502231155.j1NBthF8042391@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 71654 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: Wed, 23 Feb 2005 11:55:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=71654 Change 71654 by rwatson@rwatson_paprika on 2005/02/23 11:54:55 Minor style tweak. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#83 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#83 (text+ko) ==== @@ -1,7 +1,7 @@ /*- * Copyright (c) 2005 Tom Rhodes * Copyright (c) 1999-2002 Robert N. M. Watson - * Copyright (c) 2001-2004 Networks Associates Technology, Inc. + * Copyright (c) 2001-2005 Networks Associates Technology, Inc. * All rights reserved. * * This software was developed by Robert Watson for the TrustedBSD Project. @@ -200,12 +200,12 @@ if (index < 0 || index > rule_slots + 1) { mtx_unlock(&mac_bsdextended_mtx); return (ENOENT); - } + } if (rules[index] == NULL) { mtx_unlock(&mac_bsdextended_mtx); return (ENOENT); - } + } temprule = *rules[index]; mtx_unlock(&mac_bsdextended_mtx); From owner-p4-projects@FreeBSD.ORG Wed Feb 23 11:56:45 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C48216A4D0; Wed, 23 Feb 2005 11:56:45 +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 2781116A4CE for ; Wed, 23 Feb 2005 11:56:45 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0FF3543D1F for ; Wed, 23 Feb 2005 11:56:45 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j1NBui13042497 for ; Wed, 23 Feb 2005 11:56:44 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1NBuiWN042494 for perforce@freebsd.org; Wed, 23 Feb 2005 11:56:44 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 23 Feb 2005 11:56:44 GMT Message-Id: <200502231156.j1NBuiWN042494@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 71655 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: Wed, 23 Feb 2005 11:56:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=71655 Change 71655 by rwatson@rwatson_paprika on 2005/02/23 11:56:38 sysctl allows the old value to be requested and the new value to be set in a single call, so don't return before doing both. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#84 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#84 (text+ko) ==== @@ -192,7 +192,6 @@ mtx_unlock(&mac_bsdextended_mtx); FREE(ruleptr, M_MACBSDEXTENDED); } - return (0); } if (req->oldptr) { From owner-p4-projects@FreeBSD.ORG Wed Feb 23 11:58:48 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6555816A4D0; Wed, 23 Feb 2005 11:58:48 +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 28EC516A4CE for ; Wed, 23 Feb 2005 11:58:48 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0C39443D45 for ; Wed, 23 Feb 2005 11:58:48 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j1NBwlpP042628 for ; Wed, 23 Feb 2005 11:58:47 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1NBwljD042625 for perforce@freebsd.org; Wed, 23 Feb 2005 11:58:47 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 23 Feb 2005 11:58:47 GMT Message-Id: <200502231158.j1NBwljD042625@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 71656 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: Wed, 23 Feb 2005 11:58:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=71656 Change 71656 by rwatson@rwatson_paprika on 2005/02/23 11:58:23 If oldp is set, sysctl returns the value of a MIB entry before modification, rather than after. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#85 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#85 (text+ko) ==== @@ -152,6 +152,27 @@ if (index > MAC_BSDEXTENDED_MAXRULES) return (ENOENT); + if (req->oldptr) { + mtx_lock(&mac_bsdextended_mtx); + if (index < 0 || index > rule_slots + 1) { + mtx_unlock(&mac_bsdextended_mtx); + return (ENOENT); + } + + if (rules[index] == NULL) { + mtx_unlock(&mac_bsdextended_mtx); + return (ENOENT); + } + + temprule = *rules[index]; + mtx_unlock(&mac_bsdextended_mtx); + + error = SYSCTL_OUT(req, &temprule, sizeof(temprule)); + + if (error) + return (error); + } + if (req->newptr) { if (req->newlen == 0) { /* printf("deletion\n"); */ @@ -194,27 +215,6 @@ } } - if (req->oldptr) { - mtx_lock(&mac_bsdextended_mtx); - if (index < 0 || index > rule_slots + 1) { - mtx_unlock(&mac_bsdextended_mtx); - return (ENOENT); - } - - if (rules[index] == NULL) { - mtx_unlock(&mac_bsdextended_mtx); - return (ENOENT); - } - - temprule = *rules[index]; - mtx_unlock(&mac_bsdextended_mtx); - - error = SYSCTL_OUT(req, &temprule, sizeof(temprule)); - - if (error) - return (error); - } - return (0); } From owner-p4-projects@FreeBSD.ORG Wed Feb 23 12:27:23 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EA8C516A4D0; Wed, 23 Feb 2005 12:27:22 +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 BF4D816A4CE for ; Wed, 23 Feb 2005 12:27:22 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A71DB43D58 for ; Wed, 23 Feb 2005 12:27:22 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j1NCRMMA045632 for ; Wed, 23 Feb 2005 12:27:22 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1NCRMKg045629 for perforce@freebsd.org; Wed, 23 Feb 2005 12:27:22 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 23 Feb 2005 12:27:22 GMT Message-Id: <200502231227.j1NCRMKg045629@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 71657 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: Wed, 23 Feb 2005 12:27:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=71657 Change 71657 by rwatson@rwatson_paprika on 2005/02/23 12:27:00 Minor style tweaks. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#86 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#86 (text+ko) ==== @@ -308,9 +308,10 @@ cred->cr_rgid, acc_mode, object_uid, object_gid); return (EACCES); /* Matching rule denies access */ } + /* - * If the rule matched, permits access, and first match is - * enabled, return success. + * If the rule matched, permits access, and first match is enabled, + * return success. */ if (mac_bsdextended_firstmatch_enabled) return (EJUSTRETURN); From owner-p4-projects@FreeBSD.ORG Wed Feb 23 13:18:24 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6E15216A4D8; Wed, 23 Feb 2005 13:18:24 +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 3F8E016A4D2 for ; Wed, 23 Feb 2005 13:18:24 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F201043D39 for ; Wed, 23 Feb 2005 13:18:23 +0000 (GMT) (envelope-from davidxu@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 j1NDIN7X054649 for ; Wed, 23 Feb 2005 13:18:23 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1NDINuC054643 for perforce@freebsd.org; Wed, 23 Feb 2005 13:18:23 GMT (envelope-from davidxu@freebsd.org) Date: Wed, 23 Feb 2005 13:18:23 GMT Message-Id: <200502231318.j1NDINuC054643@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 71658 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: Wed, 23 Feb 2005 13:18:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=71658 Change 71658 by davidxu@davidxu_alona on 2005/02/23 13:18:07 Export pthread_condattr_setclock, pthread_condattr_getclock, pthread_condattr_setpshared, pthread_condattr_getpshared. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread/pthread.map#7 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthread/pthread.map#7 (text+ko) ==== @@ -77,7 +77,11 @@ _pthread_cond_wait; _pthread_condattr_default; _pthread_condattr_destroy; + _pthread_condattr_getclock; + _pthread_condattr_getpshared; _pthread_condattr_init; + _pthread_condattr_setclock; + _pthread_condattr_setpshared; _pthread_create; _pthread_detach; _pthread_equal; From owner-p4-projects@FreeBSD.ORG Wed Feb 23 13:25:34 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 20D7416A4D0; Wed, 23 Feb 2005 13:25:34 +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 EBE0A16A4CE for ; Wed, 23 Feb 2005 13:25:33 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BE67843D3F for ; Wed, 23 Feb 2005 13:25:33 +0000 (GMT) (envelope-from davidxu@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 j1NDPXma055958 for ; Wed, 23 Feb 2005 13:25:33 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1NDPXM9055955 for perforce@freebsd.org; Wed, 23 Feb 2005 13:25:33 GMT (envelope-from davidxu@freebsd.org) Date: Wed, 23 Feb 2005 13:25:33 GMT Message-Id: <200502231325.j1NDPXM9055955@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 71659 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: Wed, 23 Feb 2005 13:25:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=71659 Change 71659 by davidxu@davidxu_alona on 2005/02/23 13:25:13 Simplify code. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_cond.c#13 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_cond.c#13 (text+ko) ==== @@ -265,10 +265,7 @@ int __pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) { - int ret; - - ret = cond_wait_common(cond, mutex, NULL, 1); - return (ret); + return cond_wait_common(cond, mutex, NULL, 1); } int From owner-p4-projects@FreeBSD.ORG Wed Feb 23 13:49:03 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BB26D16A4D0; Wed, 23 Feb 2005 13:49:02 +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 8DB4A16A4CE for ; Wed, 23 Feb 2005 13:49:02 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5848C43D31 for ; Wed, 23 Feb 2005 13:49:02 +0000 (GMT) (envelope-from davidxu@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 j1NDn2AM057491 for ; Wed, 23 Feb 2005 13:49:02 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1NDn2HW057488 for perforce@freebsd.org; Wed, 23 Feb 2005 13:49:02 GMT (envelope-from davidxu@freebsd.org) Date: Wed, 23 Feb 2005 13:49:02 GMT Message-Id: <200502231349.j1NDn2HW057488@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 71660 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: Wed, 23 Feb 2005 13:49:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=71660 Change 71660 by davidxu@davidxu_alona on 2005/02/23 13:49:01 Some style fixes. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_cond.c#14 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_cond.c#14 (text+ko) ==== @@ -105,8 +105,9 @@ int _pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *cond_attr) { + *cond = NULL; - return cond_init(cond, cond_attr); + return (cond_init(cond, cond_attr)); } int @@ -257,7 +258,8 @@ int _pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) { - return cond_wait_common(cond, mutex, NULL, 0); + + return (cond_wait_common(cond, mutex, NULL, 0)); } __strong_reference(_pthread_cond_wait, _thr_cond_wait); @@ -265,18 +267,20 @@ int __pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) { - return cond_wait_common(cond, mutex, NULL, 1); + + return (cond_wait_common(cond, mutex, NULL, 1)); } int _pthread_cond_timedwait(pthread_cond_t * cond, pthread_mutex_t * mutex, const struct timespec * abstime) { + if (abstime == NULL || abstime->tv_sec < 0 || abstime->tv_nsec < 0 || abstime->tv_nsec >= 1000000000) return (EINVAL); - return cond_wait_common(cond, mutex, abstime, 0); + return (cond_wait_common(cond, mutex, abstime, 0)); } __strong_reference(_pthread_cond_timedwait, _thr_cond_timedwait); @@ -285,11 +289,12 @@ __pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime) { + if (abstime == NULL || abstime->tv_sec < 0 || abstime->tv_nsec < 0 || abstime->tv_nsec >= 1000000000) return (EINVAL); - return cond_wait_common(cond, mutex, abstime, 1); + return (cond_wait_common(cond, mutex, abstime, 1)); } static int @@ -330,7 +335,8 @@ int _pthread_cond_signal(pthread_cond_t * cond) { - return cond_signal_common(cond, 0); + + return (cond_signal_common(cond, 0)); } __strong_reference(_pthread_cond_signal, _thr_cond_signal); @@ -338,7 +344,8 @@ int _pthread_cond_broadcast(pthread_cond_t * cond) { - return cond_signal_common(cond, 1); + + return (cond_signal_common(cond, 1)); } __strong_reference(_pthread_cond_broadcast, _thr_cond_broadcast); From owner-p4-projects@FreeBSD.ORG Wed Feb 23 15:48:33 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2741616A4D0; Wed, 23 Feb 2005 15:48:33 +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 D7C6316A4CE for ; Wed, 23 Feb 2005 15:48:32 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C122843D3F for ; Wed, 23 Feb 2005 15:48:32 +0000 (GMT) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j1NFmWHh062717 for ; Wed, 23 Feb 2005 15:48:32 GMT (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1NFmWVK062714 for perforce@freebsd.org; Wed, 23 Feb 2005 15:48:32 GMT (envelope-from areisse@nailabs.com) Date: Wed, 23 Feb 2005 15:48:32 GMT Message-Id: <200502231548.j1NFmWVK062714@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 71668 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: Wed, 23 Feb 2005 15:48:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=71668 Change 71668 by areisse@areisse_tislabs on 2005/02/23 15:47:55 Support reading or writing from terminals, so sshd login can query domains. If ssh_sysadm_login is true, relabel those terminal types. Affected files ... .. //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/domains/program/ssh.te#12 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/domains/program/ssh.te#12 (text+ko) ==== @@ -293,7 +293,10 @@ # Relabel ptys created by sshd allow sshd_login_t sshd_devpts_t:chr_file { relabelfrom relabelto }; -allow sshd_login_t userpty_type:chr_file { getattr relabelfrom relabelto }; +allow sshd_login_t userpty_type:chr_file { ioctl read write getattr relabelfrom relabelto }; +if (ssh_sysadm_login) { +allow sshd_login_t sysadm_devpts_t:chr_file { ioctl read write getattr relabelfrom relabelto }; +} # open old-style ptys #allow sshd_login_t devpts_t:chr_file { read write relabelfrom relabelto getattr setattr }; From owner-p4-projects@FreeBSD.ORG Wed Feb 23 17:37:18 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 31CCB16A4D0; Wed, 23 Feb 2005 17:37:18 +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 9E92B16A4CE for ; Wed, 23 Feb 2005 17:37:17 +0000 (GMT) Received: from mail23.sea5.speakeasy.net (mail23.sea5.speakeasy.net [69.17.117.25]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4E66A43D2D for ; Wed, 23 Feb 2005 17:37:17 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: (qmail 6337 invoked from network); 23 Feb 2005 17:37:17 -0000 Received: from server.baldwin.cx ([216.27.160.63]) (envelope-sender )AES256-SHA encrypted SMTP for ; 23 Feb 2005 17:37:16 -0000 Received: from [10.50.40.202] (gw1.twc.weather.com [216.133.140.1]) (authenticated bits=0) by server.baldwin.cx (8.13.1/8.13.1) with ESMTP id j1NHat4J023967; Wed, 23 Feb 2005 12:37:12 -0500 (EST) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: Robert Watson Date: Wed, 23 Feb 2005 12:38:02 -0500 User-Agent: KMail/1.6.2 References: <200502231158.j1NBwljD042625@repoman.freebsd.org> In-Reply-To: <200502231158.j1NBwljD042625@repoman.freebsd.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200502231238.02637.jhb@FreeBSD.org> X-Spam-Status: No, score=-102.8 required=4.2 tests=ALL_TRUSTED, USER_IN_WHITELIST autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on server.baldwin.cx cc: Perforce Change Reviews Subject: Re: PERFORCE change 71656 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: Wed, 23 Feb 2005 17:37:18 -0000 On Wednesday 23 February 2005 06:58 am, Robert Watson wrote: > http://perforce.freebsd.org/chv.cgi?CH=71656 > > Change 71656 by rwatson@rwatson_paprika on 2005/02/23 11:58:23 > > If oldp is set, sysctl returns the value of a MIB entry before > modification, rather than after. This is kind of wrong. I tried to explain to Tom what should be done but he didn't really get it. The correct order of operations should be this: SYSCTL_IN(&newrule); lock(); oldrule = ...; update(&newrule); unlock(); SYSCTL_OUT(&oldrule); That is, the point is to do the entire read old and write new bit in a single locked section. This more closely matches how most system calls work where they copyin() the arguments, perform actions, then copyout() the results. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-p4-projects@FreeBSD.ORG Wed Feb 23 19:10:43 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B9E9516A4D0; Wed, 23 Feb 2005 19:10:42 +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 6072F16A4CE for ; Wed, 23 Feb 2005 19:10:42 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 15DFD43D46 for ; Wed, 23 Feb 2005 19:10:42 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j1NJAfxg078513 for ; Wed, 23 Feb 2005 19:10:41 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1NJAfu3078510 for perforce@freebsd.org; Wed, 23 Feb 2005 19:10:41 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 23 Feb 2005 19:10:41 GMT Message-Id: <200502231910.j1NJAfu3078510@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 71680 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: Wed, 23 Feb 2005 19:10:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=71680 Change 71680 by rwatson@rwatson_paprika on 2005/02/23 19:10:39 Re-lay out mac_bsdextended sysctl to copyin, lock+dowork+unlock, copyout. Suggested by: jhb Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#87 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#87 (text+ko) ==== @@ -152,69 +152,68 @@ if (index > MAC_BSDEXTENDED_MAXRULES) return (ENOENT); + ruleptr = NULL; + if (req->newptr) { + error = SYSCTL_IN(req, &temprule, sizeof(temprule)); + if (error) + return (error); + MALLOC(ruleptr, struct mac_bsdextended_rule *, + sizeof(*ruleptr), M_MACBSDEXTENDED, M_WAITOK | M_ZERO); + } + + mtx_lock(&mac_bsdextended_mtx); + if (req->oldptr) { - mtx_lock(&mac_bsdextended_mtx); if (index < 0 || index > rule_slots + 1) { - mtx_unlock(&mac_bsdextended_mtx); - return (ENOENT); + error = ENOENT; + goto out; } - if (rules[index] == NULL) { - mtx_unlock(&mac_bsdextended_mtx); - return (ENOENT); + error = ENOENT; + goto out; } - temprule = *rules[index]; - mtx_unlock(&mac_bsdextended_mtx); - - error = SYSCTL_OUT(req, &temprule, sizeof(temprule)); - - if (error) - return (error); } - if (req->newptr) { - if (req->newlen == 0) { - /* printf("deletion\n"); */ - mtx_lock(&mac_bsdextended_mtx); - ruleptr = rules[index]; - if (ruleptr == NULL) { - mtx_unlock(&mac_bsdextended_mtx); - return (ENOENT); - } - rule_count--; - rules[index] = NULL; - mtx_unlock(&mac_bsdextended_mtx); - FREE(ruleptr, M_MACBSDEXTENDED); - return(0); + if (req->newptr && req->newlen == 0) { + /* printf("deletion\n"); */ + FREE(ruleptr, M_MACBSDEXTENDED); + ruleptr = rules[index]; + if (ruleptr == NULL) { + error = ENOENT; + goto out; } - error = SYSCTL_IN(req, &temprule, sizeof(temprule)); - if (error) - return (error); - + rule_count--; + rules[index] = NULL; + } else if (req->newptr) { error = mac_bsdextended_rule_valid(&temprule); if (error) - return (error); + goto out; - MALLOC(ruleptr, struct mac_bsdextended_rule *, - sizeof(*ruleptr), M_MACBSDEXTENDED, M_WAITOK | M_ZERO); - mtx_lock(&mac_bsdextended_mtx); if (rules[index] == NULL) { /* printf("addition\n"); */ *ruleptr = temprule; rules[index] = ruleptr; + ruleptr = NULL; if (index + 1 > rule_slots) rule_slots = index + 1; rule_count++; - mtx_unlock(&mac_bsdextended_mtx); } else { /* printf("replacement\n"); */ *rules[index] = temprule; - mtx_unlock(&mac_bsdextended_mtx); - FREE(ruleptr, M_MACBSDEXTENDED); } } +out: + mtx_unlock(&mac_bsdextended_mtx); + if (ruleptr != NULL) + FREE(ruleptr, M_MACBSDEXTENDED); + if (req->oldptr && error == 0) { + error = SYSCTL_OUT(req, &temprule, sizeof(temprule)); + if (error) + return (error); + } + return (0); } From owner-p4-projects@FreeBSD.ORG Wed Feb 23 19:42:08 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4A01B16A4D0; Wed, 23 Feb 2005 19:42:08 +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 0416E16A4CE; Wed, 23 Feb 2005 19:42:08 +0000 (GMT) Received: from pittgoth.com (14.zlnp1.xdsl.nauticom.net [209.195.149.111]) by mx1.FreeBSD.org (Postfix) with ESMTP id 87F0943D1F; Wed, 23 Feb 2005 19:42:07 +0000 (GMT) (envelope-from trhodes@FreeBSD.org) Received: from mobile.pittgoth.com (ip68-230-188-82.dc.dc.cox.net [68.230.188.82]) (authenticated bits=0) by pittgoth.com (8.12.10/8.12.10) with ESMTP id j1NJg6Kw051057 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 23 Feb 2005 14:42:06 -0500 (EST) (envelope-from trhodes@FreeBSD.org) Date: Wed, 23 Feb 2005 14:41:59 -0500 From: Tom Rhodes To: John Baldwin Message-ID: <20050223144159.45fa8705@mobile.pittgoth.com> In-Reply-To: <200502231238.02637.jhb@FreeBSD.org> References: <200502231158.j1NBwljD042625@repoman.freebsd.org> <200502231238.02637.jhb@FreeBSD.org> X-Mailer: Sylpheed-Claws 1.0.0 (GTK+ 1.2.10; i386-portbld-freebsd6.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit cc: Perforce Change Reviews cc: Robert Watson Subject: Re: PERFORCE change 71656 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: Wed, 23 Feb 2005 19:42:09 -0000 On Wed, 23 Feb 2005 12:38:02 -0500 John Baldwin wrote: > On Wednesday 23 February 2005 06:58 am, Robert Watson wrote: > > http://perforce.freebsd.org/chv.cgi?CH=71656 > > > > Change 71656 by rwatson@rwatson_paprika on 2005/02/23 11:58:23 > > > > If oldp is set, sysctl returns the value of a MIB entry before > > modification, rather than after. > > This is kind of wrong. I tried to explain to Tom what should be done but he > didn't really get it. The correct order of operations should be this: > > SYSCTL_IN(&newrule); > lock(); > oldrule = ...; > update(&newrule); > unlock(); > SYSCTL_OUT(&oldrule); > > That is, the point is to do the entire read old and write new bit in a single > locked section. This more closely matches how most system calls work where > they copyin() the arguments, perform actions, then copyout() the results. You're right, from the previous email I didn't really get what you were trying to say. My bad. -- Tom Rhodes From owner-p4-projects@FreeBSD.ORG Wed Feb 23 20:00:47 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C1AB216A4D0; Wed, 23 Feb 2005 20:00:46 +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 9245916A4CE for ; Wed, 23 Feb 2005 20:00:46 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C195E43D46 for ; Wed, 23 Feb 2005 20:00:45 +0000 (GMT) (envelope-from sam@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 j1NK0jfj082824 for ; Wed, 23 Feb 2005 20:00:45 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1NK0hZq082821 for perforce@freebsd.org; Wed, 23 Feb 2005 20:00:43 GMT (envelope-from sam@freebsd.org) Date: Wed, 23 Feb 2005 20:00:43 GMT Message-Id: <200502232000.j1NK0hZq082821@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 71684 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: Wed, 23 Feb 2005 20:00:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=71684 Change 71684 by sam@sam_ebb on 2005/02/23 19:59:42 IFC @ 71683 Affected files ... .. //depot/projects/wifi/Makefile.inc1#12 integrate .. //depot/projects/wifi/UPDATING#12 integrate .. //depot/projects/wifi/bin/chmod/chmod.1#4 integrate .. //depot/projects/wifi/bin/date/date.1#4 integrate .. //depot/projects/wifi/bin/ln/symlink.7#3 integrate .. //depot/projects/wifi/bin/ls/ls.1#4 integrate .. //depot/projects/wifi/bin/pax/tar.1#5 integrate .. //depot/projects/wifi/bin/ps/ps.1#6 integrate .. //depot/projects/wifi/bin/rcp/rcp.1#4 integrate .. //depot/projects/wifi/bin/sh/options.c#2 integrate .. //depot/projects/wifi/contrib/amd/fixmount/fixmount.8#2 integrate .. //depot/projects/wifi/contrib/amd/hlfsd/hlfsd.8#2 integrate .. //depot/projects/wifi/contrib/lukemftp/src/Makefile#2 integrate .. //depot/projects/wifi/contrib/lukemftp/src/cmds.c#2 integrate .. //depot/projects/wifi/contrib/lukemftp/src/cmdtab.c#2 integrate .. //depot/projects/wifi/contrib/lukemftp/src/extern.h#2 integrate .. //depot/projects/wifi/contrib/lukemftp/src/fetch.c#2 integrate .. //depot/projects/wifi/contrib/lukemftp/src/ftp.1#2 integrate .. //depot/projects/wifi/contrib/lukemftp/src/ftp.c#2 integrate .. //depot/projects/wifi/contrib/lukemftp/src/ftp_var.h#2 integrate .. //depot/projects/wifi/contrib/lukemftp/src/main.c#2 integrate .. //depot/projects/wifi/contrib/lukemftp/src/progressbar.c#2 integrate .. //depot/projects/wifi/contrib/lukemftp/src/progressbar.h#2 integrate .. //depot/projects/wifi/contrib/lukemftp/src/util.c#2 integrate .. //depot/projects/wifi/contrib/lukemftp/src/version.h#2 integrate .. //depot/projects/wifi/contrib/pf/man/pfsync.4#2 integrate .. //depot/projects/wifi/contrib/sendmail/FREEBSD-upgrade#2 integrate .. //depot/projects/wifi/contrib/sendmail/KNOWNBUGS#2 integrate .. //depot/projects/wifi/contrib/sendmail/PGPKEYS#2 integrate .. //depot/projects/wifi/contrib/sendmail/RELEASE_NOTES#2 integrate .. //depot/projects/wifi/contrib/sendmail/cf/cf/Makefile#2 integrate .. //depot/projects/wifi/contrib/sendmail/cf/cf/submit.cf#2 integrate .. //depot/projects/wifi/contrib/sendmail/cf/m4/proto.m4#2 integrate .. //depot/projects/wifi/contrib/sendmail/cf/m4/version.m4#2 integrate .. //depot/projects/wifi/contrib/sendmail/cf/mailer/local.m4#2 integrate .. //depot/projects/wifi/contrib/sendmail/cf/ostype/dragonfly.m4#1 branch .. //depot/projects/wifi/contrib/sendmail/editmap/editmap.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/include/libmilter/mfapi.h#2 integrate .. //depot/projects/wifi/contrib/sendmail/include/sm/clock.h#2 integrate .. //depot/projects/wifi/contrib/sendmail/include/sm/conf.h#2 integrate .. //depot/projects/wifi/contrib/sendmail/include/sm/config.h#2 integrate .. //depot/projects/wifi/contrib/sendmail/include/sm/os/sm_os_dragonfly.h#1 branch .. //depot/projects/wifi/contrib/sendmail/libmilter/comm.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libmilter/engine.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libmilter/listener.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libmilter/signal.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libmilter/sm_gethost.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libmilter/smfi.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/Makefile.m4#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/b-strcmp.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/clock.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/debug.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/fclose.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/fopen.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/fpos.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/fseek.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/heap.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/ldap.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/rpool.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/smstdio.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/stdio.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/strio.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/t-event.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/t-shm.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/ungetc.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/vfprintf.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/vfscanf.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsm/vsscanf.c#2 delete .. //depot/projects/wifi/contrib/sendmail/libsmdb/smdb.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsmdb/smdb1.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/libsmutil/safefile.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/mail.local/Makefile.m4#2 integrate .. //depot/projects/wifi/contrib/sendmail/mail.local/mail.local.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/makemap/makemap.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/smrsh/smrsh.8#2 integrate .. //depot/projects/wifi/contrib/sendmail/smrsh/smrsh.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/README#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/bf.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/collect.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/conf.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/control.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/daemon.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/deliver.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/domain.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/headers.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/helpfile#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/map.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/mci.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/milter.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/mime.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/parseaddr.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/queue.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/readcf.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/recipient.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/sasl.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/savemail.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/sendmail.h#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/sfsasl.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/sm_resolve.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/srvrsmtp.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/tls.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/usersmtp.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/util.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/src/version.c#2 integrate .. //depot/projects/wifi/contrib/sendmail/vacation/vacation.c#2 integrate .. //depot/projects/wifi/etc/periodic/security/500.ipfwdenied#2 integrate .. //depot/projects/wifi/etc/periodic/security/550.ipfwlimit#2 integrate .. //depot/projects/wifi/etc/protocols#2 integrate .. //depot/projects/wifi/etc/syslog.conf#2 integrate .. //depot/projects/wifi/games/fortune/fortune/Makefile#2 integrate .. //depot/projects/wifi/games/fortune/fortune/fortune.6#3 integrate .. //depot/projects/wifi/games/fortune/fortune/fortune.c#3 integrate .. //depot/projects/wifi/games/fortune/strfile/strfile.8#4 integrate .. //depot/projects/wifi/games/fortune/strfile/strfile.c#3 integrate .. //depot/projects/wifi/games/fortune/strfile/strfile.h#2 integrate .. //depot/projects/wifi/games/fortune/unstr/Makefile#4 integrate .. //depot/projects/wifi/games/fortune/unstr/unstr.c#2 integrate .. //depot/projects/wifi/games/number/number.6#2 integrate .. //depot/projects/wifi/gnu/lib/libdialog/dialog.3#3 integrate .. //depot/projects/wifi/gnu/lib/libobjc/Makefile#4 integrate .. //depot/projects/wifi/gnu/usr.bin/binutils/libiberty/Makefile#3 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/gdb/Makefile#3 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/gdb/gdb.1#2 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/gdbtui/Makefile#5 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/kgdb/Makefile#3 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/kgdb/kgdb.h#2 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/kgdb/kthr.c#2 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/kgdb/main.c#3 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/kgdb/trgt.c#2 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/kgdb/trgt_alpha.c#2 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/kgdb/trgt_amd64.c#2 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/kgdb/trgt_i386.c#2 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/kgdb/trgt_ia64.c#2 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/kgdb/trgt_sparc64.c#2 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/libgdb/Makefile#6 integrate .. //depot/projects/wifi/gnu/usr.bin/grep/grep.c#2 integrate .. //depot/projects/wifi/gnu/usr.bin/man/man/man.man#2 integrate .. //depot/projects/wifi/gnu/usr.bin/man/manpath/manpath.man#2 integrate .. //depot/projects/wifi/gnu/usr.bin/tar/tar.1#3 integrate .. //depot/projects/wifi/include/netdb.h#3 integrate .. //depot/projects/wifi/include/stdbool.h#2 integrate .. //depot/projects/wifi/lib/libarchive/Makefile#5 integrate .. //depot/projects/wifi/lib/libarchive/README#2 integrate .. //depot/projects/wifi/lib/libarchive/archive_read.3#5 integrate .. //depot/projects/wifi/lib/libarchive/archive_read_open_file.c#2 integrate .. //depot/projects/wifi/lib/libarchive/archive_read_support_compression_none.c#2 integrate .. //depot/projects/wifi/lib/libarchive/archive_read_support_format_iso9660.c#3 integrate .. //depot/projects/wifi/lib/libarchive/archive_read_support_format_zip.c#2 integrate .. //depot/projects/wifi/lib/libarchive/archive_util.c#2 integrate .. //depot/projects/wifi/lib/libarchive/archive_write.3#4 integrate .. //depot/projects/wifi/lib/libarchive/archive_write.c#3 integrate .. //depot/projects/wifi/lib/libarchive/archive_write_open_file.c#2 integrate .. //depot/projects/wifi/lib/libarchive/libarchive-formats.5#4 integrate .. //depot/projects/wifi/lib/libarchive/tar.5#3 integrate .. //depot/projects/wifi/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3#3 integrate .. //depot/projects/wifi/lib/libc/db/man/dbopen.3#2 integrate .. //depot/projects/wifi/lib/libc/db/man/mpool.3#2 integrate .. //depot/projects/wifi/lib/libc/gen/devname.3#2 integrate .. //depot/projects/wifi/lib/libc/gen/exec.3#3 integrate .. //depot/projects/wifi/lib/libc/gen/getcap.3#2 integrate .. //depot/projects/wifi/lib/libc/gen/getgrent.3#3 integrate .. //depot/projects/wifi/lib/libc/gen/getpwent.3#3 integrate .. //depot/projects/wifi/lib/libc/gen/stringlist.3#2 integrate .. //depot/projects/wifi/lib/libc/locale/utf8.c#2 integrate .. //depot/projects/wifi/lib/libc/locale/wcsnrtombs.c#2 integrate .. //depot/projects/wifi/lib/libc/net/gai_strerror.3#2 integrate .. //depot/projects/wifi/lib/libc/net/getaddrinfo.c#5 integrate .. //depot/projects/wifi/lib/libc/net/inet.3#2 integrate .. //depot/projects/wifi/lib/libc/net/rcmd.c#3 integrate .. //depot/projects/wifi/lib/libc/net/res_send.c#2 integrate .. //depot/projects/wifi/lib/libc/net/resolver.3#3 integrate .. //depot/projects/wifi/lib/libc/regex/regex.3#3 integrate .. //depot/projects/wifi/lib/libc/rpc/rpc_clnt_create.3#2 integrate .. //depot/projects/wifi/lib/libc/stdio/vswprintf.c#2 integrate .. //depot/projects/wifi/lib/libc/stdtime/ctime.3#2 integrate .. //depot/projects/wifi/lib/libc/stdtime/time2posix.3#2 integrate .. //depot/projects/wifi/lib/libc/sys/flock.2#2 integrate .. //depot/projects/wifi/lib/libc/sys/intro.2#3 integrate .. //depot/projects/wifi/lib/libc/sys/kldnext.2#2 integrate .. //depot/projects/wifi/lib/libc/sys/kldunload.2#2 integrate .. //depot/projects/wifi/lib/libc/sys/modnext.2#2 integrate .. //depot/projects/wifi/lib/libc/sys/ptrace.2#2 integrate .. //depot/projects/wifi/lib/libc/sys/rfork.2#3 integrate .. //depot/projects/wifi/lib/libc/sys/semget.2#2 integrate .. //depot/projects/wifi/lib/libc/sys/send.2#4 integrate .. //depot/projects/wifi/lib/libc/sys/shmctl.2#2 integrate .. //depot/projects/wifi/lib/libc/sys/vfork.2#3 integrate .. //depot/projects/wifi/lib/libcam/cam.3#2 integrate .. //depot/projects/wifi/lib/libcam/cam_cdbparse.3#2 integrate .. //depot/projects/wifi/lib/libcompat/4.1/cftime.3#2 integrate .. //depot/projects/wifi/lib/libcompat/regexp/regexp.3#2 integrate .. //depot/projects/wifi/lib/libdisk/libdisk.3#3 integrate .. //depot/projects/wifi/lib/libedit/editline.3#2 integrate .. //depot/projects/wifi/lib/libedit/editrc.5#2 integrate .. //depot/projects/wifi/lib/libfetch/common.c#2 integrate .. //depot/projects/wifi/lib/libfetch/fetch.3#2 integrate .. //depot/projects/wifi/lib/libfetch/http.c#2 integrate .. //depot/projects/wifi/lib/libftpio/ftpio.3#3 integrate .. //depot/projects/wifi/lib/libftpio/ftpio.c#2 integrate .. //depot/projects/wifi/lib/libgpib/gpib.h#2 integrate .. //depot/projects/wifi/lib/libgpib/ibfoo.c#2 integrate .. //depot/projects/wifi/lib/libmd/mdX.3#3 integrate .. //depot/projects/wifi/lib/libmd/ripemd.3#3 integrate .. //depot/projects/wifi/lib/libmd/sha.3#3 integrate .. //depot/projects/wifi/lib/libpam/modules/pam_radius/pam_radius.8#2 integrate .. //depot/projects/wifi/lib/libpthread/thread/thr_attr_init.c#2 integrate .. //depot/projects/wifi/lib/libpthread/thread/thr_init.c#3 integrate .. //depot/projects/wifi/lib/libpthread/thread/thr_private.h#4 integrate .. //depot/projects/wifi/lib/libpthread/thread/thr_stack.c#2 integrate .. //depot/projects/wifi/lib/libsm/Makefile#4 integrate .. //depot/projects/wifi/lib/libtacplus/taclib.c#2 integrate .. //depot/projects/wifi/lib/libutil/realhostname.3#2 integrate .. //depot/projects/wifi/lib/libutil/realhostname_sa.3#2 integrate .. //depot/projects/wifi/lib/libutil/uucplock.3#2 integrate .. //depot/projects/wifi/lib/libvgl/vgl.3#3 integrate .. //depot/projects/wifi/lib/msun/i387/Makefile.inc#2 integrate .. //depot/projects/wifi/lib/msun/i387/e_acos.S#3 delete .. //depot/projects/wifi/lib/msun/i387/e_asin.S#3 delete .. //depot/projects/wifi/lib/msun/i387/e_atan2.S#3 delete .. //depot/projects/wifi/lib/msun/i387/e_atan2f.S#3 delete .. //depot/projects/wifi/lib/msun/i387/s_atan.S#2 delete .. //depot/projects/wifi/lib/msun/i387/s_cosf.S#2 delete .. //depot/projects/wifi/lib/msun/i387/s_sinf.S#2 delete .. //depot/projects/wifi/lib/msun/i387/s_tanf.S#2 delete .. //depot/projects/wifi/lib/msun/sparc64/Makefile.inc#1 branch .. //depot/projects/wifi/lib/msun/sparc64/e_sqrt.S#1 branch .. //depot/projects/wifi/lib/msun/sparc64/e_sqrtf.S#1 branch .. //depot/projects/wifi/lib/msun/src/e_expf.c#2 integrate .. //depot/projects/wifi/libexec/bootpd/bootpd.c#2 integrate .. //depot/projects/wifi/libexec/bootpd/bootptab.5#2 integrate .. //depot/projects/wifi/libexec/comsat/comsat.8#3 integrate .. //depot/projects/wifi/libexec/comsat/comsat.c#2 integrate .. //depot/projects/wifi/libexec/fingerd/fingerd.c#2 integrate .. //depot/projects/wifi/libexec/ftpd/ftpd.c#11 integrate .. //depot/projects/wifi/libexec/mknetid/mknetid.8#2 integrate .. //depot/projects/wifi/libexec/pppoed/pppoed.8#3 integrate .. //depot/projects/wifi/libexec/rexecd/Makefile#2 integrate .. //depot/projects/wifi/libexec/rexecd/rexecd.c#2 integrate .. //depot/projects/wifi/libexec/rlogind/rlogind.c#3 integrate .. //depot/projects/wifi/libexec/rpc.rquotad/rquotad.c#2 integrate .. //depot/projects/wifi/libexec/rpc.rstatd/rstatd.c#2 integrate .. //depot/projects/wifi/libexec/rpc.rusersd/rusersd.c#2 integrate .. //depot/projects/wifi/libexec/rpc.rwalld/rwalld.c#2 integrate .. //depot/projects/wifi/libexec/rpc.sprayd/sprayd.c#2 integrate .. //depot/projects/wifi/libexec/rshd/rshd.8#4 integrate .. //depot/projects/wifi/libexec/rshd/rshd.c#3 integrate .. //depot/projects/wifi/libexec/tftpd/tftpd.c#2 integrate .. //depot/projects/wifi/libexec/ypxfr/ypxfr.8#2 integrate .. //depot/projects/wifi/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#3 integrate .. //depot/projects/wifi/sbin/adjkerntz/adjkerntz.8#3 integrate .. //depot/projects/wifi/sbin/atm/ilmid/ilmid.8#4 integrate .. //depot/projects/wifi/sbin/badsect/badsect.8#3 integrate .. //depot/projects/wifi/sbin/camcontrol/camcontrol.8#2 integrate .. //depot/projects/wifi/sbin/dump/optr.c#3 integrate .. //depot/projects/wifi/sbin/fsck_ffs/fsck.h#2 integrate .. //depot/projects/wifi/sbin/fsck_ffs/pass5.c#2 integrate .. //depot/projects/wifi/sbin/fsdb/fsdb.8#3 integrate .. //depot/projects/wifi/sbin/gbde/gbde.8#2 integrate .. //depot/projects/wifi/sbin/gbde/gbde.c#3 integrate .. //depot/projects/wifi/sbin/geom/class/shsec/geom_shsec.c#3 integrate .. //depot/projects/wifi/sbin/geom/class/shsec/gshsec.8#4 integrate .. //depot/projects/wifi/sbin/ifconfig/Makefile#5 integrate .. //depot/projects/wifi/sbin/ifconfig/ifcarp.c#1 branch .. //depot/projects/wifi/sbin/ifconfig/ifpfsync.c#1 branch .. //depot/projects/wifi/sbin/ip6fw/ip6fw.8#3 integrate .. //depot/projects/wifi/sbin/ipfw/ipfw.8#8 integrate .. //depot/projects/wifi/sbin/mdconfig/mdconfig.c#7 integrate .. //depot/projects/wifi/sbin/mount_cd9660/mount_cd9660.8#4 integrate .. //depot/projects/wifi/sbin/newfs/mkfs.c#3 integrate .. //depot/projects/wifi/sbin/newfs_msdos/newfs_msdos.8#3 integrate .. //depot/projects/wifi/sbin/nos-tun/nos-tun.8#4 integrate .. //depot/projects/wifi/sbin/restore/restore.8#3 integrate .. //depot/projects/wifi/sbin/route/route.8#5 integrate .. //depot/projects/wifi/sbin/spppcontrol/spppcontrol.8#2 integrate .. //depot/projects/wifi/sbin/sunlabel/sunlabel.c#2 integrate .. //depot/projects/wifi/sbin/tunefs/tunefs.8#3 integrate .. //depot/projects/wifi/secure/lib/libcrypto/Makefile#4 integrate .. //depot/projects/wifi/share/examples/etc/make.conf#10 integrate .. //depot/projects/wifi/share/man/man3/pthread.3#2 integrate .. //depot/projects/wifi/share/man/man3/pthread_testcancel.3#2 integrate .. //depot/projects/wifi/share/man/man3/sysexits.3#2 integrate .. //depot/projects/wifi/share/man/man4/Makefile#14 integrate .. //depot/projects/wifi/share/man/man4/acpi.4#6 integrate .. //depot/projects/wifi/share/man/man4/awi.4#2 integrate .. //depot/projects/wifi/share/man/man4/bpf.4#4 integrate .. //depot/projects/wifi/share/man/man4/carp.4#1 branch .. //depot/projects/wifi/share/man/man4/cpufreq.4#2 integrate .. //depot/projects/wifi/share/man/man4/cy.4#2 integrate .. //depot/projects/wifi/share/man/man4/da.4#2 integrate .. //depot/projects/wifi/share/man/man4/dc.4#4 integrate .. //depot/projects/wifi/share/man/man4/ddb.4#3 integrate .. //depot/projects/wifi/share/man/man4/digi.4#2 integrate .. //depot/projects/wifi/share/man/man4/divert.4#5 integrate .. //depot/projects/wifi/share/man/man4/ed.4#4 integrate .. //depot/projects/wifi/share/man/man4/em.4#6 integrate .. //depot/projects/wifi/share/man/man4/gdb.4#6 integrate .. //depot/projects/wifi/share/man/man4/hfa.4#2 integrate .. //depot/projects/wifi/share/man/man4/icmp.4#2 integrate .. //depot/projects/wifi/share/man/man4/ieee80211.4#2 integrate .. //depot/projects/wifi/share/man/man4/iicbus.4#2 integrate .. //depot/projects/wifi/share/man/man4/intpm.4#2 integrate .. //depot/projects/wifi/share/man/man4/ip.4#3 integrate .. //depot/projects/wifi/share/man/man4/ip6.4#4 integrate .. //depot/projects/wifi/share/man/man4/ipsec.4#4 integrate .. //depot/projects/wifi/share/man/man4/isp.4#4 integrate .. //depot/projects/wifi/share/man/man4/keyboard.4#2 integrate .. //depot/projects/wifi/share/man/man4/lpt.4#3 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/apm.4#4 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/ep.4#4 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/lnc.4#3 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/mcd.4#3 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/mse.4#2 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/oltr.4#2 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/ray.4#4 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/sr.4#3 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/svr4.4#3 integrate .. //depot/projects/wifi/share/man/man4/natm.4#2 integrate .. //depot/projects/wifi/share/man/man4/ng_ether.4#3 integrate .. //depot/projects/wifi/share/man/man4/ng_ppp.4#3 integrate .. //depot/projects/wifi/share/man/man4/ng_pppoe.4#3 integrate .. //depot/projects/wifi/share/man/man4/pass.4#2 integrate .. //depot/projects/wifi/share/man/man4/pci.4#3 integrate .. //depot/projects/wifi/share/man/man4/pcvt.4#3 integrate .. //depot/projects/wifi/share/man/man4/ppbus.4#2 integrate .. //depot/projects/wifi/share/man/man4/psm.4#4 integrate .. //depot/projects/wifi/share/man/man4/rl.4#4 integrate .. //depot/projects/wifi/share/man/man4/rp.4#2 integrate .. //depot/projects/wifi/share/man/man4/sa.4#3 integrate .. //depot/projects/wifi/share/man/man4/scsi.4#2 integrate .. //depot/projects/wifi/share/man/man4/sio.4#2 integrate .. //depot/projects/wifi/share/man/man4/sppp.4#2 integrate .. //depot/projects/wifi/share/man/man4/ste.4#4 integrate .. //depot/projects/wifi/share/man/man4/syscons.4#3 integrate .. //depot/projects/wifi/share/man/man4/sysmouse.4#2 integrate .. //depot/projects/wifi/share/man/man4/tap.4#2 integrate .. //depot/projects/wifi/share/man/man4/termios.4#2 integrate .. //depot/projects/wifi/share/man/man4/tty.4#2 integrate .. //depot/projects/wifi/share/man/man4/tun.4#2 integrate .. //depot/projects/wifi/share/man/man4/udp.4#2 integrate .. //depot/projects/wifi/share/man/man4/vr.4#3 integrate .. //depot/projects/wifi/share/man/man4/wb.4#2 integrate .. //depot/projects/wifi/share/man/man4/worm.4#3 integrate .. //depot/projects/wifi/share/man/man4/xl.4#5 integrate .. //depot/projects/wifi/share/man/man5/fs.5#2 integrate .. //depot/projects/wifi/share/man/man5/nsswitch.conf.5#3 integrate .. //depot/projects/wifi/share/man/man5/periodic.conf.5#4 integrate .. //depot/projects/wifi/share/man/man7/firewall.7#3 integrate .. //depot/projects/wifi/share/man/man7/release.7#3 integrate .. //depot/projects/wifi/share/man/man9/Makefile#8 integrate .. //depot/projects/wifi/share/man/man9/VFS.9#2 integrate .. //depot/projects/wifi/share/man/man9/VOP_LOCK.9#3 integrate .. //depot/projects/wifi/share/man/man9/buf.9#2 integrate .. //depot/projects/wifi/share/man/man9/bus_dma.9#5 integrate .. //depot/projects/wifi/share/man/man9/bus_release_resource.9#2 integrate .. //depot/projects/wifi/share/man/man9/cd.9#2 integrate .. //depot/projects/wifi/share/man/man9/contigmalloc.9#3 integrate .. //depot/projects/wifi/share/man/man9/devstat.9#2 integrate .. //depot/projects/wifi/share/man/man9/g_data.9#3 integrate .. //depot/projects/wifi/share/man/man9/intro.9#2 integrate .. //depot/projects/wifi/share/man/man9/malloc.9#3 integrate .. //depot/projects/wifi/share/man/man9/mbuf.9#3 integrate .. //depot/projects/wifi/share/man/man9/memguard.9#1 branch .. //depot/projects/wifi/share/man/man9/mutex.9#4 integrate .. //depot/projects/wifi/share/man/man9/uio.9#3 integrate .. //depot/projects/wifi/share/man/man9/vnode.9#2 integrate .. //depot/projects/wifi/share/mk/Makefile#4 integrate .. //depot/projects/wifi/share/mk/bsd.endian.mk#1 branch .. //depot/projects/wifi/share/mk/bsd.subdir.mk#3 integrate .. //depot/projects/wifi/share/termcap/Makefile#2 integrate .. //depot/projects/wifi/share/termcap/termcap.5#2 integrate .. //depot/projects/wifi/sys/alpha/include/exec.h#3 integrate .. //depot/projects/wifi/sys/alpha/linux/linux_machdep.c#3 integrate .. //depot/projects/wifi/sys/alpha/osf1/osf1_misc.c#4 integrate .. //depot/projects/wifi/sys/alpha/osf1/osf1_mount.c#3 integrate .. //depot/projects/wifi/sys/alpha/osf1/osf1_signal.c#4 integrate .. //depot/projects/wifi/sys/alpha/osf1/osf1_util.h#2 integrate .. //depot/projects/wifi/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/wifi/sys/amd64/amd64/io_apic.c#3 integrate .. //depot/projects/wifi/sys/amd64/amd64/legacy.c#3 integrate .. //depot/projects/wifi/sys/amd64/conf/NOTES#3 integrate .. //depot/projects/wifi/sys/amd64/include/exec.h#2 integrate .. //depot/projects/wifi/sys/amd64/linux32/linux32_machdep.c#2 integrate .. //depot/projects/wifi/sys/amd64/linux32/linux32_sysvec.c#4 integrate .. //depot/projects/wifi/sys/arm/arm/cpufunc.c#5 integrate .. //depot/projects/wifi/sys/arm/arm/cpufunc_asm.S#4 integrate .. //depot/projects/wifi/sys/arm/arm/locore.S#5 integrate .. //depot/projects/wifi/sys/arm/include/exec.h#3 integrate .. //depot/projects/wifi/sys/arm/include/intr.h#3 integrate .. //depot/projects/wifi/sys/arm/xscale/i80321/i80321_space.c#3 integrate .. //depot/projects/wifi/sys/arm/xscale/i80321/i80321_timer.c#4 integrate .. //depot/projects/wifi/sys/arm/xscale/i80321/iq31244_machdep.c#7 integrate .. //depot/projects/wifi/sys/arm/xscale/i80321/iq80321.c#4 integrate .. //depot/projects/wifi/sys/boot/common/loader.8#3 integrate .. //depot/projects/wifi/sys/boot/forth/loader.4th.8#2 integrate .. //depot/projects/wifi/sys/boot/forth/loader.conf#4 integrate .. //depot/projects/wifi/sys/cam/cam_periph.c#3 integrate .. //depot/projects/wifi/sys/cam/cam_xpt.c#7 integrate .. //depot/projects/wifi/sys/cam/scsi/scsi_all.c#3 integrate .. //depot/projects/wifi/sys/cam/scsi/scsi_target.c#3 integrate .. //depot/projects/wifi/sys/coda/coda_vfsops.c#4 integrate .. //depot/projects/wifi/sys/coda/coda_vfsops.h#3 integrate .. //depot/projects/wifi/sys/compat/freebsd32/freebsd32_misc.c#4 integrate .. //depot/projects/wifi/sys/compat/linux/linux_signal.c#3 integrate .. //depot/projects/wifi/sys/compat/linux/linux_stats.c#4 integrate .. //depot/projects/wifi/sys/compat/ndis/hal_var.h#4 integrate .. //depot/projects/wifi/sys/compat/ndis/kern_ndis.c#6 integrate .. //depot/projects/wifi/sys/compat/ndis/kern_windrv.c#2 integrate .. //depot/projects/wifi/sys/compat/ndis/ndis_var.h#6 integrate .. //depot/projects/wifi/sys/compat/ndis/ntoskrnl_var.h#7 integrate .. //depot/projects/wifi/sys/compat/ndis/pe_var.h#4 integrate .. //depot/projects/wifi/sys/compat/ndis/resource_var.h#2 integrate .. //depot/projects/wifi/sys/compat/ndis/subr_hal.c#6 integrate .. //depot/projects/wifi/sys/compat/ndis/subr_ndis.c#7 integrate .. //depot/projects/wifi/sys/compat/ndis/subr_ntoskrnl.c#7 integrate .. //depot/projects/wifi/sys/compat/ndis/subr_pe.c#3 integrate .. //depot/projects/wifi/sys/compat/ndis/winx64_wrap.S#1 branch .. //depot/projects/wifi/sys/compat/pecoff/imgact_pecoff.c#7 integrate .. //depot/projects/wifi/sys/compat/svr4/svr4_signal.c#3 integrate .. //depot/projects/wifi/sys/conf/NOTES#13 integrate .. //depot/projects/wifi/sys/conf/files#17 integrate .. //depot/projects/wifi/sys/conf/files.amd64#5 integrate .. //depot/projects/wifi/sys/conf/files.i386#10 integrate .. //depot/projects/wifi/sys/conf/files.sparc64#5 integrate .. //depot/projects/wifi/sys/conf/kern.pre.mk#5 integrate .. //depot/projects/wifi/sys/conf/options#10 integrate .. //depot/projects/wifi/sys/conf/options.amd64#2 integrate .. //depot/projects/wifi/sys/conf/options.i386#3 integrate .. //depot/projects/wifi/sys/contrib/altq/altq/altq_subr.c#2 integrate .. //depot/projects/wifi/sys/contrib/altq/altq/altq_var.h#2 integrate .. //depot/projects/wifi/sys/contrib/pf/net/pf_if.c#3 integrate .. //depot/projects/wifi/sys/dev/acpica/acpi.c#7 integrate .. //depot/projects/wifi/sys/dev/acpica/acpi_ec.c#4 integrate .. //depot/projects/wifi/sys/dev/acpica/acpi_perf.c#2 integrate .. //depot/projects/wifi/sys/dev/acpica/acpi_quirks#2 integrate .. //depot/projects/wifi/sys/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/wifi/sys/dev/acpica/acpi_throttle.c#2 integrate .. //depot/projects/wifi/sys/dev/acpica/acpivar.h#5 integrate .. //depot/projects/wifi/sys/dev/advansys/adwlib.h#3 integrate .. //depot/projects/wifi/sys/dev/aic7xxx/aic79xx.c#4 integrate .. //depot/projects/wifi/sys/dev/aic7xxx/aic79xx_osm.c#3 integrate .. //depot/projects/wifi/sys/dev/aic7xxx/aic79xx_pci.c#3 integrate .. //depot/projects/wifi/sys/dev/aic7xxx/aic7xxx.c#4 integrate .. //depot/projects/wifi/sys/dev/ar/if_ar.c#3 integrate .. //depot/projects/wifi/sys/dev/cardbus/cardbus.c#5 integrate .. //depot/projects/wifi/sys/dev/cpufreq/ichss.c#2 integrate .. //depot/projects/wifi/sys/dev/drm/drm_bufs.h#3 integrate .. //depot/projects/wifi/sys/dev/ed/if_ed.c#8 integrate .. //depot/projects/wifi/sys/dev/ed/if_ed_cbus.c#5 integrate .. //depot/projects/wifi/sys/dev/ed/if_ed_isa.c#4 integrate .. //depot/projects/wifi/sys/dev/ed/if_ed_novell.c#2 integrate .. //depot/projects/wifi/sys/dev/ed/if_ed_pccard.c#6 integrate .. //depot/projects/wifi/sys/dev/ed/if_ed_pci.c#4 integrate .. //depot/projects/wifi/sys/dev/ed/if_ed_sic.c#2 integrate .. //depot/projects/wifi/sys/dev/ed/if_ed_wd80x3.c#2 integrate .. //depot/projects/wifi/sys/dev/ed/if_edreg.h#4 integrate .. //depot/projects/wifi/sys/dev/ed/if_edvar.h#5 integrate .. //depot/projects/wifi/sys/dev/fe/if_fe.c#3 integrate .. //depot/projects/wifi/sys/dev/fe/if_fe_cbus.c#3 integrate .. //depot/projects/wifi/sys/dev/fe/if_fe_isa.c#3 integrate .. //depot/projects/wifi/sys/dev/fe/if_fe_pccard.c#4 integrate .. //depot/projects/wifi/sys/dev/fe/if_fereg.h#3 integrate .. //depot/projects/wifi/sys/dev/fe/if_fevar.h#3 integrate .. //depot/projects/wifi/sys/dev/fe/mb86960.h#2 integrate .. //depot/projects/wifi/sys/dev/fxp/if_fxp.c#6 integrate .. //depot/projects/wifi/sys/dev/hme/if_hme_pci.c#4 integrate .. //depot/projects/wifi/sys/dev/ieee488/ibfoo.c#1 branch .. //depot/projects/wifi/sys/dev/ieee488/ibfoo_int.h#2 integrate .. //depot/projects/wifi/sys/dev/ieee488/pcii.c#2 integrate .. //depot/projects/wifi/sys/dev/ieee488/ugpib.h#2 integrate .. //depot/projects/wifi/sys/dev/ieee488/upd7210.c#2 integrate .. //depot/projects/wifi/sys/dev/ieee488/upd7210.h#2 integrate .. //depot/projects/wifi/sys/dev/if_ndis/if_ndis.c#9 integrate .. //depot/projects/wifi/sys/dev/if_ndis/if_ndisvar.h#6 integrate .. //depot/projects/wifi/sys/dev/md/md.c#9 integrate .. //depot/projects/wifi/sys/dev/mii/mii.c#5 integrate .. //depot/projects/wifi/sys/dev/mii/mii_physubr.c#2 integrate .. //depot/projects/wifi/sys/dev/ofw/ofw_pci.h#2 integrate .. //depot/projects/wifi/sys/dev/pccard/card_if.m#4 integrate .. //depot/projects/wifi/sys/dev/pccard/pccard.c#5 integrate .. //depot/projects/wifi/sys/dev/pccard/pccard_cis.c#4 integrate .. //depot/projects/wifi/sys/dev/pccard/pccarddevs#6 integrate .. //depot/projects/wifi/sys/dev/pci/pci_pci.c#2 integrate .. //depot/projects/wifi/sys/dev/snc/dp83932.c#3 integrate .. //depot/projects/wifi/sys/dev/sr/if_sr.c#3 integrate .. //depot/projects/wifi/sys/dev/twa/twa.h#3 integrate .. //depot/projects/wifi/sys/dev/twe/twe.c#4 integrate .. //depot/projects/wifi/sys/dev/twe/tweio.h#3 integrate .. //depot/projects/wifi/sys/dev/uart/uart_cpu_sparc64.c#5 integrate .. //depot/projects/wifi/sys/dev/usb/umass.c#4 integrate .. //depot/projects/wifi/sys/dev/usb/usbdi.c#3 integrate .. //depot/projects/wifi/sys/dev/usb/usbdi.h#4 integrate .. //depot/projects/wifi/sys/fs/deadfs/dead_vnops.c#6 integrate .. //depot/projects/wifi/sys/fs/devfs/devfs.h#2 integrate .. //depot/projects/wifi/sys/fs/devfs/devfs_vnops.c#16 integrate .. //depot/projects/wifi/sys/fs/msdosfs/msdosfs_vfsops.c#9 integrate .. //depot/projects/wifi/sys/fs/nullfs/null_vnops.c#9 integrate .. //depot/projects/wifi/sys/fs/nwfs/nwfs_vnops.c#7 integrate .. //depot/projects/wifi/sys/fs/smbfs/smbfs_vnops.c#8 integrate .. //depot/projects/wifi/sys/fs/udf/udf.h#3 integrate .. //depot/projects/wifi/sys/fs/udf/udf_vfsops.c#6 integrate .. //depot/projects/wifi/sys/geom/gate/g_gate.c#4 integrate .. //depot/projects/wifi/sys/geom/gate/g_gate.h#3 integrate .. //depot/projects/wifi/sys/geom/geom_vfs.c#7 integrate .. //depot/projects/wifi/sys/geom/mirror/g_mirror.c#8 integrate .. //depot/projects/wifi/sys/geom/mirror/g_mirror.h#5 integrate .. //depot/projects/wifi/sys/geom/mirror/g_mirror_ctl.c#5 integrate .. //depot/projects/wifi/sys/geom/raid3/g_raid3.c#10 integrate .. //depot/projects/wifi/sys/geom/raid3/g_raid3.h#5 integrate .. //depot/projects/wifi/sys/geom/raid3/g_raid3_ctl.c#4 integrate .. //depot/projects/wifi/sys/geom/shsec/g_shsec.c#2 integrate .. //depot/projects/wifi/sys/geom/shsec/g_shsec.h#2 integrate .. //depot/projects/wifi/sys/geom/stripe/g_stripe.c#3 integrate .. //depot/projects/wifi/sys/geom/stripe/g_stripe.h#2 integrate .. //depot/projects/wifi/sys/geom/vinum/geom_vinum_drive.c#3 integrate .. //depot/projects/wifi/sys/geom/vinum/geom_vinum_var.h#5 integrate .. //depot/projects/wifi/sys/geom/vinum/geom_vinum_volume.c#3 integrate .. //depot/projects/wifi/sys/i386/acpica/madt.c#2 integrate .. //depot/projects/wifi/sys/i386/conf/NOTES#8 integrate .. //depot/projects/wifi/sys/i386/cpufreq/est.c#1 branch .. //depot/projects/wifi/sys/i386/cpufreq/p4tcc.c#1 branch .. //depot/projects/wifi/sys/i386/i386/io_apic.c#4 integrate .. //depot/projects/wifi/sys/i386/i386/legacy.c#4 integrate .. //depot/projects/wifi/sys/i386/i386/p4tcc.c#4 delete .. //depot/projects/wifi/sys/i386/i386/uio_machdep.c#3 integrate .. //depot/projects/wifi/sys/i386/i386/vm_machdep.c#9 integrate .. //depot/projects/wifi/sys/i386/ibcs2/ibcs2_signal.c#3 integrate .. //depot/projects/wifi/sys/i386/include/_types.h#2 integrate .. //depot/projects/wifi/sys/i386/include/exec.h#2 integrate .. //depot/projects/wifi/sys/i386/include/sf_buf.h#2 integrate .. //depot/projects/wifi/sys/i386/isa/ic/mb86960.h#3 delete .. //depot/projects/wifi/sys/ia64/include/exec.h#3 integrate .. //depot/projects/wifi/sys/isofs/cd9660/cd9660_vfsops.c#8 integrate .. //depot/projects/wifi/sys/kern/cpufreq_if.m#2 integrate .. //depot/projects/wifi/sys/kern/init_main.c#7 integrate .. //depot/projects/wifi/sys/kern/kern_conf.c#5 integrate .. //depot/projects/wifi/sys/kern/kern_cpu.c#2 integrate .. //depot/projects/wifi/sys/kern/kern_event.c#4 integrate .. //depot/projects/wifi/sys/kern/kern_mbuf.c#4 integrate .. //depot/projects/wifi/sys/kern/kern_module.c#3 integrate .. //depot/projects/wifi/sys/kern/kern_prot.c#5 integrate .. //depot/projects/wifi/sys/kern/kern_sig.c#6 integrate .. //depot/projects/wifi/sys/kern/sched_ule.c#9 integrate .. //depot/projects/wifi/sys/kern/sysv_msg.c#8 integrate .. //depot/projects/wifi/sys/kern/sysv_sem.c#5 integrate .. //depot/projects/wifi/sys/kern/sysv_shm.c#5 integrate .. //depot/projects/wifi/sys/kern/uipc_accf.c#3 integrate .. //depot/projects/wifi/sys/kern/uipc_socket.c#11 integrate .. //depot/projects/wifi/sys/kern/uipc_socket2.c#5 integrate .. //depot/projects/wifi/sys/kern/uipc_syscalls.c#9 integrate .. //depot/projects/wifi/sys/kern/uipc_usrreq.c#6 integrate .. //depot/projects/wifi/sys/kern/vfs_default.c#14 integrate .. //depot/projects/wifi/sys/kern/vfs_init.c#7 integrate .. //depot/projects/wifi/sys/kern/vfs_mount.c#16 integrate .. //depot/projects/wifi/sys/kern/vfs_subr.c#16 integrate .. //depot/projects/wifi/sys/kern/vfs_vnops.c#9 integrate .. //depot/projects/wifi/sys/modules/Makefile#14 integrate .. //depot/projects/wifi/sys/modules/cpufreq/Makefile#2 integrate .. //depot/projects/wifi/sys/modules/ndis/Makefile#3 integrate .. //depot/projects/wifi/sys/modules/netgraph/Makefile#6 integrate .. //depot/projects/wifi/sys/modules/netgraph/Makefile.inc#2 integrate .. //depot/projects/wifi/sys/modules/netgraph/ether/Makefile#2 integrate .. //depot/projects/wifi/sys/net/if.c#9 integrate .. //depot/projects/wifi/sys/net/if_ethersubr.c#5 integrate .. //depot/projects/wifi/sys/net/if_media.h#3 integrate .. //depot/projects/wifi/sys/net/if_types.h#3 integrate .. //depot/projects/wifi/sys/net/if_var.h#9 integrate .. //depot/projects/wifi/sys/net/if_vlan.c#4 integrate .. //depot/projects/wifi/sys/net/if_vlan_var.h#3 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_input.c#44 integrate .. //depot/projects/wifi/sys/netatalk/aarp.c#3 integrate .. //depot/projects/wifi/sys/netatalk/at_control.c#3 integrate .. //depot/projects/wifi/sys/netatalk/at_extern.h#3 integrate .. //depot/projects/wifi/sys/netatalk/at_var.h#3 integrate .. //depot/projects/wifi/sys/netatalk/ddp_output.c#3 integrate .. //depot/projects/wifi/sys/netatalk/ddp_usrreq.c#4 integrate .. //depot/projects/wifi/sys/netatm/atm_cm.c#3 integrate .. //depot/projects/wifi/sys/netatm/atm_proto.c#3 integrate .. //depot/projects/wifi/sys/netatm/atm_socket.c#3 integrate .. //depot/projects/wifi/sys/netatm/atm_var.h#3 integrate .. //depot/projects/wifi/sys/netatm/ipatm/ipatm_load.c#3 integrate .. //depot/projects/wifi/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#3 integrate .. //depot/projects/wifi/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#3 integrate .. //depot/projects/wifi/sys/netgraph/netgraph.h#5 integrate .. //depot/projects/wifi/sys/netgraph/ng_base.c#10 integrate .. //depot/projects/wifi/sys/netgraph/ng_bpf.h#3 integrate .. //depot/projects/wifi/sys/netgraph/ng_device.c#7 integrate .. //depot/projects/wifi/sys/netgraph/ng_ether.c#5 integrate .. //depot/projects/wifi/sys/netgraph/ng_ether.h#3 integrate .. //depot/projects/wifi/sys/netgraph/ng_gif.c#4 integrate .. //depot/projects/wifi/sys/netgraph/ng_iface.h#4 integrate .. //depot/projects/wifi/sys/netgraph/ng_ksocket.c#3 integrate .. //depot/projects/wifi/sys/netgraph/ng_ksocket.h#3 integrate .. //depot/projects/wifi/sys/netgraph/ng_pppoe.c#5 integrate .. //depot/projects/wifi/sys/netgraph/ng_source.c#5 integrate .. //depot/projects/wifi/sys/netinet/if_ether.c#5 integrate .. //depot/projects/wifi/sys/netinet/if_ether.h#3 integrate .. //depot/projects/wifi/sys/netinet/in.h#3 integrate .. //depot/projects/wifi/sys/netinet/in_pcb.c#3 integrate .. //depot/projects/wifi/sys/netinet/in_proto.c#3 integrate .. //depot/projects/wifi/sys/netinet/ip_carp.c#1 branch .. //depot/projects/wifi/sys/netinet/ip_carp.h#1 branch .. //depot/projects/wifi/sys/netinet/ip_input.c#4 integrate .. //depot/projects/wifi/sys/netinet/ip_output.c#6 integrate .. //depot/projects/wifi/sys/netinet/tcp_input.c#9 integrate .. //depot/projects/wifi/sys/netinet/tcp_sack.c#4 integrate .. //depot/projects/wifi/sys/netinet/tcp_subr.c#9 integrate .. //depot/projects/wifi/sys/netinet/tcp_usrreq.c#8 integrate .. //depot/projects/wifi/sys/netinet/tcp_var.h#6 integrate .. //depot/projects/wifi/sys/netinet/udp_usrreq.c#4 integrate .. //depot/projects/wifi/sys/netinet6/in6.c#3 integrate .. //depot/projects/wifi/sys/netinet6/in6_ifattach.c#3 integrate .. //depot/projects/wifi/sys/netinet6/in6_proto.c#3 integrate .. //depot/projects/wifi/sys/netinet6/in6_var.h#3 integrate .. //depot/projects/wifi/sys/netinet6/nd6.c#3 integrate .. //depot/projects/wifi/sys/netinet6/nd6_nbr.c#3 integrate .. //depot/projects/wifi/sys/netipx/spx_usrreq.c#5 integrate .. //depot/projects/wifi/sys/netnatm/natm_proto.c#3 integrate .. //depot/projects/wifi/sys/nfs4client/nfs4_vnops.c#8 integrate .. //depot/projects/wifi/sys/nfsclient/nfs_socket.c#4 integrate .. //depot/projects/wifi/sys/nfsclient/nfs_vnops.c#15 integrate .. //depot/projects/wifi/sys/pc98/conf/NOTES#4 integrate .. //depot/projects/wifi/sys/pccard/pccard_nbk.c#3 integrate .. //depot/projects/wifi/sys/pci/agp_amd64.c#2 integrate .. //depot/projects/wifi/sys/pci/agp_sis.c#3 integrate .. //depot/projects/wifi/sys/powerpc/include/exec.h#3 integrate .. //depot/projects/wifi/sys/security/mac_test/mac_test.c#4 integrate .. //depot/projects/wifi/sys/sparc64/include/ofw_machdep.h#2 integrate .. //depot/projects/wifi/sys/sparc64/include/pmap.h#3 integrate .. //depot/projects/wifi/sys/sparc64/sparc64/ofw_machdep.c#2 integrate .. //depot/projects/wifi/sys/sparc64/sparc64/tick.c#2 integrate .. //depot/projects/wifi/sys/sparc64/sparc64/tsb.c#2 integrate .. //depot/projects/wifi/sys/sys/bufobj.h#5 integrate .. //depot/projects/wifi/sys/sys/conf.h#6 integrate .. //depot/projects/wifi/sys/sys/cpu.h#2 integrate .. //depot/projects/wifi/sys/sys/mbuf.h#7 integrate .. //depot/projects/wifi/sys/sys/mount.h#9 integrate .. //depot/projects/wifi/sys/sys/param.h#6 integrate .. //depot/projects/wifi/sys/sys/proc.h#7 integrate .. //depot/projects/wifi/sys/sys/socketvar.h#4 integrate .. //depot/projects/wifi/sys/sys/syscallsubr.h#6 integrate .. //depot/projects/wifi/sys/sys/syslimits.h#3 integrate .. //depot/projects/wifi/sys/sys/vnode.h#17 integrate .. //depot/projects/wifi/sys/ufs/ffs/ffs_alloc.c#7 integrate .. //depot/projects/wifi/sys/ufs/ffs/ffs_inode.c#7 integrate .. //depot/projects/wifi/sys/ufs/ffs/ffs_snapshot.c#9 integrate .. //depot/projects/wifi/sys/ufs/ffs/ffs_softdep.c#7 integrate .. //depot/projects/wifi/sys/ufs/ffs/ffs_vfsops.c#16 integrate .. //depot/projects/wifi/sys/ufs/ffs/fs.h#4 integrate .. //depot/projects/wifi/sys/ufs/ufs/ufs_extern.h#4 integrate .. //depot/projects/wifi/sys/ufs/ufs/ufs_ihash.c#3 integrate .. //depot/projects/wifi/sys/ufs/ufs/ufs_inode.c#4 integrate .. //depot/projects/wifi/sys/vm/memguard.c#3 integrate .. //depot/projects/wifi/sys/vm/memguard.h#2 integrate .. //depot/projects/wifi/sys/vm/uma.h#4 integrate .. //depot/projects/wifi/sys/vm/uma_core.c#7 integrate .. //depot/projects/wifi/sys/vm/uma_dbg.c#4 integrate .. //depot/projects/wifi/sys/vm/uma_dbg.h#4 integrate .. //depot/projects/wifi/sys/vm/uma_int.h#5 integrate .. //depot/projects/wifi/sys/vm/vnode_pager.c#13 integrate .. //depot/projects/wifi/tools/regression/lib/libc/net/Makefile#2 integrate .. //depot/projects/wifi/tools/regression/sockets/unix_bindconnect/Makefile#1 branch .. //depot/projects/wifi/tools/regression/sockets/unix_bindconnect/unix_bindconnect.c#1 branch .. //depot/projects/wifi/tools/tools/netrate/Makefile#2 integrate .. //depot/projects/wifi/tools/tools/netrate/netblast/netblast.c#2 integrate .. //depot/projects/wifi/usr.bin/Makefile#4 integrate .. //depot/projects/wifi/usr.bin/calendar/calendar.1#3 integrate .. //depot/projects/wifi/usr.bin/calendar/calendars/calendar.freebsd#7 integrate .. //depot/projects/wifi/usr.bin/cap_mkdb/cap_mkdb.1#3 integrate .. //depot/projects/wifi/usr.bin/cap_mkdb/cap_mkdb.c#2 integrate .. //depot/projects/wifi/usr.bin/col/col.1#3 integrate .. //depot/projects/wifi/usr.bin/colcrt/colcrt.1#3 integrate .. //depot/projects/wifi/usr.bin/ee/ee.1#2 integrate .. //depot/projects/wifi/usr.bin/enigma/enigma.1#2 integrate .. //depot/projects/wifi/usr.bin/fetch/fetch.1#3 integrate .. //depot/projects/wifi/usr.bin/file/file.1#3 integrate .. //depot/projects/wifi/usr.bin/fstat/fstat.1#4 integrate .. //depot/projects/wifi/usr.bin/getconf/progenv.gperf#2 integrate .. //depot/projects/wifi/usr.bin/getopt/getopt.1#4 integrate .. //depot/projects/wifi/usr.bin/gprof/gprof.1#2 integrate .. //depot/projects/wifi/usr.bin/indent/indent.1#3 integrate .. //depot/projects/wifi/usr.bin/join/join.1#3 integrate .. //depot/projects/wifi/usr.bin/last/last.1#3 integrate .. //depot/projects/wifi/usr.bin/locate/locate/locate.1#4 integrate .. //depot/projects/wifi/usr.bin/lock/lock.1#2 integrate .. //depot/projects/wifi/usr.bin/make/arch.c#8 integrate .. //depot/projects/wifi/usr.bin/make/dir.c#8 integrate .. //depot/projects/wifi/usr.bin/make/dir.h#6 integrate .. //depot/projects/wifi/usr.bin/make/for.c#7 integrate .. //depot/projects/wifi/usr.bin/make/lst.h#7 integrate .. //depot/projects/wifi/usr.bin/make/main.c#13 integrate .. //depot/projects/wifi/usr.bin/make/make.1#6 integrate .. //depot/projects/wifi/usr.bin/make/var.c#9 integrate .. //depot/projects/wifi/usr.bin/mt/mt.1#2 integrate .. //depot/projects/wifi/usr.bin/netstat/inet.c#2 integrate .. //depot/projects/wifi/usr.bin/netstat/main.c#3 integrate .. //depot/projects/wifi/usr.bin/netstat/netstat.h#2 integrate .. //depot/projects/wifi/usr.bin/passwd/passwd.1#3 integrate .. //depot/projects/wifi/usr.bin/ruptime/ruptime.1#2 integrate .. //depot/projects/wifi/usr.bin/rwho/rwho.1#2 integrate .. //depot/projects/wifi/usr.bin/sed/sed.1#4 integrate .. //depot/projects/wifi/usr.bin/systat/netstat.c#2 integrate .. //depot/projects/wifi/usr.bin/systat/vmstat.c#2 integrate .. //depot/projects/wifi/usr.bin/talk/talk.1#3 integrate .. //depot/projects/wifi/usr.bin/tar/bsdtar.1#3 integrate .. //depot/projects/wifi/usr.bin/tcopy/tcopy.1#2 integrate .. //depot/projects/wifi/usr.bin/tftp/tftpsubs.c#2 integrate .. //depot/projects/wifi/usr.bin/touch/touch.1#3 integrate .. //depot/projects/wifi/usr.bin/tput/tput.1#3 integrate .. //depot/projects/wifi/usr.bin/tr/tr.1#4 integrate .. //depot/projects/wifi/usr.bin/tset/tset.1#3 integrate .. //depot/projects/wifi/usr.bin/tty/tty.1#2 integrate .. //depot/projects/wifi/usr.bin/units/units.1#3 integrate .. //depot/projects/wifi/usr.bin/vgrind/Makefile#3 integrate .. //depot/projects/wifi/usr.bin/vis/vis.1#2 integrate .. //depot/projects/wifi/usr.bin/vmstat/vmstat.c#2 integrate .. //depot/projects/wifi/usr.bin/w/w.1#3 integrate .. //depot/projects/wifi/usr.bin/wc/wc.1#4 integrate .. //depot/projects/wifi/usr.bin/window/window.1#3 integrate .. //depot/projects/wifi/usr.bin/write/write.1#2 integrate .. //depot/projects/wifi/usr.bin/xinstall/install.1#3 integrate .. //depot/projects/wifi/usr.bin/xlint/xlint/lint.1#2 integrate .. //depot/projects/wifi/usr.bin/xstr/xstr.1#3 integrate .. //depot/projects/wifi/usr.sbin/acpi/acpidump/acpi.c#2 integrate .. //depot/projects/wifi/usr.sbin/acpi/acpidump/acpidump.8#3 integrate .. //depot/projects/wifi/usr.sbin/acpi/acpidump/acpidump.h#2 integrate .. //depot/projects/wifi/usr.sbin/amd/include/newvers.sh#2 integrate .. //depot/projects/wifi/usr.sbin/ancontrol/ancontrol.8#3 integrate .. //depot/projects/wifi/usr.sbin/apm/apm.8#3 integrate .. //depot/projects/wifi/usr.sbin/apmd/apmd.8#3 integrate .. //depot/projects/wifi/usr.sbin/btxld/btxld.c#2 integrate .. //depot/projects/wifi/usr.sbin/chown/chgrp.1#3 integrate .. //depot/projects/wifi/usr.sbin/chown/chown.8#3 integrate .. //depot/projects/wifi/usr.sbin/cron/cron/cron.8#2 integrate .. //depot/projects/wifi/usr.sbin/cron/crontab/crontab.5#2 integrate .. //depot/projects/wifi/usr.sbin/cron/lib/entry.c#2 integrate .. //depot/projects/wifi/usr.sbin/ctm/ctm/ctm.1#2 integrate .. //depot/projects/wifi/usr.sbin/ctm/ctm/ctm.5#2 integrate .. //depot/projects/wifi/usr.sbin/ctm/ctm_rmail/ctm_rmail.1#3 integrate .. //depot/projects/wifi/usr.sbin/fdread/fdread.1#3 integrate .. //depot/projects/wifi/usr.sbin/fdwrite/fdwrite.1#2 integrate .. //depot/projects/wifi/usr.sbin/iostat/iostat.8#3 integrate .. //depot/projects/wifi/usr.sbin/lpr/lpc/lpc.8#4 integrate .. //depot/projects/wifi/usr.sbin/lpr/lpc/lpc.c#2 integrate .. //depot/projects/wifi/usr.sbin/lpr/lpd/lpd.8#2 integrate .. //depot/projects/wifi/usr.sbin/mergemaster/mergemaster.8#3 integrate .. //depot/projects/wifi/usr.sbin/mount_nwfs/mount_nwfs.8#3 integrate .. //depot/projects/wifi/usr.sbin/mptable/mptable.1#2 integrate .. //depot/projects/wifi/usr.sbin/mrouted/mrouted.8#3 integrate .. //depot/projects/wifi/usr.sbin/mrouted/mtrace.8#3 integrate .. //depot/projects/wifi/usr.sbin/mtree/mtree.8#3 integrate .. //depot/projects/wifi/usr.sbin/ndiscvt/inf.c#2 integrate .. //depot/projects/wifi/usr.sbin/ndiscvt/ndiscvt.c#3 integrate .. //depot/projects/wifi/usr.sbin/newsyslog/newsyslog.8#4 integrate .. //depot/projects/wifi/usr.sbin/ntp/doc/ntp.conf.5#2 integrate .. //depot/projects/wifi/usr.sbin/ntp/doc/ntpd.8#2 integrate .. //depot/projects/wifi/usr.sbin/ntp/doc/ntpdate.8#2 integrate .. //depot/projects/wifi/usr.sbin/ntp/doc/ntpq.8#2 integrate .. //depot/projects/wifi/usr.sbin/pccard/pccardd/pccard.conf.5#3 integrate .. //depot/projects/wifi/usr.sbin/pccard/pccardd/pccardd.8#2 integrate .. //depot/projects/wifi/usr.sbin/pcvt/scon/scon.1#3 integrate .. //depot/projects/wifi/usr.sbin/pcvt/userkeys/vt220keys.1#3 integrate .. //depot/projects/wifi/usr.sbin/pkg_install/add/pkg_add.1#2 integrate .. //depot/projects/wifi/usr.sbin/pkg_install/create/pkg_create.1#2 integrate .. //depot/projects/wifi/usr.sbin/pkg_install/delete/pkg_delete.1#2 integrate .. //depot/projects/wifi/usr.sbin/pkg_install/info/pkg_info.1#2 integrate .. //depot/projects/wifi/usr.sbin/pkg_install/sign/pkg_sign.1#3 integrate .. //depot/projects/wifi/usr.sbin/pkg_install/version/pkg_version.1#4 integrate .. //depot/projects/wifi/usr.sbin/ppp/cbcp.c#2 integrate .. //depot/projects/wifi/usr.sbin/ppp/ppp.8.m4#8 integrate .. //depot/projects/wifi/usr.sbin/pppctl/pppctl.8#3 integrate .. //depot/projects/wifi/usr.sbin/raycontrol/raycontrol.8#2 integrate .. //depot/projects/wifi/usr.sbin/rpc.umntall/rpc.umntall.8#3 integrate .. //depot/projects/wifi/usr.sbin/rpc.yppasswdd/rpc.yppasswdd.8#3 integrate .. //depot/projects/wifi/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8#3 integrate .. //depot/projects/wifi/usr.sbin/rrenumd/rrenumd.conf.5#3 integrate .. //depot/projects/wifi/usr.sbin/rwhod/rwhod.8#3 integrate .. //depot/projects/wifi/usr.sbin/rwhod/rwhod.c#2 integrate .. //depot/projects/wifi/usr.sbin/sa/sa.8#3 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/sysinstall.8#3 integrate .. //depot/projects/wifi/usr.sbin/syslogd/syslog.conf.5#3 integrate .. //depot/projects/wifi/usr.sbin/syslogd/syslogd.8#5 integrate .. //depot/projects/wifi/usr.sbin/tcpdrop/tcpdrop.c#2 integrate .. //depot/projects/wifi/usr.sbin/trpt/trpt.8#3 integrate .. //depot/projects/wifi/usr.sbin/wicontrol/wicontrol.8#3 integrate .. //depot/projects/wifi/usr.sbin/yp_mkdb/yp_mkdb.8#2 integrate .. //depot/projects/wifi/usr.sbin/ypbind/ypbind.8#2 integrate .. //depot/projects/wifi/usr.sbin/ypserv/ypserv.8#3 integrate .. //depot/projects/wifi/usr.sbin/zic/zic.8#3 integrate Differences ... ==== //depot/projects/wifi/Makefile.inc1#12 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.473 2005/01/20 10:49:02 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.476 2005/02/22 23:29:52 ru Exp $ # # Make command line options: # -DNO_DYNAMICROOT do not link /bin and /sbin dynamically @@ -760,6 +760,10 @@ .endif .endif +.if ${BOOTSTRAPPING} < 600015 +_cap_mkdb= usr.bin/cap_mkdb +.endif + .if ${BOOTSTRAPPING} < 502102 _lex= usr.bin/lex .endif @@ -798,8 +802,10 @@ ${_gperf} \ ${_groff} \ gnu/usr.bin/texinfo \ + ${_cap_mkdb} \ usr.bin/colldef \ ${_lex} \ + usr.bin/lorder \ usr.bin/makewhatis \ usr.bin/rpcgen \ ${_uudecode} \ @@ -871,7 +877,8 @@ _elf2aout= usr.bin/elf2aout .endif -.if ${TARGET_ARCH} == "i386" && ${TARGET_ARCH} != ${MACHINE_ARCH} +.if (${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386") && \ + ${TARGET_ARCH} != ${MACHINE_ARCH} _btxld= usr.sbin/btxld .endif ==== //depot/projects/wifi/UPDATING#12 (text+ko) ==== @@ -21,6 +21,11 @@ developers choose to disable these features on build machines to maximize performance. +20050223: + The p4tcc driver has been merged into cpufreq(4). This makes + "options CPU_ENABLE_TCC" obsolete. Please load cpufreq.ko or + compile in "device cpufreq" to restore this functionality. + 20050206: The cpufreq import is complete. As part of this, the sysctls for acpi(4) throttling have been removed. The power_profile(8) script @@ -343,4 +348,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.391 2005/02/07 09:15:52 ru Exp $ +$FreeBSD: src/UPDATING,v 1.392 2005/02/23 16:52:55 njl Exp $ ==== //depot/projects/wifi/bin/chmod/chmod.1#4 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)chmod.1 8.4 (Berkeley) 3/31/94 -.\" $FreeBSD: src/bin/chmod/chmod.1,v 1.38 2005/01/16 16:41:56 ru Exp $ +.\" $FreeBSD: src/bin/chmod/chmod.1,v 1.39 2005/02/13 23:45:45 ru Exp $ .\" .Dd March 31, 1994 .Dt CHMOD 1 @@ -337,6 +337,6 @@ command appeared in .At v1 . .Sh BUGS -There's no +There is no .Ar perm option for the naughty bits. ==== //depot/projects/wifi/bin/date/date.1#4 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)date.1 8.3 (Berkeley) 4/28/95 -.\" $FreeBSD: src/bin/date/date.1,v 1.71 2005/01/16 16:41:56 ru Exp $ +.\" $FreeBSD: src/bin/date/date.1,v 1.72 2005/02/13 22:25:09 ru Exp $ .\" .Dd August 9, 2004 .Dt DATE 1 @@ -210,7 +210,7 @@ .Fl v No +3H will be necessary to reach October 29, 2:30. .Pp -When the date is adjusted to a specific value that doesn't actually exist +When the date is adjusted to a specific value that does not actually exist (for example March 26, 1:30 BST 2000 in the Europe/London timezone), the date will be silently adjusted forwards in units of one hour until it reaches a valid time. ==== //depot/projects/wifi/bin/ln/symlink.7#3 (text+ko) ==== @@ -27,7 +27,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)symlink.7 8.3 (Berkeley) 3/31/94 -.\" $FreeBSD: src/bin/ln/symlink.7,v 1.29 2005/01/10 08:39:23 imp Exp $ +.\" $FreeBSD: src/bin/ln/symlink.7,v 1.30 2005/02/13 22:25:09 ru Exp $ .\" .Dd March 31, 1994 .Dt SYMLINK 7 @@ -69,7 +69,7 @@ Symbolic links may reference other symbolic links, in which case the links are dereferenced until an object that is not a symbolic link is found, -a symbolic link which references a file which doesn't exist is found, +a symbolic link which references a file which does not exist is found, or a loop is detected. (Loop detection is done by placing an upper limit on the number of links that may be followed, and an error results if this limit is ==== //depot/projects/wifi/bin/ls/ls.1#4 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ls.1 8.7 (Berkeley) 7/29/94 -.\" $FreeBSD: src/bin/ls/ls.1,v 1.85 2005/01/16 16:41:57 ru Exp $ +.\" $FreeBSD: src/bin/ls/ls.1,v 1.86 2005/02/13 22:25:09 ru Exp $ .\" .Dd January 11, 2005 .Dt LS 1 @@ -475,12 +475,12 @@ .Dq Li xterm-color . Other terminal types may require similar adjustments. Colorization -is silently disabled if the output isn't directed to a terminal +is silently disabled if the output is not directed to a terminal unless the .Ev CLICOLOR_FORCE variable is defined. .It Ev CLICOLOR_FORCE -Color sequences are normally disabled if the output isn't directed to +Color sequences are normally disabled if the output is not directed to a terminal. This can be overridden by setting this flag. The ==== //depot/projects/wifi/bin/pax/tar.1#5 (text+ko) ==== @@ -28,7 +28,7 @@ .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" $OpenBSD: tar.1,v 1.33 2001/05/01 17:58:01 aaron Exp $ -.\" $FreeBSD: src/bin/pax/tar.1,v 1.10 2005/02/09 18:02:29 ru Exp $ +.\" $FreeBSD: src/bin/pax/tar.1,v 1.11 2005/02/13 22:25:09 ru Exp $ .\" .Dd February 7, 2001 .Dt TAR 1 @@ -120,7 +120,7 @@ .Pq non- Ns Tn POSIX archives. .It Fl o -Don't write directory information that the older (V7) style +Do not write directory information that the older (V7) style .Nm is unable to decode. This implies the ==== //depot/projects/wifi/bin/ps/ps.1#6 (text+ko) ==== @@ -27,7 +27,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/ps/ps.1,v 1.83 2005/02/09 17:37:38 ru Exp $ +.\" $FreeBSD: src/bin/ps/ps.1,v 1.84 2005/02/14 16:56:15 delphij Exp $ .\" .Dd March 27, 2004 .Dt PS 1 @@ -187,6 +187,7 @@ sign and a string. This causes the printed header to use the specified string instead of the standard header. +If all keywords have empty header texts, no header line is written. .It Fl p Display information about processes which match the specified process IDs. .It Fl r @@ -312,6 +313,9 @@ If the name is invalid or unknown, then .Dq ???\& is displayed. +.It Cm logname +The login name associated with the session the process is in (see +.Xr getlogin 2 ) . .It Cm mwchan The event name if the process is blocked normally, or the lock name if the process is blocked on a lock. @@ -416,18 +420,26 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Feb 23 21:36:43 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9524116A4D0; Wed, 23 Feb 2005 21:36:42 +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 4E80916A4CE for ; Wed, 23 Feb 2005 21:36:42 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 056F543D46 for ; Wed, 23 Feb 2005 21:36:42 +0000 (GMT) (envelope-from sam@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 j1NLaf7B092955 for ; Wed, 23 Feb 2005 21:36:41 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1NLafCe092952 for perforce@freebsd.org; Wed, 23 Feb 2005 21:36:41 GMT (envelope-from sam@freebsd.org) Date: Wed, 23 Feb 2005 21:36:41 GMT Message-Id: <200502232136.j1NLafCe092952@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 71686 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: Wed, 23 Feb 2005 21:36:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=71686 Change 71686 by sam@sam_ebb on 2005/02/23 21:36:40 IFC Affected files ... .. //depot/projects/wifi/sys/dev/advansys/adwlib.c#3 integrate .. //depot/projects/wifi/sys/dev/ciss/ciss.c#3 integrate .. //depot/projects/wifi/sys/dev/tdfx/tdfx_pci.c#2 integrate .. //depot/projects/wifi/sys/fs/unionfs/union_vfsops.c#5 integrate .. //depot/projects/wifi/sys/kern/subr_bus.c#8 integrate .. //depot/projects/wifi/sys/kern/subr_eventhandler.c#3 integrate .. //depot/projects/wifi/sys/kern/uipc_mbuf.c#7 integrate Differences ... ==== //depot/projects/wifi/sys/dev/advansys/adwlib.c#3 (text+ko) ==== @@ -43,7 +43,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/advansys/adwlib.c,v 1.10 2005/01/06 01:42:24 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/advansys/adwlib.c,v 1.11 2005/02/21 00:32:03 scottl Exp $"); #include #include @@ -374,7 +374,7 @@ major_ver = (biosmem[addr + 1] >> 4) & 0xF; if ((adw->chip == ADW_CHIP_ASC3550) && (major_ver <= 3 - || (major_ver == 3 && minor_ver == 1))) { + || (major_ver == 3 && minor_ver <= 1))) { /* * BIOS 3.1 and earlier location of * 'wdtr_able' variable. ==== //depot/projects/wifi/sys/dev/ciss/ciss.c#3 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ciss/ciss.c,v 1.57 2005/01/20 22:51:38 ps Exp $ + * $FreeBSD: src/sys/dev/ciss/ciss.c,v 1.58 2005/02/21 05:17:29 scottl Exp $ */ /* @@ -2167,8 +2167,6 @@ if (error) { if (cr != NULL) ciss_release_request(cr); - if ((bufp != NULL) && (*bufp == NULL) && (buf != NULL)) - free(buf, CISS_MALLOC_CLASS); } else { *crp = cr; if ((bufp != NULL) && (*bufp == NULL) && (buf != NULL)) @@ -3545,7 +3543,8 @@ * Mark the device offline so that it'll start producing selection * timeouts to the upper layer. */ - sc->ciss_physical[bus][target].cp_online = 0; + if ((bus >= 0) && (target >= 0)) + sc->ciss_physical[bus][target].cp_online = 0; } else { /* * Rescan the physical lun list for new items ==== //depot/projects/wifi/sys/dev/tdfx/tdfx_pci.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/tdfx/tdfx_pci.c,v 1.35 2004/06/16 09:46:59 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/tdfx/tdfx_pci.c,v 1.36 2005/02/22 18:57:18 sam Exp $"); /* 3dfx driver for FreeBSD 4.x - Finished 11 May 2000, 12:25AM ET * @@ -384,12 +384,8 @@ * If, for some reason, we can't set the MTRR (N/A?) we may still continue */ #ifdef DEBUG - if(retval == 0) { - device_printf(dev, "MTRR Set Type Uncacheable %x\n", - (u_int32_t)tdfx_info->mrdesc.mr_base); - } else { - device_printf(dev, "Couldn't Set MTRR\n"); - } + device_printf(dev, "MTRR Set Type Uncacheable %x\n", + (u_int32_t)tdfx_info->mrdesc.mr_base); #endif } #ifdef DEBUG ==== //depot/projects/wifi/sys/fs/unionfs/union_vfsops.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)union_vfsops.c 8.20 (Berkeley) 5/20/95 - * $FreeBSD: src/sys/fs/unionfs/union_vfsops.c,v 1.73 2005/01/06 18:10:42 imp Exp $ + * $FreeBSD: src/sys/fs/unionfs/union_vfsops.c,v 1.74 2005/02/22 19:02:24 sam Exp $ */ /* @@ -73,7 +73,6 @@ struct vnode *upperrootvp = NULLVP; struct union_mount *um = 0; struct vattr va; - struct ucred *cred = 0; char *cp = 0, *target; int op; int len; @@ -312,8 +311,6 @@ /* XXX other fields */ free(um, M_UNIONFSMNT); } - if (cred) - crfree(cred); if (upperrootvp) vrele(upperrootvp); if (lowerrootvp) ==== //depot/projects/wifi/sys/kern/subr_bus.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.171 2005/02/08 18:03:17 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.172 2005/02/23 00:43:00 sam Exp $"); #include "opt_bus.h" @@ -200,10 +200,7 @@ { devclass_t dc = (devclass_t)arg1; const char *value; - char *buf; - int error; - buf = NULL; switch (arg2) { case DEVCLASS_SYSCTL_PARENT: value = dc->parent ? dc->parent->name : ""; @@ -211,10 +208,7 @@ default: return (EINVAL); } - error = SYSCTL_OUT(req, value, strlen(value)); - if (buf != NULL) - free(buf, M_BUS); - return (error); + return (SYSCTL_OUT(req, value, strlen(value))); } static void ==== //depot/projects/wifi/sys/kern/subr_eventhandler.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_eventhandler.c,v 1.22 2004/12/06 10:53:40 jkoshy Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_eventhandler.c,v 1.23 2005/02/23 19:32:29 sam Exp $"); #include #include @@ -166,7 +166,6 @@ if (list->el_runcount == 0) { CTR2(KTR_EVH, "%s: removing all items from \"%s\"", __func__, list->el_name); - TAILQ_REMOVE(&list->el_entries, ep, ee_link); while (!TAILQ_EMPTY(&list->el_entries)) { ep = TAILQ_FIRST(&list->el_entries); TAILQ_REMOVE(&list->el_entries, ep, ee_link); ==== //depot/projects/wifi/sys/kern/uipc_mbuf.c#7 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_mbuf.c,v 1.141 2005/02/10 22:23:02 bmilekic Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_mbuf.c,v 1.142 2005/02/23 19:34:44 sam Exp $"); #include "opt_mac.h" #include "opt_param.h" @@ -1194,8 +1194,6 @@ #ifdef MBUF_STRESS_TEST m_defragfailure++; #endif - if (m_new) - m_free(m_new); if (m_final) m_freem(m_final); return (NULL); @@ -1275,8 +1273,6 @@ m0 = m_final; return (m0); nospace: - if (m_new) - m_free(m_new); if (m_final) m_freem(m_final); /* Return the original chain on failure */ From owner-p4-projects@FreeBSD.ORG Wed Feb 23 21:38:46 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CA8B216A4D0; Wed, 23 Feb 2005 21:38:45 +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 A741F16A4CE for ; Wed, 23 Feb 2005 21:38:45 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8D73443D49 for ; Wed, 23 Feb 2005 21:38:45 +0000 (GMT) (envelope-from sam@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 j1NLcjxp093063 for ; Wed, 23 Feb 2005 21:38:45 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1NLcjLd093060 for perforce@freebsd.org; Wed, 23 Feb 2005 21:38:45 GMT (envelope-from sam@freebsd.org) Date: Wed, 23 Feb 2005 21:38:45 GMT Message-Id: <200502232138.j1NLcjLd093060@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 71688 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: Wed, 23 Feb 2005 21:38:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=71688 Change 71688 by sam@sam_ebb on 2005/02/23 21:37:54 IFC Affected files ... .. //depot/projects/wifi/sys/dev/cardbus/cardbus_cis.c#5 integrate Differences ... ==== //depot/projects/wifi/sys/dev/cardbus/cardbus_cis.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cardbus/cardbus_cis.c,v 1.49 2005/02/06 21:03:13 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cardbus/cardbus_cis.c,v 1.50 2005/02/20 20:36:16 imp Exp $"); /* * CIS Handling for the Cardbus Bus @@ -402,9 +402,8 @@ int len, uint8_t *tupledata, uint32_t start, uint32_t *off, struct tuple_callbacks *info) { - if (cardbus_cis_debug) { + if (cardbus_cis_debug) printf("CIS reading done\n"); - } return (0); } @@ -659,12 +658,16 @@ bzero(tupledata, MAXTUPLESIZE); expect_linktarget = TRUE; - if ((start = pci_read_config(child, CARDBUS_CIS_REG, 4)) == 0) + if ((start = pci_read_config(child, CARDBUS_CIS_REG, 4)) == 0) { + device_printf(cbdev, "CIS pointer is 0!\n"); return (ENXIO); + } off = 0; res = cardbus_read_tuple_init(cbdev, child, &start, &rid); - if (res == NULL) + if (res == NULL) { + device_printf(cbdev, "Unable to allocate resources for CIS\n"); return (ENXIO); + } do { if (0 != cardbus_read_tuple(cbdev, child, res, start, &off, @@ -683,6 +686,8 @@ expect_linktarget = decode_tuple(cbdev, child, tupleid, len, tupledata, start, &off, callbacks); if (expect_linktarget != 0) { + device_printf(cbdev, "Parsing failed with %d\n", + expect_linktarget); cardbus_read_tuple_finish(cbdev, child, rid, res); return (expect_linktarget); } From owner-p4-projects@FreeBSD.ORG Wed Feb 23 21:56:11 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7CA3C16A4D1; Wed, 23 Feb 2005 21:56:11 +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 0EEEA16A4CE for ; Wed, 23 Feb 2005 21:56:11 +0000 (GMT) Received: from mail27.sea5.speakeasy.net (mail27.sea5.speakeasy.net [69.17.117.29]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8E41243D31 for ; Wed, 23 Feb 2005 21:56:10 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: (qmail 10076 invoked from network); 23 Feb 2005 21:56:10 -0000 Received: from server.baldwin.cx ([216.27.160.63]) (envelope-sender )AES256-SHA encrypted SMTP for ; 23 Feb 2005 21:56:09 -0000 Received: from [10.50.40.202] (gw1.twc.weather.com [216.133.140.1]) (authenticated bits=0) by server.baldwin.cx (8.13.1/8.13.1) with ESMTP id j1NLu3Lm025532; Wed, 23 Feb 2005 16:56:04 -0500 (EST) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: Robert Watson Date: Wed, 23 Feb 2005 16:49:10 -0500 User-Agent: KMail/1.6.2 References: <200502231910.j1NJAfu3078510@repoman.freebsd.org> In-Reply-To: <200502231910.j1NJAfu3078510@repoman.freebsd.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200502231649.10125.jhb@FreeBSD.org> X-Spam-Status: No, score=-102.8 required=4.2 tests=ALL_TRUSTED, USER_IN_WHITELIST autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on server.baldwin.cx cc: Perforce Change Reviews Subject: Re: PERFORCE change 71680 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: Wed, 23 Feb 2005 21:56:12 -0000 On Wednesday 23 February 2005 02:10 pm, Robert Watson wrote: > http://perforce.freebsd.org/chv.cgi?CH=71680 > > Change 71680 by rwatson@rwatson_paprika on 2005/02/23 19:10:39 > > Re-lay out mac_bsdextended sysctl to copyin, lock+dowork+unlock, > copyout. > > Suggested by: jhb > > Affected files ... > > .. > //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextende >d.c#87 edit > > Differences ... > > ==== > //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextende >d.c#87 (text+ko) ==== > > @@ -152,69 +152,68 @@ > if (index > MAC_BSDEXTENDED_MAXRULES) > return (ENOENT); > > + ruleptr = NULL; > + if (req->newptr) { > + error = SYSCTL_IN(req, &temprule, sizeof(temprule)); > + if (error) > + return (error); > + MALLOC(ruleptr, struct mac_bsdextended_rule *, > + sizeof(*ruleptr), M_MACBSDEXTENDED, M_WAITOK | M_ZERO); > + } > + > + mtx_lock(&mac_bsdextended_mtx); > + > if (req->oldptr) { > - mtx_lock(&mac_bsdextended_mtx); > if (index < 0 || index > rule_slots + 1) { > - mtx_unlock(&mac_bsdextended_mtx); > - return (ENOENT); > + error = ENOENT; > + goto out; > } > - > if (rules[index] == NULL) { > - mtx_unlock(&mac_bsdextended_mtx); > - return (ENOENT); > + error = ENOENT; > + goto out; > } > - > temprule = *rules[index]; > - mtx_unlock(&mac_bsdextended_mtx); > - > - error = SYSCTL_OUT(req, &temprule, sizeof(temprule)); > - > - if (error) > - return (error); > } > > - if (req->newptr) { > - if (req->newlen == 0) { > - /* printf("deletion\n"); */ > - mtx_lock(&mac_bsdextended_mtx); > - ruleptr = rules[index]; > - if (ruleptr == NULL) { > - mtx_unlock(&mac_bsdextended_mtx); > - return (ENOENT); > - } > - rule_count--; > - rules[index] = NULL; > - mtx_unlock(&mac_bsdextended_mtx); > - FREE(ruleptr, M_MACBSDEXTENDED); > - return(0); > + if (req->newptr && req->newlen == 0) { > + /* printf("deletion\n"); */ > + FREE(ruleptr, M_MACBSDEXTENDED); > + ruleptr = rules[index]; > + if (ruleptr == NULL) { > + error = ENOENT; > + goto out; > } > - error = SYSCTL_IN(req, &temprule, sizeof(temprule)); > - if (error) > - return (error); > - > + rule_count--; > + rules[index] = NULL; > + } else if (req->newptr) { > error = mac_bsdextended_rule_valid(&temprule); > if (error) > - return (error); > + goto out; > > - MALLOC(ruleptr, struct mac_bsdextended_rule *, > - sizeof(*ruleptr), M_MACBSDEXTENDED, M_WAITOK | M_ZERO); > - mtx_lock(&mac_bsdextended_mtx); > if (rules[index] == NULL) { > /* printf("addition\n"); */ > *ruleptr = temprule; > rules[index] = ruleptr; > + ruleptr = NULL; > if (index + 1 > rule_slots) > rule_slots = index + 1; > rule_count++; > - mtx_unlock(&mac_bsdextended_mtx); > } else { > /* printf("replacement\n"); */ > *rules[index] = temprule; > - mtx_unlock(&mac_bsdextended_mtx); > - FREE(ruleptr, M_MACBSDEXTENDED); > } > } > > +out: > + mtx_unlock(&mac_bsdextended_mtx); > + if (ruleptr != NULL) > + FREE(ruleptr, M_MACBSDEXTENDED); > + if (req->oldptr && error == 0) { > + error = SYSCTL_OUT(req, &temprule, sizeof(temprule)); > + if (error) > + return (error); > + } > + > return (0); > } You can simplify this last bit by making the function 'return (error);' and dropping the whole 'if (error) return (error);' after the SYSCTL_OUT(). :) Purely optional of course. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-p4-projects@FreeBSD.ORG Thu Feb 24 15:05:26 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B3F6D16A4D0; Thu, 24 Feb 2005 15:05:25 +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 717EC16A4CE for ; Thu, 24 Feb 2005 15:05:25 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 59D3E43D5D for ; Thu, 24 Feb 2005 15:05:25 +0000 (GMT) (envelope-from jmg@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 j1OF5PRU062430 for ; Thu, 24 Feb 2005 15:05:25 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1OF5PID062427 for perforce@freebsd.org; Thu, 24 Feb 2005 15:05:25 GMT (envelope-from jmg@freebsd.org) Date: Thu, 24 Feb 2005 15:05:25 GMT Message-Id: <200502241505.j1OF5PID062427@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71734 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: Thu, 24 Feb 2005 15:05:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=71734 Change 71734 by jmg@jmg_carbon on 2005/02/24 15:04:32 fix comment to match what it really does, and easier to understand.. Affected files ... .. //depot/projects/arm/src/sys/arm/arm/pmap.c#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/pmap.c#3 (text+ko) ==== @@ -2391,7 +2391,7 @@ virtual_avail = firstaddr; kernel_pmap = &kernel_pmap_store; kernel_pmap->pm_l1 = l1; -/* + /* * Scan the L1 translation table created by initarm() and create * the required metadata for all valid mappings found in it. */ @@ -4382,7 +4382,7 @@ /* * pmap_link_l2pt: * - * Link the L2 page table specified by "pa" into the L1 + * Link the L2 page table specified by l2pv.pv_pa into the L1 * page table at the slot for "va". */ void From owner-p4-projects@FreeBSD.ORG Thu Feb 24 15:09:31 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5CEBE16A4D0; Thu, 24 Feb 2005 15:09:31 +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 22D3616A4CE for ; Thu, 24 Feb 2005 15:09:31 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D0FF143D46 for ; Thu, 24 Feb 2005 15:09:30 +0000 (GMT) (envelope-from jmg@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 j1OF9UWf062550 for ; Thu, 24 Feb 2005 15:09:30 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1OF9UcZ062547 for perforce@freebsd.org; Thu, 24 Feb 2005 15:09:30 GMT (envelope-from jmg@freebsd.org) Date: Thu, 24 Feb 2005 15:09:30 GMT Message-Id: <200502241509.j1OF9UcZ062547@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71735 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: Thu, 24 Feb 2005 15:09:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=71735 Change 71735 by jmg@jmg_carbon on 2005/02/24 15:08:45 clean this code up some... add comments that took me a while to figure out so the next person won't take as long... remove unused variables... properly do math for allocating the l2 page tables from a page... make sure we have l2 mappings after the kernel instead of overwriting them with the kernel, causing problems if you loaded a large enough kernel... add more mappings to phys_avail, we can still get a few more out of the stack mappings we move to after kernel, add comment reminding someome to do that.. Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/ts7200_machdep.c#5 edit Differences ... ==== //depot/projects/arm/src/sys/arm/ep93xx/ts7200_machdep.c#5 (text+ko) ==== @@ -98,15 +98,16 @@ #include #include +/* + * _NUM is count, non _NUM is possition in kernel_pt_table + */ #define KERNEL_PT_SYS 0 /* L2 table for mapping vectors page */ -#define KERNEL_PT_KERNEL 1 /* L2 table for mapping kernel */ -#define KERNEL_PT_KERNEL_NUM 4 - /* L2 tables for mapping kernel VM */ -#define KERNEL_PT_VMDATA (KERNEL_PT_KERNEL + KERNEL_PT_KERNEL_NUM) +#define KERNEL_PT_AFKERNEL 1 /* L2 table for mapping after kernel */ +#define KERNEL_PT_AFKERNEL_NUM 3 -#define KERNEL_PT_VMDATA_NUM 4 /* start with 16MB of KVM */ -#define NUM_KERNEL_PTS (KERNEL_PT_VMDATA + KERNEL_PT_VMDATA_NUM) +/* this should be evenly divisable by PAGE_SIZE / L2_TABLE_SIZE_REAL (or 4) */ +#define NUM_KERNEL_PTS (KERNEL_PT_AFKERNEL + KERNEL_PT_AFKERNEL_NUM) /* Define various stack sizes in pages */ #define IRQ_STACK_SIZE 1 @@ -134,7 +135,7 @@ /* Physical and virtual addresses for some global pages */ -vm_paddr_t phys_avail[10]; +vm_paddr_t phys_avail[14]; vm_paddr_t physical_start; vm_paddr_t physical_end; vm_offset_t physical_pages; @@ -208,7 +209,7 @@ { struct pv_addr kernel_l1pt; int loop; - u_int kerneldatasize, symbolsize; + u_int kerneldatasize; u_int l1pagetable; vm_offset_t freemempos; vm_offset_t freemem_pt; @@ -249,8 +250,7 @@ physical_end = (vm_offset_t) &end + SDRAM_START - 0xc0000000; #define KERNEL_TEXT_BASE (KERNBASE + 0x00200000) kerneldatasize = (u_int32_t)&end - (u_int32_t)KERNEL_TEXT_BASE; - symbolsize = 0; - freemempos = 0x00200000; + freemempos = 0x00200000; /* freemempos will grow down from here */ /* Define a macro to simplify memory allocation */ #define valloc_pages(var, np) \ alloc_pages((var).pv_pa, (np)); \ @@ -265,23 +265,29 @@ while (((freemempos - L1_TABLE_SIZE) & (L1_TABLE_SIZE - 1)) != 0) freemempos -= PAGE_SIZE; valloc_pages(kernel_l1pt, L1_TABLE_SIZE / PAGE_SIZE); + +#define NUM_L2_PER_PAGE (PAGE_SIZE / L2_TABLE_SIZE_REAL) + /* setup the kernel l2 page tables */ for (loop = 0; loop < NUM_KERNEL_PTS; ++loop) { - if (!(loop % (PAGE_SIZE / L2_TABLE_SIZE_REAL))) { - valloc_pages(kernel_pt_table[loop], - L2_TABLE_SIZE / PAGE_SIZE); + if (!(loop % NUM_L2_PER_PAGE)) { + /* next page to split up */ + valloc_pages(kernel_pt_table[loop], 1); } else { - kernel_pt_table[loop].pv_pa = freemempos - - (loop % (PAGE_SIZE / L2_TABLE_SIZE_REAL)) * + /* split up last allocated page */ + kernel_pt_table[loop].pv_pa = kernel_pt_table[(loop / + NUM_L2_PER_PAGE) * NUM_L2_PER_PAGE].pv_pa + + (loop % NUM_L2_PER_PAGE) * L2_TABLE_SIZE_REAL; kernel_pt_table[loop].pv_va = kernel_pt_table[loop].pv_pa + 0xc0000000; } i++; } - freemempos -= 2 * PAGE_SIZE; + /* we'll add this space 0x100000 -> freemem_pt as available later */ freemem_pt = freemempos; freemempos = 0x00100000; + /* * Allocate a page for the system page mapped to V0x00000000 * This page will just contain the system vectors and can be @@ -298,13 +304,6 @@ valloc_pages(msgbufpv, round_page(MSGBUF_SIZE) / PAGE_SIZE); /* - * Allocate memory for the l1 and l2 page tables. The scheme to avoid - * wasting memory by allocating the l1pt on the first 16k memory was - * taken from NetBSD rpc_machdep.c. NKPT should be greater than 12 for - * this to work (which is supposed to be the case). - */ - - /* * Now we start construction of the L1 page table * We start by mapping the L2 page tables into the L1. * This means that we can replace L1 mappings later on if necessary @@ -314,31 +313,35 @@ /* Map the L2 pages tables in the L1 page table */ pmap_link_l2pt(l1pagetable, ARM_VECTORS_HIGH & ~(0x00100000 - 1), &kernel_pt_table[KERNEL_PT_SYS]); - for (i = 0; i < KERNEL_PT_KERNEL_NUM; i++) { - pmap_link_l2pt(l1pagetable, KERNBASE + i * 0x00100000, - &kernel_pt_table[KERNEL_PT_KERNEL + i]); - } - for (loop = 0; loop < KERNEL_PT_VMDATA_NUM; ++loop) - pmap_link_l2pt(l1pagetable, KERNBASE + (i + loop) * 0x00100000, - &kernel_pt_table[KERNEL_PT_VMDATA + loop]); - pmap_map_chunk(l1pagetable, KERNBASE, SDRAM_START, - freemempos - 0x00000000 + 0x1000, + /* map kernel stacks */ + pmap_map_chunk(l1pagetable, KERNBASE, SDRAM_START, 0x100000, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + /* map the l1 page table, and the l2's so far */ pmap_map_chunk(l1pagetable, KERNBASE + 0x100000, SDRAM_START + 0x100000, 0x100000, VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); /* map the kernel into the page table */ pmap_map_chunk(l1pagetable, KERNBASE + 0x200000, SDRAM_START + 0x200000, (((uint32_t)(&end) - KERNBASE - 0x200000) + L1_S_SIZE) & ~(L1_S_SIZE - 1), VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - freemem_after = ((int)&end + PAGE_SIZE) & ~(PAGE_SIZE - 1); + freemem_after = round_page((int)&end + 1); afterkern = round_page(((vm_offset_t)&end + L1_S_SIZE) & ~(L1_S_SIZE - 1)); + for (i = 0; i < KERNEL_PT_AFKERNEL_NUM; i++) { + pmap_link_l2pt(l1pagetable, afterkern + i * 0x00100000, + &kernel_pt_table[KERNEL_PT_AFKERNEL + i]); + } + /* Map the stack pages */ #define alloc_afterkern(va, pa, size) \ va = freemem_after; \ pa = freemem_after - 0xc0000000;\ freemem_after += size; + + /* + * XXX - if we can fit it after the kernel, we end up dropping the + * old mappings on the floor, pick them up, k? + */ if (freemem_after + KSTACK_PAGES * PAGE_SIZE < afterkern) { alloc_afterkern(kernelstack.pv_va, kernelstack.pv_pa, KSTACK_PAGES * PAGE_SIZE); @@ -448,8 +451,7 @@ pmap_curmaxkvaddr = afterkern; - pmap_bootstrap(pmap_curmaxkvaddr, - 0xd0000000, &kernel_l1pt); + pmap_bootstrap(pmap_curmaxkvaddr, 0xd0000000, &kernel_l1pt); msgbufp = (void*)msgbufpv.pv_va; msgbufinit(msgbufp, MSGBUF_SIZE); mutex_init(); @@ -457,16 +459,18 @@ freemempos &= ~(PAGE_SIZE - 1); phys_avail[0] = SDRAM_START; phys_avail[1] = freemempos; - phys_avail[0] = round_page(virtual_avail - KERNBASE + SDRAM_START); - phys_avail[1] = trunc_page(0x00800000 - 1); - phys_avail[2] = 0x01000000; - phys_avail[3] = trunc_page(0x01800000 - 1); - phys_avail[4] = 0x04000000; - phys_avail[5] = trunc_page(0x04800000 - 1); - phys_avail[6] = 0x05000000; - phys_avail[7] = trunc_page(0x05800000 - 1); - phys_avail[8] = 0; - phys_avail[9] = 0; + phys_avail[2] = 0x0100000; + phys_avail[3] = freemem_pt; + phys_avail[4] = round_page(virtual_avail - KERNBASE + SDRAM_START); + phys_avail[5] = trunc_page(0x00800000 - 1); + phys_avail[6] = 0x01000000; + phys_avail[7] = trunc_page(0x01800000 - 1); + phys_avail[8] = 0x04000000; + phys_avail[9] = trunc_page(0x04800000 - 1); + phys_avail[10] = 0x05000000; + phys_avail[11] = trunc_page(0x05800000 - 1); + phys_avail[12] = 0; + phys_avail[13] = 0; /* Do basic tuning, hz etc */ init_param1(); From owner-p4-projects@FreeBSD.ORG Thu Feb 24 16:02:35 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5EF1516A4D0; Thu, 24 Feb 2005 16:02:35 +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 1C32A16A4CE for ; Thu, 24 Feb 2005 16:02:35 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E5EBD43D46 for ; Thu, 24 Feb 2005 16:02:34 +0000 (GMT) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j1OG2Yur064629 for ; Thu, 24 Feb 2005 16:02:34 GMT (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1OG2Y94064626 for perforce@freebsd.org; Thu, 24 Feb 2005 16:02:34 GMT (envelope-from areisse@nailabs.com) Date: Thu, 24 Feb 2005 16:02:34 GMT Message-Id: <200502241602.j1OG2Y94064626@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 71736 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: Thu, 24 Feb 2005 16:02:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=71736 Change 71736 by areisse@areisse_tislabs on 2005/02/24 16:01:40 Don't overwrite a pointer to a newly allocated label with a null. Affected files ... .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_sysv_msg.c#5 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_sysv_msg.c#5 (text+ko) ==== @@ -101,7 +101,6 @@ { msqkptr->label = mac_sysv_msgqueue_label_alloc(); - msqkptr->label = NULL; } static void From owner-p4-projects@FreeBSD.ORG Thu Feb 24 17:57:58 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E93D016A4D0; Thu, 24 Feb 2005 17:57:57 +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 A703F16A4CE for ; Thu, 24 Feb 2005 17:57:57 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 873B143D1F for ; Thu, 24 Feb 2005 17:57:57 +0000 (GMT) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j1OHvv56076116 for ; Thu, 24 Feb 2005 17:57:57 GMT (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1OHvvCA076113 for perforce@freebsd.org; Thu, 24 Feb 2005 17:57:57 GMT (envelope-from areisse@nailabs.com) Date: Thu, 24 Feb 2005 17:57:57 GMT Message-Id: <200502241757.j1OHvvCA076113@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 71744 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: Thu, 24 Feb 2005 17:57:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=71744 Change 71744 by areisse@areisse_tislabs on 2005/02/24 17:56:59 Start of a policy for building ports. A separate copy of make is labelled with portmake_exec_t, so that a special domain can be entered from sysadm_t. Installation from this domain is not yet supported. Affected files ... .. //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/domains/program/portmake.te#1 add .. //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/file_contexts/types.fc#6 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/file_contexts/types.fc#6 (text+ko) ==== @@ -146,6 +146,7 @@ /etc/passwd\.lock -- system_u:object_r:shadow_t /etc/group\.lock -- system_u:object_r:shadow_t /etc/shadow.* -- system_u:object_r:shadow_t +#/etc/spwd.db -- system_u:object_r:shadow_t /etc/gshadow.* -- system_u:object_r:shadow_t /etc/blkid\.tab -- system_u:object_r:etc_runtime_t /etc/fstab\.REVOKE -- system_u:object_r:etc_runtime_t @@ -296,6 +297,11 @@ /usr/kerberos/lib(64)?/lib[^/]*\.so(\.[^/]*)* -- system_u:object_r:shlib_t # +# /usr/ports +# +/usr/ports/distfiles(/.*)? system_u:object_t:port_work_t + +# # Fonts dir # /usr/X11R6/lib/X11/fonts(/.*)? system_u:object_r:fonts_t From owner-p4-projects@FreeBSD.ORG Thu Feb 24 22:29:24 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C5FF316A4D0; Thu, 24 Feb 2005 22:29:23 +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 8298D16A4CE for ; Thu, 24 Feb 2005 22:29:23 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6A0B643D46 for ; Thu, 24 Feb 2005 22:29:23 +0000 (GMT) (envelope-from kelly@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 j1OMTNM6097351 for ; Thu, 24 Feb 2005 22:29:23 GMT (envelope-from kelly@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1OMTNMT097348 for perforce@freebsd.org; Thu, 24 Feb 2005 22:29:23 GMT (envelope-from kelly@FreeBSD.org) Date: Thu, 24 Feb 2005 22:29:23 GMT Message-Id: <200502242229.j1OMTNMT097348@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kelly@FreeBSD.org using -f From: Kelly Djahandari To: Perforce Change Reviews Subject: PERFORCE change 71763 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: Thu, 24 Feb 2005 22:29:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=71763 Change 71763 by kelly@kelly_riveroaks2.earthlink.net on 2005/02/24 22:28:32 Changed 'newsyslog XXX' to '/usr/sbin/newsyslog' to label newsyslog correctly when running sebsd_setfiles. Affected files ... .. //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/file_contexts/program/syslogd.fc#6 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/file_contexts/program/syslogd.fc#6 (text+ko) ==== @@ -6,4 +6,4 @@ /dev/log -s system_u:object_r:devlog_t /var/run/log -s system_u:object_r:devlog_t /var/run/syslogd\.pid -- system_u:object_r:syslogd_var_run_t -newsyslog XXX -- system_u:object_r:syslogd_exec_t+/usr/sbin/newsyslog -- system_u:object_r:syslogd_exec_t From owner-p4-projects@FreeBSD.ORG Thu Feb 24 22:37:36 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 87E0816A4D0; Thu, 24 Feb 2005 22:37:35 +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 31B5516A4CE for ; Thu, 24 Feb 2005 22:37:35 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 17D2343D48 for ; Thu, 24 Feb 2005 22:37:35 +0000 (GMT) (envelope-from kelly@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 j1OMbYOi098021 for ; Thu, 24 Feb 2005 22:37:34 GMT (envelope-from kelly@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1OMbYYC098016 for perforce@freebsd.org; Thu, 24 Feb 2005 22:37:34 GMT (envelope-from kelly@FreeBSD.org) Date: Thu, 24 Feb 2005 22:37:34 GMT Message-Id: <200502242237.j1OMbYYC098016@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kelly@FreeBSD.org using -f From: Kelly Djahandari To: Perforce Change Reviews Subject: PERFORCE change 71766 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: Thu, 24 Feb 2005 22:37:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=71766 Change 71766 by kelly@kelly_riveroaks2.earthlink.net on 2005/02/24 22:36:37 Added labels for additional syslog files. Affected files ... .. //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/file_contexts/program/syslogd.fc#7 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/file_contexts/program/syslogd.fc#7 (text+ko) ==== @@ -6,4 +6,6 @@ /dev/log -s system_u:object_r:devlog_t /var/run/log -s system_u:object_r:devlog_t /var/run/syslogd\.pid -- system_u:object_r:syslogd_var_run_t +/var/run/syslog\.pid -- system_u:object_r:syslogd_var_run_t +/var/run/syslogd\.sockets-- system_u:object_r:syslogd_var_run_t /usr/sbin/newsyslog -- system_u:object_r:syslogd_exec_t From owner-p4-projects@FreeBSD.ORG Thu Feb 24 22:46:48 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 690D616A4D0; Thu, 24 Feb 2005 22:46:48 +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 1425316A4CE for ; Thu, 24 Feb 2005 22:46:48 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E914743D3F for ; Thu, 24 Feb 2005 22:46:47 +0000 (GMT) (envelope-from kelly@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 j1OMklxb098427 for ; Thu, 24 Feb 2005 22:46:47 GMT (envelope-from kelly@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1OMklWN098424 for perforce@freebsd.org; Thu, 24 Feb 2005 22:46:47 GMT (envelope-from kelly@FreeBSD.org) Date: Thu, 24 Feb 2005 22:46:47 GMT Message-Id: <200502242246.j1OMklWN098424@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kelly@FreeBSD.org using -f From: Kelly Djahandari To: Perforce Change Reviews Subject: PERFORCE change 71768 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: Thu, 24 Feb 2005 22:46:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=71768 Change 71768 by kelly@kelly_riveroaks2.earthlink.net on 2005/02/24 22:46:36 Modified .pid file regex specification. Affected files ... .. //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/file_contexts/runtime.fc#2 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/file_contexts/runtime.fc#2 (text+ko) ==== @@ -3,8 +3,8 @@ # /var/run /var/run/ld.*\.so\.hints system_u:object_r:ld_so_cache_t -/var/run/sendmail.pid system_u:object_r:sendmail_var_run_t -/var/run/syslog.pid system_u:object_r:syslogd_var_run_t -/var/run/cron.pid system_u:object_r:crond_var_run_t -/var/run/sshd.pid system_u:object_r:sshd_var_run_t -/var/run/httpd.pid system_u:object_r:httpd_var_run_t +/var/run/sendmail\.pid system_u:object_r:sendmail_var_run_t +/var/run/syslog\.pid system_u:object_r:syslogd_var_run_t +/var/run/cron\.pid system_u:object_r:crond_var_run_t +/var/run/sshd\.pid system_u:object_r:sshd_var_run_t +/var/run/httpd\.pid system_u:object_r:httpd_var_run_t From owner-p4-projects@FreeBSD.ORG Thu Feb 24 23:09:17 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AA2C516A57A; Thu, 24 Feb 2005 23:09:16 +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 6C44D16A4EB for ; Thu, 24 Feb 2005 23:09:16 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 53CF543D3F for ; Thu, 24 Feb 2005 23:09:16 +0000 (GMT) (envelope-from kelly@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 j1ON9Gvw099468 for ; Thu, 24 Feb 2005 23:09:16 GMT (envelope-from kelly@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1ON9Gl2099465 for perforce@freebsd.org; Thu, 24 Feb 2005 23:09:16 GMT (envelope-from kelly@FreeBSD.org) Date: Thu, 24 Feb 2005 23:09:16 GMT Message-Id: <200502242309.j1ON9Gl2099465@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kelly@FreeBSD.org using -f From: Kelly Djahandari To: Perforce Change Reviews Subject: PERFORCE change 71771 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: Thu, 24 Feb 2005 23:09:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=71771 Change 71771 by kelly@kelly_riveroaks2.earthlink.net on 2005/02/24 23:08:50 Modified to get the list of multilabel file systems for sebsd_setfiles. Otherwise, file systems are null and sebsd_setfiles returns 'invalid argument'. Affected files ... .. //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/Makefile#16 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/Makefile#16 (text+ko) ==== @@ -48,8 +48,8 @@ INSTALLCMD = install -c -o root -g wheel -m 400 APPCONFDIR = $(DESTDIR)/etc/security -MULTILABELMOUNTS != /sbin/mount -t ufs -p | \ - /usr/bin/awk '{if (match($$4, "multilabel")) {print $$2}}' +MULTILABELMOUNTS = $(shell /sbin/mount -t ufs -p | \ + /usr/bin/awk '{if (match($$4, "multilabel")) {print $$2}}') UNUSED_TE_FILES := $(wildcard domains/program/unused/*.te) From owner-p4-projects@FreeBSD.ORG Fri Feb 25 07:13:18 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0017B16A4D0; Fri, 25 Feb 2005 07:13:17 +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 CD2F716A4CE for ; Fri, 25 Feb 2005 07:13:17 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B8AB743D1D for ; Fri, 25 Feb 2005 07:13:17 +0000 (GMT) (envelope-from jmg@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 j1P7DH1a037107 for ; Fri, 25 Feb 2005 07:13:17 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1P7DHj6037104 for perforce@freebsd.org; Fri, 25 Feb 2005 07:13:17 GMT (envelope-from jmg@freebsd.org) Date: Fri, 25 Feb 2005 07:13:17 GMT Message-Id: <200502250713.j1P7DHj6037104@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71794 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, 25 Feb 2005 07:13:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=71794 Change 71794 by jmg@jmg_carbon on 2005/02/25 07:12:41 fix indentation... Affected files ... .. //depot/projects/arm/src/sys/arm/arm/undefined.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/arm/undefined.c#2 (text+ko) ==== @@ -262,11 +262,11 @@ if ((fault_code & FAULT_USER) == 0) { if (fault_instruction == KERNEL_BREAKPOINT) { #ifdef KDB - kdb_trap(T_BREAKPOINT, 0, frame); + kdb_trap(T_BREAKPOINT, 0, frame); #else - printf("No debugger in kernel.\n"); + printf("No debugger in kernel.\n"); #endif - return; + return; } else panic("Undefined instruction in kernel.\n"); } From owner-p4-projects@FreeBSD.ORG Fri Feb 25 07:14:20 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D330916A4D0; Fri, 25 Feb 2005 07:14:19 +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 ADBD416A4CF for ; Fri, 25 Feb 2005 07:14:19 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 82BAA43D1F for ; Fri, 25 Feb 2005 07:14:19 +0000 (GMT) (envelope-from jmg@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 j1P7EJ3a037134 for ; Fri, 25 Feb 2005 07:14:19 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1P7EJi5037131 for perforce@freebsd.org; Fri, 25 Feb 2005 07:14:19 GMT (envelope-from jmg@freebsd.org) Date: Fri, 25 Feb 2005 07:14:19 GMT Message-Id: <200502250714.j1P7EJi5037131@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71795 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, 25 Feb 2005 07:14:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=71795 Change 71795 by jmg@jmg_carbon on 2005/02/25 07:14:12 fix value of bit... Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/ep93xxreg.h#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/ep93xx/ep93xxreg.h#2 (text+ko) ==== @@ -190,7 +190,7 @@ #define EP93XX_UART_RTIE 0x00000040UL #define EP93XX_UART_TIE 0x00000020UL #define EP93XX_UART_RIE 0x00000010UL -#define EP93XX_UART_MSIE 0x00000004UL +#define EP93XX_UART_MSIE 0x00000008UL #define EP93XX_UART_UARTE 0x00000001UL #define EP93XX_UART_Flag 0x00000018UL #define EP93XX_UART_F_TXFE 0x00000080UL From owner-p4-projects@FreeBSD.ORG Fri Feb 25 07:23:18 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8C12B16A4D0; Fri, 25 Feb 2005 07:23:18 +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 4513716A4CE for ; Fri, 25 Feb 2005 07:23:18 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D917843D3F for ; Fri, 25 Feb 2005 07:23:17 +0000 (GMT) (envelope-from jmg@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 j1P7NH3M037634 for ; Fri, 25 Feb 2005 07:23:17 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1P7NH5j037630 for perforce@freebsd.org; Fri, 25 Feb 2005 07:23:17 GMT (envelope-from jmg@freebsd.org) Date: Fri, 25 Feb 2005 07:23:17 GMT Message-Id: <200502250723.j1P7NH5j037630@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71797 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, 25 Feb 2005 07:23:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=71797 Change 71797 by jmg@jmg_carbon on 2005/02/25 07:22:17 fix up comments... store the interrupt mask since I need to disable interrupts (? should I really need to?) and restore, to prevent a storm... add a bit of debugging... add in some bits so that we don't wait till the RX fifo is full, but we do trigger on timeout.. Affected files ... .. //depot/projects/arm/src/sys/dev/uart/uart_dev_epuart.c#4 edit Differences ... ==== //depot/projects/arm/src/sys/dev/uart/uart_dev_epuart.c#4 (text+ko) ==== @@ -43,8 +43,7 @@ #include "uart_if.h" /* - * Clear pending interrupts. THRE is cleared by reading IIR. Data - * that may have been received gets lost here. + * Clear pending interrupts. */ static void epuart_clrint(struct uart_bas *bas) @@ -106,8 +105,8 @@ * limit high enough to handle large FIFOs. */ limit = 10*1024; - while (uart_getreg(bas, EP93XX_UART_Flag) & - EP93XX_UART_F_BUSY && --limit) + while ((uart_getreg(bas, EP93XX_UART_Flag) & EP93XX_UART_F_BUSY) + && --limit) DELAY(delay); if (limit == 0) { /* printf("epuart: transmitter appears stuck... "); */ @@ -261,6 +260,9 @@ uart_barrier(bas); } +/* + * Handle RxSts in _poll and _getc? + */ static int epuart_poll(struct uart_bas *bas) { @@ -288,6 +290,7 @@ */ struct epuart_softc { struct uart_softc base; + u_int32_t ctrl; }; static int epuart_bus_attach(struct uart_softc *); @@ -335,10 +338,11 @@ static int epuart_bus_attach(struct uart_softc *sc) { + struct epuart_softc *epsc; struct uart_bas *bas; int mdmctrl; - int ctrl; + epsc = (struct epuart_softc *)sc; bas = &sc->sc_bas; epuart_bus_flush(sc, UART_FLUSH_RECEIVER|UART_FLUSH_TRANSMITTER); @@ -354,19 +358,28 @@ } epuart_clrint(bas); - ctrl = EP93XX_UART_MSIE | EP93XX_UART_RIE | EP93XX_UART_UARTE; - uart_setreg(bas, EP93XX_UART_Ctrl, ctrl); + + epsc->ctrl = EP93XX_UART_MSIE | EP93XX_UART_RTIE | + EP93XX_UART_RIE | EP93XX_UART_UARTE; + uart_setreg(bas, EP93XX_UART_Ctrl, epsc->ctrl); uart_barrier(bas); + return (0); } static int epuart_bus_detach(struct uart_softc *sc) { + struct epuart_softc *epsc; struct uart_bas *bas; + epsc = (struct epuart_softc *)sc; bas = &sc->sc_bas; epuart_clrint(bas); + + /* disable UART and Ints */ + epsc->ctrl = 0; + uart_setreg(bas, EP93XX_UART_Ctrl, epsc->ctrl); uart_barrier(bas); return (0); } @@ -452,7 +465,8 @@ error = ENODEV; break; case UART_IOCTL_OFLOW: - /* XXX - hun? I can only read CTS */ + /* hun? I can only read CTS */ + error = EINVAL; break; case UART_IOCTL_BAUD: divisor = uart_getreg(bas, EP93XX_UART_LinCL); @@ -475,30 +489,45 @@ static int epuart_bus_ipend(struct uart_softc *sc) { + struct epuart_softc *epsc; struct uart_bas *bas; int ipend; uint8_t iidclr, rxsts; + epsc = (struct epuart_softc *)sc; bas = &sc->sc_bas; +#if 0 + iidclr = uart_getreg(bas, EP93XX_UART_IntIDCLR); + printf("%c%c", (int)('0' + iidclr), (int)('0' + + uart_getreg(bas, EP93XX_UART_RXSts))); mtx_lock_spin(&sc->sc_hwmtx); +#else + mtx_lock_spin(&sc->sc_hwmtx); iidclr = uart_getreg(bas, EP93XX_UART_IntIDCLR); - if (!(iidclr & (EP93XX_UART_TIS | EP93XX_UART_RIS | EP93XX_UART_MIS))) { +#endif + if (!(iidclr & (EP93XX_UART_TIS | EP93XX_UART_RIS | + EP93XX_UART_RTIS | EP93XX_UART_MIS))) { mtx_unlock_spin(&sc->sc_hwmtx); return (0); } ipend = 0; - if (iidclr & EP93XX_UART_RIS) { + if ((iidclr & EP93XX_UART_RIS) || (iidclr & EP93XX_UART_RTIS)) { rxsts = uart_getreg(bas, EP93XX_UART_RXSts); - uart_setreg(bas, EP93XX_UART_RXSts, 0); /* clear */ - if (rxsts & EP93XX_UART_OE) + if (rxsts & EP93XX_UART_OE) { ipend |= UART_IPEND_OVERRUN; + uart_setreg(bas, EP93XX_UART_RXSts, 0); /* clear */ + } if (rxsts & EP93XX_UART_BE) ipend |= UART_IPEND_BREAK; - if (iidclr & EP93XX_UART_RIS) - ipend |= UART_IPEND_RXREADY; + ipend |= UART_IPEND_RXREADY; + epsc->ctrl &= ~(EP93XX_UART_RIE | EP93XX_UART_RTIE); + uart_setreg(bas, EP93XX_UART_Ctrl, epsc->ctrl); } - if (iidclr & EP93XX_UART_TIS) + if (iidclr & EP93XX_UART_TIS) { ipend |= UART_IPEND_TXIDLE; + epsc->ctrl &= ~EP93XX_UART_TIE; + uart_setreg(bas, EP93XX_UART_Ctrl, epsc->ctrl); + } if (iidclr & EP93XX_UART_MIS) ipend |= UART_IPEND_SIGCHG; @@ -570,26 +599,30 @@ static int epuart_bus_receive(struct uart_softc *sc) { + struct epuart_softc *epsc; struct uart_bas *bas; int xc; uint8_t flag, rxsts; + epsc = (struct epuart_softc *)sc; bas = &sc->sc_bas; mtx_lock_spin(&sc->sc_hwmtx); - flag = uart_getreg(bas, EP93XX_UART_Flag); - while (!(flag & EP93XX_UART_F_RXFE)) { + while (!((flag = uart_getreg(bas, EP93XX_UART_Flag)) & + EP93XX_UART_F_RXFE)) { if (uart_rx_full(sc)) { sc->sc_rxbuf[sc->sc_rxput] = UART_STAT_OVERRUN; break; } xc = uart_getreg(bas, EP93XX_UART_Data); - rxsts = uart_getreg(bas, EP93XX_UART_Data); + printf("%c", (int)xc); + rxsts = uart_getreg(bas, EP93XX_UART_RXSts); + if (rxsts & EP93XX_UART_BE) + xc |= UART_STAT_BREAK; if (rxsts & EP93XX_UART_FE) xc |= UART_STAT_FRAMERR; if (rxsts & EP93XX_UART_PE) xc |= UART_STAT_PARERR; uart_rx_put(sc, xc); - flag = uart_getreg(bas, EP93XX_UART_Flag); } /* Discard everything left in the Rx FIFO. */ while (flag & EP93XX_UART_F_RXFE) { @@ -597,6 +630,9 @@ uart_barrier(bas); flag = uart_getreg(bas, EP93XX_UART_Flag); } + /* reenable RX interrupts */ + epsc->ctrl |= EP93XX_UART_RIE | EP93XX_UART_RTIE; + uart_setreg(bas, EP93XX_UART_Ctrl, epsc->ctrl); mtx_unlock_spin(&sc->sc_hwmtx); return (0); } @@ -636,17 +672,18 @@ static int epuart_bus_transmit(struct uart_softc *sc) { + struct epuart_softc *epsc; struct uart_bas *bas; int i; - int ctrl; + epsc = (struct epuart_softc *)sc; bas = &sc->sc_bas; mtx_lock_spin(&sc->sc_hwmtx); /* XXX - ugly, this sucks, but that's the way uart forces us to be */ while ((uart_getreg(bas, EP93XX_UART_Flag) & EP93XX_UART_F_TXFE) == 0) ; - ctrl = uart_getreg(bas, EP93XX_UART_Ctrl); - uart_setreg(bas, EP93XX_UART_Ctrl, ctrl | EP93XX_UART_TIE); + epsc->ctrl |= EP93XX_UART_TIE; + uart_setreg(bas, EP93XX_UART_Ctrl, epsc->ctrl); uart_barrier(bas); for (i = 0; i < sc->sc_txdatasz; i++) { uart_setreg(bas, EP93XX_UART_Data, sc->sc_txbuf[i]); From owner-p4-projects@FreeBSD.ORG Fri Feb 25 07:24:20 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D5EA016A4D0; Fri, 25 Feb 2005 07:24:19 +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 B021B16A4CE for ; Fri, 25 Feb 2005 07:24:19 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 989B243D39 for ; Fri, 25 Feb 2005 07:24:19 +0000 (GMT) (envelope-from jmg@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 j1P7OJqT037664 for ; Fri, 25 Feb 2005 07:24:19 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1P7OJaN037661 for perforce@freebsd.org; Fri, 25 Feb 2005 07:24:19 GMT (envelope-from jmg@freebsd.org) Date: Fri, 25 Feb 2005 07:24:19 GMT Message-Id: <200502250724.j1P7OJaN037661@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71798 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, 25 Feb 2005 07:24:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=71798 Change 71798 by jmg@jmg_carbon on 2005/02/25 07:24:13 first bit of letting you define a makeoptions MFS_IMAGE that will auto populate your kernel with said image.. it doesn't warn/fail if the mfs image is too large, but that is easy enough to fix.. Affected files ... .. //depot/projects/arm/src/sys/conf/kern.post.mk#2 edit Differences ... ==== //depot/projects/arm/src/sys/conf/kern.post.mk#2 (text+ko) ==== @@ -66,6 +66,9 @@ FULLKERNEL= ${KERNEL_KO}.debug ${KERNEL_KO}: ${FULLKERNEL} ${OBJCOPY} --strip-debug ${FULLKERNEL} ${KERNEL_KO} +.if defined(MFS_IMAGE) + dd if="${MFS_IMAGE}" ibs=8192 of="${KERNEL_KO}" obs=`strings -at d "${KERNEL_KO}" | grep "MFS Filesystem goes here" | awk '{print $$1}'` oseek=1 conv=notrunc +.endif install.debug reinstall.debug: gdbinit cd ${.CURDIR}; ${MAKE} -DINSTALL_DEBUG ${.TARGET:R} From owner-p4-projects@FreeBSD.ORG Fri Feb 25 13:19:36 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 111CA16A4D1; Fri, 25 Feb 2005 13:19:36 +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 BCA9E16A4CE for ; Fri, 25 Feb 2005 13:19:35 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 80B2D43D1F for ; Fri, 25 Feb 2005 13:19:35 +0000 (GMT) (envelope-from davidxu@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 j1PDJZUJ065578 for ; Fri, 25 Feb 2005 13:19:35 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1PDJZes065575 for perforce@freebsd.org; Fri, 25 Feb 2005 13:19:35 GMT (envelope-from davidxu@freebsd.org) Date: Fri, 25 Feb 2005 13:19:35 GMT Message-Id: <200502251319.j1PDJZes065575@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 71820 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, 25 Feb 2005 13:19:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=71820 Change 71820 by davidxu@davidxu_tiger on 2005/02/25 13:19:32 disable arm support. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread/arch/arm/Makefile.inc#2 delete .. //depot/projects/davidxu_thread/src/lib/libthread/arch/arm/arm/context.S#2 delete .. //depot/projects/davidxu_thread/src/lib/libthread/arch/arm/arm/pthread_md.c#2 delete .. //depot/projects/davidxu_thread/src/lib/libthread/arch/arm/include/atomic_ops.h#2 delete .. //depot/projects/davidxu_thread/src/lib/libthread/arch/arm/include/pthread_md.h#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Fri Feb 25 13:19:37 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 679E416A4DF; Fri, 25 Feb 2005 13:19:37 +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 6E18616A4D3 for ; Fri, 25 Feb 2005 13:19:36 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 301F843D58 for ; Fri, 25 Feb 2005 13:19:35 +0000 (GMT) (envelope-from davidxu@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 j1PDJZuB065572 for ; Fri, 25 Feb 2005 13:19:35 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1PDJYjW065569 for perforce@freebsd.org; Fri, 25 Feb 2005 13:19:34 GMT (envelope-from davidxu@freebsd.org) Date: Fri, 25 Feb 2005 13:19:34 GMT Message-Id: <200502251319.j1PDJYjW065569@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 71819 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, 25 Feb 2005 13:19:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=71819 Change 71819 by davidxu@davidxu_tiger on 2005/02/25 13:19:07 Sync with newest rtld tls code. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread/arch/alpha/include/pthread_md.h#5 edit .. //depot/projects/davidxu_thread/src/lib/libthread/arch/ia64/ia64/pthread_md.c#4 edit .. //depot/projects/davidxu_thread/src/lib/libthread/arch/ia64/include/pthread_md.h#6 edit .. //depot/projects/davidxu_thread/src/lib/libthread/arch/powerpc/include/pthread_md.h#3 edit .. //depot/projects/davidxu_thread/src/lib/libthread/arch/powerpc/powerpc/pthread_md.c#2 edit .. //depot/projects/davidxu_thread/src/lib/libthread/arch/sparc64/include/pthread_md.h#5 edit .. //depot/projects/davidxu_thread/src/lib/libthread/arch/sparc64/sparc64/pthread_md.c#4 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthread/arch/alpha/include/pthread_md.h#5 (text+ko) ==== @@ -32,32 +32,15 @@ #include #include -#define DTV_OFFSET offsetof(struct tcb, tcb_tp.tp_tdv) +#define DTV_OFFSET offsetof(struct tcb, tcb_dtv) -struct pthread; -struct tcb; -struct tdv; /* We don't know what this is yet? */ - -/* - * tp points to one of these. We define the static TLS as an array - * of long double to enforce 16-byte alignment of the TLS memory, - * struct alpha_tp, struct tcb and also struct kcb. Both static and - * dynamic allocation of any of these structures will result in a - * valid, well-aligned thread pointer. - */ -struct alpha_tp { - struct tdv *tp_tdv; /* dynamic TLS */ - uint64_t _reserved_; - long double tp_tls[0]; /* static TLS */ -}; - struct tcb { + void *tcb_dtv; struct pthread *tcb_thread; - struct alpha_tp tcb_tp; }; #define _tp __builtin_thread_pointer() -#define _tcb ((struct tcb*)((char*)(_tp) - offsetof(struct tcb, tcb_tp))) +#define _tcb ((struct tcb *)_tp) struct tcb *_tcb_ctor(struct pthread *, int); void _tcb_dtor(struct tcb *); @@ -66,7 +49,7 @@ static __inline void _tcb_set(struct tcb *tcb) { - __builtin_set_thread_pointer(&tcb->tcb_tp); + __builtin_set_thread_pointer(tcb); } static __inline struct tcb * ==== //depot/projects/davidxu_thread/src/lib/libthread/arch/ia64/ia64/pthread_md.c#4 (text+ko) ==== @@ -48,14 +48,14 @@ oldtls = NULL; #if 1 - if ((tcb = malloc(sizeof(struct tcb))) != NULL) { + if ((tcb = malloc(sizeof(struct tcb))) != NULL) { memset(tcb, 0, sizeof(struct tcb)); - tcb->tcb_thread = thread; + tcb->tcb_thread = thread; } #else tcb = _rtld_allocate_tls(oldtls, sizeof(struct tcb), 16); if (tcb) { - tcb->tcb_thread = thread; + tcb->tcb_thread = thread; } #endif return (tcb); ==== //depot/projects/davidxu_thread/src/lib/libthread/arch/ia64/include/pthread_md.h#6 (text+ko) ==== @@ -31,41 +31,28 @@ #include -#define DTV_OFFSET offsetof(struct tcb, tcb_tp.tp_tdv) - -struct pthread; -struct tcb; -struct tdv; /* We don't know what this is yet? */ +#define DTV_OFFSET offsetof(struct tcb, tcb_dtv) -/* - * tp points to one of these. We define the static TLS as an array - * of long double to enforce 16-byte alignment of the TLS memory, - * struct ia64_tp, struct tcb and also struct kcb. Both static and - * dynamic allocation of any of these structures will result in a - * valid, well-aligned thread pointer. - */ -struct ia64_tp { - struct tdv *tp_tdv; /* dynamic TLS */ - uint64_t _reserved_; - long double tp_tls[0]; /* static TLS */ -}; - struct tcb { + void *tcb_dtv; struct pthread *tcb_thread; - struct ia64_tp tcb_tp; }; -register struct ia64_tp *_tp __asm("%r13"); +register struct tcb *_tp __asm("%r13"); -#define _tcb ((struct tcb*)((char*)(_tp) - offsetof(struct tcb, tcb_tp))) +#define _tcb _tp +/* + * The tcb constructors. + */ struct tcb *_tcb_ctor(struct pthread *, int); void _tcb_dtor(struct tcb *); +/* Called from the KSE to set its private data. */ static __inline void _tcb_set(struct tcb *tcb) { - _tp = &tcb->tcb_tp; + _tp = tcb; } static __inline struct tcb * ==== //depot/projects/davidxu_thread/src/lib/libthread/arch/powerpc/include/pthread_md.h#3 (text+ko) ==== @@ -36,36 +36,22 @@ #include #include -#define DTV_OFFSET offsetof(struct tcb, tcb_tp.tp_tdv) - -struct pthread; -struct tcb; -struct tdv; +#define DTV_OFFSET offsetof(struct tcb, tcb_dtv) /* - * %r2 points to a struct kcb. + * %r2 points to end of struct tcb. Variant I tls, the + * tcb structure layout is fixed, totally 8 bytes on 32 bits + * machine, don't change it. */ -struct ppc32_tp { - struct tdv *tp_tdv; /* dynamic TLS */ - uint32_t _reserved_; - long double tp_tls[0]; /* static TLS */ -}; struct tcb { + void *tcb_dtv; struct pthread *tcb_thread; - struct ppc32_tp tcb_tp; }; -/* - * From the PowerPC32 TLS spec: - * - * "r2 is the thread pointer, and points 0x7000 past the end of the - * thread control block." Or, 0x7008 past the start of the 8-byte tcb - */ -#define TP_OFFSET 0x7008 -register uint8_t *_tpr __asm("%r2"); +register uint8_t *_tp __asm("%r2"); -#define _tcb ((struct tcb *)(_tpr - TP_OFFSET - offsetof(struct tcb, tcb_tp))) +#define _tcb ((struct tcb *)(_tp - sizeof(struct tcb))) struct tcb *_tcb_ctor(struct pthread *, int); void _tcb_dtor(struct tcb *); @@ -73,7 +59,7 @@ static __inline void _tcb_set(struct tcb *tcb) { - _tpr = (uint8_t *)&tcb->tcb_tp + TP_OFFSET; + _tp = (uint8_t *)tcb + sizeof(struct tcb); } static __inline struct tcb * ==== //depot/projects/davidxu_thread/src/lib/libthread/arch/powerpc/powerpc/pthread_md.c#2 (text+ko) ==== @@ -22,13 +22,13 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ */ -#include -__FBSDID("$FreeBSD: src/lib/libpthread/arch/powerpc/powerpc/pthread_md.c,v 1.2 2004/08/16 05:41:39 grehan Exp $"); - #include #include +#include "rtld_tls.h" #include "pthread_md.h" /* @@ -38,39 +38,34 @@ _tcb_ctor(struct pthread *thread, int initial) { struct tcb *tcb; + void *oldtls; + if (initial) + oldtls = _tp; + else + oldtls = NULL; + +#if 1 if ((tcb = malloc(sizeof(struct tcb))) != NULL) { - bzero(tcb, sizeof(struct tcb)); + memset(tcb, 0, sizeof(struct tcb)); + tcb->tcb_thread = thread; + } +#else + tcb = _rtld_allocate_tls(oldtls, sizeof(struct tcb), 16); + if (tcb) { tcb->tcb_thread = thread; - /* Allocate TDV */ } +#endif return (tcb); + } void _tcb_dtor(struct tcb *tcb) { - /* Free TDV */ +#if 1 free(tcb); -} - -struct kcb * -_kcb_ctor(struct kse *kse) -{ - struct kcb *kcb; - - if ((kcb = malloc(sizeof(struct kcb))) != NULL) { - bzero(kcb, sizeof(struct kcb)); - kcb->kcb_faketcb.tcb_isfake = 1; - kcb->kcb_faketcb.tcb_tmbx.tm_flags = TMF_NOUPCALL; - kcb->kcb_curtcb = &kcb->kcb_faketcb; - kcb->kcb_kse = kse; - } - return (kcb); -} - -void -_kcb_dtor(struct kcb *kcb) -{ - free(kcb); +#else + _rtld_free_tls(tcb, sizeof(tcb), 16); +#endif } ==== //depot/projects/davidxu_thread/src/lib/libthread/arch/sparc64/include/pthread_md.h#5 (text+ko) ==== @@ -35,43 +35,36 @@ #include -#define DTV_OFFSET offsetof(struct tcb, tcb_tp.tp_tdv) +#define DTV_OFFSET offsetof(struct tcb, tcb_dtv) struct pthread; -struct tcb; -struct tdv; /* We don't know what this is yet? */ - -/* - * %g6 points to one of these. We define the static TLS as an array - * of long double to enforce 16-byte alignment of the TLS memory. - * - * XXX - Both static and dynamic allocation of any of these structures - * will result in a valid, well-aligned thread pointer??? - */ -struct sparc64_tp { - struct tdv *tp_tdv; /* dynamic TLS */ - uint64_t _reserved_; - long double tp_tls[0]; /* static TLS */ -}; struct tcb { - struct pthread *tcb_thread; - struct sparc64_tp tcb_tp; + struct tcb *tcb_self; /* required by rtld */ + void *tcb_dtv; /* required by rtld */ + struct pthread *tcb_thread; /* our hook */ }; -register struct sparc64_tp *_tp __asm("%g6"); +register struct tcb *_tp __asm("%g7"); -#define _tcb ((struct tcb*)((char*)(_tp) - offsetof(struct tcb, tcb_tp))) +#define _tcb (_tp) +/* + * The tcb constructors. + */ struct tcb *_tcb_ctor(struct pthread *, int); void _tcb_dtor(struct tcb *); +/* Called from the thread to set its private data. */ static __inline void _tcb_set(struct tcb *tcb) { - _tp = &tcb->tcb_tp; + _tp = tcb; } +/* + * Get the current tcb. + */ static __inline struct tcb * _tcb_get(void) { ==== //depot/projects/davidxu_thread/src/lib/libthread/arch/sparc64/sparc64/pthread_md.c#4 (text+ko) ==== @@ -24,31 +24,38 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * + * $FreeBSD$ */ -#include -__FBSDID("$FreeBSD: src/lib/libpthread/arch/sparc64/sparc64/pthread_md.c,v 1.3 2004/08/15 16:28:05 dfr Exp $"); - #include - #include #include - +#include "rtld_tls.h" #include "pthread_md.h" struct tcb * _tcb_ctor(struct pthread *thread, int initial) { struct tcb *tcb; + void *oldtls; - if ((tcb = malloc(sizeof(struct tcb))) != NULL) { + if (initial) { + oldtls = _tp; + } else { + oldtls = NULL; + } + + tcb = _rtld_allocate_tls(oldtls, sizeof(struct tcb), 16); + if (tcb) { tcb->tcb_thread = thread; } + return (tcb); } void _tcb_dtor(struct tcb *tcb) { - free(tcb); + _rtld_free_tls(tcb, sizeof(struct tcb), 16); } From owner-p4-projects@FreeBSD.ORG Fri Feb 25 14:47:22 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6681B16A4D0; Fri, 25 Feb 2005 14:47:22 +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 3CC5016A4CE for ; Fri, 25 Feb 2005 14:47:22 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 252EA43D31 for ; Fri, 25 Feb 2005 14:47:22 +0000 (GMT) (envelope-from kelly@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 j1PElMPJ070233 for ; Fri, 25 Feb 2005 14:47:22 GMT (envelope-from kelly@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1PElLJJ070230 for perforce@freebsd.org; Fri, 25 Feb 2005 14:47:21 GMT (envelope-from kelly@FreeBSD.org) Date: Fri, 25 Feb 2005 14:47:21 GMT Message-Id: <200502251447.j1PElLJJ070230@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kelly@FreeBSD.org using -f From: Kelly Djahandari To: Perforce Change Reviews Subject: PERFORCE change 71823 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, 25 Feb 2005 14:47:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=71823 Change 71823 by kelly@kelly_riveroaks2.earthlink.net on 2005/02/25 14:46:40 Added allow of usb devices to /var/run, removed poll since already included in rw_file_perms macro, added mouse_device_t access, and dontaudit file descriptor use from init. Affected files ... .. //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/domains/program/usbd.te#6 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/domains/program/usbd.te#6 (text+ko) ==== @@ -17,8 +17,17 @@ allow usbd_t etc_t:file r_file_perms; allow usbd_t self:fd *; +dontaudit usbd_t init_t:fd use; + + uses_shlib(usbd_t) can_exec_any(usbd_t) # allow usb device access -allow usbd_t usbdevfs_device_t:chr_file { poll rw_file_perms }; +allow usbd_t usbdevfs_device_t:chr_file { rw_file_perms }; +allow usbd_t mouse_device_t:chr_file { rw_file_perms }; + +#allow usb devices /var access +allow usbd_t var_run_t:file { create write getattr }; +allow usbd_t var_run_t:dir { add_name }; + From owner-p4-projects@FreeBSD.ORG Fri Feb 25 17:11:20 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9F38516A4E6; Fri, 25 Feb 2005 17:11:19 +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 5150316A4CF for ; Fri, 25 Feb 2005 17:11:19 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2081243D5A for ; Fri, 25 Feb 2005 17:11:19 +0000 (GMT) (envelope-from kelly@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 j1PHBJda089911 for ; Fri, 25 Feb 2005 17:11:19 GMT (envelope-from kelly@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1PHBIkg089908 for perforce@freebsd.org; Fri, 25 Feb 2005 17:11:18 GMT (envelope-from kelly@FreeBSD.org) Date: Fri, 25 Feb 2005 17:11:18 GMT Message-Id: <200502251711.j1PHBIkg089908@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kelly@FreeBSD.org using -f From: Kelly Djahandari To: Perforce Change Reviews Subject: PERFORCE change 71831 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, 25 Feb 2005 17:11:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=71831 Change 71831 by kelly@kelly_riveroaks2.earthlink.net on 2005/02/25 17:11:11 Changed /cdrom specification to also label /cdrom1. Affected files ... .. //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/file_contexts/types.fc#7 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/file_contexts/types.fc#7 (text+ko) ==== @@ -59,7 +59,7 @@ # A common mount point /mnt(/.*)? -d system_u:object_r:mnt_t /media(/.*)? -d system_u:object_r:mnt_t -/cdrom -d system_u:object_r:mnt_t +/cdrom(.*)? -d system_u:object_r:mnt_t # # /var From owner-p4-projects@FreeBSD.ORG Fri Feb 25 18:16:48 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F022916A502; Fri, 25 Feb 2005 18:16:47 +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 AE16E16A4D1 for ; Fri, 25 Feb 2005 18:16:47 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5964643D5D for ; Fri, 25 Feb 2005 18:16:47 +0000 (GMT) (envelope-from jmg@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 j1PIGli7098057 for ; Fri, 25 Feb 2005 18:16:47 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1PIGln8098054 for perforce@freebsd.org; Fri, 25 Feb 2005 18:16:47 GMT (envelope-from jmg@freebsd.org) Date: Fri, 25 Feb 2005 18:16:47 GMT Message-Id: <200502251816.j1PIGln8098054@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71839 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, 25 Feb 2005 18:16:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=71839 Change 71839 by jmg@jmg_carbon on 2005/02/25 18:16:27 now that we have MFS and GEOM_UZIP working (due to arbitrarily sized kernels up to 6megs) add these options.. add ALL_BREAK_TO_DEBUGGER to increase my chances of getting into the debugger... add the new MFS_IMAGE option.. Affected files ... .. //depot/projects/arm/src/sys/arm/conf/TS7200#6 edit Differences ... ==== //depot/projects/arm/src/sys/arm/conf/TS7200#6 (text+ko) ==== @@ -25,6 +25,7 @@ options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm makeoptions KERNPHYSADDR=0x00200000 makeoptions KERNVIRTADDR=0xc0200000 +makeoptions MFS_IMAGE="/tmp/mfs.ufs.uzip" options STARTUP_PAGETABLE_ADDR=0x00000000 options ARM32_NEW_VM_LAYOUT @@ -36,6 +37,7 @@ makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols makeoptions CONF_CFLAGS=-mcpu=arm9 options DDB +options ALT_BREAK_TO_DEBUGGER #options ARMFPE options HZ=64 #options DEVICE_POLLING @@ -48,8 +50,8 @@ options UFS_ACL #Support for access control lists options UFS_DIRHASH #Improve performance on big directories options MD_ROOT # MD is a potential root device -#options MD_ROOT_SIZE="1536" # MD is 1meg -#options GEOM_UZIP +options MD_ROOT_SIZE="1536" # MD is 1meg +options GEOM_UZIP options NFSCLIENT #Network Filesystem Client options NFSSERVER #Network Filesystem Server options NFS_ROOT #NFS usable as /, requires NFSCLIENT From owner-p4-projects@FreeBSD.ORG Fri Feb 25 18:23:57 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CBE7F16A4D0; Fri, 25 Feb 2005 18:23:56 +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 A820916A4CE for ; Fri, 25 Feb 2005 18:23:56 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 78D8F43D2F for ; Fri, 25 Feb 2005 18:23:56 +0000 (GMT) (envelope-from kelly@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 j1PINup4098360 for ; Fri, 25 Feb 2005 18:23:56 GMT (envelope-from kelly@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1PINuTn098357 for perforce@freebsd.org; Fri, 25 Feb 2005 18:23:56 GMT (envelope-from kelly@FreeBSD.org) Date: Fri, 25 Feb 2005 18:23:56 GMT Message-Id: <200502251823.j1PINuTn098357@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kelly@FreeBSD.org using -f From: Kelly Djahandari To: Perforce Change Reviews Subject: PERFORCE change 71840 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, 25 Feb 2005 18:23:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=71840 Change 71840 by kelly@kelly_riveroaks2.earthlink.net on 2005/02/25 18:23:04 Allowed access for rpc.umntall to have access to /var/db/mounttab. Affected files ... .. //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/domains/program/rpcd.te#4 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/domains/program/rpcd.te#4 (symlink) ==== From owner-p4-projects@FreeBSD.ORG Fri Feb 25 19:54:54 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4860116A4D1; Fri, 25 Feb 2005 19:54:54 +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 1A06B16A4CE for ; Fri, 25 Feb 2005 19:54:54 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0103843D5D for ; Fri, 25 Feb 2005 19:54:54 +0000 (GMT) (envelope-from kelly@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 j1PJsrYx003603 for ; Fri, 25 Feb 2005 19:54:53 GMT (envelope-from kelly@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1PJsrgu003600 for perforce@freebsd.org; Fri, 25 Feb 2005 19:54:53 GMT (envelope-from kelly@FreeBSD.org) Date: Fri, 25 Feb 2005 19:54:53 GMT Message-Id: <200502251954.j1PJsrgu003600@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kelly@FreeBSD.org using -f From: Kelly Djahandari To: Perforce Change Reviews Subject: PERFORCE change 71849 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, 25 Feb 2005 19:54:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=71849 Change 71849 by kelly@kelly_riveroaks2.earthlink.net on 2005/02/25 19:53:56 Changes to allow a usb keyboard to work. Affected files ... .. //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/domains/program/devd.te#2 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/contrib/sebsd/policy/domains/program/devd.te#2 (text+ko) ==== @@ -10,11 +10,12 @@ daemon_domain(devd) allow devd_t self:fd { create use }; -allow devd_t device_t:chr_file { read poll }; +allow devd_t device_t:chr_file { read getattr ioctl poll }; +allow devd_t device_t:lnk_file { read }; allow devd_t etc_t:file r_file_perms; # /var/run/devd.pipe type devd_sock_t, file_type, sysadmfile; file_type_auto_trans(devd_t, var_run_t, devd_sock_t, sock_file) -can_exec_any(devd_t)+can_exec_any(devd_t) From owner-p4-projects@FreeBSD.ORG Sat Feb 26 04:10:27 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0B43A16A4D0; Sat, 26 Feb 2005 04:10:26 +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 D0F9A16A4CE for ; Sat, 26 Feb 2005 04:10:25 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 52FDC43D3F for ; Sat, 26 Feb 2005 04:10:22 +0000 (GMT) (envelope-from jmg@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 j1Q4AMQs040535 for ; Sat, 26 Feb 2005 04:10:22 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1Q4AMXk040532 for perforce@freebsd.org; Sat, 26 Feb 2005 04:10:22 GMT (envelope-from jmg@freebsd.org) Date: Sat, 26 Feb 2005 04:10:22 GMT Message-Id: <200502260410.j1Q4AMXk040532@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71882 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: Sat, 26 Feb 2005 04:10:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=71882 Change 71882 by jmg@jmg_carbon on 2005/02/26 04:09:39 add what I have of the ethernet driver so far... not converted it all so it DEFINATELY doesn't work yet... Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/epe.c#1 add .. //depot/projects/arm/src/sys/arm/ep93xx/epereg.h#1 add .. //depot/projects/arm/src/sys/arm/ep93xx/epevar.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sat Feb 26 09:54:51 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9564816A4D0; Sat, 26 Feb 2005 09:54:51 +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 6CC3516A4CE for ; Sat, 26 Feb 2005 09:54:51 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 40C5543D49 for ; Sat, 26 Feb 2005 09:54:51 +0000 (GMT) (envelope-from jmg@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 j1Q9spj0073399 for ; Sat, 26 Feb 2005 09:54:51 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1Q9sobw073396 for perforce@freebsd.org; Sat, 26 Feb 2005 09:54:50 GMT (envelope-from jmg@freebsd.org) Date: Sat, 26 Feb 2005 09:54:50 GMT Message-Id: <200502260954.j1Q9sobw073396@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney To: Perforce Change Reviews Subject: PERFORCE change 71898 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: Sat, 26 Feb 2005 09:54:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=71898 Change 71898 by jmg@jmg_carbon-60 on 2005/02/26 09:53:56 these weren't suppose to go here, I thought I had my client view correct, guess not... they'll be brought back when ready.. Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/epe.c#2 delete .. //depot/projects/arm/src/sys/arm/ep93xx/epereg.h#2 delete .. //depot/projects/arm/src/sys/arm/ep93xx/epevar.h#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Sat Feb 26 10:35:42 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 95E0716A4D0; Sat, 26 Feb 2005 10:35:42 +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 6507116A4CF for ; Sat, 26 Feb 2005 10:35:42 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D32743D54 for ; Sat, 26 Feb 2005 10:35:42 +0000 (GMT) (envelope-from davidxu@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 j1QAZgK8074885 for ; Sat, 26 Feb 2005 10:35:42 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1QAZffw074882 for perforce@freebsd.org; Sat, 26 Feb 2005 10:35:41 GMT (envelope-from davidxu@freebsd.org) Date: Sat, 26 Feb 2005 10:35:41 GMT Message-Id: <200502261035.j1QAZffw074882@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 71902 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: Sat, 26 Feb 2005 10:35:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=71902 Change 71902 by davidxu@davidxu_tiger on 2005/02/26 10:35:21 Use actual waiter counter. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_barrier.c#5 edit .. //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_cond.c#15 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_barrier.c#5 (text+ko) ==== @@ -91,7 +91,7 @@ /* Current thread is lastest thread */ bar->b_waiters = 0; bar->b_cycle++; - _thr_umtx_wake(&bar->b_cycle, INT_MAX); + _thr_umtx_wake(&bar->b_cycle, bar->b_count); THR_UMTX_UNLOCK(curthread, &bar->b_lock); ret = PTHREAD_BARRIER_SERIAL_THREAD; } else { ==== //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_cond.c#15 (text+ko) ==== @@ -302,7 +302,7 @@ { struct pthread *curthread = _get_curthread(); pthread_cond_t cv; - int ret = 0; + int ret = 0, oldwaiters; /* * If the condition variable is statically initialized, perform dynamic @@ -322,10 +322,11 @@ cv->c_seqno++; _thr_umtx_wake(&cv->c_seqno, 1); } else { + oldwaiters = cv->c_waiters; cv->c_wakeups += cv->c_waiters; cv->c_waiters = 0; cv->c_seqno++; - _thr_umtx_wake(&cv->c_seqno, INT_MAX); + _thr_umtx_wake(&cv->c_seqno, oldwaiters); } } THR_LOCK_RELEASE(curthread, &cv->c_lock); From owner-p4-projects@FreeBSD.ORG Sat Feb 26 13:13:54 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 79C0A16A4D0; Sat, 26 Feb 2005 13:13:54 +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 0194116A4CE for ; Sat, 26 Feb 2005 13:13:54 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C4D1043D55 for ; Sat, 26 Feb 2005 13:13:53 +0000 (GMT) (envelope-from davidxu@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 j1QDDrpk087499 for ; Sat, 26 Feb 2005 13:13:53 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1QDDr9L087496 for perforce@freebsd.org; Sat, 26 Feb 2005 13:13:53 GMT (envelope-from davidxu@freebsd.org) Date: Sat, 26 Feb 2005 13:13:53 GMT Message-Id: <200502261313.j1QDDr9L087496@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 71905 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: Sat, 26 Feb 2005 13:13:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=71905 Change 71905 by davidxu@davidxu_tiger on 2005/02/26 13:13:34 Update comments. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread/arch/alpha/include/pthread_md.h#6 edit .. //depot/projects/davidxu_thread/src/lib/libthread/arch/amd64/include/pthread_md.h#6 edit .. //depot/projects/davidxu_thread/src/lib/libthread/arch/i386/include/pthread_md.h#5 edit .. //depot/projects/davidxu_thread/src/lib/libthread/arch/ia64/include/pthread_md.h#7 edit .. //depot/projects/davidxu_thread/src/lib/libthread/arch/powerpc/include/pthread_md.h#4 edit .. //depot/projects/davidxu_thread/src/lib/libthread/arch/sparc64/include/pthread_md.h#6 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthread/arch/alpha/include/pthread_md.h#6 (text+ko) ==== @@ -34,6 +34,10 @@ #define DTV_OFFSET offsetof(struct tcb, tcb_dtv) +/* + * Variant I tcb. The structure layout is fixed, don't blindly + * change it! + */ struct tcb { void *tcb_dtv; struct pthread *tcb_thread; ==== //depot/projects/davidxu_thread/src/lib/libthread/arch/amd64/include/pthread_md.h#6 (text+ko) ==== @@ -44,14 +44,14 @@ struct tdv; /* - * %fs points to a struct tcb. + * Variant II tcb, first two members are required by rtld, + * %fs points to the structure. */ - struct tcb { struct tcb *tcb_self; /* required by rtld */ void *tcb_dtv; /* required by rtld */ struct pthread *tcb_thread; - void *tcb_spare[1]; /* align tcb_tmbx to 16 bytes */ + void *tcb_spare[1]; }; /* ==== //depot/projects/davidxu_thread/src/lib/libthread/arch/i386/include/pthread_md.h#5 (text+ko) ==== @@ -41,7 +41,8 @@ struct pthread; /* - * %gs points to a struct tcb. + * Variant II tcb, first two members are required by rtld, + * %gs points to the structure. */ struct tcb { struct tcb *tcb_self; /* required by rtld */ ==== //depot/projects/davidxu_thread/src/lib/libthread/arch/ia64/include/pthread_md.h#7 (text+ko) ==== @@ -33,6 +33,10 @@ #define DTV_OFFSET offsetof(struct tcb, tcb_dtv) +/* + * Variant I tcb. The structure layout is fixed, don't blindly + * change it! + */ struct tcb { void *tcb_dtv; struct pthread *tcb_thread; ==== //depot/projects/davidxu_thread/src/lib/libthread/arch/powerpc/include/pthread_md.h#4 (text+ko) ==== @@ -39,11 +39,10 @@ #define DTV_OFFSET offsetof(struct tcb, tcb_dtv) /* - * %r2 points to end of struct tcb. Variant I tls, the - * tcb structure layout is fixed, totally 8 bytes on 32 bits - * machine, don't change it. + * Variant I tcb. The structure layout is fixed, don't blindly + * change it. + * %r2 points to end of the structure. */ - struct tcb { void *tcb_dtv; struct pthread *tcb_thread; ==== //depot/projects/davidxu_thread/src/lib/libthread/arch/sparc64/include/pthread_md.h#6 (text+ko) ==== @@ -39,10 +39,15 @@ struct pthread; +/* + * Variant II tcb, first two members are required by rtld. + * %g7 points to the structure. + */ struct tcb { struct tcb *tcb_self; /* required by rtld */ void *tcb_dtv; /* required by rtld */ struct pthread *tcb_thread; /* our hook */ + void *tcb_spare[1]; }; register struct tcb *_tp __asm("%g7"); From owner-p4-projects@FreeBSD.ORG Sat Feb 26 14:22:20 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6185E16A4D0; Sat, 26 Feb 2005 14:22:20 +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 1EB6E16A4CE for ; Sat, 26 Feb 2005 14:22:20 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EB6D943D5C for ; Sat, 26 Feb 2005 14:22:19 +0000 (GMT) (envelope-from cognet@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 j1QEMJlE090582 for ; Sat, 26 Feb 2005 14:22:19 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1QEMJfa090579 for perforce@freebsd.org; Sat, 26 Feb 2005 14:22:19 GMT (envelope-from cognet@freebsd.org) Date: Sat, 26 Feb 2005 14:22:19 GMT Message-Id: <200502261422.j1QEMJfa090579@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Subject: PERFORCE change 71912 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: Sat, 26 Feb 2005 14:22:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=71912 Change 71912 by cognet@cognet on 2005/02/26 14:21:52 Import a driver for the (32 bits) Timer3, and use it as a timecounter. Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/ep93xxreg.h#3 edit .. //depot/projects/arm/src/sys/arm/ep93xx/eptimer.c#1 add .. //depot/projects/arm/src/sys/arm/ep93xx/files.ep93xx#3 edit .. //depot/projects/arm/src/sys/arm/ep93xx/hints.ep93xx#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/ep93xx/ep93xxreg.h#3 (text+ko) ==== @@ -160,6 +160,16 @@ #define EP93XX_SYSCON_ClkSet2 0x00000024UL #define EP93XX_SYSCON_ChipID 0x00000094UL #define EP93XX_APB_TIMERS 0x00010000UL +#define EP93XX_APB_Timer1 0x001000000L +#define EP93XX_APB_Timer2 0x001000020L +#define EP93XX_APB_Timer3 0x001000080L +#define EP93XX_Timer_Load 0x000000000L +#define EP93XX_Timer_Value 0x000000004L +#define EP93XX_Timer_Control 0x000000008L +#define EP93XX_Timer_508CLK (1 << 3) +#define EP93XX_Timer_Mode (1 << 6) +#define EP93XX_Timer_Enable (1 << 7) +#define EP93XX_Timer_Clear 0x00000000CL #define EP93XX_TIMERS_Timer4Enable 0x00000064UL #define EP93XX_TIMERS_Timer4ValueHigh 0x00000064UL #define EP93XX_TIMERS_Timer4ValueLow 0x00000060UL ==== //depot/projects/arm/src/sys/arm/ep93xx/files.ep93xx#3 (text+ko) ==== @@ -5,6 +5,7 @@ arm/ep93xx/ep93xx_intr.c standard arm/ep93xx/ep93xx_space.c standard arm/ep93xx/epclk.c standard +arm/ep93xx/eptimer.c standard arm/ep93xx/uart_bus_ep93xx.c optional uart arm/ep93xx/uart_cpu_ep93xx.c optional uart dev/uart/uart_dev_epuart.c optional uart ==== //depot/projects/arm/src/sys/arm/ep93xx/hints.ep93xx#3 (text+ko) ==== @@ -15,6 +15,10 @@ hint.epclk.0.port="0x10000" hint.epclk.0.portsize="0x10000" hint.epclk.0.irq="35" +hint.epclk.0.port="0x10000" +hint.eptimer.0.at="apb" +hint.eptimer.0.port="0x100000" +hint.eptimer.0.portsize="0x20" hint.uart.0.at="apb" hint.uart.0.port="0xc0000" hint.uart.0.portsize="0x10000" From owner-p4-projects@FreeBSD.ORG Sat Feb 26 14:25:24 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7144616A4D0; Sat, 26 Feb 2005 14:25:24 +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 4C1F116A4CE for ; Sat, 26 Feb 2005 14:25:24 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2051043D5D for ; Sat, 26 Feb 2005 14:25:24 +0000 (GMT) (envelope-from cognet@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 j1QEPOGA090837 for ; Sat, 26 Feb 2005 14:25:24 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j1QEPNTu090834 for perforce@freebsd.org; Sat, 26 Feb 2005 14:25:23 GMT (envelope-from cognet@freebsd.org) Date: Sat, 26 Feb 2005 14:25:23 GMT Message-Id: <200502261425.j1QEPNTu090834@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Subject: PERFORCE change 71913 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: Sat, 26 Feb 2005 14:25:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=71913 Change 71913 by cognet@cognet on 2005/02/26 14:25:07 The parent for this driver is apb. Affected files ... .. //depot/projects/arm/src/sys/arm/ep93xx/eptimer.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/ep93xx/eptimer.c#2 (text+ko) ==== @@ -109,5 +109,5 @@ }; static devclass_t eptimer_devclass; -DRIVER_MODULE(itimer, iq, eptimer_driver, eptimer_devclass, 0, 0); +DRIVER_MODULE(eptimer, apb, eptimer_driver, eptimer_devclass, 0, 0);