From owner-svn-src-user@FreeBSD.ORG Fri Jan 1 03:58:22 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 74C0A1065692; Fri, 1 Jan 2010 03:58:22 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6170D8FC0A; Fri, 1 Jan 2010 03:58:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o013wMm8099410; Fri, 1 Jan 2010 03:58:22 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o013wM8V099409; Fri, 1 Jan 2010 03:58:22 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <201001010358.o013wM8V099409@svn.freebsd.org> From: Kip Macy Date: Fri, 1 Jan 2010 03:58:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r201359 - in user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jan 2010 03:58:22 -0000 Author: kmacy Date: Fri Jan 1 03:58:21 2010 New Revision: 201359 URL: http://svn.freebsd.org/changeset/base/201359 Log: - fix tailq usage sa that each tailq usage uses a different tailq entry - decrement page wire count before freeing - re-map buffer kva when swapping out pages - skip over validating reads in to non-VMIO buffers - fix zio_cache_valid usage check Modified: user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_bio.h user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_bio.c Modified: user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_bio.h ============================================================================== --- user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_bio.h Thu Dec 31 23:52:19 2009 (r201358) +++ user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_bio.h Fri Jan 1 03:58:21 2010 (r201359) @@ -32,6 +32,7 @@ $FreeBSD$ #ifndef _SYS_ZFS_BIO_H #define _SYS_ZFS_BIO_H #include /* vd->vdev_vnode */ +#include /* spa->spa_root_vdev */ #include extern int zfs_page_cache_disable; @@ -57,8 +58,8 @@ static __inline void zio_cache_valid(void *data, uint64_t size, zio_type_t type, vdev_t *vd) { - if ((vd != NULL) && (type == ZIO_TYPE_READ) && - (size & PAGE_MASK) == 0) + if (((vd == NULL) || (vd->vdev_spa->spa_root_vdev == vd)) && + (type == ZIO_TYPE_READ) && (size & PAGE_MASK) == 0) _zio_cache_valid(data, size); } Modified: user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_bio.c ============================================================================== --- user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_bio.c Thu Dec 31 23:52:19 2009 (r201358) +++ user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_bio.c Fri Jan 1 03:58:21 2010 (r201359) @@ -77,6 +77,14 @@ Logic in sync_cache: No work to do + + b_bobufs -> hash table tailqs + b_freelist -> blkno memq + b_cluster.cluster_entry -> temporary list + + + + **************************************************************************/ #include __FBSDID("$FreeBSD$"); @@ -297,7 +305,7 @@ zio_buf_va_insert(buf_t bp) CTR3(KTR_SPARE3, "va_insert(va=%p size=%ld) idx=%ld", va, size, idx); mtx_lock(lock); - TAILQ_INSERT_HEAD(bh, bp, b_freelist); + TAILQ_INSERT_HEAD(bh, bp, b_bobufs); mtx_unlock(lock); } @@ -323,7 +331,7 @@ zio_buf_va_lookup(caddr_t va, uint64_t s lock = BUF_HASH_LOCK(idx); bh = &buf_hash_table.ht_table[idx]; mtx_lock(lock); - TAILQ_FOREACH(bp, bh, b_freelist) + TAILQ_FOREACH(bp, bh, b_bobufs) if (bp->b_data == va) break; mtx_unlock(lock); @@ -353,9 +361,9 @@ zio_buf_va_remove(caddr_t va, uint64_t s CTR3(KTR_SPARE3, "va_remove(va=%p size=%ld) idx=%ld", va, (long)size, idx); mtx_lock(lock); - TAILQ_FOREACH(bp, bh, b_freelist) + TAILQ_FOREACH(bp, bh, b_bobufs) if (bp->b_data == va) { - TAILQ_REMOVE(bh, bp, b_freelist); + TAILQ_REMOVE(bh, bp, b_bobufs); break; } mtx_unlock(lock); @@ -505,12 +513,14 @@ zio_buf_blkno_lookup(zio_spa_state_t sta * This routine may not block. */ static void -zio_buf_blkno_remove(buf_t bp) +zio_buf_blkno_remove_locked(vm_object_t object, buf_t bp) { zio_spa_state_t state; buf_t root; daddr_t blkno, blkno_end; + VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + if ((state = bp->b_state) == NULL) return; @@ -526,6 +536,9 @@ zio_buf_blkno_remove(buf_t bp) root->b_right = bp->b_right; } state->zss_blkno_root = root; + /* + * can't use b_bobufs for both memq and hash table :< + */ TAILQ_REMOVE(&state->zss_blkno_memq, bp, b_freelist); /* @@ -535,6 +548,16 @@ zio_buf_blkno_remove(buf_t bp) state->zss_generation++; } +static void +zio_buf_blkno_remove(buf_t bp) +{ + vm_object_t object = zio_buf_get_vm_object(bp); + + VM_OBJECT_LOCK(object); + zio_buf_blkno_remove_locked(object, bp); + VM_OBJECT_UNLOCK(object); +} + static __inline void zio_buf_vm_object_copy(vm_object_t object, buf_t bp, int direction) { @@ -552,7 +575,6 @@ zio_buf_vm_object_copy(vm_object_t objec start = OFF_TO_IDX(byte_offset); end = OFF_TO_IDX(byte_offset + bp->b_bcount); - VM_OBJECT_LOCK(object); if (vm_pages_valid_locked(object, bp->b_blkno, bp->b_bcount) == 0) goto done; @@ -577,7 +599,6 @@ zio_buf_vm_object_copy(vm_object_t objec done: bp->b_npages = 0; - VM_OBJECT_UNLOCK(object); } static void @@ -606,7 +627,6 @@ zio_buf_vm_object_evict(buf_t bp) m = bp->b_pages[i]; vm_pageq_remove(m); } - vm_page_unlock_queues(); /* * remove pages from backing vm_object */ @@ -616,6 +636,7 @@ zio_buf_vm_object_evict(buf_t bp) m->valid = 0; m->flags |= PG_UNMANAGED; } + vm_page_unlock_queues(); } static void @@ -661,26 +682,27 @@ static void zio_buf_evict_overlap(vm_object_t object, daddr_t blkno, int size, zio_spa_state_t state, uint64_t txg, int evict_op) { - buf_t root, tmpbp; + buf_t root, tmpbp, bp_prev; daddr_t blkno_end, tmpblkno, tmpblkno_end; struct cluster_list_head clh; int i, collisions; uint64_t tmptxg; vm_pindex_t start, end; + TAILQ_INIT(&clh); if ((root = state->zss_blkno_root) == NULL) goto done; collisions = 0; + blkno_end = blkno + btos(size); root = zio_buf_blkno_splay(blkno, root); - TAILQ_INIT(&clh); if (blkno < root->b_blkno) tmpbp = TAILQ_PREV(root, cluster_list_head, b_freelist); /* * Find all existing buffers that overlap with this range */ - tmpbp = tmpbp != NULL ? tmpbp : root; + bp_prev = tmpbp = tmpbp != NULL ? tmpbp : root; while (tmpbp != NULL && tmpbp->b_blkno < blkno_end) { tmpblkno = tmpbp->b_blkno; tmpblkno_end = tmpblkno + btos(tmpbp->b_bcount); @@ -689,14 +711,15 @@ zio_buf_evict_overlap(vm_object_t object if (((tmpblkno >= blkno) && (tmpblkno < blkno_end)) || (tmpblkno_end > blkno) && (tmpblkno_end <= blkno_end) && ((txg == NO_TXG) || (tmptxg < txg))) { - TAILQ_INSERT_TAIL(&clh, tmpbp, b_freelist); + TAILQ_INSERT_TAIL(&clh, tmpbp, b_cluster.cluster_entry); collisions++; } + bp_prev = tmpbp; tmpbp = TAILQ_NEXT(tmpbp, b_freelist); } while (!TAILQ_EMPTY(&clh)) { tmpbp = TAILQ_FIRST(&clh); - TAILQ_REMOVE(&clh, tmpbp, b_freelist); + TAILQ_REMOVE(&clh, tmpbp, b_cluster.cluster_entry); zio_buf_vm_object_evict(tmpbp); tmpbp->b_flags &= ~B_VMIO; @@ -704,7 +727,7 @@ zio_buf_evict_overlap(vm_object_t object /* * move buffer to the unmanaged tree */ - zio_buf_blkno_remove(tmpbp); + zio_buf_blkno_remove_locked(object, tmpbp); } done: if (!(collisions == 1 && tmpbp->b_blkno == blkno && @@ -717,7 +740,7 @@ done: #ifdef INVARIANTS for (i = 0; i < OFF_TO_IDX(size); i++) { KASSERT(vm_page_lookup(object, start + i) == NULL, - ("found page at %ld blkno %ld ",start + i, blkno)); + ("found page at %ld blkno %lld ",start + i, blkno)); } #endif } @@ -743,6 +766,8 @@ vm_object_reference_pages(vm_object_t ob bp->b_pages[i] = m; } vm_page_unlock_queues(); + pmap_qenter_prot((vm_offset_t)bp->b_saveaddr, bp->b_pages, + bp->b_npages, VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXCLUDE); } /* @@ -804,6 +829,9 @@ _zio_getblk_vmio(uint64_t size, int flag newbp = geteblk(size, flags); BUF_KERNPROC(newbp); + KASSERT((newbp->b_flags & B_MALLOC) == 0, + ("geteblk allocated a malloc'd buffer")); + return (newbp); } @@ -812,7 +840,7 @@ zio_getblk(uint64_t size, int flags) { buf_t newbp; - if (size & PAGE_MASK) + if (size != 128*1024) newbp = _zio_getblk_malloc(size, flags); else newbp = _zio_getblk_vmio(size, flags); @@ -864,6 +892,7 @@ _zio_sync_cache(spa_t *spa, blkptr_t *bl bp = zio_buf_va_lookup(data, size); if (bp->b_flags & B_MALLOC) { + VM_OBJECT_LOCK(object); zio_buf_evict_overlap(object, blkno, size, state, txg, ZB_EVICT_BUFFERED); if (zio_op == ZIO_TYPE_READ) { @@ -879,9 +908,14 @@ _zio_sync_cache(spa_t *spa, blkptr_t *bl } else { zio_buf_vm_object_copyout(object, bp); } + VM_OBJECT_UNLOCK(object); } else if (bp->b_flags & B_VMIO) { +#ifdef INVARIANTS + VM_OBJECT_LOCK(object); KASSERT(bp == zio_buf_blkno_lookup(state, blkno), ("VMIO buffer not mapped")); + VM_OBJECT_UNLOCK(object); +#endif if (zio_op == ZIO_TYPE_READ && (bp->b_flags & (B_CACHE|B_INVAL)) == B_CACHE) io_bypass = TRUE; } else if ((zio_op == ZIO_TYPE_WRITE) || !vm_pages_valid(object, blkno, size)) { @@ -891,21 +925,28 @@ _zio_sync_cache(spa_t *spa, blkptr_t *bl bp->b_blkno = bp->b_lblkno = blkno; bp->b_flags |= B_VMIO; bp->b_birth = txg; + bp->b_state = state; zio_buf_blkno_insert(bp, state); zio_buf_vm_object_insert(bp, vp, object, zio_op == ZIO_TYPE_WRITE); VM_OBJECT_UNLOCK(object); } else { KASSERT(zio_op == ZIO_TYPE_READ, ("unexpected op %d", zio_op)); + VM_OBJECT_LOCK(object); zio_buf_evict_overlap(object, blkno, size, state, NO_TXG, ZB_EVICT_BUFFERED); bp->b_blkno = bp->b_lblkno = blkno; bp->b_flags |= B_VMIO; bp->b_birth = txg; + bp->b_state = state; zio_buf_blkno_insert(bp, state); - VM_OBJECT_LOCK(object); if (vm_pages_valid_locked(object, blkno, size)) { - for (i = 0; i < bp->b_npages; i++) - vm_page_free(bp->b_pages[i]); + for (i = 0; i < bp->b_npages; i++) { + m = bp->b_pages[i]; + m->wire_count--; + vm_page_free(m); + } + + vm_object_reference_pages(object, bp); } else zio_buf_vm_object_insert(bp, vp, object, FALSE); @@ -922,8 +963,13 @@ _zio_cache_valid(void *data, uint64_t si int i; bp = zio_buf_va_lookup(data, size); - for (i = 0; i < bp->b_npages; i++) + if ((bp->b_flags & B_VMIO) == 0) + return; + for (i = 0; i < bp->b_npages; i++) { + KASSERT((bp->b_pages[i]->flags & PG_UNMANAGED) == 0, + ("validating unmanaged page")); bp->b_pages[i]->valid = VM_PAGE_BITS_ALL; + } bp->b_flags &= ~B_INVAL; bp->b_flags |= B_CACHE; } From owner-svn-src-user@FreeBSD.ORG Fri Jan 1 18:47:49 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F267C1065679; Fri, 1 Jan 2010 18:47:48 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id B494B8FC08; Fri, 1 Jan 2010 18:47:48 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id o01Ii4He069046; Fri, 1 Jan 2010 11:44:04 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Fri, 01 Jan 2010 11:44:40 -0700 (MST) Message-Id: <20100101.114440.239525524730500825.imp@bsdimp.com> To: kientzle@freebsd.org From: "M. Warner Losh" In-Reply-To: <4B3C4716.9020806@freebsd.org> References: <200912310609.nBV69XIS087894@svn.freebsd.org> <4B3C4716.9020806@freebsd.org> X-Mailer: Mew version 6.3 on Emacs 22.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: dougb@freebsd.org, src-committers@freebsd.org, svn-src-user@freebsd.org Subject: Re: svn commit: r201326 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jan 2010 18:47:49 -0000 In message: <4B3C4716.9020806@freebsd.org> Tim Kientzle writes: : Doug Barton wrote: : > Even though it's probably already obvious, add a hint as to what the : > non-default option is for the y/n prompts. : : > - echo -n " ===>>> Delete this dependency data? [n] " : > + echo -n " ===>>> Delete this dependency data? y/[n] " : : I've seen this done a little more clearly by using an : uppercase letter to indicate the default: [Y/n] This also seems the de-facto standard for doing this. The new echo above is something I've never seen before and is more confusing that the old echo above... Warner From owner-svn-src-user@FreeBSD.ORG Fri Jan 1 23:45:51 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 36F6F106566C; Fri, 1 Jan 2010 23:45:51 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 26FEF8FC1B; Fri, 1 Jan 2010 23:45:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o01NjpiO061741; Fri, 1 Jan 2010 23:45:51 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o01NjpxD061740; Fri, 1 Jan 2010 23:45:51 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201001012345.o01NjpxD061740@svn.freebsd.org> From: Doug Barton Date: Fri, 1 Jan 2010 23:45:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r201372 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jan 2010 23:45:51 -0000 Author: dougb Date: Fri Jan 1 23:45:50 2010 New Revision: 201372 URL: http://svn.freebsd.org/changeset/base/201372 Log: 1. Welcome in 2010 :) 2. In safe_exit() when doing multiports and we interrupt the process the attempt to print the INSTALLED_LIST was not successeful. So move all of the related code into a test for INSTALLED_LIST's existence, and just print the whole list (even if it has only one item) in both the -a (as it was already) and multiport cases. 3. Add a pm_cd_pd() which will cd into the port directory or error out with an appropriate message. 4. Start using pm_cd_pd() where appropriate, including in a couple of new places where we have to go back to the port directory after cd'ing around elsewhere due to the new update_build_l(). 5. Make some other cd/pm_cd invocations consistent 6. Add update_build_l, a more generic (and correct) way to update the list of things that we will build (or install) to display to the user. This function is now called in all the places where the list needs to be updated, except in the "main" area when we know for sure there is no installed version. 7. In post_config() we can now simplify the code to print the build_l, but we have to change a local variable to not be the same as one used in multiport. 8. Rearrange some things in update_port() to make it easier to read after all the new stuff has gone in. 9. Continue tweaking the term_printf stuff so that now it should work in all 3 cases, one port, multiports, and -a. 10. In init_term_printf() we only want to set *_of_deps to 0 if they don't already exist. Otherwise we lose the work we've done already in multiport(). Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Fri Jan 1 22:47:53 2010 (r201371) +++ user/dougb/portmaster/portmaster Fri Jan 1 23:45:50 2010 (r201372) @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (c) 2005-2009 Douglas Barton, All rights reserved +# Copyright (c) 2005-2010 Douglas Barton, All rights reserved # Please see detailed copyright below trap trap_exit INT @@ -180,19 +180,21 @@ safe_exit () { ;; esac - if [ -n "$UPDATE_ALL" -a -n "$INSTALLED_LIST" ]; then - show_list=all - else - case "$INSTALLED_LIST" in - *\\n\\t*) show_list=all ;; - *\\n) show_list=one ;; + if [ -n "$INSTALLED_LIST" ]; then + if [ -n "$UPDATE_ALL" -o -n "$PM_MULTI_PORTS" ]; then + show_list=all + else + case "$INSTALLED_LIST" in + *\\n\\t*) show_list=all ;; + *\\n) show_list=one ;; + esac + fi + case "$show_list" in + all) echo "===>>> The following actions were performed:" + echo -e $INSTALLED_LIST ;; + one) echo "===>>> $ilist complete" ; echo '' ;; esac fi - case "$show_list" in - all) echo "===>>> The following actions were performed:" - echo -e $INSTALLED_LIST ;; - one) echo "===>>> $ilist complete" ; echo '' ;; - esac if [ -n "$build_deps_il" ]; then echo "===>>> Deleting installed build-only dependencies" @@ -341,6 +343,8 @@ usage () { } pm_cd () { builtin cd $1 2>/dev/null || return 1; } +pm_cd_pd () { builtin cd $pd/$1 2>/dev/null || + fail "Cannot cd to port directory: $pd/$origin"; } pm_kill () { /bin/kill $* >/dev/null 2>/dev/null; } pm_make () { ( unset -v CUR_DEPS INSTALLED_LIST PM_DEPTH; unset -v MASTER_RB_LIST CONFIG_SEEN_LIST; @@ -1154,9 +1158,9 @@ pm_pkg_create () { local pkg latest_link pkg=`echo $2.*` - pm_cd $pd/$portdir + pm_cd_pd $portdir latest_link=`pm_make -V LATEST_LINK` - pm_cd ${1}/Latest + cd ${1}/Latest ln -sf ../All/$pkg ${latest_link}.tbz cd ${1}/${portdir%/*} ln -sf ../All/$pkg $pkg @@ -1654,27 +1658,44 @@ term_printf () { printf "\033]0;${0##*/}: ${PM_PARENT_PORT}${1}\007" } +update_build_l () { + local origin iport new_port + + case "$1" in + */*) origin=$1 ; iport=`iport_from_origin $origin` + if [ -z "$iport" ]; then + build_l="${build_l}\tInstall $origin\n" + return + fi ;; + *) origin=`origin_from_pdb $1` ; iport=$1 ;; + esac + + pm_cd $pd/$origin && new_port=`pm_make -V PKGNAME` + + case `pkg_version -t $iport $new_port 2>/dev/null` in + \<) build_l="${build_l}\tUpgrade $iport to $new_port\n" ;; + =) build_l="${build_l}\tRe-install $iport\n" ;; + \>) build_l="${build_l}\tDowngrade $iport to $new_port\n" ;; + *) build_l="${build_l}\tUpgrade $iport\n" ;; + esac +} + update_port () { local update_to - dep_of_deps=$(( $dep_of_deps + 1 )) + update_to=" to $2" + echo "===>>> Launching child to update ${1#$pd/}${update_to}" - [ -n "$2" ] && update_to=" to $2" + dep_of_deps=$(( $dep_of_deps + 1 )) if [ -n "$CONFIG_ONLY" ]; then num_of_deps=$(( $num_of_deps + 1 )) - case "$1" in - */*) build_l="${build_l}\tInstall $1\n" ;; - *) build_l="${build_l}\tUpgrade ${1#$pd/}${update_to}\n" ;; - esac -#echo '' ; echo "Debug> num_deps $num_of_deps" + update_build_l $1 fi - echo "===>>> Launching child to update ${1#$pd/}${update_to}" - if [ -n "$PM_DEPTH" ]; then echo " ${PM_DEPTH}>> ${1#$pd/}" -term_printf "${PM_DEPTH#$PM_PARENT_PORT}>> ${1#$pd/} (${dep_of_deps}/${num_of_deps})" +term_printf " ${PM_DEPTH#* }>> ${1#$pd/} (${dep_of_deps}/${num_of_deps})" else if [ -n "$UPDATE_ALL" ]; then term_printf " >> ${1#$pd/} (${dep_of_deps}/${num_of_deps})" @@ -1704,7 +1725,7 @@ term_printf "${PM_DEPTH#$PM_PARENT_PORT} elif [ -n "$CONFIG_ONLY" -a -z "$PM_PACKAGES" ]; then echo "===>>> Continuing 'make config' dependency check for $portdir" else -term_printf "${PM_DEPTH#$PM_PARENT_PORT}(${dep_of_deps}/${num_of_deps})" +term_printf " ${PM_DEPTH#* }(${dep_of_deps}/${num_of_deps})" echo "===>>> Returning to dependency check for $portdir" fi return 0 @@ -1745,6 +1766,7 @@ dependency_check () { # Print a message here because sometimes list generation takes # a long time to return. echo "===>>> Gathering dependency list for $portdir from ports" + pm_cd_pd $portdir d_port_list=`pm_make $1 | sort -u` if [ -z "$d_port_list" ]; then @@ -1770,7 +1792,7 @@ dependency_check () { for dep in $d_port_list; do case "$rundeps" in *${dep}*) -# XXX +# XXX Need to figure out -t case varname=`echo ${dep#$pd/} | sed 's#[-+/\.]#_#g'` rundep_list="$rundep_list $varname" eval $varname=\"$portdir \$$varname\" @@ -1899,7 +1921,14 @@ dependency_check () { case "$PM_DEPTH" in *\>\>*) echo " $PM_DEPTH" ;; esac else echo "===>>> Dependency check complete for $portdir" - case "$PM_DEPTH" in *\>\>*) echo " $PM_DEPTH" ;; esac + case "$PM_DEPTH" in + *\>\>*) echo " $PM_DEPTH" ;; + *) if [ "$PM_PARENT_PORT" = All ]; then + term_printf " >> ${upg_port:-$portdir} (${dep_of_deps}/${num_of_deps})" + else + term_printf + fi ;; + esac fi } @@ -1917,28 +1946,14 @@ create_master_rb_list () { } post_config () { - local num answer action + local numdeps answer action - [ $num_of_deps -gt 0 ] && num=" (${num_of_deps})" - term_printf "$num" + [ $num_of_deps -gt 0 ] && numdeps=" (${num_of_deps})" + term_printf "$numdeps" -# XXX echo '' echo "===>>> If you choose to proceed, the following will be done:" - if [ -z "$UPDATE_ALL" ]; then -# XXX Needs something here for multiport() - if [ -n "$upg_port" ]; then - cd $pd/$portdir && new_port=`pm_make -V PKGNAME` - case `pkg_version -t $upg_port $new_port` in - \<) echo " Upgrade $upg_port to $new_port" ;; - =) echo " Re-install $upg_port" ;; - \>) echo " Downgrade $upg_port to $new_port" ;; - esac - else - echo " Install $portdir" - fi - fi - [ -n "$build_l" ] && echo -e "$build_l" + echo -e "$build_l" echo -n "===>>> Proceed? n/[y] " read answer case "$answer" in @@ -1992,8 +2007,8 @@ post_config () { init_term_printf () { PM_PARENT_PORT=$1 - num_of_deps=0 - dep_of_deps=0 + [ -z "$num_of_deps" ] && num_of_deps=0 + [ -z "$dep_of_deps" ] && dep_of_deps=0 export PM_PARENT_PORT num_of_deps dep_of_deps term_printf @@ -2042,6 +2057,7 @@ multiport () { portlist="${portlist}\t${port}\n" PM_MULTI_PORTS="${PM_MULTI_PORTS}${port}:" numports=$(( $numports + 1 )) + update_build_l $port done echo "===>>> Working on multiple ports:" @@ -2098,6 +2114,7 @@ make_config () { [ -n "$FORCE_CONFIG" ] && config_type=config [ -n "$PM_SU_VERBOSE" ] && echo "===>>> Running 'make $config_type'" + pm_cd_pd $portdir pm_make_s $config_type } @@ -2413,6 +2430,14 @@ else PM_DEPTH="${PM_DEPTH}>> ${upg_port:-$portdir} " fi +if [ -n "$CONFIG_ONLY" -a "$$" -eq "$PM_PARENT_PID" ]; then + if [ -n "$upg_port" ]; then + update_build_l $upg_port + else + build_l="${build_l}\tInstall $portdir\n" + fi +fi + echo '' [ "$$" -eq "$PM_PARENT_PID" -a -n "$upg_port" ] && echo "===>>> Currently installed version: $upg_port" @@ -2502,7 +2527,6 @@ if [ -n "$CONFIG_ONLY" ]; then if [ ! "$$" -eq "$PM_PARENT_PID" ]; then # Save state for the parent process to read back in echo "CONFIG_SEEN_LIST='$CONFIG_SEEN_LIST'" > $IPC_SAVE -# XXX config echo "num_of_deps='$num_of_deps'" >> $IPC_SAVE echo "build_l='$build_l'" >> $IPC_SAVE @@ -2560,7 +2584,7 @@ fi [ -z "$PM_BUILDING" ] && export PM_BUILDING=pmbuildingmain -cd $pd/$portdir +pm_cd_pd $portdir if [ -n "$PM_BUILD_ONLY_LIST" ]; then case "$build_only_dl_g" in @@ -2588,8 +2612,6 @@ elif [ -z "$NO_RECURSIVE_CONFIG" -a "$$" echo '' fi -[ "$$" -eq "$PM_PARENT_PID" ] && term_printf - if [ -n "$NO_ACTION" -a -z "$CONFIG_ONLY" ]; then [ -n "$PM_VERBOSE" ] && echo "===>>> Build canceled due to -n flag" safe_exit @@ -3136,7 +3158,7 @@ safe_exit #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# Copyright (c) 2005-2009 Douglas Barton +# Copyright (c) 2005-2010 Douglas Barton # All rights reserved. # # Redistribution and use in source and binary forms, with or without From owner-svn-src-user@FreeBSD.ORG Sat Jan 2 04:20:42 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 419061065672; Sat, 2 Jan 2010 04:20:42 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2EDCF8FC15; Sat, 2 Jan 2010 04:20:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o024Kg4S032072; Sat, 2 Jan 2010 04:20:42 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o024KgUq032069; Sat, 2 Jan 2010 04:20:42 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <201001020420.o024KgUq032069@svn.freebsd.org> From: Kip Macy Date: Sat, 2 Jan 2010 04:20:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r201376 - user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jan 2010 04:20:42 -0000 Author: kmacy Date: Sat Jan 2 04:20:41 2010 New Revision: 201376 URL: http://svn.freebsd.org/changeset/base/201376 Log: - don't allocate bufs for buffers less than 128k - they tend to not be for page aligned access - don't mark page as managed until immediately before freeing - mark buffer as valid at all places where we trust the data - mark buffer invalid before freeing so that vfs_bio will release the pages - move page to inactive queue immediately before freeing - fix overlap chacks - set bufobj for vmio / clear when pages are removed from the object Modified: user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_bio.c Modified: user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sat Jan 2 01:12:10 2010 (r201375) +++ user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sat Jan 2 04:20:41 2010 (r201376) @@ -1531,7 +1531,7 @@ arc_evict(arc_state_t *state, spa_t *spa ASSERT(state == arc_mru || state == arc_mfu); evicted_state = (state == arc_mru) ? arc_mru_ghost : arc_mfu_ghost; - recycle = (bytes & PAGE_MASK) ? recycle : FALSE; + recycle = (bytes == 128*1024) ? FALSE : recycle; if (type == ARC_BUFC_METADATA) { offset = 0; Modified: user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_bio.c ============================================================================== --- user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_bio.c Sat Jan 2 01:12:10 2010 (r201375) +++ user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_bio.c Sat Jan 2 04:20:41 2010 (r201376) @@ -120,12 +120,17 @@ MALLOC_DEFINE(M_ZFS_BIO, "zfs_bio", "zfs #define B_DATA B_00001000 -#define ZB_EVICT_ALL 0x1 -#define ZB_EVICT_BUFFERED 0x2 - -#define ZB_COPYIN 0x2 -#define ZB_COPYOUT 0x3 +typedef enum { + ZB_EVICT_ALL = 0x1, + ZB_EVICT_BUFFERED = 0x2 +} zb_evict_type_t; + +enum { + ZB_COPYIN = 0x2, + ZB_COPYOUT = 0x3 +}; + #define NO_TXG 0x0 #define btos(nbytes) ((nbytes)>>DEV_BSHIFT) @@ -546,6 +551,10 @@ zio_buf_blkno_remove_locked(vm_object_t */ state->zss_resident_count--; state->zss_generation++; + +#ifdef INVARIANTS + bp->b_right = bp->b_left = NULL; +#endif } static void @@ -625,16 +634,8 @@ zio_buf_vm_object_evict(buf_t bp) vm_page_lock_queues(); for (i = 0; i < bp->b_npages; i++) { m = bp->b_pages[i]; - vm_pageq_remove(m); - } - /* - * remove pages from backing vm_object - */ - for (i = 0; i < bp->b_npages; i++) { - m = bp->b_pages[i]; vm_page_remove(m); m->valid = 0; - m->flags |= PG_UNMANAGED; } vm_page_unlock_queues(); } @@ -657,14 +658,7 @@ zio_buf_vm_object_insert(buf_t bp, struc if (valid) m->valid = VM_PAGE_BITS_ALL; vm_page_insert(m, object, start + i); - m->flags &= ~PG_UNMANAGED; - } - vm_page_lock_queues(); - for (i = 0; i < bp->b_npages; i++) { - m = bp->b_pages[i]; - vm_page_enqueue(PQ_INACTIVE, m); } - vm_page_unlock_queues(); } /* @@ -680,7 +674,7 @@ zio_buf_vm_object_insert(buf_t bp, struc */ static void zio_buf_evict_overlap(vm_object_t object, daddr_t blkno, int size, - zio_spa_state_t state, uint64_t txg, int evict_op) + zio_spa_state_t state, uint64_t txg, zb_evict_type_t evict_op) { buf_t root, tmpbp, bp_prev; daddr_t blkno_end, tmpblkno, tmpblkno_end; @@ -695,14 +689,21 @@ zio_buf_evict_overlap(vm_object_t object collisions = 0; blkno_end = blkno + btos(size); - root = zio_buf_blkno_splay(blkno, root); - if (blkno < root->b_blkno) - tmpbp = TAILQ_PREV(root, cluster_list_head, b_freelist); + if ((root = zio_buf_blkno_splay(blkno, root)) == NULL) + goto done; + if ((blkno >= root->b_blkno) || + (tmpbp = TAILQ_PREV(root, cluster_list_head, b_freelist)) == NULL || + (blkno >= tmpbp->b_blkno + btos(tmpbp->b_bcount))) + tmpbp = root; + if ((blkno_end <= tmpbp->b_blkno) || + (blkno >= root->b_blkno + btos(root->b_bcount))) + goto done; + /* * Find all existing buffers that overlap with this range */ - bp_prev = tmpbp = tmpbp != NULL ? tmpbp : root; + bp_prev = tmpbp; while (tmpbp != NULL && tmpbp->b_blkno < blkno_end) { tmpblkno = tmpbp->b_blkno; tmpblkno_end = tmpblkno + btos(tmpbp->b_bcount); @@ -721,16 +722,16 @@ zio_buf_evict_overlap(vm_object_t object tmpbp = TAILQ_FIRST(&clh); TAILQ_REMOVE(&clh, tmpbp, b_cluster.cluster_entry); zio_buf_vm_object_evict(tmpbp); - + tmpbp->b_bufobj = NULL; tmpbp->b_flags &= ~B_VMIO; - state->zss_blkno_root = tmpbp; + tmpbp->b_blkno = tmpbp->b_lblkno = 0; /* * move buffer to the unmanaged tree */ zio_buf_blkno_remove_locked(object, tmpbp); } done: - if (!(collisions == 1 && tmpbp->b_blkno == blkno && + if (!(collisions == 1 && tmpbp != NULL && tmpbp->b_blkno == blkno && tmpbp->b_bcount == size) && (evict_op == ZB_EVICT_ALL)) { start = OFF_TO_IDX(stob(blkno)); end = start + OFF_TO_IDX(size); @@ -753,12 +754,11 @@ done: static void vm_object_reference_pages(vm_object_t object, buf_t bp) { - uint64_t blkno, size; vm_pindex_t start; vm_page_t m; int i; - start = OFF_TO_IDX(stob(blkno)); + start = OFF_TO_IDX(stob(bp->b_blkno)); vm_page_lock_queues(); for (i = 0; i < bp->b_npages; i++) { m = vm_page_lookup(object, start + i); @@ -853,12 +853,24 @@ void zio_relse(void *data, size_t size) { buf_t bp; + vm_page_t m; + int i; bp = zio_buf_va_remove(data, size); - if (bp->b_flags & B_VMIO) + if (bp->b_flags & B_VMIO) { + vm_page_lock_queues(); + for (i = 0; i < bp->b_npages; i++) { + m = bp->b_pages[i]; + m->wire_count--; + m->flags &= ~PG_UNMANAGED; + vm_page_deactivate(m); + m->wire_count++; /* brelse assumes wire_count is set */ + } + vm_page_unlock_queues(); zio_buf_blkno_remove(bp); - + } + if (bp->b_flags & B_MALLOC) { if (bp->b_flags & B_DATA) _zio_data_buf_free(bp->b_data, size); @@ -869,8 +881,8 @@ zio_relse(void *data, size_t size) CTR4(KTR_SPARE2, "arc_brelse() bp=%p flags %X" " size %ld blkno=%ld", bp, bp->b_flags, size, bp->b_blkno); - - bp->b_flags |= B_ZFS; + bp->b_flags |= (B_ZFS|B_INVAL); + bp->b_flags &= ~B_CACHE; brelse(bp); } } @@ -923,10 +935,15 @@ _zio_sync_cache(spa_t *spa, blkptr_t *bl zio_buf_evict_overlap(object, blkno, size, state, NO_TXG, ZB_EVICT_ALL); bp->b_blkno = bp->b_lblkno = blkno; + bp->b_bufobj = &vp->v_bufobj; bp->b_flags |= B_VMIO; bp->b_birth = txg; bp->b_state = state; zio_buf_blkno_insert(bp, state); + if (zio_op == ZIO_TYPE_WRITE) { + bp->b_flags |= B_CACHE; + bp->b_flags &= ~B_INVAL; + } zio_buf_vm_object_insert(bp, vp, object, zio_op == ZIO_TYPE_WRITE); VM_OBJECT_UNLOCK(object); } else { @@ -935,9 +952,11 @@ _zio_sync_cache(spa_t *spa, blkptr_t *bl zio_buf_evict_overlap(object, blkno, size, state, NO_TXG, ZB_EVICT_BUFFERED); bp->b_blkno = bp->b_lblkno = blkno; - bp->b_flags |= B_VMIO; + bp->b_bufobj = &vp->v_bufobj; + bp->b_flags |= (B_VMIO|B_CACHE); + bp->b_flags &= ~B_INVAL; bp->b_birth = txg; - bp->b_state = state; + bp->b_state = state; zio_buf_blkno_insert(bp, state); if (vm_pages_valid_locked(object, blkno, size)) { for (i = 0; i < bp->b_npages; i++) { @@ -966,8 +985,8 @@ _zio_cache_valid(void *data, uint64_t si if ((bp->b_flags & B_VMIO) == 0) return; for (i = 0; i < bp->b_npages; i++) { - KASSERT((bp->b_pages[i]->flags & PG_UNMANAGED) == 0, - ("validating unmanaged page")); + KASSERT(bp->b_pages[i]->object != NULL, + ("validating page not in object")); bp->b_pages[i]->valid = VM_PAGE_BITS_ALL; } bp->b_flags &= ~B_INVAL; From owner-svn-src-user@FreeBSD.ORG Sat Jan 2 05:29:07 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 78B061065679; Sat, 2 Jan 2010 05:29:07 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4ED1A8FC1A; Sat, 2 Jan 2010 05:29:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o025T7NJ047045; Sat, 2 Jan 2010 05:29:07 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o025T7M0047044; Sat, 2 Jan 2010 05:29:07 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <201001020529.o025T7M0047044@svn.freebsd.org> From: Kip Macy Date: Sat, 2 Jan 2010 05:29:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r201377 - user/kmacy/releng_8_rump X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jan 2010 05:29:07 -0000 Author: kmacy Date: Sat Jan 2 05:29:07 2010 New Revision: 201377 URL: http://svn.freebsd.org/changeset/base/201377 Log: create branch for porting NetBSD's "rump" framework Added: - copied from r201376, stable/8/ Directory Properties: user/kmacy/releng_8_rump/ (props changed) From owner-svn-src-user@FreeBSD.ORG Sat Jan 2 06:12:05 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EFC0A1065692; Sat, 2 Jan 2010 06:12:04 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DACF08FC17; Sat, 2 Jan 2010 06:12:04 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o026C4Ei056487; Sat, 2 Jan 2010 06:12:04 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o026C4m3056453; Sat, 2 Jan 2010 06:12:04 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <201001020612.o026C4m3056453@svn.freebsd.org> From: Kip Macy Date: Sat, 2 Jan 2010 06:12:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r201378 - in user/kmacy/releng_8_rump/sys/rump: . dev dev/lib dev/lib/libcgd dev/lib/libdisk dev/lib/libdm dev/lib/libnetsmb dev/lib/libraidframe dev/lib/librnd dev/wip dev/wip/libnet80... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jan 2010 06:12:05 -0000 Author: kmacy Date: Sat Jan 2 06:12:04 2010 New Revision: 201378 URL: http://svn.freebsd.org/changeset/base/201378 Log: import NetBSD's most recent rump bits Added: user/kmacy/releng_8_rump/sys/rump/ user/kmacy/releng_8_rump/sys/rump/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/Makefile.rump (contents, props changed) user/kmacy/releng_8_rump/sys/rump/README.dirs user/kmacy/releng_8_rump/sys/rump/TODO user/kmacy/releng_8_rump/sys/rump/dev/ user/kmacy/releng_8_rump/sys/rump/dev/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/Makefile.rumpdev (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/lib/ user/kmacy/releng_8_rump/sys/rump/dev/lib/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/lib/Makefile.inc (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/lib/libcgd/ user/kmacy/releng_8_rump/sys/rump/dev/lib/libcgd/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/lib/libcgd/component.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/lib/libcgd/shlib_version user/kmacy/releng_8_rump/sys/rump/dev/lib/libdisk/ user/kmacy/releng_8_rump/sys/rump/dev/lib/libdisk/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/lib/libdisk/dummy.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/lib/libdisk/shlib_version user/kmacy/releng_8_rump/sys/rump/dev/lib/libdm/ user/kmacy/releng_8_rump/sys/rump/dev/lib/libdm/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/lib/libdm/component.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/lib/libdm/shlib_version user/kmacy/releng_8_rump/sys/rump/dev/lib/libnetsmb/ user/kmacy/releng_8_rump/sys/rump/dev/lib/libnetsmb/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/lib/libnetsmb/component.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/lib/libnetsmb/shlib_version user/kmacy/releng_8_rump/sys/rump/dev/lib/libraidframe/ user/kmacy/releng_8_rump/sys/rump/dev/lib/libraidframe/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/lib/libraidframe/component.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/lib/libraidframe/shlib_version user/kmacy/releng_8_rump/sys/rump/dev/lib/librnd/ user/kmacy/releng_8_rump/sys/rump/dev/lib/librnd/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/lib/librnd/component.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/lib/librnd/shlib_version user/kmacy/releng_8_rump/sys/rump/dev/wip/ user/kmacy/releng_8_rump/sys/rump/dev/wip/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/Makefile.inc (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libnet80211/ user/kmacy/releng_8_rump/sys/rump/dev/wip/libnet80211/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libnet80211/shlib_version user/kmacy/releng_8_rump/sys/rump/dev/wip/librumpusbhc/ user/kmacy/releng_8_rump/sys/rump/dev/wip/librumpusbhc/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/librumpusbhc/shlib_version user/kmacy/releng_8_rump/sys/rump/dev/wip/libucom/ user/kmacy/releng_8_rump/sys/rump/dev/wip/libucom/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libucom/locators.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libucom/shlib_version user/kmacy/releng_8_rump/sys/rump/dev/wip/libucom/ucom.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libucom/ucom_at_usb.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libulpt/ user/kmacy/releng_8_rump/sys/rump/dev/wip/libulpt/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libulpt/shlib_version user/kmacy/releng_8_rump/sys/rump/dev/wip/libulpt/ulpt_at_usb.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libumass/ user/kmacy/releng_8_rump/sys/rump/dev/wip/libumass/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libumass/locators.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libumass/opt/ user/kmacy/releng_8_rump/sys/rump/dev/wip/libumass/opt/atapibus.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libumass/opt/opt_compat_freebsd.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libumass/opt/opt_scsi.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libumass/opt/scsibus.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libumass/opt/wd.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libumass/shlib_version user/kmacy/releng_8_rump/sys/rump/dev/wip/libusb/ user/kmacy/releng_8_rump/sys/rump/dev/wip/libusb/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libusb/bus_dma.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libusb/locators.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libusb/opt/ user/kmacy/releng_8_rump/sys/rump/dev/wip/libusb/opt/opt_usbverbose.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libusb/shlib_version user/kmacy/releng_8_rump/sys/rump/dev/wip/libusbrum/ user/kmacy/releng_8_rump/sys/rump/dev/wip/libusbrum/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libusbrum/rum_at_usb.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/dev/wip/libusbrum/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/ user/kmacy/releng_8_rump/sys/rump/fs/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/Makefile.rumpfs (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/ user/kmacy/releng_8_rump/sys/rump/fs/lib/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/Makefile.inc (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libcd9660/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libcd9660/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libcd9660/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/libefs/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libefs/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libefs/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/libext2fs/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libext2fs/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libext2fs/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/libfdesc/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libfdesc/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libfdesc/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/libffs/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libffs/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libffs/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/libhfs/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libhfs/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libhfs/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/liblfs/ user/kmacy/releng_8_rump/sys/rump/fs/lib/liblfs/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/liblfs/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/libmsdos/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libmsdos/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libmsdos/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/libnfs/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libnfs/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libnfs/fs_nfs.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libnfs/opt_nfs.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libnfs/opt_nfs_boot.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libnfs/opt_nfsserver.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libnfs/opt_tftproot.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libnfs/opt_uvmhist.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libnfs/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/libnfsserver/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libnfsserver/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libnfsserver/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/libnilfs/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libnilfs/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libnilfs/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/libntfs/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libntfs/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libntfs/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/libsmbfs/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libsmbfs/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libsmbfs/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/libsyspuffs/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libsyspuffs/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libsyspuffs/puffs_rumpglue.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libsyspuffs/puffs_rumpglue.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libsyspuffs/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/libsysvbfs/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libsysvbfs/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libsysvbfs/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/libtmpfs/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libtmpfs/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libtmpfs/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/lib/libudf/ user/kmacy/releng_8_rump/sys/rump/fs/lib/libudf/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/lib/libudf/shlib_version user/kmacy/releng_8_rump/sys/rump/fs/rumptest/ user/kmacy/releng_8_rump/sys/rump/fs/rumptest/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/fs/rumptest/rumptest.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/include/ user/kmacy/releng_8_rump/sys/rump/include/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/include/machine/ user/kmacy/releng_8_rump/sys/rump/include/machine/cpu.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/include/machine/intr.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/include/rump/ user/kmacy/releng_8_rump/sys/rump/include/rump/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/include/rump/makerumpdefs.sh (contents, props changed) user/kmacy/releng_8_rump/sys/rump/include/rump/rump.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/include/rump/rump_namei.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/include/rump/rump_syscalls.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/include/rump/rumpdefs.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/include/rump/rumpkern_if_pub.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/include/rump/rumpnet_if_pub.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/include/rump/rumpuser.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/include/rump/rumpvfs_if_pub.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/include/rump/rumpvnode_if.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/ldscript.rump user/kmacy/releng_8_rump/sys/rump/librump/ user/kmacy/releng_8_rump/sys/rump/librump/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/Makefile.inc (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/makerumpif.sh (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpcrypto/ user/kmacy/releng_8_rump/sys/rump/librump/rumpcrypto/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpcrypto/Makefile.rumpcrypto (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpdev/ user/kmacy/releng_8_rump/sys/rump/librump/rumpdev/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpdev/Makefile.rumpdev (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpdev/autoconf.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpdev/rump_dev.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpdev/rump_dev_private.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/ user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/Makefile.rumpkern (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/arch/ user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/arch/alpha/ user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/arch/alpha/Makefile.inc (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/arch/alpha/rumpcrud.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/arch/i386/ user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/arch/i386/Makefile.inc (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/arch/i386/rumpcpu.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/arch/i386/rumpspl.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/arch/mips/ user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/arch/mips/Makefile.inc (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/arch/x86_64/ user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/arch/x86_64/Makefile.inc (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/atomic_cas_generic.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/emul.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/intr.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/kobj_stubs.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/locks.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/ltsleep.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/memalloc.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/ user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/config_file.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/fs_ffs.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/fs_union.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/fss.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/ksyms.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_bufcache.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_compat_43.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_compat_netbsd.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_ddb.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_defcorename.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_dump.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_fileassoc.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_hz.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_ipkdb.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_kgdb.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_ktrace.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_lockdebug.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_magiclinks.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_modular.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_multiprocessor.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_nmbclusters.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_pool.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_poollog.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_ptrace.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_revcache.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_rtc_offset.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_sa.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_sysv.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_sysvparam.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_uvmhist.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/opt_vnode_lockdebug.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/rnd.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/opt/veriexec.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/percpu.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/pmap_stub.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/rump.3 (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/rump.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/rump_private.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/rump_syscalls.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/rumpcopy.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/rumpcpu_generic.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/rumpkern.ifspec user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/rumpkern_if_priv.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/rumpkern_if_wrappers.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/scheduler.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/sleepq.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/sysproxy_socket.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/threads.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpkern/vm.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/ user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/Makefile.rumpnet (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/net_stub.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/netisr.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/opt/ user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/opt/arp.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/opt/opt_atalk.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/opt/opt_inet.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/opt/opt_inet6.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/opt/opt_iso.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/opt/opt_mbuftrace.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/opt/opt_natm.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/opt/opt_pipe.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/opt/opt_sb_max.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/opt/opt_sock_counters.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/opt/opt_somaxkva.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/opt/opt_sosend_loan.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/opt/pfsync.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/rump_net.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/rump_net_private.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/rumpnet.ifspec user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/rumpnet_if_priv.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpnet/rumpnet_if_wrappers.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpuser/ user/kmacy/releng_8_rump/sys/rump/librump/rumpuser/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpuser/rumpuser.3 (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpuser/rumpuser.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpuser/rumpuser_dl.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpuser/rumpuser_int.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpuser/rumpuser_net.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpuser/rumpuser_pth.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpuser/rumpuser_pth_dummy.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/ user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/Makefile.rumpvfs (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/compat.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/devnodes.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/devnull.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/fstrans_stub.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/rump_vfs.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/rump_vfs_private.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/rumpblk.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/rumpfs.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/rumpvfs.ifspec user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/rumpvfs_if_priv.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/rumpvfs_if_wrappers.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/rumpvnode_if.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/vfsops_stub.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/rumpvfs/vm_vfs.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/test/ user/kmacy/releng_8_rump/sys/rump/librump/test/sysproxy/ user/kmacy/releng_8_rump/sys/rump/librump/test/sysproxy/client/ user/kmacy/releng_8_rump/sys/rump/librump/test/sysproxy/client/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/test/sysproxy/client/sysproxy_client.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/test/sysproxy/serv/ user/kmacy/releng_8_rump/sys/rump/librump/test/sysproxy/serv/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/librump/test/sysproxy/serv/sysproxy_serv.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/ user/kmacy/releng_8_rump/sys/rump/net/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/Makefile.rumpnet (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/ user/kmacy/releng_8_rump/sys/rump/net/lib/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/Makefile.inc (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/liblocal/ user/kmacy/releng_8_rump/sys/rump/net/lib/liblocal/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/liblocal/component.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/liblocal/shlib_version user/kmacy/releng_8_rump/sys/rump/net/lib/libnet/ user/kmacy/releng_8_rump/sys/rump/net/lib/libnet/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnet/component.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnet/opt/ user/kmacy/releng_8_rump/sys/rump/net/lib/libnet/opt/agr.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnet/opt/bpfilter.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnet/opt/bridge.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnet/opt/carp.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnet/opt/opt_ipx.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnet/opt/opt_pfil_hooks.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnet/opt/opt_pppoe.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnet/opt/opt_route.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnet/opt/pppoe.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnet/opt/vlan.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnet/shlib_version user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/ user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/Makefile.inc (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/component.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/ user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/arcnet.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/etherip.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/faith.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/fddi.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/gif.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/gre.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/opt_eon.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/opt_gateway.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/opt_inet_conf.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/opt_inet_csum.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/opt_ipsec.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/opt_mrouting.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/opt_pim.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/opt_tcp_compat_42.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/opt_tcp_congctl.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/opt_tcp_debug.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/opt_tcp_space.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/rnd.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/opt/token.h (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libnetinet/shlib_version user/kmacy/releng_8_rump/sys/rump/net/lib/libshmif/ user/kmacy/releng_8_rump/sys/rump/net/lib/libshmif/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libshmif/if_shmem.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libshmif/shlib_version user/kmacy/releng_8_rump/sys/rump/net/lib/libsockin/ user/kmacy/releng_8_rump/sys/rump/net/lib/libsockin/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libsockin/component.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libsockin/shlib_version user/kmacy/releng_8_rump/sys/rump/net/lib/libsockin/sockin.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libvirtif/ user/kmacy/releng_8_rump/sys/rump/net/lib/libvirtif/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libvirtif/component.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libvirtif/if_virt.c (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/lib/libvirtif/shlib_version user/kmacy/releng_8_rump/sys/rump/net/rumptest/ user/kmacy/releng_8_rump/sys/rump/net/rumptest/Makefile (contents, props changed) user/kmacy/releng_8_rump/sys/rump/net/rumptest/rumptest_net.c (contents, props changed) Added: user/kmacy/releng_8_rump/sys/rump/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/Makefile Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,6 @@ +# $NetBSD: Makefile,v 1.5 2009/09/04 17:21:34 pooka Exp $ +# + +SUBDIR= include librump dev fs net + +.include Added: user/kmacy/releng_8_rump/sys/rump/Makefile.rump ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/Makefile.rump Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,82 @@ +# $NetBSD: Makefile.rump,v 1.45 2009/12/12 17:10:19 pooka Exp $ +# + +WARNS?= 3 # XXX: src/sys won't compile with -Wsign-compare yet +NOLINT= # kernel code + +.include + +# use kernel ABI instead of rump ABI (needs md code) +.ifndef RUMPKMOD +CPPFLAGS:= -I${RUMPTOP}/include ${CPPFLAGS} +.endif + +CFLAGS+= -ffreestanding -fno-strict-aliasing +CWARNFLAGS+= -Wno-format-zero-length +CPPFLAGS+= -D_RUMPKERNEL +CPPFLAGS+= -D_KERNEL -DMULTIPROCESSOR -D_MODULE -DMODULAR +CPPFLAGS+= -DMAXUSERS=32 +CPPFLAGS+= -DDIAGNOSTIC +CPPFLAGS+= -DCOMPAT_50 +CPPFLAGS+= -DDEBUGPRINT +CPPFLAGS+= -I${.CURDIR} -I. +CPPFLAGS+= -I${RUMPTOP}/../../common/include -I${RUMPTOP}/../arch +CPPFLAGS+= -I${RUMPTOP}/include +CPPFLAGS+= -I${RUMPTOP}/librump/rumpkern/opt +CPPFLAGS+= -nostdinc -I${RUMPTOP}/.. +LDFLAGS+= -T ${RUMPTOP}/ldscript.rump +#CPPFLAGS+= -DDEBUG + +# kernel libs should not get linked against libc +# XXX: actually, we would like to enable this but cannot, since it +# also leaves out libgcc, it causes problems on some platforms. +# revisit some day. +#LDFLAGS+= -nodefaultlibs + +# make sure __NetBSD__ gets defined (for builds on non-NetBSD) +CPPFLAGS+= -D__NetBSD__ + +RUMPKERNEL= This is NetBSD and I am the rump. Good evening. + +# workaround: evbppc is not a well-defined arch +.if (${MACHINE} == "evbppc") +CPPFLAGS+= -DPPC_OEA +.endif + +# If this file changes, we need a full rebuild +DPSRCS+= ${RUMPTOP}/Makefile.rump + +# +# Rename library symbols before use. If a symbol does not already belong +# to a rump namespace ("rump" or "RUMP"), prefix it with "rumpns". This +# avoids accidentally linking any kernel symbol against host platform +# libraries. The only non-renamed symbols are linkset delimiters and +# the GOT, which are more a property of the compiler than the kernel. +# +# Some toolchains generate unresolved symbols which are supposed to be +# satisfied by the toolchain itself when the program is linked. +# Unfortunately, we do not know which of the symbols are generated by +# the toolchain. Worse, they vary from platform to platform and +# toolchain to toolchain. The good news, however, is that this will +# be detected by a compile-time failure, so we can fairly easily manage +# a quirktable here. +.if ${MACHINE_CPU} == "mips" +_SYMQUIRK='|_gp_disp' +.elif ${MACHINE_CPU} == "hppa" +_SYMQUIRK='|\$$\$$' +.endif +__archivebuild: .USE + ${_MKTARGET_BUILD} + rm -f ${.TARGET} + ${AR} ${_ARFL} ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}` + ${NM} -go ${.TARGET} | ${TOOL_AWK} ' \ + $$NF!~/^(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}')/ \ + {printf "%s rumpns_%s\n", $$NF, $$NF}' \ + | sort | uniq > renametab.${.TARGET} + ${OBJCOPY} --preserve-dates --redefine-syms \ + renametab.${.TARGET} ${.TARGET} + rm -f renametab.${.TARGET} + ${AR} ${_ARRANFL} ${.TARGET} + +.-include "${NETBSDSRCDIR}/sys/arch/${MACHINE_CPU}/include/Makefile.inc" +.-include "${NETBSDSRCDIR}/sys/arch/${MACHINE}/include/Makefile.inc" Added: user/kmacy/releng_8_rump/sys/rump/README.dirs ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/README.dirs Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,44 @@ + $NetBSD: README.dirs,v 1.9 2009/09/04 10:54:44 pooka Exp $ + + Runnable Userspace Meta Programs + +Quick rundown of the current directory structure: + +sys/rump/librump - kernel runtime emulation + /rumpkern - kernel core, e.g. syscall, interrupt and lock support + /rumpuser - userspace namespace support for rump, *NO* -D_KERNEL + provides e.g. malloc() and some syscalls + + /rumpcrypto - kernel cryptographic routines + /rumpdev - device support, e.g. autoconf subsystem + /rumpnet - networking support and sockets layer + /rumpvfs - file system support + +sys/rump/include + /machine - used for architectures where the rump ABI is not yet the + same as the kernel module ABI. will eventually disappear + completely + /rump - rump headers installed to userspace + +sys/rump/dev - device components + +sys/rump/fs - file system components + /lib/lib${fs} - kernel file system code compiled out of /sys with -D_KERNEL + +sys/rump/net - networking components + /lib/libnet - subroutines from sys/net, e.g. route and if_ethersubr + /lib/libnetinet - TCP/IP + /lib/libvirtif - a virtual interface which uses host tap(4) to shovel + packets. This is used by netinet and if_ethersubr. + /lib/libsockin - implements PF_INET using host kernel sockets. This is + mutually exclusive with net, netinet and virtif. + +Users: +src/lib + /libp2k - puffs-to-vfs adaption layer, userspace namespace + /libukfs - user kernel file system, a library to access file system + images (or devices) directly in userspace without going + through a system call and puffs + +src/usr.sbin/puffs + rump_$fs - userspace file system daemons using the kernel fs code Added: user/kmacy/releng_8_rump/sys/rump/TODO ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/TODO Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,14 @@ + $NetBSD: TODO,v 1.7 2009/11/26 10:10:50 pooka Exp $ + +* fix the build structure to work better on non-NetBSD + = available in pkgsrc/misc/rump +* figure out how to handle mount parameters in fs-independent + fashion (requires kernel changes) + = generic fs-mounting, GSoC 2009 +* integrate build framework with config(1) to stop the need to + maintain a separate build infrastructure +* find a better solution for rumpdefs.h, the sed "solution" + doesn't really scale nicely +* make rumpuser interface fully portable + + get rid of all non-standard binary types + + limit use of ioctl Added: user/kmacy/releng_8_rump/sys/rump/dev/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/Makefile Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,6 @@ +# $NetBSD: Makefile,v 1.1 2009/06/09 16:16:14 pooka Exp $ +# + +SUBDIR= lib + +.include Added: user/kmacy/releng_8_rump/sys/rump/dev/Makefile.rumpdev ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/Makefile.rumpdev Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,9 @@ +# $NetBSD: Makefile.rumpdev,v 1.6 2009/12/04 22:13:59 haad Exp $ +# + +RUMPDEVLIST= cgd disk netsmb raidframe rnd dm + +.for var in ${RUMPDEVLIST} +RUMPDEVLIBS+=lib${var} +RUMPDEVLDADD+=-lrumpdev_${var} +.endfor Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/Makefile Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,8 @@ +# $NetBSD: Makefile,v 1.1 2009/06/09 16:16:15 pooka Exp $ +# + +.include "${.CURDIR}/../Makefile.rumpdev" + +SUBDIR+= ${RUMPDEVLIBS} + +.include Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/Makefile.inc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/Makefile.inc Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,7 @@ +# $NetBSD: Makefile.inc,v 1.2 2009/09/04 17:21:34 pooka Exp $ +# + +RUMPTOP= ${.CURDIR}/../../.. +CPPFLAGS+= -I${RUMPTOP}/librump/rumpdev -I${RUMPTOP}/librump/rumpdev/opt + +.include "${RUMPTOP}/Makefile.rump" Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/libcgd/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/libcgd/Makefile Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,16 @@ +# $NetBSD: Makefile,v 1.2 2009/09/07 11:23:39 pooka Exp $ +# + +.PATH: ${.CURDIR}/../../../../dev + +LIB= rumpdev_cgd + +SRCS= cgd.c cgd_crypto.c + +SRCS+= component.c + +CPPFLAGS+= -Wno-pointer-sign +CPPFLAGS+= -I${RUMPTOP}/librump/rumpvfs + +.include +.include Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/libcgd/component.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/libcgd/component.c Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,64 @@ +/* $NetBSD: component.c,v 1.4 2009/12/03 15:06:04 pooka Exp $ */ + +/* + * Copyright (c) 2009 Antti Kantee. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY 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. + */ + +#include +__KERNEL_RCSID(0, "$NetBSD: component.c,v 1.4 2009/12/03 15:06:04 pooka Exp $"); + +#include +#include +#include +#include + +#include "rump_dev_private.h" +#include "rump_vfs_private.h" + +void cgdattach(int); + +void +rump_dev_cgd_init() +{ + extern const struct bdevsw cgd_bdevsw; + extern const struct cdevsw cgd_cdevsw; + devmajor_t bmaj, cmaj; + int error; + + /* go, mydevfs */ + bmaj = cmaj = -1; + + if ((error = devsw_attach("/dev/cgd0", &cgd_bdevsw, &bmaj, + &cgd_cdevsw, &cmaj)) != 0) + panic("cannot attach cgd: %d", error); + + if ((error = rump_vfs_makedevnodes(S_IFBLK, "cgd0", 'a', + bmaj, 0, 7)) != 0) + panic("cannot create cooked cgd dev nodes: %d", error); + if ((error = rump_vfs_makedevnodes(S_IFCHR, "/dev/rcgd0", 'a', + cmaj, 0, 7)) != 0) + panic("cannot create raw cgd dev nodes: %d", error); + + rump_pdev_add(cgdattach, 4); +} Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/libcgd/shlib_version ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/libcgd/shlib_version Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,4 @@ +# $NetBSD: shlib_version,v 1.1 2009/07/20 18:09:20 pooka Exp $ +# +major=0 +minor=0 Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/libdisk/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/libdisk/Makefile Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,24 @@ +# $NetBSD: Makefile,v 1.6 2009/11/23 13:40:11 pooka Exp $ +# + +.PATH: ${.CURDIR}/../../../../kern \ + ${.CURDIR}/../../../../dev ${.CURDIR}/../../../../dev/dkwedge + +LIB= rumpdev_disk + +# +# We use subr_disk_mbr on all platforms. The current structure of +# code allows us to pick only one readdisklabel() routine. While +# this is not the native one for all platforms, it's probably the +# most common one in an image floating on the internetto. +SRCS= subr_disk_mbr.c + +# sys/kern +SRCS+= subr_disk.c subr_disk_open.c +# sys/dev +SRCS+= dksubr.c dk.c + +CFLAGS+= -Wno-pointer-sign + +.include +.include Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/libdisk/dummy.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/libdisk/dummy.c Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1 @@ +int kludge; Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/libdisk/shlib_version ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/libdisk/shlib_version Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,4 @@ +# $NetBSD: shlib_version,v 1.1 2009/06/09 16:16:15 pooka Exp $ +# +major=0 +minor=0 Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/libdm/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/libdm/Makefile Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,19 @@ +# $NetBSD: Makefile,v 1.1 2009/12/04 22:13:59 haad Exp $ +# + +.PATH: ${.CURDIR}/../../../../dev/dm + +LIB= rumpdev_dm + +SRCS= device-mapper.c dm_dev.c dm_ioctl.c dm_pdev.c dm_table.c dm_target.c \ + dm_target_linear.c dm_target_stripe.c + +SRCS+= component.c + +CPPFLAGS+= -Wno-pointer-sign +CPPFLAGS+= -I${RUMPTOP}/librump/rumpvfs + +LDADD+= -lrumpvfs + +.include +.include Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/libdm/component.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/libdm/component.c Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,68 @@ +/* $NetBSD: component.c,v 1.1 2009/12/04 22:13:59 haad Exp $ */ + +/* + * Copyright (c) 2009 Antti Kantee. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY 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. + */ + +#include +__KERNEL_RCSID(0, "$NetBSD: component.c,v 1.1 2009/12/04 22:13:59 haad Exp $"); + +#include +#include +#include +#include +#include + +#include + + +#include "rump_dev_private.h" +#include "rump_vfs_private.h" + +void dmattach(int); + +void +rump_dev_dm_init() +{ + extern const struct bdevsw dm_bdevsw; + extern const struct cdevsw dm_cdevsw; + devmajor_t bmaj, cmaj; + int error; + + /* go, mydevfs */ + bmaj = cmaj = -1; + + if ((error = devsw_attach("dm", &dm_bdevsw, &bmaj, + &dm_cdevsw, &cmaj)) != 0) + panic("cannot attach dm: %d", error); + + do_sys_mkdir("/dev/mapper", 0770, UIO_SYSSPACE); + + if ((error = rump_vfs_makedevnodes(S_IFCHR, "/dev/mapper/control", 0, + cmaj, 0, 1)) != 0) { + panic("cannot create device-mapper control device: %d", error); + + } + rump_pdev_add(dmattach, 1); +} Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/libdm/shlib_version ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/libdm/shlib_version Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,4 @@ +# $NetBSD: shlib_version,v 1.1 2009/12/04 22:13:59 haad Exp $ +# +major=0 +minor=0 Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/libnetsmb/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/libnetsmb/Makefile Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,19 @@ +# $NetBSD: Makefile,v 1.2 2009/09/06 20:42:26 pooka Exp $ +# + +.PATH: ${.CURDIR}/../../../../netsmb + +LIB= rumpdev_netsmb + +SRCS= iconv.c smb_conn.c smb_crypt.c smb_dev.c smb_iod.c smb_rq.c \ + smb_smb.c smb_subr.c smb_trantcp.c smb_usr.c subr_mchain.c + +SRCS+= component.c + +CPPFLAGS+= -I${RUMPTOP}/librump/rumpvfs +#CPPFLAGS+= -DSMB_SOCKET_DEBUG -DSMB_IOD_DEBUG + +CFLAGS+= -Wno-pointer-sign + +.include +.include Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/libnetsmb/component.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/libnetsmb/component.c Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,58 @@ +/* $NetBSD: component.c,v 1.3 2009/12/03 15:06:04 pooka Exp $ */ + +/* + * Copyright (c) 2009 Antti Kantee. All Rights Reserved. + * + * Development of this software was supported by The Nokia Foundation + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY 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. + */ + +#include +__KERNEL_RCSID(0, "$NetBSD: component.c,v 1.3 2009/12/03 15:06:04 pooka Exp $"); + +#include +#include +#include +#include + +#include "rump_dev_private.h" +#include "rump_vfs_private.h" + +void nsmbattach(int); /* XXX */ + +void +rump_dev_netsmb_init() +{ + extern const struct cdevsw nsmb_cdevsw; + devmajor_t bmaj, cmaj; + int error; + + bmaj = cmaj = NODEVMAJOR; + if ((error = devsw_attach("nsmb", NULL, &bmaj, &nsmb_cdevsw, &cmaj))!=0) + panic("nsmb devsw attach failed: %d", error); + if ((error = rump_vfs_makedevnodes(S_IFCHR, "/dev/nsmb", '0', + cmaj, 0, 4)) != 0) + panic("cannot create nsmb device nodes: %d", error); + + rump_pdev_add(nsmbattach, 4); +} Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/libnetsmb/shlib_version ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/libnetsmb/shlib_version Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,4 @@ +# $NetBSD: shlib_version,v 1.1 2009/09/04 12:20:42 pooka Exp $ +# +major=0 +minor=0 Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/libraidframe/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/libraidframe/Makefile Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,29 @@ +# $NetBSD: Makefile,v 1.3 2009/11/23 12:23:20 pooka Exp $ +# + +.PATH: ${.CURDIR}/../../../../dev/raidframe + +LIB= rumpdev_raidframe + +SRCS= rf_acctrace.c rf_alloclist.c rf_aselect.c rf_callback.c \ + rf_chaindecluster.c rf_copyback.c rf_cvscan.c rf_dagdegrd.c \ + rf_dagdegwr.c rf_dagffrd.c rf_dagffwr.c rf_dagfuncs.c \ + rf_dagutils.c rf_debugMem.c rf_debugprint.c rf_decluster.c \ + rf_declusterPQ.c rf_diskqueue.c rf_disks.c rf_driver.c \ + rf_engine.c rf_evenodd.c rf_evenodd_dagfuncs.c rf_evenodd_dags.c\ + rf_fifo.c rf_interdecluster.c rf_invertq.c rf_layout.c \ + rf_map.c rf_mcpair.c rf_netbsdkintf.c rf_nwayxor.c rf_options.c \ + rf_paritylog.c rf_paritylogDiskMgr.c rf_paritylogging.c \ + rf_parityloggingdags.c rf_parityscan.c rf_pq.c rf_pqdeg.c \ + rf_pqdegdags.c rf_psstatus.c rf_raid0.c rf_raid1.c rf_raid4.c \ + rf_raid5.c rf_raid5_rotatedspare.c rf_reconbuffer.c \ + rf_reconmap.c rf_reconstruct.c rf_reconutil.c rf_revent.c \ + rf_shutdown.c rf_sstf.c rf_states.c rf_stripelocks.c \ + rf_strutils.c rf_utils.c rf_compat50.c rf_paritymap.c + +SRCS+= component.c + +CPPFLAGS+= -I${RUMPTOP}/librump/rumpvfs + +.include +.include Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/libraidframe/component.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/libraidframe/component.c Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,66 @@ +/* $NetBSD: component.c,v 1.4 2009/12/03 15:06:04 pooka Exp $ */ + +/* + * Copyright (c) 2009 Antti Kantee. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY 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. + */ + +#include +__KERNEL_RCSID(0, "$NetBSD: component.c,v 1.4 2009/12/03 15:06:04 pooka Exp $"); + +#include +#include +#include +#include + +#include "rump_dev_private.h" +#include "rump_vfs_private.h" + +CFDRIVER_DECL(raid, DV_DISK, NULL); + +void raidattach(int); + +void +rump_dev_raidframe_init() +{ + extern const struct bdevsw raid_bdevsw; + extern const struct cdevsw raid_cdevsw; + devmajor_t bmaj, cmaj; + int error; + + config_cfdriver_attach(&raid_cd); + + bmaj = cmaj = -1; + if ((error = devsw_attach("raid", &raid_bdevsw, &bmaj, + &raid_cdevsw, &cmaj)) != 0) + panic("raid devsw attach failed: %d", error); + + if ((error = rump_vfs_makedevnodes(S_IFBLK, "/dev/raid0", 'a', + bmaj, 0, 7)) != 0) + panic("cannot create cooked raid dev nodes: %d", error); + if ((error = rump_vfs_makedevnodes(S_IFCHR, "/dev/rraid0", 'a', + cmaj, 0, 7)) != 0) + panic("cannot create raw raid dev nodes: %d", error); + + rump_pdev_add(raidattach, 4); +} Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/libraidframe/shlib_version ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/libraidframe/shlib_version Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,4 @@ +# $NetBSD: shlib_version,v 1.1 2009/06/09 16:16:15 pooka Exp $ +# +major=0 +minor=0 Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/librnd/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/librnd/Makefile Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,16 @@ +# $NetBSD: Makefile,v 1.1 2009/09/08 20:12:52 pooka Exp $ +# + +.PATH: ${.CURDIR}/../../../../dev + +LIB= rumpdev_rnd + +SRCS= rnd.c rndpool.c + +SRCS+= component.c + +CPPFLAGS+= -Wno-pointer-sign +CPPFLAGS+= -I${RUMPTOP}/librump/rumpvfs + +.include +.include Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/librnd/component.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/librnd/component.c Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,66 @@ +/* $NetBSD: component.c,v 1.2 2009/12/03 15:06:04 pooka Exp $ */ + +/* + * Copyright (c) 2009 Antti Kantee. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY 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. + */ + +#include +__KERNEL_RCSID(0, "$NetBSD: component.c,v 1.2 2009/12/03 15:06:04 pooka Exp $"); + +#include +#include +#include +#include +#include + +#include "rump_dev_private.h" +#include "rump_vfs_private.h" + +void rndattach(int); + +void +rump_dev_rnd_init() +{ + extern const struct cdevsw rnd_cdevsw; + devmajor_t bmaj, cmaj; + int error; + + /* go, mydevfs */ + bmaj = cmaj = -1; + + if ((error = devsw_attach("random", NULL, &bmaj, + &rnd_cdevsw, &cmaj)) != 0) + panic("cannot attach rnd: %d", error); + + /* XXX: truly hideous interface abuse */ + if ((error = rump_vfs_makedevnodes(S_IFCHR, "/dev/random", 0, + cmaj, RND_DEV_RANDOM, 1)) != 0) + panic("cannot create /dev/random: %d", error); + if ((error = rump_vfs_makedevnodes(S_IFCHR, "/dev/urandom", 0, + cmaj, RND_DEV_URANDOM, 1)) != 0) + panic("cannot create /dev/urandom: %d", error); + + rump_pdev_add(rndattach, 4); + rnd_init(); +} Added: user/kmacy/releng_8_rump/sys/rump/dev/lib/librnd/shlib_version ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/lib/librnd/shlib_version Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,4 @@ +# $NetBSD: shlib_version,v 1.1 2009/09/08 20:12:52 pooka Exp $ +# +major=0 +minor=0 Added: user/kmacy/releng_8_rump/sys/rump/dev/wip/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/wip/Makefile Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,6 @@ +# $NetBSD: Makefile,v 1.3 2009/12/20 15:43:57 pooka Exp $ +# + +SUBDIR= libnet80211 librumpusbhc libucom libumass libulpt libusb libusbrum + +.include Added: user/kmacy/releng_8_rump/sys/rump/dev/wip/Makefile.inc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/wip/Makefile.inc Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,8 @@ +# $NetBSD: Makefile.inc,v 1.1 2009/10/01 21:46:30 pooka Exp $ +# + +RUMPTOP= ${.CURDIR}/../../.. + +CPPFLAGS+= -I${RUMPTOP}/librump/rumpdev + +.include "${RUMPTOP}/Makefile.rump" Added: user/kmacy/releng_8_rump/sys/rump/dev/wip/libnet80211/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/wip/libnet80211/Makefile Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,19 @@ +# $NetBSD: Makefile,v 1.1 2009/10/04 10:40:40 pooka Exp $ +# + +.PATH: ${.CURDIR}/../../../../net80211 + +LIB= rumpdev_net80211 + +SRCS= ieee80211.c ieee80211_acl.c ieee80211_amrr.c ieee80211_crypto.c \ + ieee80211_crypto_ccmp.c ieee80211_crypto_none.c \ + ieee80211_crypto_tkip.c ieee80211_crypto_wep.c ieee80211_input.c\ + ieee80211_ioctl.c ieee80211_netbsd.c ieee80211_node.c \ + ieee80211_output.c ieee80211_proto.c ieee80211_rssadapt.c \ + ieee80211_xauth.c + +CFLAGS+= -Wno-pointer-sign +CPPFLAGS+= -I${.CURDIR}/opt -I${RUMPTOP}/librump/rumpnet/opt + +.include +.include Added: user/kmacy/releng_8_rump/sys/rump/dev/wip/libnet80211/shlib_version ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/wip/libnet80211/shlib_version Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,4 @@ +# $NetBSD: shlib_version,v 1.1 2009/10/04 10:40:40 pooka Exp $ +# +major=0 +minor=0 Added: user/kmacy/releng_8_rump/sys/rump/dev/wip/librumpusbhc/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/wip/librumpusbhc/Makefile Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,11 @@ +# $NetBSD: Makefile,v 1.2 2009/10/05 13:00:37 pooka Exp $ +# + +LIB= rumpdev_usbhc + +SRCS= rumpusbhc.c + +CPPFLAGS+= -I${RUMPTOP}/librump/rumpkern + +.include +.include Added: user/kmacy/releng_8_rump/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/releng_8_rump/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c Sat Jan 2 06:12:04 2010 (r201378) @@ -0,0 +1,1016 @@ +/* $NetBSD: rumpusbhc.c,v 1.10 2009/12/20 15:32:46 pooka Exp $ */ + +/* + * Copyright (c) 2009 Antti Kantee. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY 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. + */ + +/* + * Copyright (c) 1998, 2004 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY 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. + */ + +/* + * This rump driver attaches ugen as a kernel usb host controller. + * It's still somewhat under the hammer .... + */ + +#include +__KERNEL_RCSID(0, "$NetBSD: rumpusbhc.c,v 1.10 2009/12/20 15:32:46 pooka Exp $"); + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + +#include "rump_private.h" +#include "rump_dev_private.h" + +#define UGEN_NEPTS 16 +#define UGEN_EPT_CTRL 0 /* ugenx.00 is the control endpoint */ + +struct rumpusbhc_softc { + struct usbd_bus sc_bus; + int sc_devnum; + + int sc_ugenfd[UGEN_NEPTS]; + int sc_fdmodes[UGEN_NEPTS]; + + int sc_port_status; + int sc_port_change; + int sc_addr; + int sc_conf; +}; + +static const struct cfiattrdata usb_iattrdata = { + "usbus", 0, { + { NULL, NULL, 0 }, + } +}; +static const struct cfiattrdata *const rumpusbhc_attrs[] = { + &usb_iattrdata, + NULL, +}; + +static int rumpusbhc_probe(struct device *, struct cfdata *, void *); +static void rumpusbhc_attach(struct device *, struct device *, void *); + +CFATTACH_DECL_NEW(rumpusbhc, sizeof(struct rumpusbhc_softc), + rumpusbhc_probe, rumpusbhc_attach, NULL, NULL); +CFDRIVER_DECL(rumpusbhc, DV_DULL, rumpusbhc_attrs); + +struct cfparent rumpusbhcpar = { + "mainbus", + "mainbus", + DVUNIT_ANY +}; + +struct rusb_xfer { + struct usbd_xfer rusb_xfer; + int rusb_status; /* now this is a cheap trick */ +}; +#define RUSB(x) ((struct rusb_xfer *)x) + +/* probe ugen0 through ugen3 */ +struct cfdata rumpusbhc_cfdata[] = { + { "rumpusbhc", "rumpusbhc", 0, FSTATE_NOTFOUND, NULL, 0, &rumpusbhcpar}, + { "rumpusbhc", "rumpusbhc", 1, FSTATE_NOTFOUND, NULL, 0, &rumpusbhcpar}, + { "rumpusbhc", "rumpusbhc", 2, FSTATE_NOTFOUND, NULL, 0, &rumpusbhcpar}, + { "rumpusbhc", "rumpusbhc", 3, FSTATE_NOTFOUND, NULL, 0, &rumpusbhcpar}, +}; + +#define UGENDEV_BASESTR "/dev/ugen" +#define UGENDEV_BUFSIZE 32 +static void +makeugendevstr(int devnum, int endpoint, char *buf) +{ + + CTASSERT(UGENDEV_BUFSIZE > sizeof(UGENDEV_BASESTR)+sizeof("0.00")+1); + sprintf(buf, "%s%d.%02d", UGENDEV_BASESTR, devnum, endpoint); +} + +/* + * Our fictional hubbie. + */ + +static const usb_device_descriptor_t rumphub_udd = { + .bLength = USB_DEVICE_DESCRIPTOR_SIZE, + .bDescriptorType = UDESC_DEVICE, + .bDeviceClass = UDCLASS_HUB, + .bDeviceSubClass = UDSUBCLASS_HUB, + .bDeviceProtocol = UDPROTO_FSHUB, + .bMaxPacketSize = 64, + .bNumConfigurations = 1, +}; + +static const usb_config_descriptor_t rumphub_ucd = { + .bLength = USB_CONFIG_DESCRIPTOR_SIZE, + .bDescriptorType = UDESC_CONFIG, + .wTotalLength = { USB_CONFIG_DESCRIPTOR_SIZE + + USB_INTERFACE_DESCRIPTOR_SIZE + + USB_ENDPOINT_DESCRIPTOR_SIZE }, + .bNumInterface = 1, + .bmAttributes = UC_SELF_POWERED | UC_ATTR_MBO, +}; +/* XXX: spec says UC_ATTR_MBO is reserved and set to one. required? */ + +static const usb_interface_descriptor_t rumphub_uid = { + .bLength = USB_INTERFACE_DESCRIPTOR_SIZE, + .bDescriptorType = UDESC_INTERFACE, + .bInterfaceNumber = 0, + .bNumEndpoints = 1, + .bInterfaceClass = UICLASS_HUB, + .bInterfaceSubClass = UISUBCLASS_HUB, + .bInterfaceProtocol = UIPROTO_FSHUB, +}; + +static const usb_endpoint_descriptor_t rumphub_epd = { + .bLength = USB_ENDPOINT_DESCRIPTOR_SIZE, + .bDescriptorType = UDESC_ENDPOINT, + .bmAttributes = UE_INTERRUPT, + .wMaxPacketSize = {64, 0}, +}; + +static const usb_hub_descriptor_t rumphub_hdd = { + .bDescLength = USB_HUB_DESCRIPTOR_SIZE, + .bDescriptorType = UDESC_HUB, + .bNbrPorts = 1, +}; + +static usbd_status +rumpusb_root_ctrl_start(usbd_xfer_handle xfer) +{ + usb_device_request_t *req = &xfer->request; + struct rumpusbhc_softc *sc = xfer->pipe->device->bus->hci_private; + int len, totlen, value, curlen, err; + uint8_t *buf = NULL; + + len = totlen = UGETW(req->wLength); + if (len) + buf = KERNADDR(&xfer->dmabuf, 0); + value = UGETW(req->wValue); + +#define C(x,y) ((x) | ((y) << 8)) *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***