From owner-p4-projects@FreeBSD.ORG Sun Aug 1 03:01:18 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 670671065672; Sun, 1 Aug 2010 03:01:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2AE37106566C for ; Sun, 1 Aug 2010 03:01:18 +0000 (UTC) (envelope-from lz@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F2BD98FC12 for ; Sun, 1 Aug 2010 03:01:17 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o7131Hvr093433 for ; Sun, 1 Aug 2010 03:01:17 GMT (envelope-from lz@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o7131HT0093431 for perforce@freebsd.org; Sun, 1 Aug 2010 03:01:17 GMT (envelope-from lz@FreeBSD.org) Date: Sun, 1 Aug 2010 03:01:17 GMT Message-Id: <201008010301.o7131HT0093431@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lz@FreeBSD.org using -f From: Zheng Liu To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181664 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Aug 2010 03:01:18 -0000 http://p4web.freebsd.org/@@181664?ac=10 Change 181664 by lz@gnehzuil-freebsd on 2010/08/01 03:00:22 Fix a bug in ext2_blkatoff() function and remove some code. Affected files ... .. //depot/projects/soc2010/ext4fs/src/sys/fs/ext2fs/ext2_lookup.c#4 edit .. //depot/projects/soc2010/ext4fs/src/sys/fs/ext2fs/ext2_subr.c#5 edit Differences ... ==== //depot/projects/soc2010/ext4fs/src/sys/fs/ext2fs/ext2_lookup.c#4 (text+ko) ==== @@ -71,60 +71,6 @@ SYSCTL_INT(_vfs_e2fs, OID_AUTO, dircheck, CTLFLAG_RW, &dirchk, 0, ""); /* - * Define hash directory index data structure. - */ -struct fake_dirent { - u_int32_t inode; - u_int16_t reclen; - u_int8_t namlen; - u_int8_t filetype; -}; - -struct di_countlimit { - u_int16_t limit; - u_int16_t count; -}; - -struct di_entry { - u_int32_t hash; - u_int32_t blk; -}; - -struct di_root { - struct fake_dirent dot; - char dotname[4]; - struct fake_dirent dotdot; - char dotdotname[4]; - struct di_root_info { - u_int32_t reserved; - u_int8_t hash_version; - u_int8_t ind_levels; - u_int8_t unused_flags; - } info; - struct di_entry ent[0]; -}; - -struct di_node { - struct fake_dirent fake; - struct di_entry ent[0]; -}; - -struct di_frame { - struct buf *bp; - struct di_entry *ep; - struct di_entry *at; -}; - -struct di_map_entry { - u_int32_t hash; - u_int16_t offset; - u_int16_t size; -}; - -static int ext2_index_lookup(struct vop_cachedlookup_args *ap); -static int ext2_link_lookup(struct vop_cachedlookup_args *ap); - -/* DIRBLKSIZE in ffs is DEV_BSIZE (in most cases 512) while it is the native blocksize in ext2fs - thus, a #define is no longer appropriate @@ -307,19 +253,42 @@ } /* - * lookup function with hash directory index. + * Convert a component of a pathname into a pointer to a locked inode. + * This is a very central and rather complicated routine. + * If the file system is not maintained in a strict tree hierarchy, + * this can result in a deadlock situation (see comments in code below). + * + * The cnp->cn_nameiop argument is LOOKUP, CREATE, RENAME, or DELETE depending + * on whether the name is to be looked up, created, renamed, or deleted. + * When CREATE, RENAME, or DELETE is specified, information usable in + * creating, renaming, or deleting a directory entry may be calculated. + * If flag has LOCKPARENT or'ed into it and the target of the pathname + * exists, lookup returns both the target and its parent directory locked. + * When creating or renaming and LOCKPARENT is specified, the target may + * not be ".". When deleting and LOCKPARENT is specified, the target may + * be "."., but the caller must check to ensure it does an vrele and vput + * instead of two vputs. + * + * Overall outline of ext2_lookup: + * + * search for name in directory, to found or notfound + * notfound: + * if creating, return locked directory, leaving info on available slots + * else return error + * found: + * if at end of path and deleting, return information to allow delete + * if at end of path and rewriting (RENAME and LOCKPARENT), lock target + * inode and return info to allow rewrite + * if not at end, add name to cache; if at end and neither creating + * nor deleting, add name to cache */ -static int -ext2_index_lookup(struct vop_cachedlookup_args *ap) -{ - return (EIO); -} - -/* - * Traditional lookup function. - */ -static int -ext2_link_lookup(struct vop_cachedlookup_args *ap) +int +ext2_lookup(ap) + struct vop_cachedlookup_args /* { + struct vnode *a_dvp; + struct vnode **a_vpp; + struct componentname *a_cnp; + } */ *ap; { struct vnode *vdp; /* vnode for directory being searched */ struct inode *dp; /* inode for directory being searched */ @@ -722,56 +691,6 @@ return (0); } -/* - * Convert a component of a pathname into a pointer to a locked inode. - * This is a very central and rather complicated routine. - * If the file system is not maintained in a strict tree hierarchy, - * this can result in a deadlock situation (see comments in code below). - * - * The cnp->cn_nameiop argument is LOOKUP, CREATE, RENAME, or DELETE depending - * on whether the name is to be looked up, created, renamed, or deleted. - * When CREATE, RENAME, or DELETE is specified, information usable in - * creating, renaming, or deleting a directory entry may be calculated. - * If flag has LOCKPARENT or'ed into it and the target of the pathname - * exists, lookup returns both the target and its parent directory locked. - * When creating or renaming and LOCKPARENT is specified, the target may - * not be ".". When deleting and LOCKPARENT is specified, the target may - * be "."., but the caller must check to ensure it does an vrele and vput - * instead of two vputs. - * - * Overall outline of ext2_lookup: - * - * search for name in directory, to found or notfound - * notfound: - * if creating, return locked directory, leaving info on available slots - * else return error - * found: - * if at end of path and deleting, return information to allow delete - * if at end of path and rewriting (RENAME and LOCKPARENT), lock target - * inode and return info to allow rewrite - * if not at end, add name to cache; if at end and neither creating - * nor deleting, add name to cache - */ -int -ext2_lookup(ap) - struct vop_cachedlookup_args /* { - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - } */ *ap; -{ - struct vnode *vp; - struct ext2fs *fs; - - vp = ap->a_dvp; - fs = VFSTOEXT2(vp->v_mount)->um_e2fs->e2fs; - - if (fs->e2fs_features_compat & EXT4F_COMPAT_DIR_INDEX) - return ext2_index_lookup(ap); - else - return ext2_link_lookup(ap); -} - void ext2_dirbad(ip, offset, how) struct inode *ip; ==== //depot/projects/soc2010/ext4fs/src/sys/fs/ext2fs/ext2_subr.c#5 (text+ko) ==== @@ -83,6 +83,7 @@ fs = ip->i_e2fs; lbn = lblkno(fs, offset); bsize = blksize(fs, ip, lbn); + memset(&path, 0, sizeof(path)); *bpp = NULL; if (ext4_ext_find_extent(fs, ip, lbn, &path) == NULL) @@ -98,6 +99,10 @@ newblk = lbn - ep->e_blk + (ep->e_start_lo | ((daddr_t)(ep->e_start_hi) << 31) << 1); + if (path.ep_bp != NULL) { + brelse(path.ep_bp); + path.ep_bp = NULL; + } if ((error = bread(ip->i_devvp, fsbtodb(fs, newblk), bsize, NOCRED, &bp)) != 0) { brelse(bp); return (error); From owner-p4-projects@FreeBSD.ORG Sun Aug 1 07:00:41 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EEBFE10656AE; Sun, 1 Aug 2010 07:00:40 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9C6FA106567B for ; Sun, 1 Aug 2010 07:00:40 +0000 (UTC) (envelope-from lz@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8B2DF8FC08 for ; Sun, 1 Aug 2010 07:00:40 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o7170exE031271 for ; Sun, 1 Aug 2010 07:00:40 GMT (envelope-from lz@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o7170eDO031269 for perforce@freebsd.org; Sun, 1 Aug 2010 07:00:40 GMT (envelope-from lz@FreeBSD.org) Date: Sun, 1 Aug 2010 07:00:40 GMT Message-Id: <201008010700.o7170eDO031269@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lz@FreeBSD.org using -f From: Zheng Liu To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181665 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Aug 2010 07:00:41 -0000 http://p4web.freebsd.org/@@181665?ac=10 Change 181665 by lz@gnehzuil-freebsd on 2010/08/01 07:00:01 Add a ext2_htree.h file to define data structure for hash dir index. Affected files ... .. //depot/projects/soc2010/ext4fs/src/sys/fs/ext2fs/ext2_htree.h#1 add .. //depot/projects/soc2010/ext4fs/src/sys/fs/ext2fs/ext2_rsv_win.h#4 edit Differences ... ==== //depot/projects/soc2010/ext4fs/src/sys/fs/ext2fs/ext2_rsv_win.h#4 (text+ko) ==== @@ -76,4 +76,4 @@ int ext2_alloc_rsv(struct inode *, int32_t, int32_t, int, struct ucred *, int32_t *); -#endif /* !_FS_EXT2FS_EXT2_EXTERN_H_ */ +#endif /* !_FS_EXT2FS_EXT2_RSV_WIN_H_ */ From owner-p4-projects@FreeBSD.ORG Sun Aug 1 09:46:43 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 77F081065678; Sun, 1 Aug 2010 09:46:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3BD051065672 for ; Sun, 1 Aug 2010 09:46:43 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 28B368FC19 for ; Sun, 1 Aug 2010 09:46:43 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o719kgZb061050 for ; Sun, 1 Aug 2010 09:46:42 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o719kg3G061048 for perforce@freebsd.org; Sun, 1 Aug 2010 09:46:42 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 1 Aug 2010 09:46:42 GMT Message-Id: <201008010946.o719kg3G061048@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181670 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Aug 2010 09:46:43 -0000 http://p4web.freebsd.org/@@181670?ac=10 Change 181670 by hselasky@hselasky_laptop001 on 2010/08/01 09:46:06 USB controller (XHCI): - add command queue logic - remove XHCI QH structure Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#5 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#8 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#5 (text+ko) ==== @@ -146,6 +146,8 @@ sc->sc_event_ccs = 1; sc->sc_event_idx = 0; + sc->sc_command_ccs = 1; + sc->sc_command_idx = 0; DPRINTF("xHCI version = 0x%04x\n", XREAD2(sc, capa, XHCI_HCIVERSION)); @@ -258,9 +260,21 @@ addr = (uint64_t)buf_res.physaddr + (uintptr_t)&((struct xhci_hw_root *)0)->hwr_commands[0]; - XWRITE4(sc, oper, XHCI_CRCR_LO, (uint32_t)addr); + XWRITE4(sc, oper, XHCI_CRCR_LO, ((uint32_t)addr) | XHCI_CRCR_LO_RCS); XWRITE4(sc, oper, XHCI_CRCR_HI, (uint32_t)(addr >> 32)); + /* + * We only need the 32-lower bits of the command dequeue + * pointer to keep track of the TRBs: + */ + sc->sc_cmd_dp = (uint32_t)addr; + + phwr->hwr_commands[XHCI_MAX_COMMANDS - 1].qwTrb0 = htole64(addr); + phwr->hwr_commands[XHCI_MAX_COMMANDS - 1].dwTrb2 = htole32(0); + phwr->hwr_commands[XHCI_MAX_COMMANDS - 1].dwTrb3 = htole32( + XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_LINK) | + XHCI_TRB_3_IOC_BIT | XHCI_TRB_3_TC_BIT); + usb_bus_mem_flush_all(&sc->sc_bus, &xhci_iterate_hw_softc); /* Go! */ @@ -322,6 +336,8 @@ sc->sc_bus.devices = sc->sc_devices; sc->sc_bus.devices_max = XHCI_MAX_DEVICES; + TAILQ_INIT(&sc->sc_cmd_head); + /* get all DMA memory */ if (usb_bus_mem_alloc_all(&sc->sc_bus, USB_GET_DMA_TAG(self), &xhci_iterate_hw_softc)) { @@ -556,8 +572,10 @@ { struct usb_page_search buf_res; struct xhci_hw_root *phwr; + struct xhci_command *pcmd; uint32_t temp; uint16_t i; + uint8_t event; uint8_t j; uint8_t k; uint8_t t; @@ -566,6 +584,8 @@ phwr = buf_res.buffer; + /* 1) Receive any events */ + usb_pc_cpu_invalidate(&sc->sc_hw.root_pc); i = sc->sc_event_idx; @@ -580,13 +600,16 @@ if (j != k) break; - switch (XHCI_TRB_3_TYPE_GET(temp)) { + event = XHCI_TRB_3_TYPE_GET(temp); + + DPRINTFN(10, "event[%u] = %u\n", i, event); + + switch (event) { case XHCI_TRB_EVENT_TRANSFER: xhci_check_transfer(sc, &phwr->hwr_events[i]); break; default: - DPRINTF("Received event = 0x%x\n", - XHCI_TRB_3_TYPE_GET(temp)); + DPRINTF("Received event = 0x%x\n", event); break; } @@ -610,6 +633,59 @@ sc->sc_event_idx = i; sc->sc_event_ccs = j; + + /* 2) Queue any commands */ + + i = sc->sc_command_idx; + j = sc->sc_command_ccs; + + while (1) { + + k = (phwr->hwr_events[i].dwTrb3 & htole32(XHCI_TRB_3_CYCLE_BIT)) ? 1 : 0; + + temp = (uint32_t)buf_res.physaddr + (uintptr_t)&((struct xhci_hw_root *)0)->hwr_commands[i]; + + /* check if we need to wait for XHCI to process commands */ + if ((sc->sc_cmd_dp == temp) && (j == k)) + break; + + /* check if there are any commands on the queue */ + pcmd = TAILQ_FIRST(&sc->sc_cmd_head); + if (pcmd == NULL) + break; + + TAILQ_REMOVE(&sc->sc_cmd_head, pcmd, entry); + pcmd->entry.tqe_prev = NULL; + + phwr->hwr_events[i].qwTrb0 = pcmd->trb.qwTrb0; + phwr->hwr_events[i].dwTrb2 = pcmd->trb.dwTrb2; + + usb_pc_cpu_flush(&sc->sc_hw.root_pc); + + temp = pcmd->trb.dwTrb3 | htole32(XHCI_TRB_3_IOC_BIT); + + if (j) + temp |= htole32(XHCI_TRB_3_CYCLE_BIT); + else + temp &= ~htole32(XHCI_TRB_3_CYCLE_BIT); + + phwr->hwr_events[i].dwTrb3 = temp; + + usb_pc_cpu_flush(&sc->sc_hw.root_pc); + + DPRINTFN(10, "command[%u] = %u\n", i, + XHCI_TRB_3_TYPE_GET(le32toh(temp))); + + i++; + + if (i == (XHCI_MAX_COMMANDS - 1)) { + i = 0; + j ^= 1; + } + } + + sc->sc_command_idx = i; + sc->sc_command_ccs = j; } /*------------------------------------------------------------------------* @@ -1726,7 +1802,6 @@ struct usb_xfer *xfer; void *last_obj; uint32_t ntd; - uint32_t nqh; uint32_t n; sc = XHCI_BUS2SC(parm->udev->bus); @@ -1768,8 +1843,6 @@ usbd_transfer_setup_sub(parm); - nqh = 1; - if (xfer->flags_int.isochronous_xfr) { ntd = ((1 * xfer->nframes) + (xfer->max_data_length / xfer->max_hc_frame_size)); @@ -1817,34 +1890,6 @@ } xfer->td_start[xfer->flags_int.curr_dma_set] = last_obj; - last_obj = NULL; - - if (usbd_transfer_setup_sub_malloc( - parm, &pc, sizeof(struct xhci_qh), - XHCI_QH_ALIGN, nqh)) { - parm->err = USB_ERR_NOMEM; - return; - } - if (parm->buf) { - for (n = 0; n != nqh; n++) { - struct xhci_qh *qh; - - usbd_get_page(pc + n, 0, &page_info); - - qh = page_info.buffer; - - /* init QH */ - qh->qh_self = htole64((uint64_t)page_info.physaddr); - qh->obj_next = last_obj; - qh->page_cache = pc + n; - - last_obj = qh; - - usb_pc_cpu_flush(pc + n); - } - } - xfer->qh_start[xfer->flags_int.curr_dma_set] = last_obj; - if (!xfer->flags_int.curr_dma_set) { xfer->flags_int.curr_dma_set = 1; goto alloc_dma_set; ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#8 (text+ko) ==== @@ -189,6 +189,7 @@ #define XHCI_TRB_3_TYPE_GET(x) (((x) >> 10) & 0x3F) #define XHCI_TRB_3_TYPE_SET(x) (((x) & 0x3F) << 10) #define XHCI_TRB_3_CYCLE_BIT (1U << 0) +#define XHCI_TRB_3_TC_BIT (1U << 1) #define XHCI_TRB_3_ENT_BIT (1U << 1) #define XHCI_TRB_3_ISP_BIT (1U << 2) #define XHCI_TRB_3_NSNOOP_BIT (1U << 3) @@ -304,13 +305,9 @@ } __aligned(XHCI_TRB_ALIGN); -struct xhci_qh { +struct xhci_command { struct xhci_trb trb; - - TAILQ_ENTRY(xhci_qh) entry; - uint64_t td_self; - struct xhci_qh *obj_next; - struct usb_page_cache *page_cache; + TAILQ_ENTRY(xhci_command) entry; }; struct xhci_event_ring_seg { @@ -385,6 +382,8 @@ union xhci_hub_desc sc_hub_desc; + TAILQ_HEAD(, xhci_command) sc_cmd_head; + struct usb_device *sc_devices[XHCI_MAX_DEVICES]; struct resource *sc_io_res; struct resource *sc_irq_res; @@ -395,6 +394,7 @@ bus_space_handle_t sc_io_hdl; uint32_t sc_cmd; /* copy of cmd register */ + uint32_t sc_cmd_dp; /* copy of command dequeue pointer */ uint32_t sc_oper_off; /* offset to operational registers */ uint32_t sc_capa_off; /* offset to capability registers */ @@ -404,8 +404,10 @@ uint16_t sc_flags; /* chip specific flags */ uint16_t sc_erst_max; uint16_t sc_event_idx; + uint16_t sc_command_idx; uint8_t sc_event_ccs; + uint8_t sc_command_ccs; uint8_t sc_nodev; /* number of devices on root HUB */ uint8_t sc_noport; /* number of ports on root HUB */ uint8_t sc_addr; /* root HUB device address */ From owner-p4-projects@FreeBSD.ORG Sun Aug 1 09:57:55 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 97F251065679; Sun, 1 Aug 2010 09:57:55 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5C3F91065678 for ; Sun, 1 Aug 2010 09:57:55 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 49F438FC0C for ; Sun, 1 Aug 2010 09:57:55 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o719vtfj062043 for ; Sun, 1 Aug 2010 09:57:55 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o719vtbX062041 for perforce@freebsd.org; Sun, 1 Aug 2010 09:57:55 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 1 Aug 2010 09:57:55 GMT Message-Id: <201008010957.o719vtbX062041@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181671 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Aug 2010 09:57:55 -0000 http://p4web.freebsd.org/@@181671?ac=10 Change 181671 by hselasky@hselasky_laptop001 on 2010/08/01 09:57:09 USB controller (XHCI): - add missing doorbell register write and link TRB update Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#6 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhcireg.h#9 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#6 (text+ko) ==== @@ -673,12 +673,30 @@ usb_pc_cpu_flush(&sc->sc_hw.root_pc); + XWRITE4(sc, door, XHCI_DOORBELL(0), 0); + DPRINTFN(10, "command[%u] = %u\n", i, XHCI_TRB_3_TYPE_GET(le32toh(temp))); i++; if (i == (XHCI_MAX_COMMANDS - 1)) { + + /* update cycle bit of LINK TRB */ + + temp = phwr->hwr_events[i].dwTrb3; + + if (j) + temp |= htole32(XHCI_TRB_3_CYCLE_BIT); + else + temp &= ~htole32(XHCI_TRB_3_CYCLE_BIT); + + phwr->hwr_events[i].dwTrb3 = temp; + + usb_pc_cpu_flush(&sc->sc_hw.root_pc); + + XWRITE4(sc, door, XHCI_DOORBELL(0), 0); + i = 0; j ^= 1; } ==== //depot/projects/usb/src/sys/dev/usb/controller/xhcireg.h#9 (text+ko) ==== @@ -176,7 +176,7 @@ #define XHCI_ERSTDP_HI(n) (0x003C + (0x20 * (n))) /* XHCI event ring dequeue pointer */ /* XHCI doorbell registers. Offset given by XHCI_CAPLENGTH + XHCI_DBOFF registers */ -#define XHCI_DOORBELL 0x0000 +#define XHCI_DOORBELL(n) (0x0000 + (4 * (n))) #define XHCI_DB_TARGET_GET(x) ((x) & 0xFF) /* RW - doorbell target */ #define XHCI_DB_TARGET_SET(x) ((x) & 0xFF) /* RW - doorbell target */ #define XHCI_DB_SID_GET(x) (((x) >> 16) & 0xFFFF) /* RW - doorbell stream ID */ From owner-p4-projects@FreeBSD.ORG Sun Aug 1 10:00:59 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2E6A61065677; Sun, 1 Aug 2010 10:00:59 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CEFC11065670 for ; Sun, 1 Aug 2010 10:00:58 +0000 (UTC) (envelope-from aman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BCF938FC25 for ; Sun, 1 Aug 2010 10:00:58 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o71A0w2J062350 for ; Sun, 1 Aug 2010 10:00:58 GMT (envelope-from aman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o71A0wL4062348 for perforce@freebsd.org; Sun, 1 Aug 2010 10:00:58 GMT (envelope-from aman@freebsd.org) Date: Sun, 1 Aug 2010 10:00:58 GMT Message-Id: <201008011000.o71A0wL4062348@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to aman@freebsd.org using -f From: Aman Jassal To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181672 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Aug 2010 10:00:59 -0000 http://p4web.freebsd.org/@@181672?ac=10 Change 181672 by aman@src on 2010/08/01 10:00:47 Reverting ip_mroute.c to its previous state. Reviewed by:pgj Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/ip_mroute.c#11 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/ip_mroute.c#11 (text+ko) ==== @@ -2991,17 +2991,6 @@ callout_init(&V_expire_upcalls_ch, CALLOUT_MPSAFE); callout_init(&V_bw_upcalls_ch, CALLOUT_MPSAFE); callout_init(&V_bw_meter_ch, CALLOUT_MPSAFE); - PIMSTAT_INIT(pims_rcv_total_msgs); - PIMSTAT_INIT(pims_rcv_total_bytes); - PIMSTAT_INIT(pims_rcv_tooshort); - PIMSTAT_INIT(pims_rcv_badsum); - PIMSTAT_INIT(pims_rcv_badversion); - PIMSTAT_INIT(pims_rcv_registers_msgs); - PIMSTAT_INIT(pims_rcv_registers_bytes); - PIMSTAT_INIT(pims_rcv_registers_wrongiif); - PIMSTAT_INIT(pims_rcv_badregisters); - PIMSTAT_INIT(pims_snd_registers_msgs); - PIMSTAT_INIT(pims_snd_registers_bytes); } VNET_SYSINIT(vnet_mroute_init, SI_SUB_PSEUDO, SI_ORDER_MIDDLE, vnet_mroute_init, @@ -3013,17 +3002,6 @@ FREE(V_nexpire, M_MRTABLE); V_nexpire = NULL; - PIMSTAT_DESTROY(pims_rcv_total_msgs); - PIMSTAT_DESTROY(pims_rcv_total_bytes); - PIMSTAT_DESTROY(pims_rcv_tooshort); - PIMSTAT_DESTROY(pims_rcv_badsum); - PIMSTAT_DESTROY(pims_rcv_badversion); - PIMSTAT_DESTROY(pims_rcv_registers_msgs); - PIMSTAT_DESTROY(pims_rcv_registers_bytes); - PIMSTAT_DESTROY(pims_rcv_registers_wrongiif); - PIMSTAT_DESTROY(pims_rcv_badregisters); - PIMSTAT_DESTROY(pims_snd_registers_msgs); - PIMSTAT_DESTROY(pims_snd_registers_bytes); } VNET_SYSUNINIT(vnet_mroute_uninit, SI_SUB_PSEUDO, SI_ORDER_MIDDLE, From owner-p4-projects@FreeBSD.ORG Sun Aug 1 10:04:02 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B98081065675; Sun, 1 Aug 2010 10:04:02 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 65954106566B for ; Sun, 1 Aug 2010 10:04:02 +0000 (UTC) (envelope-from aman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 38CFB8FC12 for ; Sun, 1 Aug 2010 10:04:02 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o71A42c5063621 for ; Sun, 1 Aug 2010 10:04:02 GMT (envelope-from aman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o71A42i9063619 for perforce@freebsd.org; Sun, 1 Aug 2010 10:04:02 GMT (envelope-from aman@freebsd.org) Date: Sun, 1 Aug 2010 10:04:02 GMT Message-Id: <201008011004.o71A42i9063619@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to aman@freebsd.org using -f From: Aman Jassal To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181673 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Aug 2010 10:04:03 -0000 http://p4web.freebsd.org/@@181673?ac=10 Change 181673 by aman@src on 2010/08/01 10:03:29 Reverting pim_var.h to its previous state. Reviewed by:pgj Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/pim_var.h#6 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/pim_var.h#6 (text+ko) ==== @@ -51,24 +51,22 @@ #define PIMSTAT_VERSION 0x00000001 struct pimstat { - counter_t pims_rcv_total_msgs; /* total PIM messages received */ - counter_t pims_rcv_total_bytes; /* total PIM bytes received */ - counter_t pims_rcv_tooshort; /* rcvd with too few bytes */ - counter_t pims_rcv_badsum; /* rcvd with bad checksum */ - counter_t pims_rcv_badversion; /* rcvd bad PIM version */ - counter_t pims_rcv_registers_msgs; /* rcvd regs. msgs (data only) */ - counter_t pims_rcv_registers_bytes; /* rcvd regs. bytes (data only) */ - counter_t pims_rcv_registers_wrongiif; /* rcvd regs. on wrong iif */ - counter_t pims_rcv_badregisters; /* rcvd invalid registers */ - counter_t pims_snd_registers_msgs; /* sent regs. msgs (data only) */ - counter_t pims_snd_registers_bytes; /* sent regs. bytes (data only) */ + uint64_t pims_rcv_total_msgs; /* total PIM messages received */ + uint64_t pims_rcv_total_bytes; /* total PIM bytes received */ + uint64_t pims_rcv_tooshort; /* rcvd with too few bytes */ + uint64_t pims_rcv_badsum; /* rcvd with bad checksum */ + uint64_t pims_rcv_badversion; /* rcvd bad PIM version */ + uint64_t pims_rcv_registers_msgs; /* rcvd regs. msgs (data only) */ + uint64_t pims_rcv_registers_bytes; /* rcvd regs. bytes (data only) */ + uint64_t pims_rcv_registers_wrongiif; /* rcvd regs. on wrong iif */ + uint64_t pims_rcv_badregisters; /* rcvd invalid registers */ + uint64_t pims_snd_registers_msgs; /* sent regs. msgs (data only) */ + uint64_t pims_snd_registers_bytes; /* sent regs. bytes (data only) */ }; #ifdef _KERNEL -#define PIMSTAT_INIT(name) ctr_init(&V_pimstat.name, 0) -#define PIMSTAT_DESTROY(name) ctr_destroy(&V_pimstat.name) -#define PIMSTAT_ADD(name, val) ctr_add(&V_pimstat.name, val) -#define PIMSTAT_INC(name) ctr_inc(&V_pimstat.name) +#define PIMSTAT_ADD(name, val) V_pimstat.name += (val) +#define PIMSTAT_INC(name) PIMSTAT_ADD(name, 1) #endif /* From owner-p4-projects@FreeBSD.ORG Sun Aug 1 12:50:05 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A1411065677; Sun, 1 Aug 2010 12:50:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D2F541065674 for ; Sun, 1 Aug 2010 12:50:04 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A50D68FC0C for ; Sun, 1 Aug 2010 12:50:04 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o71Co4j0091154 for ; Sun, 1 Aug 2010 12:50:04 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o71Co4Bv091152 for perforce@freebsd.org; Sun, 1 Aug 2010 12:50:04 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 1 Aug 2010 12:50:04 GMT Message-Id: <201008011250.o71Co4Bv091152@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181679 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Aug 2010 12:50:05 -0000 http://p4web.freebsd.org/@@181679?ac=10 Change 181679 by hselasky@hselasky_laptop001 on 2010/08/01 12:49:57 USB controller: - correct HUB and interface protocol fields - remove unused structures Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#33 edit .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#45 edit .. //depot/projects/usb/src/sys/dev/usb/controller/avr32dci.c#18 edit .. //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#56 edit .. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#34 edit .. //depot/projects/usb/src/sys/dev/usb/controller/octusb.c#7 edit .. //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#37 edit .. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#33 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#33 (text+ko) ==== @@ -1689,7 +1689,7 @@ .bcdUSB = {0x00, 0x02}, .bDeviceClass = UDCLASS_HUB, .bDeviceSubClass = UDSUBCLASS_HUB, - .bDeviceProtocol = UDPROTO_HSHUBSTT, + .bDeviceProtocol = UDPROTO_FSHUB, .bMaxPacketSize = 64, .bcdDevice = {0x00, 0x01}, .iManufacturer = 1, @@ -1697,17 +1697,6 @@ .bNumConfigurations = 1, }; -static const struct usb_device_qualifier at91dci_odevd = { - .bLength = sizeof(struct usb_device_qualifier), - .bDescriptorType = UDESC_DEVICE_QUALIFIER, - .bcdUSB = {0x00, 0x02}, - .bDeviceClass = UDCLASS_HUB, - .bDeviceSubClass = UDSUBCLASS_HUB, - .bDeviceProtocol = UDPROTO_FSHUB, - .bMaxPacketSize0 = 0, - .bNumConfigurations = 0, -}; - static const struct at91dci_config_desc at91dci_confd = { .confd = { .bLength = sizeof(struct usb_config_descriptor), @@ -1725,7 +1714,7 @@ .bNumEndpoints = 1, .bInterfaceClass = UICLASS_HUB, .bInterfaceSubClass = UISUBCLASS_HUB, - .bInterfaceProtocol = UIPROTO_HSHUBSTT, + .bInterfaceProtocol = 0, }, .endpd = { .bLength = sizeof(struct usb_endpoint_descriptor), ==== //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#45 (text+ko) ==== @@ -1511,7 +1511,7 @@ .bcdUSB = {0x00, 0x02}, .bDeviceClass = UDCLASS_HUB, .bDeviceSubClass = UDSUBCLASS_HUB, - .bDeviceProtocol = UDPROTO_HSHUBSTT, + .bDeviceProtocol = UDPROTO_FSHUB, .bMaxPacketSize = 64, .bcdDevice = {0x00, 0x01}, .iManufacturer = 1, @@ -1519,17 +1519,6 @@ .bNumConfigurations = 1, }; -static const struct usb_device_qualifier atmegadci_odevd = { - .bLength = sizeof(struct usb_device_qualifier), - .bDescriptorType = UDESC_DEVICE_QUALIFIER, - .bcdUSB = {0x00, 0x02}, - .bDeviceClass = UDCLASS_HUB, - .bDeviceSubClass = UDSUBCLASS_HUB, - .bDeviceProtocol = UDPROTO_FSHUB, - .bMaxPacketSize0 = 0, - .bNumConfigurations = 0, -}; - static const struct atmegadci_config_desc atmegadci_confd = { .confd = { .bLength = sizeof(struct usb_config_descriptor), @@ -1547,7 +1536,7 @@ .bNumEndpoints = 1, .bInterfaceClass = UICLASS_HUB, .bInterfaceSubClass = UISUBCLASS_HUB, - .bInterfaceProtocol = UIPROTO_HSHUBSTT, + .bInterfaceProtocol = 0, }, .endpd = { .bLength = sizeof(struct usb_endpoint_descriptor), ==== //depot/projects/usb/src/sys/dev/usb/controller/avr32dci.c#18 (text+ko) ==== @@ -1480,7 +1480,7 @@ .bNumEndpoints = 1, .bInterfaceClass = UICLASS_HUB, .bInterfaceSubClass = UISUBCLASS_HUB, - .bInterfaceProtocol = UIPROTO_HSHUBSTT, + .bInterfaceProtocol = 0, }, .endpd = { .bLength = sizeof(struct usb_endpoint_descriptor), ==== //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#56 (text+ko) ==== @@ -3063,8 +3063,7 @@ .bNumEndpoints = 1, .bInterfaceClass = UICLASS_HUB, .bInterfaceSubClass = UISUBCLASS_HUB, - .bInterfaceProtocol = UIPROTO_HSHUBSTT, - 0 + .bInterfaceProtocol = 0, }, .endpd = { .bLength = sizeof(struct usb_endpoint_descriptor), ==== //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#34 (text+ko) ==== @@ -2181,7 +2181,7 @@ .bNumEndpoints = 1, .bInterfaceClass = UICLASS_HUB, .bInterfaceSubClass = UISUBCLASS_HUB, - .bInterfaceProtocol = UIPROTO_HSHUBSTT, + .bInterfaceProtocol = 0, }, .endpd = { .bLength = sizeof(struct usb_endpoint_descriptor), ==== //depot/projects/usb/src/sys/dev/usb/controller/octusb.c#7 (text+ko) ==== @@ -1352,7 +1352,7 @@ .bcdUSB = {0x00, 0x02}, .bDeviceClass = UDCLASS_HUB, .bDeviceSubClass = UDSUBCLASS_HUB, - .bDeviceProtocol = UDPROTO_FSHUB, + .bDeviceProtocol = UDPROTO_HSHUBSTT, .bMaxPacketSize = 64, .idVendor = {0}, .idProduct = {0}, @@ -1394,7 +1394,7 @@ .bNumEndpoints = 1, .bInterfaceClass = UICLASS_HUB, .bInterfaceSubClass = UISUBCLASS_HUB, - .bInterfaceProtocol = UIPROTO_FSHUB, + .bInterfaceProtocol = 0, }, .endpd = { .bLength = sizeof(struct usb_endpoint_descriptor), ==== //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#37 (text+ko) ==== @@ -2105,7 +2105,7 @@ .bNumEndpoints = 1, .bInterfaceClass = UICLASS_HUB, .bInterfaceSubClass = UISUBCLASS_HUB, - .bInterfaceProtocol = UIPROTO_FSHUB, + .bInterfaceProtocol = 0, }, .endpd = { .bLength = sizeof(struct usb_endpoint_descriptor), ==== //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#33 (text+ko) ==== @@ -1740,7 +1740,7 @@ .bcdUSB = {0x00, 0x02}, .bDeviceClass = UDCLASS_HUB, .bDeviceSubClass = UDSUBCLASS_HUB, - .bDeviceProtocol = UDPROTO_HSHUBSTT, + .bDeviceProtocol = UDPROTO_FSHUB, .bMaxPacketSize = 64, .bcdDevice = {0x00, 0x01}, .iManufacturer = 1, @@ -1776,7 +1776,7 @@ .bNumEndpoints = 1, .bInterfaceClass = UICLASS_HUB, .bInterfaceSubClass = UISUBCLASS_HUB, - .bInterfaceProtocol = UIPROTO_HSHUBSTT, + .bInterfaceProtocol = 0, }, .endpd = { From owner-p4-projects@FreeBSD.ORG Sun Aug 1 13:11:28 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 69E5B1065677; Sun, 1 Aug 2010 13:11:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2CE9F1065675 for ; Sun, 1 Aug 2010 13:11:28 +0000 (UTC) (envelope-from jlaffaye@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 19AC28FC12 for ; Sun, 1 Aug 2010 13:11:28 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o71DBRfo093722 for ; Sun, 1 Aug 2010 13:11:28 GMT (envelope-from jlaffaye@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o71DBRQa093720 for perforce@freebsd.org; Sun, 1 Aug 2010 13:11:27 GMT (envelope-from jlaffaye@FreeBSD.org) Date: Sun, 1 Aug 2010 13:11:27 GMT Message-Id: <201008011311.o71DBRQa093720@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jlaffaye@FreeBSD.org using -f From: Julien Laffaye To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181680 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Aug 2010 13:11:28 -0000 http://p4web.freebsd.org/@@181680?ac=10 Change 181680 by jlaffaye@jlaffaye-chulak on 2010/08/01 13:11:09 - Various cleanup - Remove references to PKG_ADD_BASE as it is not used - Use dirname(3) in find_package_url() Suggested-by: gcooper@ Affected files ... .. //depot/projects/soc2010/pkg_complete/lib/libpkg/url.c#7 edit .. //depot/projects/soc2010/pkg_complete/usr.sbin/pkg_install/add/extract.c#12 edit Differences ... ==== //depot/projects/soc2010/pkg_complete/lib/libpkg/url.c#7 (text+ko) ==== @@ -23,8 +23,8 @@ #include #include -#include #include +#include #include #include #include /* NOTE: stdio must come before fetch. */ @@ -188,50 +188,41 @@ /* * Given a know-good URL `base', construct the URL to fetch `pkgname'. - * If the environment variable `PKG_ADD_BASE' (setted by sysinstall) exist, - * it is used to construct the URL ($PKG_ADD_BASE concatened with pkgname), - * and `base' is only used to find the file extension. - * The resulting URL string is stored at the memory of size FILENAME_MAX + * The resulting URL is stored in a fixed buffer of size MAXPATHLEN * pointed by `p'. * Returns 0 on success, 1 otherwise. */ int find_package_url(char * restrict p, const char *base, const char *pkgname) { - char *cp; + char *base_url; char *ext; - assert(p != NULL); - assert(base != NULL); - assert(pkgname != NULL); + if (p == NULL || base == NULL || pkgname == NULL) { + errno = EINVAL; + return (1); + } if ((ext = strrchr(base, '.')) == NULL) ext = ".tbz"; - /* Special tip that sysinstall left for us */ - if ((cp = getenv("PKG_ADD_BASE")) != NULL) { - strlcpy(p, cp, FILENAME_MAX); - strlcat(p, pkgname, FILENAME_MAX); - strlcat(p, ext, FILENAME_MAX); - } else { - strlcpy(p, base, FILENAME_MAX); - /* - * Advance back two slashes to get to the root of the - * package hierarchy, then append pkgname. - */ - cp = strrchr(p, '/'); - if (cp != NULL) { - *cp = '\0'; /* chop name */ - cp = strrchr(p, '/'); - } - if (cp != NULL) { - *(cp + 1) = '\0'; - strlcat(p, "All/", FILENAME_MAX); - strlcat(p, pkgname, FILENAME_MAX); - strlcat(p, ext, FILENAME_MAX); - } else - return (1); + /* + * Advance back two directories to get to the root of the + * package hierarchy, then append pkgname. + */ + if ((base_url = dirname(base)) == NULL) { + warn("dirname()"); + return (1); + } + if ((base_url = dirname(base_url)) == NULL) { + warn("dirname()"); + return (1); + } + if (!isURL(base_url)) { + warnx("%s(): The URL found '%s' is not valid!", __func__, base_url); + return (1); } + snprintf(p, MAXPATHLEN, "%s/All/%s%s", base_url, pkgname, ext); return (0); } @@ -255,7 +246,8 @@ int percent; if (!isURL(url)) { - warnx("fetch_archive(): '%s' is not an URL!", url); + warnx("%s(): '%s' is not a known URL!", __func__, url); + errno = EINVAL; return (-1); } ==== //depot/projects/soc2010/pkg_complete/usr.sbin/pkg_install/add/extract.c#12 (text+ko) ==== @@ -222,7 +222,7 @@ if (PrefixRecursive == FALSE) Prefix = NULL; - if (!isURL(fname) && !getenv("PKG_ADD_BASE")) { + if (!isURL(fname)) { const char *ext; ext = strrchr(fname, '.'); @@ -254,7 +254,7 @@ } } else { - char dep_url[FILENAME_MAX]; + char dep_url[MAXPATHLEN]; if (find_package_url(dep_url, fname, p->name) != 0) errx(1, "Can not make an URL to get %s", p->name); From owner-p4-projects@FreeBSD.ORG Sun Aug 1 13:21:39 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BEF711065674; Sun, 1 Aug 2010 13:21:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B074106566C for ; Sun, 1 Aug 2010 13:21:39 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 57E038FC0C for ; Sun, 1 Aug 2010 13:21:39 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o71DLdYs094431 for ; Sun, 1 Aug 2010 13:21:39 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o71DLd3V094429 for perforce@freebsd.org; Sun, 1 Aug 2010 13:21:39 GMT (envelope-from anchie@FreeBSD.org) Date: Sun, 1 Aug 2010 13:21:39 GMT Message-Id: <201008011321.o71DLd3V094429@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181681 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Aug 2010 13:21:40 -0000 http://p4web.freebsd.org/@@181681?ac=10 Change 181681 by anchie@anchie_malimis on 2010/08/01 13:20:58 Added initial version of locking, SEND locks and VNET_LIST locks. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#49 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#49 (text+ko) ==== @@ -63,24 +63,41 @@ u_long send_sendspace = 8 * (1024 + sizeof(struct sockaddr_send)); u_long send_recvspace = 9216; +struct mtx send_mtx; +#define SEND_LOCK_INIT() mtx_init(&send_mtx, "send_mtx", NULL, MTX_DEF) +#define SEND_LOCK() mtx_lock(&send_mtx) +#define SEND_UNLOCK() mtx_unlock(&send_mtx) +#define SEND_LOCK_DESTROY() mtx_destroy(&send_mtx) + static int send_attach(struct socket *so, int proto, struct thread *td) { int error; - if (V_send_so != NULL) + SEND_LOCK(); + if (V_send_so != NULL) { + SEND_UNLOCK(); return (EEXIST); + } error = priv_check(td, PRIV_NETINET_RAW); - if (error) - return (error); - if (proto != IPPROTO_SEND) + if (error) { + SEND_UNLOCK(); + return(error); + } + + if (proto != IPPROTO_SEND) { + SEND_UNLOCK(); return (EPROTONOSUPPORT); + } error = soreserve(so, send_sendspace, send_recvspace); - if (error) - return (error); + if (error) { + SEND_UNLOCK(); + return(error); + } V_send_so = so; + SEND_UNLOCK(); return (0); } @@ -217,8 +234,10 @@ send_close(struct socket *so) { + SEND_LOCK(); if (V_send_so) V_send_so = NULL; + SEND_UNLOCK(); } /* @@ -232,8 +251,11 @@ struct ip6_hdr *ip6; struct sockaddr_send sendsrc; - if (V_send_so == NULL) + SEND_LOCK(); + if (V_send_so == NULL) { + SEND_UNLOCK(); return (-1); + } /* * Make sure to clear any possible internally embedded scope before @@ -264,6 +286,7 @@ sorwakeup_locked(V_send_so); } + SEND_UNLOCK(); return (0); } @@ -289,10 +312,13 @@ switch (type) { case MOD_LOAD: + SEND_LOCK_INIT(); + error = pf_proto_register(PF_INET6, &send_protosw); if (error != 0) { printf("%s:%d: MOD_LOAD pf_proto_register(): %d\n", __func__, __LINE__, error); + SEND_LOCK_DESTROY(); break; } send_sendso_input_hook = send_input; @@ -301,18 +327,26 @@ /* Do not allow unloading w/o locking. */ return (EBUSY); #ifdef __notyet__ + VNET_LIST_RLOCK_NOSLEEP(); + SEND_LOCK(); VNET_FOREACH(vnet_iter) { CURVNET_SET(vnet_iter); if (V_send_so != NULL) { CURVNET_RESTORE(); + SEND_UNLOCK(); + VNET_LIST_RUNLOCK_NOSLEEP(); return (EBUSY); } CURVNET_RESTORE(); } -#endif + SEND_UNLOCK(); + VNET_LIST_RUNLOCK_NOSLEEP(); error = pf_proto_unregister(PF_INET6, IPPROTO_SEND, SOCK_RAW); + if (error == 0) + SEND_LOCK_DESTROY(); send_sendso_input_hook = NULL; break; +#endif default: error = 0; break; From owner-p4-projects@FreeBSD.ORG Sun Aug 1 15:46:22 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF308106567A; Sun, 1 Aug 2010 15:46:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 746D5106566C for ; Sun, 1 Aug 2010 15:46:22 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 601138FC13 for ; Sun, 1 Aug 2010 15:46:22 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o71FkM73006992 for ; Sun, 1 Aug 2010 15:46:22 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o71FkMK0006990 for perforce@freebsd.org; Sun, 1 Aug 2010 15:46:22 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 1 Aug 2010 15:46:22 GMT Message-Id: <201008011546.o71FkMK0006990@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181685 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Aug 2010 15:46:23 -0000 http://p4web.freebsd.org/@@181685?ac=10 Change 181685 by hselasky@hselasky_laptop001 on 2010/08/01 15:45:30 USB CORE: - add full USB 3.0 (SuperSpeed) support to HUB class driver. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb.h#53 edit .. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#50 edit .. //depot/projects/usb/src/sys/dev/usb/usb_hub.h#17 edit .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#35 edit .. //depot/projects/usb/src/sys/dev/usb/usb_request.h#12 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb.h#53 (text+ko) ==== @@ -226,6 +226,7 @@ #define UR_GET_TT_STATE 0x0a #define UR_STOP_TT 0x0b #define UR_SET_HUB_DEPTH 0x0c +#define USB_SS_HUB_DEPTH_MAX 4 /* exclusive */ #define UR_GET_PORT_ERR_COUNT 0x0d /* Feature numbers */ ==== //depot/projects/usb/src/sys/dev/usb/usb_hub.c#50 (text+ko) ==== @@ -109,6 +109,7 @@ #define UHUB_PROTO(sc) ((sc)->sc_udev->ddesc.bDeviceProtocol) #define UHUB_IS_HIGH_SPEED(sc) (UHUB_PROTO(sc) != UDPROTO_FSHUB) #define UHUB_IS_SINGLE_TT(sc) (UHUB_PROTO(sc) == UDPROTO_HSHUBSTT) +#define UHUB_IS_SUPER_SPEED(sc) (UHUB_PROTO(sc) == UDPROTO_SSHUB) /* prototypes for type checking: */ @@ -267,14 +268,14 @@ } /* start control transfer, if device mode */ - if (child->flags.usb_mode == USB_MODE_DEVICE) { + if (child->flags.usb_mode == USB_MODE_DEVICE) usbd_ctrl_transfer_setup(child); - } + /* if a HUB becomes present, do a recursive HUB explore */ - if (child->hub) { + if (child->hub) err = (child->hub->explore) (child); - } + done: return (err); } @@ -373,11 +374,17 @@ DPRINTF("Port %d is in Host Mode\n", portno); if (sc->sc_st.port_status & UPS_SUSPEND) { + /* + * NOTE: Should not get here in SuperSpeed + * mode, because the HUB should report this + * bit as zero. + */ DPRINTF("Port %d was still " "suspended, clearing.\n", portno); - err = usbd_req_clear_port_feature(sc->sc_udev, + err = usbd_req_clear_port_feature(udev, NULL, portno, UHF_PORT_SUSPEND); } + /* USB Host Mode */ /* wait for maximum device power up time */ @@ -438,6 +445,27 @@ case USB_SPEED_LOW: speed = USB_SPEED_LOW; break; + case USB_SPEED_SUPER: + if (udev->parent_hub == NULL) { + /* Root HUB - special case */ + switch (sc->sc_st.port_status & UPS_OTHER_SPEED) { + case 0: + speed = USB_SPEED_FULL; + break; + case UPS_LOW_SPEED: + speed = USB_SPEED_LOW; + break; + case UPS_HIGH_SPEED: + speed = USB_SPEED_HIGH; + break; + default: + speed = USB_SPEED_SUPER; + break; + } + } else { + speed = USB_SPEED_SUPER; + } + break; default: /* same speed like parent */ speed = udev->speed; @@ -485,6 +513,28 @@ } /*------------------------------------------------------------------------* + * usb_device_20_compatible + * + * Returns: + * 0: HUB does not support suspend and resume + * Else: HUB supports suspend and resume + *------------------------------------------------------------------------*/ +static uint8_t +usb_device_20_compatible(struct usb_device *udev) +{ + if (udev == NULL) + return (0); + switch (udev->speed) { + case USB_SPEED_LOW: + case USB_SPEED_FULL: + case USB_SPEED_HIGH: + return (1); + default: + return (0); + } +} + +/*------------------------------------------------------------------------* * uhub_suspend_resume_port * * Returns: @@ -507,8 +557,14 @@ /* first clear the port suspend change bit */ - err = usbd_req_clear_port_feature(udev, NULL, - portno, UHF_C_PORT_SUSPEND); + if (usb_device_20_compatible(udev)) { + err = usbd_req_clear_port_feature(udev, NULL, + portno, UHF_C_PORT_SUSPEND); + } else { + err = usbd_req_clear_port_feature(udev, NULL, + portno, UHF_C_PORT_LINK_STATE); + } + if (err) { DPRINTF("clearing suspend failed.\n"); goto done; @@ -520,12 +576,24 @@ DPRINTF("reading port status failed.\n"); goto done; } - /* get current state */ + /* convert current state */ - if (sc->sc_st.port_status & UPS_SUSPEND) { - is_suspend = 1; + if (usb_device_20_compatible(udev)) { + if (sc->sc_st.port_status & UPS_SUSPEND) { + is_suspend = 1; + } else { + is_suspend = 0; + } } else { - is_suspend = 0; + switch (UPS_PORT_LINK_STATE_GET(sc->sc_st.port_status)) { + case UPS_PORT_LS_U0: + case UPS_PORT_LS_U1: + is_suspend = 0; + break; + default: + is_suspend = 1; + break; + } } DPRINTF("suspended=%u\n", is_suspend); @@ -540,7 +608,8 @@ */ if (is_suspend == 0) usb_dev_resume_peer(child); - else if (child->flags.usb_mode == USB_MODE_DEVICE) + else if ((child->flags.usb_mode == USB_MODE_DEVICE) || + (usb_device_20_compatible(child) == 0)) usb_dev_suspend_peer(child); } done: @@ -562,6 +631,26 @@ usb_needs_explore(bus, 0); } +static uint8_t +uhub_is_too_deep(struct usb_device *udev) +{ + switch (udev->speed) { + case USB_SPEED_FULL: + case USB_SPEED_LOW: + case USB_SPEED_HIGH: + if (udev->depth > USB_HUB_MAX_DEPTH) + return (1); + break; + case USB_SPEED_SUPER: + if (udev->depth >= USB_SS_HUB_DEPTH_MAX) + return (1); + break; + default: + break; + } + return (0); +} + /*------------------------------------------------------------------------* * uhub_explore * @@ -584,11 +673,11 @@ DPRINTFN(11, "udev=%p addr=%d\n", udev, udev->address); - /* ignore hubs that are too deep */ - if (udev->depth > USB_HUB_MAX_DEPTH) { + /* ignore devices that are too deep */ + if (uhub_is_too_deep(udev)) return (USB_ERR_TOO_DEEP); - } + /* check if device is suspended */ if (udev->flags.self_suspended) { /* need to wait until the child signals resume */ DPRINTF("Device is suspended!\n"); @@ -655,7 +744,7 @@ break; } } - if (sc->sc_st.port_change & UPS_C_SUSPEND) { + if (sc->sc_st.port_change & (UPS_C_SUSPEND | UPS_C_PORT_LINK_STATE)) { err = uhub_suspend_resume_port(sc, portno); if (err) { /* most likely the HUB is gone */ @@ -683,17 +772,17 @@ { struct usb_attach_arg *uaa = device_get_ivars(dev); - if (uaa->usb_mode != USB_MODE_HOST) { + if (uaa->usb_mode != USB_MODE_HOST) return (ENXIO); - } + /* - * The subclass for USB HUBs is ignored because it is 0 for - * some and 1 for others. + * The subclass for USB HUBs is currently ignored because it + * is 0 for some and 1 for others. */ if ((uaa->info.bConfigIndex == 0) && - (uaa->info.bDeviceClass == UDCLASS_HUB)) { + (uaa->info.bDeviceClass == UDCLASS_HUB)) return (0); - } + return (ENXIO); } @@ -705,7 +794,8 @@ struct usb_device *udev = uaa->device; struct usb_device *parent_hub = udev->parent_hub; struct usb_hub *hub; - struct usb_hub_descriptor hubdesc; + struct usb_hub_descriptor hubdesc20; + struct usb_hub_ss_descriptor hubdesc30; uint16_t pwrdly; uint8_t x; uint8_t nports; @@ -732,38 +822,96 @@ parent_hub ? parent_hub->flags.self_powered : 0); - if (udev->depth > USB_HUB_MAX_DEPTH) { - DPRINTFN(0, "hub depth, %d, exceeded. HUB ignored\n", - USB_HUB_MAX_DEPTH); + if (uhub_is_too_deep(udev)) { + DPRINTFN(0, "HUB at depth %d, " + "exceeds maximum. HUB ignored\n", (int)udev->depth); goto error; } + if (!udev->flags.self_powered && parent_hub && (!parent_hub->flags.self_powered)) { - DPRINTFN(0, "bus powered HUB connected to " + DPRINTFN(0, "Bus powered HUB connected to " "bus powered HUB. HUB ignored\n"); goto error; } /* get HUB descriptor */ - DPRINTFN(2, "getting HUB descriptor\n"); + DPRINTFN(2, "Getting HUB descriptor\n"); - /* assuming that there is one port */ - err = usbd_req_get_hub_descriptor(udev, NULL, &hubdesc, 1); + switch (udev->speed) { + case USB_SPEED_LOW: + case USB_SPEED_FULL: + case USB_SPEED_HIGH: + /* assuming that there is one port */ + err = usbd_req_get_hub_descriptor(udev, NULL, &hubdesc20, 1); + if (err) { + DPRINTFN(0, "getting USB 2.0 HUB descriptor failed," + "error=%s\n", usbd_errstr(err)); + goto error; + } + /* get number of ports */ + nports = hubdesc20.bNbrPorts; - nports = hubdesc.bNbrPorts; + /* get power delay */ + pwrdly = ((hubdesc20.bPwrOn2PwrGood * UHD_PWRON_FACTOR) + + USB_EXTRA_POWER_UP_TIME); - if (!err && (nports >= 8)) { /* get complete HUB descriptor */ - err = usbd_req_get_hub_descriptor(udev, NULL, &hubdesc, nports); - } - if (err) { - DPRINTFN(0, "getting hub descriptor failed," - "error=%s\n", usbd_errstr(err)); - goto error; - } - if (hubdesc.bNbrPorts != nports) { - DPRINTFN(0, "number of ports changed\n"); - goto error; + if (nports >= 8) { + /* check number of ports */ + if (nports > 127) { + DPRINTFN(0, "Invalid number of USB 2.0 ports," + "error=%s\n", usbd_errstr(err)); + goto error; + } + /* get complete HUB descriptor */ + err = usbd_req_get_hub_descriptor(udev, NULL, &hubdesc20, nports); + + if (err) { + DPRINTFN(0, "Getting USB 2.0 HUB descriptor failed," + "error=%s\n", usbd_errstr(err)); + goto error; + } + if (hubdesc20.bNbrPorts != nports) { + DPRINTFN(0, "Number of ports changed\n"); + goto error; + } + } + break; + case USB_SPEED_SUPER: + err = usbd_req_set_hub_depth(udev, NULL, udev->depth); + if (err) { + DPRINTFN(0, "Setting USB 3.0 HUB depth failed," + "error=%s\n", usbd_errstr(err)); + goto error; + } + err = usbd_req_get_ss_hub_descriptor(udev, NULL, &hubdesc30); + if (err) { + DPRINTFN(0, "Getting USB 3.0 HUB descriptor failed," + "error=%s\n", usbd_errstr(err)); + goto error; + } + /* get number of ports */ + nports = hubdesc30.bNbrPorts; + + /* get power delay */ + pwrdly = ((hubdesc30.bPwrOn2PwrGood * UHD_PWRON_FACTOR) + + USB_EXTRA_POWER_UP_TIME); + + /* check number of ports */ + if (nports > 15) { + DPRINTFN(0, "Invalid number of USB 3.0 ports," + "error=%s\n", usbd_errstr(err)); + goto error; + } + break; + default: + DPRINTF("Assuming HUB has only one port\n"); + /* default number of ports */ + nports = 1; + /* default power delay */ + pwrdly = ((10 * UHD_PWRON_FACTOR) + USB_EXTRA_POWER_UP_TIME); + break; } if (nports == 0) { DPRINTFN(0, "portless HUB\n"); @@ -784,7 +932,7 @@ /* initialize HUB structure */ hub->hubsoftc = sc; hub->explore = &uhub_explore; - hub->nports = hubdesc.bNbrPorts; + hub->nports = nports; hub->hubudev = udev; /* if self powered hub, give ports maximum current */ @@ -840,8 +988,6 @@ /* XXX should check for none, individual, or ganged power? */ removable = 0; - pwrdly = ((hubdesc.bPwrOn2PwrGood * UHD_PWRON_FACTOR) + - USB_EXTRA_POWER_UP_TIME); for (x = 0; x != nports; x++) { /* set up data structures */ @@ -852,8 +998,29 @@ portno = x + 1; /* check if port is removable */ - if (!UHD_NOT_REMOV(&hubdesc, portno)) { + switch (udev->speed) { + case USB_SPEED_LOW: + case USB_SPEED_FULL: + case USB_SPEED_HIGH: + if (!UHD_NOT_REMOV(&hubdesc20, portno)) + removable++; + break; + case USB_SPEED_SUPER: + if (!err) { + err = usbd_req_set_hub_u1_timeout(udev, NULL, + portno, 128 - (2 * udev->depth)); + } + if (!err) { + err = usbd_req_set_hub_u2_timeout(udev, NULL, + portno, 128 - (2 * udev->depth)); + } + if (!UHD_NOT_REMOV(&hubdesc30, portno)) + removable++; + break; + default: + DPRINTF("Assuming removable port\n"); removable++; + break; } if (!err) { /* turn the power on */ @@ -914,9 +1081,8 @@ struct usb_device *child; uint8_t x; - if (hub == NULL) { /* must be partially working */ + if (hub == NULL) /* must be partially working */ return (0); - } /* Make sure interrupt transfer is gone. */ usbd_transfer_unsetup(sc->sc_xfer, UHUB_N_TRANSFER); @@ -1788,6 +1954,7 @@ (udev->pwr_save.write_refs != 0) || ((udev->pwr_save.read_refs != 0) && (udev->flags.usb_mode == USB_MODE_HOST) && + (usb_device_20_compatible(udev) != 0) && (usb_peer_can_wakeup(udev) == 0))); } @@ -1959,13 +2126,16 @@ /* reduce chance of instant resume failure by waiting a little bit */ usb_pause_mtx(NULL, USB_MS_TO_TICKS(20)); - /* resume current port (Valid in Host and Device Mode) */ - err = usbd_req_clear_port_feature(udev->parent_hub, - NULL, udev->port_no, UHF_PORT_SUSPEND); - if (err) { - DPRINTFN(0, "Resuming port failed\n"); - return; + if (usb_device_20_compatible(udev)) { + /* resume current port (Valid in Host and Device Mode) */ + err = usbd_req_clear_port_feature(udev->parent_hub, + NULL, udev->port_no, UHF_PORT_SUSPEND); + if (err) { + DPRINTFN(0, "Resuming port failed\n"); + return; + } } + /* resume settle time */ usb_pause_mtx(NULL, USB_MS_TO_TICKS(USB_PORT_RESUME_DELAY)); @@ -2005,7 +2175,8 @@ usbd_sr_unlock(udev); /* check if peer has wakeup capability */ - if (usb_peer_can_wakeup(udev)) { + if (usb_peer_can_wakeup(udev) && + usb_device_20_compatible(udev)) { /* clear remote wakeup */ err = usbd_req_clear_device_feature(udev, NULL, UF_DEVICE_REMOTE_WAKEUP); @@ -2015,7 +2186,6 @@ usbd_errstr(err)); } } - return; } /*------------------------------------------------------------------------* @@ -2110,7 +2280,8 @@ usbd_sr_unlock(udev); - if (usb_peer_can_wakeup(udev)) { + if (usb_peer_can_wakeup(udev) && + usb_device_20_compatible(udev)) { /* allow device to do remote wakeup */ err = usbd_req_set_device_feature(udev, NULL, UF_DEVICE_REMOTE_WAKEUP); @@ -2132,12 +2303,15 @@ usb_pause_mtx(NULL, USB_MS_TO_TICKS(temp)); } - /* suspend current port */ - err = usbd_req_set_port_feature(udev->parent_hub, - NULL, udev->port_no, UHF_PORT_SUSPEND); - if (err) { - DPRINTFN(0, "Suspending port failed\n"); - return; + + if (usb_device_20_compatible(udev)) { + /* suspend current port */ + err = usbd_req_set_port_feature(udev->parent_hub, + NULL, udev->port_no, UHF_PORT_SUSPEND); + if (err) { + DPRINTFN(0, "Suspending port failed\n"); + return; + } } udev = udev->parent_hub; ==== //depot/projects/usb/src/sys/dev/usb/usb_hub.h#17 (text+ko) ==== ==== //depot/projects/usb/src/sys/dev/usb/usb_request.c#35 (text+ko) ==== @@ -1293,6 +1293,27 @@ } /*------------------------------------------------------------------------* + * usbd_req_get_ss_hub_descriptor + * + * Returns: + * 0: Success + * Else: Failure + *------------------------------------------------------------------------*/ +usb_error_t +usbd_req_get_ss_hub_descriptor(struct usb_device *udev, struct mtx *mtx, + struct usb_hub_ss_descriptor *hd) +{ + struct usb_device_request req; + + req.bmRequestType = UT_READ_CLASS_DEVICE; + req.bRequest = UR_GET_DESCRIPTOR; + USETW2(req.wValue, UDESC_SS_HUB, 0); + USETW(req.wIndex, 0); + USETW(req.wLength, sizeof(*hd)); + return (usbd_do_request(udev, mtx, &req, hd)); +} + +/*------------------------------------------------------------------------* * usbd_req_get_hub_status * * Returns: @@ -1406,6 +1427,71 @@ } /*------------------------------------------------------------------------* + * usbd_req_set_hub_u1_timeout + * + * Returns: + * 0: Success + * Else: Failure + *------------------------------------------------------------------------*/ +usb_error_t +usbd_req_set_hub_u1_timeout(struct usb_device *udev, struct mtx *mtx, + uint8_t port, uint8_t timeout) +{ + struct usb_device_request req; + + req.bmRequestType = UT_WRITE_CLASS_OTHER; + req.bRequest = UR_SET_FEATURE; + USETW(req.wValue, UHF_PORT_U1_TIMEOUT); + req.wIndex[0] = port; + req.wIndex[1] = timeout; + USETW(req.wLength, 0); + return (usbd_do_request(udev, mtx, &req, 0)); +} + +/*------------------------------------------------------------------------* + * usbd_req_set_hub_u2_timeout + * + * Returns: + * 0: Success + * Else: Failure + *------------------------------------------------------------------------*/ +usb_error_t +usbd_req_set_hub_u2_timeout(struct usb_device *udev, struct mtx *mtx, + uint8_t port, uint8_t timeout) +{ + struct usb_device_request req; + + req.bmRequestType = UT_WRITE_CLASS_OTHER; + req.bRequest = UR_SET_FEATURE; + USETW(req.wValue, UHF_PORT_U2_TIMEOUT); + req.wIndex[0] = port; + req.wIndex[1] = timeout; + USETW(req.wLength, 0); + return (usbd_do_request(udev, mtx, &req, 0)); +} + +/*------------------------------------------------------------------------* + * usbd_req_set_hub_depth + * + * Returns: + * 0: Success + * Else: Failure + *------------------------------------------------------------------------*/ +usb_error_t +usbd_req_set_hub_depth(struct usb_device *udev, struct mtx *mtx, + uint16_t depth) +{ + struct usb_device_request req; + + req.bmRequestType = UT_WRITE_CLASS_DEVICE; + req.bRequest = UR_SET_HUB_DEPTH; + USETW(req.wValue, depth); + USETW(req.wIndex, 0); + USETW(req.wLength, 0); + return (usbd_do_request(udev, mtx, &req, 0)); +} + +/*------------------------------------------------------------------------* * usbd_req_clear_port_feature * * Returns: ==== //depot/projects/usb/src/sys/dev/usb/usb_request.h#12 (text+ko) ==== @@ -56,6 +56,8 @@ usb_error_t usbd_req_get_hub_descriptor(struct usb_device *udev, struct mtx *mtx, struct usb_hub_descriptor *hd, uint8_t nports); +usb_error_t usbd_req_get_ss_hub_descriptor(struct usb_device *udev, + struct mtx *mtx, struct usb_hub_ss_descriptor *hd); usb_error_t usbd_req_get_hub_status(struct usb_device *udev, struct mtx *mtx, struct usb_hub_status *st); usb_error_t usbd_req_get_port_status(struct usb_device *udev, struct mtx *mtx, @@ -69,7 +71,15 @@ usb_error_t usbd_req_set_port_feature(struct usb_device *udev, struct mtx *mtx, uint8_t port, uint16_t sel); usb_error_t usbd_req_re_enumerate(struct usb_device *udev, struct mtx *mtx); -usb_error_t usbd_req_clear_device_feature(struct usb_device *udev, struct mtx *mtx, uint16_t sel); -usb_error_t usbd_req_set_device_feature(struct usb_device *udev, struct mtx *mtx, uint16_t sel); +usb_error_t usbd_req_clear_device_feature(struct usb_device *udev, + struct mtx *mtx, uint16_t sel); +usb_error_t usbd_req_set_device_feature(struct usb_device *udev, + struct mtx *mtx, uint16_t sel); +usb_error_t usbd_req_set_hub_u1_timeout(struct usb_device *udev, + struct mtx *mtx, uint8_t port, uint8_t timeout); +usb_error_t usbd_req_set_hub_u2_timeout(struct usb_device *udev, + struct mtx *mtx, uint8_t port, uint8_t timeout); +usb_error_t usbd_req_set_hub_depth(struct usb_device *udev, + struct mtx *mtx, uint16_t depth); #endif /* _USB_REQUEST_H_ */ From owner-p4-projects@FreeBSD.ORG Sun Aug 1 16:28:09 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 94C0B106567A; Sun, 1 Aug 2010 16:28:09 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5833F106564A for ; Sun, 1 Aug 2010 16:28:09 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 436868FC16 for ; Sun, 1 Aug 2010 16:28:09 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o71GS9Hv010957 for ; Sun, 1 Aug 2010 16:28:09 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o71GS8UV010955 for perforce@freebsd.org; Sun, 1 Aug 2010 16:28:08 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 1 Aug 2010 16:28:08 GMT Message-Id: <201008011628.o71GS8UV010955@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181686 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Aug 2010 16:28:09 -0000 http://p4web.freebsd.org/@@181686?ac=10 Change 181686 by rene@rene_acer on 2010/08/01 16:27:47 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/casestudy-argentina.com/article.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/committers-guide/article.sgml#32 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#65 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#48 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/cups/article.sgml#3 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/euro/article.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/ldap-auth/article.sgml#3 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/linux-comparison/article.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/linux-emulation/article.sgml#3 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/linux-users/article.sgml#5 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#25 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/problem-reports/article.sgml#5 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/releng-packages/article.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/serial-uart/article.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/storage-devices/article.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/faq/book.sgml#28 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/config/chapter.sgml#10 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/firewalls/chapter.sgml#11 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/install/chapter.sgml#7 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml#14 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml#32 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#19 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#83 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/share/sgml/authors.ent#41 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/solid-state/article.sgml#17 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#35 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml#20 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/install/chapter.sgml#13 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.sgml#53 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml#28 integrate .. //depot/projects/docproj_nl/share/images/articles/releng/branches-releng8.pic#2 integrate .. //depot/projects/docproj_nl/share/images/books/handbook/install/config-country.scr#2 integrate .. //depot/projects/docproj_nl/share/images/books/handbook/install/dist-set.scr#2 integrate .. //depot/projects/docproj_nl/share/images/books/handbook/install/dist-set2.scr#2 integrate .. //depot/projects/docproj_nl/share/images/books/handbook/install/docmenu1.scr#2 integrate .. //depot/projects/docproj_nl/share/images/books/handbook/install/main-doc.scr#2 integrate .. //depot/projects/docproj_nl/share/images/books/handbook/install/main-keymap.scr#2 integrate .. //depot/projects/docproj_nl/share/images/books/handbook/install/main-options.scr#2 integrate .. //depot/projects/docproj_nl/share/images/books/handbook/install/main-std.scr#2 integrate .. //depot/projects/docproj_nl/share/images/books/handbook/install/main1.scr#2 integrate .. //depot/projects/docproj_nl/share/images/books/handbook/install/media.scr#2 integrate .. //depot/projects/docproj_nl/share/images/books/handbook/install/options.scr#2 integrate .. //depot/projects/docproj_nl/share/images/books/handbook/install/sysinstall-exit.scr#2 integrate .. //depot/projects/docproj_nl/share/pgpkeys/andrew.key#1 branch .. //depot/projects/docproj_nl/share/pgpkeys/bapt.key#1 branch .. //depot/projects/docproj_nl/share/pgpkeys/pgpkeys-developers.sgml#42 integrate .. //depot/projects/docproj_nl/share/pgpkeys/pgpkeys.ent#39 integrate .. //depot/projects/docproj_nl/share/pgpkeys/tijl.key#1 branch .. //depot/projects/docproj_nl/share/sgml/freebsd.ent#17 integrate .. //depot/projects/docproj_nl/share/sgml/man-refs.ent#28 integrate .. //depot/projects/docproj_nl/share/sgml/mirrors.xml#20 integrate .. //depot/projects/docproj_nl/www/en/cgi/man.cgi#15 integrate .. //depot/projects/docproj_nl/www/en/cgi/monthly.cgi#2 integrate .. //depot/projects/docproj_nl/www/en/cgi/ports.cgi#4 integrate .. //depot/projects/docproj_nl/www/en/developers.sgml#39 integrate .. //depot/projects/docproj_nl/www/en/news/status/Makefile#10 integrate .. //depot/projects/docproj_nl/www/en/news/status/report-2010-04-2010-06.xml#1 branch .. //depot/projects/docproj_nl/www/en/news/status/status.sgml#11 integrate .. //depot/projects/docproj_nl/www/en/releases/8.1R/Makefile#2 integrate .. //depot/projects/docproj_nl/www/en/releases/8.1R/announce.sgml#1 branch .. //depot/projects/docproj_nl/www/en/releases/8.1R/docbook.css#2 integrate .. //depot/projects/docproj_nl/www/en/releases/8.1R/errata.html#1 branch .. //depot/projects/docproj_nl/www/en/releases/8.1R/hardware.html#1 branch .. //depot/projects/docproj_nl/www/en/releases/8.1R/readme.html#1 branch .. //depot/projects/docproj_nl/www/en/releases/8.1R/relnotes-detailed.html#1 branch .. //depot/projects/docproj_nl/www/en/releases/8.1R/relnotes.sgml#1 branch .. //depot/projects/docproj_nl/www/en/releases/8.1R/schedule.sgml#3 integrate .. //depot/projects/docproj_nl/www/en/releases/index.sgml#10 integrate .. //depot/projects/docproj_nl/www/en/releng/index.sgml#37 integrate .. //depot/projects/docproj_nl/www/en/search/web.atoz#4 integrate .. //depot/projects/docproj_nl/www/nl/administration.sgml#21 integrate .. //depot/projects/docproj_nl/www/share/sgml/commercial.consult.xml#24 integrate .. //depot/projects/docproj_nl/www/share/sgml/commercial.hardware.xml#6 integrate .. //depot/projects/docproj_nl/www/share/sgml/commercial.software.xml#5 integrate .. //depot/projects/docproj_nl/www/share/sgml/events.xml#28 integrate .. //depot/projects/docproj_nl/www/share/sgml/news.xml#85 integrate .. //depot/projects/docproj_nl/www/share/sgml/release.ent#28 integrate .. //depot/projects/docproj_nl/www/share/sgml/usergroups.xml#14 integrate Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/casestudy-argentina.com/article.sgml#2 (text+ko) ==== @@ -22,7 +22,7 @@ - $FreeBSD: doc/en_US.ISO8859-1/articles/casestudy-argentina.com/article.sgml,v 1.2 2005/09/04 22:03:59 joel Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/casestudy-argentina.com/article.sgml,v 1.3 2010/07/31 11:06:17 pgj Exp $ &tm-attrib.freebsd; @@ -296,7 +296,7 @@ With the adoption of FreeBSD, there was almost no additional effort necessary to setup a working Apache, PHP and MySQL environment in minutes. Even the upgrades from PHP4 to PHP5 were - painless. The ports system was again extemely useful in these + painless. The ports system was again extremely useful in these cases, and permitted us to do things like compress text and html contents in Apache with just a few lines of documentation. In addition, we have experienced excellent performance and ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/committers-guide/article.sgml#32 (text+ko) ==== @@ -9,7 +9,7 @@ The &os; Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/articles/committers-guide/article.sgml,v 1.289 2010/06/06 09:34:40 romain Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/committers-guide/article.sgml,v 1.290 2010/07/31 10:39:08 pgj Exp $ 1999 @@ -1099,7 +1099,7 @@ and doc/share/pgpkeys/pgpkeys-developers.sgml. &a.des; has - written a shell script to make this extremely simple. See the + written a shell script (doc/share/pgpkeys/addkey.sh) to make this extremely simple. See the README file for more information. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#65 (text+ko) ==== @@ -1,4 +1,4 @@ - + + Dru Lavigne - $FreeBSD: doc/en_US.ISO8859-1/articles/linux-comparison/article.sgml,v 1.10 2006/08/08 19:35:13 jcamou Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/linux-comparison/article.sgml,v 1.11 2010/07/31 11:12:17 pgj Exp $ &tm-attrib.freebsd; @@ -546,6 +546,3 @@ - - - ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/linux-emulation/article.sgml#3 (text+ko) ==== @@ -1,4 +1,4 @@ - + &os; development happens in a central CVS repository where only - a selected team of so called commiters can write. This repository - posseses several branches; the most interesting are the HEAD branch, + a selected team of so called committers can write. This repository + possesses several branches; the most interesting are the HEAD branch, in &os; nomenclature called -CURRENT, and RELENG_X branches, where X stands for a number indicating a major version of &os;. As of December 2006, there are development branches for 6.X development @@ -799,7 +799,7 @@ Atomic operations and memory barriers Atomic operations are implemented through a set of functions - performing simple aritmetics on memory operands in an atomic way + performing simple arithmetics on memory operands in an atomic way with respect to external events (interrupts, preemption, etc.). Atomic operations can guarantee atomicity just on small data types (in the magnitude order of the .long. @@ -1083,7 +1083,7 @@ internal to VFS. The &man.namei.9; syscall can cope with symlinks, absolute and relative paths. When a path is looked up using &man.namei.9; it is inputed to the name cache. This behaviour can - be supressed. This routine is used all over the kernel and its + be suppressed. This routine is used all over the kernel and its performance is very critical. @@ -1735,7 +1735,7 @@ unused. Segments are either stored in a global GDT table or in a local LDT table. LDT is accessed via an entry in the GDT. The LDT can store more types of segments. LDT can be per process. - Both tables define upto 8191 entries. + Both tables define up to 8191 entries. @@ -1826,7 +1826,7 @@ fast (the condition variables will probably end up being implemented using signals, i.e. not fast) and simple. In 1:1 model, the situation is also quite clear - the threads must be synchronized - using kernel facilites (which is very slow because a syscall must be + using kernel facilities (which is very slow because a syscall must be performed). The mixed M:N scenario just combines the first and second approach or rely solely on kernel. Threads synchronization is a vital part of thread-enabled programming and its performance can @@ -2121,7 +2121,7 @@ performed, is. When the filename parameter is absolute dirfd is ignored but when the path to the file is relative, it comes to the play. The - dirfd paramtere is a directory relative to which + dirfd parameter is a directory relative to which the relative pathname is checked. The dirfd parameter is a file descriptor of some directory or AT_FDCWD. So for example the @@ -2236,7 +2236,7 @@ introduce a small infrastructure. We have the ldebug facility, which tells whether a given syscall should be debugged (settable via a sysctl). For printing we have LMSG and ARGS macros. Those are used - for altering a printable string for uniform debuging messages. + for altering a printable string for uniform debugging messages. @@ -2256,7 +2256,7 @@ the &linux; programs included in &os; Ports Collection with Fedora Core 4 at 2.6.16 and there are some rudimentary reports of success with Fedora Core 6 at 2.6.16. The - Fedora Core 6 linux_base was recently commited enabling + Fedora Core 6 linux_base was recently committed enabling some further testing of the emulation layer and giving us some more hints where we should put our effort in implementing missing stuff. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/linux-users/article.sgml#5 (text+ko) ==== @@ -19,7 +19,7 @@ The FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/articles/linux-users/article.sgml,v 1.8 2009/07/04 20:07:29 blackend Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/linux-users/article.sgml,v 1.10 2010/07/31 11:12:17 pgj Exp $ &tm-attrib.freebsd; @@ -135,7 +135,7 @@ the &os; Handbook: Using the Packages System. - + Ports @@ -212,7 +212,7 @@ You can apply your own patches if you are so inclined. - + If you do not have any special requirements, packages will probably suit your situation just fine. If you may ever need to customize, ports are the way to go. (And remember, if you @@ -278,7 +278,7 @@ /etc/rc.conf. Also, when installing additional applications be sure to review the documentation to determine how to enable any associated services. - + The following snippet from /etc/rc.conf enables &man.sshd.8; and Apache 2.2. It also specifies that Apache should be started @@ -295,10 +295,10 @@ system): &prompt.root; /etc/rc.d/sshd start - + If a service has not been enabled it can be started from the command line using : - + &prompt.root; /etc/rc.d/sshd forcestart @@ -328,7 +328,7 @@ media: Ethernet autoselect (1000baseTX <full-duplex>) status: active - + IP Configuration @@ -355,7 +355,7 @@ Like IPTABLES in &linux;, &os; also offers a kernel level firewall; actually &os; offers three firewalls: - + IPFIREWALL IPFILTER @@ -584,7 +584,7 @@ Hopefully this document has provided you with enough to get started with &os;. Be sure to take a look at the &os; Handbook - for more indepth coverage of the topics touched on as well as + for more in depth coverage of the topics touched on as well as the many topics not covered in this document. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#25 (text+ko) ==== @@ -11,7 +11,7 @@ The &os; Ports Management Team - $FreeBSD: doc/en_US.ISO8859-1/articles/portbuild/article.sgml,v 1.58 2010/06/01 01:30:13 linimon Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/portbuild/article.sgml,v 1.59 2010/07/31 11:06:18 pgj Exp $ 2003 @@ -64,7 +64,7 @@ /usr/ports/Tools/portbuild/scripts/. Typically, incremental builds are done that use previous - packages as dependendencies; this takes less time, and puts less + packages as dependencies; this takes less time, and puts less load on the mirrors. Full builds are usually only done: ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/problem-reports/article.sgml#5 (text+ko) ==== @@ -7,7 +7,7 @@ Writing &os; Problem Reports - $FreeBSD: doc/en_US.ISO8859-1/articles/problem-reports/article.sgml,v 1.61 2008/12/30 08:24:54 remko Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/problem-reports/article.sgml,v 1.62 2010/07/31 11:06:18 pgj Exp $ &tm-attrib.freebsd; @@ -396,7 +396,7 @@ specific input then include an example of that input if possible, and include both the actual and the expected output. If this data is large or cannot be made public, - then do try to create a minimal file that exibits the + then do try to create a minimal file that exhibits the same issue and that can be included within the PR. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/releng-packages/article.sgml#2 (text+ko) ==== @@ -21,7 +21,7 @@ - $FreeBSD: doc/en_US.ISO8859-1/articles/releng-packages/article.sgml,v 1.19 2006/03/12 13:45:13 remko Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/releng-packages/article.sgml,v 1.20 2010/07/31 11:06:18 pgj Exp $ &tm-attrib.freebsd; @@ -209,7 +209,7 @@ On your first pass through a split it is best to fake the copying of packages and distfiles. This will save - both time and diskspace while you do a couple of trial runs to + both time and disk space while you do a couple of trial runs to make sure things fit, etc. In the oneshot.pl set the fake variable to 1 and instead of actually copying the files it will ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/serial-uart/article.sgml#2 (text+ko) ==== @@ -18,7 +18,7 @@ - $FreeBSD: doc/en_US.ISO8859-1/articles/serial-uart/article.sgml,v 1.13 2004/11/29 21:43:34 ceri Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/serial-uart/article.sgml,v 1.14 2010/07/31 11:06:18 pgj Exp $ &tm-attrib.freebsd; @@ -300,7 +300,7 @@ When two devices that are both DTE or both DCE must be connected together without a modem or a similar media - translater between them, a NULL modem must be used. The + translator between them, a NULL modem must be used. The NULL modem electrically re-arranges the cabling so that the transmitter output is connected to the receiver input on the other device, and vice versa. Similar translations ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/storage-devices/article.sgml#2 (text+ko) ==== @@ -18,7 +18,7 @@ - $FreeBSD: doc/en_US.ISO8859-1/articles/storage-devices/article.sgml,v 1.15 2004/11/29 21:43:34 ceri Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/storage-devices/article.sgml,v 1.16 2010/07/31 11:06:18 pgj Exp $ @@ -40,7 +40,7 @@ ESDI is an acronym that means Enhanced Small Device Interface. It is loosely based on the good old ST506/412 interface originally devised by Seagate Technology, the makers - of the first affordable 5.25" winchester disk. + of the first affordable 5.25" Winchester disk. The acronym says Enhanced, and rightly so. In the first place the speed of the interface is higher, 10 or 15 @@ -2099,7 +2099,7 @@ &prompt.root; mt -f /dev/st0ctl.0 blocksize 1024 Before using a mini cartridge for the first time, the - mini cartridge must be formated. FreeBSD 2.1.0-RELEASE and + mini cartridge must be formatted. FreeBSD 2.1.0-RELEASE and earlier: &prompt.root; /sbin/scsi -f /dev/rst0.ctl -s 600 -c "4 0 0 0 0 0" ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/faq/book.sgml#28 (text+ko) ==== @@ -12,7 +12,7 @@ The &os; Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.1121 2010/07/15 20:39:57 pgj Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.1124 2010/07/30 21:34:30 pgj Exp $ 1995 @@ -2197,7 +2197,7 @@ must be used. PAE stands for Physical Address Extension and is a way for 32-bit x86 CPUs to address more than 4 GB of memory. It remaps the memory that would - otherwise be overlayed by address reservations for + otherwise be overlaid by address reservations for hardware devices above the 4 GB range and uses it as additional physical memory (see &man.pae.4;). Using PAE has some drawbacks; this mode of memory access is a little @@ -4085,7 +4085,7 @@ An answer for this question can be found in the &os; - Glosssary, see LOR. @@ -4528,7 +4528,7 @@ one should be able to refuse categories, but in practice there are too many ports that depend on ports in other categories. Until someone comes up with a solution for this - problem, the general rule is is that if you want to build + problem, the general rule is that if you want to build INDEX, you must have a complete copy of the Ports Collection. @@ -9069,7 +9069,7 @@ Care should be taken with this option. You should also use this command to limit the amount of time that - &man.ppp.8; waits for the peer to begin negotations: + &man.ppp.8; waits for the peer to begin negotiations: set stopped N @@ -9467,7 +9467,7 @@ special cases can be found in /usr/src/sys/netinet/libalias/alias_*.c (alias_ftp.c is a good prototype). - This usually involves reading certain recognised + This usually involves reading certain recognized outgoing packets, identifying the instruction that tells the outside machine to initiate a connection back to the internal machine on a specific (random) port and setting @@ -10145,10 +10145,10 @@ &prompt.user; chmod g-w bar - However, the permissions on foo + However, the permissions on bar will not have changed. - When changing modes of the file hiearchies rooted in the + When changing modes of the file hierarchies rooted in the files instead of the files themselves, you have to use either or together with the ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/config/chapter.sgml#10 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -2807,6 +2807,29 @@ do not expect the problem to be resolved since there are a lot of drivers/hardware that need more testing and work. + A common problem with suspend/resume is that many device + drivers do not save, restore, or reinitialize their firmware, + registers, or device memory properly. As a first attempt at + debugging the problem, try: + + &prompt.root; sysctl debug.bootverbose=1 +&prompt.root; sysctl debug.acpi.suspend_bounce=1 +&prompt.root; acpiconf -s 3 + + This test emulates suspend/resume cycle of all device + drivers without actually going into S3 state. + In some cases, you can easily catch problems with this method + (e.g., losing firmware state, device watchdog time out, and + retrying forever). Note that the system will not really enter + S3 state, which means devices may not lose + power, and many will work fine even if suspend/resume methods + are totally missing, unlike real S3 + state. + + Harder cases require additional hardware, i.e., serial + port/cable for serial console or Firewire port/cable for + &man.dcons.4;, and kernel debugging skills. + To help isolate the problem, remove as many drivers from your kernel as possible. If it works, you can narrow down which driver is the problem by loading drivers until it fails ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/firewalls/chapter.sgml#11 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -826,9 +826,9 @@ Syslogd uses its own special method for segregation of log data. It uses special groupings called facility and level. IPMON - in mode uses security + in mode uses local0 as the facility - name. All IPMON logged data goes to security + name by default. The following levels can be used to further segregate the logged data if desired: @@ -854,9 +854,9 @@ Add the following statement to /etc/syslog.conf: - security.* /var/log/ipfilter.log + local0.* /var/log/ipfilter.log - The security.* + The local0.* means to write all the logged messages to the coded file location. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/install/chapter.sgml#7 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1211,12 +1211,12 @@ User Confirmation Requested Are you sure you wish to exit? The system will reboot - (be sure to remove any floppies/CDs/DVDs from the drives). [ Yes ] No - The install program will start again if the CDROM is left - in the drive and &gui.yes; is selected. + The install program will start again if the + &gui.yes; is selected and the CDROM is left in the drive during + the reboot. If you are booting from floppies it will be necessary to remove the boot.flp floppy before rebooting. @@ -1947,7 +1947,7 @@ Message Now, you need to create BSD partitions inside of the fdisk partition(s) just created. If you have a reasonable amount of disk - space (200MB or more) and don't have any special requirements, simply + space (1GB or more) and don't have any special requirements, simply use the (A)uto command to allocate space automatically. If you have more specific needs or just don't care for the layout chosen by (A)uto, press F1 for more information on manual layout. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml#14 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -660,7 +660,9 @@ The tree was branched again in August 2009, this time for RELENG_8. 8.0-RELEASE, the first release of the 8.X branch, was - released in &rel.current.date;. + released in November 2009. The most recent + &rel.current;-RELEASE came out in &rel.current.date;. There will + be additional releases from the RELENG_8 branch. For now, long-term development projects continue to take place in the 9.X-CURRENT (trunk) branch, and SNAPshot releases of 9.X on ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml#32 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -2746,6 +2746,14 @@ + RELENG_8_1_0_RELEASE + + + &os; 8.1 + + + + RELENG_8_0_0_RELEASE ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#19 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1709,13 +1709,14 @@ 21 * * * * root /usr/libexec/ypxfr passwd.byuid These two lines force the slave to sync its maps with - the maps on the master server. Although these entries are - not mandatory, since the master server attempts to ensure - any changes to its NIS maps are communicated to its slaves - and because password information is vital to systems - depending on the server, it is a good idea to force the - updates. This is more important on busy networks where map - updates might not always complete. + the maps on the master server. These entries are not + mandatory because the master server automatically attempts + to push any map changes to its slaves. However, due to the + importance of correct password information on other clients + depending on the slave server, it is recommended to + specifically force the password map updates frequently. This + is especially important on busy networks where map updates + might not always complete. Now, run the command /etc/netstart on the slave server as well, which again starts the NIS server. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#83 (text+ko) ==== @@ -1,7 +1,7 @@ DOs and DON'Ts section. Now that you are happy with your port, the only thing remaining - is to put it in the main FreeBSD ports tree and make everybody else + is to put it in the main &os; ports tree and make everybody else happy about it too. We do not need your work directory or the pkgname.tgz package, so delete - them now. Next, simply include the output of shar `find - port_dir` in a bug report and send it with the - &man.send-pr.1; program (see Bug + them now. Next, assuming your port is called oneko, + cd to the directory above where the + oneko directory is located, and then type the + following: shar `find oneko` > oneko.shar + + Include your oneko.shar file in a bug report + and send it with the &man.send-pr.1; program (see + Bug Reports and General Commentary for more information about &man.send-pr.1;). Be sure to classify the bug report as category ports and class @@ -382,7 +387,7 @@ confidential!). Also add a short description of the program you ported to the Description field of the PR and - the shar to the Fix field. + the shar file to the Fix field. You can make our work a lot easier, if you use a good @@ -402,10 +407,10 @@ After you have submitted your port, please be patient. Sometimes it can take a few months before a port is included - in FreeBSD, although it might only take a few days. You can + in &os;, although it might only take a few days. You can view the list of ports - waiting to be committed to FreeBSD. + waiting to be committed to &os;. Once we have looked at your port, we will get back to you if necessary, and put it in the tree. Your name will also appear in the list of @@ -616,7 +621,7 @@ Unpack a copy of the tarball in a private directory and make whatever changes are necessary to get the port to compile properly - under the current version of FreeBSD. Keep careful + under the current version of &os;. Keep careful track of everything you do, as you will be automating the process shortly. Everything, including the deletion, addition, or modification of files should be doable using an automated script @@ -631,7 +636,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Aug 1 18:48:44 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 342CA1065678; Sun, 1 Aug 2010 18:48:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D12481065673 for ; Sun, 1 Aug 2010 18:48:43 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B3F4C8FC1E for ; Sun, 1 Aug 2010 18:48:43 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o71ImhwO034776 for ; Sun, 1 Aug 2010 18:48:43 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o71ImhN4034774 for perforce@freebsd.org; Sun, 1 Aug 2010 18:48:43 GMT (envelope-from jhb@freebsd.org) Date: Sun, 1 Aug 2010 18:48:43 GMT Message-Id: <201008011848.o71ImhN4034774@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181691 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Aug 2010 18:48:44 -0000 http://p4web.freebsd.org/@@181691?ac=10 Change 181691 by jhb@jhb_fiver on 2010/08/01 18:48:37 - Implement ipi_cpu() for all architectures. - Use ipi_cpu() instead of ipi_selected() when sending an IPI to a single CPU. Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#64 edit .. //depot/projects/smpng/sys/amd64/include/smp.h#24 edit .. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#126 edit .. //depot/projects/smpng/sys/i386/include/smp.h#32 edit .. //depot/projects/smpng/sys/i386/xen/mp_machdep.c#16 edit .. //depot/projects/smpng/sys/ia64/ia64/mp_machdep.c#49 edit .. //depot/projects/smpng/sys/ia64/include/smp.h#12 edit .. //depot/projects/smpng/sys/kern/sched_4bsd.c#95 edit .. //depot/projects/smpng/sys/kern/sched_ule.c#104 edit .. //depot/projects/smpng/sys/kern/subr_smp.c#61 edit .. //depot/projects/smpng/sys/mips/include/smp.h#7 edit .. //depot/projects/smpng/sys/mips/mips/mp_machdep.c#10 edit .. //depot/projects/smpng/sys/notes#98 edit .. //depot/projects/smpng/sys/powerpc/include/smp.h#9 edit .. //depot/projects/smpng/sys/powerpc/powerpc/mp_machdep.c#19 edit .. //depot/projects/smpng/sys/sparc64/include/smp.h#25 edit .. //depot/projects/smpng/sys/sun4v/include/smp.h#8 edit .. //depot/projects/smpng/sys/sun4v/sun4v/mp_machdep.c#9 edit Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#64 (text+ko) ==== @@ -1239,15 +1239,51 @@ do { old_pending = cpu_ipi_pending[cpu]; new_pending = old_pending | bitmap; - } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu],old_pending, new_pending)); - + } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu], + old_pending, new_pending)); if (old_pending) continue; } + lapic_ipi_vectored(ipi, cpu_apic_ids[cpu]); + } +} - lapic_ipi_vectored(ipi, cpu_apic_ids[cpu]); +/* + * send an IPI to a specific CPU. + */ +void +ipi_cpu(int cpu, u_int ipi) +{ + u_int bitmap = 0; + u_int old_pending; + u_int new_pending; + + if (IPI_IS_BITMAPED(ipi)) { + bitmap = 1 << ipi; + ipi = IPI_BITMAP_VECTOR; } + /* + * IPI_STOP_HARD maps to a NMI and the trap handler needs a bit + * of help in order to understand what is the source. + * Set the mask of receiving CPUs for this purpose. + */ + if (ipi == IPI_STOP_HARD) + atomic_set_int(&ipi_nmi_pending, 1 << cpu); + + CTR3(KTR_SMP, "%s: cpu: %d ipi: %x", __func__, cpu, ipi); + KASSERT(cpu_apic_ids[cpu] != -1, ("IPI to non-existent CPU %d", cpu)); + + if (bitmap) { + do { + old_pending = cpu_ipi_pending[cpu]; + new_pending = old_pending | bitmap; + } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu], + old_pending, new_pending)); + if (old_pending) + return; + } + lapic_ipi_vectored(ipi, cpu_apic_ids[cpu]); } /* ==== //depot/projects/smpng/sys/amd64/include/smp.h#24 (text+ko) ==== @@ -60,10 +60,11 @@ void cpustop_handler(void); void cpususpend_handler(void); void init_secondary(void); +void ipi_all_but_self(u_int ipi); +void ipi_bitmap_handler(struct trapframe frame); +void ipi_cpu(int cpu, u_int ipi); int ipi_nmi_handler(void); void ipi_selected(cpumask_t cpus, u_int ipi); -void ipi_all_but_self(u_int ipi); -void ipi_bitmap_handler(struct trapframe frame); u_int mp_bootaddress(u_int); int mp_grab_cpu_hlt(void); void smp_cache_flush(void); ==== //depot/projects/smpng/sys/i386/i386/mp_machdep.c#126 (text+ko) ==== @@ -1327,15 +1327,51 @@ do { old_pending = cpu_ipi_pending[cpu]; new_pending = old_pending | bitmap; - } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu],old_pending, new_pending)); - + } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu], + old_pending, new_pending)); if (old_pending) continue; } + lapic_ipi_vectored(ipi, cpu_apic_ids[cpu]); + } +} - lapic_ipi_vectored(ipi, cpu_apic_ids[cpu]); +/* + * send an IPI to a specific CPU. + */ +void +ipi_cpu(int cpu, u_int ipi) +{ + u_int bitmap = 0; + u_int old_pending; + u_int new_pending; + + if (IPI_IS_BITMAPED(ipi)) { + bitmap = 1 << ipi; + ipi = IPI_BITMAP_VECTOR; } + /* + * IPI_STOP_HARD maps to a NMI and the trap handler needs a bit + * of help in order to understand what is the source. + * Set the mask of receiving CPUs for this purpose. + */ + if (ipi == IPI_STOP_HARD) + atomic_set_int(&ipi_nmi_pending, 1 << cpu); + + CTR3(KTR_SMP, "%s: cpu: %d ipi: %x", __func__, cpu, ipi); + KASSERT(cpu_apic_ids[cpu] != -1, ("IPI to non-existent CPU %d", cpu)); + + if (bitmap) { + do { + old_pending = cpu_ipi_pending[cpu]; + new_pending = old_pending | bitmap; + } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu], + old_pending, new_pending)); + if (old_pending) + return; + } + lapic_ipi_vectored(ipi, cpu_apic_ids[cpu]); } /* ==== //depot/projects/smpng/sys/i386/include/smp.h#32 (text+ko) ==== @@ -60,12 +60,13 @@ void cpu_add(u_int apic_id, char boot_cpu); void cpustop_handler(void); void init_secondary(void); -int ipi_nmi_handler(void); -void ipi_selected(cpumask_t cpus, u_int ipi); void ipi_all_but_self(u_int ipi); #ifndef XEN void ipi_bitmap_handler(struct trapframe frame); #endif +void ipi_cpu(int cpu, u_int ipi); +int ipi_nmi_handler(void); +void ipi_selected(cpumask_t cpus, u_int ipi); u_int mp_bootaddress(u_int); int mp_grab_cpu_hlt(void); void smp_cache_flush(void); ==== //depot/projects/smpng/sys/i386/xen/mp_machdep.c#16 (text+ko) ==== @@ -1121,19 +1121,14 @@ cpu--; cpus &= ~(1 << cpu); - KASSERT(cpu_apic_ids[cpu] != -1, - ("IPI to non-existent CPU %d", cpu)); - if (bitmap) { do { old_pending = cpu_ipi_pending[cpu]; new_pending = old_pending | bitmap; - } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu],old_pending, new_pending)); - + } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu], + old_pending, new_pending)); if (!old_pending) ipi_pcpu(cpu, RESCHEDULE_VECTOR); - continue; - } else { KASSERT(call_data != NULL, ("call_data not set")); ipi_pcpu(cpu, CALL_FUNCTION_VECTOR); @@ -1142,6 +1137,45 @@ } /* + * send an IPI to a specific CPU. + */ +void +ipi_cpu(int cpu, u_int ipi) +{ + u_int bitmap = 0; + u_int old_pending; + u_int new_pending; + + if (IPI_IS_BITMAPED(ipi)) { + bitmap = 1 << ipi; + ipi = IPI_BITMAP_VECTOR; + } + + /* + * IPI_STOP_HARD maps to a NMI and the trap handler needs a bit + * of help in order to understand what is the source. + * Set the mask of receiving CPUs for this purpose. + */ + if (ipi == IPI_STOP_HARD) + atomic_set_int(&ipi_nmi_pending, 1 << cpu); + + CTR3(KTR_SMP, "%s: cpu: %d ipi: %x", __func__, cpu, ipi); + + if (bitmap) { + do { + old_pending = cpu_ipi_pending[cpu]; + new_pending = old_pending | bitmap; + } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu], + old_pending, new_pending)); + if (!old_pending) + ipi_pcpu(cpu, RESCHEDULE_VECTOR); + } else { + KASSERT(call_data != NULL, ("call_data not set")); + ipi_pcpu(cpu, CALL_FUNCTION_VECTOR); + } +} + +/* * send an IPI to all CPUs EXCEPT myself */ void ==== //depot/projects/smpng/sys/ia64/ia64/mp_machdep.c#49 (text+ko) ==== @@ -408,6 +408,16 @@ } /* + * send an IPI to a specific CPU. + */ +void +ipi_cpu(int cpu, u_int ipi) +{ + + ipi_send(cpuid_to_pcpu[cpu], ipi); +} + +/* * send an IPI to all CPUs EXCEPT myself. */ void ==== //depot/projects/smpng/sys/ia64/include/smp.h#12 (text+ko) ==== @@ -25,6 +25,7 @@ extern int ia64_ipi_wakeup; void ipi_all_but_self(int ipi); +void ipi_cpu(int cpu, u_int ipi); void ipi_selected(cpumask_t cpus, int ipi); void ipi_send(struct pcpu *, int ipi); ==== //depot/projects/smpng/sys/kern/sched_4bsd.c#95 (text+ko) ==== @@ -1154,7 +1154,7 @@ pcpu = pcpu_find(cpuid); if (idle_cpus_mask & pcpu->pc_cpumask) { forward_wakeups_delivered++; - ipi_selected(pcpu->pc_cpumask, IPI_AST); + ipi_cpu(cpuid, IPI_AST); return; } @@ -1167,13 +1167,13 @@ if (pri <= PRI_MAX_ITHD) #endif /* ! FULL_PREEMPTION */ { - ipi_selected(pcpu->pc_cpumask, IPI_PREEMPT); + ipi_cpu(cpuid, IPI_PREEMPT); return; } #endif /* defined(IPI_PREEMPTION) && defined(PREEMPTION) */ pcpu->pc_curthread->td_flags |= TDF_NEEDRESCHED; - ipi_selected(pcpu->pc_cpumask, IPI_AST); + ipi_cpu(cpuid, IPI_AST); return; } #endif /* SMP */ @@ -1666,7 +1666,7 @@ td->td_flags |= TDF_NEEDRESCHED; if (td != curthread) - ipi_selected(1 << cpu, IPI_AST); + ipi_cpu(cpu, IPI_AST); break; default: break; ==== //depot/projects/smpng/sys/kern/sched_ule.c#104 (text+ko) ==== @@ -851,7 +851,7 @@ * IPI the target cpu to force it to reschedule with the new * workload. */ - ipi_selected(1 << TDQ_ID(low), IPI_PREEMPT); + ipi_cpu(TDQ_ID(low), IPI_PREEMPT); } tdq_unlock_pair(high, low); return (moved); @@ -974,7 +974,7 @@ return; } tdq->tdq_ipipending = 1; - ipi_selected(1 << cpu, IPI_PREEMPT); + ipi_cpu(cpu, IPI_PREEMPT); } /* @@ -2411,7 +2411,7 @@ cpu = ts->ts_cpu; ts->ts_cpu = sched_pickcpu(td, 0); if (cpu != PCPU_GET(cpuid)) - ipi_selected(1 << cpu, IPI_PREEMPT); + ipi_cpu(cpu, IPI_PREEMPT); #endif } ==== //depot/projects/smpng/sys/kern/subr_smp.c#61 (text+ko) ==== @@ -181,7 +181,7 @@ id = td->td_oncpu; if (id == NOCPU) return; - ipi_selected(1 << id, IPI_AST); + ipi_cpu(id, IPI_AST); } /* ==== //depot/projects/smpng/sys/mips/include/smp.h#7 (text+ko) ==== @@ -30,6 +30,7 @@ #ifndef LOCORE +void ipi_cpu(int cpu, u_int ipi); void ipi_selected(cpumask_t cpus, int ipi); void smp_init_secondary(u_int32_t cpuid); void mpentry(void); ==== //depot/projects/smpng/sys/mips/mips/mp_machdep.c#10 (text+ko) ==== @@ -85,6 +85,15 @@ } } +/* Send an IPI to a specific CPU. */ +void +ipi_cpu(int cpu, u_int ipi) +{ + + CTR3(KTR_SMP, "%s: cpu: %d, ipi: %x\n", __func__, cpu, ipi); + ipi_send(cpuid_to_pcpu[cpu], ipi); +} + /* * Handle an IPI sent to this processor. */ ==== //depot/projects/smpng/sys/notes#98 (text+ko) ==== @@ -60,6 +60,7 @@ recursion) and panic if we try to sleep with any held to provide a cheaper version of the current WITNESS check that doesn't bog the system down quite as bad. +- ipi_cpu() Active child branches: - jhb_intr - misc interrupt stuff ==== //depot/projects/smpng/sys/powerpc/include/smp.h#9 (text+ko) ==== @@ -40,6 +40,7 @@ #ifndef LOCORE void ipi_all_but_self(int ipi); +void ipi_cpu(int cpu, u_int ipi); void ipi_selected(cpumask_t cpus, int ipi); struct cpuref { ==== //depot/projects/smpng/sys/powerpc/powerpc/mp_machdep.c#19 (text+ko) ==== @@ -336,6 +336,14 @@ } } +/* Send an IPI to a specific CPU. */ +void +ipi_cpu(int cpu, u_int ipi) +{ + + ipi_send(cpuid_to_pcpu[cpu], ipi); +} + /* Send an IPI to all CPUs EXCEPT myself. */ void ipi_all_but_self(int ipi) ==== //depot/projects/smpng/sys/sparc64/include/smp.h#25 (text+ko) ==== @@ -133,6 +133,17 @@ cpu_ipi_selected(cpus, 0, (u_long)tl_ipi_level, ipi); } +static __inline void +ipi_cpu(int cpu, u_int ipi) +{ + + /* + * XXX: Not ideal, but would require more work to add a cpu_ipi_cpu + * function pointer. + */ + cpu_ipi_selected(1 << cpu, 0, (u_long)tl_ipi_level, ipi); +} + #if defined(_MACHINE_PMAP_H_) && defined(_SYS_MUTEX_H_) static __inline void * ==== //depot/projects/smpng/sys/sun4v/include/smp.h#8 (text+ko) ==== @@ -82,8 +82,9 @@ void cpu_ipi_stop(struct trapframe *tf); void cpu_ipi_preempt(struct trapframe *tf); +void ipi_all_but_self(u_int ipi); +void ipi_cpu(int cpu, u_int ipi); void ipi_selected(u_int cpus, u_int ipi); -void ipi_all_but_self(u_int ipi); vm_offset_t mp_tramp_alloc(void); void mp_set_tsb_desc_ra(vm_paddr_t); ==== //depot/projects/smpng/sys/sun4v/sun4v/mp_machdep.c#9 (text+ko) ==== @@ -518,7 +518,6 @@ } } - void ipi_selected(u_int icpus, u_int ipi) { @@ -533,7 +532,6 @@ * 4) handling 4-way threading vs 2-way threading should happen here * and not in forward wakeup */ - cpulist = PCPU_GET(cpulist); cpus = (icpus & ~PCPU_GET(cpumask)); @@ -545,8 +543,33 @@ cpu_count++; } - cpu_ipi_selected(cpu_count, cpulist, (u_long)tl_ipi_level, ipi, 0, &ackmask); - + cpu_ipi_selected(cpu_count, cpulist, (u_long)tl_ipi_level, ipi, 0, + &ackmask); +} + +void +ipi_cpu(int cpu, u_int ipi) +{ + int i, cpu_count; + uint16_t *cpulist; + cpumask_t cpus; + uint64_t ackmask; + + /* + * + * 3) forward_wakeup appears to abuse ASTs + * 4) handling 4-way threading vs 2-way threading should happen here + * and not in forward wakeup + */ + cpulist = PCPU_GET(cpulist); + if (PCPU_GET(cpumask) & (1 << cpu)) + cpu_count = 0; + else { + cpulist[0] = (uint16_t)cpu; + cpu_count = 1; + } + cpu_ipi_selected(cpu_count, cpulist, (u_long)tl_ipi_level, ipi, 0, + &ackmask); } void From owner-p4-projects@FreeBSD.ORG Sun Aug 1 19:07:04 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3E3FB1065675; Sun, 1 Aug 2010 19:07:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 02997106566B for ; Sun, 1 Aug 2010 19:07:04 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E26D28FC17 for ; Sun, 1 Aug 2010 19:07:03 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o71J73kO037132 for ; Sun, 1 Aug 2010 19:07:03 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o71J739I037130 for perforce@freebsd.org; Sun, 1 Aug 2010 19:07:03 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 1 Aug 2010 19:07:03 GMT Message-Id: <201008011907.o71J739I037130@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181692 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Aug 2010 19:07:04 -0000 http://p4web.freebsd.org/@@181692?ac=10 Change 181692 by hselasky@hselasky_laptop001 on 2010/08/01 19:06:24 USB controller (XHCI): - implement endpoint extension and transfer insertion and removal from hardware DMA queue. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#7 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#9 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhcireg.h#10 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#7 (text+ko) ==== @@ -639,7 +639,8 @@ i = sc->sc_command_idx; j = sc->sc_command_ccs; - while (1) { + /* check if there are any commands on the queue */ + while ((pcmd = TAILQ_FIRST(&sc->sc_cmd_head)) != NULL) { k = (phwr->hwr_events[i].dwTrb3 & htole32(XHCI_TRB_3_CYCLE_BIT)) ? 1 : 0; @@ -649,11 +650,6 @@ if ((sc->sc_cmd_dp == temp) && (j == k)) break; - /* check if there are any commands on the queue */ - pcmd = TAILQ_FIRST(&sc->sc_cmd_head); - if (pcmd == NULL) - break; - TAILQ_REMOVE(&sc->sc_cmd_head, pcmd, entry); pcmd->entry.tqe_prev = NULL; @@ -662,7 +658,7 @@ usb_pc_cpu_flush(&sc->sc_hw.root_pc); - temp = pcmd->trb.dwTrb3 | htole32(XHCI_TRB_3_IOC_BIT); + temp = pcmd->trb.dwTrb3; if (j) temp |= htole32(XHCI_TRB_3_CYCLE_BIT); @@ -706,6 +702,123 @@ sc->sc_command_ccs = j; } +static usb_error_t +xhci_do_command(struct xhci_softc *sc, struct xhci_trb *trb, + uint16_t timeout_ms) +{ + XXX implement; +} + +static usb_error_t +xhci_cmd_disable_slot(struct xhci_softc *sc, uint8_t slot_id) +{ + struct xhci_trb trb; + uint32_t dword; + + trb.qwTrb0 = 0; + trb.dwTrb2 = 0; + dword = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_DISABLE_SLOT) | + XHCI_TRB_3_SLOT_SET(slot_id); + + trb.dwTrb3 = htole32(dword); + + return (xhci_do_command(sc, &trb, 50 /* ms */)); +} + +static usb_error_t +xhci_cmd_configure_ep(struct xhci_softc *sc, uint64_t input_ctx, + uint8_t deconfigure, uint8_t slot_id) +{ + struct xhci_trb trb; + uint32_t dword; + + trb.qwTrb0 = htole64(input_ctx); + trb.dwTrb2 = 0; + dword = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_CONFIGURE_EP) | + XHCI_TRB_3_SLOT_SET(slot_id); + + if (deconfigure) + dword |= XHCI_TRB_3_DCEP_BIT; + + trb.dwTrb3 = htole32(dword); + + return (xhci_do_command(sc, &trb, 50 /* ms */)); +} + +static usb_error_t +xhci_cmd_evaluate_ctx(struct xhci_softc *sc, uint64_t input_ctx, + uint8_t slot_id) +{ + struct xhci_trb trb; + uint32_t dword; + + trb.qwTrb0 = htole64(input_ctx); + trb.dwTrb2 = 0; + dword = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_EVALUATE_CTX) | + XHCI_TRB_3_SLOT_SET(slot_id); + trb.dwTrb3 = htole32(dword); + + return (xhci_do_command(sc, &trb, 50 /* ms */)); +} + +static usb_error_t +xhci_cmd_reset_ep(struct xhci_softc *sc, uint8_t preserve, + uint8_t ep_id, uint8_t slot_id) +{ + struct xhci_trb trb; + uint32_t dword; + + trb.qwTrb0 = 0; + trb.dwTrb2 = 0; + dword = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_RESET_EP) | + XHCI_TRB_3_SLOT_SET(slot_id) | + XHCI_TRB_3_SLOT_SET(ep_id); + + if (preserve) + dword |= XHCI_TRB_3_PRSV_BIT; + + trb.dwTrb3 = htole32(dword); + + return (xhci_do_command(sc, &trb, 50 /* ms */)); +} + +static usb_error_t +xhci_cmd_stop_ep(struct xhci_softc *sc, uint8_t suspend, + uint8_t ep_id, uint8_t slot_id) +{ + struct xhci_trb trb; + uint32_t dword; + + trb.qwTrb0 = 0; + trb.dwTrb2 = 0; + dword = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_STOP_EP) | + XHCI_TRB_3_SLOT_SET(slot_id) | + XHCI_TRB_3_SLOT_SET(ep_id); + + if (suspend) + dword |= XHCI_TRB_3_SUSP_EP_BIT; + + trb.dwTrb3 = htole32(dword); + + return (xhci_do_command(sc, &trb, 50 /* ms */)); +} + +static usb_error_t +xhci_cmd_reset_dev(struct xhci_softc *sc, uint8_t slot_id) +{ + struct xhci_trb trb; + uint32_t dword; + + trb.qwTrb0 = 0; + trb.dwTrb2 = 0; + dword = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_RESET_DEVICE) | + XHCI_TRB_3_SLOT_SET(slot_id); + + trb.dwTrb3 = htole32(dword); + + return (xhci_do_command(sc, &trb, 50 /* ms */)); +} + /*------------------------------------------------------------------------* * xhci_interrupt - XHCI interrupt handler *------------------------------------------------------------------------*/ @@ -1195,9 +1308,6 @@ td->td_trb[td->ntrb].dwTrb2 &= ~htole32(XHCI_TRB_2_TDSZ_SET(15)); td->td_trb[td->ntrb].dwTrb3 &= ~htole32(XHCI_TRB_3_CHAIN_BIT); - /* link the current TD with the next one */ - td->td_trb[td->ntrb].qwTrb0 = XXX; - usb_pc_cpu_flush(td->page_cache); /* must have at least one frame! */ @@ -1205,7 +1315,224 @@ xfer->td_transfer_last = td; } +static usb_error_t +xhci_alloc_endpoint_ext(struct xhci_softc *sc, uint8_t index, + struct usb_endpoint_descriptor *edesc) +{ + struct usb_page_search buf_res; + struct xhci_endpoint_ext *pepext; + struct usb_page_cache *pc; + struct usb_page *pg; + uint8_t epno; + + epno = edesc->bEndpointAddress; + + if ((edesc->bmAttributes & UE_XFERTYPE) == UE_CONTROL) + epno |= UE_DIR_IN; + + epno = XHCI_EPNO2EPID(epno); + pc = &sc->sc_hw.devs[index].endpoint_pc[epno]; + pg = &sc->sc_hw.devs[index].endpoint_pg[epno]; + + /* need to initialize the page cache */ + pc->tag_parent = sc->sc_bus.dma_parent_tag; + + if (usb_pc_alloc_mem(pc, pg, sizeof(*pepext), XHCI_TRB_ALIGN)) { + return (USB_ERR_NOMEM); /* failure */ + } + + /* the allocated memory is zeroed */ + + usbd_get_page(pc, 0, &buf_res); + + pepext = buf_res.buffer; + + pepext->page_cache = pc; + pepext->trb_ccs = 1; + + usb_pc_cpu_flush(pepext->page_cache); + + return (0); +} + static void +xhci_free_endpoint_ext(struct xhci_softc *sc, uint8_t index, + struct usb_endpoint_descriptor *edesc) +{ + struct usb_page_cache *pc; + uint8_t epno; + + epno = edesc->bEndpointAddress; + + if ((edesc->bmAttributes & UE_XFERTYPE) == UE_CONTROL) + epno |= UE_DIR_IN; + + epno = XHCI_EPNO2EPID(epno); + pc = &sc->sc_hw.devs[index].endpoint_pc[epno]; + + usb_pc_free_mem(pc); +} + +static void +xhci_get_endpoint_ext(struct usb_xfer *xfer, struct usb_page_search *buf) +{ + struct xhci_softc *sc = XHCI_BUS2SC(xfer->xroot->bus); + uint8_t epno; + uint8_t index; + + epno = xfer->endpointno; + if (xfer->flags_int.control_xfr) + epno |= UE_DIR_IN; + + epno = XHCI_EPNO2EPID(epno); + index = xfer->xroot->udev->device_index; + + usbd_get_page(&sc->sc_hw.devs[index].endpoint_pc[epno], 0, buf); +} + +static void +xhci_endpoint_doorbell(struct usb_xfer *xfer) +{ + struct xhci_softc *sc = XHCI_BUS2SC(xfer->xroot->bus); + uint8_t epno; + uint8_t index; + + epno = xfer->endpointno; + if (xfer->flags_int.control_xfr) + epno |= UE_DIR_IN; + + epno = XHCI_EPNO2EPID(epno); + index = xfer->xroot->udev->device_index; + + XWRITE4(sc, door, XHCI_DOORBELL(index), epno | XHCI_DB_SID_SET(0)); +} + +static void +xhci_transfer_remove(struct usb_xfer *xfer, usb_error_t error) +{ + struct usb_page_search buf_res; + struct xhci_endpoint_ext *pepext; + + if (xfer->flags_int.bandwidth_reclaimed) { + xfer->flags_int.bandwidth_reclaimed = 0; + + xhci_get_endpoint_ext(xfer, &buf_res); + + pepext = buf_res.buffer; + + pepext->trb_used--; + + usb_pc_cpu_flush(pepext->page_cache); + + if (error) + xhci_transfer_stop_endpoint(xfer); + } +} + +static usb_error_t +xhci_transfer_insert(struct usb_xfer *xfer) +{ + struct usb_page_search buf_res; + struct xhci_td *td_first; + struct xhci_td *td_last; + struct xhci_endpoint_ext *pepext; + uint64_t addr; + uint32_t temp; + uint8_t i; + uint8_t j; + + /* check if already inserted */ + if (xfer->flags_int.bandwidth_reclaimed) + return (0); + + xhci_get_endpoint_ext(xfer, &buf_res); + + td_first = xfer->td_transfer_first; + td_last = xfer->td_transfer_last; + pepext = buf_res.buffer; + addr = buf_res.physaddr; + + if (pepext->trb_used >= (XHCI_MAX_TRANSFERS - 1)) + return (USB_ERR_NOMEM); + + pepext->trb_used++; + + xfer->flags_int.bandwidth_reclaimed = 1; + + i = pepext->trb_index; + j = pepext->trb_ccs; + + /* update TC and next pointer of last link TRB */ + + temp = td_last->td_trb[td_last->ntrb].dwTrb3; + + if (j) + temp |= htole32(XHCI_TRB_3_TC_BIT); + else + temp &= ~htole32(XHCI_TRB_3_TC_BIT); + + addr += (uintptr_t)&((struct xhci_endpoint_ext *)0)->trb[i + 1]; + + td_last->td_trb[td_last->ntrb].dwTrb3 = temp; + td_last->td_trb[td_last->ntrb].qwTrb0 = htole64(addr); + + usb_pc_cpu_flush(td_last->page_cache); + + /* update next pointer of link TRB */ + + pepext->trb[i].qwTrb0 = td_first->td_self; + pepext->trb[i].dwTrb2 = htole32(XHCI_TRB_2_IRQ_SET(0)); + + usb_pc_cpu_flush(pepext->page_cache); + + if (j) + temp = htole32(XHCI_TRB_3_CYCLE_BIT | XHCI_TRB_3_TC_BIT | + XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_LINK)); + else + temp = htole32(XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_LINK)); + + pepext->trb[i].dwTrb3 = temp; + + usb_pc_cpu_flush(pepext->page_cache); + + /* advance queue */ + + i++; + + if (i == (XHCI_MAX_TRANSFERS - 1)) { + + addr = buf_res.physaddr; + + /* update next pointer of link TRB */ + + pepext->trb[i].qwTrb0 = htole64(addr); + pepext->trb[i].dwTrb2 = htole32(XHCI_TRB_2_IRQ_SET(0)); + + usb_pc_cpu_flush(pepext->page_cache); + + if (j) + temp = htole32(XHCI_TRB_3_CYCLE_BIT | XHCI_TRB_3_TC_BIT | + XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_LINK)); + else + temp = htole32(XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_LINK)); + + pepext->trb[i].dwTrb3 = temp; + + usb_pc_cpu_flush(pepext->page_cache); + + xhci_endpoint_doorbell(xfer); + + i = 0; + j ^= 1; + } + + pepext->trb_index = i; + pepext->trb_ccs = j; + + return (0); +} + +static void xhci_root_intr(struct xhci_softc *sc) { uint16_t i; @@ -1242,6 +1569,9 @@ DPRINTFN(2, "xfer=%p, endpoint=%p, error=%d\n", xfer, xfer->endpoint, error); + /* remove transfer from HW queue */ + xhci_transfer_remove(xfer, error); + /* dequeue transfer and start next transfer */ usbd_transfer_done(xfer, error); } @@ -1273,11 +1603,20 @@ /* put transfer on interrupt queue */ usbd_transfer_enqueue(&xfer->xroot->bus->intr_q, xfer); + + /* try to insert xfer on HW queue */ + xhci_transfer_insert(xfer); } static void xhci_device_generic_start(struct usb_xfer *xfer) { + /* try to insert xfer on HW queue */ + if (xhci_transfer_insert(xfer) != 0) { + DPRINTFN(0, "Failed to insert " + "transfer %p into HW queue.\n", xfer); + } + /* start timeout, if any */ if (xfer->timeout != 0) usbd_transfer_timeout_ms(xfer, &xhci_timeout, xfer->timeout); ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#9 (text+ko) ==== @@ -27,11 +27,12 @@ #define _XHCI_H_ #define XHCI_MAX_DEVICES MIN(USB_MAX_DEVICES, 128) -#define XHCI_MAX_ENDPOINTS 32 +#define XHCI_MAX_ENDPOINTS 32 /* hardcoded - do not change */ #define XHCI_MAX_SCRATCHPADS 32 -#define XHCI_MAX_EVENTS (16 * 7) -#define XHCI_MAX_COMMANDS (16 * 7) +#define XHCI_MAX_EVENTS (16 * 13) +#define XHCI_MAX_COMMANDS (16 * 1) #define XHCI_MAX_RSEG 1 +#define XHCI_MAX_TRANSFERS 4 #define XHCI_DEV_CTX_ADDR_ALIGN 64 /* bytes */ #define XHCI_DEV_CTX_ALIGN 64 /* bytes */ @@ -55,6 +56,8 @@ #define XHCI_BAA_MASK 0xFFFFFFFFFFFFFFE0ULL }; +#define XHCI_EPNO2EPID(x) ((((x) & UE_DIR_IN) ? 1 : 0) | (2 * ((x) & UE_ADDR))) + struct xhci_slot_ctx { volatile uint32_t dwSctx0; #define XHCI_SCTX_0_ROUTE_SET(x) ((x) & 0xFFFFF) @@ -197,6 +200,8 @@ #define XHCI_TRB_3_IOC_BIT (1U << 5) #define XHCI_TRB_3_IDT_BIT (1U << 6) #define XHCI_TRB_3_BEI_BIT (1U << 9) +#define XHCI_TRB_3_DCEP_BIT (1U << 9) +#define XHCI_TRB_3_PRSV_BIT (1U << 9) #define XHCI_TRB_3_TRT_MASK (3U << 16) #define XHCI_TRB_3_TRT_NONE (0U << 16) #define XHCI_TRB_3_TRT_OUT (2U << 16) @@ -207,6 +212,11 @@ #define XHCI_TRB_3_FRID_GET(x) (((x) >> 20) & 0x7FF) #define XHCI_TRB_3_FRID_SET(x) (((x) & 0x7FF) << 20) #define XHCI_TRB_3_ISO_SIA_BIT (1U << 31) +#define XHCI_TRB_3_EP_GET(x) (((x) >> 20) & 0x1F) +#define XHCI_TRB_3_EP_SET(x) (((x) & 0x1F) << 20) +#define XHCI_TRB_3_SUSP_EP_BIT (1U << 23) +#define XHCI_TRB_3_SLOT_GET(x) (((x) >> 24) & 0xFF) +#define XHCI_TRB_3_SLOT_SET(x) (((x) & 0xFF) << 24) /* Commands */ #define XHCI_TRB_TYPE_RESERVED 0x00 @@ -324,23 +334,26 @@ }; struct xhci_endpoint_ext { - TAILQ_HEAD(, xhci_qh) head; - struct usb_page_cache root_pc; + struct xhci_trb trb[XHCI_MAX_TRANSFERS]; - struct usb_page root_pg; + struct xhci_command ep_stop_cmd; - //XXX data for QH!; + struct usb_page_cache *page_cache; - uint8_t pstreams; + uint8_t trb_used; + uint8_t trb_ccs; + uint8_t trb_index; }; struct xhci_hw_dev { struct usb_page_cache device_pc; + struct usb_page_cache endpoint_pc[XHCI_MAX_ENDPOINTS]; struct usb_page_cache input_pc; struct usb_page_cache scratch_pc[XHCI_MAX_SCRATCHPADS]; struct usb_page device_pg; + struct usb_page endpoint_pg[XHCI_MAX_ENDPOINTS]; struct usb_page input_pg; struct usb_page scratch_pg[XHCI_MAX_SCRATCHPADS]; }; ==== //depot/projects/usb/src/sys/dev/usb/controller/xhcireg.h#10 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sun Aug 1 21:19:29 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 78B331065678; Sun, 1 Aug 2010 21:19:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3D17A106566B for ; Sun, 1 Aug 2010 21:19:29 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 29F798FC16 for ; Sun, 1 Aug 2010 21:19:29 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o71LJTs1059737 for ; Sun, 1 Aug 2010 21:19:29 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o71LJSEA059735 for perforce@freebsd.org; Sun, 1 Aug 2010 21:19:28 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 1 Aug 2010 21:19:28 GMT Message-Id: <201008012119.o71LJSEA059735@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181694 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Aug 2010 21:19:29 -0000 http://p4web.freebsd.org/@@181694?ac=10 Change 181694 by hselasky@hselasky_laptop001 on 2010/08/01 21:19:01 USB core: - add support for more than 15 Root-HUB USB ports (SuperSpeed) Ordinary SuperSpeed HUBs cannot have more than up to and including 15 ports. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb.h#54 edit .. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#51 edit .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#36 edit .. //depot/projects/usb/src/sys/dev/usb/usb_request.h#13 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb.h#54 (text+ko) ==== @@ -226,7 +226,7 @@ #define UR_GET_TT_STATE 0x0a #define UR_STOP_TT 0x0b #define UR_SET_HUB_DEPTH 0x0c -#define USB_SS_HUB_DEPTH_MAX 4 /* exclusive */ +#define USB_SS_HUB_DEPTH_MAX 5 #define UR_GET_PORT_ERR_COUNT 0x0d /* Feature numbers */ @@ -596,13 +596,13 @@ struct usb_hub_ss_descriptor { uByte bLength; uByte bDescriptorType; - uByte bNbrPorts; /* max 15 */ + uByte bNbrPorts; uWord wHubCharacteristics; uByte bPwrOn2PwrGood; /* delay in 2 ms units */ uByte bHubContrCurrent; uByte bHubHdrDecLat; uWord wHubDelay; - uByte DeviceRemovable[2]; /* max 15 ports */ + uByte DeviceRemovable[32]; /* max 255 ports */ } __packed; typedef struct usb_hub_ss_descriptor usb_hub_ss_descriptor_t; ==== //depot/projects/usb/src/sys/dev/usb/usb_hub.c#51 (text+ko) ==== @@ -642,7 +642,7 @@ return (1); break; case USB_SPEED_SUPER: - if (udev->depth >= USB_SS_HUB_DEPTH_MAX) + if (udev->depth > USB_SS_HUB_DEPTH_MAX) return (1); break; default: @@ -879,13 +879,16 @@ } break; case USB_SPEED_SUPER: - err = usbd_req_set_hub_depth(udev, NULL, udev->depth); - if (err) { - DPRINTFN(0, "Setting USB 3.0 HUB depth failed," - "error=%s\n", usbd_errstr(err)); - goto error; + if (udev->parent_hub != NULL) { + err = usbd_req_set_hub_depth(udev, NULL, + udev->depth - 1); + if (err) { + DPRINTFN(0, "Setting USB 3.0 HUB depth failed," + "error=%s\n", usbd_errstr(err)); + goto error; + } } - err = usbd_req_get_ss_hub_descriptor(udev, NULL, &hubdesc30); + err = usbd_req_get_ss_hub_descriptor(udev, NULL, &hubdesc30, 1); if (err) { DPRINTFN(0, "Getting USB 3.0 HUB descriptor failed," "error=%s\n", usbd_errstr(err)); @@ -898,11 +901,26 @@ pwrdly = ((hubdesc30.bPwrOn2PwrGood * UHD_PWRON_FACTOR) + USB_EXTRA_POWER_UP_TIME); - /* check number of ports */ - if (nports > 15) { - DPRINTFN(0, "Invalid number of USB 3.0 ports," - "error=%s\n", usbd_errstr(err)); - goto error; + /* get complete HUB descriptor */ + if (nports >= 8) { + /* check number of ports */ + if (nports > ((udev->parent_hub != NULL) ? 15 : 127)) { + DPRINTFN(0, "Invalid number of USB 3.0 ports," + "error=%s\n", usbd_errstr(err)); + goto error; + } + /* get complete HUB descriptor */ + err = usbd_req_get_ss_hub_descriptor(udev, NULL, &hubdesc30, nports); + + if (err) { + DPRINTFN(0, "Getting USB 2.0 HUB descriptor failed," + "error=%s\n", usbd_errstr(err)); + goto error; + } + if (hubdesc30.bNbrPorts != nports) { + DPRINTFN(0, "Number of ports changed\n"); + goto error; + } } break; default: ==== //depot/projects/usb/src/sys/dev/usb/usb_request.c#36 (text+ko) ==== @@ -1301,15 +1301,16 @@ *------------------------------------------------------------------------*/ usb_error_t usbd_req_get_ss_hub_descriptor(struct usb_device *udev, struct mtx *mtx, - struct usb_hub_ss_descriptor *hd) + struct usb_hub_ss_descriptor *hd, uint8_t nports) { struct usb_device_request req; + uint16_t len = sizeof(*hd) - 32 + 1 + ((nports + 7) / 8); req.bmRequestType = UT_READ_CLASS_DEVICE; req.bRequest = UR_GET_DESCRIPTOR; USETW2(req.wValue, UDESC_SS_HUB, 0); USETW(req.wIndex, 0); - USETW(req.wLength, sizeof(*hd)); + USETW(req.wLength, len); return (usbd_do_request(udev, mtx, &req, hd)); } ==== //depot/projects/usb/src/sys/dev/usb/usb_request.h#13 (text+ko) ==== @@ -57,7 +57,8 @@ struct mtx *mtx, struct usb_hub_descriptor *hd, uint8_t nports); usb_error_t usbd_req_get_ss_hub_descriptor(struct usb_device *udev, - struct mtx *mtx, struct usb_hub_ss_descriptor *hd); + struct mtx *mtx, struct usb_hub_ss_descriptor *hd, + uint8_t nports); usb_error_t usbd_req_get_hub_status(struct usb_device *udev, struct mtx *mtx, struct usb_hub_status *st); usb_error_t usbd_req_get_port_status(struct usb_device *udev, struct mtx *mtx, From owner-p4-projects@FreeBSD.ORG Sun Aug 1 21:21:31 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CC3891065670; Sun, 1 Aug 2010 21:21:31 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F5C0106566B for ; Sun, 1 Aug 2010 21:21:31 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7C2E58FC1C for ; Sun, 1 Aug 2010 21:21:31 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o71LLVtQ059938 for ; Sun, 1 Aug 2010 21:21:31 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o71LLVt1059936 for perforce@freebsd.org; Sun, 1 Aug 2010 21:21:31 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 1 Aug 2010 21:21:31 GMT Message-Id: <201008012121.o71LLVt1059936@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181695 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Aug 2010 21:21:32 -0000 http://p4web.freebsd.org/@@181695?ac=10 Change 181695 by hselasky@hselasky_laptop001 on 2010/08/01 21:20:47 USB controller (XHCI): - add code to allocate, initialise and free XHCI device contexts. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#8 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#10 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhcireg.h#11 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#8 (text+ko) ==== @@ -112,6 +112,7 @@ static void xhci_do_poll(struct usb_bus *); static void xhci_device_done(struct usb_xfer *, usb_error_t); static void xhci_root_intr(struct xhci_softc *); +static void xhci_free_device_ext(struct usb_device *udev); extern struct usb_bus_methods xhci_bus_methods; @@ -175,18 +176,30 @@ i = XHCI_HCS1_N_PORTS(temp); - if ((i < 1) || (i > 15)) { + if (i == 0) { device_printf(sc->sc_bus.bdev, "Invalid number " "of ports: %u\n", i); - if (i < 1) - return (USB_ERR_IOERROR); - else - i = 15; + return (USB_ERR_IOERROR); } sc->sc_noport = i; sc->sc_nodev = XHCI_HCS1_DEVSLOT_MAX(temp); + temp = XREAD4(sc, capa, XHCI_HCSPARAMS2); + + sc->sc_noscratch = XHCI_HCS2_SPB_MAX(temp); + + if (sc->sc_noscratch > XHCI_MAX_SCRATCHPADS) { + device_printf(sc->sc_bus.bdev, "XHCI request " + "too many scratchpads\n"); + return (USB_ERR_NOMEM); + } + + temp = XREAD4(sc, capa, XHCI_HCSPARAMS3); + + sc->sc_exit_lat_max = XHCI_HCS3_U1_DEL(temp) + + XHCI_HCS3_U2_DEL(temp) + 250 /* us */; + temp = XREAD4(sc, oper, XHCI_USBSTS); /* clear interrupts */ @@ -1316,6 +1329,186 @@ } static usb_error_t +xhci_set_slot_scratch(struct xhci_softc *sc, uint8_t index, + uint64_t dev_addr, uint64_t scratch_addr) +{ + struct usb_page_search buf_res; + volatile uint64_t *ptr; + + usbd_get_page(&sc->sc_hw.ctx_pc, 0, &buf_res); + + ptr = buf_res.buffer; + ptr[(2*index) + 0] = htole64(dev_addr); + ptr[(2*index) + 1] = htole64(scratch_addr); + + usb_pc_cpu_flush(&sc->sc_hw.ctx_pc); +} + +static usb_error_t +xhci_alloc_device_ext(struct usb_device *udev) +{ + struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); + struct usb_page_search buf_scp; + struct usb_page_search buf_dev; + struct usb_page_cache *pcd; + struct usb_page *pgd; + struct usb_page_cache *pcs; + struct usb_page *pgs; + struct xhci_dev_ctx *pdctx; + struct usb_device *hubdev; + uint64_t addr; + uint32_t temp; + uint8_t index; + uint8_t failure; + uint8_t i; + uint8_t rh_port; + + index = udev->device_index; + failure = 0; + + pcd = &sc->sc_hw.devs[index].device_pc; + pgd = &sc->sc_hw.devs[index].device_pg; + + /* need to initialize the page cache */ + pcd->tag_parent = sc->sc_bus.dma_parent_tag; + + if (usb_pc_alloc_mem(pcd, pgd, sizeof(*pdctx), XHCI_PAGE_SIZE)) + failure = 1; + + if (failure == 0) { + + usbd_get_page(pcd, 0, &buf_dev); + + pdctx = buf_dev.buffer; + addr = buf_dev.physaddr; + + hubdev = udev; + temp = XHCI_SCTX_0_CTX_NUM_SET(XHCI_MAX_ENDPOINTS - 1); + + while (hubdev->parent_hub != NULL) { + temp |= (hubdev->port_no & 0xF) << ((hubdev->depth - 1) * 4); + hubdev = hubdev->parent_hub; + } + + rh_port = hubdev->port_no; + + switch (udev->speed) { + case USB_SPEED_LOW: + temp |= XHCI_SCTX_0_SPEED_SET(2); + break; + case USB_SPEED_HIGH: + temp |= XHCI_SCTX_0_SPEED_SET(3); + break; + case USB_SPEED_FULL: + temp |= XHCI_SCTX_0_SPEED_SET(1); + break; + default: + temp |= XHCI_SCTX_0_SPEED_SET(4); + break; + } + + if (udev->hub != NULL) + temp |= XHCI_SCTX_0_HUB_SET(1); + + pdctx->ctx_slot.dwSctx0 = htole32(temp); + + temp = XHCI_SCTX_1_RH_PORT_SET(rh_port); + + if (udev->hub != NULL) + temp |= XHCI_SCTX_1_NUM_PORTS_SET(udev->hub->nports); + + switch (udev->speed) { + case USB_SPEED_LOW: + case USB_SPEED_HIGH: + case USB_SPEED_FULL: + default: + temp |= XHCI_SCTX_1_MAX_EL_SET(sc->sc_exit_lat_max); + break; + } + + pdctx->ctx_slot.dwSctx1 = htole32(temp); + + temp = XHCI_SCTX_2_IRQ_TARGET_SET(0); + + if ((udev->hub != NULL) && + (udev->speed == USB_SPEED_HIGH)) + temp |= XHCI_SCTX_2_TT_THINK_TIME_SET(3); + + hubdev = udev->parent_hs_hub; + + if (hubdev != NULL) { + temp |= XHCI_SCTX_2_TT_HUB_SID_SET(hubdev->device_index); + temp |= XHCI_SCTX_2_TT_PORT_NUM_SET(hubdev->port_no); + } + + pdctx->ctx_slot.dwSctx2 = htole32(temp); + + temp = XHCI_SCTX_3_DEV_ADDR_SET(udev->address) | + XHCI_SCTX_3_SLOT_STATE_SET(3); + + pdctx->ctx_slot.dwSctx3 = htole32(temp); + + } else { + pdctx = NULL; + } + + for (i = 0; i != sc->sc_noscratch; i++) { + + pcs = &sc->sc_hw.devs[index].scratch_pc[i]; + pgs = &sc->sc_hw.devs[index].scratch_pg[i]; + + /* need to initialize the page cache */ + pcs->tag_parent = sc->sc_bus.dma_parent_tag; + + if (usb_pc_alloc_mem(pcs, pgs, XHCI_PAGE_SIZE, XHCI_PAGE_SIZE)) + failure = 1; + + if (failure == 0) { + usbd_get_page(pcs, 0, &buf_scp); + pdctx->ctx_sp_buf_ptr[i] = htole64((uint64_t)buf_scp.physaddr); + } + } + if (failure) + goto error; + + usb_pc_cpu_flush(pcd); + + xhci_set_slot_scratch(sc, udev->device_index, addr, + addr + (uintptr_t)&((struct xhci_dev_ctx *)0)->ctx_sp_buf_ptr[0]); + + return (0); + +error: + xhci_free_device_ext(udev); + + return (USB_ERR_NOMEM); +} + +static void +xhci_free_device_ext(struct usb_device *udev) +{ + struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); + struct usb_page_cache *pcd; + struct usb_page_cache *pcs; + uint8_t index; + uint8_t i; + + index = udev->device_index; + + pcd = &sc->sc_hw.devs[index].device_pc; + + usb_pc_free_mem(pcd); + + for (i = 0; i != sc->sc_noscratch; i++) { + pcs = &sc->sc_hw.devs[index].scratch_pc[i]; + + usb_pc_free_mem(pcs); + } + + xhci_set_slot_scratch(sc, udev->device_index, 0, 0); +} + +static usb_error_t xhci_alloc_endpoint_ext(struct xhci_softc *sc, uint8_t index, struct usb_endpoint_descriptor *edesc) { @@ -1931,13 +2124,6 @@ } break; - case C(UR_SET_HUB_DEPTH, UT_WRITE_CLASS_DEVICE): - if ((index != 0) || (value != 0)) { - err = USB_ERR_IOERROR; - goto done; - } - break; - case C(UR_GET_DESCRIPTOR, UT_READ_CLASS_DEVICE): if ((value & 0xff) != 0) { err = USB_ERR_IOERROR; ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#10 (text+ko) ==== @@ -148,7 +148,6 @@ }; struct xhci_dev_ctx { - struct xhci_slot_ctx ctx_input; struct xhci_slot_ctx ctx_slot; struct xhci_endp_ctx ctx_ep0; struct xhci_endp_ctx ctx_epN[XHCI_MAX_ENDPOINTS - 2]; @@ -408,6 +407,7 @@ uint32_t sc_cmd; /* copy of cmd register */ uint32_t sc_cmd_dp; /* copy of command dequeue pointer */ + uint32_t sc_exit_lat_max; /* worst case exit latency */ uint32_t sc_oper_off; /* offset to operational registers */ uint32_t sc_capa_off; /* offset to capability registers */ @@ -423,6 +423,7 @@ uint8_t sc_command_ccs; uint8_t sc_nodev; /* number of devices on root HUB */ uint8_t sc_noport; /* number of ports on root HUB */ + uint8_t sc_noscratch; /* number of scratch pages */ uint8_t sc_addr; /* root HUB device address */ uint8_t sc_conf; /* root HUB device configuration */ uint8_t sc_hub_idata[2]; ==== //depot/projects/usb/src/sys/dev/usb/controller/xhcireg.h#11 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Mon Aug 2 07:36:11 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D7337106566C; Mon, 2 Aug 2010 07:36:10 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 658D31065670 for ; Mon, 2 Aug 2010 07:36:09 +0000 (UTC) (envelope-from bz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 518EE8FC20 for ; Mon, 2 Aug 2010 07:36:09 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o727a90X036689 for ; Mon, 2 Aug 2010 07:36:09 GMT (envelope-from bz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o727ZpWE036671 for perforce@freebsd.org; Mon, 2 Aug 2010 07:35:51 GMT (envelope-from bz@freebsd.org) Date: Mon, 2 Aug 2010 07:35:51 GMT Message-Id: <201008020735.o727ZpWE036671@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bz@freebsd.org using -f From: "Bjoern A. Zeeb" To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181708 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Aug 2010 07:36:11 -0000 http://p4web.freebsd.org/@@181708?ac=10 Change 181708 by bz@bz_dumpster on 2010/08/02 07:35:48 IFC @181706 Affected files ... .. //depot/projects/s390/MAINTAINERS#20 integrate .. //depot/projects/s390/Makefile#20 integrate .. //depot/projects/s390/Makefile.inc1#34 integrate .. //depot/projects/s390/Makefile.mips#1 branch .. //depot/projects/s390/ObsoleteFiles.inc#14 integrate .. //depot/projects/s390/UPDATING#26 integrate .. //depot/projects/s390/bin/chio/chio.c#5 integrate .. //depot/projects/s390/bin/cp/cp.c#11 integrate .. //depot/projects/s390/bin/date/date.1#9 integrate .. //depot/projects/s390/bin/getfacl/getfacl.1#10 integrate .. //depot/projects/s390/bin/kill/kill.c#5 integrate .. //depot/projects/s390/bin/ln/ln.1#8 integrate .. //depot/projects/s390/bin/ln/ln.c#8 integrate .. //depot/projects/s390/bin/ln/symlink.7#4 integrate .. //depot/projects/s390/bin/pax/pat_rep.c#7 integrate .. //depot/projects/s390/bin/pkill/pkill.1#4 integrate .. //depot/projects/s390/bin/pkill/pkill.c#5 integrate .. //depot/projects/s390/bin/ps/keyword.c#14 integrate .. //depot/projects/s390/bin/ps/ps.1#12 integrate .. //depot/projects/s390/bin/pwait/pwait.1#2 integrate .. //depot/projects/s390/bin/setfacl/setfacl.1#9 integrate .. //depot/projects/s390/bin/sh/arith.y#8 integrate .. //depot/projects/s390/bin/sh/arith_lex.l#7 integrate .. //depot/projects/s390/bin/sh/cd.c#7 integrate .. //depot/projects/s390/bin/sh/cd.h#3 integrate .. //depot/projects/s390/bin/sh/eval.c#15 integrate .. //depot/projects/s390/bin/sh/expand.c#14 integrate .. //depot/projects/s390/bin/sh/histedit.c#9 integrate .. //depot/projects/s390/bin/sh/jobs.c#12 integrate .. //depot/projects/s390/bin/sh/jobs.h#5 integrate .. //depot/projects/s390/bin/sh/main.c#9 integrate .. //depot/projects/s390/bin/sh/mksyntax.c#8 integrate .. //depot/projects/s390/bin/sh/myhistedit.h#5 integrate .. //depot/projects/s390/bin/sh/options.c#7 integrate .. //depot/projects/s390/bin/sh/parser.c#12 integrate .. //depot/projects/s390/bin/sh/sh.1#17 integrate .. //depot/projects/s390/bin/sh/var.c#12 integrate .. //depot/projects/s390/bin/sh/var.h#7 integrate .. //depot/projects/s390/bin/sleep/sleep.c#5 integrate .. //depot/projects/s390/cddl/compat/opensolaris/include/mnttab.h#3 integrate .. //depot/projects/s390/cddl/compat/opensolaris/misc/fsshare.c#2 integrate .. //depot/projects/s390/cddl/compat/opensolaris/misc/mnttab.c#3 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/cmd/plockstat/plockstat.c#1 branch .. //depot/projects/s390/cddl/contrib/opensolaris/cmd/pyzfs/pyzfs.py#1 branch .. //depot/projects/s390/cddl/contrib/opensolaris/cmd/zdb/zdb.8#3 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/cmd/zdb/zdb.c#4 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/cmd/zdb/zdb_il.c#4 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/cmd/zfs/zfs.8#5 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c#5 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c#4 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/cmd/ztest/ztest.c#3 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h#2 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l#2 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.c#2 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c#3 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libdtrace/i386/dt_isadep.c#1 branch .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libdtrace/i386/regs.d.in#1 branch .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libdtrace/i386/regs.sed.in#1 branch .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libdtrace/sparc/dt_isadep.c#1 branch .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libdtrace/sparc/regs.d#1 branch .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h#5 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c#3 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c#5 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_graph.c#3 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h#4 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c#4 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c#3 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c#5 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c#3 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c#4 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#4 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c#3 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/lib/pyzfs/common/__init__.py#1 branch .. //depot/projects/s390/cddl/contrib/opensolaris/lib/pyzfs/common/allow.py#1 branch .. //depot/projects/s390/cddl/contrib/opensolaris/lib/pyzfs/common/dataset.py#1 branch .. //depot/projects/s390/cddl/contrib/opensolaris/lib/pyzfs/common/groupspace.py#1 branch .. //depot/projects/s390/cddl/contrib/opensolaris/lib/pyzfs/common/ioctl.c#1 branch .. //depot/projects/s390/cddl/contrib/opensolaris/lib/pyzfs/common/unallow.py#1 branch .. //depot/projects/s390/cddl/contrib/opensolaris/lib/pyzfs/common/userspace.py#1 branch .. //depot/projects/s390/cddl/contrib/opensolaris/lib/pyzfs/common/util.py#1 branch .. //depot/projects/s390/cddl/contrib/opensolaris/tools/ctf/cvt/ctf.c#2 integrate .. //depot/projects/s390/cddl/contrib/opensolaris/tools/ctf/cvt/output.c#2 integrate .. //depot/projects/s390/cddl/lib/Makefile#2 integrate .. //depot/projects/s390/cddl/usr.sbin/Makefile#3 integrate .. //depot/projects/s390/cddl/usr.sbin/dtrace/Makefile#3 integrate .. //depot/projects/s390/cddl/usr.sbin/lockstat/Makefile#3 integrate .. //depot/projects/s390/contrib/bind9/CHANGES#9 integrate .. //depot/projects/s390/contrib/bind9/lib/dns/api#8 integrate .. //depot/projects/s390/contrib/bind9/lib/dns/validator.c#9 integrate .. //depot/projects/s390/contrib/bind9/version#9 integrate .. //depot/projects/s390/contrib/binutils/bfd/archures.c#4 integrate .. //depot/projects/s390/contrib/binutils/bfd/bfd-in2.h#5 integrate .. //depot/projects/s390/contrib/binutils/bfd/config.bfd#7 integrate .. //depot/projects/s390/contrib/binutils/bfd/cpu-mips.c#4 integrate .. //depot/projects/s390/contrib/binutils/bfd/elf64-ppc.c#5 integrate .. //depot/projects/s390/contrib/binutils/bfd/elfxx-mips.c#2 integrate .. //depot/projects/s390/contrib/binutils/binutils/doc/readelf.1#4 integrate .. //depot/projects/s390/contrib/binutils/gas/config/tc-mips.c#3 integrate .. //depot/projects/s390/contrib/binutils/gas/config/tc-mips.h#2 integrate .. //depot/projects/s390/contrib/binutils/include/elf/mips.h#3 integrate .. //depot/projects/s390/contrib/binutils/include/opcode/mips.h#4 integrate .. //depot/projects/s390/contrib/binutils/ld/emultempl/elf32.em#5 integrate .. //depot/projects/s390/contrib/binutils/ld/lexsup.c#5 integrate .. //depot/projects/s390/contrib/binutils/opcodes/mips-dis.c#2 integrate .. //depot/projects/s390/contrib/binutils/opcodes/mips-opc.c#2 integrate .. //depot/projects/s390/contrib/binutils/opcodes/mips16-opc.c#2 integrate .. //depot/projects/s390/contrib/bsnmp/gensnmpdef/gensnmpdef.1#4 integrate .. //depot/projects/s390/contrib/bsnmp/gensnmptree/gensnmptree.1#6 integrate .. //depot/projects/s390/contrib/bsnmp/lib/asn1.3#3 integrate .. //depot/projects/s390/contrib/bsnmp/lib/bsnmpagent.3#3 integrate .. //depot/projects/s390/contrib/bsnmp/lib/bsnmpclient.3#3 integrate .. //depot/projects/s390/contrib/bsnmp/lib/bsnmplib.3#3 integrate .. //depot/projects/s390/contrib/bsnmp/snmp_mibII/snmp_mibII.3#3 integrate .. //depot/projects/s390/contrib/bsnmp/snmpd/bsnmpd.1#4 integrate .. //depot/projects/s390/contrib/bsnmp/snmpd/snmpmod.3#5 integrate .. //depot/projects/s390/contrib/com_err/compile_et.1#4 integrate .. //depot/projects/s390/contrib/gcc/config/fixdfdi.c#1 branch .. //depot/projects/s390/contrib/gcc/config/fixsfdi.c#1 branch .. //depot/projects/s390/contrib/gcc/config/fixunsdfsi.c#1 branch .. //depot/projects/s390/contrib/gcc/config/fixunssfsi.c#1 branch .. //depot/projects/s390/contrib/gcc/config/floatdidf.c#1 branch .. //depot/projects/s390/contrib/gcc/config/floatdisf.c#1 branch .. //depot/projects/s390/contrib/gcc/config/floatundidf.c#1 branch .. //depot/projects/s390/contrib/gcc/config/floatundisf.c#1 branch .. //depot/projects/s390/contrib/gcc/config/mips/freebsd.h#3 integrate .. //depot/projects/s390/contrib/gcc/config/mips/mips.c#2 integrate .. //depot/projects/s390/contrib/gcc/config/mips/mips.h#2 integrate .. //depot/projects/s390/contrib/gcc/config/mips/mips.md#2 integrate .. //depot/projects/s390/contrib/gcc/config/rs6000/freebsd.h#5 integrate .. //depot/projects/s390/contrib/gdb/gdb/ppcfbsd-tdep.c#2 integrate .. //depot/projects/s390/contrib/gdb/gdb/solib-svr4.c#3 integrate .. //depot/projects/s390/contrib/gdtoa/hexnan.c#3 integrate .. //depot/projects/s390/contrib/ipfilter/man/ipmon.8#8 integrate .. //depot/projects/s390/contrib/llvm/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/CREDITS.TXT#1 branch .. //depot/projects/s390/contrib/llvm/LICENSE.TXT#1 branch .. //depot/projects/s390/contrib/llvm/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/Makefile.common#1 branch .. //depot/projects/s390/contrib/llvm/Makefile.config.in#1 branch .. //depot/projects/s390/contrib/llvm/Makefile.rules#1 branch .. //depot/projects/s390/contrib/llvm/ModuleInfo.txt#1 branch .. //depot/projects/s390/contrib/llvm/README.txt#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/AutoRegen.sh#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/ExportMap.map#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/LICENSE.TXT#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/README.TXT#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/config.guess#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/config.sub#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/configure.ac#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/depcomp#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/install-sh#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/ltmain.sh#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/bison.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/build_exeext.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/c_printf_a.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/check_gnu_make.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/config_makefile.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/config_project.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/cxx_bidi_iterator.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/cxx_flag_check.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/cxx_fwd_iterator.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/cxx_namespaces.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/cxx_std_iterator.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/find_std_program.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/flex.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/func_isinf.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/func_isnan.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/func_mmap_file.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/header_mmap_anonymous.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/huge_val.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/libtool.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/link_options.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/linux_mixed_64_32.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/ltdl.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/need_dev_zero_for_mmap.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/path_perl.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/path_tclsh.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/rand48.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/sanity_check.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/single_cxx_check.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/m4/visibility_inlines_hidden.m4#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/missing#1 branch .. //depot/projects/s390/contrib/llvm/autoconf/mkinstalldirs#1 branch .. //depot/projects/s390/contrib/llvm/bindings/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/bindings/README.txt#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/analysis/llvm_analysis-binding.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/analysis/llvm_analysis.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/analysis/llvm_analysis_wrap.cxx#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/bitreader/llvm_bit_reader-binding.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/bitreader/llvm_bit_reader.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/bitreader/llvm_bitreader_wrap.cxx#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/bitwriter/llvm_bit_writer-binding.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/bitwriter/llvm_bit_writer.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/bitwriter/llvm_bitwriter_wrap.cxx#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/executionengine/llvm_execution_engine-binding.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/executionengine/llvm_execution_engine.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/executionengine/llvm_executionengine_wrap.cxx#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/llvm.gpr#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/llvm/llvm-binding.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/llvm/llvm.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/llvm/llvm_link_time_optimizer-binding.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/llvm/llvm_link_time_optimizer.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/llvm/llvm_linktimeoptimizer_wrap.cxx#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/llvm/llvm_wrap.cxx#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/target/llvm_target-binding.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/target/llvm_target.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/target/llvm_target_wrap.cxx#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/transforms/llvm_transforms-binding.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/transforms/llvm_transforms.ads#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ada/transforms/llvm_transforms_wrap.cxx#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/Makefile.ocaml#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/analysis/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/analysis/analysis_ocaml.c#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/analysis/llvm_analysis.ml#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/analysis/llvm_analysis.mli#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/bitreader/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/bitreader/bitreader_ocaml.c#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/bitreader/llvm_bitreader.ml#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/bitreader/llvm_bitreader.mli#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/bitwriter/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/bitwriter/bitwriter_ocaml.c#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/bitwriter/llvm_bitwriter.ml#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/bitwriter/llvm_bitwriter.mli#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/executionengine/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/executionengine/executionengine_ocaml.c#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/executionengine/llvm_executionengine.ml#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/executionengine/llvm_executionengine.mli#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/llvm/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/llvm/llvm.ml#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/llvm/llvm.mli#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/llvm/llvm_ocaml.c#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/target/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/target/llvm_target.ml#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/target/llvm_target.mli#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/target/target_ocaml.c#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/transforms/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/transforms/scalar/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/transforms/scalar/llvm_scalar_opts.ml#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/transforms/scalar/llvm_scalar_opts.mli#1 branch .. //depot/projects/s390/contrib/llvm/bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c#1 branch .. //depot/projects/s390/contrib/llvm/build-for-llvm-top.sh#1 branch .. //depot/projects/s390/contrib/llvm/configure#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm-c/Analysis.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm-c/BitReader.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm-c/BitWriter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm-c/Core.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm-c/EnhancedDisassembly.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm-c/ExecutionEngine.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm-c/LinkTimeOptimizer.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm-c/Target.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm-c/Transforms/IPO.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm-c/Transforms/Scalar.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm-c/lto.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/APFloat.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/APInt.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/APSInt.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/BitVector.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/DAGDeltaAlgorithm.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/DeltaAlgorithm.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/DenseMap.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/DenseMapInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/DenseSet.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/DepthFirstIterator.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/FoldingSet.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/GraphTraits.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/ImmutableIntervalMap.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/ImmutableList.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/ImmutableMap.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/ImmutableSet.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/IndexedMap.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/Optional.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/OwningPtr.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/PointerIntPair.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/PointerUnion.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/PostOrderIterator.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/PriorityQueue.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/SCCIterator.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/STLExtras.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/ScopedHashTable.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/SetOperations.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/SetVector.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/SmallBitVector.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/SmallPtrSet.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/SmallSet.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/SmallString.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/SmallVector.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/SparseBitVector.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/Statistic.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/StringExtras.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/StringMap.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/StringRef.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/StringSet.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/StringSwitch.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/Trie.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/Triple.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/Twine.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/UniqueVector.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/ValueMap.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/VectorExtras.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/ilist.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/ilist_node.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/iterator.cmake#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ADT/iterator.h.in#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/AbstractTypeUser.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/AliasSetTracker.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/CFGPrinter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/CallGraph.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/CaptureTracking.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/CodeMetrics.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/ConstantFolding.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/ConstantsScanner.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/DOTGraphTraitsPass.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/DebugInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/DomPrinter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/DominatorInternals.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/Dominators.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/FindUsedTypes.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/IVUsers.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/InlineCost.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/Interval.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/IntervalIterator.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/IntervalPartition.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/LazyValueInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/LibCallAliasAnalysis.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/LibCallSemantics.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/Lint.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/LiveValues.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/Loads.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/LoopDependenceAnalysis.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/LoopInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/LoopPass.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/PHITransAddr.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/Passes.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/PointerTracking.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/PostDominators.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/ProfileInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/ProfileInfoLoader.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/ProfileInfoTypes.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/ScalarEvolutionNormalization.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/SparsePropagation.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/Trace.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/ValueTracking.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Analysis/Verifier.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Argument.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Assembly/AsmAnnotationWriter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Assembly/Parser.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Assembly/PrintModulePass.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Assembly/Writer.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Attributes.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/AutoUpgrade.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/BasicBlock.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Bitcode/Archive.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Bitcode/BitCodes.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Bitcode/BitstreamReader.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Bitcode/BitstreamWriter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Bitcode/LLVMBitCodes.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Bitcode/ReaderWriter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CallGraphSCCPass.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CallingConv.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/Analysis.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/BinaryObject.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/CalcSpillWeights.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/FastISel.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/FunctionLoweringInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/GCMetadata.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/GCMetadataPrinter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/GCStrategy.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/GCs.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/IntrinsicLowering.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/JITCodeEmitter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/LatencyPriorityQueue.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/LinkAllAsmWriterComponents.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/LiveInterval.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/LiveStackAnalysis.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/LiveVariables.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachORelocation.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineCodeEmitter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineCodeInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineConstantPool.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineDominators.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineFunction.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineFunctionPass.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineInstr.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineJumpTableInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineLocation.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineLoopInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineMemOperand.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineOperand.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachinePassRegistry.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineRelocation.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/MachineSSAUpdater.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/ObjectCodeEmitter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/Passes.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/PostRAHazardRecognizer.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/ProcessImplicitDefs.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/RegAllocRegistry.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/RegisterCoalescer.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/RegisterScavenging.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/RuntimeLibcalls.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/ScheduleHazardRecognizer.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/SchedulerRegistry.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/SelectionDAGISel.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/ValueTypes.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CodeGen/ValueTypes.td#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CompilerDriver/Action.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CompilerDriver/BuiltinOptions.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CompilerDriver/Common.td#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CompilerDriver/CompilationGraph.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CompilerDriver/Error.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CompilerDriver/ForceLinkage.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CompilerDriver/ForceLinkageMacros.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CompilerDriver/Main.inc#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CompilerDriver/Plugin.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/CompilerDriver/Tool.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Config/AsmParsers.def.in#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Config/AsmPrinters.def.in#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Config/Disassemblers.def.in#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Config/Targets.def.in#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Config/config.h.cmake#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Config/config.h.in#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Constant.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Constants.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/DerivedTypes.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ExecutionEngine/GenericValue.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ExecutionEngine/Interpreter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ExecutionEngine/JIT.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ExecutionEngine/JITEventListener.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ExecutionEngine/JITMemoryManager.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Function.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/GVMaterializer.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/GlobalAlias.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/GlobalValue.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/GlobalVariable.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/InlineAsm.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/InstrTypes.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Instruction.def#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Instruction.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Instructions.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/IntrinsicInst.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Intrinsics.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Intrinsics.td#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/IntrinsicsARM.td#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/IntrinsicsAlpha.td#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/IntrinsicsCellSPU.td#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/IntrinsicsPowerPC.td#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/IntrinsicsX86.td#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/IntrinsicsXCore.td#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/LLVMContext.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/LinkAllPasses.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/LinkAllVMCore.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Linker.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/EDInstInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCAsmInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCAsmInfoCOFF.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCAsmInfoDarwin.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCAsmLayout.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCAssembler.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCCodeEmitter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCContext.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCDirectives.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCDisassembler.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCExpr.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCFixup.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCInst.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCInstPrinter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCLabel.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCMachOSymbolFlags.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCObjectStreamer.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCObjectWriter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCParser/AsmCond.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCParser/AsmLexer.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCParser/AsmParser.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCSection.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCSectionCOFF.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCSectionELF.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCSectionMachO.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCStreamer.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCSymbol.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MCValue.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/MachObjectWriter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/MC/SectionKind.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Metadata.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Module.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/OperandTraits.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Operator.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Pass.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/PassAnalysisSupport.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/PassManager.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/PassManagers.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/PassSupport.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/AlignOf.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/Allocator.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/CFG.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/COFF.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/CallSite.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/Casting.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/CommandLine.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/Compiler.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/ConstantFolder.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/ConstantRange.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/DOTGraphTraits.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/DataFlow.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/DataTypes.h.cmake#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/DataTypes.h.in#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/Debug.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/DebugLoc.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/Dwarf.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/DynamicLinker.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/ELF.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/ErrorHandling.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/FileUtilities.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/Format.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/FormattedStream.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/GetElementPtrTypeIterator.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/GraphWriter.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/IRBuilder.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/IRReader.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/InstIterator.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/InstVisitor.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/LeakDetector.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/MachO.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/ManagedStatic.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/MathExtras.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/MemoryBuffer.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/MemoryObject.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/MutexGuard.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/NoFolder.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/OutputBuffer.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/PassNameParser.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/PatternMatch.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/PluginLoader.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/PointerLikeTypeTraits.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/PredIteratorCache.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/PrettyStackTrace.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/Recycler.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/RecyclingAllocator.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/Regex.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/Registry.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/RegistryParser.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/SMLoc.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/SlowOperationInformer.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/SourceMgr.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/StableBasicBlockNumbering.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/StandardPasses.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/StringPool.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/SystemUtils.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/TargetFolder.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/Timer.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/TypeBuilder.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/ValueHandle.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/circular_raw_ostream.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/raw_os_ostream.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/raw_ostream.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Support/type_traits.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/SymbolTableListTraits.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/AIXDataTypesFix.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/Alarm.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/Atomic.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/DataTypes.h.cmake#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/DataTypes.h.in#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/Disassembler.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/DynamicLibrary.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/Errno.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/Host.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/IncludeFile.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/LICENSE.TXT#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/Memory.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/Mutex.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/Path.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/Process.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/Program.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/RWMutex.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/Signals.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/Solaris.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/ThreadLocal.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/Threading.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/TimeValue.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/System/Valgrind.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/Mangler.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/SubtargetFeature.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/Target.td#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetAsmBackend.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetAsmLexer.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetAsmParser.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetCallingConv.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetCallingConv.td#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetData.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetELFWriterInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetFrameInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetInstrDesc.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetInstrInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetInstrItineraries.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetIntrinsicInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetJITInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetLowering.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetMachine.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetOpcodes.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetOptions.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetRegistry.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetSchedule.td#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetSelect.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetSelectionDAGInfo.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Target/TargetSubtarget.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/IPO.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/IPO/InlinerPass.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/Instrumentation.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/RSProfiling.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/Scalar.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/Utils/AddrModeMatcher.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/Utils/BasicInliner.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/Utils/BuildLibCalls.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/Utils/FunctionUtils.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/Utils/Local.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/Utils/PromoteMemToReg.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdater.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/Utils/SSI.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Transforms/Utils/UnrollLoop.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Type.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/TypeSymbolTable.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Use.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/User.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/Value.h#1 branch .. //depot/projects/s390/contrib/llvm/include/llvm/ValueSymbolTable.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/AliasAnalysis.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/AliasAnalysisCounter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/AliasDebugger.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/AliasSetTracker.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/Analysis.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/CFGPrinter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/CaptureTracking.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/ConstantFolding.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/DbgInfoPrinter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/DebugInfo.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/DomPrinter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/IPA/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/IPA/CallGraph.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/IPA/FindUsedTypes.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/IPA/GlobalsModRef.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/IPA/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/IVUsers.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/InlineCost.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/InstCount.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/InstructionSimplify.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/Interval.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/IntervalPartition.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/LazyValueInfo.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/LibCallAliasAnalysis.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/LibCallSemantics.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/Lint.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/LiveValues.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/Loads.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/LoopDependenceAnalysis.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/LoopInfo.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/LoopPass.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/ModuleDebugInfoPrinter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/PHITransAddr.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/PointerTracking.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/PostDominators.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/ProfileEstimatorPass.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/ProfileInfo.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/ProfileInfoLoader.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/ProfileInfoLoaderPass.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/ProfileVerifierPass.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/README.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/ScalarEvolution.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/SparsePropagation.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/Trace.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Analysis/ValueTracking.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Archive/Archive.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Archive/ArchiveInternals.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/Archive/ArchiveReader.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Archive/ArchiveWriter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Archive/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/Archive/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/AsmParser/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/AsmParser/LLLexer.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/AsmParser/LLLexer.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/AsmParser/LLParser.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/AsmParser/LLParser.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/AsmParser/LLToken.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/AsmParser/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/AsmParser/Parser.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Bitcode/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/Bitcode/Reader/BitReader.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/Bitcode/Reader/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/Bitcode/Reader/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/Bitcode/Writer/BitWriter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Bitcode/Writer/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/Bitcode/Writer/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/Analysis.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/AntiDepBreaker.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/AsmPrinter/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/AsmPrinter/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/BranchFolding.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/BranchFolding.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/CallingConvLower.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/CodePlacementOpt.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/DeadMachineInstructionElim.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/DwarfEHPrepare.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/ELF.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/ELFCodeEmitter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/ELFCodeEmitter.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/ELFWriter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/ELFWriter.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/GCMetadata.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/GCMetadataPrinter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/GCStrategy.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/IfConversion.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/InlineSpiller.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/IntrinsicLowering.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/LatencyPriorityQueue.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/LiveInterval.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/LiveStackAnalysis.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/LiveVariables.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/LowerSubregs.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineCSE.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineDominators.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineFunction.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineFunctionAnalysis.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineFunctionPass.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineInstr.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineLICM.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineLoopInfo.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineModuleInfoImpls.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachinePassRegistry.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineSSAUpdater.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineSink.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/MachineVerifier.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/ObjectCodeEmitter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/OcamlGC.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/OptimizeExts.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/OptimizePHIs.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/PBQP/Graph.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/PBQP/HeuristicBase.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/PBQP/HeuristicSolver.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/PBQP/Heuristics/Briggs.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/PBQP/Math.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/PBQP/Solution.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/PHIElimination.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/PHIElimination.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/Passes.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/PostRAHazardRecognizer.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/PreAllocSplitting.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/ProcessImplicitDefs.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/PrologEpilogInserter.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/PseudoSourceValue.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/README.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/RegAllocFast.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/RegAllocLinearScan.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/ScheduleDAG.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/ScheduleDAGEmit.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/SDNodeOrdering.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SelectionDAG/TargetSelectionDAGInfo.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/ShadowStackGC.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/ShrinkWrapping.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/SlotIndexes.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/Spiller.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/Spiller.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/StackProtector.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/StackSlotColoring.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/StrongPHIElimination.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/TailDuplication.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/UnreachableBlockElim.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/VirtRegMap.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/VirtRegMap.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/VirtRegRewriter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CodeGen/VirtRegRewriter.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/CompilerDriver/Action.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CompilerDriver/BuiltinOptions.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CompilerDriver/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/CompilerDriver/CompilationGraph.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CompilerDriver/Main.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CompilerDriver/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/CompilerDriver/Plugin.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/CompilerDriver/Tool.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/Interpreter/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/JIT/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/JIT/Intercept.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/JIT/JIT.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.h#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/JIT/JITMemoryManager.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/JIT/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/ExecutionEngine/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/Linker/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/Linker/LinkArchives.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Linker/LinkItems.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Linker/LinkModules.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Linker/Linker.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Linker/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCAsmInfo.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCAsmInfoCOFF.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCAsmInfoDarwin.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCAsmStreamer.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCAssembler.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCCodeEmitter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCContext.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCDisassembler.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCExpr.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCInst.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCInstPrinter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCLabel.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCLoggingStreamer.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCMachOStreamer.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCNullStreamer.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCObjectStreamer.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCObjectWriter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCParser/AsmParser.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCParser/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCParser/DarwinAsmParser.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCParser/ELFAsmParser.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCParser/MCAsmLexer.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCParser/MCAsmParser.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCParser/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCParser/TargetAsmParser.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCSection.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCSectionCOFF.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCSectionELF.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCSectionMachO.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCStreamer.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCSymbol.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MCValue.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/MachObjectWriter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/TargetAsmBackend.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/WinCOFFObjectWriter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/MC/WinCOFFStreamer.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/APFloat.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/APInt.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/APSInt.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/Allocator.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/CMakeLists.txt#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/COPYRIGHT.regex#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/CommandLine.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/ConstantRange.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/DAGDeltaAlgorithm.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/Debug.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/DeltaAlgorithm.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/Dwarf.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/ErrorHandling.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/FileUtilities.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/FoldingSet.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/FormattedStream.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/GraphWriter.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/IsInf.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/IsNAN.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/Makefile#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/ManagedStatic.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/MemoryBuffer.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/MemoryObject.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/PluginLoader.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/PrettyStackTrace.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/Regex.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/SlowOperationInformer.cpp#1 branch .. //depot/projects/s390/contrib/llvm/lib/Support/SmallPtrSet.cpp#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Aug 2 08:39:29 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C1E57106568A; Mon, 2 Aug 2010 08:39:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 67E8C1065687 for ; Mon, 2 Aug 2010 08:39:29 +0000 (UTC) (envelope-from ilya@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4C4CF8FC18 for ; Mon, 2 Aug 2010 08:39:29 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o728dTMv042129 for ; Mon, 2 Aug 2010 08:39:29 GMT (envelope-from ilya@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o728dTKV042127 for perforce@freebsd.org; Mon, 2 Aug 2010 08:39:29 GMT (envelope-from ilya@FreeBSD.org) Date: Mon, 2 Aug 2010 08:39:29 GMT Message-Id: <201008020839.o728dTKV042127@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ilya@FreeBSD.org using -f From: Ilya Putsikau To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181710 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Aug 2010 08:39:30 -0000 http://p4web.freebsd.org/@@181710?ac=10 Change 181710 by ilya@ilya_triton on 2010/08/02 08:39:17 Add linux source code compatability. Tested with inotify-tools port and misc examples. Use kernel unit number allocator for watch descriptors Affected files ... .. //depot/projects/soc2010/ilya_fsnotify/src/sys/kern/vfs_notify.c#9 edit .. //depot/projects/soc2010/ilya_fsnotify/src/sys/sys/fsnotify.h#7 edit .. //depot/projects/soc2010/ilya_fsnotify/src/sys/sys/inotify.h#1 add Differences ... ==== //depot/projects/soc2010/ilya_fsnotify/src/sys/kern/vfs_notify.c#9 (text+ko) ==== @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -124,6 +125,7 @@ TAILQ_HEAD_INITIALIZER(fsnotify_queue); static struct mtx fsnotify_queue_mtx; static struct proc *fsnotify_proc; +static struct unrhdr *fsnotify_wds; static struct fnnode_hashhead *fnnode_inohashtbl; static struct mtx fnnode_hashmtx; @@ -233,6 +235,7 @@ mtx_init(&fsnotify_queue_mtx, "fsnotify_queue", NULL, MTX_DEF); mtx_init(&fnnode_hashmtx, "fsnotify_hash", NULL, MTX_DEF); + fsnotify_wds = new_unrhdr(1, INT_MAX, NULL); error = kproc_create(fsnotify_daemon, NULL, &fsnotify_proc, RFHIGHPID, 0, "fsnotify"); @@ -291,6 +294,7 @@ } } free(fnnode_inohashtbl, M_FSNOTIFYHASH); + delete_unrhdr(fsnotify_wds); mtx_destroy(&fsnotify_queue_mtx); mtx_destroy(&fnnode_hashmtx); break; @@ -769,23 +773,6 @@ event_enqueue(tdirnode, ap->a_tcnp, &cookie, FN_RENAME_TO); } -static int -watch_nextwd(void) -{ - static volatile int wd = 1; - int nwd; - -again: - nwd = atomic_fetchadd_int(&wd, 1); - - if (nwd <= 0) { - if (atomic_cmpset_int(&wd, nwd, 1) == 0) - goto again; - } - - return (nwd); -} - static void watch_detachnode(struct fnwatch *watch) { @@ -823,6 +810,7 @@ TAILQ_REMOVE(&ss->ss_watchlist, watch, wt_sessionentry); watch->wt_session = NULL; + free_unr(fsnotify_wds, watch->wt_wd); TAILQ_FOREACH(eh, &ss->ss_queue, eh_queueentry) { MPASS(eh->eh_watch != watch); @@ -1137,8 +1125,7 @@ if (name != NULL) { MPASS((node->nd_flags & NODE_ISDIR) != 0); memcpy(event->ev_pathfree + event->ev_pathpos, name, namelen); - } else - MPASS((node->nd_flags & NODE_ISDIR) == 0); + } printf("event alloc: %p\n", event); return (event); @@ -1282,7 +1269,7 @@ watch = malloc(sizeof(struct fnwatch), M_FSNOTIFY, M_WAITOK | M_ZERO); printf("watch alloc: %p\n", watch); - watch->wt_wd = watch_nextwd(); + watch->wt_wd = alloc_unr(fsnotify_wds); watch->wt_mask = mask; watch->wt_session = ss; watch->wt_node = node; @@ -1292,8 +1279,8 @@ if (w->wt_node != node) continue; if ((w->wt_mask & mask) == mask) { + watch_free(watch); SESSION_UNLOCK(ss); - watch_free(watch); return (EEXIST); } break; ==== //depot/projects/soc2010/ilya_fsnotify/src/sys/sys/fsnotify.h#7 (text+ko) ==== @@ -58,6 +58,8 @@ /* Extra flags */ #define FN_CLOSEFD 0x01000000 +#define FN_INVALID 0x80000000 + #define FN_FLAGS_INTERNAL FN_CLOSEFD /* Ioctls */ From owner-p4-projects@FreeBSD.ORG Mon Aug 2 17:44:29 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED48A1065672; Mon, 2 Aug 2010 17:44:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B1B08106566B for ; Mon, 2 Aug 2010 17:44:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9E2E58FC17 for ; Mon, 2 Aug 2010 17:44:28 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o72HiSfR025890 for ; Mon, 2 Aug 2010 17:44:28 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o72HiSVK025888 for perforce@freebsd.org; Mon, 2 Aug 2010 17:44:28 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 2 Aug 2010 17:44:28 GMT Message-Id: <201008021744.o72HiSVK025888@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181733 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Aug 2010 17:44:29 -0000 http://p4web.freebsd.org/@@181733?ac=10 Change 181733 by hselasky@hselasky_laptop001 on 2010/08/02 17:44:09 USB core: - add missing code regarding SuperSpeed endpoint companion descriptor handling. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#71 edit .. //depot/projects/usb/src/sys/dev/usb/usb_device.h#38 edit .. //depot/projects/usb/src/sys/dev/usb/usb_parse.c#10 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#179 edit .. //depot/projects/usb/src/sys/dev/usb/usbdi.h#19 edit .. //depot/projects/usb/src/sys/dev/usb/usbdi_util.h#6 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#71 (text+ko) ==== @@ -83,7 +83,9 @@ /* function prototypes */ static void usb_init_endpoint(struct usb_device *, uint8_t, - struct usb_endpoint_descriptor *, struct usb_endpoint *); + struct usb_endpoint_descriptor *, + struct usb_endpoint_ss_comp_descriptor *, + struct usb_endpoint *); static void usb_unconfigure(struct usb_device *, uint8_t); static void usb_detach_device_sub(struct usb_device *, device_t *, uint8_t); @@ -346,7 +348,9 @@ *------------------------------------------------------------------------*/ static void usb_init_endpoint(struct usb_device *udev, uint8_t iface_index, - struct usb_endpoint_descriptor *edesc, struct usb_endpoint *ep) + struct usb_endpoint_descriptor *edesc, + struct usb_endpoint_ss_comp_descriptor *ecomp, + struct usb_endpoint *ep) { struct usb_bus_methods *methods; @@ -356,6 +360,7 @@ /* initialise USB endpoint structure */ ep->edesc = edesc; + ep->ecomp = ecomp; ep->iface_index = iface_index; TAILQ_INIT(&ep->endpoint_q.head); ep->endpoint_q.command = &usbd_pipe_start; @@ -749,8 +754,14 @@ ep = udev->endpoints + temp; if (do_init) { + void *ecomp; + + ecomp = usb_ed_comp_foreach(udev->cdesc, (void *)ed); + if (ecomp != NULL) + DPRINTFN(5, "Found endpoint companion descriptor\n"); + usb_init_endpoint(udev, - ips.iface_index, ed, ep); + ips.iface_index, ed, ecomp, ep); } temp ++; @@ -1541,6 +1552,11 @@ udev->ctrl_ep_desc.wMaxPacketSize[0] = USB_MAX_IPACKET; udev->ctrl_ep_desc.wMaxPacketSize[1] = 0; udev->ctrl_ep_desc.bInterval = 0; + + /* set up default endpoint companion descriptor */ + udev->ctrl_ep_comp_desc.bLength = sizeof(udev->ctrl_ep_comp_desc); + udev->ctrl_ep_comp_desc.bDescriptorType = UDESC_ENDPOINT_SS_COMP; + udev->ddesc.bMaxPacketSize = USB_MAX_IPACKET; udev->speed = speed; @@ -1565,6 +1581,7 @@ /* init the default endpoint */ usb_init_endpoint(udev, 0, &udev->ctrl_ep_desc, + &udev->ctrl_ep_comp_desc, &udev->ctrl_ep); /* set device index */ ==== //depot/projects/usb/src/sys/dev/usb/usb_device.h#38 (text+ko) ==== @@ -169,6 +169,7 @@ struct usb_device_flags flags; struct usb_endpoint_descriptor ctrl_ep_desc; /* for endpoint 0 */ + struct usb_endpoint_ss_comp_descriptor ctrl_ep_comp_desc; /* for endpoint 0 */ struct usb_device_descriptor ddesc; /* device descriptor */ char *serial; /* serial number */ ==== //depot/projects/usb/src/sys/dev/usb/usb_parse.c#10 (text+ko) ==== @@ -180,7 +180,7 @@ } if (desc->bDescriptorType == UDESC_ENDPOINT) { if (desc->bLength < sizeof(*ped)) { - /* endpoint index is invalid */ + /* endpoint descriptor is invalid */ break; } return ((struct usb_endpoint_descriptor *)desc); @@ -190,6 +190,42 @@ } /*------------------------------------------------------------------------* + * usb_ed_comp_foreach + * + * This function will iterate all the endpoint companion descriptors + * within an endpoint descriptor in an interface descriptor. Starting + * value for the "ped" argument should be a valid endpoint companion + * descriptor. + * + * Return values: + * NULL: End of descriptors + * Else: A valid endpoint companion descriptor + *------------------------------------------------------------------------*/ +struct usb_endpoint_ss_comp_descriptor * +usb_ed_comp_foreach(struct usb_config_descriptor *cd, + struct usb_endpoint_ss_comp_descriptor *ped) +{ + struct usb_descriptor *desc; + + desc = ((struct usb_descriptor *)ped); + + while ((desc = usb_desc_foreach(cd, desc))) { + if (desc->bDescriptorType == UDESC_INTERFACE) + break; + if (desc->bDescriptorType == UDESC_ENDPOINT) + break; + if (desc->bDescriptorType == UDESC_ENDPOINT_SS_COMP) { + if (desc->bLength < sizeof(*ped)) { + /* endpoint companion descriptor is invalid */ + break; + } + return ((struct usb_endpoint_ss_comp_descriptor *)desc); + } + } + return (NULL); +} + +/*------------------------------------------------------------------------* * usbd_get_no_descriptors * * This function will count the total number of descriptors in the ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#179 (text+ko) ==== @@ -137,14 +137,10 @@ usbd_update_max_frame_size(struct usb_xfer *xfer) { /* compute maximum frame size */ + /* this computation should not overflow 16-bit */ + /* max = 15 * 1024 */ - if (xfer->max_packet_count == 2) { - xfer->max_frame_size = 2 * xfer->max_packet_size; - } else if (xfer->max_packet_count == 3) { - xfer->max_frame_size = 3 * xfer->max_packet_size; - } else { - xfer->max_frame_size = xfer->max_packet_size; - } + xfer->max_frame_size = xfer->max_packet_size * xfer->max_packet_count; } /*------------------------------------------------------------------------* @@ -355,9 +351,23 @@ parm->bufsize = setup->bufsize; - if (parm->speed == USB_SPEED_HIGH) { + switch (parm->speed) { + case USB_SPEED_HIGH: xfer->max_packet_count += (xfer->max_packet_size >> 11) & 3; + /* check for invalid max packet count */ + if (xfer->max_packet_count > 3) + xfer->max_packet_count = 3; xfer->max_packet_size &= 0x7FF; + break; + case USB_SPEED_SUPER: + if (xfer->endpoint->ecomp != NULL) + xfer->max_packet_count += xfer->endpoint->ecomp->bMaxBurst; + /* check for invalid max packet count */ + if (xfer->max_packet_count > 15) + xfer->max_packet_count = 15; + break; + default: + break; } /* range check "max_packet_count" */ ==== //depot/projects/usb/src/sys/dev/usb/usbdi.h#19 (text+ko) ==== @@ -135,6 +135,7 @@ struct usb_xfer_queue endpoint_q; /* queue of USB transfers */ struct usb_endpoint_descriptor *edesc; + struct usb_endpoint_ss_comp_descriptor *ecomp; struct usb_pipe_methods *methods; /* set by HC driver */ uint16_t isoc_next; ==== //depot/projects/usb/src/sys/dev/usb/usbdi_util.h#6 (text+ko) ==== @@ -51,6 +51,9 @@ struct usb_endpoint_descriptor *usb_edesc_foreach( struct usb_config_descriptor *cd, struct usb_endpoint_descriptor *ped); +struct usb_endpoint_ss_comp_descriptor *usb_ed_comp_foreach( + struct usb_config_descriptor *cd, + struct usb_endpoint_ss_comp_descriptor *ped); uint8_t usbd_get_no_descriptors(struct usb_config_descriptor *cd, uint8_t type); uint8_t usbd_get_no_alts(struct usb_config_descriptor *cd, From owner-p4-projects@FreeBSD.ORG Mon Aug 2 17:57:43 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A91A41065679; Mon, 2 Aug 2010 17:57:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 532471065677 for ; Mon, 2 Aug 2010 17:57:43 +0000 (UTC) (envelope-from gpf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 37ACB8FC1A for ; Mon, 2 Aug 2010 17:57:43 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o72HvhGY026771 for ; Mon, 2 Aug 2010 17:57:43 GMT (envelope-from gpf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o72Hvh2h026769 for perforce@freebsd.org; Mon, 2 Aug 2010 17:57:43 GMT (envelope-from gpf@FreeBSD.org) Date: Mon, 2 Aug 2010 17:57:43 GMT Message-Id: <201008021757.o72Hvh2h026769@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gpf@FreeBSD.org using -f From: Efstratios Karatzas To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181734 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Aug 2010 17:57:43 -0000 http://p4web.freebsd.org/@@181734?ac=10 Change 181734 by gpf@gpf_desktop on 2010/08/02 17:57:28 - minor changes for VOP_GETPARENT(9) - man pages for VOP_GETPARENT(9), VFS_FHHINT(9) & vn_fullpath_nocache(9). Note that these man pages are not formatted, just plain text and that's why I'm adding them to the base of my depot path. Feel free to comment! I'll give my nonexistant mdoc skills a chance in a week or so, at which point the man pages will be placed at the correct location. - man page update for VOP_VPTOFH(9) Affected files ... .. //depot/projects/soc2010/gpf_audit/freebsd/src/share/man/man9/VOP_VPTOFH.9#2 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/sys/ufs/ffs/ffs_vnops.c#9 edit .. //depot/projects/soc2010/gpf_audit/vfs_fhhint.txt#1 add .. //depot/projects/soc2010/gpf_audit/vn_fullpath_nocache.txt#1 add .. //depot/projects/soc2010/gpf_audit/vop_getparent.txt#1 add Differences ... ==== //depot/projects/soc2010/gpf_audit/freebsd/src/share/man/man9/VOP_VPTOFH.9#2 (text+ko) ==== @@ -38,7 +38,7 @@ .In sys/param.h .In sys/vnode.h .Ft int -.Fn VOP_VPTOFH "struct vnode *vp" "struct fid *fhp" +.Fn VOP_VPTOFH "struct vnode *vp" "struct fid *fhp" "struct vnode *dvp" .Sh DESCRIPTION This is used by the NFS server to create an opaque filehandle which uniquely identifies the file and which can be used by an NFS client @@ -50,10 +50,15 @@ The vnode to make a filehandle for. .It Fa fhp Return parameter for the filehandle. +.It Fa dvp +The directory vnode that contains a dirent for vp, NULL otherwise. +This is used to store a hint that will facilitate the work of +.Xr vn_fullpath_nocache 9 . .El .Sh SEE ALSO .Xr VFS 9 , .Xr VFS_FHTOVP 9 , +.Xr vn_fullpath_nocache 9 , .Xr vnode 9 .Sh AUTHORS This manual page was written by ==== //depot/projects/soc2010/gpf_audit/freebsd/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 (text+ko) ==== @@ -5081,7 +5081,7 @@ len = strlen(pch); if (len >= *(ap->a_buflen)) { - error = EOVERFLOW; + error = ENOMEM; goto out; } ==== //depot/projects/soc2010/gpf_audit/freebsd/src/sys/ufs/ffs/ffs_vnops.c#9 (text+ko) ==== @@ -1892,7 +1892,7 @@ len = strlen(pch); if (len >= *namelen) { - error = EOVERFLOW; + error = ENOMEM; goto out; } @@ -2018,8 +2018,8 @@ } /* - * if our target is not a directory and we haven't found 'a' parent directory, - * do an exhaustive search on the filesystem + * if owe haven't found 'a' parent directory, do an exhaustive search on + * the filesystem */ if ((flags & EXHAUSTSEARCH) && dvp == NULL) { error = VFS_VGET(mp, ROOTINO, LK_SHARED, &startdvp); @@ -2030,14 +2030,12 @@ vput(startdvp); } } - if (error) { + else error = ENOENT; - } } /* we failed to find a directory that contains the vnode, exit */ - else if (dvp == NULL) { + else if (dvp == NULL) error = ENOENT; - } out: if (error == 0 && dvp != NULL) From owner-p4-projects@FreeBSD.ORG Mon Aug 2 18:01:48 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 181861065673; Mon, 2 Aug 2010 18:01:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D0296106566B for ; Mon, 2 Aug 2010 18:01:47 +0000 (UTC) (envelope-from gpf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BD6808FC21 for ; Mon, 2 Aug 2010 18:01:47 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o72I1lt4027057 for ; Mon, 2 Aug 2010 18:01:47 GMT (envelope-from gpf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o72I1lpE027055 for perforce@freebsd.org; Mon, 2 Aug 2010 18:01:47 GMT (envelope-from gpf@FreeBSD.org) Date: Mon, 2 Aug 2010 18:01:47 GMT Message-Id: <201008021801.o72I1lpE027055@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gpf@FreeBSD.org using -f From: Efstratios Karatzas To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181735 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Aug 2010 18:01:48 -0000 http://p4web.freebsd.org/@@181735?ac=10 Change 181735 by gpf@gpf_desktop on 2010/08/02 18:01:42 - silly typo fix Affected files ... .. //depot/projects/soc2010/gpf_audit/freebsd/src/sys/ufs/ffs/ffs_vnops.c#10 edit Differences ... ==== //depot/projects/soc2010/gpf_audit/freebsd/src/sys/ufs/ffs/ffs_vnops.c#10 (text+ko) ==== @@ -2018,7 +2018,7 @@ } /* - * if owe haven't found 'a' parent directory, do an exhaustive search on + * if we haven't found 'a' parent directory, do an exhaustive search on * the filesystem */ if ((flags & EXHAUSTSEARCH) && dvp == NULL) { From owner-p4-projects@FreeBSD.ORG Mon Aug 2 18:22:10 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A4A25106567C; Mon, 2 Aug 2010 18:22:10 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 68B111065679 for ; Mon, 2 Aug 2010 18:22:10 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 551228FC17 for ; Mon, 2 Aug 2010 18:22:10 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o72IMAOx029635 for ; Mon, 2 Aug 2010 18:22:10 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o72IMAVd029633 for perforce@freebsd.org; Mon, 2 Aug 2010 18:22:10 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 2 Aug 2010 18:22:10 GMT Message-Id: <201008021822.o72IMAVd029633@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181738 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Aug 2010 18:22:10 -0000 http://p4web.freebsd.org/@@181738?ac=10 Change 181738 by hselasky@hselasky_laptop001 on 2010/08/02 18:21:20 USB controller (XHCI): - add code to configure device and endpoint - refactor some structures Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#9 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#11 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#9 (text+ko) ==== @@ -113,6 +113,7 @@ static void xhci_device_done(struct usb_xfer *, usb_error_t); static void xhci_root_intr(struct xhci_softc *); static void xhci_free_device_ext(struct usb_device *udev); +static struct xhci_endpoint_ext *xhci_get_endpoint_ext(struct usb_xfer *xfer); extern struct usb_bus_methods xhci_bus_methods; @@ -1162,7 +1163,6 @@ xfer->td_transfer_cache = td; if (xfer->flags_int.isochronous_xfr) { - uint8_t shift; x = XREAD4(temp.sc, runt, XHCI_MFINDEX); @@ -1171,17 +1171,19 @@ case USB_SPEED_FULL: shift = 3; temp.isoc_delta = 8; /* 1ms */ + x += temp.isoc_delta - 1; + x &= ~(temp.isoc_delta - 1); break; default: shift = usbd_xfer_get_fps_shift(xfer); temp.isoc_delta = 1U << shift; + x += temp.isoc_delta - 1; + x &= ~(temp.isoc_delta - 1); + /* simple frame load balancing */ + x += xfer->endpoint->usb_uframe; break; } - x += temp.isoc_delta - 1; - x &= ~(temp.isoc_delta - 1); - x += xfer->endpoint->usb_uframe; - y = XHCI_MFINDEX_GET(x - xfer->endpoint->isoc_next); if ((xfer->endpoint->is_synced == 0) || @@ -1198,6 +1200,14 @@ DPRINTFN(3, "start next=%d\n", xfer->endpoint->isoc_next); } + /* compute isochronous completion time */ + + y = XHCI_MFINDEX_GET(xfer->endpoint->isoc_next - (x & ~7)); + + xfer->isoc_time_complete = + usb_isoc_time_expand(&temp.sc->sc_bus, x / 8) + + (y / 8) + (((xfer->nframes << shift) + 7) / 8); + x = 0; temp.isoc_frame = xfer->endpoint->isoc_next; temp.trb_type = XHCI_TRB_TYPE_ISOCH; @@ -1344,232 +1354,338 @@ usb_pc_cpu_flush(&sc->sc_hw.ctx_pc); } +static uint8_t +xhci_log2(uint32_t x) +{ + uint8_t retval; + + retval = 0; + while (1) { + if (x == 1) + break; + x >>= 2; + if (x == 0) + break; + retval++; + } + return (retval); +} + static usb_error_t -xhci_alloc_device_ext(struct usb_device *udev) +xhci_configure_endpoint(struct usb_xfer *xfer) { - struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); - struct usb_page_search buf_scp; - struct usb_page_search buf_dev; - struct usb_page_cache *pcd; - struct usb_page *pgd; - struct usb_page_cache *pcs; - struct usb_page *pgs; - struct xhci_dev_ctx *pdctx; - struct usb_device *hubdev; + struct usb_page_search buf_inp; + struct usb_page_search buf_ep; + struct xhci_softc *sc = XHCI_BUS2SC(xfer->xroot->bus); + struct xhci_input_dev_ctx *pinp; + struct usb_endpoint_descriptor *edesc; + struct xhci_endpoint_ext *pepext; + struct usb_device *udev; uint64_t addr; uint32_t temp; uint8_t index; - uint8_t failure; - uint8_t i; - uint8_t rh_port; + uint8_t epno; + uint8_t k; + + usbd_get_page(&sc->sc_hw.devs[index].input_pc, 0, &buf_inp); + usbd_get_page(&sc->sc_hw.devs[index].endpoint_pc, 0, &buf_ep); + + pepext = xhci_get_endpoint_ext(xfer); + + udev = xfer->xroot->udev; index = udev->device_index; - failure = 0; + + edesc = xfer->endpoint->edesc; + + epno = edesc->bEndpointAddress; + + if ((edesc->bmAttributes & UE_XFERTYPE) == UE_CONTROL) + epno |= UE_DIR_IN; + + epno = XHCI_EPNO2EPID(epno); + + if (epno == 0) + return (USB_ERR_INVAL); /* invalid */ + + pinp = buf_inp.buffer; + + XXX; + pinp->ctx_input.dwInCtx0 |= htole32(0xFFFFFFFC); + pinp->ctx_input.dwInCtx1 &= htole32(0x1); - pcd = &sc->sc_hw.devs[index].device_pc; - pgd = &sc->sc_hw.devs[index].device_pg; + temp = XHCI_EPCTX_0_EPSTATE_SET(0) | + XHCI_EPCTX_0_MAXP_STREAMS_SET(0) | + XHCI_EPCTX_0_LSA_SET(0); - /* need to initialize the page cache */ - pcd->tag_parent = sc->sc_bus.dma_parent_tag; + switch (edesc->bmAttributes & UE_XFERTYPE) { + case UE_INTERRUPT: + k = xhci_log2(xfer->interval) + 3; + temp |= XHCI_EPCTX_0_IVAL_SET(k); + break; + case UE_ISOCHRONOUS: + if (udev->speed == USB_SPEED_SUPER) + temp |= XHCI_EPCTX_0_MULT_SET(xfer->max_packet_count); + break; + default: + break; + } - if (usb_pc_alloc_mem(pcd, pgd, sizeof(*pdctx), XHCI_PAGE_SIZE)) - failure = 1; + pinp->ctx_ep[epno - 1].dwEpCtx0 = htole32(temp); - if (failure == 0) { + temp = + XHCI_EPCTX_1_HID_SET(0) | + XHCI_EPCTX_1_MAXB_SET(xfer->max_packet_count) | + XHCI_EPCTX_1_MAXP_SIZE_SET(xfer->max_packet_size); - usbd_get_page(pcd, 0, &buf_dev); + if ((udev->parent_hs_hub != NULL) || (udev->address != 0)) + temp |= XHCI_EPCTX_1_CERR_SET(3); - pdctx = buf_dev.buffer; - addr = buf_dev.physaddr; + switch (edesc->bmAttributes & UE_XFERTYPE) { + case UE_CONTROL: + temp |= XHCI_EPCTX_1_EPTYPE_SET(4); + break; + case UE_ISOCHRONOUS: + temp |= XHCI_EPCTX_1_EPTYPE_SET(1); + break; + case UE_BULK: + temp |= XHCI_EPCTX_1_EPTYPE_SET(2); + break; + default: + temp |= XHCI_EPCTX_1_EPTYPE_SET(3); + break; + } - hubdev = udev; - temp = XHCI_SCTX_0_CTX_NUM_SET(XHCI_MAX_ENDPOINTS - 1); + if (edesc->bmAttributes & UE_DIR_IN) + temp |= XHCI_EPCTX_1_EPTYPE_SET(4); - while (hubdev->parent_hub != NULL) { - temp |= (hubdev->port_no & 0xF) << ((hubdev->depth - 1) * 4); - hubdev = hubdev->parent_hub; - } + pinp->ctx_ep[epno - 1].dwEpCtx1 = htole32(temp); - rh_port = hubdev->port_no; + pepext->trb_ccs = 1; + pepext->trb_index = 0; + pepext->trb_halted = 0; - switch (udev->speed) { - case USB_SPEED_LOW: - temp |= XHCI_SCTX_0_SPEED_SET(2); - break; - case USB_SPEED_HIGH: - temp |= XHCI_SCTX_0_SPEED_SET(3); - break; - case USB_SPEED_FULL: - temp |= XHCI_SCTX_0_SPEED_SET(1); - break; - default: - temp |= XHCI_SCTX_0_SPEED_SET(4); - break; - } + for (k = 0; k != XHCI_MAX_TRANSFERS; k++) + pepext->trb[k].dwTrb3 = 0; - if (udev->hub != NULL) - temp |= XHCI_SCTX_0_HUB_SET(1); + usb_pc_cpu_flush(pepext->page_cache); - pdctx->ctx_slot.dwSctx0 = htole32(temp); + addr = XHCI_EPCTX_2_DCS_SET(1) | + (buf_ep.physaddr + (uintptr_t)&((struct xhci_dev_endpoint_trbs *)0)->trb[epno][0]); - temp = XHCI_SCTX_1_RH_PORT_SET(rh_port); + pinp->ctx_ep[epno - 1].qwEpCtx2 = htole64(addr); - if (udev->hub != NULL) - temp |= XHCI_SCTX_1_NUM_PORTS_SET(udev->hub->nports); + temp = XHCI_EPCTX_4_AVG_TRB_LEN_SET() | + XHCI_EPCTX_4_MAX_ESIT_PAYLOAD_SET(); - switch (udev->speed) { - case USB_SPEED_LOW: - case USB_SPEED_HIGH: - case USB_SPEED_FULL: - default: - temp |= XHCI_SCTX_1_MAX_EL_SET(sc->sc_exit_lat_max); - break; - } + pinp->ctx_ep[epno - 1].dwEpCtx4 = htole32(temp); - pdctx->ctx_slot.dwSctx1 = htole32(temp); + usb_pc_cpu_flush(&sc->sc_hw.devs[index].input_pc); +} - temp = XHCI_SCTX_2_IRQ_TARGET_SET(0); +static usb_error_t +xhci_configure_device(struct usb_device *udev) +{ + struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); + struct usb_page_search buf_scp; + struct usb_page_search buf_dev; + struct usb_page_search buf_inp; + struct usb_page_cache *pcdev; + struct usb_page_cache *pcinp; + struct usb_page_cache *pc; + struct xhci_input_dev_ctx *pinp; + struct usb_device *hubdev; + uint32_t temp; + uint8_t index; + uint8_t rh_port; + uint8_t i; - if ((udev->hub != NULL) && - (udev->speed == USB_SPEED_HIGH)) - temp |= XHCI_SCTX_2_TT_THINK_TIME_SET(3); + pcdev = &sc->sc_hw.devs[index].device_pc; + pcinp = &sc->sc_hw.devs[index].input_pc; - hubdev = udev->parent_hs_hub; + usbd_get_page(pcdev, 0, &buf_dev); + usbd_get_page(pcinp, 0, &buf_inp); - if (hubdev != NULL) { - temp |= XHCI_SCTX_2_TT_HUB_SID_SET(hubdev->device_index); - temp |= XHCI_SCTX_2_TT_PORT_NUM_SET(hubdev->port_no); - } + pinp = buf_inp.buffer; - pdctx->ctx_slot.dwSctx2 = htole32(temp); + hubdev = udev; + temp = XHCI_SCTX_0_CTX_NUM_SET(XHCI_MAX_ENDPOINTS - 1); - temp = XHCI_SCTX_3_DEV_ADDR_SET(udev->address) | - XHCI_SCTX_3_SLOT_STATE_SET(3); + while (hubdev->parent_hub != NULL) { + temp |= ((uint32_t)(hubdev->port_no & 0xF)) << ((hubdev->depth - 1) * 4); + hubdev = hubdev->parent_hub; + } - pdctx->ctx_slot.dwSctx3 = htole32(temp); + rh_port = hubdev->port_no; - } else { - pdctx = NULL; + switch (udev->speed) { + case USB_SPEED_LOW: + temp |= XHCI_SCTX_0_SPEED_SET(2); + break; + case USB_SPEED_HIGH: + temp |= XHCI_SCTX_0_SPEED_SET(3); + break; + case USB_SPEED_FULL: + temp |= XHCI_SCTX_0_SPEED_SET(1); + break; + default: + temp |= XHCI_SCTX_0_SPEED_SET(4); + break; } - for (i = 0; i != sc->sc_noscratch; i++) { + if (udev->hub != NULL) + temp |= XHCI_SCTX_0_HUB_SET(1); - pcs = &sc->sc_hw.devs[index].scratch_pc[i]; - pgs = &sc->sc_hw.devs[index].scratch_pg[i]; + pinp->ctx_slot.dwSctx0 = htole32(temp); - /* need to initialize the page cache */ - pcs->tag_parent = sc->sc_bus.dma_parent_tag; + temp = XHCI_SCTX_1_RH_PORT_SET(rh_port); - if (usb_pc_alloc_mem(pcs, pgs, XHCI_PAGE_SIZE, XHCI_PAGE_SIZE)) - failure = 1; + if (udev->hub != NULL) + temp |= XHCI_SCTX_1_NUM_PORTS_SET(udev->hub->nports); - if (failure == 0) { - usbd_get_page(pcs, 0, &buf_scp); - pdctx->ctx_sp_buf_ptr[i] = htole64((uint64_t)buf_scp.physaddr); - } + switch (udev->speed) { + case USB_SPEED_LOW: + case USB_SPEED_HIGH: + case USB_SPEED_FULL: + default: + temp |= XHCI_SCTX_1_MAX_EL_SET(sc->sc_exit_lat_max); + break; } - if (failure) - goto error; + + pinp->ctx_slot.dwSctx1 = htole32(temp); - usb_pc_cpu_flush(pcd); + temp = XHCI_SCTX_2_IRQ_TARGET_SET(0); - xhci_set_slot_scratch(sc, udev->device_index, addr, - addr + (uintptr_t)&((struct xhci_dev_ctx *)0)->ctx_sp_buf_ptr[0]); + if ((udev->hub != NULL) && + (udev->speed == USB_SPEED_HIGH)) + temp |= XHCI_SCTX_2_TT_THINK_TIME_SET(3); - return (0); + hubdev = udev->parent_hs_hub; -error: - xhci_free_device_ext(udev); + if (hubdev != NULL) { + temp |= XHCI_SCTX_2_TT_HUB_SID_SET(hubdev->device_index); + temp |= XHCI_SCTX_2_TT_PORT_NUM_SET(hubdev->port_no); + } - return (USB_ERR_NOMEM); -} + pinp->ctx_slot.dwSctx2 = htole32(temp); -static void -xhci_free_device_ext(struct usb_device *udev) -{ - struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); - struct usb_page_cache *pcd; - struct usb_page_cache *pcs; - uint8_t index; - uint8_t i; + temp = XHCI_SCTX_3_DEV_ADDR_SET(udev->address) | + XHCI_SCTX_3_SLOT_STATE_SET(3); - index = udev->device_index; + pinp->ctx_slot.dwSctx3 = htole32(temp); - pcd = &sc->sc_hw.devs[index].device_pc; + for (i = 0; i != sc->sc_noscratch; i++) { - usb_pc_free_mem(pcd); + pc = &sc->sc_hw.devs[index].scratch_pc[i]; - for (i = 0; i != sc->sc_noscratch; i++) { - pcs = &sc->sc_hw.devs[index].scratch_pc[i]; + usbd_get_page(pc, 0, &buf_scp); - usb_pc_free_mem(pcs); + pinp->ctx_sp_buf_ptr[i] = htole64((uint64_t)buf_scp.physaddr); } - xhci_set_slot_scratch(sc, udev->device_index, 0, 0); + usb_pc_cpu_flush(pcinp); + + xhci_set_slot_scratch(sc, udev->device_index, buf_dev.physaddr, + buf_inp.physaddr + (uintptr_t)&((struct xhci_input_dev_ctx *)0)->ctx_sp_buf_ptr[0]); + + XXX_cmd_config(); } static usb_error_t -xhci_alloc_endpoint_ext(struct xhci_softc *sc, uint8_t index, - struct usb_endpoint_descriptor *edesc) +xhci_alloc_device_ext(struct usb_device *udev) { - struct usb_page_search buf_res; - struct xhci_endpoint_ext *pepext; + struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); struct usb_page_cache *pc; struct usb_page *pg; - uint8_t epno; + uint8_t i; + uint8_t index; + + index = udev->device_index; + + pc = &sc->sc_hw.devs[index].device_pc; + pg = &sc->sc_hw.devs[index].device_pg; - epno = edesc->bEndpointAddress; + /* need to initialize the page cache */ + pc->tag_parent = sc->sc_bus.dma_parent_tag; - if ((edesc->bmAttributes & UE_XFERTYPE) == UE_CONTROL) - epno |= UE_DIR_IN; + if (usb_pc_alloc_mem(pc, pg, sizeof(struct xhci_dev_ctx), XHCI_PAGE_SIZE)) + goto error; - epno = XHCI_EPNO2EPID(epno); - pc = &sc->sc_hw.devs[index].endpoint_pc[epno]; - pg = &sc->sc_hw.devs[index].endpoint_pg[epno]; + pc = &sc->sc_hw.devs[index].input_pc; + pg = &sc->sc_hw.devs[index].input_pg; /* need to initialize the page cache */ pc->tag_parent = sc->sc_bus.dma_parent_tag; - if (usb_pc_alloc_mem(pc, pg, sizeof(*pepext), XHCI_TRB_ALIGN)) { - return (USB_ERR_NOMEM); /* failure */ - } + if (usb_pc_alloc_mem(pc, pg, sizeof(struct xhci_input_dev_ctx), XHCI_PAGE_SIZE)) + goto error; + + pc = &sc->sc_hw.devs[index].endpoint_pc; + pg = &sc->sc_hw.devs[index].endpoint_pg; - /* the allocated memory is zeroed */ + /* need to initialize the page cache */ + pc->tag_parent = sc->sc_bus.dma_parent_tag; - usbd_get_page(pc, 0, &buf_res); + if (usb_pc_alloc_mem(pc, pg, sizeof(struct xhci_dev_endpoint_trbs), XHCI_PAGE_SIZE)) + goto error; - pepext = buf_res.buffer; + for (i = 0; i != sc->sc_noscratch; i++) { - pepext->page_cache = pc; - pepext->trb_ccs = 1; + pc = &sc->sc_hw.devs[index].scratch_pc[i]; + pg = &sc->sc_hw.devs[index].scratch_pg[i]; - usb_pc_cpu_flush(pepext->page_cache); + /* need to initialize the page cache */ + pc->tag_parent = sc->sc_bus.dma_parent_tag; + if (usb_pc_alloc_mem(pc, pg, XHCI_PAGE_SIZE, XHCI_PAGE_SIZE)) + goto error; + } return (0); + +error: + xhci_free_device_ext(udev); + + return (USB_ERR_NOMEM); } static void -xhci_free_endpoint_ext(struct xhci_softc *sc, uint8_t index, - struct usb_endpoint_descriptor *edesc) +xhci_free_device_ext(struct usb_device *udev) { + struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); struct usb_page_cache *pc; - uint8_t epno; + uint8_t index; + uint8_t i; + + index = udev->device_index; + + xhci_set_slot_scratch(sc, index, 0, 0); + + pc = &sc->sc_hw.devs[index].device_pc; + + usb_pc_free_mem(pc); - epno = edesc->bEndpointAddress; + pc = &sc->sc_hw.devs[index].input_pc; - if ((edesc->bmAttributes & UE_XFERTYPE) == UE_CONTROL) - epno |= UE_DIR_IN; + usb_pc_free_mem(pc); - epno = XHCI_EPNO2EPID(epno); - pc = &sc->sc_hw.devs[index].endpoint_pc[epno]; + pc = &sc->sc_hw.devs[index].endpoint_pc; usb_pc_free_mem(pc); + + for (i = 0; i != sc->sc_noscratch; i++) { + pc = &sc->sc_hw.devs[index].scratch_pc[i]; + + usb_pc_free_mem(pc); + } } -static void -xhci_get_endpoint_ext(struct usb_xfer *xfer, struct usb_page_search *buf) +static struct xhci_endpoint_ext * +xhci_get_endpoint_ext(struct usb_xfer *xfer) { struct xhci_softc *sc = XHCI_BUS2SC(xfer->xroot->bus); + struct xhci_endpoint_ext *pepext; + struct usb_page_cache *pc; + struct usb_page_search buf_res; uint8_t epno; uint8_t index; @@ -1580,7 +1696,16 @@ epno = XHCI_EPNO2EPID(epno); index = xfer->xroot->udev->device_index; - usbd_get_page(&sc->sc_hw.devs[index].endpoint_pc[epno], 0, buf); + pc = &sc->sc_hw.devs[index].endpoint_pc; + + usbd_get_page(pc, (XHCI_MAX_TRANSFERS * sizeof(struct xhci_trb)) * epno, &buf_res); + + pepext = &sc->sc_hw.devs[index].endp[epno]; + pepext->page_cache = pc; + pepext->trb = buf_res.buffer; + pepext->physaddr = buf_res.physaddr; + + return (pepext); } static void @@ -1603,20 +1728,15 @@ static void xhci_transfer_remove(struct usb_xfer *xfer, usb_error_t error) { - struct usb_page_search buf_res; struct xhci_endpoint_ext *pepext; if (xfer->flags_int.bandwidth_reclaimed) { xfer->flags_int.bandwidth_reclaimed = 0; - xhci_get_endpoint_ext(xfer, &buf_res); - - pepext = buf_res.buffer; + pepext = xhci_get_endpoint_ext(xfer); pepext->trb_used--; - usb_pc_cpu_flush(pepext->page_cache); - if (error) xhci_transfer_stop_endpoint(xfer); } @@ -1625,7 +1745,6 @@ static usb_error_t xhci_transfer_insert(struct usb_xfer *xfer) { - struct usb_page_search buf_res; struct xhci_td *td_first; struct xhci_td *td_last; struct xhci_endpoint_ext *pepext; @@ -1638,12 +1757,11 @@ if (xfer->flags_int.bandwidth_reclaimed) return (0); - xhci_get_endpoint_ext(xfer, &buf_res); + pepext = xhci_get_endpoint_ext(xfer); td_first = xfer->td_transfer_first; td_last = xfer->td_transfer_last; - pepext = buf_res.buffer; - addr = buf_res.physaddr; + addr = pepext->physaddr; if (pepext->trb_used >= (XHCI_MAX_TRANSFERS - 1)) return (USB_ERR_NOMEM); @@ -1694,7 +1812,7 @@ if (i == (XHCI_MAX_TRANSFERS - 1)) { - addr = buf_res.physaddr; + addr = pepext->physaddr; /* update next pointer of link TRB */ ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#11 (text+ko) ==== @@ -147,13 +147,22 @@ volatile uint32_t dwInCtx7; }; +struct xhci_input_dev_ctx { + struct xhci_input_ctx ctx_input; + struct xhci_slot_ctx ctx_slot; + struct xhci_endp_ctx ctx_ep[XHCI_MAX_ENDPOINTS - 1]; + volatile uint64_t ctx_sp_buf_ptr[XHCI_MAX_SCRATCHPADS]; +}; + struct xhci_dev_ctx { struct xhci_slot_ctx ctx_slot; - struct xhci_endp_ctx ctx_ep0; - struct xhci_endp_ctx ctx_epN[XHCI_MAX_ENDPOINTS - 2]; - volatile uint64_t ctx_sp_buf_ptr[XHCI_MAX_SCRATCHPADS]; + struct xhci_endp_ctx ctx_epN[XHCI_MAX_ENDPOINTS - 1]; } __aligned(XHCI_DEV_CTX_ALIGN); +struct xhci_dev_endpoint_trbs { + struct xhci_trb trb[XHCI_MAX_ENDPOINTS][XHCI_MAX_TRANSFERS]; +}; + struct xhci_stream_ctx { volatile uint64_t qwSctx0; #define XHCI_SCTX_0_DCS_GET(x) ((x) & 0x1) @@ -333,28 +342,29 @@ }; struct xhci_endpoint_ext { - - struct xhci_trb trb[XHCI_MAX_TRANSFERS]; - struct xhci_command ep_stop_cmd; - + struct xhci_command ep_config_cmd; + struct xhci_trb *trb; struct usb_page_cache *page_cache; - + uint64_t physaddr; uint8_t trb_used; uint8_t trb_ccs; uint8_t trb_index; + uint8_t trb_halted; }; struct xhci_hw_dev { struct usb_page_cache device_pc; - struct usb_page_cache endpoint_pc[XHCI_MAX_ENDPOINTS]; struct usb_page_cache input_pc; + struct usb_page_cache endpoint_pc; struct usb_page_cache scratch_pc[XHCI_MAX_SCRATCHPADS]; struct usb_page device_pg; - struct usb_page endpoint_pg[XHCI_MAX_ENDPOINTS]; struct usb_page input_pg; + struct usb_page endpoint_pg; struct usb_page scratch_pg[XHCI_MAX_SCRATCHPADS]; + + struct xhci_endpoint_ext endp[XHCI_MAX_ENDPOINTS]; }; struct xhci_hw_softc { From owner-p4-projects@FreeBSD.ORG Mon Aug 2 19:31:27 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E9B74106567C; Mon, 2 Aug 2010 19:31:26 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 982571065675 for ; Mon, 2 Aug 2010 19:31:26 +0000 (UTC) (envelope-from jlaffaye@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6ADBA8FC1B for ; Mon, 2 Aug 2010 19:31:26 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o72JVQUo035787 for ; Mon, 2 Aug 2010 19:31:26 GMT (envelope-from jlaffaye@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o72JVQGD035785 for perforce@freebsd.org; Mon, 2 Aug 2010 19:31:26 GMT (envelope-from jlaffaye@FreeBSD.org) Date: Mon, 2 Aug 2010 19:31:26 GMT Message-Id: <201008021931.o72JVQGD035785@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jlaffaye@FreeBSD.org using -f From: Julien Laffaye To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181741 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Aug 2010 19:31:27 -0000 http://p4web.freebsd.org/@@181741?ac=10 Change 181741 by jlaffaye@jlaffaye-chulak on 2010/08/02 19:31:01 Replace the make_hierarchy() function by mkdirs(). The code was inspired by the mkdir(1) utility in our tree. Remove apply_perms() and its silly globals. Affected files ... .. //depot/projects/soc2010/pkg_complete/usr.sbin/pkg_install/add/add.h#6 edit .. //depot/projects/soc2010/pkg_complete/usr.sbin/pkg_install/add/extract.c#13 edit .. //depot/projects/soc2010/pkg_complete/usr.sbin/pkg_install/add/futil.c#3 edit Differences ... ==== //depot/projects/soc2010/pkg_complete/usr.sbin/pkg_install/add/add.h#6 (text+ko) ==== @@ -40,16 +40,9 @@ extern Boolean FailOnAlreadyInstalled; extern Boolean KeepPackage; extern Boolean IgnoreDeps; -extern char *Mode; -extern char *Owner; -extern char *Group; -extern char *Directory; -extern char *PkgName; -extern char *PkgAddCmd; extern add_mode_t AddMode; -int make_hierarchy(char *); -void apply_perms(const char *, const char *); +int mkdirs(char *path); int extract_package(struct archive *, Package *, const char *); int extract_plist(struct archive *, struct archive_entry *, Package *); int pkg_do(const char *); ==== //depot/projects/soc2010/pkg_complete/usr.sbin/pkg_install/add/extract.c#13 (text+ko) ==== @@ -301,7 +301,7 @@ */ snprintf(db_dir_tmp, sizeof(db_dir_tmp), "%s/.%s", LOG_DIR, pkg->name); snprintf(db_dir, sizeof(db_dir), "%s/%s", LOG_DIR, pkg->name); - if (make_hierarchy(db_dir_tmp) == -1) { + if (mkdirs(db_dir_tmp) == -1) { warnx("Can not create '%s' directory - aborting", db_dir_tmp); return (1); } @@ -413,7 +413,7 @@ p->name = strdup(prefix); if (Verbose) printf("extract: CWD to %s\n", p->name); - if (!Fake && make_hierarchy(p->name) == -1) { + if (!Fake && mkdirs(p->name) == -1) { warnx("Can not create '%s' directory.", p->name); return (1); } ==== //depot/projects/soc2010/pkg_complete/usr.sbin/pkg_install/add/futil.c#3 (text+ko) ==== @@ -21,76 +21,37 @@ #include __FBSDID("$FreeBSD: src/usr.sbin/pkg_install/add/futil.c,v 1.16 2010/04/23 11:07:43 flz Exp $"); -#include +#include #include + #include "add.h" /* - * Assuming dir is a desired directory name, make it and all intervening - * directories necessary. + * Does the same job as mkdir(1) with the -p flag. + * Returns 0 on success, -1 otherwise. */ - int -make_hierarchy(char *dir) +mkdirs(char *path) { - char *cp1, *cp2; + int last; + char *p; - if (dir[0] == '/') - cp1 = cp2 = dir + 1; - else - cp1 = cp2 = dir; - while (cp2) { - if ((cp2 = strchr(cp1, '/')) !=NULL ) - *cp2 = '\0'; - if (fexists(dir)) { - if (!isdir(dir)) { - if (cp2) - *cp2 = '/'; - return -1; - } + p = path; + if (p[0] == '/') + ++p; + for (last = 0; !last ; ++p) { + if (p[0] == '\0') + last = 1; + else if (p[0] != '/') + continue; + *p = '\0'; + if (!last && p[1] == '\0') + last = 1; + if (mkdir(path, S_IRWXU | S_IRWXG | S_IRWXO) < 0) + if (errno != EEXIST && errno != EISDIR) + return (-1); + if (!last) + *p = '/'; } - else { - if (mkdir(dir, 0777) < 0) { - if (cp2) - *cp2 = '/'; - return -1; - } - apply_perms(NULL, dir); - } - /* Put it back */ - if (cp2) { - *cp2 = '/'; - cp1 = cp2 + 1; - } - } - return 0; -} - -/* Using permission defaults, apply them as necessary */ -void -apply_perms(const char *dir, const char *arg) -{ - const char *cd_to; - - if (!dir || *arg == '/') /* absolute path? */ - cd_to = "/"; - else - cd_to = dir; - - if (Mode) - if (vsystem("cd %s && /bin/chmod -R %s %s", cd_to, Mode, arg)) - warnx("couldn't change modes of '%s' to '%s'", arg, Mode); - if (Owner && Group) { - if (vsystem("cd %s && /usr/sbin/chown -R %s:%s %s", cd_to, Owner, Group, arg)) - warnx("couldn't change owner/group of '%s' to '%s:%s'", - arg, Owner, Group); - return; - } - if (Owner) { - if (vsystem("cd %s && /usr/sbin/chown -R %s %s", cd_to, Owner, arg)) - warnx("couldn't change owner of '%s' to '%s'", arg, Owner); - return; - } else if (Group) - if (vsystem("cd %s && /usr/bin/chgrp -R %s %s", cd_to, Group, arg)) - warnx("couldn't change group of '%s' to '%s'", arg, Group); + return (0); } From owner-p4-projects@FreeBSD.ORG Mon Aug 2 21:07:12 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 038931065678; Mon, 2 Aug 2010 21:07:12 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BC29C1065670 for ; Mon, 2 Aug 2010 21:07:11 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 907F08FC12 for ; Mon, 2 Aug 2010 21:07:11 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o72L7Br5055988 for ; Mon, 2 Aug 2010 21:07:11 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o72L7B0c055986 for perforce@freebsd.org; Mon, 2 Aug 2010 21:07:11 GMT (envelope-from jhb@freebsd.org) Date: Mon, 2 Aug 2010 21:07:11 GMT Message-Id: <201008022107.o72L7B0c055986@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181744 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Aug 2010 21:07:12 -0000 http://p4web.freebsd.org/@@181744?ac=10 Change 181744 by jhb@jhb_jhbbsd on 2010/08/02 21:07:00 Merge build fix. Affected files ... .. //depot/projects/smpng/sys/mips/include/vmparam.h#5 edit Differences ... ==== //depot/projects/smpng/sys/mips/include/vmparam.h#5 (text+ko) ==== @@ -184,6 +184,7 @@ #ifdef __mips_n64 #define VM_NFREELIST 1 #define VM_FREELIST_DEFAULT 0 +#define VM_FREELIST_DIRECT VM_FREELIST_DEFAULT #else #define VM_NFREELIST 2 #define VM_FREELIST_DEFAULT 1 From owner-p4-projects@FreeBSD.ORG Tue Aug 3 06:49:52 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 145CB1065674; Tue, 3 Aug 2010 06:49:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CAE8C106564A for ; Tue, 3 Aug 2010 06:49:51 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B68AE8FC17 for ; Tue, 3 Aug 2010 06:49:51 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o736npVZ030581 for ; Tue, 3 Aug 2010 06:49:51 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o736npc7030579 for perforce@freebsd.org; Tue, 3 Aug 2010 06:49:51 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 3 Aug 2010 06:49:51 GMT Message-Id: <201008030649.o736npc7030579@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181754 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2010 06:49:52 -0000 http://p4web.freebsd.org/@@181754?ac=10 Change 181754 by hselasky@hselasky_laptop001 on 2010/08/03 06:49:04 USB core: - USB device drivers should not reference the usb_device structure elements (umass, uhso, ubser). - Add new bus methods (endpoint_uninit, device_init, device_uninit) for Super Speed USB which are required to setup the hardware driver. The endpoint_uninit function is not yet called. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/net/uhso.c#8 edit .. //depot/projects/usb/src/sys/dev/usb/serial/ubser.c#19 edit .. //depot/projects/usb/src/sys/dev/usb/storage/umass.c#52 edit .. //depot/projects/usb/src/sys/dev/usb/usb_controller.h#21 edit .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#72 edit .. //depot/projects/usb/src/sys/dev/usb/usb_device.h#39 edit .. //depot/projects/usb/src/sys/dev/usb/usb_generic.c#33 edit .. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#52 edit .. //depot/projects/usb/src/sys/dev/usb/usbdi_util.h#7 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/net/uhso.c#8 (text+ko) ==== @@ -61,12 +61,10 @@ #define USB_DEBUG_VAR uhso_debug #include #include -#include #include -#include -#include +#include + #include -#include struct uhso_tty { struct uhso_softc *ht_sc; @@ -502,7 +500,7 @@ return (ENXIO); if (uaa->info.bConfigIndex != 0) return (ENXIO); - if (uaa->device->ddesc.bDeviceClass != 0xff) + if (uaa->info.bDeviceClass != 0xff) return (ENXIO); return (usbd_lookup_id_by_uaa(uhso_devs, sizeof(uhso_devs), uaa)); @@ -576,8 +574,9 @@ /* Announce device */ device_printf(self, "<%s port> at <%s %s> on %s\n", uhso_port_type[UHSO_IFACE_PORT_TYPE(sc->sc_type)], - uaa->device->manufacturer, uaa->device->product, - device_get_nameunit(uaa->device->bus->bdev)); + usb_get_manufacturer(uaa->device), + usb_get_product(uaa->device), + device_get_nameunit(device_get_parent(self))); if (sc->sc_ttys > 0) { SYSCTL_ADD_INT(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, "ports", ==== //depot/projects/usb/src/sys/dev/usb/serial/ubser.c#19 (text+ko) ==== @@ -104,7 +104,6 @@ #define USB_DEBUG_VAR ubser_debug #include #include -#include #include @@ -225,7 +224,7 @@ return (ENXIO); } /* check if this is a BWCT vendor specific ubser interface */ - if ((strcmp(uaa->device->manufacturer, "BWCT") == 0) && + if ((strcmp(usb_get_manufacturer(uaa->device), "BWCT") == 0) && (uaa->info.bInterfaceClass == 0xff) && (uaa->info.bInterfaceSubClass == 0x00)) return (0); ==== //depot/projects/usb/src/sys/dev/usb/storage/umass.c#52 (text+ko) ==== @@ -124,7 +124,7 @@ #include #include -#include +#include #include "usbdevs.h" #include @@ -2303,23 +2303,24 @@ if (umass_std_transform(sc, ccb, cmd, ccb->csio.cdb_len)) { if (sc->sc_transfer.cmd_data[0] == INQUIRY) { + const char *pserial; + + pserial = usb_get_serial(sc->sc_udev); /* * Umass devices don't generally report their serial numbers * in the usual SCSI way. Emulate it here. */ if ((sc->sc_transfer.cmd_data[1] & SI_EVPD) && - sc->sc_transfer.cmd_data[2] == SVPD_UNIT_SERIAL_NUMBER && - sc->sc_udev != NULL && - sc->sc_udev->serial != NULL && - sc->sc_udev->serial[0] != '\0') { + (sc->sc_transfer.cmd_data[2] == SVPD_UNIT_SERIAL_NUMBER) && + (pserial[0] != '\0')) { struct scsi_vpd_unit_serial_number *vpd_serial; vpd_serial = (struct scsi_vpd_unit_serial_number *)ccb->csio.data_ptr; - vpd_serial->length = strlen(sc->sc_udev->serial); + vpd_serial->length = strlen(pserial); if (vpd_serial->length > sizeof(vpd_serial->serial_num)) vpd_serial->length = sizeof(vpd_serial->serial_num); - memcpy(vpd_serial->serial_num, sc->sc_udev->serial, vpd_serial->length); + memcpy(vpd_serial->serial_num, pserial, vpd_serial->length); ccb->csio.scsi_status = SCSI_STATUS_OK; ccb->ccb_h.status = CAM_REQ_CMP; xpt_done(ccb); @@ -2552,9 +2553,7 @@ sc->sc_transfer.cmd_data[0] == INQUIRY && (sc->sc_transfer.cmd_data[1] & SI_EVPD) && sc->sc_transfer.cmd_data[2] == SVPD_SUPPORTED_PAGE_LIST && - sc->sc_udev != NULL && - sc->sc_udev->serial != NULL && - sc->sc_udev->serial[0] != '\0') { + (usb_get_serial(sc->sc_udev)[0] != '\0')) { struct ccb_scsiio *csio; struct scsi_vpd_supported_page_list *page_list; ==== //depot/projects/usb/src/sys/dev/usb/usb_controller.h#21 (text+ko) ==== @@ -106,6 +106,18 @@ /* Optional fixed power mode support */ void (*get_power_mode) (struct usb_device *udev, int8_t *pmode); + + /* Optional endpoint uninit */ + + void (*endpoint_uninit) (struct usb_device *, struct usb_endpoint *); + + /* Optional device init */ + + usb_error_t (*device_init) (struct usb_device *); + + /* Optional device uninit */ + + void (*device_uninit) (struct usb_device *); }; /* ==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#72 (text+ko) ==== @@ -142,6 +142,33 @@ return ((state < USB_STATE_MAX) ? statestr[state] : "UNKNOWN"); } +const char * +usb_get_manufacturer(struct usb_device *udev) +{ + if ((udev != NULL) && (udev->manufacturer != NULL)) + return (udev->manufacturer); + else + return ("Unknown"); +} + +const char * +usb_get_product(struct usb_device *udev) +{ + if ((udev != NULL) && (udev->product != NULL)) + return (udev->product); + else + return (""); +} + +const char * +usb_get_serial(struct usb_device *udev) +{ + if ((udev != NULL) && (udev->serial != NULL)) + return (udev->serial); + else + return (""); +} + /*------------------------------------------------------------------------* * usbd_get_ep_by_addr * @@ -1600,6 +1627,17 @@ /* Create a link from /dev/ugenX.X to the default endpoint */ make_dev_alias(udev->ctrl_dev, udev->ugen_name); #endif + /* Initialise device */ + if (bus->methods->device_init != NULL) { + err = (bus->methods->device_init) (udev); + if (err != 0) { + DPRINTFN(0, "device init %d failed " + "(%s, ignored)\n", device_index, + usbd_errstr(err)); + goto done; + } + } + if (udev->flags.usb_mode == USB_MODE_HOST) { err = usbd_req_set_address(udev, NULL, device_index); @@ -1854,7 +1892,8 @@ udev->ugen_symlink = usb_alloc_symlink(udev->ugen_name); /* Announce device */ - printf("%s: <%s> at %s\n", udev->ugen_name, udev->manufacturer, + printf("%s: <%s> at %s\n", udev->ugen_name, + usb_get_manufacturer(udev), device_get_nameunit(udev->bus->bdev)); usb_notify_addq("ATTACH", udev); @@ -2006,7 +2045,7 @@ usb_notify_addq("DETACH", udev); printf("%s: <%s> at %s (disconnected)\n", udev->ugen_name, - udev->manufacturer, device_get_nameunit(bus->bdev)); + usb_get_manufacturer(udev), device_get_nameunit(bus->bdev)); /* Destroy UGEN symlink, if any */ if (udev->ugen_symlink) { @@ -2070,6 +2109,10 @@ KASSERT(LIST_FIRST(&udev->pd_list) == NULL, ("leaked cdev entries")); #endif + /* Uninitialise device */ + if (bus->methods->device_uninit != NULL) + (bus->methods->device_uninit) (udev); + /* free device */ free(udev->serial, M_USB); free(udev->manufacturer, M_USB); @@ -2171,7 +2214,8 @@ if (udd->bDeviceClass != 0xFF) { snprintf(dst_ptr, dst_len, "%s %s, class %d/%d, rev %x.%02x/" "%x.%02x, addr %d", - udev->manufacturer, udev->product, + usb_get_manufacturer(udev), + usb_get_product(udev), udd->bDeviceClass, udd->bDeviceSubClass, (bcdUSB >> 8), bcdUSB & 0xFF, (bcdDevice >> 8), bcdDevice & 0xFF, @@ -2179,7 +2223,8 @@ } else { snprintf(dst_ptr, dst_len, "%s %s, rev %x.%02x/" "%x.%02x, addr %d", - udev->manufacturer, udev->product, + usb_get_manufacturer(udev), + usb_get_product(udev), (bcdUSB >> 8), bcdUSB & 0xFF, (bcdDevice >> 8), bcdDevice & 0xFF, udev->address); @@ -2418,7 +2463,7 @@ UGETW(udev->ddesc.idProduct), udev->ddesc.bDeviceClass, udev->ddesc.bDeviceSubClass, - udev->serial, + usb_get_serial(udev), UGETW(udev->ddesc.bcdDevice), udev->port_no, udev->parent_hub != NULL ? @@ -2460,7 +2505,7 @@ UGETW(udev->ddesc.idProduct), udev->ddesc.bDeviceClass, udev->ddesc.bDeviceSubClass, - udev->serial, + usb_get_serial(udev), UGETW(udev->ddesc.bcdDevice), (udev->flags.usb_mode == USB_MODE_HOST) ? "host" : "device", udev->port_no, @@ -2499,7 +2544,7 @@ UGETW(udev->ddesc.idProduct), udev->ddesc.bDeviceClass, udev->ddesc.bDeviceSubClass, - udev->serial, + usb_get_serial(udev), UGETW(udev->ddesc.bcdDevice), (udev->flags.usb_mode == USB_MODE_HOST) ? "host" : "device", iface->idesc->bInterfaceNumber, ==== //depot/projects/usb/src/sys/dev/usb/usb_device.h#39 (text+ko) ==== @@ -172,9 +172,9 @@ struct usb_endpoint_ss_comp_descriptor ctrl_ep_comp_desc; /* for endpoint 0 */ struct usb_device_descriptor ddesc; /* device descriptor */ - char *serial; /* serial number */ - char *manufacturer; /* manufacturer string */ - char *product; /* product string */ + char *serial; /* serial number, can be NULL */ + char *manufacturer; /* manufacturer string, can be NULL */ + char *product; /* product string, can be NULL */ #if USB_HAVE_COMPAT_LINUX /* Linux compat */ ==== //depot/projects/usb/src/sys/dev/usb/usb_generic.c#33 (text+ko) ==== @@ -825,9 +825,9 @@ di->udi_bus = device_get_unit(udev->bus->bdev); di->udi_addr = udev->address; di->udi_index = udev->device_index; - strlcpy(di->udi_serial, udev->serial, sizeof(di->udi_serial)); - strlcpy(di->udi_vendor, udev->manufacturer, sizeof(di->udi_vendor)); - strlcpy(di->udi_product, udev->product, sizeof(di->udi_product)); + strlcpy(di->udi_serial, usb_get_serial(udev), sizeof(di->udi_serial)); + strlcpy(di->udi_vendor, usb_get_manufacturer(udev), sizeof(di->udi_vendor)); + strlcpy(di->udi_product, usb_get_product(udev), sizeof(di->udi_product)); usb_printbcd(di->udi_release, sizeof(di->udi_release), UGETW(udev->ddesc.bcdDevice)); di->udi_vendorNo = UGETW(udev->ddesc.idVendor); ==== //depot/projects/usb/src/sys/dev/usb/usb_hub.c#52 (text+ko) ==== @@ -53,6 +53,7 @@ #include #include #include +#include #define USB_DEBUG_VAR uhub_debug @@ -1263,7 +1264,7 @@ UGETW(res.udev->ddesc.idProduct), res.udev->ddesc.bDeviceClass, res.udev->ddesc.bDeviceSubClass, - res.udev->serial, + usb_get_serial(res.udev), UGETW(res.udev->ddesc.bcdDevice), iface->idesc->bInterfaceClass, iface->idesc->bInterfaceSubClass); ==== //depot/projects/usb/src/sys/dev/usb/usbdi_util.h#7 (text+ko) ==== @@ -81,4 +81,11 @@ usb_error_t usbd_req_set_report(struct usb_device *udev, struct mtx *mtx, void *data, uint16_t len, uint8_t iface_index, uint8_t type, uint8_t id); + +/* The following functions will not return NULL strings. */ + +const char *usb_get_manufacturer(struct usb_device *); +const char *usb_get_product(struct usb_device *); +const char *usb_get_serial(struct usb_device *); + #endif /* _USB_USBDI_UTIL_H_ */ From owner-p4-projects@FreeBSD.ORG Tue Aug 3 08:28:40 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C099106566B; Tue, 3 Aug 2010 08:28:40 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E15E51065674 for ; Tue, 3 Aug 2010 08:28:39 +0000 (UTC) (envelope-from lz@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CF2CC8FC0A for ; Tue, 3 Aug 2010 08:28:39 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o738SdZE039831 for ; Tue, 3 Aug 2010 08:28:39 GMT (envelope-from lz@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o738Sd7S039829 for perforce@freebsd.org; Tue, 3 Aug 2010 08:28:39 GMT (envelope-from lz@FreeBSD.org) Date: Tue, 3 Aug 2010 08:28:39 GMT Message-Id: <201008030828.o738Sd7S039829@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lz@FreeBSD.org using -f From: Zheng Liu To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181755 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2010 08:28:40 -0000 http://p4web.freebsd.org/@@181755?ac=10 Change 181755 by lz@gnehzuil-freebsd on 2010/08/03 08:28:18 Finished to read ext4 directory entry with hash directory index. * Add two files. ext2_htree.[ch]. * The implementation of half md4 algorithm. We copy it from kern/md4c.c and modify it because in Linux it uses a half md4 algorithm. * Maybe there are two functions that need to be re-implemented because they are very similar to Linux's implementation. Until now I don't have a good implementation. All of goals have been completed. Next I will test and clean my code. Affected files ... .. //depot/projects/soc2010/ext4fs/src/sys/fs/ext2fs/ext2_htree.c#1 add .. //depot/projects/soc2010/ext4fs/src/sys/fs/ext2fs/ext2_htree.h#2 edit .. //depot/projects/soc2010/ext4fs/src/sys/fs/ext2fs/ext2_lookup.c#5 edit Differences ... ==== //depot/projects/soc2010/ext4fs/src/sys/fs/ext2fs/ext2_htree.h#2 (text+ko) ==== @@ -28,6 +28,15 @@ #ifndef _FS_EXT2FS_EXT2_HTREE_H_ #define _FS_EXT2FS_EXT2_HTREE_H_ +#define DIRINDEX_HASH_LEGACY 0 +#define DIRINDEX_HASH_HALF_MD4 1 +#define DIRINDEX_HASH_TEA 2 +#define DIRINDEX_HASH_LEGACY_UNSIGNED 3 +#define DIRINDEX_HASH_HALF_MD4_UNSIGNED 4 +#define DIRINDEX_HASH_TEA_UNSIGNED 5 + +#define DIRINDEX_BAD_DIR -75000 + /* * define some data structures for hash directory index. */ @@ -68,9 +77,8 @@ }; struct dirindex_frame { - struct buffer *di_bp; - struct dirindex_entry *di_ent; - struct dirindex_entry *di_at; + struct dirindex_entry di_ent; + struct dirindex_entry di_at; }; struct dirindex_map_entry { @@ -79,4 +87,16 @@ u_int16_t di_size; }; +struct dirindex_hash_info { + u_int32_t di_hash; + u_int32_t di_minhash; + int di_hashversion; + u_int32_t *di_seed; +}; + +/* ext2_htree.c */ +int ext4_is_dirindex(struct inode *); +int ext4_dirindex_lookup(struct vnode *, char *, int, + doff_t *, struct buf **, doff_t *prevoffp); + #endif /* !_FS_EXT2FS_EXT2_HTREE_H_ */ ==== //depot/projects/soc2010/ext4fs/src/sys/fs/ext2fs/ext2_lookup.c#5 (text+ko) ==== @@ -60,6 +60,7 @@ #include #include #include +#include #ifdef DIAGNOSTIC static int dirchk = 1; @@ -348,6 +349,25 @@ cnp->cn_namelen + 3) &~ 3; */ } + bmask = VFSTOEXT2(vdp->v_mount)->um_mountp->mnt_stat.f_iosize - 1; + + /* Usr hash directory index to search a large direcotries. */ + numdirpasses = 2; + prevoff = 0; + if (ext4_is_dirindex(dp)) { + switch (ext4_dirindex_lookup(vdp, cnp->cn_nameptr, + cnp->cn_namelen, &i_offset, &bp, NULL)) { + case 0: + ep = (struct ext2fs_direct_2 *)((char *)bp->b_data + + (i_offset & bmask)); + entryoffsetinblock = i_offset; + goto dirindex_found; + case ENOENT: + default: + break; + } + } + /* * If there is cached information on a previous search of * this directory, pick up where we last left off. @@ -359,7 +379,6 @@ * profiling time and hence has been removed in the interest * of simplicity. */ - bmask = VFSTOEXT2(vdp->v_mount)->um_mountp->mnt_stat.f_iosize - 1; if (nameiop != LOOKUP || i_diroff == 0 || i_diroff > dp->i_size) { entryoffsetinblock = 0; @@ -462,6 +481,7 @@ * reclen in ndp->ni_ufs area, and release * directory buffer. */ +dirindex_found: ino = ep->e2d_ino; goto found; } From owner-p4-projects@FreeBSD.ORG Tue Aug 3 15:41:36 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C1741065672; Tue, 3 Aug 2010 15:41:36 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 10B34106564A for ; Tue, 3 Aug 2010 15:41:36 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D76268FC26 for ; Tue, 3 Aug 2010 15:41:35 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o73FfZRW002815 for ; Tue, 3 Aug 2010 15:41:35 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o73FfZpd002813 for perforce@freebsd.org; Tue, 3 Aug 2010 15:41:35 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 3 Aug 2010 15:41:35 GMT Message-Id: <201008031541.o73FfZpd002813@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181770 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2010 15:41:36 -0000 http://p4web.freebsd.org/@@181770?ac=10 Change 181770 by hselasky@hselasky_laptop001 on 2010/08/03 15:41:21 USB core: - add support for event driven DMA delay. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#180 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.h#16 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#180 (text+ko) ==== @@ -109,7 +109,6 @@ static void usb_callback_proc(struct usb_proc_msg *); static void usbd_callback_ss_done_defer(struct usb_xfer *); static void usbd_callback_wrapper(struct usb_xfer_queue *); -static void usb_dma_delay_done_cb(void *); static void usbd_transfer_start_cb(void *); static uint8_t usbd_callback_wrapper_sub(struct usb_xfer *); static void usbd_get_std_packet_size(struct usb_std_packet_size *ptr, @@ -2195,11 +2194,9 @@ * transfer. This code path is ususally only used when there is an USB * error like USB_ERR_CANCELLED. *------------------------------------------------------------------------*/ -static void -usb_dma_delay_done_cb(void *arg) +void +usb_dma_delay_done_cb(struct usb_xfer *xfer) { - struct usb_xfer *xfer = arg; - USB_BUS_LOCK_ASSERT(xfer->xroot->bus, MA_OWNED); DPRINTFN(3, "Completed %p\n", xfer); @@ -2600,8 +2597,18 @@ if (temp != 0) { USB_BUS_LOCK(xfer->xroot->bus); - usbd_transfer_timeout_ms(xfer, - &usb_dma_delay_done_cb, temp); + /* + * Some hardware solutions have dedicated + * events when it is safe to free DMA'ed + * memory. For the other hardware platforms we + * use a static delay. + */ + if (xfer->endpoint->methods->dma_delay != NULL) { + (xfer->endpoint->methods->dma_delay) (xfer); + } else { + usbd_transfer_timeout_ms(xfer, + (void *)&usb_dma_delay_done_cb, temp); + } USB_BUS_UNLOCK(xfer->xroot->bus); return (1); /* wait for new callback */ } ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.h#16 (text+ko) ==== @@ -114,6 +114,7 @@ uint8_t usbd_transfer_setup_sub_malloc(struct usb_setup_params *parm, struct usb_page_cache **ppc, usb_size_t size, usb_size_t align, usb_size_t count); +void usb_dma_delay_done_cb(struct usb_xfer *); void usb_command_wrapper(struct usb_xfer_queue *pq, struct usb_xfer *xfer); void usbd_pipe_enter(struct usb_xfer *xfer); From owner-p4-projects@FreeBSD.ORG Tue Aug 3 15:44:39 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9F2B41065672; Tue, 3 Aug 2010 15:44:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 63B0A1065677 for ; Tue, 3 Aug 2010 15:44:39 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 50D478FC1C for ; Tue, 3 Aug 2010 15:44:39 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o73FidG1003023 for ; Tue, 3 Aug 2010 15:44:39 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o73Fide7003021 for perforce@freebsd.org; Tue, 3 Aug 2010 15:44:39 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 3 Aug 2010 15:44:39 GMT Message-Id: <201008031544.o73Fide7003021@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181771 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2010 15:44:39 -0000 http://p4web.freebsd.org/@@181771?ac=10 Change 181771 by hselasky@hselasky_laptop001 on 2010/08/03 15:44:13 USB core: - add storage variable for controller generated slot ID. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_device.h#40 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_device.h#40 (text+ko) ==== @@ -151,6 +151,7 @@ uint8_t address; /* device addess */ uint8_t device_index; /* device index in "bus->devices" */ + uint8_t controller_slot_id; /* controller specific value */ uint8_t curr_config_index; /* current configuration index */ uint8_t curr_config_no; /* current configuration number */ uint8_t depth; /* distance from root HUB */ From owner-p4-projects@FreeBSD.ORG Tue Aug 3 15:45:41 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A788106568A; Tue, 3 Aug 2010 15:45:41 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B78AA1065673 for ; Tue, 3 Aug 2010 15:45:40 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A4A268FC15 for ; Tue, 3 Aug 2010 15:45:40 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o73Fje4H003153 for ; Tue, 3 Aug 2010 15:45:40 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o73FjeR5003151 for perforce@freebsd.org; Tue, 3 Aug 2010 15:45:40 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 3 Aug 2010 15:45:40 GMT Message-Id: <201008031545.o73FjeR5003151@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181773 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2010 15:45:41 -0000 http://p4web.freebsd.org/@@181773?ac=10 Change 181773 by hselasky@hselasky_laptop001 on 2010/08/03 15:45:30 USB core: - allow the USB controller to select another USB address during the SET_ADDRESS request. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#37 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_request.c#37 (text+ko) ==== @@ -1776,8 +1776,12 @@ DPRINTFN(0, "addr=%d, set address failed! (%s, ignored)\n", old_addr, usbd_errstr(err)); } - /* restore device address */ - udev->address = old_addr; + /* + * Restore device address, if the controller driver did not + * set a new one: + */ + if (udev->address == USB_START_ADDR) + udev->address = old_addr; /* allow device time to set new address */ usb_pause_mtx(mtx, USB_MS_TO_TICKS(USB_SET_ADDRESS_SETTLE)); @@ -1809,7 +1813,8 @@ goto retry; } /* restore address */ - udev->address = old_addr; + if (udev->address == USB_START_ADDR) + udev->address = old_addr; return (err); } From owner-p4-projects@FreeBSD.ORG Tue Aug 3 15:46:42 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 33BDE1065677; Tue, 3 Aug 2010 15:46:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC8941065675 for ; Tue, 3 Aug 2010 15:46:41 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D99748FC20 for ; Tue, 3 Aug 2010 15:46:41 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o73FkfJs003230 for ; Tue, 3 Aug 2010 15:46:41 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o73Fkfm5003228 for perforce@freebsd.org; Tue, 3 Aug 2010 15:46:41 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 3 Aug 2010 15:46:41 GMT Message-Id: <201008031546.o73Fkfm5003228@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181774 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2010 15:46:42 -0000 http://p4web.freebsd.org/@@181774?ac=10 Change 181774 by hselasky@hselasky_laptop001 on 2010/08/03 15:46:21 USB core: - add missing "static" keyword. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#73 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#73 (text+ko) ==== @@ -96,7 +96,7 @@ static void usb_suspend_resume_sub(struct usb_device *, device_t, uint8_t); static void usbd_clear_stall_proc(struct usb_proc_msg *_pm); -usb_error_t usb_config_parse(struct usb_device *, uint8_t, uint8_t); +static usb_error_t usb_config_parse(struct usb_device *, uint8_t, uint8_t); static void usbd_set_device_strings(struct usb_device *); #if USB_HAVE_UGEN static void usb_notify_addq(const char *type, struct usb_device *); @@ -658,7 +658,7 @@ * 0: Success * Else: Failure *------------------------------------------------------------------------*/ -usb_error_t +static usb_error_t usb_config_parse(struct usb_device *udev, uint8_t iface_index, uint8_t cmd) { struct usb_idesc_parse_state ips; From owner-p4-projects@FreeBSD.ORG Tue Aug 3 15:49:45 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BB1BE1065678; Tue, 3 Aug 2010 15:49:45 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7F5801065675 for ; Tue, 3 Aug 2010 15:49:45 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5240A8FC15 for ; Tue, 3 Aug 2010 15:49:45 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o73Fnjbn003451 for ; Tue, 3 Aug 2010 15:49:45 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o73FnjKH003449 for perforce@freebsd.org; Tue, 3 Aug 2010 15:49:45 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 3 Aug 2010 15:49:45 GMT Message-Id: <201008031549.o73FnjKH003449@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181775 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2010 15:49:46 -0000 http://p4web.freebsd.org/@@181775?ac=10 Change 181775 by hselasky@hselasky_laptop001 on 2010/08/03 15:48:50 USB core: - additional file related to change 181770 Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_controller.h#22 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_controller.h#22 (text+ko) ==== @@ -136,6 +136,8 @@ /* Optional */ + void (*dma_delay)(struct usb_xfer *); + void *info; }; From owner-p4-projects@FreeBSD.ORG Tue Aug 3 15:51:48 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D3F61065693; Tue, 3 Aug 2010 15:51:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D4653106568C for ; Tue, 3 Aug 2010 15:51:47 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A5BC68FC1B for ; Tue, 3 Aug 2010 15:51:47 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o73Fpljr003635 for ; Tue, 3 Aug 2010 15:51:47 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o73FplPM003633 for perforce@freebsd.org; Tue, 3 Aug 2010 15:51:47 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 3 Aug 2010 15:51:47 GMT Message-Id: <201008031551.o73FplPM003633@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181776 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2010 15:51:48 -0000 http://p4web.freebsd.org/@@181776?ac=10 Change 181776 by hselasky@hselasky_laptop001 on 2010/08/03 15:51:26 USB controller (XHCI): - add more XHCI command function wrappers - rename some variables/functions Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#10 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#12 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhci_pci.c#4 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#10 (text+ko) ==== @@ -117,7 +117,7 @@ extern struct usb_bus_methods xhci_bus_methods; -void +static void xhci_iterate_hw_softc(struct usb_bus *bus, usb_bus_mem_sub_cb_t *cb) { struct xhci_softc *sc = XHCI_BUS2SC(bus); @@ -184,7 +184,10 @@ } sc->sc_noport = i; - sc->sc_nodev = XHCI_HCS1_DEVSLOT_MAX(temp); + sc->sc_noslot = XHCI_HCS1_DEVSLOT_MAX(temp); + + if (sc->sc_noslot > XHCI_MAX_DEVICES) + sc->sc_noslot = XHCI_MAX_DEVICES; temp = XREAD4(sc, capa, XHCI_HCSPARAMS2); @@ -223,7 +226,7 @@ /* setup number of device slots */ - XWRITE4(sc, oper, XHCI_CONFIG, XHCI_MAX_DEVICES); + XWRITE4(sc, oper, XHCI_CONFIG, sc->sc_noslot); /* Setup interrupter registers */ @@ -277,12 +280,6 @@ XWRITE4(sc, oper, XHCI_CRCR_LO, ((uint32_t)addr) | XHCI_CRCR_LO_RCS); XWRITE4(sc, oper, XHCI_CRCR_HI, (uint32_t)(addr >> 32)); - /* - * We only need the 32-lower bits of the command dequeue - * pointer to keep track of the TRBs: - */ - sc->sc_cmd_dp = (uint32_t)addr; - phwr->hwr_commands[XHCI_MAX_COMMANDS - 1].qwTrb0 = htole64(addr); phwr->hwr_commands[XHCI_MAX_COMMANDS - 1].dwTrb2 = htole32(0); phwr->hwr_commands[XHCI_MAX_COMMANDS - 1].dwTrb3 = htole32( @@ -350,7 +347,9 @@ sc->sc_bus.devices = sc->sc_devices; sc->sc_bus.devices_max = XHCI_MAX_DEVICES; - TAILQ_INIT(&sc->sc_cmd_head); + /* setup command queue mutex and condition varible */ + cv_init(&sc->sc_cmd_cv, "CMDQ"); + sx_init(&sc->sc_cmd_sx, "CMDQ lock"); /* get all DMA memory */ if (usb_bus_mem_alloc_all(&sc->sc_bus, @@ -362,6 +361,15 @@ } void +xhci_uninit(struct xhci_softc *sc) +{ + usb_bus_mem_free_all(&sc->sc_bus, &xhci_iterate_hw_softc); + + cv_destroy(&sc->sc_cmd_cv); + sx_destroy(&sc->sc_cmd_sx); +} + +void xhci_suspend(struct xhci_softc *sc) { /* XXX TODO */ @@ -582,11 +590,20 @@ } static void +xhci_check_command(struct xhci_softc *sc, struct xhci_trb *trb) +{ + if (sc->sc_cmd_addr == trb->qwTrb0) { + sc->sc_cmd_result[0] = trb->dwTrb2; + sc->sc_cmd_result[1] = trb->dwTrb2; + cv_signal(&sc->sc_cmd_cv); + } +} + +static void xhci_interrupt_poll(struct xhci_softc *sc) { struct usb_page_search buf_res; struct xhci_hw_root *phwr; - struct xhci_command *pcmd; uint32_t temp; uint16_t i; uint8_t event; @@ -598,7 +615,7 @@ phwr = buf_res.buffer; - /* 1) Receive any events */ + /* Receive any events */ usb_pc_cpu_invalidate(&sc->sc_hw.root_pc); @@ -622,6 +639,9 @@ case XHCI_TRB_EVENT_TRANSFER: xhci_check_transfer(sc, &phwr->hwr_events[i]); break; + case XHCI_TRB_EVENT_CMD_COMPLETE: + xhci_check_command(sc, &phwr->hwr_events[i]); + break; default: DPRINTF("Received event = 0x%x\n", event); break; @@ -647,94 +667,161 @@ sc->sc_event_idx = i; sc->sc_event_ccs = j; +} + +static usb_error_t +xhci_do_command(struct xhci_softc *sc, struct xhci_trb *trb, + uint16_t timeout_ms) +{ + struct usb_page_search buf_res; + struct xhci_hw_root *phwr; + uint64_t addr; + uint32_t temp; + uint8_t i; + uint8_t j; + int err; + + XHCI_CMD_ASSERT_LOCKED(sc); + + /* get hardware root structure */ + + usbd_get_page(&sc->sc_hw.root_pc, 0, &buf_res); + + phwr = buf_res.buffer; - /* 2) Queue any commands */ + /* Queue command */ + + USB_BUS_LOCK(&sc->sc_bus); i = sc->sc_command_idx; j = sc->sc_command_ccs; - /* check if there are any commands on the queue */ - while ((pcmd = TAILQ_FIRST(&sc->sc_cmd_head)) != NULL) { + phwr->hwr_commands[i].qwTrb0 = trb->qwTrb0; + phwr->hwr_commands[i].dwTrb2 = trb->dwTrb2; + + usb_pc_cpu_flush(&sc->sc_hw.root_pc); + + temp = trb->dwTrb3; + + if (j) + temp |= htole32(XHCI_TRB_3_CYCLE_BIT); + else + temp &= ~htole32(XHCI_TRB_3_CYCLE_BIT); + + phwr->hwr_commands[i].dwTrb3 = temp; - k = (phwr->hwr_events[i].dwTrb3 & htole32(XHCI_TRB_3_CYCLE_BIT)) ? 1 : 0; + usb_pc_cpu_flush(&sc->sc_hw.root_pc); - temp = (uint32_t)buf_res.physaddr + (uintptr_t)&((struct xhci_hw_root *)0)->hwr_commands[i]; + DPRINTFN(10, "command[%u] = %u\n", i, + XHCI_TRB_3_TYPE_GET(le32toh(temp))); - /* check if we need to wait for XHCI to process commands */ - if ((sc->sc_cmd_dp == temp) && (j == k)) - break; + addr = (uint64_t)buf_res.physaddr + + (uintptr_t)&((struct xhci_hw_root *)0)->hwr_commands[i]; + sc->sc_cmd_addr = htole64(addr); - TAILQ_REMOVE(&sc->sc_cmd_head, pcmd, entry); - pcmd->entry.tqe_prev = NULL; + i++; - phwr->hwr_events[i].qwTrb0 = pcmd->trb.qwTrb0; - phwr->hwr_events[i].dwTrb2 = pcmd->trb.dwTrb2; + if (i == (XHCI_MAX_COMMANDS - 1)) { - usb_pc_cpu_flush(&sc->sc_hw.root_pc); + /* update cycle bit of LINK TRB */ - temp = pcmd->trb.dwTrb3; + temp = phwr->hwr_commands[i].dwTrb3; if (j) temp |= htole32(XHCI_TRB_3_CYCLE_BIT); else temp &= ~htole32(XHCI_TRB_3_CYCLE_BIT); - phwr->hwr_events[i].dwTrb3 = temp; + phwr->hwr_commands[i].dwTrb3 = temp; usb_pc_cpu_flush(&sc->sc_hw.root_pc); - XWRITE4(sc, door, XHCI_DOORBELL(0), 0); + i = 0; + j ^= 1; + } + + sc->sc_command_idx = i; + sc->sc_command_ccs = j; + + XWRITE4(sc, door, XHCI_DOORBELL(0), 0); - DPRINTFN(10, "command[%u] = %u\n", i, - XHCI_TRB_3_TYPE_GET(le32toh(temp))); + err = cv_timedwait(&sc->sc_cmd_cv, &sc->sc_bus.bus_mtx, + USB_MS_TO_TICKS(timeout_ms)); - i++; + if (err) { + DPRINTFN(0, "Command timeout!\n"); + err = USB_ERR_TIMEOUT; + trb->dwTrb2 = 0; + trb->dwTrb3 = 0; + } else { + temp = le32toh(sc->sc_cmd_result[0]); + if (XHCI_TRB_2_ERROR_GET(temp) != XHCI_TRB_ERROR_SUCCESS) + err = USB_ERR_INVAL; - if (i == (XHCI_MAX_COMMANDS - 1)) { + trb->dwTrb2 = sc->sc_cmd_result[0]; + trb->dwTrb3 = sc->sc_cmd_result[1]; + } - /* update cycle bit of LINK TRB */ + USB_BUS_UNLOCK(&sc->sc_bus); - temp = phwr->hwr_events[i].dwTrb3; + return (err); +} - if (j) - temp |= htole32(XHCI_TRB_3_CYCLE_BIT); - else - temp &= ~htole32(XHCI_TRB_3_CYCLE_BIT); +static usb_error_t +xhci_cmd_enable_slot(struct xhci_softc *sc, uint8_t *pslot) +{ + struct xhci_trb trb; + uint32_t temp; + usb_error_t err; - phwr->hwr_events[i].dwTrb3 = temp; + trb.qwTrb0 = 0; + trb.dwTrb2 = 0; + trb.dwTrb3 = htole32(XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_ENABLE_SLOT)); - usb_pc_cpu_flush(&sc->sc_hw.root_pc); + err = xhci_do_command(sc, &trb, 50 /* ms */); + if (err) + goto done; - XWRITE4(sc, door, XHCI_DOORBELL(0), 0); + temp = le32toh(trb.dwTrb3); - i = 0; - j ^= 1; - } - } + *pslot = XHCI_TRB_3_SLOT_GET(temp); - sc->sc_command_idx = i; - sc->sc_command_ccs = j; +done: + return (err); } static usb_error_t -xhci_do_command(struct xhci_softc *sc, struct xhci_trb *trb, - uint16_t timeout_ms) +xhci_cmd_disable_slot(struct xhci_softc *sc, uint8_t slot_id) { - XXX implement; + struct xhci_trb trb; + uint32_t temp; + + trb.qwTrb0 = 0; + trb.dwTrb2 = 0; + temp = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_DISABLE_SLOT) | + XHCI_TRB_3_SLOT_SET(slot_id); + + trb.dwTrb3 = htole32(temp); + + return (xhci_do_command(sc, &trb, 50 /* ms */)); } static usb_error_t -xhci_cmd_disable_slot(struct xhci_softc *sc, uint8_t slot_id) +xhci_cmd_set_address(struct xhci_softc *sc, uint64_t input_ctx, + uint8_t bsr, uint8_t slot_id) { struct xhci_trb trb; - uint32_t dword; + uint32_t temp; - trb.qwTrb0 = 0; + trb.qwTrb0 = htole64(input_ctx); trb.dwTrb2 = 0; - dword = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_DISABLE_SLOT) | + temp = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_ADDRESS_DEVICE) | XHCI_TRB_3_SLOT_SET(slot_id); - trb.dwTrb3 = htole32(dword); + if (bsr) + temp |= XHCI_TRB_3_BSR_BIT; + + trb.dwTrb3 = htole32(temp); return (xhci_do_command(sc, &trb, 50 /* ms */)); } @@ -744,17 +831,17 @@ uint8_t deconfigure, uint8_t slot_id) { struct xhci_trb trb; - uint32_t dword; + uint32_t temp; trb.qwTrb0 = htole64(input_ctx); trb.dwTrb2 = 0; - dword = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_CONFIGURE_EP) | + temp = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_CONFIGURE_EP) | XHCI_TRB_3_SLOT_SET(slot_id); if (deconfigure) - dword |= XHCI_TRB_3_DCEP_BIT; + temp |= XHCI_TRB_3_DCEP_BIT; - trb.dwTrb3 = htole32(dword); + trb.dwTrb3 = htole32(temp); return (xhci_do_command(sc, &trb, 50 /* ms */)); } @@ -764,13 +851,13 @@ uint8_t slot_id) { struct xhci_trb trb; - uint32_t dword; + uint32_t temp; trb.qwTrb0 = htole64(input_ctx); trb.dwTrb2 = 0; - dword = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_EVALUATE_CTX) | + temp = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_EVALUATE_CTX) | XHCI_TRB_3_SLOT_SET(slot_id); - trb.dwTrb3 = htole32(dword); + trb.dwTrb3 = htole32(temp); return (xhci_do_command(sc, &trb, 50 /* ms */)); } @@ -780,18 +867,18 @@ uint8_t ep_id, uint8_t slot_id) { struct xhci_trb trb; - uint32_t dword; + uint32_t temp; trb.qwTrb0 = 0; trb.dwTrb2 = 0; - dword = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_RESET_EP) | + temp = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_RESET_EP) | XHCI_TRB_3_SLOT_SET(slot_id) | XHCI_TRB_3_SLOT_SET(ep_id); if (preserve) - dword |= XHCI_TRB_3_PRSV_BIT; + temp |= XHCI_TRB_3_PRSV_BIT; - trb.dwTrb3 = htole32(dword); + trb.dwTrb3 = htole32(temp); return (xhci_do_command(sc, &trb, 50 /* ms */)); } @@ -801,18 +888,18 @@ uint8_t ep_id, uint8_t slot_id) { struct xhci_trb trb; - uint32_t dword; + uint32_t temp; trb.qwTrb0 = 0; trb.dwTrb2 = 0; - dword = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_STOP_EP) | + temp = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_STOP_EP) | XHCI_TRB_3_SLOT_SET(slot_id) | XHCI_TRB_3_SLOT_SET(ep_id); if (suspend) - dword |= XHCI_TRB_3_SUSP_EP_BIT; + temp |= XHCI_TRB_3_SUSP_EP_BIT; - trb.dwTrb3 = htole32(dword); + trb.dwTrb3 = htole32(temp); return (xhci_do_command(sc, &trb, 50 /* ms */)); } @@ -821,14 +908,14 @@ xhci_cmd_reset_dev(struct xhci_softc *sc, uint8_t slot_id) { struct xhci_trb trb; - uint32_t dword; + uint32_t temp; trb.qwTrb0 = 0; trb.dwTrb2 = 0; - dword = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_RESET_DEVICE) | + temp = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_RESET_DEVICE) | XHCI_TRB_3_SLOT_SET(slot_id); - trb.dwTrb3 = htole32(dword); + trb.dwTrb3 = htole32(temp); return (xhci_do_command(sc, &trb, 50 /* ms */)); } @@ -1339,7 +1426,7 @@ } static usb_error_t -xhci_set_slot_scratch(struct xhci_softc *sc, uint8_t index, +xhci_set_slot_pointers(struct xhci_softc *sc, uint8_t index, uint64_t dev_addr, uint64_t scratch_addr) { struct usb_page_search buf_res; @@ -1372,7 +1459,7 @@ } static usb_error_t -xhci_configure_endpoint(struct usb_xfer *xfer) +xhci_configure_endpoint(struct usb_xfer *xfer, uint8_t drop) { struct usb_page_search buf_inp; struct usb_page_search buf_ep; @@ -1383,6 +1470,7 @@ struct usb_device *udev; uint64_t addr; uint32_t temp; + uint32_t mask; uint8_t index; uint8_t epno; uint8_t k; @@ -1394,7 +1482,7 @@ udev = xfer->xroot->udev; - index = udev->device_index; + index = udev->controller_slot_id; edesc = xfer->endpoint->edesc; @@ -1410,9 +1498,18 @@ pinp = buf_inp.buffer; - XXX; - pinp->ctx_input.dwInCtx0 |= htole32(0xFFFFFFFC); - pinp->ctx_input.dwInCtx1 &= htole32(0x1); + mask = 1U << epno; + + if (drop) { + mask &= 0xFFFFFFFC; + pinp->ctx_input.dwInCtx0 = htole32(mask); + pinp->ctx_input.dwInCtx1 = 0; + } else { + if (mask & 2) + mask |= 1; + pinp->ctx_input.dwInCtx0 = 0; + pinp->ctx_input.dwInCtx1 = htole32(mask); + } temp = XHCI_EPCTX_0_EPSTATE_SET(0) | XHCI_EPCTX_0_MAXP_STREAMS_SET(0) | @@ -1461,22 +1558,25 @@ pinp->ctx_ep[epno - 1].dwEpCtx1 = htole32(temp); - pepext->trb_ccs = 1; - pepext->trb_index = 0; - pepext->trb_halted = 0; + if (drop == 0) { + + pepext->trb_ccs = 1; + pepext->trb_index = 0; + pepext->trb_halted = 0; - for (k = 0; k != XHCI_MAX_TRANSFERS; k++) - pepext->trb[k].dwTrb3 = 0; + for (k = 0; k != XHCI_MAX_TRANSFERS; k++) + pepext->trb[k].dwTrb3 = 0; - usb_pc_cpu_flush(pepext->page_cache); + usb_pc_cpu_flush(pepext->page_cache); + } addr = XHCI_EPCTX_2_DCS_SET(1) | (buf_ep.physaddr + (uintptr_t)&((struct xhci_dev_endpoint_trbs *)0)->trb[epno][0]); pinp->ctx_ep[epno - 1].qwEpCtx2 = htole64(addr); - temp = XHCI_EPCTX_4_AVG_TRB_LEN_SET() | - XHCI_EPCTX_4_MAX_ESIT_PAYLOAD_SET(); + temp = XHCI_EPCTX_4_AVG_TRB_LEN_SET(xfer->max_frame_size) | + XHCI_EPCTX_4_MAX_ESIT_PAYLOAD_SET(xfer->max_frame_size); pinp->ctx_ep[epno - 1].dwEpCtx4 = htole32(temp); @@ -1563,7 +1663,7 @@ hubdev = udev->parent_hs_hub; if (hubdev != NULL) { - temp |= XHCI_SCTX_2_TT_HUB_SID_SET(hubdev->device_index); + temp |= XHCI_SCTX_2_TT_HUB_SID_SET(hubdev->controller_slot_id); temp |= XHCI_SCTX_2_TT_PORT_NUM_SET(hubdev->port_no); } @@ -1585,10 +1685,8 @@ usb_pc_cpu_flush(pcinp); - xhci_set_slot_scratch(sc, udev->device_index, buf_dev.physaddr, + xhci_set_slot_pointers(sc, udev->controller_slot_id, buf_dev.physaddr, buf_inp.physaddr + (uintptr_t)&((struct xhci_input_dev_ctx *)0)->ctx_sp_buf_ptr[0]); - - XXX_cmd_config(); } static usb_error_t @@ -1600,7 +1698,7 @@ uint8_t i; uint8_t index; - index = udev->device_index; + index = udev->controller_slot_id; pc = &sc->sc_hw.devs[index].device_pc; pg = &sc->sc_hw.devs[index].device_pg; @@ -1656,9 +1754,9 @@ uint8_t index; uint8_t i; - index = udev->device_index; + index = udev->controller_slot_id; - xhci_set_slot_scratch(sc, index, 0, 0); + xhci_set_slot_pointers(sc, index, 0, 0); pc = &sc->sc_hw.devs[index].device_pc; @@ -1694,7 +1792,7 @@ epno |= UE_DIR_IN; epno = XHCI_EPNO2EPID(epno); - index = xfer->xroot->udev->device_index; + index = xfer->xroot->udev->controller_slot_id; pc = &sc->sc_hw.devs[index].endpoint_pc; @@ -1720,7 +1818,7 @@ epno |= UE_DIR_IN; epno = XHCI_EPNO2EPID(epno); - index = xfer->xroot->udev->device_index; + index = xfer->xroot->udev->controller_slot_id; XWRITE4(sc, door, XHCI_DOORBELL(index), epno | XHCI_DB_SID_SET(0)); } @@ -1987,7 +2085,7 @@ .bLength = sizeof(xhci_bosd.usbdcd), .bDescriptorType = UDESC_DEVICE_CAPABILITY, .bDevCapabilityType = 3, - .bmAttributes = XXX, + .bmAttributes = 0, /* XXX */ HSETW(.wSpeedsSupported, 0x000C), .bFunctionalitySupport = 8, .bU1DevExitLat = 255, /* dummy - not used */ @@ -1998,7 +2096,7 @@ .bDescriptorType = 1, .bDevCapabilityType = 4, .bReserved = 0, - .bContainerID = XXX, + .bContainerID = 0, /* XXX */ }, }; @@ -2555,6 +2653,73 @@ xfer->flags_int.curr_dma_set = 1; goto alloc_dma_set; } + + if ((parm->buf != NULL) && (parm->err == 0)) { + struct usb_page_search buf_dev; + struct usb_page_search buf_inp; + struct usb_device *udev; + struct xhci_endpoint_ext *pepext; + struct xhci_dev_ctx *pdctx; + struct usb_page_cache *pcdev; + struct usb_page_cache *pcinp; + usb_error_t err; + uint32_t temp; + uint8_t index; + + pepext = xhci_get_endpoint_ext(xfer); + udev = xfer->xroot->udev; + index = udev->controller_slot_id; + + pcdev = &sc->sc_hw.devs[index].device_pc; + pcinp = &sc->sc_hw.devs[index].input_pc; + + usbd_get_page(pcdev, 0, &buf_dev); + usbd_get_page(pcinp, 0, &buf_inp); + + pdctx = buf_dev.buffer; + + XHCI_CMD_LOCK(sc); + + err = xhci_configure_endpoint(xfer, 1); + if (err == 0) + err = xhci_cmd_configure_ep(sc, buf_inp.physaddr, 0, index); + if (err == 0) + err = xhci_configure_endpoint(xfer, 0); + if (err == 0) + err = xhci_cmd_configure_ep(sc, buf_inp.physaddr, 0, index); + + if (err != 0) + DPRINTFN(0, "Could not configure endpoint\n"); + + if (xfer->flags_int.control_xfr) { + + if (udev->address != 0) { + err = xhci_cmd_set_address(sc, buf_inp.physaddr, 0, index); + if (err == 0) { + usb_pc_cpu_invalidate(pcdev); + + temp = le32toh(pdctx->ctx_slot.dwSctx3); + + /* update address */ + udev->address = XHCI_SCTX_3_DEV_ADDR_GET(temp); + + if (udev->address == 0) + DPRINTFN(0, "XHCI returned address zero!\n"); + } + } else { + err = xhci_cmd_set_address(sc, buf_inp.physaddr, 1, index); + + if (err != 0) + err = xhci_cmd_reset_dev(sc, index); + } + + if (err != 0) + DPRINTFN(0, "Could not set address\n"); + } + XHCI_CMD_UNLOCK(sc); + + parm->err = err; + } } static void @@ -2578,28 +2743,75 @@ /* not supported */ return; } - if (udev->device_index != sc->sc_addr) { + if (udev->parent_hub != NULL) + ep->methods = &xhci_device_generic_methods; +} + +static void +xhci_ep_uninit(struct usb_device *udev, struct usb_endpoint *ep) +{ + +} + +static usb_error_t +xhci_device_init(struct usb_device *udev) +{ + struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); + usb_error_t err; + uint8_t temp; + + /* no init for root HUB */ + if (udev->parent_hub == NULL) + return (0); + + XHCI_CMD_LOCK(sc); + + /* set invalid default */ + + udev->controller_slot_id = sc->sc_noslot; + + /* try to get a new slot ID from the XHCI */ + + err = xhci_cmd_enable_slot(sc, &temp); - ep->methods = &xhci_device_generic_methods; + if (err) { + XHCI_CMD_UNLOCK(sc); + return (err); + } - if ((udev->speed != USB_SPEED_HIGH) && - ((udev->hs_hub_addr == 0) || - (udev->hs_port_no == 0) || - (udev->parent_hs_hub == NULL) || - (udev->parent_hs_hub->hub == NULL))) { - /* We need a transaction translator */ - goto done; - } + if (temp >= sc->sc_noslot) { + XHCI_CMD_UNLOCK(sc); + return (USB_ERR_INVAL); } -done: - return; + + /* store slot ID for later reference */ + + udev->controller_slot_id = temp; + + err = xhci_alloc_device_ext(udev); + + XHCI_CMD_UNLOCK(sc); + + return (err); } static void -xhci_ep_uninit(struct usb_device *udev, struct usb_endpoint *ep) +xhci_device_uninit(struct usb_device *udev) { + struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); + /* no init for root HUB */ + if (udev->parent_hub == NULL) + return; + XHCI_CMD_LOCK(sc); + + if (udev->controller_slot_id < sc->sc_noslot) + xhci_cmd_disable_slot(sc, udev->controller_slot_id); + + xhci_free_device_ext(udev); + + XHCI_CMD_UNLOCK(sc); } static void @@ -2607,9 +2819,9 @@ { /* * Wait until the hardware has finished any possible use of - * the transfer descriptor(s) and QH + * the transfer descriptor(s) */ - *pus = (188); /* microseconds */ + *pus = 2048; /* microseconds */ } static void @@ -2649,6 +2861,8 @@ .xfer_setup = xhci_xfer_setup, .xfer_unsetup = xhci_xfer_unsetup, .get_dma_delay = xhci_get_dma_delay, + .device_init = xhci_device_init, + .device_uninit = xhci_device_uninit, .device_resume = xhci_device_resume, .device_suspend = xhci_device_suspend, .set_hw_power = xhci_set_hw_power, ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#12 (text+ko) ==== @@ -159,10 +159,6 @@ struct xhci_endp_ctx ctx_epN[XHCI_MAX_ENDPOINTS - 1]; } __aligned(XHCI_DEV_CTX_ALIGN); -struct xhci_dev_endpoint_trbs { - struct xhci_trb trb[XHCI_MAX_ENDPOINTS][XHCI_MAX_TRANSFERS]; -}; - struct xhci_stream_ctx { volatile uint64_t qwSctx0; #define XHCI_SCTX_0_DCS_GET(x) ((x) & 0x1) @@ -210,6 +206,7 @@ #define XHCI_TRB_3_BEI_BIT (1U << 9) #define XHCI_TRB_3_DCEP_BIT (1U << 9) #define XHCI_TRB_3_PRSV_BIT (1U << 9) +#define XHCI_TRB_3_BSR_BIT (1U << 9) #define XHCI_TRB_3_TRT_MASK (3U << 16) #define XHCI_TRB_3_TRT_NONE (0U << 16) #define XHCI_TRB_3_TRT_OUT (2U << 16) @@ -300,6 +297,10 @@ #define XHCI_TRB_ERROR_SPLIT_XACT 0x24 }; +struct xhci_dev_endpoint_trbs { + struct xhci_trb trb[XHCI_MAX_ENDPOINTS][XHCI_MAX_TRANSFERS]; +}; + #define XHCI_TD_PAGE_NBUF 5 /* units */ #define XHCI_TD_PAGE_SIZE 4096 /* bytes */ #define XHCI_TD_PAYLOAD_MAX (XHCI_TD_PAGE_SIZE * (XHCI_TD_PAGE_NBUF - 1)) @@ -342,8 +343,6 @@ }; struct xhci_endpoint_ext { - struct xhci_command ep_stop_cmd; - struct xhci_command ep_config_cmd; struct xhci_trb *trb; struct usb_page_cache *page_cache; uint64_t physaddr; @@ -404,7 +403,8 @@ union xhci_hub_desc sc_hub_desc; - TAILQ_HEAD(, xhci_command) sc_cmd_head; + struct cv sc_cmd_cv; + struct sx sc_cmd_sx; struct usb_device *sc_devices[XHCI_MAX_DEVICES]; struct resource *sc_io_res; @@ -415,8 +415,10 @@ bus_space_tag_t sc_io_tag; bus_space_handle_t sc_io_hdl; + uint64_t sc_cmd_addr; /* current pending command */ + uint32_t sc_cmd_result[2]; /* result of command */ + uint32_t sc_cmd; /* copy of cmd register */ - uint32_t sc_cmd_dp; /* copy of command dequeue pointer */ uint32_t sc_exit_lat_max; /* worst case exit latency */ uint32_t sc_oper_off; /* offset to operational registers */ @@ -431,7 +433,7 @@ uint8_t sc_event_ccs; uint8_t sc_command_ccs; - uint8_t sc_nodev; /* number of devices on root HUB */ + uint8_t sc_noslot; /* number of XHCI device slots */ uint8_t sc_noport; /* number of ports on root HUB */ uint8_t sc_noscratch; /* number of scratch pages */ uint8_t sc_addr; /* root HUB device address */ @@ -442,14 +444,18 @@ }; +#define XHCI_CMD_LOCK(sc) sx_xlock(&sc->sc_cmd_sx) +#define XHCI_CMD_UNLOCK(sc) sx_xunlock(&sc->sc_cmd_sx) +#define XHCI_CMD_ASSERT_LOCKED(sc) sx_assert(&sc->sc_cmd_sx, SA_LOCKED) + /* prototypes */ void xhci_suspend(struct xhci_softc *); void xhci_resume(struct xhci_softc *); void xhci_shutdown(struct xhci_softc *); usb_error_t xhci_init(struct xhci_softc *, device_t); +void xhci_uninit(struct xhci_softc *); usb_error_t xhci_start_controller(struct xhci_softc *); -void xhci_iterate_hw_softc(struct usb_bus *, usb_bus_mem_sub_cb_t *); usb_error_t xhci_halt_controller(struct xhci_softc *); void xhci_interrupt(struct xhci_softc *); ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci_pci.c#4 (text+ko) ==== @@ -268,7 +268,8 @@ sc->sc_io_res); sc->sc_io_res = NULL; } - usb_bus_mem_free_all(&sc->sc_bus, &xhci_iterate_hw_softc); + + xhci_uninit(sc); return (0); } From owner-p4-projects@FreeBSD.ORG Tue Aug 3 15:53:50 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A64B1065757; Tue, 3 Aug 2010 15:53:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2F03F106567A for ; Tue, 3 Aug 2010 15:53:50 +0000 (UTC) (envelope-from bfiedler@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 01A098FC15 for ; Tue, 3 Aug 2010 15:53:50 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o73FrnEA003757 for ; Tue, 3 Aug 2010 15:53:49 GMT (envelope-from bfiedler@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o73Frnss003755 for perforce@freebsd.org; Tue, 3 Aug 2010 15:53:49 GMT (envelope-from bfiedler@FreeBSD.org) Date: Tue, 3 Aug 2010 15:53:49 GMT Message-Id: <201008031553.o73Frnss003755@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bfiedler@FreeBSD.org using -f From: Benjamin Fiedler To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181777 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2010 15:53:50 -0000 http://p4web.freebsd.org/@@181777?ac=10 Change 181777 by bfiedler@freebsd-home on 2010/08/03 15:53:34 Add .sh script for calling diff3prog (since ksh is not included by default). -T flag support. Affected files ... .. //depot/projects/soc2010/bsdtextproc/diff3/diff3.sh#1 add .. //depot/projects/soc2010/bsdtextproc/diff3/diff3prog.c#3 edit Differences ... ==== //depot/projects/soc2010/bsdtextproc/diff3/diff3prog.c#3 (text+ko) ==== @@ -123,7 +123,7 @@ * is stored in last[1-3]; */ int last[4]; -int eflag, iflag; +int Aflag, eflag, iflag, Tflag; int oflag; /* indicates whether to mark overlaps (-E or -X)*/ int strip_cr; int debug = 0; @@ -158,6 +158,7 @@ { "ed", no_argument, NULL, 'e' }, { "show-overlap", no_argument, NULL, 'E' }, { "overlap-only", no_argument, NULL, 'x' }, + { "initial-tab", no_argument, NULL, 'T' }, /* features to implement */ { "show-all", no_argument, NULL, 'A' }, @@ -166,7 +167,6 @@ { "label", required_argument, NULL, 'L' }, { "text", no_argument, NULL, 'a' }, { "strip-trailing-cr", no_argument, NULL, STRIPCR_OPT }, - { "initial-tab", no_argument, NULL, 'T' }, { "diff-program", required_argument, NULL, DIFFPROG_OPT }, { "version", no_argument, NULL, 'v' }, { "help", no_argument, NULL, HELP_OPT } @@ -182,6 +182,9 @@ oflag = 0; while ((ch = getopt_long(argc, argv, OPTIONS, longopts, NULL)) != -1) { switch (ch) { + case 'A': + Aflag = 1; + break; case 'E': eflag = 3; oflag = 1; @@ -192,6 +195,9 @@ case 'i': iflag = 1; break; + case 'T': + Tflag = 1; + break; case 'X': oflag = eflag = 1; break; @@ -500,7 +506,12 @@ if ((line = getline(fp[i], &j)) == NULL) trouble(); if (pr != NULL) - printf("%s%s", pr, line); + { + if(Tflag == 1) + printf("\t%s", line); + else + printf("%s%s", pr, line); + } cline[i]++; } return ((int) n); From owner-p4-projects@FreeBSD.ORG Tue Aug 3 16:26:27 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8CB0A1065758; Tue, 3 Aug 2010 16:26:26 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 389331065742 for ; Tue, 3 Aug 2010 16:26:26 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 252E98FC1F for ; Tue, 3 Aug 2010 16:26:26 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o73GQQac007433 for ; Tue, 3 Aug 2010 16:26:26 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o73GQQeR007431 for perforce@freebsd.org; Tue, 3 Aug 2010 16:26:26 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 3 Aug 2010 16:26:26 GMT Message-Id: <201008031626.o73GQQeR007431@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181781 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2010 16:26:27 -0000 http://p4web.freebsd.org/@@181781?ac=10 Change 181781 by hselasky@hselasky_laptop001 on 2010/08/03 16:26:07 USB core: - add support for high level set address (required by XHCI chipset) Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#11 edit .. //depot/projects/usb/src/sys/dev/usb/usb_bus.h#19 edit .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#38 edit .. //depot/projects/usb/src/sys/dev/usb/usbdi.h#20 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#11 (text+ko) ==== @@ -347,6 +347,12 @@ sc->sc_bus.devices = sc->sc_devices; sc->sc_bus.devices_max = XHCI_MAX_DEVICES; + /* + * The XHCI is very high level at this point and requires + * special handling. + */ + sc->sc_bus.no_set_address = 1; + /* setup command queue mutex and condition varible */ cv_init(&sc->sc_cmd_cv, "CMDQ"); sx_init(&sc->sc_cmd_sx, "CMDQ lock"); ==== //depot/projects/usb/src/sys/dev/usb/usb_bus.h#19 (text+ko) ==== @@ -91,6 +91,7 @@ uint16_t isoc_time_last; /* in milliseconds */ + uint8_t no_set_address; /* Do not send set address requests */ uint8_t alloc_failed; /* Set if memory allocation failed. */ uint8_t driver_added_refcount; /* Current driver generation count */ enum usb_revision usbrev; /* USB revision. See "USB_REV_XXX". */ ==== //depot/projects/usb/src/sys/dev/usb/usb_request.c#38 (text+ko) ==== @@ -445,6 +445,12 @@ if (hr_func != NULL) { DPRINTF("Handle Request function is set\n"); + /* check for dry run */ + if (flags & USB_DRY_RUN) { + DPRINTF("Dry run\n"); + goto done; + } + desc = NULL; temp = 0; @@ -501,6 +507,11 @@ err = USB_ERR_NOMEM; goto done; } + /* check for dry run */ + if (flags & USB_DRY_RUN) { + DPRINTF("Dry run\n"); + goto done; + } #ifdef USB_REQ_DEBUG /* Get debug bits */ @@ -1349,6 +1360,7 @@ usbd_req_set_address(struct usb_device *udev, struct mtx *mtx, uint16_t addr) { struct usb_device_request req; + uint16_t flags; DPRINTFN(6, "setting device address=%d\n", addr); @@ -1358,9 +1370,15 @@ USETW(req.wIndex, 0); USETW(req.wLength, 0); + flags = USB_DELAY_STATUS_STAGE; + + /* check if USB controller handles set address */ + if ((udev->parent_hub != NULL) && (udev->bus->no_set_address != 0)) + flags |= USB_DRY_RUN; + /* Setting the address should not take more than 1 second ! */ return (usbd_do_request_flags(udev, mtx, &req, NULL, - USB_DELAY_STATUS_STAGE, NULL, 1000)); + flags, NULL, 1000)); } /*------------------------------------------------------------------------* ==== //depot/projects/usb/src/sys/dev/usb/usbdi.h#20 (text+ko) ==== @@ -81,6 +81,7 @@ #define USB_USER_DATA_PTR 0x0020 /* internal flag */ #define USB_MULTI_SHORT_OK 0x0040 /* allow multiple short frames */ #define USB_MANUAL_STATUS 0x0080 /* manual ctrl status */ +#define USB_DRY_RUN 0x0100 /* only setup control endpoint */ #define USB_NO_TIMEOUT 0 #define USB_DEFAULT_TIMEOUT 5000 /* 5000 ms = 5 seconds */ From owner-p4-projects@FreeBSD.ORG Tue Aug 3 17:34:42 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2F9161065672; Tue, 3 Aug 2010 17:34:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E7A5F10656A8 for ; Tue, 3 Aug 2010 17:34:41 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BB7158FC08 for ; Tue, 3 Aug 2010 17:34:41 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o73HYfxw026474 for ; Tue, 3 Aug 2010 17:34:41 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o73HYfkH026472 for perforce@freebsd.org; Tue, 3 Aug 2010 17:34:41 GMT (envelope-from jhb@freebsd.org) Date: Tue, 3 Aug 2010 17:34:41 GMT Message-Id: <201008031734.o73HYfkH026472@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181789 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2010 17:34:42 -0000 http://p4web.freebsd.org/@@181789?ac=10 Change 181789 by jhb@jhb_jhbbsd on 2010/08/03 17:34:33 Compile. Affected files ... .. //depot/projects/smpng/sys/sun4v/sun4v/mp_machdep.c#10 edit Differences ... ==== //depot/projects/smpng/sys/sun4v/sun4v/mp_machdep.c#10 (text+ko) ==== @@ -550,9 +550,8 @@ void ipi_cpu(int cpu, u_int ipi) { - int i, cpu_count; + int cpu_count; uint16_t *cpulist; - cpumask_t cpus; uint64_t ackmask; /* From owner-p4-projects@FreeBSD.ORG Tue Aug 3 19:39:00 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF9B81065672; Tue, 3 Aug 2010 19:38:59 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3DEF1106566B for ; Tue, 3 Aug 2010 19:38:59 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 107798FC1A for ; Tue, 3 Aug 2010 19:38:59 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o73JcwIt039229 for ; Tue, 3 Aug 2010 19:38:58 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o73JcwZG039227 for perforce@freebsd.org; Tue, 3 Aug 2010 19:38:58 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 3 Aug 2010 19:38:58 GMT Message-Id: <201008031938.o73JcwZG039227@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181800 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2010 19:39:00 -0000 http://p4web.freebsd.org/@@181800?ac=10 Change 181800 by hselasky@hselasky_laptop001 on 2010/08/03 19:38:48 USB core: - call "start_dma_delay" method on all errors, if it is non-NULL. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_controller.h#23 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#181 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_controller.h#23 (text+ko) ==== @@ -136,7 +136,7 @@ /* Optional */ - void (*dma_delay)(struct usb_xfer *); + void (*start_dma_delay)(struct usb_xfer *); void *info; }; ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#181 (text+ko) ==== @@ -2578,9 +2578,10 @@ * If we have a non-hardware induced error we * need to do the DMA delay! */ - if (((xfer->error == USB_ERR_CANCELLED) || - (xfer->error == USB_ERR_TIMEOUT)) && - (!xfer->flags_int.did_dma_delay)) { + if ((xfer->error != 0) && (!xfer->flags_int.did_dma_delay) && + ((xfer->error == USB_ERR_CANCELLED) || + (xfer->error == USB_ERR_TIMEOUT) || + (xfer->endpoint->methods->start_dma_delay != NULL))) { usb_timeout_t temp; @@ -2603,8 +2604,8 @@ * memory. For the other hardware platforms we * use a static delay. */ - if (xfer->endpoint->methods->dma_delay != NULL) { - (xfer->endpoint->methods->dma_delay) (xfer); + if (xfer->endpoint->methods->start_dma_delay != NULL) { + (xfer->endpoint->methods->start_dma_delay) (xfer); } else { usbd_transfer_timeout_ms(xfer, (void *)&usb_dma_delay_done_cb, temp); From owner-p4-projects@FreeBSD.ORG Tue Aug 3 20:39:05 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4EA261065679; Tue, 3 Aug 2010 20:39:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1221C1065673 for ; Tue, 3 Aug 2010 20:39:05 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F1A2C8FC08 for ; Tue, 3 Aug 2010 20:39:04 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o73Kd4Bq045326 for ; Tue, 3 Aug 2010 20:39:04 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o73Kd4l3045324 for perforce@freebsd.org; Tue, 3 Aug 2010 20:39:04 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 3 Aug 2010 20:39:04 GMT Message-Id: <201008032039.o73Kd4l3045324@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181803 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2010 20:39:05 -0000 http://p4web.freebsd.org/@@181803?ac=10 Change 181803 by hselasky@hselasky_laptop001 on 2010/08/03 20:38:47 USB controller (XHCI): - first compiling version of complete XHCI driver. - added logic to reset endpoints after failed transfers. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#12 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#13 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhci_pci.c#5 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhcireg.h#12 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#12 (text+ko) ==== @@ -114,6 +114,8 @@ static void xhci_root_intr(struct xhci_softc *); static void xhci_free_device_ext(struct usb_device *udev); static struct xhci_endpoint_ext *xhci_get_endpoint_ext(struct usb_xfer *xfer); +static usb_proc_callback_t xhci_configure_msg; +static usb_error_t xhci_configure_reset_endpoint(struct usb_xfer *xfer, uint8_t set_address); extern struct usb_bus_methods xhci_bus_methods; @@ -363,12 +365,24 @@ return (ENOMEM); } + sc->sc_config_msg[0].hdr.pm_callback = &xhci_configure_msg; + sc->sc_config_msg[0].bus = &sc->sc_bus; + sc->sc_config_msg[1].hdr.pm_callback = &xhci_configure_msg; + sc->sc_config_msg[1].bus = &sc->sc_bus; + + if (usb_proc_create(&sc->sc_config_proc, + &sc->sc_bus.bus_mtx, device_get_nameunit(self), USB_PRI_MED)) { + printf("WARNING: Creation of XHCI configure " + "callback process failed.\n"); + } return (0); } void xhci_uninit(struct xhci_softc *sc) { + usb_proc_free(&sc->sc_config_proc); + usb_bus_mem_free_all(&sc->sc_bus, &xhci_iterate_hw_softc); cv_destroy(&sc->sc_cmd_cv); @@ -524,6 +538,7 @@ { struct usb_xfer *xfer; struct xhci_td *td; + struct xhci_endpoint_ext *pepext; uint64_t td_event; uint32_t temp; uint32_t actlen; @@ -536,10 +551,24 @@ /* try to find the USB transfer that generated the event */ TAILQ_FOREACH(xfer, &sc->sc_bus.intr_q.head, wait_entry) { + /* check if transfer is cancelling */ + if (xfer->flags_int.did_dma_delay) + continue; + + pepext = xhci_get_endpoint_ext(xfer); + + /* check if endpoint is halted */ + if (pepext->trb_halted != 0) + continue; + td = xfer->td_transfer_cache; if (td_event == td->td_event) { + struct xhci_endpoint_ext *pepext; + + pepext = xhci_get_endpoint_ext(xfer); + actlen = XHCI_TRB_2_ACTLEN_GET(temp); status = XHCI_TRB_2_ERROR_GET(temp); @@ -852,6 +881,7 @@ return (xhci_do_command(sc, &trb, 50 /* ms */)); } +#if 0 static usb_error_t xhci_cmd_evaluate_ctx(struct xhci_softc *sc, uint64_t input_ctx, uint8_t slot_id) @@ -867,6 +897,7 @@ return (xhci_do_command(sc, &trb, 50 /* ms */)); } +#endif static usb_error_t xhci_cmd_reset_ep(struct xhci_softc *sc, uint8_t preserve, @@ -889,6 +920,7 @@ return (xhci_do_command(sc, &trb, 50 /* ms */)); } +#if 0 static usb_error_t xhci_cmd_stop_ep(struct xhci_softc *sc, uint8_t suspend, uint8_t ep_id, uint8_t slot_id) @@ -909,6 +941,7 @@ return (xhci_do_command(sc, &trb, 50 /* ms */)); } +#endif static usb_error_t xhci_cmd_reset_dev(struct xhci_softc *sc, uint8_t slot_id) @@ -975,11 +1008,18 @@ xhci_timeout(void *arg) { struct usb_xfer *xfer = arg; + struct xhci_endpoint_ext *pepext; DPRINTF("xfer=%p\n", xfer); USB_BUS_LOCK_ASSERT(xfer->xroot->bus, MA_OWNED); + pepext = xhci_get_endpoint_ext(xfer); + + /* check if endpoint is halted */ + if (pepext->trb_halted != 0) + return; + /* transfer is transferred */ xhci_device_done(xfer, USB_ERR_TIMEOUT); } @@ -1431,7 +1471,7 @@ xfer->td_transfer_last = td; } -static usb_error_t +static void xhci_set_slot_pointers(struct xhci_softc *sc, uint8_t index, uint64_t dev_addr, uint64_t scratch_addr) { @@ -1481,15 +1521,15 @@ uint8_t epno; uint8_t k; - usbd_get_page(&sc->sc_hw.devs[index].input_pc, 0, &buf_inp); - usbd_get_page(&sc->sc_hw.devs[index].endpoint_pc, 0, &buf_ep); - pepext = xhci_get_endpoint_ext(xfer); udev = xfer->xroot->udev; index = udev->controller_slot_id; + usbd_get_page(&sc->sc_hw.devs[index].input_pc, 0, &buf_inp); + usbd_get_page(&sc->sc_hw.devs[index].endpoint_pc, 0, &buf_ep); + edesc = xfer->endpoint->edesc; epno = edesc->bEndpointAddress; @@ -1511,8 +1551,7 @@ pinp->ctx_input.dwInCtx0 = htole32(mask); pinp->ctx_input.dwInCtx1 = 0; } else { - if (mask & 2) - mask |= 1; + mask |= 1; pinp->ctx_input.dwInCtx0 = 0; pinp->ctx_input.dwInCtx1 = htole32(mask); } @@ -1566,14 +1605,17 @@ if (drop == 0) { + USB_BUS_LOCK(&sc->sc_bus); + pepext->trb_ccs = 1; pepext->trb_index = 0; - pepext->trb_halted = 0; for (k = 0; k != XHCI_MAX_TRANSFERS; k++) pepext->trb[k].dwTrb3 = 0; usb_pc_cpu_flush(pepext->page_cache); + + USB_BUS_UNLOCK(&sc->sc_bus); } addr = XHCI_EPCTX_2_DCS_SET(1) | @@ -1587,6 +1629,8 @@ pinp->ctx_ep[epno - 1].dwEpCtx4 = htole32(temp); usb_pc_cpu_flush(&sc->sc_hw.devs[index].input_pc); + + return (0); /* success */ } static usb_error_t @@ -1606,6 +1650,8 @@ uint8_t rh_port; uint8_t i; + index = udev->controller_slot_id; + pcdev = &sc->sc_hw.devs[index].device_pc; pcinp = &sc->sc_hw.devs[index].input_pc; @@ -1693,6 +1739,8 @@ xhci_set_slot_pointers(sc, udev->controller_slot_id, buf_dev.physaddr, buf_inp.physaddr + (uintptr_t)&((struct xhci_input_dev_ctx *)0)->ctx_sp_buf_ptr[0]); + + return (0); /* success */ } static usb_error_t @@ -1842,7 +1890,7 @@ pepext->trb_used--; if (error) - xhci_transfer_stop_endpoint(xfer); + pepext->trb_halted = 1; } } @@ -1863,6 +1911,10 @@ pepext = xhci_get_endpoint_ext(xfer); + /* check for halt condition */ + if (pepext->trb_halted != 0) + return (0); + td_first = xfer->td_transfer_first; td_last = xfer->td_transfer_last; addr = pepext->physaddr; @@ -2270,7 +2322,6 @@ err = USB_ERR_IOERROR; goto done; } - sc->sc_addr = value; break; case C(UR_SET_CONFIG, UT_WRITE_DEVICE): if ((value != 0) && (value != 1)) { @@ -2661,71 +2712,95 @@ } if ((parm->buf != NULL) && (parm->err == 0)) { - struct usb_page_search buf_dev; - struct usb_page_search buf_inp; - struct usb_device *udev; - struct xhci_endpoint_ext *pepext; - struct xhci_dev_ctx *pdctx; - struct usb_page_cache *pcdev; - struct usb_page_cache *pcinp; - usb_error_t err; - uint32_t temp; - uint8_t index; + parm->err = xhci_configure_reset_endpoint(xfer, 1); + } +} + +static usb_error_t +xhci_configure_reset_endpoint(struct usb_xfer *xfer, uint8_t set_address) +{ + struct xhci_softc *sc = XHCI_BUS2SC(xfer->xroot->bus); + struct usb_page_search buf_dev; + struct usb_page_search buf_inp; + struct usb_device *udev; + struct xhci_endpoint_ext *pepext; + struct usb_endpoint_descriptor *edesc; + struct xhci_dev_ctx *pdctx; + struct usb_page_cache *pcdev; + struct usb_page_cache *pcinp; + usb_error_t err; + uint32_t temp; + uint8_t index; + uint8_t epno; + + pepext = xhci_get_endpoint_ext(xfer); + udev = xfer->xroot->udev; + index = udev->controller_slot_id; + + pcdev = &sc->sc_hw.devs[index].device_pc; + pcinp = &sc->sc_hw.devs[index].input_pc; + + usbd_get_page(pcdev, 0, &buf_dev); + usbd_get_page(pcinp, 0, &buf_inp); + + pdctx = buf_dev.buffer; + + edesc = xfer->endpoint->edesc; - pepext = xhci_get_endpoint_ext(xfer); - udev = xfer->xroot->udev; - index = udev->controller_slot_id; + epno = edesc->bEndpointAddress; - pcdev = &sc->sc_hw.devs[index].device_pc; - pcinp = &sc->sc_hw.devs[index].input_pc; + if ((edesc->bmAttributes & UE_XFERTYPE) == UE_CONTROL) + epno |= UE_DIR_IN; - usbd_get_page(pcdev, 0, &buf_dev); - usbd_get_page(pcinp, 0, &buf_inp); + epno = XHCI_EPNO2EPID(epno); - pdctx = buf_dev.buffer; + if (epno == 0) + return (USB_ERR_INVAL); /* invalid */ - XHCI_CMD_LOCK(sc); + XHCI_CMD_LOCK(sc); + err = xhci_configure_device(udev); + if (err == 0) err = xhci_configure_endpoint(xfer, 1); - if (err == 0) - err = xhci_cmd_configure_ep(sc, buf_inp.physaddr, 0, index); - if (err == 0) - err = xhci_configure_endpoint(xfer, 0); - if (err == 0) - err = xhci_cmd_configure_ep(sc, buf_inp.physaddr, 0, index); + if (err == 0) + err = xhci_cmd_configure_ep(sc, buf_inp.physaddr, 0, index); + if (err == 0) + err = xhci_configure_endpoint(xfer, 0); + if (err == 0) + err = xhci_cmd_configure_ep(sc, buf_inp.physaddr, 0, index); + if (err == 0) + err = xhci_cmd_reset_ep(sc, 0, epno - 1, index); + if (err != 0) + DPRINTFN(0, "Could not configure/reset endpoint\n"); - if (err != 0) - DPRINTFN(0, "Could not configure endpoint\n"); + if (xfer->flags_int.control_xfr && set_address) { - if (xfer->flags_int.control_xfr) { + if (udev->address != 0) { + err = xhci_cmd_set_address(sc, buf_inp.physaddr, 0, index); + if (err == 0) { + usb_pc_cpu_invalidate(pcdev); - if (udev->address != 0) { - err = xhci_cmd_set_address(sc, buf_inp.physaddr, 0, index); - if (err == 0) { - usb_pc_cpu_invalidate(pcdev); + temp = le32toh(pdctx->ctx_slot.dwSctx3); - temp = le32toh(pdctx->ctx_slot.dwSctx3); + /* update address */ + udev->address = XHCI_SCTX_3_DEV_ADDR_GET(temp); - /* update address */ - udev->address = XHCI_SCTX_3_DEV_ADDR_GET(temp); - - if (udev->address == 0) - DPRINTFN(0, "XHCI returned address zero!\n"); + if (udev->address == 0) + DPRINTFN(0, "XHCI returned address zero!\n"); } - } else { - err = xhci_cmd_set_address(sc, buf_inp.physaddr, 1, index); - - if (err != 0) - err = xhci_cmd_reset_dev(sc, index); - } + } else { + err = xhci_cmd_set_address(sc, buf_inp.physaddr, 1, index); if (err != 0) - DPRINTFN(0, "Could not set address\n"); + err = xhci_cmd_reset_dev(sc, index); } - XHCI_CMD_UNLOCK(sc); - parm->err = err; + if (err != 0) + DPRINTFN(0, "Could not set address\n"); } + XHCI_CMD_UNLOCK(sc); + + return (err); } static void @@ -2735,20 +2810,98 @@ } static void +xhci_start_dma_delay(struct usb_xfer *xfer) +{ + struct xhci_softc *sc = XHCI_BUS2SC(xfer->xroot->bus); + + /* put transfer on interrupt queue (again) */ + usbd_transfer_enqueue(&sc->sc_bus.intr_q, xfer); + + (void)usb_proc_msignal(&sc->sc_config_proc, + &sc->sc_config_msg[0], &sc->sc_config_msg[1]); +} + +static void +xhci_configure_msg(struct usb_proc_msg *pm) +{ + struct xhci_softc *sc; + struct xhci_endpoint_ext *pepext; + struct usb_xfer *xfer; + + sc = XHCI_BUS2SC(((struct usb_bus_msg *)pm)->bus); + + /* make sure everything that is halted is gone, else we can loop */ + +restart0: + TAILQ_FOREACH(xfer, &sc->sc_bus.intr_q.head, wait_entry) { + + pepext = xhci_get_endpoint_ext(xfer); + + if ((pepext->trb_halted != 0) && + (xfer->flags_int.bandwidth_reclaimed != 0)) { + xhci_device_done(xfer, USB_ERR_IOERROR); + goto restart0; + } + } + +restart1: + TAILQ_FOREACH(xfer, &sc->sc_bus.intr_q.head, wait_entry) { + + pepext = xhci_get_endpoint_ext(xfer); + + if (xfer->flags_int.did_dma_delay) { + + if (pepext->trb_halted != 0) { + + /* NOTE: The USB transfer cannot vanish in this state! */ + + USB_BUS_UNLOCK(&sc->sc_bus); + + xhci_configure_reset_endpoint(xfer, 0); + + USB_BUS_LOCK(&sc->sc_bus); + + pepext->trb_reset = 1; + } + + /* remove transfer from interrupt queue (again) */ + usbd_transfer_dequeue(xfer); + + /* we are finally done */ + usb_dma_delay_done_cb(xfer); + + /* queue changed - restart */ + goto restart1; + } + } + + /* queue up leftover transfers, if any */ + + TAILQ_FOREACH(xfer, &sc->sc_bus.intr_q.head, wait_entry) { + pepext = xhci_get_endpoint_ext(xfer); + + if ((pepext->trb_halted != 0) && + (pepext->trb_reset != 0)) { + pepext->trb_halted = 0; + pepext->trb_reset = 0; + } + xhci_transfer_insert(xfer); + } +} + +static void xhci_ep_init(struct usb_device *udev, struct usb_endpoint_descriptor *edesc, struct usb_endpoint *ep) { - struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); - - DPRINTFN(2, "endpoint=%p, addr=%d, endpt=%d, mode=%d (%d)\n", + DPRINTFN(2, "endpoint=%p, addr=%d, endpt=%d, mode=%d\n", ep, udev->address, - edesc->bEndpointAddress, udev->flags.usb_mode, - sc->sc_addr); + edesc->bEndpointAddress, udev->flags.usb_mode); if (udev->flags.usb_mode != USB_MODE_HOST) { /* not supported */ return; } + /* check if not root HUB */ if (udev->parent_hub != NULL) ep->methods = &xhci_device_generic_methods; } @@ -2874,4 +3027,5 @@ .set_hw_power = xhci_set_hw_power, .roothub_exec = xhci_roothub_exec, .xfer_poll = xhci_do_poll, + .start_dma_delay = xhci_start_dma_delay, }; ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#13 (text+ko) ==== @@ -350,6 +350,7 @@ uint8_t trb_ccs; uint8_t trb_index; uint8_t trb_halted; + uint8_t trb_reset; }; struct xhci_hw_dev { @@ -400,6 +401,8 @@ struct xhci_softc { struct xhci_hw_softc sc_hw; struct usb_bus sc_bus; /* base device */ + struct usb_process sc_config_proc; /* configure process */ + struct usb_bus_msg sc_config_msg[2]; union xhci_hub_desc sc_hub_desc; @@ -436,7 +439,6 @@ uint8_t sc_noslot; /* number of XHCI device slots */ uint8_t sc_noport; /* number of ports on root HUB */ uint8_t sc_noscratch; /* number of scratch pages */ - uint8_t sc_addr; /* root HUB device address */ uint8_t sc_conf; /* root HUB device configuration */ uint8_t sc_hub_idata[2]; @@ -444,9 +446,9 @@ }; -#define XHCI_CMD_LOCK(sc) sx_xlock(&sc->sc_cmd_sx) -#define XHCI_CMD_UNLOCK(sc) sx_xunlock(&sc->sc_cmd_sx) -#define XHCI_CMD_ASSERT_LOCKED(sc) sx_assert(&sc->sc_cmd_sx, SA_LOCKED) +#define XHCI_CMD_LOCK(sc) sx_xlock(&(sc)->sc_cmd_sx) +#define XHCI_CMD_UNLOCK(sc) sx_xunlock(&(sc)->sc_cmd_sx) +#define XHCI_CMD_ASSERT_LOCKED(sc) sx_assert(&(sc)->sc_cmd_sx, SA_LOCKED) /* prototypes */ ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci_pci.c#5 (text+ko) ==== ==== //depot/projects/usb/src/sys/dev/usb/controller/xhcireg.h#12 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Tue Aug 3 20:40:06 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ACBAA10656A7; Tue, 3 Aug 2010 20:40:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 70D1D10656A5 for ; Tue, 3 Aug 2010 20:40:06 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 328528FC16 for ; Tue, 3 Aug 2010 20:40:06 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o73Ke6HU045454 for ; Tue, 3 Aug 2010 20:40:06 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o73Ke6WV045452 for perforce@freebsd.org; Tue, 3 Aug 2010 20:40:06 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 3 Aug 2010 20:40:06 GMT Message-Id: <201008032040.o73Ke6WV045452@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181804 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2010 20:40:06 -0000 http://p4web.freebsd.org/@@181804?ac=10 Change 181804 by hselasky@hselasky_laptop001 on 2010/08/03 20:39:29 USB core: - moved "start_dma_delay" to "bus_methods". - factored out reference to "bus" pointer. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_controller.h#24 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#182 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_controller.h#24 (text+ko) ==== @@ -118,6 +118,10 @@ /* Optional device uninit */ void (*device_uninit) (struct usb_device *); + + /* Optional for device and host mode */ + + void (*start_dma_delay)(struct usb_xfer *); }; /* @@ -136,8 +140,6 @@ /* Optional */ - void (*start_dma_delay)(struct usb_xfer *); - void *info; }; ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#182 (text+ko) ==== @@ -2562,14 +2562,17 @@ usbd_callback_wrapper_sub(struct usb_xfer *xfer) { struct usb_endpoint *ep; + struct usb_bus *bus; usb_frcount_t x; + bus = xfer->xroot->bus; + if ((!xfer->flags_int.open) && (!xfer->flags_int.did_close)) { DPRINTF("close\n"); - USB_BUS_LOCK(xfer->xroot->bus); + USB_BUS_LOCK(bus); (xfer->endpoint->methods->close) (xfer); - USB_BUS_UNLOCK(xfer->xroot->bus); + USB_BUS_UNLOCK(bus); /* only close once */ xfer->flags_int.did_close = 1; return (1); /* wait for new callback */ @@ -2581,7 +2584,7 @@ if ((xfer->error != 0) && (!xfer->flags_int.did_dma_delay) && ((xfer->error == USB_ERR_CANCELLED) || (xfer->error == USB_ERR_TIMEOUT) || - (xfer->endpoint->methods->start_dma_delay != NULL))) { + (bus->methods->start_dma_delay != NULL))) { usb_timeout_t temp; @@ -2597,20 +2600,20 @@ "on %p\n", temp, xfer); if (temp != 0) { - USB_BUS_LOCK(xfer->xroot->bus); + USB_BUS_LOCK(bus); /* * Some hardware solutions have dedicated * events when it is safe to free DMA'ed * memory. For the other hardware platforms we * use a static delay. */ - if (xfer->endpoint->methods->start_dma_delay != NULL) { - (xfer->endpoint->methods->start_dma_delay) (xfer); + if (bus->methods->start_dma_delay != NULL) { + (bus->methods->start_dma_delay) (xfer); } else { usbd_transfer_timeout_ms(xfer, (void *)&usb_dma_delay_done_cb, temp); } - USB_BUS_UNLOCK(xfer->xroot->bus); + USB_BUS_UNLOCK(bus); return (1); /* wait for new callback */ } } @@ -2702,7 +2705,7 @@ * If the current USB transfer is completing we need to start the * next one: */ - USB_BUS_LOCK(xfer->xroot->bus); + USB_BUS_LOCK(bus); if (ep->endpoint_q.curr == xfer) { usb_command_wrapper(&ep->endpoint_q, NULL); @@ -2714,7 +2717,7 @@ xfer->endpoint->is_synced = 0; } } - USB_BUS_UNLOCK(xfer->xroot->bus); + USB_BUS_UNLOCK(bus); done: return (0); } From owner-p4-projects@FreeBSD.ORG Tue Aug 3 22:45:25 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2E10F106566C; Tue, 3 Aug 2010 22:45:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE5E7106567C for ; Tue, 3 Aug 2010 22:45:24 +0000 (UTC) (envelope-from bfiedler@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BA9B58FC1D for ; Tue, 3 Aug 2010 22:45:24 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o73MjOZR068289 for ; Tue, 3 Aug 2010 22:45:24 GMT (envelope-from bfiedler@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o73MjOge068287 for perforce@freebsd.org; Tue, 3 Aug 2010 22:45:24 GMT (envelope-from bfiedler@FreeBSD.org) Date: Tue, 3 Aug 2010 22:45:24 GMT Message-Id: <201008032245.o73MjOge068287@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bfiedler@FreeBSD.org using -f From: Benjamin Fiedler To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181810 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2010 22:45:25 -0000 http://p4web.freebsd.org/@@181810?ac=10 Change 181810 by bfiedler@freebsd-7803 on 2010/08/03 22:45:14 Support -a flag; --label option in progress Affected files ... .. //depot/projects/soc2010/bsdtextproc/diff3/diff3prog.c#4 edit Differences ... ==== //depot/projects/soc2010/bsdtextproc/diff3/diff3prog.c#4 (text+ko) ==== @@ -76,6 +76,9 @@ #include #include #include +#include +#include +#include /* diff3 - 3-way differential file comparison */ @@ -118,16 +121,18 @@ int overlapcnt; FILE *fp[3]; int cline[3]; /* # of the last-read line in each file (0-2) */ +char *diff_prog = NULL; +char *labels[3] = {NULL}; /* * the latest known correspondence between line numbers of the 3 files * is stored in last[1-3]; */ int last[4]; -int Aflag, eflag, iflag, Tflag; +int aflag, Aflag, eflag, iflag, Tflag; int oflag; /* indicates whether to mark overlaps (-E or -X)*/ int strip_cr; int debug = 0; -char f1mark[40], f3mark[40]; /* markers for -E and -X */ +char f1mark[40], f2mark[40], f3mark[40]; /* markers for -E and -X */ int duplicate(struct range *, struct range *); int edit(struct diff *, int, int); @@ -139,6 +144,7 @@ void change(int, struct range *, int); void keep(int, struct range *); void merge(int, int); +static int asciifile(FILE *); void prange(struct range *); void repos(int); void separate(const char *); @@ -159,13 +165,13 @@ { "show-overlap", no_argument, NULL, 'E' }, { "overlap-only", no_argument, NULL, 'x' }, { "initial-tab", no_argument, NULL, 'T' }, + { "text", no_argument, NULL, 'a' }, /* features to implement */ { "show-all", no_argument, NULL, 'A' }, { "easy-only", no_argument, NULL, '3' }, { "merge", no_argument, NULL, 'm' }, { "label", required_argument, NULL, 'L' }, - { "text", no_argument, NULL, 'a' }, { "strip-trailing-cr", no_argument, NULL, STRIPCR_OPT }, { "diff-program", required_argument, NULL, DIFFPROG_OPT }, { "version", no_argument, NULL, 'v' }, @@ -185,6 +191,9 @@ case 'A': Aflag = 1; break; + case 'a': + aflag = 1; + break; case 'E': eflag = 3; oflag = 1; @@ -195,6 +204,12 @@ case 'i': iflag = 1; break; + case 'L': + oflag = 1; + for(i=0; i<3 && labels[i] != NULL; i++); + i = i <= 2 ? i : 2 ; + labels[i] = optarg; + break; case 'T': Tflag = 1; break; @@ -210,7 +225,9 @@ case STRIPCR_OPT: strip_cr = 1; break; - + case DIFFPROG_OPT: + diff_prog = optarg; + break; } } argc -= optind; @@ -221,9 +238,14 @@ if (oflag) { (void)snprintf(f1mark, sizeof(f1mark), "<<<<<<< %s", - argc >= 6 ? argv[5] : argv[2]); + labels[0] != NULL ? labels[0] : + argc >= 6 ? argv[5] : argv[2]); + (void)snprintf(f2mark, sizeof(f2mark), "||||||| %s", + labels[1] != NULL ? labels[1] : + argc >= 6 ? argv[4] : argv[3]); (void)snprintf(f3mark, sizeof(f3mark), ">>>>>>> %s", - argc >= 7 ? argv[6] : argv[4]); + labels[2] != NULL ? labels[2] : + argc >= 7 ? argv[6] : argv[4]); } increase(); @@ -344,6 +366,12 @@ d1 = d13; d2 = d23; j = 0; + + if( (asciifile(fp[0]) && asciifile(fp[1]) && asciifile(fp[2]) ) == 0) + { + printf("Binary file detected; comparison failed\n"); + exit(EXIT_FAILURE); + } while ((t1 = d1 < d13 + m1) | (t2 = d2 < d23 + m2)) { if (debug) { printf("%d,%d=%d,%d %d,%d=%d,%d\n", @@ -435,6 +463,29 @@ edscript(j); } +static int +asciifile(FILE *f) +{ + wint_t ch = L'\0'; + size_t i; + + if (aflag || f == NULL) + return (1); + + rewind(f); + errno = 0; + for (i = 0; i <= BUFSIZ; i++) { + if ((ch = fgetwc(f)) == WEOF) { + if (errno == EILSEQ) + return (0); + break; + } + if (!iswspace(ch) && iswcntrl(ch)) + return (0); + } + return (1); +} + void separate(const char *s) { @@ -506,12 +557,8 @@ if ((line = getline(fp[i], &j)) == NULL) trouble(); if (pr != NULL) - { - if(Tflag == 1) - printf("\t%s", line); - else - printf("%s%s", pr, line); - } + printf("%s%s", Tflag == 1? "\t" : pr, line); + cline[i]++; } return ((int) n); From owner-p4-projects@FreeBSD.ORG Wed Aug 4 16:06:33 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB561106567A; Wed, 4 Aug 2010 16:06:33 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 701841065677 for ; Wed, 4 Aug 2010 16:06:33 +0000 (UTC) (envelope-from afiveg@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5AC878FC19 for ; Wed, 4 Aug 2010 16:06:33 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o74G6XOY010490 for ; Wed, 4 Aug 2010 16:06:33 GMT (envelope-from afiveg@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o74G6WFR010488 for perforce@freebsd.org; Wed, 4 Aug 2010 16:06:32 GMT (envelope-from afiveg@FreeBSD.org) Date: Wed, 4 Aug 2010 16:06:32 GMT Message-Id: <201008041606.o74G6WFR010488@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to afiveg@FreeBSD.org using -f From: Alexandre Fiveg To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181836 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2010 16:06:34 -0000 http://p4web.freebsd.org/@@181836?ac=10 Change 181836 by afiveg@ringmap-2 on 2010/08/04 16:06:30 -STABLE initial submit Affected files ... .. //depot/projects/soc2010/ringmap/stable_8/COPYRIGHT#1 branch .. //depot/projects/soc2010/ringmap/stable_8/LOCKS#1 branch .. //depot/projects/soc2010/ringmap/stable_8/MAINTAINERS#1 branch .. //depot/projects/soc2010/ringmap/stable_8/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/Makefile.inc1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/ObsoleteFiles.inc#1 branch .. //depot/projects/soc2010/ringmap/stable_8/README#1 branch .. //depot/projects/soc2010/ringmap/stable_8/UPDATING#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/Makefile.inc#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/cat/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/cat/cat.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/cat/cat.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/chflags/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/chflags/chflags.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/chflags/chflags.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/chio/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/chio/chio.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/chio/chio.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/chio/defs.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/chio/pathnames.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/chmod/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/chmod/chmod.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/chmod/chmod.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/cp/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/cp/cp.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/cp/cp.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/cp/extern.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/cp/utils.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/csh/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/csh/USD.doc/csh.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/csh/USD.doc/csh.2#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/csh/USD.doc/csh.3#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/csh/USD.doc/csh.4#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/csh/USD.doc/csh.a#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/csh/USD.doc/csh.g#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/csh/USD.doc/tabs#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/csh/config.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/csh/config_p.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/csh/host.defs#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/csh/iconv.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/csh/iconv_stub.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/date/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/date/date.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/date/date.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/date/extern.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/date/netdate.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/date/vary.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/date/vary.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/args.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/conv.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/conv_tab.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/dd.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/dd.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/dd.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/extern.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/gen.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/misc.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/position.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/ref.ascii#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/ref.ebcdic#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/ref.ibm#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/ref.lcase#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/ref.oldascii#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/ref.oldebcdic#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/ref.oldibm#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/ref.pareven#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/ref.parnone#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/ref.parodd#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/ref.parset#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/ref.swab#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/dd/ref.ucase#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/df/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/df/df.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/df/df.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/domainname/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/domainname/domainname.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/domainname/domainname.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/echo/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/echo/echo.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/echo/echo.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/POSIX#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/README#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/buf.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/cbc.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/ed.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/ed.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/glbl.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/io.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/main.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/re.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/sub.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/=.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/README#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/TODO#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/a.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/a.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/a.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/a1.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/a2.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/addr.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/addr.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/addr.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/addr1.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/addr2.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/ascii.d.uu#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/ascii.r.uu#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/ascii.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/bang1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/bang1.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/bang1.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/bang1.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/bang2.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/c.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/c.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/c.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/c1.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/c2.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/ckscripts.sh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/d.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/d.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/d.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/d.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/e1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/e1.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/e1.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/e1.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/e2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/e2.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/e2.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/e2.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/e3.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/e3.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/e3.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/e3.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/e4.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/e4.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/e4.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/f1.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/f2.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g1.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g1.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g1.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g2.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g2.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g2.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g3.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g3.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g3.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g3.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g4.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g4.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g4.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g5.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g5.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/g5.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/h.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/i.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/i.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/i.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/i1.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/i2.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/i3.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/j.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/j.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/j.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/k.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/k.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/k.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/k1.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/k2.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/k3.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/k4.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/l.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/l.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/l.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/m.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/m.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/m.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/m.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/mkscripts.sh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/n.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/n.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/n.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/nl.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/nl1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/nl1.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/nl1.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/nl2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/nl2.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/nl2.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/p.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/p.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/p.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/q.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/q.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/q.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/q1.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/r1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/r1.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/r1.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/r1.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/r2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/r2.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/r2.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/r2.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/r3.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/r3.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/r3.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s1.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s1.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s1.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s10.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s2.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s2.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s2.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s3.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s3.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s3.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s3.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s4.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s5.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s6.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s7.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s8.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/s9.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/t.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/t.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/t1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/t1.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/t1.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/t1.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/t2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/t2.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/t2.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/t2.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/u.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/u.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/u.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/u.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/v.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/v.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/v.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/w.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/w.r#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/w.t#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/w1.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/w2.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/w3.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/x.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/test/z.err#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ed/undo.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/expr/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/expr/expr.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/expr/expr.y#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/getfacl/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/getfacl/getfacl.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/getfacl/getfacl.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/hostname/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/hostname/hostname.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/hostname/hostname.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/kenv/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/kenv/kenv.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/kenv/kenv.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/kill/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/kill/kill.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/kill/kill.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ln/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ln/ln.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ln/ln.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ln/symlink.7#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ls/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ls/cmp.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ls/extern.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ls/ls.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ls/ls.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ls/ls.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ls/print.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ls/util.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/mkdir/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/mkdir/mkdir.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/mkdir/mkdir.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/mv/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/mv/mv.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/mv/mv.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/ar_io.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/ar_subs.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/buf_subs.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/cache.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/cache.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/cpio.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/cpio.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/extern.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/file_subs.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/ftree.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/ftree.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/gen_subs.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/getoldopt.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/options.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/options.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/pat_rep.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/pat_rep.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/pax.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/pax.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/pax.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/sel_subs.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/sel_subs.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/tables.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/tables.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/tar.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/tar.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pax/tty_subs.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pkill/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pkill/pkill.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pkill/pkill.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ps/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ps/extern.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ps/fmt.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ps/keyword.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ps/nlist.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ps/print.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ps/ps.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ps/ps.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/ps/ps.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pwait/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pwait/pwait.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pwait/pwait.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pwd/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pwd/pwd.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/pwd/pwd.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/rcp/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/rcp/extern.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/rcp/rcp.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/rcp/rcp.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/rcp/util.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/realpath/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/realpath/realpath.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/realpath/realpath.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/rm/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/rm/rm.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/rm/rm.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/rmail/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/rmdir/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/rmdir/rmdir.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/rmdir/rmdir.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/setfacl/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/setfacl/file.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/setfacl/mask.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/setfacl/merge.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/setfacl/remove.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/setfacl/setfacl.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/setfacl/setfacl.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/setfacl/setfacl.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/setfacl/util.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/TOUR#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/alias.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/alias.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/arith.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/arith.y#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/arith_lex.l#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/bltin/bltin.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/bltin/echo.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/bltin/echo.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/builtins.def#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/cd.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/cd.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/error.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/error.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/eval.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/eval.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/exec.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/exec.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/expand.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/expand.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/funcs/cmv#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/funcs/dirs#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/funcs/kill#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/funcs/login#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/funcs/newgrp#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/funcs/popd#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/funcs/pushd#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/funcs/suspend#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/histedit.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/init.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/input.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/input.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/jobs.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/jobs.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/mail.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/mail.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/main.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/main.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/memalloc.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/memalloc.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/miscbltin.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/mkbuiltins#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/mkinit.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/mknodes.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/mksyntax.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/mktokens#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/myhistedit.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/mystring.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/mystring.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/nodes.c.pat#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/nodetypes#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/options.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/options.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/output.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/output.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/parser.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/parser.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/redir.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/redir.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/sh.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/shell.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/show.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/show.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/trap.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/trap.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/var.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sh/var.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sleep/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sleep/sleep.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sleep/sleep.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/stty/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/stty/cchar.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/stty/extern.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/stty/gfmt.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/stty/key.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/stty/modes.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/stty/print.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/stty/stty.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/stty/stty.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/stty/stty.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/stty/util.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sync/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sync/sync.8#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/sync/sync.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/test/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/test/TEST.README#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/test/TEST.csh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/test/TEST.sh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/test/test.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/test/test.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/uuidgen/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/uuidgen/uuidgen.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/bin/uuidgen/uuidgen.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/Makefile#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/Makefile.inc#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/alloca.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/assert.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/devid.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/dtrace.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/fcntl.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/fsshare.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/libintl.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/libproc.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/libshare.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/mnttab.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/priv.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/solaris.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/stdio.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/stdlib.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/strings.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/unistd.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/include/zone.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/lib/libumem/umem.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/lib/libumem/umem.h#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/misc/deviceid.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/misc/fsshare.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/misc/mkdirp.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/misc/mnttab.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/misc/zmount.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/compat/opensolaris/misc/zone.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/dtrace.1#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/README#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/baddof/baddof.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/badioctl/badioctl.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/chkargs.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/Getopt.java#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/JDTrace.java#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/exception.lst#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/jdtrace.c#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/manifest/jdtrace.jar-manifest#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dstyle.pl#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_FUNC.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_MDIM.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_NULL.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_REDEF.redef.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_SCALAR.avgtoofew.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_SCALAR.maxnoarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_SCALAR.mintoofew.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_SCALAR.quantizetoofew.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_SCALAR.sumtoofew.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_CLEAR_AGGARG.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_CLEAR_PROTO.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_FUNC_IDENT.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_FUNC_UNDEF.badaggfunc.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_IDENT_UNDEF.badexpr.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_IDENT_UNDEF.badkey3.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_IDENT_UNDEF.noeffect.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_KEY_TYPE.badkey1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_KEY_TYPE.badkey2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_KEY_TYPE.badkey4.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_BASETYPE.lqbad1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_BASETYPE.lqshort.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_BASEVAL.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_LIMTYPE.lqbad1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_LIMVAL.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_MATCHBASE.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_MATCHBASE.order.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_MATCHLIM.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_MATCHLIM.order.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_MATCHSTEP.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_MISMATCH.lqbadarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_STEPLARGE.lqtoofew.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_STEPSMALL.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_STEPTYPE.lqbadinc.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_STEPVAL.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_NORMALIZE_AGGARG.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_NORMALIZE_PROTO.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_NORMALIZE_SCALAR.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_ARG.lquantizetoofew.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.avgnoarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.avgtoomany.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.counttoomany.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.lquantizenoarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.lquantizetoomany.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.maxnoarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.maxtoomany.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.minnoarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.mintoomany.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.quantizenoarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.quantizetoomany.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.sumnoarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.sumtoomany.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_TRUNC_AGGARG.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_TRUNC_PROTO.badmany.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_TRUNC_PROTO.badnone.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_TRUNC_SCALAR.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.allquant.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.allquant.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.avg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.avg.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.avg_neg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.avg_neg.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clear.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clear.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.cleardenormalize.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.cleardenormalize.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearlquantize.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearlquantize.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearnormalize.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearnormalize.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.count.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.count.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.count2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.count2.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.count3.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.denormalize.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.denormalize.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.denormalizeonly.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.denormalizeonly.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.fmtnormalize.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.fmtnormalize.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.forms.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.forms.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.goodkey.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.keysort.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.keysort.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantize.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantize.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantnormal.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantnormal.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantrange.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantrange.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantround.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantround.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantzero.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantzero.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.max.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.max.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.max_neg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.max_neg.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.min.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.min.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.min_neg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.min_neg.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs2.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs3.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs3.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multinormalize.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multinormalize.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.neglquant.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.neglquant.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negorder.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negorder.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negquant.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negquant.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negtrunc.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negtrunc.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negtruncquant.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negtruncquant.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.normalize.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.normalize.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.order.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.order.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantize.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantize.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantmany.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantmany.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantround.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantround.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantzero.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantzero.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.signature.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.signedkeys.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.signedkeys.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.signedkeyspos.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.signedkeyspos.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.subr.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.sum.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.sum.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.trunc.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.trunc.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.trunc0.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.trunc0.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.truncquant.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.truncquant.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.valsortkeypos.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.valsortkeypos.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_DIV_ZERO.divby0.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_DIV_ZERO.divby0_1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_DIV_ZERO.divby0_2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_DIV_ZERO.modby0.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_SYNTAX.addmin.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_SYNTAX.divmin.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_SYNTAX.muladd.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_SYNTAX.muldiv.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.basics.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.complex.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/err.D_ARR_BADREF.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/err.D_DECL_ARRBIG.toobig.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/err.D_DECL_ARRNULL.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/err.D_DECL_ARRSUB.bad.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/err.D_DECL_PROTO_TYPE.badtuple.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/err.D_IDENT_UNDEF.badureg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/tst.basic1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/tst.basic2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/tst.basic3.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/tst.basic4.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/tst.basic5.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/tst.basic6.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/tst.uregsarray.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_OP_INCOMPAT.dupgtype.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_OP_INCOMPAT.dupttype.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_OP_INCOMPAT.this.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_PROTO_ARG.badsig.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_PROTO_LEN.toofew.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_PROTO_LEN.toomany.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_SYNTAX.errassign.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.tupoflow.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.cpyarray.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.diffprofile.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.initialize.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.invalidref.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.misc.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.orthogonality.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.this.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.valassign.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/begin/err.D_PDESC_ZERO.begin.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/begin/err.D_PDESC_ZERO.tick.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/begin/tst.begin.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/begin/tst.begin.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/begin/tst.multibegin.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/begin/tst.multibegin.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_ADDROF_BITFIELD.BitfieldAddress.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_DECL_BFCONST.NegBitField.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_DECL_BFCONST.ZeroBitField.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_DECL_BFSIZE.ExceedBaseType.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_DECL_BFSIZE.GreaterThan64.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_DECL_BFTYPE.badtype.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_OFFSETOF_BITFIELD.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_SIZEOF_BITFIELD.SizeofBitfield.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/tst.BitFieldPromotion.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/tst.SizeofBitField.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/err.end.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/err.resize1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/err.resize2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/err.resize3.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/err.zerobuf.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.alignring.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.cputime.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.dynvarsize.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.fill1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.fill1.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.resize1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.resize2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.resize3.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.ring1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.ring2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.ring2.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.ring3.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.ring3.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.smallring.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.switch1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.switch1.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/err.D_XLATE_NOCONV.cpuusage.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/err.D_XLATE_NOCONV.nice.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/err.D_XLATE_NOCONV.priority.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/err.D_XLATE_NOCONV.prsize.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/err.D_XLATE_NOCONV.rssize.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.arg0.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.arg0clause.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.arg1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.arg1to8.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.arg1to8clause.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.caller.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.caller1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.epid.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.epid1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.errno.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.errno1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.execname.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.hpriority.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.id.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.id1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.ipl.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.ipl1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.lwpsinfo.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.lwpsinfo1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.pid.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.pid1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.psinfo.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.psinfo1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.tid.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.tid1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.timestamp.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.vtimestamp.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/err.D_IDENT_UNDEF.aggfun.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/err.D_IDENT_UNDEF.aggtup.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/err.D_IDENT_UNDEF.arrtup.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/err.D_IDENT_UNDEF.body.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/err.D_IDENT_UNDEF.both.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/err.D_IDENT_UNDEF.pred.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/tst.nopred.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/tst.pred.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/tst.predfirst.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/tst.predlast.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_LOCASSC.NonLocalAssoc.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_LONGINT.LongStruct.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_PARMCLASS.BadStorageClass.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_PROTO_NAME.VoidName.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_PROTO_TYPE.Dyn.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_PROTO_VARARGS.VarLenArgs.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_PROTO_VOID.NonSoleVoid.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_SIGNINT.UnsignedStruct.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_VOIDATTR.ShortVoidDecl.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/tst.arrays.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/tst.basics.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/tst.funcs.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/tst.pointers.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/tst.varargsfuncs.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/badptr.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/countdown.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/counter.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/errorpath.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/hello.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/kstat.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/ksyms.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/renormalize.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/rtime.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/rw.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/rwinfo.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/rwtime.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/specopen.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/truss.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/trussrw.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/userfunc.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_AGGREGATION.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_DBLERROR.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_DYNAMIC.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_PRINCIPAL.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_PRINCIPAL.end.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_SPEC.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_SPECUNAVAIL.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_STKSTROVERFLOW.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/err.D_PDESC_ZERO.InvalidDescription1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.APIVersion.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.AddSearchPath.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.CoalesceTrace.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.ELFGeneration.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.IncludedFilePath.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.ListProbesWithFunctions#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.ListProbesWithIDs#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.ListProbesWithModules#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.ListProbesWithNames#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.ListProbesWithProviders#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.ShowCompilerCode.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.TraceFunctions#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.TraceIDs#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.TraceModule#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.TraceNames#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.TraceProvider#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.VerboseStabilityReport.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.AddSearchPath.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeGiga.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeKilo.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeMega.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeTera.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DataModel32.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DataModel64.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DefineNameWithCPP.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DefineNameWithCPP.d.ksh.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithID.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithID.d.ksh.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithName.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithName.d.ksh.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithProvider.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithProvider.d.ksh.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithoutW.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ELFGenerationOut.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ELFGenerationWithO.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ExitStatus1.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ExitStatus2.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ExtraneousProbeIds.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidFuncName1.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidFuncName2.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidId1.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidId2.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidId3.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidModule1.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidModule2.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidModule3.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidModule4.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidProbeIdentifier.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidProvider1.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidProvider2.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidProvider3.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidProvider4.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc1.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc2.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc3.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc4.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc5.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc6.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc7.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc8.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc9.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceID1.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceID2.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceID3.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceID4.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceID5.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceID6.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceID7.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule1.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule2.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule3.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule4.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule5.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule6.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule7.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule8.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName1.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName2.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName3.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName4.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName5.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName6.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName7.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName8.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName9.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceProvider1.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceProvider2.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceProvider3.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceProvider4.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceProvider5.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.MultipleInvalidProbeId.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.PreprocessorStatement.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.QuietMode.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.QuietMode.d.ksh.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.TestCompile.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.TestCompile.d.ksh.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.UnDefineNameWithCPP.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroNameProbes.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroNameProbes.d.ksh.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroProbeIdentfier.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroProbesWithoutZ.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroProviderProbes.d.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroProviderProbes.d.ksh.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/end/err.D_IDENT_UNDEF.timespent.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/end/tst.end.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/end/tst.endwithoutbegin.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/end/tst.multibeginend.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/end/tst.multiend.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/enum/err.D_DECL_IDRED.EnumSameName.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/enum/err.D_UNKNOWN.RepeatIdentifiers.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/enum/tst.EnumEquality.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/enum/tst.EnumSameValue.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/enum/tst.EnumValAssign.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/error/tst.DTRACEFLT_BADADDR.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/error/tst.DTRACEFLT_DIVZERO.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/error/tst.DTRACEFLT_UNKNOWN.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/error/tst.error.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/error/tst.errorend.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/exit/err.D_PROTO_LEN.noarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/exit/err.exitarg1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/exit/tst.basic1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/err.D_PDESC_ZERO.notreturn.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.basic.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.functionentry.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.functionreturnvalue.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.ioctlargs.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.offset.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.offsetzero.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.return.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.return0.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.tailcall.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_FUNC_UNDEF.progenyofbad1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_OP_VFPTR.badop.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_ARG.chillbadarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_ARG.copyoutbadarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_ARG.mobadarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_ARG.raisebadarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.allocanoarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.badbreakpoint.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.chilltoofew.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.chilltoomany.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.copyoutstrbadarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.copyoutstrtoofew.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.copyouttoofew.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.copyouttoomany.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoofew.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoomany.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtabadarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoofew.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoomany.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.panicbadarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.progenyofbad2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.stopbadarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_STRINGOF_TYPE.badstringof.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_VAR_UNDEF.badvar.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badalloca.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badalloca2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badbcopy.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badbcopy1.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badbcopy2.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badbcopy3.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badbcopy4.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badbcopy5.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badbcopy6.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badchill.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.chillbadarg.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.copyout.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.copyoutbadaddr.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.copyoutstrbadaddr.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntoa6badaddr.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntoabadaddr.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntopbadaddr.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntopbadarg.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.badfreopen.ksh#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.basename.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.basename.d.out#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.bcopy.d#1 branch .. //depot/projects/soc2010/ringmap/stable_8/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.chill.ksh#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 4 16:09:37 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2142C1065676; Wed, 4 Aug 2010 16:09:37 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D97F91065674 for ; Wed, 4 Aug 2010 16:09:36 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C65838FC29 for ; Wed, 4 Aug 2010 16:09:36 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o74G9at1010661 for ; Wed, 4 Aug 2010 16:09:36 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o74G9aSX010659 for perforce@freebsd.org; Wed, 4 Aug 2010 16:09:36 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 4 Aug 2010 16:09:36 GMT Message-Id: <201008041609.o74G9aSX010659@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181837 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2010 16:09:37 -0000 http://p4web.freebsd.org/@@181837?ac=10 Change 181837 by hselasky@hselasky_laptop001 on 2010/08/04 16:09:09 USB controller (XHCI): - add missing DRIVER_MODULE() lines for XHCI and some other USB controller drivers. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#44 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#44 (text+ko) ==== @@ -103,10 +103,15 @@ .size = 0, }; +/* Host Only Drivers */ DRIVER_MODULE(usbus, ohci, usb_driver, usb_devclass, 0, 0); DRIVER_MODULE(usbus, uhci, usb_driver, usb_devclass, 0, 0); DRIVER_MODULE(usbus, ehci, usb_driver, usb_devclass, 0, 0); +DRIVER_MODULE(usbus, xhci, usb_driver, usb_devclass, 0, 0); + +/* Device Only Drivers */ DRIVER_MODULE(usbus, at91_udp, usb_driver, usb_devclass, 0, 0); +DRIVER_MODULE(usbus, musbotg, usb_driver, usb_devclass, 0, 0); DRIVER_MODULE(usbus, uss820, usb_driver, usb_devclass, 0, 0); /*------------------------------------------------------------------------* From owner-p4-projects@FreeBSD.ORG Wed Aug 4 16:14:43 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0A8F2106567F; Wed, 4 Aug 2010 16:14:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA55D106566C for ; Wed, 4 Aug 2010 16:14:42 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 971D58FC1D for ; Wed, 4 Aug 2010 16:14:42 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o74GEgJZ011064 for ; Wed, 4 Aug 2010 16:14:42 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o74GEgWf011062 for perforce@freebsd.org; Wed, 4 Aug 2010 16:14:42 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 4 Aug 2010 16:14:42 GMT Message-Id: <201008041614.o74GEgWf011062@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181839 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2010 16:14:43 -0000 http://p4web.freebsd.org/@@181839?ac=10 Change 181839 by hselasky@hselasky_laptop001 on 2010/08/04 16:14:14 USB core: - be more strict filtering strings. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#39 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_request.c#39 (text+ko) ==== @@ -1029,14 +1029,22 @@ } /* - * Filter by default - we don't allow greater and less than - * signs because they might confuse the dmesg printouts! + * Filter by default - We only allow alphanumerical + * and a few more to avoid any problems with scripts + * and daemons. */ - if ((*s == '<') || (*s == '>') || (!isprint(*s))) { - /* silently skip bad character */ - continue; + if (((*s >= 'a') && (*s <= 'z')) || + ((*s >= 'A') && (*s <= 'Z')) || + ((*s >= '0') && (*s <= '9')) || + (*s == '-') || + (*s == '+') || + (*s == ' ') || + (*s == '.') || + (*s == ',')) { + /* allowed */ + s++; } - s++; + /* silently skip bad character */ } *s = 0; /* zero terminate resulting string */ return (USB_ERR_NORMAL_COMPLETION); From owner-p4-projects@FreeBSD.ORG Wed Aug 4 16:20:49 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B07DA10656DC; Wed, 4 Aug 2010 16:20:49 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 745B810656D7 for ; Wed, 4 Aug 2010 16:20:49 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 610A88FC24 for ; Wed, 4 Aug 2010 16:20:49 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o74GKn8x011546 for ; Wed, 4 Aug 2010 16:20:49 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o74GKndD011544 for perforce@freebsd.org; Wed, 4 Aug 2010 16:20:49 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 4 Aug 2010 16:20:49 GMT Message-Id: <201008041620.o74GKndD011544@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181840 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2010 16:20:50 -0000 http://p4web.freebsd.org/@@181840?ac=10 Change 181840 by hselasky@hselasky_laptop001 on 2010/08/04 16:20:04 USB core (HUB): - program the U1/U2 port timeouts after we know the port speed. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#53 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_hub.c#53 (text+ko) ==== @@ -472,6 +472,23 @@ speed = udev->speed; break; } + if (speed == USB_SPEED_HIGH) { + err = usbd_req_set_hub_u1_timeout(udev, NULL, + portno, 128 - (2 * udev->depth)); + if (err) { + DPRINTFN(0, "port %d U1 timeout " + "failed, error=%s\n", + portno, usbd_errstr(err)); + } + err = usbd_req_set_hub_u2_timeout(udev, NULL, + portno, 128 - (2 * udev->depth)); + if (err) { + DPRINTFN(0, "port %d U2 timeout " + "failed, error=%s\n", + portno, usbd_errstr(err)); + } + } + /* * Figure out the device mode * @@ -1025,14 +1042,6 @@ removable++; break; case USB_SPEED_SUPER: - if (!err) { - err = usbd_req_set_hub_u1_timeout(udev, NULL, - portno, 128 - (2 * udev->depth)); - } - if (!err) { - err = usbd_req_set_hub_u2_timeout(udev, NULL, - portno, 128 - (2 * udev->depth)); - } if (!UHD_NOT_REMOV(&hubdesc30, portno)) removable++; break; From owner-p4-projects@FreeBSD.ORG Wed Aug 4 16:22:52 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 123BA1065676; Wed, 4 Aug 2010 16:22:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CB0381065673 for ; Wed, 4 Aug 2010 16:22:51 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B7E6B8FC08 for ; Wed, 4 Aug 2010 16:22:51 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o74GMp82011687 for ; Wed, 4 Aug 2010 16:22:51 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o74GMpIC011685 for perforce@freebsd.org; Wed, 4 Aug 2010 16:22:51 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 4 Aug 2010 16:22:51 GMT Message-Id: <201008041622.o74GMpIC011685@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181841 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2010 16:22:52 -0000 http://p4web.freebsd.org/@@181841?ac=10 Change 181841 by hselasky@hselasky_laptop001 on 2010/08/04 16:22:33 - add XHCI source files to "conf/files". - add XHCI module to system default build. Affected files ... .. //depot/projects/usb/src/sys/conf/files#97 edit .. //depot/projects/usb/src/sys/modules/usb/Makefile#27 edit Differences ... ==== //depot/projects/usb/src/sys/conf/files#97 (text+ko) ==== @@ -1690,6 +1690,8 @@ dev/usb/controller/ohci_pci.c optional ohci pci dev/usb/controller/uhci.c optional uhci dev/usb/controller/uhci_pci.c optional uhci pci +dev/usb/controller/xhci.c optional xhci +dev/usb/controller/xhci_pci.c optional xhci pci dev/usb/controller/uss820dci.c optional uss820dci dev/usb/controller/uss820dci_atmelarm.c optional uss820dci at91rm9200 dev/usb/controller/usb_controller.c optional usb ==== //depot/projects/usb/src/sys/modules/usb/Makefile#27 (text+ko) ==== @@ -26,7 +26,7 @@ # SUBDIR = usb -SUBDIR += ehci musb ohci uhci uss820dci ${_at91dci} ${_atmegadci} +SUBDIR += ehci musb ohci uhci xhci uss820dci ${_at91dci} ${_atmegadci} SUBDIR += rum run uath upgt ural zyd ${_urtw} SUBDIR += atp uhid ukbd ums udbp ufm SUBDIR += ucom u3g uark ubsa ubser uchcom ucycom ufoma uftdi ugensa uipaq ulpt \ From owner-p4-projects@FreeBSD.ORG Wed Aug 4 16:25:55 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 84C72106567E; Wed, 4 Aug 2010 16:25:55 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4798C106567B for ; Wed, 4 Aug 2010 16:25:55 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 33AAA8FC18 for ; Wed, 4 Aug 2010 16:25:55 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o74GPtLv011929 for ; Wed, 4 Aug 2010 16:25:55 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o74GPtAB011927 for perforce@freebsd.org; Wed, 4 Aug 2010 16:25:55 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 4 Aug 2010 16:25:55 GMT Message-Id: <201008041625.o74GPtAB011927@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181842 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2010 16:25:55 -0000 http://p4web.freebsd.org/@@181842?ac=10 Change 181842 by hselasky@hselasky_laptop001 on 2010/08/04 16:25:11 USB controller (XHCI): - the CAPLENGTH register is only 8-bits - correct / rename some registers - add more debug prints. - factor more code into xhci_init(). - at this point the XHCI driver is showing the root-HUB and detect devices. No data traffic is working yet. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#13 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#14 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhci_pci.c#6 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhcireg.h#13 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#13 (text+ko) ==== @@ -79,7 +79,7 @@ ((uint8_t *)&(((struct xhci_softc *)0)->sc_bus)))) #ifdef USB_DEBUG -static int xhcidebug = 0; +static int xhcidebug = 15; SYSCTL_NODE(_hw_usb, OID_AUTO, xhci, CTLFLAG_RW, 0, "USB XHCI"); SYSCTL_INT(_hw_usb_xhci, OID_AUTO, debug, CTLFLAG_RW, @@ -144,10 +144,12 @@ DPRINTF("\n"); sc->sc_capa_off = 0; - sc->sc_oper_off = XREAD4(sc, capa, XHCI_CAPLENGTH); + sc->sc_oper_off = XREAD1(sc, capa, XHCI_CAPLENGTH); sc->sc_runt_off = XREAD4(sc, capa, XHCI_RTSOFF) & ~0xF; sc->sc_door_off = XREAD4(sc, capa, XHCI_DBOFF) & ~0x3; + DPRINTF("CAPLENGTH=0x%x\n", sc->sc_oper_off); + sc->sc_event_ccs = 1; sc->sc_event_idx = 0; sc->sc_command_ccs = 1; @@ -191,6 +193,12 @@ if (sc->sc_noslot > XHCI_MAX_DEVICES) sc->sc_noslot = XHCI_MAX_DEVICES; + /* setup number of device slots */ + + XWRITE4(sc, oper, XHCI_CONFIG, sc->sc_noslot); + + DPRINTF("Max slots: %u\n", sc->sc_noslot); + temp = XREAD4(sc, capa, XHCI_HCSPARAMS2); sc->sc_noscratch = XHCI_HCS2_SPB_MAX(temp); @@ -201,6 +209,8 @@ return (USB_ERR_NOMEM); } + DPRINTF("Max scratch: %u\n", sc->sc_noscratch); + temp = XREAD4(sc, capa, XHCI_HCSPARAMS3); sc->sc_exit_lat_max = XHCI_HCS3_U1_DEL(temp) + @@ -226,10 +236,6 @@ XWRITE4(sc, oper, XHCI_DCBAAP_LO, (uint32_t)addr); XWRITE4(sc, oper, XHCI_DCBAAP_HI, (uint32_t)(addr >> 32)); - /* setup number of device slots */ - - XWRITE4(sc, oper, XHCI_CONFIG, sc->sc_noslot); - /* Setup interrupter registers */ temp = XREAD4(sc, runt, XHCI_IMAN(0)); @@ -256,7 +262,7 @@ temp = XREAD4(sc, capa, XHCI_HCSPARAMS2); - DPRINTF("hcsparams2=0x%08x\n", temp); + DPRINTF("HCS2=0x%08x\n", temp); temp = XHCI_HCS2_ERST_MAX(temp); temp = 1U << temp; @@ -267,31 +273,38 @@ XWRITE4(sc, runt, XHCI_ERSTS_SET(0), temp); - XWRITE4(sc, oper, XHCI_ERSTDP_LO(0), (uint32_t)addr); - XWRITE4(sc, oper, XHCI_ERSTDP_HI(0), (uint32_t)(addr >> 32)); + DPRINTF("ERDP(0)=0x%016llx\n", (unsigned long long)addr); + + XWRITE4(sc, runt, XHCI_ERDP_LO(0), (uint32_t)addr); + XWRITE4(sc, runt, XHCI_ERDP_HI(0), (uint32_t)(addr >> 32)); addr = (uint64_t)buf_res.physaddr; - XWRITE4(sc, oper, XHCI_ERSTBA_LO(0), (uint32_t)addr); - XWRITE4(sc, oper, XHCI_ERSTBA_HI(0), (uint32_t)(addr >> 32)); + DPRINTF("ERSTBA(0)=0x%016llx\n", (unsigned long long)addr); + + XWRITE4(sc, runt, XHCI_ERSTBA_LO(0), (uint32_t)addr); + XWRITE4(sc, runt, XHCI_ERSTBA_HI(0), (uint32_t)(addr >> 32)); /* setup command ring control base address */ addr = (uint64_t)buf_res.physaddr + (uintptr_t)&((struct xhci_hw_root *)0)->hwr_commands[0]; + DPRINTF("CRCR=0x%016llx\n", (unsigned long long)addr); + XWRITE4(sc, oper, XHCI_CRCR_LO, ((uint32_t)addr) | XHCI_CRCR_LO_RCS); XWRITE4(sc, oper, XHCI_CRCR_HI, (uint32_t)(addr >> 32)); phwr->hwr_commands[XHCI_MAX_COMMANDS - 1].qwTrb0 = htole64(addr); phwr->hwr_commands[XHCI_MAX_COMMANDS - 1].dwTrb2 = htole32(0); phwr->hwr_commands[XHCI_MAX_COMMANDS - 1].dwTrb3 = htole32( - XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_LINK) | - XHCI_TRB_3_IOC_BIT | XHCI_TRB_3_TC_BIT); + XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_LINK) | + XHCI_TRB_3_IOC_BIT | XHCI_TRB_3_TC_BIT); usb_bus_mem_flush_all(&sc->sc_bus, &xhci_iterate_hw_softc); /* Go! */ - XWRITE4(sc, oper, XHCI_USBCMD, XHCI_CMD_RS | XHCI_CMD_INTE | XHCI_CMD_HSEE); + XWRITE4(sc, oper, XHCI_USBCMD, XHCI_CMD_RS | + XHCI_CMD_INTE | XHCI_CMD_HSEE); for (i = 0; i != 100; i++) { usb_pause_mtx(NULL, hz / 1000); @@ -319,6 +332,11 @@ DPRINTF("\n"); + sc->sc_capa_off = 0; + sc->sc_oper_off = XREAD1(sc, capa, XHCI_CAPLENGTH); + sc->sc_runt_off = XREAD4(sc, capa, XHCI_RTSOFF) & ~0xF; + sc->sc_door_off = XREAD4(sc, capa, XHCI_DBOFF) & ~0x3; + /* Halt controller */ XWRITE4(sc, oper, XHCI_USBCMD, 0); @@ -339,6 +357,9 @@ usb_error_t xhci_init(struct xhci_softc *sc, device_t self) { + /* initialise some bus fields */ + sc->sc_bus.parent = self; + /* set the bus revision */ sc->sc_bus.usbrev = USB_REV_3_0; @@ -628,6 +649,7 @@ xhci_check_command(struct xhci_softc *sc, struct xhci_trb *trb) { if (sc->sc_cmd_addr == trb->qwTrb0) { + DPRINTF("Received command event\n"); sc->sc_cmd_result[0] = trb->dwTrb2; sc->sc_cmd_result[1] = trb->dwTrb2; cv_signal(&sc->sc_cmd_cv); @@ -698,7 +720,7 @@ /* we are within a PAGE - no need to update the high bits */ - XWRITE4(sc, oper, XHCI_ERSTDP_LO(0), temp); + XWRITE4(sc, runt, XHCI_ERDP_LO(0), temp); sc->sc_event_idx = i; sc->sc_event_ccs = j; ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#14 (text+ko) ==== @@ -337,7 +337,9 @@ struct xhci_hw_root { struct xhci_event_ring_seg hwr_ring_seg[XHCI_MAX_RSEG]; - volatile uint64_t hwr_padding[2]; + struct { + volatile uint64_t dummy; + } __aligned(64) padding; struct xhci_trb hwr_events[XHCI_MAX_EVENTS]; struct xhci_trb hwr_commands[XHCI_MAX_COMMANDS]; }; ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci_pci.c#6 (text+ko) ==== @@ -164,9 +164,6 @@ int err; int rid; - /* initialise some bus fields */ - sc->sc_bus.parent = self; - /* XXX check for 64-bit capability */ if (xhci_init(sc, self)) { @@ -195,7 +192,7 @@ goto error; } sc->sc_bus.bdev = device_add_child(self, "usbus", -1); - if (!sc->sc_bus.bdev) { + if (sc->sc_bus.bdev == NULL) { device_printf(self, "Could not add USB device\n"); goto error; } @@ -219,14 +216,14 @@ err = xhci_halt_controller(sc); - if (!err) + if (err == 0) err = xhci_start_controller(sc); - if (!err) { + if (err == 0) err = device_probe_and_attach(sc->sc_bus.bdev); - } + if (err) { - device_printf(self, "XHCI start failed err=%d\n", err); + device_printf(self, "XHCI halt/start/probe failed err=%d\n", err); goto error; } return (0); ==== //depot/projects/usb/src/sys/dev/usb/controller/xhcireg.h#13 (text+ko) ==== @@ -170,10 +170,10 @@ #define XHCI_ERSTS_SET(x) ((x) & 0xFFFF) #define XHCI_ERSTBA_LO(n) (0x0030 + (0x20 * (n))) /* XHCI event ring segment table BA */ #define XHCI_ERSTBA_HI(n) (0x0034 + (0x20 * (n))) /* XHCI event ring segment table BA */ -#define XHCI_ERSTDP_LO(n) (0x0038 + (0x20 * (n))) /* XHCI event ring dequeue pointer */ -#define XHCI_ERSTDP_LO_SIGET(x) ((x) & 0x7) /* RO - dequeue segment index */ -#define XHCI_ERSTDP_LO_BUSY 0x00000008 /* RW - event handler busy */ -#define XHCI_ERSTDP_HI(n) (0x003C + (0x20 * (n))) /* XHCI event ring dequeue pointer */ +#define XHCI_ERDP_LO(n) (0x0038 + (0x20 * (n))) /* XHCI event ring dequeue pointer */ +#define XHCI_ERDP_LO_SIGET(x) ((x) & 0x7) /* RO - dequeue segment index */ +#define XHCI_ERDP_LO_BUSY 0x00000008 /* RW - event handler busy */ +#define XHCI_ERDP_HI(n) (0x003C + (0x20 * (n))) /* XHCI event ring dequeue pointer */ /* XHCI doorbell registers. Offset given by XHCI_CAPLENGTH + XHCI_DBOFF registers */ #define XHCI_DOORBELL(n) (0x0000 + (4 * (n))) From owner-p4-projects@FreeBSD.ORG Wed Aug 4 18:07:47 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 208271065676; Wed, 4 Aug 2010 18:07:47 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D92791065672 for ; Wed, 4 Aug 2010 18:07:46 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C60C08FC1E for ; Wed, 4 Aug 2010 18:07:46 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o74I7kZc032332 for ; Wed, 4 Aug 2010 18:07:46 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o74I7kvu032330 for perforce@freebsd.org; Wed, 4 Aug 2010 18:07:46 GMT (envelope-from jhb@freebsd.org) Date: Wed, 4 Aug 2010 18:07:46 GMT Message-Id: <201008041807.o74I7kvu032330@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181845 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2010 18:07:47 -0000 http://p4web.freebsd.org/@@181845?ac=10 Change 181845 by jhb@jhb_jhbbsd on 2010/08/04 18:07:01 Add support for parsing machine check records from a crashdump. Use the -M/-N arguments as with other libkvm-using tools to use. Affected files ... .. //depot/projects/mcelog/Makefile#3 edit .. //depot/projects/mcelog/mcelog.c#4 edit Differences ... ==== //depot/projects/mcelog/Makefile#3 (text) ==== @@ -28,6 +28,7 @@ .PHONY: install clean depend +LIBS := OBJ := p4.o k8.o mcelog.o dmi.o tsc.o core2.o bitfield.o intel.o \ nehalem.o dunnington.o tulsa.o config.o memutil.o msg.o \ eventloop.o leaky-bucket.o memdb.o server.o client.o \ @@ -37,6 +38,7 @@ endif ifdef FREEBSD OBJ += memstream.o +LIBS += -lkvm endif DISKDB_OBJ := diskdb.o dimm.o db.o CLEAN := mcelog dmi tsc dbquery .depend .depend.X dbquery.o ${DISKDB_OBJ} @@ -53,7 +55,7 @@ SRC := $(OBJ:.o=.c) -mcelog: ${OBJ} +mcelog: ${OBJ} ${LIBS} # dbquery intentionally not installed by default install: mcelog ==== //depot/projects/mcelog/mcelog.c#4 (text) ==== @@ -32,6 +32,8 @@ #include #include #include +#include +#include #endif #include #include @@ -91,6 +93,10 @@ static struct config_cred runcred = { .uid = -1U, .gid = -1U }; static int numerrors; static char *pidfile; +#ifdef __FreeBSD__ +static char *execfile; +static char *corefile; +#endif static void check_cpu(void); @@ -962,6 +968,10 @@ " mcelog [options] --ascii < log\n" " mcelog [options] --ascii --file log\n" "Decode machine check ASCII output from kernel logs\n" +#ifdef __FreeBSD__ +" mcelog [options] -M vmcore -N kernel\n" +"Decode machine check error records from kernel crashdump.\n" +#endif "Options:\n" "--cpu CPU Set CPU type CPU to decode (see below for valid types)\n" "--cpumhz MHZ Set CPU Mhz to decode time (output unreliable, not needed on new kernels)\n" @@ -1142,6 +1152,14 @@ case O_CONFIG_FILE: /* parsed in config.c */ break; +#ifdef __FreeBSD__ + case 'M': + corefile = strdup(optarg); + break; + case 'N': + execfile = strdup(optarg); + break; +#endif case 0: break; default: @@ -1246,22 +1264,128 @@ #endif #ifdef __FreeBSD__ -static void process(int fd __unused, unsigned recordlen, - unsigned loglen, char *buf __unused) +struct mca_record_old { + uint64_t mr_status; + uint64_t mr_addr; + uint64_t mr_misc; + uint64_t mr_tsc; + int mr_apic_id; + int mr_bank; +}; + +struct mca_record_internal { + struct mca_record rec; + int logged; + STAILQ_ENTRY(mca_internal) link; +}; + +struct mca_record_internal_old { + struct mca_record_old rec; + int logged; + STAILQ_ENTRY(mca_internal) link; +}; + +static struct nlist nl[] = { +#define X_MCA_RECORDS 0 + { .n_name = "_mca_records" }, +#define X_SNAPDATE 1 + { .n_name = "_snapdate" }, + { .n_name = NULL }, +}; + +static int +kread(kvm_t *kvm, void *kvm_pointer, void *buf, size_t size, size_t offset) +{ + ssize_t ret; + + ret = kvm_read(kvm, (unsigned long)kvm_pointer + offset, buf, size); + if (ret < 0 || (size_t)ret != size) + return (-1); + return (0); +} + +static int +kread_symbol(kvm_t *kvm, int index, void *buf, size_t size) +{ + ssize_t ret; + + ret = kvm_read(kvm, nl[index].n_value, buf, size); + if (ret < 0 || (size_t)ret != size) + return (-1); + return (0); +} + +static void process_kvm(const char *execfile, const char *corefile) +{ + struct mca_record mr, *mrp; + struct mce mce; + char errbuf[_POSIX2_LINE_MAX]; + kvm_t *kvm; + size_t record_size, link_offset; + int i, snapdate; + + kvm = kvm_openfiles(execfile, corefile, NULL, O_RDONLY, errbuf); + if (kvm == NULL) + errx(1, "kvm_openfiles: %s", errbuf); + if (kvm_nlist(kvm, nl) != 0) + errx(1, "kvm_nlist: %s", kvm_geterr(kvm)); + + if (kread_symbol(kvm, X_SNAPDATE, &snapdate, sizeof(snapdate)) < 0) + errx(1, "kvm_read(snapdate) failed"); + /* stqh_first is the first pointer at this address. */ + if (kread_symbol(kvm, X_MCA_RECORDS, &mrp, sizeof(mrp)) < 0) + errx(1, "kvm_read(mca_records) failed"); + if (snapdate >= 20100329) { + record_size = sizeof(struct mca_record); + link_offset = __offsetof(struct mca_record_internal, + link.stqe_next); + } else { + record_size = sizeof(struct mca_record_old); + link_offset = __offsetof(struct mca_record_internal_old, + link.stqe_next); + } + + for (i = 0; mrp != NULL; i++) { + memset(&mr, 0, sizeof(mr)); + if (kread(kvm, mrp, &mr, record_size, 0) < 0) + break; + if (kread(kvm, mrp, &mrp, sizeof(mrp), link_offset) < 0) + mrp = NULL; + + convert_mca(&mr, &mce, 1, record_size); + mce_prepare(&mce); + if (!mce_filter(&mce, sizeof(struct mce))) + continue; + if (!dump_raw_ascii) { + disclaimer(); + Wprintf("MCE %d\n", i); + dump_mce(&mce, sizeof(struct mce)); + } else + dump_mce_raw_ascii(&mce, sizeof(struct mce)); + flushlog(); + } + + exit(0); +} + +static void process_live(void) { struct mca_record mr; struct mce mce; int mib[4]; size_t len; - int finish, i; + int count, finish, i; + + len = sizeof(count); + if (sysctlbyname("hw.mca.count", &count, &len, NULL, 0) < 0) + return; len = 4; if (sysctlnametomib("hw.mca.records", mib, &len) < 0) return; finish = 0; - recordlen = sizeof(struct mce); - for (i = 0; i < (int)loglen; i++) { + for (i = 0; i < count; i++) { mib[3] = i; len = sizeof(mr); memset(&mr, 0, sizeof(mr)); @@ -1274,14 +1398,14 @@ mce_prepare(&mce); if (numerrors > 0 && --numerrors == 0) finish = 1; - if (!mce_filter(&mce, recordlen)) + if (!mce_filter(&mce, sizeof(struct mce))) continue; if (!dump_raw_ascii) { disclaimer(); Wprintf("MCE %d\n", i); - dump_mce(&mce, recordlen); + dump_mce(&mce, sizeof(struct mce)); } else - dump_mce_raw_ascii(&mce, recordlen); + dump_mce_raw_ascii(&mce, sizeof(struct mce)); flushlog(); } @@ -1356,29 +1480,21 @@ } #endif -#ifdef __FreeBSD__ -/* Fetch current MCA records using sysctls. */ -static void fetch_records_info(struct mcefd_data *d) -{ - size_t len; - int count; - - memset(d, 0, sizeof(*d)); - len = sizeof(count); - if (sysctlbyname("hw.mca.count", &count, &len, NULL, 0) == 0) - d->loglen = count; -} -#endif - int main(int ac, char **av) { +#ifdef __Linux__ struct mcefd_data d = {}; + int fd; +#endif int opt; - int fd; parse_config(av); - while ((opt = getopt_long(ac, av, "", options, NULL)) != -1) { +#ifdef __FreeBSD__ + while ((opt = getopt_long(ac, av, "M:N:", options, NULL)) != -1) { +#else + while ((opt = getopt_long(ac, av, "", options, NULL)) != -1) { +#endif if (opt == '?') { usage(); } else if (combined_modifier(opt) > 0) { @@ -1404,6 +1520,11 @@ #endif if (av[optind]) usage(); +#ifdef __FreeBSD__ + if ((corefile != NULL) ^ (execfile != NULL) || + (corefile != NULL && daemon_mode)) + usage(); +#endif checkdmi(); general_setup(); @@ -1423,10 +1544,6 @@ d.buf = xalloc(d.recordlen * d.loglen); #endif -#ifdef __FreeBSD__ - fetch_records_info(&d); - fd = -1; -#endif if (daemon_mode) { check_cpu(); prefill_memdb(); @@ -1446,7 +1563,15 @@ write_pidfile(); eventloop(); } else { +#ifdef __Linux__ process(fd, d.recordlen, d.loglen, d.buf); +#endif +#ifdef __FreeBSD__ + if (corefile != NULL) + process_kvm(execfile, corefile); + else + process_live(); +#endif } #ifdef __Linux__ trigger_wait(); From owner-p4-projects@FreeBSD.ORG Wed Aug 4 18:40:27 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EA407106567A; Wed, 4 Aug 2010 18:40:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ADA6A106566C for ; Wed, 4 Aug 2010 18:40:26 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 98D7C8FC1F for ; Wed, 4 Aug 2010 18:40:26 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o74IeQ2K034830 for ; Wed, 4 Aug 2010 18:40:26 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o74IePMj034824 for perforce@freebsd.org; Wed, 4 Aug 2010 18:40:25 GMT (envelope-from trasz@freebsd.org) Date: Wed, 4 Aug 2010 18:40:25 GMT Message-Id: <201008041840.o74IePMj034824@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181846 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2010 18:40:27 -0000 http://p4web.freebsd.org/@@181846?ac=10 Change 181846 by trasz@trasz_victim on 2010/08/04 18:39:53 IFC. Affected files ... .. //depot/projects/soc2009/trasz_limits/ObsoleteFiles.inc#23 integrate .. //depot/projects/soc2009/trasz_limits/UPDATING#26 integrate .. //depot/projects/soc2009/trasz_limits/bin/kill/kill.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/ln/ln.1#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/setfacl/setfacl.1#5 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/eval.c#11 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/histedit.c#8 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/parser.c#14 integrate .. //depot/projects/soc2009/trasz_limits/bin/sleep/sleep.1#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/sleep/sleep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/baddof/baddof.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/chkargs.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dstyle.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_SCALAR.stddevtoofew.d#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.stddevnoarg.d#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.stddevtoomany.d#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearstddev.d#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearstddev.d.out#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs1.d#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs2.d#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs2.d.out#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs3.d#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs3.d.out#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.d#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.d.out#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.D_PDESC_ZERO.lowfrequency.d#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.D_PDESC_ZERO.malformedoverflow.d#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.D_PDESC_ZERO.nonexistentevent.d#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.cpcvscpustatpart1.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.cpcvscpustatpart2.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.cputrackfailtostart.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.cputrackterminates.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.toomanyenablings.d#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/tst.allcpus.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/tst.genericevent.d#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/tst.platformevent.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv4remote.pl#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv6remote.pl#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localicmp.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localicmp.ksh.out#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localtcp.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localtcp.ksh.out#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudp.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudp.ksh.out#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteicmp.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteicmp.ksh.out#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotetcp.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotetcp.ksh.out#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudp.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudp.ksh.out#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv6localicmp.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv6localicmp.ksh.out#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv6remoteicmp.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv6remoteicmp.ksh.out#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localtcpstate.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localtcpstate.ksh.out#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotetcpstate.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotetcpstate.ksh.out#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/src/TestFunctionLookup.java#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/src/TestGetAggregate.java#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.FunctionLookup.ksh.out#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.GetAggregate.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh.out#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PDESC_ZERO.badlib.exe#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_CREATEFAIL.many.exe#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_FUNC.badfunc.exe#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_LIB.libdash.exe#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.alldash.exe#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.badname.exe#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.globdash.exe#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_OFF.toobig.exe#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.coverage.exe#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.emptystack.exe#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.killonerror.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.probemod.ksh#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/plockstat/tst.available.exe#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/plockstat/tst.libmap.exe#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.basics.d#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.basics.d.out#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.largeusersym.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.str.d#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.str.d.out#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/sdt/tst.sdtargs.c#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/sdt/tst.sdtargs.d#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithStddev.d#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/sysevent/tst.post_chan.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.corruptenv.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh.out#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i386/funcs/tst.badcopyin.d#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i86xpv/xdt/tst.basic.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i86xpv/xdt/tst.hvmenable.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i86xpv/xdt/tst.memenable.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i86xpv/xdt/tst.schedargs.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i86xpv/xdt/tst.schedenable.ksh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/tst/sparc/pid/err.D_PROC_ALIGN.misaligned.exe#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/common/avl/avl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/dt_error.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h#3 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l#3 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.c#3 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/dt_program.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/dt_string.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/mkerrno.sh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libdtrace/common/mksignal.sh#1 branch .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libgen/common/gmatch.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/tools/ctf/cvt/ctf.c#3 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.h#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/tools/ctf/cvt/st_parse.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/tools/ctf/cvt/tdata.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/lib/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/usr.sbin/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/cddl/usr.sbin/dtrace/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/cddl/usr.sbin/lockstat/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/file/apprentice.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/file/magic.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/ncurses/man/keybound.3x#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/netcat/nc.1#7 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tzdata/africa#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tzdata/australasia#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tzdata/backward#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tzdata/europe#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tzdata/leapseconds#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tzdata/northamerica#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tzdata/zone.tab#4 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/ipmon#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/snmpd.config#2 integrate .. //depot/projects/soc2009/trasz_limits/games/fortune/datfiles/fortunes#10 integrate .. //depot/projects/soc2009/trasz_limits/games/grdc/grdc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/games/pom/pom.6#6 integrate .. //depot/projects/soc2009/trasz_limits/gnu/usr.bin/gdb/kgdb/trgt_amd64.c#2 integrate .. //depot/projects/soc2009/trasz_limits/gnu/usr.bin/groff/tmac/mdoc.local#9 integrate .. //depot/projects/soc2009/trasz_limits/lib/Makefile#11 integrate .. //depot/projects/soc2009/trasz_limits/lib/libarchive/libarchive_internals.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libbluetooth/bluetooth.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/Makefile#7 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/getutxent.3#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/isgraph.3#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/mbrtowc.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/setlocale.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/tolower.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/toupper.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/net/sctp_getaddrlen.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/net/sctp_send.3#6 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/net/sctp_sendmsg.3#5 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_strip_np.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/mac.3#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/rpc/publickey.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/stdlib/getopt.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/jail.2#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/mlock.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/mlockall.2#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/sctp_peeloff.2#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libdevstat/devstat.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libefi/libefi.3#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libelf/elf_strptr.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libelf/libelf_convert.m4#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libfetch/common.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libfetch/http.c#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkvm/kvm_getloadavg.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libmagic/Makefile#5 integrate .. //depot/projects/soc2009/trasz_limits/lib/libmemstat/libmemstat.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc.corei7.3#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc.westmere.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc.xscale.3#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libproc/Makefile#5 integrate .. //depot/projects/soc2009/trasz_limits/lib/libproc/_libproc.h#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libproc/libproc.h#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libproc/proc_bkpt.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libproc/proc_create.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libproc/proc_regs.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libproc/proc_rtld.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libproc/proc_sym.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libproc/proc_util.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libproc/test/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libproc/test/t1-bkpt/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libproc/test/t1-bkpt/t1-bkpt.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libproc/test/t2-name2map/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libproc/test/t2-name2map/t2-name2map.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libproc/test/t3-name2sym/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libproc/test/t3-name2sym/t3-name2sym.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/librtld_db/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/lib/librtld_db/librtld_db.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/librtld_db/rtld_db.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/librtld_db/rtld_db.h#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb.3#8 integrate .. //depot/projects/soc2009/trasz_limits/lib/libutil/kinfo_getfile.3#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libutil/kinfo_getvmmap.3#5 integrate .. //depot/projects/soc2009/trasz_limits/lib/libutil/property.3#3 integrate .. //depot/projects/soc2009/trasz_limits/libexec/rtld-elf/mips/reloc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/libexec/rtld-elf/mips/rtld_start.S#4 integrate .. //depot/projects/soc2009/trasz_limits/libexec/ypxfr/ypxfr.8#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/camcontrol/camcontrol.8#8 integrate .. //depot/projects/soc2009/trasz_limits/sbin/camcontrol/camcontrol.c#10 integrate .. //depot/projects/soc2009/trasz_limits/sbin/devd/devd.cc#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/fsck_ffs/main.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sbin/geom/class/part/gpart.8#6 integrate .. //depot/projects/soc2009/trasz_limits/sbin/geom/class/sched/gsched.8#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/hastctl/hastctl.8#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/hastd/hast.conf.5#5 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifconfig.8#11 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ipfw/ipfw.8#7 integrate .. //depot/projects/soc2009/trasz_limits/sbin/iscontrol/iscsi.conf.5#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/newfs_msdos/newfs_msdos.8#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/sunlabel/sunlabel.8#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/opensslconf-mips.h#3 integrate .. //depot/projects/soc2009/trasz_limits/share/examples/etc/make.conf#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man3/siginfo.3#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/Makefile#22 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/acpi_aiboost.4#2 delete .. //depot/projects/soc2009/trasz_limits/share/man/man4/ae.4#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/asmc.4#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/ata.4#6 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/blackhole.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/bpf.4#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/bridge.4#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/icmp6.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/isp.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/ksyms.4#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/net80211.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/pcm.4#8 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/snd_hda.4#4 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/uep.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/vpo.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man5/device.hints.5#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man5/rc.conf.5#13 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/DEVICE_PROBE.9#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/VFS_VGET.9#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/VOP_VPTOCNP.9#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/bios.9#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/ifnet.9#5 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/kproc.9#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/locking.9#5 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/make_dev.9#4 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/netisr.9#4 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/sglist.9#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/taskqueue.9#4 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/timeout.9#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/usbdi.9#6 integrate .. //depot/projects/soc2009/trasz_limits/share/misc/committers-ports.dot#11 integrate .. //depot/projects/soc2009/trasz_limits/share/mk/bsd.lib.mk#5 integrate .. //depot/projects/soc2009/trasz_limits/share/mk/bsd.libnames.mk#8 integrate .. //depot/projects/soc2009/trasz_limits/share/mk/bsd.prog.mk#4 integrate .. //depot/projects/soc2009/trasz_limits/share/mk/sys.mk#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/acpica/acpi_switch.S#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/acpica/acpi_wakecode.S#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/acpica/acpi_wakeup.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/cpu_switch.S#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/fpu.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/genassym.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/initcpu.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/mp_machdep.c#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/support.S#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/conf/GENERIC#15 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/include/pcb.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/include/pcpu.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/include/specialreg.h#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/include/vmparam.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/linux32/linux32_machdep.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/linux32/linux32_sysvec.c#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/include/vmparam.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/boot/common/loader.8#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/boot/zfs/zfstest.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/cam/ata/ata_da.c#11 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/cam.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/cam_ccb.h#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_cd.c#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_da.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_target.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#13 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#15 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_misc.c#12 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_util.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/NOTES#24 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files#33 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.amd64#16 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.i386#16 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.powerpc#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.sparc64#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.sun4v#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/options#22 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/options.powerpc#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/acpi_support/acpi_aiboost.c#5 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/ahci/ahci.c#13 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/amr/amrvar.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/ata-all.c#14 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/ata-disk.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/bce/if_bce.c#11 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/coretemp/coretemp.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/cxgb_main.c#15 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_pciids.h#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_osdep.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/et/if_et.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/et/if_etreg.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/et/if_etvar.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/hwpmc/hwpmc_core.c#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/hwpmc/hwpmc_core.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ipmi/ipmi_smbios.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/md/md.c#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mvs/mvs.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/pci/pci.c#12 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/pci/pci_user.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/siis/siis.c#11 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/pci/hda/hdac.c#14 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/quirk/usb_quirk.c#13 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/u3g.c#14 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uftdi.c#14 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uipaq.c#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uplcom.c#11 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uslcom.c#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usbdevs#25 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfs/nfs_var.h#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clstate.c#11 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clsubs.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clvnops.c#17 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/geom_disk.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/geom_disk.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/part/g_part.c#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/sched/g_sched.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/conf/GENERIC#16 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/conf/NOTES#17 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/genassym.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/initcpu.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/swtch.s#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/include/pcpu.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/include/specialreg.h#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/include/vmparam.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/isa/npx.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/linux/linux_sysvec.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/conf/GENERIC#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/include/pcpu.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/include/vmparam.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/imgact_shell.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_exec.c#18 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_malloc.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/subr_witness.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_subr.c#17 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/include/_stdint.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/include/param.h#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/include/profile.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/include/runq.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/include/vmparam.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/exception.S#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/genassym.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/locore.S#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/pm_machdep.c#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/pmap.c#15 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/support.S#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/swtch.S#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/trap.c#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/vm_machdep.c#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/rmi/dev/xlr/rge.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/rmi/files.xlr#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/rmi/intr_machdep.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/rmi/on_chip.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/rmi/tick.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/rmi/xlr_machdep.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/acpi/Makefile#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/acpi/acpi_aiboost/Makefile#3 delete .. //depot/projects/soc2009/trasz_limits/sys/modules/ata/atacore/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if.c#18 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_llatbl.c#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/rtsock.c#15 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/netflow/netflow.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/ng_ipfw.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/if_ether.c#13 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in_rmx.c#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ipfw/ip_fw2.c#14 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/sctp_indata.c#11 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/sctp_output.c#13 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/sctp_pcb.c#12 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/sctp_structs.h#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/sctp_timer.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/tcp_syncache.c#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/nd6.c#14 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_node.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_vnops.c#13 integrate .. //depot/projects/soc2009/trasz_limits/sys/opencrypto/cryptodev.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/pc98/conf/GENERIC#11 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/aim/mmu_oea64.c#11 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/aim/slb.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/conf/GENERIC#13 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/conf/GENERIC64#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/conf/NOTES#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/include/slb.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/include/vmparam.h#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/mambo/mambo.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/mambo/mambo_console.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/mambo/mambo_disk.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/mambo/mambo_openpic.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/mambo/mambocall.S#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/mambo/mambocall.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/sparc64/conf/GENERIC#14 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/include/intr_machdep.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/include/pcpu.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/include/smp.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/include/tick.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/include/vmparam.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/sparc64/clock.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/sparc64/intr_machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/sparc64/mp_machdep.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/sparc64/tick.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/conf/GENERIC#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/include/clock.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/include/intr_machdep.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/include/pcpu.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/include/smp.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/include/tick.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/include/vmparam.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/sun4v/clock.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/sun4v/intr_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/sun4v/mp_machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/sun4v/tick.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/imgact.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/malloc.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/param.h#22 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/pcpu.h#11 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm_init.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm_mmap.c#13 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm_phys.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm_phys.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/x86/acpica/srat.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/x86/x86/mca.c#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/debugscripts/README#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/regression/bin/sh/builtins/eval4.0#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/bin/sh/builtins/eval5.0#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/bin/sh/parser/heredoc7.0#1 branch .. //depot/projects/soc2009/trasz_limits/usr.bin/ar/ar.1#4 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/c89/c89.1#3 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/c99/c99.1#4 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/calendar/calendars/calendar.freebsd#10 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/fastgrep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/grep.1#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/grep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/grep.h#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/nls/C.msg#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/nls/Makefile.inc#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/nls/es_ES.ISO8859-1.msg#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/nls/gl_ES.ISO8859-1.msg#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/nls/hu_HU.ISO8859-2.msg#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/nls/ja_JP.SJIS.msg#1 branch .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/nls/ja_JP.UTF-8.msg#1 branch .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/nls/ja_JP.eucJP.msg#1 branch .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/nls/pt_BR.ISO8859-1.msg#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/nls/ru_RU.KOI8-R.msg#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/nls/uk_UA.UTF-8.msg#1 branch .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/queue.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/grep/util.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/tar/bsdtar.1#5 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/unifdef/unifdef.1#5 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/ancontrol/ancontrol.8#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/bsnmpd/modules/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/bsnmpd/modules/snmp_wlan/BEGEMOT-WIRELESS-MIB.txt#1 branch .. //depot/projects/soc2009/trasz_limits/usr.sbin/bsnmpd/modules/snmp_wlan/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/usr.sbin/bsnmpd/modules/snmp_wlan/snmp_wlan.3#1 branch .. //depot/projects/soc2009/trasz_limits/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_snmp.c#1 branch .. //depot/projects/soc2009/trasz_limits/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_snmp.h#1 branch .. //depot/projects/soc2009/trasz_limits/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_sys.c#1 branch .. //depot/projects/soc2009/trasz_limits/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_tree.def#1 branch .. //depot/projects/soc2009/trasz_limits/usr.sbin/fwcontrol/fwcontrol.8#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/jail/jail.8#12 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/mfiutil/mfiutil.8#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/mptutil/mptutil.8#5 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/pc-sysinstall/backend/functions-newfs.sh#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/pmcstat/pmcpl_calltree.c#6 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/pmcstat/pmcstat.c#5 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/pmcstat/pmcstat.h#3 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/pmcstat/pmcstat_log.c#8 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/sysinstall/help/options.hlp#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/ugidfw/ugidfw.8#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/wpa/wpa_cli/wpa_cli.8#3 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/ypserv/ypinit.8#2 integrate Differences ... ==== //depot/projects/soc2009/trasz_limits/ObsoleteFiles.inc#23 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.239 2010/07/20 17:16:57 ed Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.240 2010/07/27 14:26:38 rpaulo Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20100725: acpi_aiboost(4) removal. +OLD_FILES+=usr/share/man/man4/acpi_aiboost.4.gz # 20100720: new clang import which bumps version from 2.0 to 2.8 OLD_FILES+=usr/include/clang/2.0/emmintrin.h OLD_FILES+=usr/include/clang/2.0/mm_malloc.h ==== //depot/projects/soc2009/trasz_limits/UPDATING#26 (text+ko) ==== @@ -22,6 +22,10 @@ machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20100725: + The acpi_aiboost(4) driver has been removed in favor of the new + aibs(4) driver. You should update your kernel configuration file. + 20100722: BSD grep has been imported to the base system and it is built by default. It is completely BSD licensed, highly GNU-compatible, uses @@ -1184,4 +1188,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.662 2010/07/22 19:11:57 gabor Exp $ +$FreeBSD: src/UPDATING,v 1.663 2010/07/25 18:32:59 rpaulo Exp $ ==== //depot/projects/soc2009/trasz_limits/bin/kill/kill.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/kill/kill.c,v 1.21 2010/02/25 13:53:09 kib Exp $"); +__FBSDID("$FreeBSD: src/bin/kill/kill.c,v 1.22 2010/07/29 16:40:45 jilles Exp $"); #include #include @@ -123,10 +123,9 @@ for (errors = 0; argc; argc--, argv++) { pid = strtol(*argv, &ep, 10); - if (!**argv || *ep) { - warnx("illegal process id: %s", *argv); - errors = 1; - } else if (kill(pid, numsig) == -1) { + if (!**argv || *ep) + errx(1, "illegal process id: %s", *argv); + else if (kill(pid, numsig) == -1) { warn("%s", *argv); errors = 1; } ==== //depot/projects/soc2009/trasz_limits/bin/ln/ln.1#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ln.1 8.2 (Berkeley) 12/30/93 -.\" $FreeBSD: src/bin/ln/ln.1,v 1.35 2009/07/19 17:35:23 jilles Exp $ +.\" $FreeBSD: src/bin/ln/ln.1,v 1.36 2010/07/31 21:09:49 joel Exp $ .\" .Dd July 17, 2009 .Dt LN 1 @@ -229,7 +229,7 @@ .Fl F option is .Fx -extention and should not be used in portable scripts. +extension and should not be used in portable scripts. .Sh SEE ALSO .Xr link 2 , .Xr lstat 2 , ==== //depot/projects/soc2009/trasz_limits/bin/setfacl/setfacl.1#5 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/bin/setfacl/setfacl.1,v 1.22 2010/05/13 16:46:23 trasz Exp $ +.\" $FreeBSD: src/bin/setfacl/setfacl.1,v 1.23 2010/07/27 17:33:02 bcr Exp $ .\" -.Dd May 13, 2010 +.Dd July 27, 2010 .Dt SETFACL 1 .Os .Sh NAME @@ -299,7 +299,7 @@ .Dq Li group@ , or .Dq Li everyone@ , -this field is ommited altogether, including the trailing comma. +this field is omitted altogether, including the trailing comma. .It Ar "access permissions" Access permissions may be specified in either short or long form. Short and long forms may not be mixed. ==== //depot/projects/soc2009/trasz_limits/bin/sh/eval.c#11 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/eval.c,v 1.83 2010/05/28 22:40:24 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/eval.c,v 1.84 2010/08/03 22:17:29 jilles Exp $"); #include #include @@ -145,7 +145,8 @@ p = grabstackstr(concat); } evalstring(p, builtin_flags & EV_TESTED); - } + } else + exitstatus = 0; return exitstatus; } @@ -160,9 +161,11 @@ union node *n; struct stackmark smark; int flags_exit; + int any; flags_exit = flags & EV_EXIT; flags &= ~EV_EXIT; + any = 0; setstackmark(&smark); setinputstring(s, 1); while ((n = parsecmd(0)) != NEOF) { @@ -171,11 +174,14 @@ evaltree(n, flags | EV_EXIT); else evaltree(n, flags); + any = 1; } popstackmark(&smark); } popfile(); popstackmark(&smark); + if (!any) + exitstatus = 0; if (flags_exit) exitshell(exitstatus); } ==== //depot/projects/soc2009/trasz_limits/bin/sh/histedit.c#8 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/histedit.c,v 1.36 2010/06/15 21:58:40 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/histedit.c,v 1.37 2010/08/01 16:37:51 jilles Exp $"); #include #include @@ -168,6 +168,7 @@ (histsize = atoi(hs)) < 0) histsize = 100; history(hist, &he, H_SETSIZE, histsize); + history(hist, &he, H_SETUNIQUE, 1); } } ==== //depot/projects/soc2009/trasz_limits/bin/sh/parser.c#14 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/parser.c,v 1.84 2010/07/18 12:45:31 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/parser.c,v 1.85 2010/07/25 22:25:52 jilles Exp $"); #include #include @@ -269,6 +269,9 @@ parseheredoc(); if (nlflag) return n1; + } else if (tok == TEOF && nlflag) { + parseheredoc(); + return n1; } else { tokpushback++; } ==== //depot/projects/soc2009/trasz_limits/bin/sleep/sleep.1#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)sleep.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/sleep/sleep.1,v 1.22 2005/01/16 16:41:59 ru Exp $ +.\" $FreeBSD: src/bin/sleep/sleep.1,v 1.23 2010/08/02 10:59:23 kib Exp $ .\" .Dd April 18, 1994 .Dt SLEEP 1 @@ -51,6 +51,10 @@ If the .Nm command receives a signal, it takes the standard action. +When the +.Dv SIGINFO +signal is received, the estimate of the amount of seconds left to +sleep is printed on the standard output. .Sh IMPLEMENTATION NOTES The .Dv SIGALRM @@ -58,14 +62,11 @@ .Pp The .Nm -command will accept and honor a non-integer number of specified seconds -(with a -.Ql .\& -character as a decimal point). -.Bf Sy +command allows and honors a non-integer number of seconds to sleep +in any form acceptable by +.Xr strtod 3 . This is a non-portable extension, and its use will nearly guarantee that a shell script will not execute properly on another system. -.Ef .Sh EXIT STATUS .Ex -std .Sh EXAMPLES ==== //depot/projects/soc2009/trasz_limits/bin/sleep/sleep.c#2 (text+ko) ==== @@ -39,87 +39,64 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/sleep/sleep.c,v 1.20 2005/08/07 09:11:38 stefanf Exp $"); +__FBSDID("$FreeBSD: src/bin/sleep/sleep.c,v 1.23 2010/08/02 10:57:56 kib Exp $"); #include +#include #include +#include +#include #include #include #include -#include + +static void usage(void); + +static volatile sig_atomic_t report_requested; +static void +report_request(int signo __unused) +{ -void usage(void); + report_requested = 1; +} int main(int argc, char *argv[]) { struct timespec time_to_sleep; - long l; - int neg; - char *p; + double d; + time_t original; + char buf[2]; - if (argc != 2) { + if (argc != 2) usage(); - return(1); - } - p = argv[1]; + if (sscanf(argv[1], "%lf%1s", &d, buf) != 1) + usage(); + if (d > INT_MAX) + usage(); + if (d <= 0) + return (0); + original = time_to_sleep.tv_sec = (time_t)d; + time_to_sleep.tv_nsec = 1e9 * (d - time_to_sleep.tv_sec); - /* Skip over leading whitespaces. */ - while (isspace((unsigned char)*p)) - ++p; - - /* Check for optional `+' or `-' sign. */ - neg = 0; - if (*p == '-') { - neg = 1; - ++p; - if (!isdigit((unsigned char)*p) && *p != '.') { - usage(); - return(1); - } + signal(SIGINFO, report_request); + while (nanosleep(&time_to_sleep, &time_to_sleep) != 0) { + if (report_requested) { + /* Reporting does not bother with nanoseconds. */ + warnx("about %d second(s) left out of the original %d", + (int)time_to_sleep.tv_sec, (int)original); + report_requested = 0; + } else + break; } - else if (*p == '+') - ++p; - - /* Calculate seconds. */ - if (isdigit((unsigned char)*p)) { - l = strtol(p, &p, 10); - if (l > INT_MAX) { - /* - * Avoid overflow when `seconds' is huge. This assumes - * that the maximum value for a time_t is <= INT_MAX. - */ - l = INT_MAX; - } - } else - l = 0; - time_to_sleep.tv_sec = (time_t)l; - - /* Calculate nanoseconds. */ - time_to_sleep.tv_nsec = 0; - - if (*p == '.') { /* Decimal point. */ - l = 100000000L; - do { - if (isdigit((unsigned char)*++p)) - time_to_sleep.tv_nsec += (*p - '0') * l; - else - break; - l /= 10; - } while (l); - } - - if (!neg && (time_to_sleep.tv_sec > 0 || time_to_sleep.tv_nsec > 0)) - (void)nanosleep(&time_to_sleep, (struct timespec *)NULL); - - return(0); + return (0); } -void +static void usage(void) { - const char msg[] = "usage: sleep seconds\n"; - write(STDERR_FILENO, msg, sizeof(msg) - 1); + fprintf(stderr, "usage: sleep seconds\n"); + exit(1); } ==== //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/baddof/baddof.c#2 (text+ko) ==== @@ -20,12 +20,10 @@ */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include #include #include @@ -162,7 +160,7 @@ FILE *fp; unsigned char *dof, *copy; - if (argc < 1) + if (argc < 2) fatal("expected D script as argument\n"); if ((fp = fopen(filename, "r")) == NULL) ==== //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/chkargs.c#2 (text+ko) ==== @@ -20,12 +20,10 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include #include #include @@ -35,6 +33,7 @@ static int g_fd; static int g_verbose; static int g_errexit; +static char *g_progname; static int probe(dtrace_hdl_t *dtp, const dtrace_probedesc_t *pdp, void *data) @@ -91,9 +90,11 @@ int err, c; char *p; + g_progname = argv[0]; + if ((dtp = dtrace_open(DTRACE_VERSION, 0, &err)) == NULL) { (void) fprintf(stderr, "%s: failed to open dtrace: %s\n", - argv[0], dtrace_errmsg(dtp, err)); + g_progname, dtrace_errmsg(dtp, err)); return (1); } @@ -111,7 +112,7 @@ if (dtrace_setopt(dtp, optarg, p) != 0) { (void) fprintf(stderr, "%s: failed to set " - "option -x %s: %s\n", argv[0], optarg, + "option -x %s: %s\n", g_progname, optarg, dtrace_errmsg(dtp, dtrace_errno(dtp))); return (2); } @@ -119,7 +120,7 @@ default: (void) fprintf(stderr, "Usage: %s [-ev] " - "[-x opt[=arg]] [probedesc]\n", argv[0]); + "[-x opt[=arg]] [probedesc]\n", g_progname); return (2); } } @@ -128,9 +129,9 @@ argc -= optind; if (argc > 0) { - if (dtrace_str2desc(dtp, DTRACE_PROBESPEC_NAME, argv[1], &pd)) { + if (dtrace_str2desc(dtp, DTRACE_PROBESPEC_NAME, argv[0], &pd)) { (void) fprintf(stderr, "%s: invalid probe description " - "%s: %s\n", argv[0], argv[1], + "%s: %s\n", g_progname, argv[0], dtrace_errmsg(dtp, dtrace_errno(dtp))); return (2); } ==== //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dstyle.pl#2 (text+ko) ==== @@ -21,12 +21,11 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#pragma ident "%Z%%M% %I% %E% SMI" -require 5.6.1; +require 5.8.4; $PNAME = $0; $PNAME =~ s:.*/::; ==== //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl#2 (text+ko) ==== @@ -24,9 +24,8 @@ # Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# ident "%Z%%M% %I% %E% SMI" -require 5.6.1; +require 5.8.4; use File::Find; use File::Basename; @@ -40,6 +39,7 @@ $USAGE = "Usage: $PNAME [-abfghjlnqs] [-d dir] [-i isa] " . "[-x opt[=arg]] [file | dir ...]\n"; ($MACH = `uname -p`) =~ s/\W*\n//; +($PLATFORM = `uname -i`) =~ s/\W*\n//; @dtrace_argv = (); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 4 19:35:27 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 32EBA1065678; Wed, 4 Aug 2010 19:35:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EB02E1065676 for ; Wed, 4 Aug 2010 19:35:26 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D7ABB8FC1A for ; Wed, 4 Aug 2010 19:35:26 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o74JZQDg039782 for ; Wed, 4 Aug 2010 19:35:26 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o74JZQLZ039780 for perforce@freebsd.org; Wed, 4 Aug 2010 19:35:26 GMT (envelope-from gk@FreeBSD.org) Date: Wed, 4 Aug 2010 19:35:26 GMT Message-Id: <201008041935.o74JZQLZ039780@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181847 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2010 19:35:27 -0000 http://p4web.freebsd.org/@@181847?ac=10 Change 181847 by gk@gk_h1 on 2010/08/04 19:35:09 Weak only cache support Affected files ... .. //depot/projects/soc2010/gk_namecache/sys/kern/vfs_dircache.c#9 edit .. //depot/projects/soc2010/gk_namecache/sys/modules/tmpfs/Makefile#5 edit .. //depot/projects/soc2010/gk_namecache/sys/sys/dircache.h#9 edit Differences ... ==== //depot/projects/soc2010/gk_namecache/sys/kern/vfs_dircache.c#9 (text+ko) ==== @@ -54,6 +54,7 @@ #define DC_NAMEROUND 32 /* power of 2 */ #define DC_OP_LOCKPREF 0x00000001 +#define DC_OP_CREATEREF 0x00000002 #define DP_UNUSED_MIN 512 #define DP_THRESHOLD_DFLT 256 @@ -86,11 +87,14 @@ struct dircache_mount { struct mtx dm_mtx; struct dircache_idtree dm_idhead; + TAILQ_HEAD(, dircache_ref) dm_weakhead; struct dircache_ref *dm_rootref; struct dircache_ref *dm_negativeref; u_long dm_idcnt; }; +typedef int dc_filter_t(struct dircache *dc); + static struct dircache * dc_use(struct dircache *dc); static int dc_rele(struct dircache *dc); @@ -199,6 +203,7 @@ DC_STAT_DEFINE(clearunused_restart, ""); DC_STAT_DEFINE(clearinvalid, ""); +#define dm_assertlock(dm, w) mtx_assert(&(dm)->dm_mtx, (w)) #define dm_lock(dm) mtx_lock(&(dm)->dm_mtx) #define dm_unlock(dm) mtx_unlock(&(dm)->dm_mtx) @@ -295,10 +300,42 @@ RB_GENERATE_STATIC(dircache_idtree, dircache_ref, dr_idtree, dr_cmp); +static __inline void +dr_mntq_insert(struct dircache_ref *dr) +{ + struct dircache_mount *dm; + struct dircache_ref *col; + + dm = dr->dr_mount; + dm_assertlock(dm, MA_OWNED); + + if (dr->dr_id != 0) { + col = RB_INSERT(dircache_idtree, &dm->dm_idhead, dr); + MPASS(col == NULL); + } else + TAILQ_INSERT_HEAD(&dm->dm_weakhead, dr, dr_weaklist); + dm->dm_idcnt++; +} + +static __inline void +dr_mntq_remove(struct dircache_ref *dr) +{ + struct dircache_mount *dm; + + dm = dr->dr_mount; + dm_assertlock(dm, MA_OWNED); + + if (dr->dr_id != 0) + RB_REMOVE(dircache_idtree, &dm->dm_idhead, dr); + else + TAILQ_REMOVE(&dm->dm_weakhead, dr, dr_weaklist); + dm->dm_idcnt--; +} + static struct dircache_ref * dr_alloc(struct dircache_mount *dm, struct vnode *vp, uint64_t id) { - struct dircache_ref *dr, *col; + struct dircache_ref *dr; dr = uma_zalloc(dircache_ref_zone, M_WAITOK | M_ZERO); mtx_init(&dr->dr_mtx, "dircache ref", NULL, MTX_DEF | MTX_DUPOK); @@ -308,13 +345,9 @@ dr->dr_vnode = vp; if (vp != NULL) MPASS(dm_get(vp) == dr->dr_mount); - if (id != 0) { - dm_lock(dm); - col = RB_INSERT(dircache_idtree, &dm->dm_idhead, dr); - dm->dm_idcnt++; - MPASS(col == NULL); - dm_unlock(dm); - } + dm_lock(dm); + dr_mntq_insert(dr); + dm_unlock(dm); return (dr); } @@ -331,9 +364,9 @@ MPASS(RB_EMPTY(&dr->dr_children)); dr_unlock(dr); dm_lock(dm); - RB_REMOVE(dircache_idtree, &dm->dm_idhead, dr); - dm->dm_idcnt--; + dr_mntq_remove(dr); dm_unlock(dm); + mtx_destroy(&dr->dr_mtx); uma_zfree(dircache_ref_zone, dr); } else dr_unlock(dr); @@ -341,14 +374,20 @@ } static struct dircache_ref * -dr_get(struct vnode *vp) +dr_get(struct vnode *vp, int flags) { struct dircache_ref *dr; dr = vp->v_dircache; - MPASS(dr != NULL); - dr_lock(dr); - MPASS(vp->v_dircache == dr); + if (dr == NULL && (flags & DC_OP_CREATEREF) != 0 && + (vp->v_mount->mnt_kern_flag & MNTK_DIRCACHE) == 0) { + dircache_allocvnode(vp, 0); + dr = vp->v_dircache; + } + if (dr != NULL) { + dr_lock(dr); + MPASS(vp->v_dircache == dr); + } return (dr); } @@ -358,8 +397,7 @@ struct dircache *dc; dc = LIST_FIRST(&dr->dr_entries); - MPASS(dc != NULL); - MPASS(LIST_NEXT(dc, dc_reflist) == NULL); + MPASS(dc == NULL || LIST_NEXT(dc, dc_reflist) == NULL); return (dc); } @@ -367,7 +405,12 @@ static __inline struct dircache_ref * dr_parentref(struct dircache_ref *dr) { - return (dr_singleentry(dr)->dc_parentref); + struct dircache *dc; + + dc = dr_singleentry(dr); + if (dc != NULL) + return (dc->dc_parentref); + return (NULL); } static void @@ -536,6 +579,7 @@ DCDEBUG("drop: %p usecnt=%d holdcnt=%d-1\n", dc, dc->dc_usecnt, dc->dc_holdcnt); + dc_assertlock(dc, islocked ? MA_OWNED : MA_NOTOWNED); if (refcount_release(&dc->dc_holdcnt) != 0) { MPASS(dc->dc_usecnt == 0); if (islocked != 0) { @@ -599,9 +643,11 @@ dr_assertlock(dr, MA_OWNED); dc = dr_singleentry(dr); - dc_lock(dc); - dc_use(dc); - dc_unlock(dc); + if (dc != NULL) { + dc_lock(dc); + dc_use(dc); + dc_unlock(dc); + } } static int @@ -634,6 +680,8 @@ struct dircache *dc; dc = dr_singleentry(dr); + if (dc == NULL) + return (0); dc_lock(dc); return (dc_rele(dc)); } @@ -665,7 +713,7 @@ struct dircache_ref *dr; struct dircache *dc; - dr = dr_get(vp); + dr = dr_get(vp, DC_OP_CREATEREF); dc = LIST_FIRST(&dr->dr_entries); if (dc == NULL) { dr_unlock(dr); @@ -725,7 +773,7 @@ struct dircache_ref *parentref; struct dircache *dc; - parentref = dr_get(dvp); + parentref = dr_get(dvp, DC_OP_CREATEREF); dc_initname(&key, cnp->cn_nameptr, cnp->cn_namelen); dc = RB_FIND(dircache_tree, &parentref->dr_children, &key); @@ -749,7 +797,7 @@ } } -static void dr_removechildren(struct dircache_ref *ref); +static void dc_removechildren(struct dircache_ref *ref); static void dc_removeentry(struct dircache *dc, int flags) @@ -776,7 +824,7 @@ dr_lock(selfref); if (!RB_EMPTY(&selfref->dr_children)) - dr_removechildren(selfref); + dc_removechildren(selfref); dr_remove(selfref, dc); dc_rele_byref(parentref); if ((flags & DC_OP_LOCKPREF) == 0) @@ -808,7 +856,7 @@ dc_unlock(dc); dr_lock(selfref); - dr_removechildren(selfref); + dc_removechildren(selfref); dr_remove(selfref, dc); dr_lock(negativeref); @@ -822,7 +870,26 @@ } static void -dr_removechildren(struct dircache_ref *ref) +dc_detachentry(struct dircache *dc) +{ + struct dircache_ref *parentref; + + MPASS(dc->dc_parentref != NULL); + dc_assertlock(dc, MA_OWNED); + dr_assertlock(dc->dc_parentref, MA_OWNED); + + DCDEBUG("detach entry: %p %s\n", dc, dc->dc_name); + parentref = dc->dc_parentref; + dc->dc_parentref = NULL; + RB_REMOVE(dircache_tree, &parentref->dr_children, dc); + dc_invalidate(dc); + + dc_rele_byref(parentref); + dc_droplocked(dc); +} + +static void +dc_removechildren(struct dircache_ref *ref) { struct dircache *child; @@ -891,6 +958,58 @@ } static void +dc_purge(struct vnode *vp, dc_filter_t *filter) +{ + struct dircache_ref *parentref, *dr; + struct dircache *dc; + + DC_ASSERT_WEAK(vp); + +restart: + dr = dr_get(vp, 0); + if (dr == NULL) + return; + RB_FOREACH(dc, dircache_tree, &dr->dr_children) { + dr_assertlock(dr, MA_OWNED); + dc_lock(dc); + if (filter == NULL || filter(dc) != 0) + dc_detachentry(dc); + else + dc_unlock(dc); + } + while (!LIST_EMPTY(&dr->dr_entries)) { + dc = LIST_FIRST(&dr->dr_entries); + if (filter != NULL && filter(dc) == 0) + continue; + parentref = dc->dc_parentref; + if (parentref != NULL) { + dc_hold(dc); + if (dr_trylock(parentref) == 0) { + dr_unlock(dr); + dr_lock(parentref); + } else + dr_unlock(dr); + dc_lock(dc); + if (dc->dc_parentref != parentref) { + dr_unlock(parentref); + dc_droplocked(dc); + goto restart; + } + dc_removeentry(dc, 0); + dc_drop(dc); + dr_lock(dr); + } + } + dr_unlock(dr); +} + +static int +dc_filternegative(struct dircache *dc) +{ + return (dc->dc_type == DT_NEGATIVE); +} + +static void dp_unused_insert(struct dircache *dc) { dc_assertlock(dc, MA_OWNED); @@ -1041,6 +1160,7 @@ M_WAITOK | M_ZERO); mtx_init(&dm->dm_mtx, "dircache mount", NULL, MTX_DEF); RB_INIT(&dm->dm_idhead); + TAILQ_INIT(&dm->dm_weakhead); dm->dm_negativeref = dr_alloc(dm, NULL, 0); if (id != 0) { MPASS((mp->mnt_kern_flag & MNTK_DIRCACHE) != 0); @@ -1108,7 +1228,7 @@ } childref = dr; dr = dr_parentref(dr); - dr_removechildren(childref); + dc_removechildren(childref); if (dr != NULL) { if (dr_trylock(dr) == 0) { dr_unlock(childref); @@ -1139,13 +1259,15 @@ mtx_unlock(&pool.dp_mtx); dm_lock(dm); - RB_REMOVE(dircache_idtree, &dm->dm_idhead, dm->dm_rootref); - dm->dm_idcnt--; + dr_mntq_remove(dm->dm_rootref); + dr_mntq_remove(dm->dm_negativeref); dm_unlock(dm); uma_zfree(dircache_ref_zone, dm->dm_rootref); uma_zfree(dircache_ref_zone, dm->dm_negativeref); MPASS(RB_EMPTY(&dm->dm_idhead)); + MPASS(TAILQ_EMPTY(&dm->dm_weakhead)); + mtx_destroy(&dm->dm_mtx); free(dm, M_DIRCACHE); } @@ -1197,17 +1319,20 @@ else if (cnp->cn_nameptr[0] == '.' && cnp->cn_nameptr[1] == '.' && cnp->cn_namelen == 2) { MPASS((cnp->cn_flags & ISDOTDOT) != 0); - parentref = dr_get(dvp); + parentref = dr_get(dvp, DC_OP_CREATEREF); if (parentref != NULL) { DCDEBUG("lookup dotdot: dvp=%p\n", dvp); selfref = dr_parentref(parentref); - *vpp = selfref->dr_vnode; - if (*vpp != NULL) - error = -1; + if (selfref != NULL) { + *vpp = selfref->dr_vnode; + if (*vpp != NULL) + error = -1; + } else + *vpp = NULL; dr_unlock(parentref); } } else { - dc = dc_find(dvp, cnp, 0); + dc = dc_find(dvp, cnp, DC_OP_LOCKPREF); if (dc == NULL) { DCDEBUG("lookup: not found: %s; dvp=%p; op=%ld\n", cnp->cn_nameptr, dvp, cnp->cn_nameiop); @@ -1217,6 +1342,8 @@ switch (cnp->cn_nameiop) { case CREATE: case RENAME: + dc_removeentry(dc, 0); + dc = NULL; error = 0; break; default: @@ -1230,9 +1357,13 @@ } else { DC_STAT_INC(ds_miss); } - DCDEBUG("lookup: error=%d: %p %s; dvp=%p; op=%ld\n", - error, dc, dc->dc_name, dvp, cnp->cn_nameiop); - dc_unlock(dc); + DCDEBUG("lookup: error=%d: %p %.*s; dvp=%p; op=%ld\n", + error, dc, (int)cnp->cn_namelen, cnp->cn_nameptr, + dvp, cnp->cn_nameiop); + if (dc != NULL) { + dr_unlock(dc->dc_parentref); + dc_unlock(dc); + } } if (error == -1) { @@ -1267,13 +1398,12 @@ struct dircache *rdc; struct dircache_ref *selfref; - DC_ASSERT_STRONG(dvp); MPASS(type == DT_STRONG || type == DT_WEAK || type == DT_NEGATIVE); ndc = dc_alloc(type, cnp->cn_nameptr, cnp->cn_namelen); DCDEBUG("add: %s; vp=%p\n", cnp->cn_nameptr, vp); - parentref = dr_get(dvp); + parentref = dr_get(dvp, DC_OP_CREATEREF); dc_lock(ndc); rdc = dc_insertentry(parentref, ndc); dr_assertlock(parentref, MA_NOTOWNED); // XXX @@ -1283,7 +1413,7 @@ selfref = dm_get(dvp)->dm_negativeref; dr_lock(selfref); } else { - selfref = dr_get(vp); + selfref = dr_get(vp, DC_OP_CREATEREF); dr_updategen(selfref); } MPASS(selfref != NULL); @@ -1309,7 +1439,7 @@ DC_ASSERT_STRONG(dvp); DCDEBUG("remove: %s; vp=%p\n", cnp->cn_nameptr, vp); - parentref = dr_get(dvp); + parentref = dr_get(dvp, 0); dc = dc_getentry(vp, cnp, parentref); if (dc == NULL) { DCDEBUG("remove: vp not found: %s vp=%p\n", @@ -1354,7 +1484,7 @@ dc, dc->dc_name, dc->dc_parentref); dc_removeentry(dc, 0); } else { - parentref = dr_get(tdvp); + parentref = dr_get(tdvp, 0); dc_use_byref(parentref); dr_unlock(parentref); } @@ -1448,21 +1578,26 @@ struct dircache_mount *dm; struct dircache_ref *dr, key; - DC_ASSERT_STRONG(vp); MPASS(vp->v_type != VNON && vp->v_type != VBAD); - MPASS(vp->v_dircache == NULL); - MPASS(id != 0); dm = dm_get(vp); + dr = NULL; - dm_lock(dm); - key.dr_id = id; - dr = RB_FIND(dircache_idtree, &dm->dm_idhead, &key); - dm_unlock(dm); + if (id != 0) { + MPASS(vp->v_dircache == NULL); + MPASS((vp->v_mount->mnt_kern_flag & MNTK_DIRCACHE) != 0); + dm_lock(dm); + key.dr_id = id; + dr = RB_FIND(dircache_idtree, &dm->dm_idhead, &key); + dm_unlock(dm); + } else if (vp->v_dircache != NULL) { + MPASS(vp->v_dircache->dr_id == id); + return; + } if (dr == NULL) - dr = dr_alloc(dm_get(vp), vp, id); - else + dr = dr_alloc(dm, vp, id); + else if (id != 0) DC_STAT_INC(ds_allocvnode_inode_hit); DCDEBUG("alloc vnode: vp=%p; ino=%jd; dr=%p\n", @@ -1470,10 +1605,18 @@ dr_lock(dr); VI_LOCK(vp); + if (vp->v_dircache != NULL && vp->v_dircache != dr) { + /* Race should be possible only for weak entries. */ + MPASS(id == 0); + dr_unlock(dr); + VI_UNLOCK(vp); + dr_drop(dr); + return; + } MPASS(dr->dr_vnode == NULL || dr->dr_vnode == vp); MPASS(vp->v_dircache == NULL || vp->v_dircache == dr); + dr->dr_vnode = vp; vp->v_dircache = dr; - dr->dr_vnode = vp; VI_UNLOCK(vp); LIST_FOREACH(dc, &dr->dr_entries, dc_reflist) { dc_lock(dc); @@ -1495,7 +1638,7 @@ struct dircache *dc; struct dircache_ref *dr; - dr = dr_get(vp); + dr = dr_get(vp, 0); if (dr == NULL) return; @@ -1523,7 +1666,9 @@ struct dircache_ref *dr; int error; - dr = dr_get(vp); + dr = dr_get(vp, 0); + if (dr == NULL) + return (ENOENT); dc = LIST_FIRST(&dr->dr_entries); if (dc == NULL) { dr_unlock(dr); @@ -1552,7 +1697,7 @@ struct dircache_ref *dr; u_long gen; - dr = dr_get(vp); + dr = dr_get(vp, 0); if (dr == NULL) return (0); gen = dr->dr_gen; @@ -1568,14 +1713,12 @@ DC_ASSERT_WEAK(dvp); -#if 0 - dr_initweak(dvp); - dr_initweak(vp); -#endif + dircache_allocvnode(dvp, 0); - if (vp != NULL) + if (vp != NULL) { + dircache_allocvnode(vp, 0); error = dircache_add(dvp, vp, cnp, DT_WEAK); - else + } else error = dircache_add(dvp, NULL, cnp, DT_NEGATIVE); return (error); @@ -1584,90 +1727,13 @@ void dircache_purge(struct vnode *vp) { -#if 0 - struct dircache_ref *dr; - struct dircache *dc; - - DC_ASSERT_WEAK(vp); - - dr = dr_get(vp); - if (dr == NULL) - return; - while (!LIST_EMPTY(&dr->dr_entries)) { - dc = LIST_FIRST(&dr->dr_entries); - dc_lock(dc); - dc_hold(dc); - if (!RB_EMPTY(&dc->dc_children)) - dc_detachchildren(dc); - dc_detacheentry(dc); - dc_drop(dc); - } -#endif + dc_purge(vp, NULL); } void dircache_purge_negative(struct vnode *vp) { -#if 0 - DC_ASSERT_WEAK(vp); - - dr = dr_get(vp); - if (dr == NULL) - return; -#endif - -#if 0 - TAILQ_HEAD(, dircache) head = TAILQ_HEAD_INITIALIZER(head); - struct dircache *dc, *child, *tmp; - int r; - -restart: - VI_LOCK(vp); - dc = TAILQ_FIRST(&vp->v_dircache); - if (dc == NULL) { - VI_UNLOCK(vp); - return; - } - if (vp->v_type == VDIR) { - MPASS(TAILQ_NEXT(dc, dc_list) == NULL); - if (dc_refinterlock(vp, dc) != 0) - goto restart; - dc_use(dc); - RB_FOREACH_SAFE(child, dircache_tree, &dc->dc_children, tmp) { - if (child->dc_type == DT_NEGATIVE) { - RB_REMOVE(dircache_tree, &dc->dc_children, - child); - if (dc_trylock(child) != 0) { - child->dc_parent = NULL; - dc_droplocked(child); - r = dc_relesafe(dc); - MPASS(r == 0); - } else - TAILQ_INSERT_HEAD(&head, child, - dc_tmplist); - } - } - dc_unlock(dc); - while(!TAILQ_EMPTY(&head)) { - child = TAILQ_FIRST(&head); - TAILQ_REMOVE(&head, child, dc_tmplist); - dc_lock(child); - MPASS(child->dc_parent == dc); - dc_lock(dc); - child->dc_parent = NULL; - dc_droplocked(child); - dc_rele(dc); - } - dc_lock(dc); - dc_rele(dc); - } else { - /* Check invariants */ - TAILQ_FOREACH(dc, &vp->v_dircache, dc_list) { - MPASS(dc->dc_type != DT_NEGATIVE); - } - VI_UNLOCK(vp); - } -#endif + dc_purge(vp, dc_filternegative); } ==== //depot/projects/soc2010/gk_namecache/sys/modules/tmpfs/Makefile#5 (text+ko) ==== @@ -10,8 +10,8 @@ .if defined(NO_DIRCACHE) DEBUG_FLAGS+= -DNO_DIRCACHE -#.elif !defined(USE_DIRCACHE) -#DEBUG_FLAGS+= -DDIRCACHE_WEAK +.elif !defined(USE_DIRCACHE) +DEBUG_FLAGS+= -DDIRCACHE_WEAK .endif .include ==== //depot/projects/soc2010/gk_namecache/sys/sys/dircache.h#9 (text+ko) ==== @@ -64,13 +64,19 @@ struct mtx dr_mtx; struct dircache_tree dr_children; LIST_HEAD(, dircache) dr_entries; - RB_ENTRY(dircache_ref) dr_idtree; + union { + RB_ENTRY(dircache_ref) drl_idtree; + TAILQ_ENTRY(dircache_ref) drl_weaklist; + } dr_l; struct vnode *dr_vnode; struct dircache_mount *dr_mount; uint64_t dr_id; u_long dr_gen; }; +#define dr_idtree dr_l.drl_idtree +#define dr_weaklist dr_l.drl_weaklist + RB_HEAD(dircache_idtree, dircache_ref); void dircache_init(struct mount *mp, uint64_t id); From owner-p4-projects@FreeBSD.ORG Wed Aug 4 21:23:25 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 518EF1065676; Wed, 4 Aug 2010 21:23:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F20011065670 for ; Wed, 4 Aug 2010 21:23:24 +0000 (UTC) (envelope-from jlaffaye@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DE9288FC12 for ; Wed, 4 Aug 2010 21:23:24 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o74LNO4o060882 for ; Wed, 4 Aug 2010 21:23:24 GMT (envelope-from jlaffaye@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o74LNO3d060880 for perforce@freebsd.org; Wed, 4 Aug 2010 21:23:24 GMT (envelope-from jlaffaye@FreeBSD.org) Date: Wed, 4 Aug 2010 21:23:24 GMT Message-Id: <201008042123.o74LNO3d060880@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jlaffaye@FreeBSD.org using -f From: Julien Laffaye To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181848 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2010 21:23:25 -0000 http://p4web.freebsd.org/@@181848?ac=10 Change 181848 by jlaffaye@jlaffaye-chulak on 2010/08/04 21:23:05 Abort a complete package installation if a package in the set failed to install. A 'already installed with the same version' error is not a valid justification to abort a complete package installation. Thus, extract_archive() returns a special error code in this case. Affected files ... .. //depot/projects/soc2010/pkg_complete/usr.sbin/pkg_install/add/complete.c#2 edit .. //depot/projects/soc2010/pkg_complete/usr.sbin/pkg_install/add/extract.c#14 edit .. //depot/projects/soc2010/pkg_complete/usr.sbin/pkg_install/add/perform.c#13 edit Differences ... ==== //depot/projects/soc2010/pkg_complete/usr.sbin/pkg_install/add/complete.c#2 (text+ko) ==== @@ -49,14 +49,19 @@ archive_read_finish(a); return (1); } - retcode += extract_package(a, &pkg, data->fname); + retcode = extract_package(a, &pkg, data->fname); free_plist(&pkg); + if (retcode == 1) { + warnx("aborting complete package installation."); + archive_read_finish(a); + return (1); + } } archive_read_finish(a); } - return (retcode); + return (0); } static ssize_t ==== //depot/projects/soc2010/pkg_complete/usr.sbin/pkg_install/add/extract.c#14 (text+ko) ==== @@ -36,8 +36,17 @@ char db_dir_tmp[FILENAME_MAX]; char db_dir[FILENAME_MAX]; +/* + * Extract and parse the plist of a package archive. + * The archive `a' must be opened by libarchive, with its internal iterator + * at CONTENTS_FNAME position. `archive_entry' must be a valid libarchive + * representation of this entry. + * The plist is stored in `pkg'. + * Returns 0 on success, 1 otherwise. + */ int -extract_plist(struct archive *a, struct archive_entry *entry, Package *pkg) { +extract_plist(struct archive *a, struct archive_entry *entry, Package *pkg) +{ char *plist_buf; ssize_t s; int retcode; @@ -65,6 +74,12 @@ return (0); } +/* + * Extract a package `fname' already opened via libarchive in `a'. + * The internal libarchive iterator of `a' must be at the plist entry position. + * Returns 0 on success, 1 on error, 2 if the package is already installed with + * the same version. + */ int extract_package(struct archive *a, Package *pkg, const char *fname) { @@ -111,10 +126,14 @@ * See if we're already registered either with the same name (the same * version) or some other version with the same origin. */ - if ((isinstalledpkg(pkg->name) > 0 || - matchbyorigin(pkg->origin, NULL) != NULL) && !Force) { - warnx("package '%s' or its older version already installed%s", - pkg->name, FailOnAlreadyInstalled ? "" : " (ignored)"); + if (!Force && isinstalledpkg(pkg->name) > 0) { + warnx("package '%s' already installed%s", pkg->name, + FailOnAlreadyInstalled ? "!" : " (ignored)"); + if (FailOnAlreadyInstalled == TRUE) + return (2); + } else if (!Force && matchbyorigin(pkg->origin, NULL) != NULL) { + warnx("an other version of '%s' is already installed%s", + pkg->origin, FailOnAlreadyInstalled ? "!" : " (ignored)"); if (FailOnAlreadyInstalled == TRUE) return (1); } ==== //depot/projects/soc2010/pkg_complete/usr.sbin/pkg_install/add/perform.c#13 (text+ko) ==== @@ -110,7 +110,8 @@ retcode = 1; goto cleanup; } - retcode = extract_package(a, &pkg, fname); + if (extract_package(a, &pkg, fname) != 0) + retcode = 1; free_plist(&pkg); } else if (strcmp(pathname, PKG_COMPLETE_FNAME) == 0) { if (Verbose) From owner-p4-projects@FreeBSD.ORG Thu Aug 5 15:46:36 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 39D78106567B; Thu, 5 Aug 2010 15:46:36 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F296A1065676 for ; Thu, 5 Aug 2010 15:46:35 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C5FA38FC1C for ; Thu, 5 Aug 2010 15:46:35 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o75FkZWg005974 for ; Thu, 5 Aug 2010 15:46:35 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o75FkZxY005972 for perforce@freebsd.org; Thu, 5 Aug 2010 15:46:35 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 5 Aug 2010 15:46:35 GMT Message-Id: <201008051546.o75FkZxY005972@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181867 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2010 15:46:36 -0000 http://p4web.freebsd.org/@@181867?ac=10 Change 181867 by hselasky@hselasky_laptop001 on 2010/08/05 15:46:12 USB controller (XHCI): - correct some register definitions. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/xhcireg.h#14 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/xhcireg.h#14 (text+ko) ==== @@ -117,7 +117,7 @@ #define XHCI_PS_PLS_GET(x) (((x) >> 5) & 0xF) /* RW - port link state */ #define XHCI_PS_PLS_SET(x) (((x) & 0xF) << 5) /* RW - port link state */ #define XHCI_PS_PP 0x00000100 /* RW - port power */ -#define XHCI_PS_SPEED_GET(x) (((x) >> 9) & 0xF) /* RO - port speed */ +#define XHCI_PS_SPEED_GET(x) (((x) >> 10) & 0xF) /* RO - port speed */ #define XHCI_PS_PIC_GET(x) (((x) >> 14) & 0x3) /* RW - port indicator */ #define XHCI_PS_PIC_SET(x) (((x) & 0x3) << 14) /* RW - port indicator */ #define XHCI_PS_LWS 0x00010000 /* RW - port link state write strobe */ @@ -171,7 +171,7 @@ #define XHCI_ERSTBA_LO(n) (0x0030 + (0x20 * (n))) /* XHCI event ring segment table BA */ #define XHCI_ERSTBA_HI(n) (0x0034 + (0x20 * (n))) /* XHCI event ring segment table BA */ #define XHCI_ERDP_LO(n) (0x0038 + (0x20 * (n))) /* XHCI event ring dequeue pointer */ -#define XHCI_ERDP_LO_SIGET(x) ((x) & 0x7) /* RO - dequeue segment index */ +#define XHCI_ERDP_LO_SINDEX(x) ((x) & 0x7) /* RO - dequeue segment index */ #define XHCI_ERDP_LO_BUSY 0x00000008 /* RW - event handler busy */ #define XHCI_ERDP_HI(n) (0x003C + (0x20 * (n))) /* XHCI event ring dequeue pointer */ From owner-p4-projects@FreeBSD.ORG Thu Aug 5 15:48:38 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8EDA9106567B; Thu, 5 Aug 2010 15:48:38 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5394B106566B for ; Thu, 5 Aug 2010 15:48:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 25EEB8FC1A for ; Thu, 5 Aug 2010 15:48:38 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o75FmcWq006119 for ; Thu, 5 Aug 2010 15:48:38 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o75Fmc4g006117 for perforce@freebsd.org; Thu, 5 Aug 2010 15:48:38 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 5 Aug 2010 15:48:38 GMT Message-Id: <201008051548.o75Fmc4g006117@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181868 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2010 15:48:38 -0000 http://p4web.freebsd.org/@@181868?ac=10 Change 181868 by hselasky@hselasky_laptop001 on 2010/08/05 15:48:33 USB controller (XHCI): - make vendor ID string nicer - correct extended capabilities scan loop Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/xhci_pci.c#7 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci_pci.c#7 (text+ko) ==== @@ -198,7 +198,7 @@ } device_set_ivars(sc->sc_bus.bdev, &sc->sc_bus); - sprintf(sc->sc_vendor, "(0x%04x)", pci_get_vendor(self)); + sprintf(sc->sc_vendor, "0x%04x", pci_get_vendor(self)); #if (__FreeBSD_version >= 700031) err = bus_setup_intr(self, sc->sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE, @@ -276,31 +276,34 @@ { struct xhci_softc *sc = device_get_softc(self); uint32_t cparams; + uint32_t eecp; uint32_t eec; uint16_t to; - uint8_t eecp; uint8_t bios_sem; cparams = XREAD4(sc, capa, XHCI_HCSPARAMS0); + eec = -1; + /* Synchronise with the BIOS if it owns the controller. */ - for (eecp = XHCI_HCS0_XECP(cparams); eecp != 0; - eecp = XHCI_XECP_NEXT(eec)) { - eec = pci_read_config(self, eecp, 4); + for (eecp = XHCI_HCS0_XECP(cparams) << 2; eecp != 0 && XHCI_XECP_NEXT(eec); + eecp += XHCI_XECP_NEXT(eec) << 2) { + eec = XREAD4(sc, capa, eecp); + if (XHCI_XECP_ID(eec) != XHCI_ID_USB_LEGACY) continue; - bios_sem = pci_read_config(self, eecp + - XHCI_XECP_BIOS_SEM, 1); + bios_sem = XREAD1(sc, capa, eecp + + XHCI_XECP_BIOS_SEM); if (bios_sem == 0) continue; device_printf(sc->sc_bus.bdev, "waiting for BIOS " "to give up control\n"); - pci_write_config(self, eecp + - XHCI_XECP_OS_SEM, 1, 1); + XWRITE1(sc, capa, eecp + + XHCI_XECP_OS_SEM, 1); to = 500; while (1) { - bios_sem = pci_read_config(self, eecp + - XHCI_XECP_BIOS_SEM, 1); + bios_sem = XREAD1(sc, capa, eecp + + XHCI_XECP_BIOS_SEM); if (bios_sem == 0) break; From owner-p4-projects@FreeBSD.ORG Thu Aug 5 15:49:40 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C4B901065678; Thu, 5 Aug 2010 15:49:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 88F391065676 for ; Thu, 5 Aug 2010 15:49:39 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5B67D8FC16 for ; Thu, 5 Aug 2010 15:49:39 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o75FndPj006238 for ; Thu, 5 Aug 2010 15:49:39 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o75FndPS006236 for perforce@freebsd.org; Thu, 5 Aug 2010 15:49:39 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 5 Aug 2010 15:49:39 GMT Message-Id: <201008051549.o75FndPS006236@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181869 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2010 15:49:40 -0000 http://p4web.freebsd.org/@@181869?ac=10 Change 181869 by hselasky@hselasky_laptop001 on 2010/08/05 15:49:38 USB controller (XHCI): - scratchpad buffers are per HC and not per USB device. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#15 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#15 (text+ko) ==== @@ -51,9 +51,11 @@ #define XHCI_PAGE_SIZE 4096 /* bytes */ struct xhci_dev_ctx_addr { - volatile uint64_t qwBaaDevCtxAddr; - volatile uint64_t qwBaaScratchAddr; -#define XHCI_BAA_MASK 0xFFFFFFFFFFFFFFE0ULL + volatile uint64_t qwBaaDevCtxAddr[USB_MAX_DEVICES + 1]; + struct { + volatile uint64_t dummy; + } __aligned(64) padding; + volatile uint64_t qwSpBufPtr[XHCI_MAX_SCRATCHPADS]; }; #define XHCI_EPNO2EPID(x) ((((x) & UE_DIR_IN) ? 1 : 0) | (2 * ((x) & UE_ADDR))) @@ -151,7 +153,6 @@ struct xhci_input_ctx ctx_input; struct xhci_slot_ctx ctx_slot; struct xhci_endp_ctx ctx_ep[XHCI_MAX_ENDPOINTS - 1]; - volatile uint64_t ctx_sp_buf_ptr[XHCI_MAX_SCRATCHPADS]; }; struct xhci_dev_ctx { @@ -359,12 +360,10 @@ struct usb_page_cache device_pc; struct usb_page_cache input_pc; struct usb_page_cache endpoint_pc; - struct usb_page_cache scratch_pc[XHCI_MAX_SCRATCHPADS]; struct usb_page device_pg; struct usb_page input_pg; struct usb_page endpoint_pg; - struct usb_page scratch_pg[XHCI_MAX_SCRATCHPADS]; struct xhci_endpoint_ext endp[XHCI_MAX_ENDPOINTS]; }; @@ -372,9 +371,11 @@ struct xhci_hw_softc { struct usb_page_cache root_pc; struct usb_page_cache ctx_pc; + struct usb_page_cache scratch_pc[XHCI_MAX_SCRATCHPADS]; struct usb_page root_pg; struct usb_page ctx_pg; + struct usb_page scratch_pg[XHCI_MAX_SCRATCHPADS]; struct xhci_hw_dev devs[XHCI_MAX_DEVICES]; }; From owner-p4-projects@FreeBSD.ORG Thu Aug 5 16:01:53 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 58FAF1065688; Thu, 5 Aug 2010 16:01:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1D2441065673 for ; Thu, 5 Aug 2010 16:01:53 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E397F8FC22 for ; Thu, 5 Aug 2010 16:01:52 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o75G1qFn007226 for ; Thu, 5 Aug 2010 16:01:52 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o75G1qca007224 for perforce@freebsd.org; Thu, 5 Aug 2010 16:01:52 GMT (envelope-from trasz@freebsd.org) Date: Thu, 5 Aug 2010 16:01:52 GMT Message-Id: <201008051601.o75G1qca007224@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181870 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2010 16:01:53 -0000 http://p4web.freebsd.org/@@181870?ac=10 Change 181870 by trasz@trasz_victim on 2010/08/05 16:01:06 Add SDT probes for containers. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_container.c#23 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_container.c#23 (text+ko) ==== @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include "opt_hrl.h" +#include "opt_kdtrace.h" #include #include @@ -42,6 +43,7 @@ #include #include #include +#include #include #include #include @@ -55,6 +57,17 @@ static void container_sub(struct container *dest, const struct container *src); +SDT_PROVIDER_DEFINE(container); +SDT_PROBE_DEFINE3(container, kernel, rusage, add, "struct proc *", "int", "uint64_t"); +SDT_PROBE_DEFINE3(container, kernel, rusage, add_failure, "struct proc *", "int", "uint64_t"); +SDT_PROBE_DEFINE3(container, kernel, rusage, set, "struct proc *", "int", "uint64_t"); +SDT_PROBE_DEFINE3(container, kernel, rusage, set_failure, "struct proc *", "int", "uint64_t"); +SDT_PROBE_DEFINE3(container, kernel, rusage, sub, "struct proc *", "int", "uint64_t"); +SDT_PROBE_DEFINE1(container, kernel, container, create, "struct container *"); +SDT_PROBE_DEFINE1(container, kernel, container, destroy, "struct container *"); +SDT_PROBE_DEFINE2(container, kernel, container, join, "struct container *", "struct container *"); +SDT_PROBE_DEFINE2(container, kernel, container, join_failure, "struct container *", "struct container *"); +SDT_PROBE_DEFINE2(container, kernel, container, leave, "struct container *", "struct container *"); static int container_resource_reclaimable(int resource) @@ -159,6 +172,8 @@ { int i, error; + SDT_PROBE(container, kernel, container, join, child, parent, 0, 0, 0); + mtx_assert(&container_lock, MA_OWNED); KASSERT(child != NULL, ("child != NULL")); KASSERT(parent != NULL, ("parent != NULL")); @@ -168,9 +183,10 @@ ("container already joined")); if (child->c_parents[i] == NULL) { error = container_add(parent, child); - if (error) + if (error) { + SDT_PROBE(container, kernel, container, join_failure, child, parent, 0, 0, 0); return (error); - + } child->c_parents[i] = parent; return (0); } @@ -195,6 +211,8 @@ { int i; + SDT_PROBE(container, kernel, container, leave, child, parent, 0, 0, 0); + mtx_assert(&container_lock, MA_OWNED); KASSERT(child != NULL, ("child != NULL")); KASSERT(parent != NULL, ("parent != NULL")); @@ -239,6 +257,8 @@ { int i; + SDT_PROBE(container, kernel, container, create, container, 0, 0, 0, 0); + for (i = 0; i <= RUSAGE_MAX; i++) KASSERT(container->c_resources[i] == 0, ("container->c_resources[%d] != NULL", i)); @@ -252,6 +272,8 @@ { int i; + SDT_PROBE(container, kernel, container, destroy, container, 0, 0, 0, 0); + mtx_assert(&container_lock, MA_OWNED); KASSERT(container != NULL, ("NULL container")); @@ -347,9 +369,7 @@ if (p->p_flag & P_SYSTEM) return (0); -#if 0 - printf("rusage_add: allocating %ju of %s for %s (pid %d)\n", amount, hrl_resource_name(resource), p->p_comm, p->p_pid); -#endif + SDT_PROBE(container, kernel, rusage, add, p, resource, amount, 0, 0); KASSERT(amount > 0, ("rusage_add: invalid amount for resource %d: %ju", resource, amount)); @@ -358,6 +378,7 @@ #ifdef HRL error = hrl_enforce_proc(p, resource, amount); if (error) { + SDT_PROBE(container, kernel, rusage, add_failure, p, resource, amount, 0, 0); mtx_unlock(&container_lock); return (error); } @@ -379,12 +400,11 @@ if (p->p_flag & P_SYSTEM) return (0); -#if 0 - printf("rusage_set: allocated %lld of %s for %s (pid %d)\n", amount, hrl_resource_name(resource), p->p_comm, p->p_pid); -#endif + SDT_PROBE(container, kernel, rusage, set, p, resource, amount, 0, 0); KASSERT(amount >= 0, ("rusage_set: invalid amount for resource %d: %ju", resource, amount)); + diff = amount - p->p_container.c_resources[resource]; #ifdef notyet KASSERT(diff >= 0 || container_resource_reclaimable(resource), @@ -394,8 +414,10 @@ #ifdef HRL if (diff > 0) { error = hrl_enforce_proc(p, resource, diff); - if (error) + if (error) { + SDT_PROBE(container, kernel, rusage, set_failure, p, resource, amount, 0, 0); return (error); + } } #endif container_alloc_resource(&p->p_container, resource, diff); @@ -431,9 +453,8 @@ if (p->p_flag & P_SYSTEM) return; -#if 0 - printf("rusage_sub: freeing %lld of %s for %s (pid %d)\n", amount, hrl_resource_name(resource), p->p_comm, p->p_pid); -#endif + + SDT_PROBE(container, kernel, rusage, sub, p, resource, amount, 0, 0); KASSERT(amount > 0, ("rusage_sub: invalid amount for resource %d: %ju", resource, amount)); From owner-p4-projects@FreeBSD.ORG Thu Aug 5 16:29:23 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F6911065677; Thu, 5 Aug 2010 16:29:23 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 533621065675 for ; Thu, 5 Aug 2010 16:29:23 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3E5848FC14 for ; Thu, 5 Aug 2010 16:29:23 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o75GTNSo010420 for ; Thu, 5 Aug 2010 16:29:23 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o75GTNvB010418 for perforce@freebsd.org; Thu, 5 Aug 2010 16:29:23 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 5 Aug 2010 16:29:23 GMT Message-Id: <201008051629.o75GTNvB010418@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181872 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2010 16:29:23 -0000 http://p4web.freebsd.org/@@181872?ac=10 Change 181872 by hselasky@hselasky_laptop001 on 2010/08/05 16:28:58 USB controller (XHCI): - correct programming errors - scratchpads are only needed per HC and not per USB device - add more debug prints Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#14 edit .. //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#16 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#14 (text+ko) ==== @@ -119,16 +119,51 @@ extern struct usb_bus_methods xhci_bus_methods; +#ifdef USB_DEBUG +#if 0 static void +xhci_dump_device(struct usb_device *udev) +{ + struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); + struct usb_page_search buf_dev; + struct usb_page_cache *pcdev; + struct xhci_dev_ctx *pdev; + uint8_t index; + + index = udev->controller_slot_id; + + pcdev = &sc->sc_hw.devs[index].device_pc; + + usbd_get_page(pcdev, 0, &buf_dev); + + usb_pc_cpu_invalidate(pcdev); + + pdev = buf_dev.buffer; + + DPRINTF("SCTX0=0x%08x\n", pdev->ctx_slot.dwSctx0); + DPRINTF("SCTX1=0x%08x\n", pdev->ctx_slot.dwSctx1); + DPRINTF("SCTX2=0x%08x\n", pdev->ctx_slot.dwSctx2); + DPRINTF("SCTX3=0x%08x\n", pdev->ctx_slot.dwSctx3); +} +#endif +#endif + +static void xhci_iterate_hw_softc(struct usb_bus *bus, usb_bus_mem_sub_cb_t *cb) { - struct xhci_softc *sc = XHCI_BUS2SC(bus); + struct xhci_softc *sc = XHCI_BUS2SC(bus); + uint8_t i; - cb(bus, &sc->sc_hw.root_pc, &sc->sc_hw.root_pg, + cb(bus, &sc->sc_hw.root_pc, &sc->sc_hw.root_pg, sizeof(struct xhci_hw_root), XHCI_PAGE_SIZE); - cb(bus, &sc->sc_hw.ctx_pc, &sc->sc_hw.ctx_pg, + cb(bus, &sc->sc_hw.ctx_pc, &sc->sc_hw.ctx_pg, sizeof(struct xhci_dev_ctx_addr), XHCI_PAGE_SIZE); + + for (i = 0; i != XHCI_MAX_SCRATCHPADS; i++) { + cb(bus, &sc->sc_hw.scratch_pc[i], &sc->sc_hw.scratch_pg[i], + XHCI_PAGE_SIZE, XHCI_PAGE_SIZE); + } } usb_error_t @@ -136,7 +171,7 @@ { struct usb_page_search buf_res; struct xhci_hw_root *phwr; - struct xhci_dev_ctx_addr *pctxa; + struct xhci_dev_ctx_addr *pdctxa; uint64_t addr; uint32_t temp; uint16_t i; @@ -145,10 +180,12 @@ sc->sc_capa_off = 0; sc->sc_oper_off = XREAD1(sc, capa, XHCI_CAPLENGTH); - sc->sc_runt_off = XREAD4(sc, capa, XHCI_RTSOFF) & ~0xF; + sc->sc_runt_off = XREAD4(sc, capa, XHCI_RTSOFF) & ~0x1F; sc->sc_door_off = XREAD4(sc, capa, XHCI_DBOFF) & ~0x3; DPRINTF("CAPLENGTH=0x%x\n", sc->sc_oper_off); + DPRINTF("RUNTIMEOFFSET=0x%x\n", sc->sc_runt_off); + DPRINTF("DOOROFFSET=0x%x\n", sc->sc_door_off); sc->sc_event_ccs = 1; sc->sc_event_idx = 0; @@ -157,6 +194,15 @@ DPRINTF("xHCI version = 0x%04x\n", XREAD2(sc, capa, XHCI_HCIVERSION)); + temp = XREAD4(sc, capa, XHCI_HCSPARAMS0); + + DPRINTF("HCS0 = 0x%08x\n", temp); + + if (XHCI_HCS0_CSZ(temp)) { + device_printf(sc->sc_bus.parent, "Driver does not support 64-byte contexts."); + return (USB_ERR_IOERROR); + } + /* Reset controller */ XWRITE4(sc, oper, XHCI_USBCMD, XHCI_CMD_HCRST); @@ -168,12 +214,13 @@ } if (temp) { - device_printf(sc->sc_bus.bdev, "Controller reset timeout.\n"); + device_printf(sc->sc_bus.parent, "Controller reset timeout.\n"); return (USB_ERR_IOERROR); } if (!(XREAD4(sc, oper, XHCI_PAGESIZE) & XHCI_PAGESIZE_4K)) { - device_printf(sc->sc_bus.bdev, "Controller does not support 4K page size.\n"); + device_printf(sc->sc_bus.parent, "Controller does " + "not support 4K page size.\n"); return (USB_ERR_IOERROR); } @@ -182,7 +229,7 @@ i = XHCI_HCS1_N_PORTS(temp); if (i == 0) { - device_printf(sc->sc_bus.bdev, "Invalid number " + device_printf(sc->sc_bus.parent, "Invalid number " "of ports: %u\n", i); return (USB_ERR_IOERROR); } @@ -204,7 +251,7 @@ sc->sc_noscratch = XHCI_HCS2_SPB_MAX(temp); if (sc->sc_noscratch > XHCI_MAX_SCRATCHPADS) { - device_printf(sc->sc_bus.bdev, "XHCI request " + device_printf(sc->sc_bus.parent, "XHCI request " "too many scratchpads\n"); return (USB_ERR_NOMEM); } @@ -228,10 +275,25 @@ usbd_get_page(&sc->sc_hw.ctx_pc, 0, &buf_res); + pdctxa = buf_res.buffer; + + memset(pdctxa, 0, sizeof(*pdctxa)); + + addr = buf_res.physaddr + (uintptr_t)&((struct xhci_dev_ctx_addr *)0)->qwSpBufPtr[0]; + + /* slot 0 points to the table of scratchpad pointers */ + pdctxa->qwBaaDevCtxAddr[0] = htole64(buf_res.physaddr); + + for (i = 0; i != sc->sc_noscratch; i++) { + + struct usb_page_search buf_scp; + + usbd_get_page(&sc->sc_hw.scratch_pc[i], 0, &buf_scp); + + pdctxa->qwSpBufPtr[i] = htole64((uint64_t)buf_scp.physaddr); + } + addr = buf_res.physaddr; - pctxa = buf_res.buffer; - - memset(pctxa, 0, sizeof(*pctxa)); XWRITE4(sc, oper, XHCI_DCBAAP_LO, (uint32_t)addr); XWRITE4(sc, oper, XHCI_DCBAAP_HI, (uint32_t)(addr >> 32)); @@ -239,7 +301,7 @@ /* Setup interrupter registers */ temp = XREAD4(sc, runt, XHCI_IMAN(0)); - temp |= XHCI_IMAN_INTR_ENA | XHCI_IMAN_INTR_PEND; + temp |= XHCI_IMAN_INTR_ENA; XWRITE4(sc, runt, XHCI_IMAN(0), temp); /* Setup interrupt rate */ @@ -271,7 +333,7 @@ sc->sc_erst_max = temp; - XWRITE4(sc, runt, XHCI_ERSTS_SET(0), temp); + XWRITE4(sc, runt, XHCI_ERSTSZ(0), XHCI_ERSTS_SET(temp)); DPRINTF("ERDP(0)=0x%016llx\n", (unsigned long long)addr); @@ -295,10 +357,6 @@ XWRITE4(sc, oper, XHCI_CRCR_HI, (uint32_t)(addr >> 32)); phwr->hwr_commands[XHCI_MAX_COMMANDS - 1].qwTrb0 = htole64(addr); - phwr->hwr_commands[XHCI_MAX_COMMANDS - 1].dwTrb2 = htole32(0); - phwr->hwr_commands[XHCI_MAX_COMMANDS - 1].dwTrb3 = htole32( - XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_LINK) | - XHCI_TRB_3_IOC_BIT | XHCI_TRB_3_TC_BIT); usb_bus_mem_flush_all(&sc->sc_bus, &xhci_iterate_hw_softc); @@ -314,7 +372,7 @@ } if (temp) { XWRITE4(sc, oper, XHCI_USBCMD, 0); - device_printf(sc->sc_bus.bdev, "Run timeout.\n"); + device_printf(sc->sc_bus.parent, "Run timeout.\n"); return (USB_ERR_IOERROR); } @@ -348,7 +406,7 @@ } if (!temp) { - device_printf(sc->sc_bus.bdev, "Controller halt timeout.\n"); + device_printf(sc->sc_bus.parent, "Controller halt timeout.\n"); return (USB_ERR_IOERROR); } return (0); @@ -651,7 +709,7 @@ if (sc->sc_cmd_addr == trb->qwTrb0) { DPRINTF("Received command event\n"); sc->sc_cmd_result[0] = trb->dwTrb2; - sc->sc_cmd_result[1] = trb->dwTrb2; + sc->sc_cmd_result[1] = trb->dwTrb3; cv_signal(&sc->sc_cmd_cv); } } @@ -690,7 +748,10 @@ event = XHCI_TRB_3_TYPE_GET(temp); - DPRINTFN(10, "event[%u] = %u\n", i, event); + DPRINTFN(10, "event[%u] = %u (0x%016llx 0x%08lx 0x%08lx)\n", + i, event, (long long)le64toh(phwr->hwr_events[i].qwTrb0), + (long)le32toh(phwr->hwr_events[i].dwTrb2), + (long)le32toh(phwr->hwr_events[i].dwTrb3)); switch (event) { case XHCI_TRB_EVENT_TRANSFER: @@ -720,6 +781,8 @@ /* we are within a PAGE - no need to update the high bits */ + temp |= XHCI_ERDP_LO_SINDEX(i) | XHCI_ERDP_LO_BUSY; + XWRITE4(sc, runt, XHCI_ERDP_LO(0), temp); sc->sc_event_idx = i; @@ -753,6 +816,12 @@ i = sc->sc_command_idx; j = sc->sc_command_ccs; + DPRINTFN(10, "command[%u] = %u (0x%016llx, 0x%08lx, 0x%08lx)\n", + i, XHCI_TRB_3_TYPE_GET(le32toh(trb->qwTrb0)), + (long long)le64toh(trb->qwTrb0), + (long)le32toh(trb->dwTrb2), + (long)le32toh(trb->dwTrb3)); + phwr->hwr_commands[i].qwTrb0 = trb->qwTrb0; phwr->hwr_commands[i].dwTrb2 = trb->dwTrb2; @@ -765,30 +834,30 @@ else temp &= ~htole32(XHCI_TRB_3_CYCLE_BIT); + temp &= ~htole32(XHCI_TRB_3_TC_BIT); + phwr->hwr_commands[i].dwTrb3 = temp; usb_pc_cpu_flush(&sc->sc_hw.root_pc); - DPRINTFN(10, "command[%u] = %u\n", i, - XHCI_TRB_3_TYPE_GET(le32toh(temp))); - addr = (uint64_t)buf_res.physaddr + (uintptr_t)&((struct xhci_hw_root *)0)->hwr_commands[i]; + sc->sc_cmd_addr = htole64(addr); i++; if (i == (XHCI_MAX_COMMANDS - 1)) { - /* update cycle bit of LINK TRB */ + if (j) { + temp |= htole32(XHCI_TRB_3_CYCLE_BIT | + XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_LINK) | + XHCI_TRB_3_TC_BIT); + } else { + temp &= htole32(XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_LINK) | + XHCI_TRB_3_TC_BIT); + } - temp = phwr->hwr_commands[i].dwTrb3; - - if (j) - temp |= htole32(XHCI_TRB_3_CYCLE_BIT); - else - temp &= ~htole32(XHCI_TRB_3_CYCLE_BIT); - phwr->hwr_commands[i].dwTrb3 = temp; usb_pc_cpu_flush(&sc->sc_hw.root_pc); @@ -824,13 +893,34 @@ return (err); } +#if 0 static usb_error_t +xhci_cmd_nop(struct xhci_softc *sc) +{ + struct xhci_trb trb; + uint32_t temp; + + DPRINTF("\n"); + + trb.qwTrb0 = 0; + trb.dwTrb2 = 0; + temp = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_NOOP); + + trb.dwTrb3 = htole32(temp); + + return (xhci_do_command(sc, &trb, 50 /* ms */)); +} +#endif + +static usb_error_t xhci_cmd_enable_slot(struct xhci_softc *sc, uint8_t *pslot) { struct xhci_trb trb; uint32_t temp; usb_error_t err; + DPRINTF("\n"); + trb.qwTrb0 = 0; trb.dwTrb2 = 0; trb.dwTrb3 = htole32(XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_ENABLE_SLOT)); @@ -853,6 +943,8 @@ struct xhci_trb trb; uint32_t temp; + DPRINTF("\n"); + trb.qwTrb0 = 0; trb.dwTrb2 = 0; temp = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_DISABLE_SLOT) | @@ -870,6 +962,8 @@ struct xhci_trb trb; uint32_t temp; + DPRINTF("\n"); + trb.qwTrb0 = htole64(input_ctx); trb.dwTrb2 = 0; temp = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_ADDRESS_DEVICE) | @@ -890,6 +984,8 @@ struct xhci_trb trb; uint32_t temp; + DPRINTF("\n"); + trb.qwTrb0 = htole64(input_ctx); trb.dwTrb2 = 0; temp = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_CONFIGURE_EP) | @@ -911,6 +1007,8 @@ struct xhci_trb trb; uint32_t temp; + DPRINTF("\n"); + trb.qwTrb0 = htole64(input_ctx); trb.dwTrb2 = 0; temp = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_EVALUATE_CTX) | @@ -928,6 +1026,8 @@ struct xhci_trb trb; uint32_t temp; + DPRINTF("\n"); + trb.qwTrb0 = 0; trb.dwTrb2 = 0; temp = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_RESET_EP) | @@ -950,6 +1050,8 @@ struct xhci_trb trb; uint32_t temp; + DPRINTF("\n"); + trb.qwTrb0 = 0; trb.dwTrb2 = 0; temp = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_STOP_EP) | @@ -971,6 +1073,8 @@ struct xhci_trb trb; uint32_t temp; + DPRINTF("\n"); + trb.qwTrb0 = 0; trb.dwTrb2 = 0; temp = XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_RESET_DEVICE) | @@ -988,35 +1092,43 @@ xhci_interrupt(struct xhci_softc *sc) { uint32_t status; + uint32_t temp; USB_BUS_LOCK(&sc->sc_bus); - DPRINTFN(16, "real interrupt\n"); + status = XREAD4(sc, oper, XHCI_USBSTS); + + /* acknowledge interrupts */ + + XWRITE4(sc, oper, XHCI_USBSTS, status); - status = XREAD4(sc, oper, XHCI_USBSTS); + temp = XREAD4(sc, runt, XHCI_IMAN(0)); - if (status & XHCI_STS_PCD) { - xhci_root_intr(sc); - } + /* acknowledge pending event */ + XWRITE4(sc, runt, XHCI_IMAN(0), temp); - if (status & XHCI_STS_HCH) { - printf("%s: host controller halted\n", - __FUNCTION__); - } + DPRINTFN(16, "real interrupt (sts=0x%08x, iman=0x%08x)\n", status, temp); - if (status & XHCI_STS_HSE) { - printf("%s: host system error\n", - __FUNCTION__); - } + if (status != 0) { + if (status & XHCI_STS_PCD) { + xhci_root_intr(sc); + } - if (status & XHCI_STS_HCE) { - printf("%s: host controller error\n", - __FUNCTION__); - } + if (status & XHCI_STS_HCH) { + printf("%s: host controller halted\n", + __FUNCTION__); + } - /* acknowledge interrupts */ + if (status & XHCI_STS_HSE) { + printf("%s: host system error\n", + __FUNCTION__); + } - XWRITE4(sc, oper, XHCI_USBSTS, status); + if (status & XHCI_STS_HCE) { + printf("%s: host controller error\n", + __FUNCTION__); + } + } xhci_interrupt_poll(sc); @@ -1038,9 +1150,11 @@ pepext = xhci_get_endpoint_ext(xfer); +#if 0 /* check if endpoint is halted */ if (pepext->trb_halted != 0) return; +#endif /* transfer is transferred */ xhci_device_done(xfer, USB_ERR_TIMEOUT); @@ -1494,17 +1608,16 @@ } static void -xhci_set_slot_pointers(struct xhci_softc *sc, uint8_t index, - uint64_t dev_addr, uint64_t scratch_addr) +xhci_set_slot_pointer(struct xhci_softc *sc, uint8_t index, uint64_t dev_addr) { struct usb_page_search buf_res; - volatile uint64_t *ptr; + struct xhci_dev_ctx_addr *pdctxa; usbd_get_page(&sc->sc_hw.ctx_pc, 0, &buf_res); - ptr = buf_res.buffer; - ptr[(2*index) + 0] = htole64(dev_addr); - ptr[(2*index) + 1] = htole64(scratch_addr); + pdctxa = buf_res.buffer; + + pdctxa->qwBaaDevCtxAddr[index] = htole64(dev_addr); usb_pc_cpu_flush(&sc->sc_hw.ctx_pc); } @@ -1550,7 +1663,6 @@ index = udev->controller_slot_id; usbd_get_page(&sc->sc_hw.devs[index].input_pc, 0, &buf_inp); - usbd_get_page(&sc->sc_hw.devs[index].endpoint_pc, 0, &buf_ep); edesc = xfer->endpoint->edesc; @@ -1564,6 +1676,8 @@ if (epno == 0) return (USB_ERR_INVAL); /* invalid */ + usbd_get_page(&sc->sc_hw.devs[index].endpoint_pc, (XHCI_MAX_TRANSFERS * sizeof(struct xhci_trb)) * epno, &buf_ep); + pinp = buf_inp.buffer; mask = 1U << epno; @@ -1589,7 +1703,7 @@ break; case UE_ISOCHRONOUS: if (udev->speed == USB_SPEED_SUPER) - temp |= XHCI_EPCTX_0_MULT_SET(xfer->max_packet_count); + temp |= XHCI_EPCTX_0_MULT_SET(xfer->max_packet_count - 1); break; default: break; @@ -1599,7 +1713,7 @@ temp = XHCI_EPCTX_1_HID_SET(0) | - XHCI_EPCTX_1_MAXB_SET(xfer->max_packet_count) | + XHCI_EPCTX_1_MAXB_SET(xfer->max_packet_count - 1) | XHCI_EPCTX_1_MAXP_SIZE_SET(xfer->max_packet_size); if ((udev->parent_hs_hub != NULL) || (udev->address != 0)) @@ -1659,18 +1773,15 @@ xhci_configure_device(struct usb_device *udev) { struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); - struct usb_page_search buf_scp; struct usb_page_search buf_dev; struct usb_page_search buf_inp; struct usb_page_cache *pcdev; struct usb_page_cache *pcinp; - struct usb_page_cache *pc; struct xhci_input_dev_ctx *pinp; struct usb_device *hubdev; uint32_t temp; uint8_t index; uint8_t rh_port; - uint8_t i; index = udev->controller_slot_id; @@ -1686,7 +1797,16 @@ temp = XHCI_SCTX_0_CTX_NUM_SET(XHCI_MAX_ENDPOINTS - 1); while (hubdev->parent_hub != NULL) { - temp |= ((uint32_t)(hubdev->port_no & 0xF)) << ((hubdev->depth - 1) * 4); + + uint32_t pn; + + /* HS/FS/LS devices can have more than 15 ports */ + pn = hubdev->port_no; + if (pn > 15) + pn = 15; + + temp |= pn << ((hubdev->depth - 1) * 4); + hubdev = hubdev->parent_hub; } @@ -1721,6 +1841,7 @@ case USB_SPEED_LOW: case USB_SPEED_HIGH: case USB_SPEED_FULL: + break; default: temp |= XHCI_SCTX_1_MAX_EL_SET(sc->sc_exit_lat_max); break; @@ -1744,24 +1865,10 @@ pinp->ctx_slot.dwSctx2 = htole32(temp); temp = XHCI_SCTX_3_DEV_ADDR_SET(udev->address) | - XHCI_SCTX_3_SLOT_STATE_SET(3); + XHCI_SCTX_3_SLOT_STATE_SET(0); pinp->ctx_slot.dwSctx3 = htole32(temp); - for (i = 0; i != sc->sc_noscratch; i++) { - - pc = &sc->sc_hw.devs[index].scratch_pc[i]; - - usbd_get_page(pc, 0, &buf_scp); - - pinp->ctx_sp_buf_ptr[i] = htole64((uint64_t)buf_scp.physaddr); - } - - usb_pc_cpu_flush(pcinp); - - xhci_set_slot_pointers(sc, udev->controller_slot_id, buf_dev.physaddr, - buf_inp.physaddr + (uintptr_t)&((struct xhci_input_dev_ctx *)0)->ctx_sp_buf_ptr[0]); - return (0); /* success */ } @@ -1769,9 +1876,9 @@ xhci_alloc_device_ext(struct usb_device *udev) { struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); + struct usb_page_search buf_dev; struct usb_page_cache *pc; struct usb_page *pg; - uint8_t i; uint8_t index; index = udev->controller_slot_id; @@ -1785,6 +1892,8 @@ if (usb_pc_alloc_mem(pc, pg, sizeof(struct xhci_dev_ctx), XHCI_PAGE_SIZE)) goto error; + usbd_get_page(pc, 0, &buf_dev); + pc = &sc->sc_hw.devs[index].input_pc; pg = &sc->sc_hw.devs[index].input_pg; @@ -1803,17 +1912,8 @@ if (usb_pc_alloc_mem(pc, pg, sizeof(struct xhci_dev_endpoint_trbs), XHCI_PAGE_SIZE)) goto error; - for (i = 0; i != sc->sc_noscratch; i++) { - - pc = &sc->sc_hw.devs[index].scratch_pc[i]; - pg = &sc->sc_hw.devs[index].scratch_pg[i]; - - /* need to initialize the page cache */ - pc->tag_parent = sc->sc_bus.dma_parent_tag; + xhci_set_slot_pointer(sc, index, buf_dev.physaddr); - if (usb_pc_alloc_mem(pc, pg, XHCI_PAGE_SIZE, XHCI_PAGE_SIZE)) - goto error; - } return (0); error: @@ -1828,11 +1928,10 @@ struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); struct usb_page_cache *pc; uint8_t index; - uint8_t i; index = udev->controller_slot_id; - xhci_set_slot_pointers(sc, index, 0, 0); + xhci_set_slot_pointer(sc, index, 0); pc = &sc->sc_hw.devs[index].device_pc; @@ -1845,12 +1944,6 @@ pc = &sc->sc_hw.devs[index].endpoint_pc; usb_pc_free_mem(pc); - - for (i = 0; i != sc->sc_noscratch; i++) { - pc = &sc->sc_hw.devs[index].scratch_pc[i]; - - usb_pc_free_mem(pc); - } } static struct xhci_endpoint_ext * @@ -1960,7 +2053,7 @@ else temp &= ~htole32(XHCI_TRB_3_TC_BIT); - addr += (uintptr_t)&((struct xhci_endpoint_ext *)0)->trb[i + 1]; + addr += sizeof(struct xhci_trb) * (i + 1); td_last->td_trb[td_last->ntrb].dwTrb3 = temp; td_last->td_trb[td_last->ntrb].qwTrb0 = htole64(addr); @@ -2078,6 +2171,8 @@ static void xhci_device_generic_close(struct usb_xfer *xfer) { + DPRINTF("\n"); + xhci_device_done(xfer, USB_ERR_CANCELLED); if (xfer->flags_int.isochronous_xfr) @@ -2087,25 +2182,34 @@ static void xhci_device_generic_enter(struct usb_xfer *xfer) { + DPRINTF("\n"); + /* setup TD's and QH */ xhci_setup_generic_chain(xfer); +#ifdef NOTYET /* put transfer on interrupt queue */ usbd_transfer_enqueue(&xfer->xroot->bus->intr_q, xfer); /* try to insert xfer on HW queue */ xhci_transfer_insert(xfer); +#endif } static void xhci_device_generic_start(struct usb_xfer *xfer) { + DPRINTF("\n"); + /* try to insert xfer on HW queue */ if (xhci_transfer_insert(xfer) != 0) { DPRINTFN(0, "Failed to insert " "transfer %p into HW queue.\n", xfer); } + /* put transfer on interrupt queue */ + usbd_transfer_enqueue(&xfer->xroot->bus->intr_q, xfer); + /* start timeout, if any */ if (xfer->timeout != 0) usbd_transfer_timeout_ms(xfer, &xhci_timeout, xfer->timeout); @@ -2949,7 +3053,7 @@ /* set invalid default */ - udev->controller_slot_id = sc->sc_noslot; + udev->controller_slot_id = sc->sc_noslot + 1; /* try to get a new slot ID from the XHCI */ @@ -2960,7 +3064,13 @@ return (err); } - if (temp >= sc->sc_noslot) { + if (temp > sc->sc_noslot) { + XHCI_CMD_UNLOCK(sc); + return (USB_ERR_INVAL); + } + + if (sc->sc_hw.devs[temp].allocated) { + DPRINTF("slot %u already allocated.\n", temp); XHCI_CMD_UNLOCK(sc); return (USB_ERR_INVAL); } @@ -2969,6 +3079,10 @@ udev->controller_slot_id = temp; + /* set allocated bit */ + + sc->sc_hw.devs[temp].allocated = 1; + err = xhci_alloc_device_ext(udev); XHCI_CMD_UNLOCK(sc); @@ -2980,6 +3094,7 @@ xhci_device_uninit(struct usb_device *udev) { struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); + uint8_t index; /* no init for root HUB */ if (udev->parent_hub == NULL) @@ -2987,8 +3102,12 @@ XHCI_CMD_LOCK(sc); - if (udev->controller_slot_id < sc->sc_noslot) - xhci_cmd_disable_slot(sc, udev->controller_slot_id); + index = udev->controller_slot_id; + + if (index <= sc->sc_noslot) { + xhci_cmd_disable_slot(sc, index); + sc->sc_hw.devs[index].allocated = 0; + } xhci_free_device_ext(udev); ==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.h#16 (text+ko) ==== @@ -366,6 +366,8 @@ struct usb_page endpoint_pg; struct xhci_endpoint_ext endp[XHCI_MAX_ENDPOINTS]; + + uint8_t allocated; }; struct xhci_hw_softc { @@ -377,7 +379,7 @@ struct usb_page ctx_pg; struct usb_page scratch_pg[XHCI_MAX_SCRATCHPADS]; - struct xhci_hw_dev devs[XHCI_MAX_DEVICES]; + struct xhci_hw_dev devs[XHCI_MAX_DEVICES + 1]; }; struct xhci_config_desc { From owner-p4-projects@FreeBSD.ORG Thu Aug 5 17:40:42 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 492101065676; Thu, 5 Aug 2010 17:40:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0D1A01065672 for ; Thu, 5 Aug 2010 17:40:42 +0000 (UTC) (envelope-from bz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EC8C08FC1F for ; Thu, 5 Aug 2010 17:40:41 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o75Hef2P027690 for ; Thu, 5 Aug 2010 17:40:41 GMT (envelope-from bz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o75HefAS027688 for perforce@freebsd.org; Thu, 5 Aug 2010 17:40:41 GMT (envelope-from bz@freebsd.org) Date: Thu, 5 Aug 2010 17:40:41 GMT Message-Id: <201008051740.o75HefAS027688@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bz@freebsd.org using -f From: "Bjoern A. Zeeb" To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181877 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2010 17:40:42 -0000 http://p4web.freebsd.org/@@181877?ac=10 Change 181877 by bz@bz_dumpster on 2010/08/05 17:40:08 IFC @181876 Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/amd64/acpica/acpi_switch.S#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/acpica/acpi_wakecode.S#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/acpica/acpi_wakeup.c#6 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/cpu_switch.S#6 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/genassym.c#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/initcpu.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/mp_machdep.c#7 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/include/pcb.h#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/boot/common/loader.8#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cam/cam.c#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cam/scsi/scsi_target.c#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/freebsd32/freebsd32_misc.c#8 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/NOTES#11 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_pcib.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_pcib_acpi.c#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_pcib_pci.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_pcibvar.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/coretemp/coretemp.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drm_pciids.h#6 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/pci/pcib_private.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/hda/hdac.c#8 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfs/nfs_var.h#8 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsclient/nfs_clstate.c#8 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsclient/nfs_clsubs.c#7 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsclient/nfs_clvnops.c#11 integrate .. //depot/projects/soc2009/anchie_send/src/sys/geom/part/g_part.c#8 integrate .. //depot/projects/soc2009/anchie_send/src/sys/geom/sched/g_sched.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/i386/initcpu.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_subr.c#10 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/include/param.h#8 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/include/vmparam.h#7 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/mips/exception.S#9 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/mips/genassym.c#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/mips/pmap.c#12 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/mips/tick.c#7 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/rmi/on_chip.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/sibyte/sb_machdep.c#6 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#33 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/sctp_output.c#12 integrate .. //depot/projects/soc2009/anchie_send/src/sys/nfsclient/nfs_node.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/nfsclient/nfs_vnops.c#8 integrate Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/amd64/acpica/acpi_switch.S#5 (text+ko) ==== @@ -1,7 +1,7 @@ /*- * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI - * Copyright (c) 2008-2009 Jung-uk Kim + * Copyright (c) 2008-2010 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/acpica/acpi_switch.S,v 1.7 2010/07/29 16:41:21 jkim Exp $ + * $FreeBSD: src/sys/amd64/acpica/acpi_switch.S,v 1.10 2010/08/03 16:08:58 jkim Exp $ */ #include @@ -34,14 +34,11 @@ #include "acpi_wakedata.h" #include "assym.s" -#define WAKEUP_CTX(member) wakeup_ ## member - wakeup_ctx(%rdi) -#define WAKEUP_PCB(member) PCB_ ## member(%r11) -#define WAKEUP_XPCB(member) XPCB_ ## member(%r11) +#define WAKEUP_CTX(member) wakeup_ ## member - wakeup_ctx(%rsi) ENTRY(acpi_restorecpu) /* Switch to KPML4phys. */ - movq %rsi, %rax - movq %rax, %cr3 + movq %rdi, %cr3 /* Restore GDT. */ lgdt WAKEUP_CTX(gdt) @@ -49,7 +46,7 @@ 1: /* Fetch PCB. */ - movq WAKEUP_CTX(xpcb), %r11 + movq WAKEUP_CTX(pcb), %rdi /* Force kernel segment registers. */ movl $KDSEL, %eax @@ -62,16 +59,16 @@ movw %ax, %gs movl $MSR_FSBASE, %ecx - movl WAKEUP_PCB(FSBASE), %eax - movl 4 + WAKEUP_PCB(FSBASE), %edx + movl PCB_FSBASE(%rdi), %eax + movl 4 + PCB_FSBASE(%rdi), %edx wrmsr movl $MSR_GSBASE, %ecx - movl WAKEUP_PCB(GSBASE), %eax - movl 4 + WAKEUP_PCB(GSBASE), %edx + movl PCB_GSBASE(%rdi), %eax + movl 4 + PCB_GSBASE(%rdi), %edx wrmsr movl $MSR_KGSBASE, %ecx - movl WAKEUP_XPCB(KGSBASE), %eax - movl 4 + WAKEUP_XPCB(KGSBASE), %edx + movl PCB_KGSBASE(%rdi), %eax + movl 4 + PCB_KGSBASE(%rdi), %edx wrmsr /* Restore EFER. */ @@ -103,19 +100,20 @@ wrmsr /* Restore CR0 except for FPU mode. */ - movq WAKEUP_XPCB(CR0), %rax + movq PCB_CR0(%rdi), %rax + movq %rax, %rcx andq $~(CR0_EM | CR0_TS), %rax movq %rax, %cr0 /* Restore CR2 and CR4. */ - movq WAKEUP_XPCB(CR2), %rax + movq PCB_CR2(%rdi), %rax movq %rax, %cr2 - movq WAKEUP_XPCB(CR4), %rax + movq PCB_CR4(%rdi), %rax movq %rax, %cr4 /* Restore descriptor tables. */ - lidt WAKEUP_XPCB(IDT) - lldt WAKEUP_XPCB(LDT) + lidt PCB_IDT(%rdi) + lldt PCB_LDT(%rdi) #define SDT_SYSTSS 9 #define SDT_SYSBSY 11 @@ -123,48 +121,44 @@ /* Clear "task busy" bit and reload TR. */ movq PCPU(TSS), %rax andb $(~SDT_SYSBSY | SDT_SYSTSS), 5(%rax) - movw WAKEUP_XPCB(TR), %ax + movw PCB_TR(%rdi), %ax ltr %ax #undef SDT_SYSTSS #undef SDT_SYSBSY /* Restore other callee saved registers. */ - movq WAKEUP_PCB(R15), %r15 - movq WAKEUP_PCB(R14), %r14 - movq WAKEUP_PCB(R13), %r13 - movq WAKEUP_PCB(R12), %r12 - movq WAKEUP_PCB(RBP), %rbp - movq WAKEUP_PCB(RSP), %rsp - movq WAKEUP_PCB(RBX), %rbx + movq PCB_R15(%rdi), %r15 + movq PCB_R14(%rdi), %r14 + movq PCB_R13(%rdi), %r13 + movq PCB_R12(%rdi), %r12 + movq PCB_RBP(%rdi), %rbp + movq PCB_RSP(%rdi), %rsp + movq PCB_RBX(%rdi), %rbx /* Restore debug registers. */ - movq WAKEUP_PCB(DR0), %rax + movq PCB_DR0(%rdi), %rax movq %rax, %dr0 - movq WAKEUP_PCB(DR1), %rax + movq PCB_DR1(%rdi), %rax movq %rax, %dr1 - movq WAKEUP_PCB(DR2), %rax + movq PCB_DR2(%rdi), %rax movq %rax, %dr2 - movq WAKEUP_PCB(DR3), %rax + movq PCB_DR3(%rdi), %rax movq %rax, %dr3 - movq WAKEUP_PCB(DR6), %rax + movq PCB_DR6(%rdi), %rax movq %rax, %dr6 - movq WAKEUP_PCB(DR7), %rax + movq PCB_DR7(%rdi), %rax movq %rax, %dr7 /* Restore FPU state. */ - movq PCPU(FPCURTHREAD), %rax - testq %rax, %rax - je 1f - fxrstor WAKEUP_PCB(USERFPU) -1: + fninit + fxrstor PCB_USERFPU(%rdi) - /* Restore CR0 with FPU mode. */ - movq WAKEUP_XPCB(CR0), %rax - movq %rax, %cr0 + /* Reload CR0. */ + movq %rcx, %cr0 /* Restore return address. */ - movq WAKEUP_PCB(RIP), %rax + movq PCB_RIP(%rdi), %rax movq %rax, (%rsp) /* Indicate the CPU is resumed. */ @@ -173,19 +167,3 @@ ret END(acpi_restorecpu) - -ENTRY(acpi_savecpu) - /* Fetch XPCB and save CPU context. */ - movq %rdi, %r10 - call savectx2 - movq %r10, %r11 - - /* Patch caller's return address and stack pointer. */ - movq (%rsp), %rax - movq %rax, WAKEUP_PCB(RIP) - movq %rsp, %rax - movq %rax, WAKEUP_PCB(RSP) - - movl $1, %eax - ret -END(acpi_savecpu) ==== //depot/projects/soc2009/anchie_send/src/sys/amd64/acpica/acpi_wakecode.S#4 (text+ko) ==== @@ -2,7 +2,7 @@ * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008-2009 Jung-uk Kim + * Copyright (c) 2008-2010 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/acpica/acpi_wakecode.S,v 1.6 2010/07/12 21:08:35 jkim Exp $ + * $FreeBSD: src/sys/amd64/acpica/acpi_wakecode.S,v 1.8 2010/08/03 15:32:08 jkim Exp $ */ #include @@ -210,8 +210,8 @@ mov %ax, %ds /* Restore arguments and return. */ - movq wakeup_ctx - wakeup_start(%rbx), %rdi - movq wakeup_kpml4 - wakeup_start(%rbx), %rsi + movq wakeup_kpml4 - wakeup_start(%rbx), %rdi + movq wakeup_ctx - wakeup_start(%rbx), %rsi movq wakeup_retaddr - wakeup_start(%rbx), %rax jmp *%rax @@ -265,7 +265,7 @@ wakeup_ctx: .quad 0 -wakeup_xpcb: +wakeup_pcb: .quad 0 wakeup_gdt: .word 0 ==== //depot/projects/soc2009/anchie_send/src/sys/amd64/acpica/acpi_wakeup.c#6 (text+ko) ==== @@ -2,7 +2,7 @@ * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008-2009 Jung-uk Kim + * Copyright (c) 2008-2010 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.32 2010/07/26 19:53:09 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.33 2010/08/02 17:35:00 jkim Exp $"); #include #include @@ -66,13 +66,12 @@ extern int acpi_reset_video; #ifdef SMP -extern struct xpcb **stopxpcbs; +extern struct pcb **susppcbs; #else -static struct xpcb **stopxpcbs; +static struct pcb **susppcbs; #endif -int acpi_restorecpu(struct xpcb *, vm_offset_t); -int acpi_savecpu(struct xpcb *); +int acpi_restorecpu(struct pcb *, vm_offset_t); static void *acpi_alloc_wakeup_handler(void); static void acpi_stop_beep(void *); @@ -105,10 +104,10 @@ int apic_id = cpu_apic_ids[cpu]; int ms; - WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, stopxpcbs[cpu]); - WAKECODE_FIXUP(wakeup_gdt, uint16_t, stopxpcbs[cpu]->xpcb_gdt.rd_limit); + WAKECODE_FIXUP(wakeup_pcb, struct pcb *, susppcbs[cpu]); + WAKECODE_FIXUP(wakeup_gdt, uint16_t, susppcbs[cpu]->pcb_gdt.rd_limit); WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t, - stopxpcbs[cpu]->xpcb_gdt.rd_base); + susppcbs[cpu]->pcb_gdt.rd_base); WAKECODE_FIXUP(wakeup_cpu, int, cpu); /* do an INIT IPI: assert RESET */ @@ -245,7 +244,7 @@ cr3 = rcr3(); load_cr3(KPML4phys); - if (acpi_savecpu(stopxpcbs[0])) { + if (savectx(susppcbs[0])) { #ifdef SMP if (wakeup_cpus != 0 && suspend_cpus(wakeup_cpus) == 0) { device_printf(sc->acpi_dev, @@ -258,11 +257,11 @@ WAKECODE_FIXUP(resume_beep, uint8_t, (acpi_resume_beep != 0)); WAKECODE_FIXUP(reset_video, uint8_t, (acpi_reset_video != 0)); - WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, stopxpcbs[0]); + WAKECODE_FIXUP(wakeup_pcb, struct pcb *, susppcbs[0]); WAKECODE_FIXUP(wakeup_gdt, uint16_t, - stopxpcbs[0]->xpcb_gdt.rd_limit); + susppcbs[0]->pcb_gdt.rd_limit); WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t, - stopxpcbs[0]->xpcb_gdt.rd_base); + susppcbs[0]->pcb_gdt.rd_base); WAKECODE_FIXUP(wakeup_cpu, int, 0); /* Call ACPICA to enter the desired sleep state */ @@ -332,9 +331,9 @@ printf("%s: can't alloc wake memory\n", __func__); return (NULL); } - stopxpcbs = malloc(mp_ncpus * sizeof(*stopxpcbs), M_DEVBUF, M_WAITOK); + susppcbs = malloc(mp_ncpus * sizeof(*susppcbs), M_DEVBUF, M_WAITOK); for (i = 0; i < mp_ncpus; i++) - stopxpcbs[i] = malloc(sizeof(**stopxpcbs), M_DEVBUF, M_WAITOK); + susppcbs[i] = malloc(sizeof(**susppcbs), M_DEVBUF, M_WAITOK); return (wakeaddr); } ==== //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/cpu_switch.S#6 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.175 2010/07/29 16:49:20 jkim Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.177 2010/08/03 15:32:08 jkim Exp $ */ #include @@ -302,128 +302,65 @@ * Update pcb, saving current processor state. */ ENTRY(savectx) - /* Fetch PCB. */ - movq %rdi,%rcx - /* Save caller's return address. */ movq (%rsp),%rax - movq %rax,PCB_RIP(%rcx) + movq %rax,PCB_RIP(%rdi) - movq %cr3,%rax - movq %rax,PCB_CR3(%rcx) + movq %rbx,PCB_RBX(%rdi) + movq %rsp,PCB_RSP(%rdi) + movq %rbp,PCB_RBP(%rdi) + movq %r12,PCB_R12(%rdi) + movq %r13,PCB_R13(%rdi) + movq %r14,PCB_R14(%rdi) + movq %r15,PCB_R15(%rdi) - movq %rbx,PCB_RBX(%rcx) - movq %rsp,PCB_RSP(%rcx) - movq %rbp,PCB_RBP(%rcx) - movq %r12,PCB_R12(%rcx) - movq %r13,PCB_R13(%rcx) - movq %r14,PCB_R14(%rcx) - movq %r15,PCB_R15(%rcx) - - /* - * If fpcurthread == NULL, then the fpu h/w state is irrelevant and the - * state had better already be in the pcb. This is true for forks - * but not for dumps (the old book-keeping with FP flags in the pcb - * always lost for dumps because the dump pcb has 0 flags). - * - * If fpcurthread != NULL, then we have to save the fpu h/w state to - * fpcurthread's pcb and copy it to the requested pcb, or save to the - * requested pcb and reload. Copying is easier because we would - * have to handle h/w bugs for reloading. We used to lose the - * parent's fpu state for forks by forgetting to reload. - */ - pushfq - cli - movq PCPU(FPCURTHREAD),%rax - testq %rax,%rax - je 1f - - movq TD_PCB(%rax),%rdi - movq PCB_SAVEFPU(%rdi),%rdi - clts - fxsave (%rdi) - smsw %ax - orb $CR0_TS,%al - lmsw %ax - - movq $PCB_SAVEFPU_SIZE,%rdx /* arg 3 */ - leaq PCB_USERFPU(%rcx),%rsi /* arg 2 */ - /* arg 1 (%rdi) already loaded */ - call bcopy -1: - popfq - - ret -END(savectx) - -/* - * savectx2(xpcb) - * Update xpcb, saving current processor state. - */ -ENTRY(savectx2) - /* Fetch XPCB. */ - movq %rdi,%r8 - - /* Save caller's return address. */ - movq (%rsp),%rax - movq %rax,PCB_RIP(%r8) - - movq %rbx,PCB_RBX(%r8) - movq %rsp,PCB_RSP(%r8) - movq %rbp,PCB_RBP(%r8) - movq %r12,PCB_R12(%r8) - movq %r13,PCB_R13(%r8) - movq %r14,PCB_R14(%r8) - movq %r15,PCB_R15(%r8) - - movq %cr0,%rax - movq %rax,XPCB_CR0(%r8) + movq %cr0,%rsi + movq %rsi,PCB_CR0(%rdi) movq %cr2,%rax - movq %rax,XPCB_CR2(%r8) + movq %rax,PCB_CR2(%rdi) + movq %cr3,%rax + movq %rax,PCB_CR3(%rdi) movq %cr4,%rax - movq %rax,XPCB_CR4(%r8) + movq %rax,PCB_CR4(%rdi) movq %dr0,%rax - movq %rax,PCB_DR0(%r8) + movq %rax,PCB_DR0(%rdi) movq %dr1,%rax - movq %rax,PCB_DR1(%r8) + movq %rax,PCB_DR1(%rdi) movq %dr2,%rax - movq %rax,PCB_DR2(%r8) + movq %rax,PCB_DR2(%rdi) movq %dr3,%rax - movq %rax,PCB_DR3(%r8) + movq %rax,PCB_DR3(%rdi) movq %dr6,%rax - movq %rax,PCB_DR6(%r8) + movq %rax,PCB_DR6(%rdi) movq %dr7,%rax - movq %rax,PCB_DR7(%r8) - - sgdt XPCB_GDT(%r8) - sidt XPCB_IDT(%r8) - sldt XPCB_LDT(%r8) - str XPCB_TR(%r8) + movq %rax,PCB_DR7(%rdi) movl $MSR_FSBASE,%ecx rdmsr shlq $32,%rdx leaq (%rax,%rdx),%rax - movq %rax,PCB_FSBASE(%r8) + movq %rax,PCB_FSBASE(%rdi) movl $MSR_GSBASE,%ecx rdmsr shlq $32,%rdx leaq (%rax,%rdx),%rax - movq %rax,PCB_GSBASE(%r8) + movq %rax,PCB_GSBASE(%rdi) movl $MSR_KGSBASE,%ecx rdmsr shlq $32,%rdx leaq (%rax,%rdx),%rax - movq %rax,XPCB_KGSBASE(%r8) + movq %rax,PCB_KGSBASE(%rdi) + + sgdt PCB_GDT(%rdi) + sidt PCB_IDT(%rdi) + sldt PCB_LDT(%rdi) + str PCB_TR(%rdi) - movq PCPU(FPCURTHREAD),%rax - testq %rax,%rax - je 1f clts - fxsave PCB_USERFPU(%r8) -1: + fxsave PCB_USERFPU(%rdi) + movq %rsi,%cr0 /* The previous %cr0 is saved in %rsi. */ - movl $1, %eax + movl $1,%eax ret -END(savectx2) +END(savectx) ==== //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/genassym.c#5 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.179 2010/07/29 16:41:21 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.181 2010/08/02 18:12:30 jkim Exp $"); #include "opt_compat.h" #include "opt_hwpmc_hooks.h" @@ -123,7 +123,7 @@ ASSYM(DMAP_MIN_ADDRESS, DMAP_MIN_ADDRESS); ASSYM(DMAP_MAX_ADDRESS, DMAP_MAX_ADDRESS); ASSYM(MCLBYTES, MCLBYTES); -ASSYM(PCB_CR3, offsetof(struct pcb, pcb_cr3)); + ASSYM(PCB_R15, offsetof(struct pcb, pcb_r15)); ASSYM(PCB_R14, offsetof(struct pcb, pcb_r14)); ASSYM(PCB_R13, offsetof(struct pcb, pcb_r13)); @@ -134,40 +134,35 @@ ASSYM(PCB_RIP, offsetof(struct pcb, pcb_rip)); ASSYM(PCB_FSBASE, offsetof(struct pcb, pcb_fsbase)); ASSYM(PCB_GSBASE, offsetof(struct pcb, pcb_gsbase)); +ASSYM(PCB_KGSBASE, offsetof(struct pcb, pcb_kgsbase)); +ASSYM(PCB_CR0, offsetof(struct pcb, pcb_cr0)); +ASSYM(PCB_CR2, offsetof(struct pcb, pcb_cr2)); +ASSYM(PCB_CR3, offsetof(struct pcb, pcb_cr3)); +ASSYM(PCB_CR4, offsetof(struct pcb, pcb_cr4)); ASSYM(PCB_DR0, offsetof(struct pcb, pcb_dr0)); ASSYM(PCB_DR1, offsetof(struct pcb, pcb_dr1)); ASSYM(PCB_DR2, offsetof(struct pcb, pcb_dr2)); ASSYM(PCB_DR3, offsetof(struct pcb, pcb_dr3)); ASSYM(PCB_DR6, offsetof(struct pcb, pcb_dr6)); ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7)); -ASSYM(PCB_USERFPU, offsetof(struct pcb, pcb_user_save)); +ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags)); +ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault)); +ASSYM(PCB_GS32SD, offsetof(struct pcb, pcb_gs32sd)); ASSYM(PCB_TSSP, offsetof(struct pcb, pcb_tssp)); +ASSYM(PCB_SAVEFPU, offsetof(struct pcb, pcb_save)); +ASSYM(PCB_SAVEFPU_SIZE, sizeof(struct savefpu)); ASSYM(PCB_FULL_IRET, offsetof(struct pcb, pcb_full_iret)); +ASSYM(PCB_GDT, offsetof(struct pcb, pcb_gdt)); +ASSYM(PCB_IDT, offsetof(struct pcb, pcb_idt)); +ASSYM(PCB_LDT, offsetof(struct pcb, pcb_ldt)); +ASSYM(PCB_TR, offsetof(struct pcb, pcb_tr)); +ASSYM(PCB_USERFPU, offsetof(struct pcb, pcb_user_save)); +ASSYM(PCB_SIZE, sizeof(struct pcb)); ASSYM(PCB_DBREGS, PCB_DBREGS); ASSYM(PCB_32BIT, PCB_32BIT); ASSYM(PCB_GS32BIT, PCB_GS32BIT); ASSYM(PCB_FULLCTX, PCB_FULLCTX); -ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags)); -ASSYM(PCB_SAVEFPU, offsetof(struct pcb, pcb_save)); -ASSYM(PCB_SAVEFPU_SIZE, sizeof(struct savefpu)); -ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault)); -ASSYM(PCB_GS32SD, offsetof(struct pcb, pcb_gs32sd)); - -ASSYM(PCB_SIZE, sizeof(struct pcb)); - -ASSYM(XPCB_PCB, offsetof(struct xpcb, xpcb_pcb)); -ASSYM(XPCB_CR0, offsetof(struct xpcb, xpcb_cr0)); -ASSYM(XPCB_CR2, offsetof(struct xpcb, xpcb_cr2)); -ASSYM(XPCB_CR4, offsetof(struct xpcb, xpcb_cr4)); -ASSYM(XPCB_KGSBASE, offsetof(struct xpcb, xpcb_kgsbase)); -ASSYM(XPCB_GDT, offsetof(struct xpcb, xpcb_gdt)); -ASSYM(XPCB_IDT, offsetof(struct xpcb, xpcb_idt)); -ASSYM(XPCB_LDT, offsetof(struct xpcb, xpcb_ldt)); -ASSYM(XPCB_TR, offsetof(struct xpcb, xpcb_tr)); - -ASSYM(XPCB_SIZE, sizeof(struct xpcb)); - ASSYM(COMMON_TSS_RSP0, offsetof(struct amd64tss, tss_rsp0)); ASSYM(TF_R15, offsetof(struct trapframe, tf_r15)); ==== //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/initcpu.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/initcpu.c,v 1.59 2009/11/13 13:07:01 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/initcpu.c,v 1.60 2010/08/02 17:01:23 jhb Exp $"); #include "opt_cpu.h" @@ -177,17 +177,17 @@ if ((cpu_feature & CPUID_CLFSH) != 0) cpu_clflush_line_size = ((cpu_procinfo >> 8) & 0xff) * 8; /* - * XXXKIB: (temporary) hack to work around traps generated when - * CLFLUSHing APIC registers window. + * XXXKIB: (temporary) hack to work around traps generated + * when CLFLUSHing APIC register window under virtualization + * environments. These environments tend to disable the + * CPUID_SS feature even though the native CPU supports it. */ TUNABLE_INT_FETCH("hw.clflush_disable", &hw_clflush_disable); - if (cpu_vendor_id == CPU_VENDOR_INTEL && !(cpu_feature & CPUID_SS) && - hw_clflush_disable == -1) + if (vm_guest != VM_GUEST_NO && hw_clflush_disable == -1) cpu_feature &= ~CPUID_CLFSH; /* * Allow to disable CLFLUSH feature manually by - * hw.clflush_disable tunable. This may help Xen guest on some AMD - * CPUs. + * hw.clflush_disable tunable. */ if (hw_clflush_disable == 1) cpu_feature &= ~CPUID_CLFSH; ==== //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/mp_machdep.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.320 2010/07/26 19:53:09 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.321 2010/08/02 17:35:00 jkim Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -100,7 +100,7 @@ void *dpcpu; struct pcb stoppcbs[MAXCPU]; -struct xpcb **stopxpcbs = NULL; +struct pcb **susppcbs = NULL; /* Variables needed for SMP tlb shootdown. */ vm_offset_t smp_tlb_addr1; @@ -1336,7 +1336,7 @@ rf = intr_disable(); cr3 = rcr3(); - if (savectx2(stopxpcbs[cpu])) { + if (savectx(susppcbs[cpu])) { wbinvd(); atomic_set_int(&stopped_cpus, cpumask); } ==== //depot/projects/soc2009/anchie_send/src/sys/amd64/include/pcb.h#4 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)pcb.h 5.10 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.73 2010/06/05 15:59:59 kib Exp $ + * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.75 2010/08/02 18:12:30 jkim Exp $ */ #ifndef _AMD64_PCB_H_ @@ -44,7 +44,6 @@ #include struct pcb { - register_t pcb_cr3; register_t pcb_r15; register_t pcb_r14; register_t pcb_r13; @@ -55,6 +54,18 @@ register_t pcb_rip; register_t pcb_fsbase; register_t pcb_gsbase; + register_t pcb_kgsbase; + register_t pcb_cr0; + register_t pcb_cr2; + register_t pcb_cr3; + register_t pcb_cr4; + register_t pcb_dr0; + register_t pcb_dr1; + register_t pcb_dr2; + register_t pcb_dr3; + register_t pcb_dr6; + register_t pcb_dr7; + u_long pcb_flags; #define PCB_DBREGS 0x02 /* process using debug registers */ #define PCB_KERNFPU 0x04 /* kernel uses fpu */ @@ -64,44 +75,30 @@ #define PCB_32BIT 0x40 /* process has 32 bit context (segs etc) */ #define PCB_FULLCTX 0x80 /* full context restore on sysret */ - u_int64_t pcb_dr0; - u_int64_t pcb_dr1; - u_int64_t pcb_dr2; - u_int64_t pcb_dr3; - u_int64_t pcb_dr6; - u_int64_t pcb_dr7; - - struct savefpu pcb_user_save; uint16_t pcb_initial_fpucw; caddr_t pcb_onfault; /* copyin/out fault recovery */ /* 32-bit segment descriptor */ - struct user_segment_descriptor pcb_gs32sd; + struct user_segment_descriptor pcb_gs32sd; /* local tss, with i/o bitmap; NULL for common */ struct amd64tss *pcb_tssp; struct savefpu *pcb_save; char pcb_full_iret; -}; + + struct region_descriptor pcb_gdt; + struct region_descriptor pcb_idt; + struct region_descriptor pcb_ldt; + uint16_t pcb_tr; -struct xpcb { - struct pcb xpcb_pcb; - register_t xpcb_cr0; - register_t xpcb_cr2; - register_t xpcb_cr4; - register_t xpcb_kgsbase; - struct region_descriptor xpcb_gdt; - struct region_descriptor xpcb_idt; - struct region_descriptor xpcb_ldt; - uint16_t xpcb_tr; + struct savefpu pcb_user_save; }; #ifdef _KERNEL struct trapframe; void makectx(struct trapframe *, struct pcb *); -void savectx(struct pcb *); -int savectx2(struct xpcb *); +int savectx(struct pcb *); #endif #endif /* _AMD64_PCB_H_ */ ==== //depot/projects/soc2009/anchie_send/src/sys/boot/common/loader.8#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.96 2009/02/16 02:42:17 thompsa Exp $ +.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.97 2010/08/02 13:11:35 uqs Exp $ .\" .Dd February 15, 2009 .Dt LOADER 8 @@ -806,7 +806,7 @@ exception guard. .It Ic .# Works like -.Ic . +.Ic "." but without outputting a trailing space. .It Ic fclose Pq Ar fd -- Closes a file. ==== //depot/projects/soc2009/anchie_send/src/sys/cam/cam.c#5 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam.c,v 1.16 2010/01/28 08:41:30 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam.c,v 1.17 2010/08/02 18:06:49 bcr Exp $"); #include #ifdef _KERNEL @@ -59,7 +59,7 @@ { CAM_REQ_ABORTED, "CCB request aborted by the host" }, { CAM_UA_ABORT, "Unable to abort CCB request" }, { CAM_REQ_CMP_ERR, "CCB request completed with an error" }, - { CAM_BUSY, "CAM subsytem is busy" }, + { CAM_BUSY, "CAM subsystem is busy" }, { CAM_REQ_INVALID, "CCB request was invalid" }, { CAM_PATH_INVALID, "Supplied Path ID is invalid" }, { CAM_DEV_NOT_THERE, "Device Not Present" }, ==== //depot/projects/soc2009/anchie_send/src/sys/cam/scsi/scsi_target.c#5 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.81 2009/10/23 08:27:55 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.82 2010/08/02 18:06:49 bcr Exp $"); #include @@ -1174,7 +1174,7 @@ return (EINVAL); case CAM_RESRC_UNAVAIL: /* Resource Unavailable */ return (ENOMEM); - case CAM_BUSY: /* CAM subsytem is busy */ + case CAM_BUSY: /* CAM subsystem is busy */ case CAM_UA_ABORT: /* Unable to abort CCB request */ return (EBUSY); default: ==== //depot/projects/soc2009/anchie_send/src/sys/compat/freebsd32/freebsd32_misc.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.110 2010/07/27 17:31:03 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.113 2010/08/04 14:38:20 kib Exp $"); #include "opt_compat.h" #include "opt_inet.h" @@ -1059,6 +1059,8 @@ if (control != NULL) error = freebsd32_copy_msg_out(&msg, control); + else + msg.msg_controllen = 0; if (error == 0) error = freebsd32_copyoutmsghdr(&msg, uap->msg); @@ -1614,8 +1616,9 @@ } static void -copy_stat( struct stat *in, struct stat32 *out) +copy_stat(struct stat *in, struct stat32 *out) { + CP(*in, *out, st_dev); CP(*in, *out, st_ino); CP(*in, *out, st_mode); @@ -1631,6 +1634,7 @@ CP(*in, *out, st_blksize); CP(*in, *out, st_flags); CP(*in, *out, st_gen); + TS_CP(*in, *out, st_birthtim); } int ==== //depot/projects/soc2009/anchie_send/src/sys/conf/NOTES#11 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1588 2010/07/28 15:36:12 mdf Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1589 2010/08/05 16:28:17 olli Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -195,7 +195,7 @@ # workloads on SMP machines. It supports cpu-affinity, per-cpu runqueues # and scheduler locks. It also has a stronger notion of interactivity # which leads to better responsiveness even on uniprocessor machines. This -# will eventually become the default scheduler. +# is the default scheduler. # # SCHED_STATS is a debugging option which keeps some stats in the sysctl # tree at 'kern.sched.stats' and is useful for debugging scheduling decisions. @@ -501,7 +501,7 @@ #options RESTARTABLE_PANICS # -# This option let some drivers co-exist that can't co-exist in a running +# This option lets some drivers co-exist that can't co-exist in a running # system. This is used to be able to compile all kernel code in one go for # quality assurance purposes (like this file, which the option takes it name # from.) @@ -521,7 +521,7 @@ # # The hwpmc driver that allows the use of in-CPU performance monitoring -# counters for performance monitoring. The base kernel needs to configured +# counters for performance monitoring. The base kernel needs to be configured # with the 'options' line, while the hwpmc device can be either compiled # in or loaded as a loadable kernel module. # @@ -592,12 +592,12 @@ # soon to have a new base RFC and many many more # extensions. This release supports all the extensions # including many drafts (most about to become RFC's). -# It is the premeier SCTP implementation in the NET +# It is the reference implementation of SCTP # and is quite well tested. # # Note YOU MUST have both INET and INET6 defined. -# you don't have to enable V6, but SCTP is -# dual stacked and so far we have not teased apart +# You don't have to enable V6, but SCTP is +# dual stacked and so far we have not torn apart # the V6 and V4.. since an association can span # both a V6 and V4 address at the SAME time :-) # @@ -605,7 +605,7 @@ # There are bunches of options: # this one turns on all sorts of # nastly printing that you can -# do. Its all controled by a +# do. It's all controlled by a # bit mask (settable by socket opt and # by sysctl). Including will not cause # logging until you set the bits.. but it @@ -615,9 +615,9 @@ # faster.. if you are not debugging don't use. options SCTP_DEBUG # -# This option turns off the CRC32c checksum. Basically -# You will not be able to talk to anyone else that -# has not done this. Its more for expermentation to +# This option turns off the CRC32c checksum. Basically, +# you will not be able to talk to anyone else who +# has not done this. Its more for experimentation to # see how much CPU the CRC32c really takes. Most new # cards for TCP support checksum offload.. so this # option gives you a "view" into what SCTP would be @@ -636,13 +636,13 @@ # see. I have used this to produce interesting # charts and graphs as well :-> # -# I have not yet commited the tools to get and print +# I have not yet committed the tools to get and print # the logs, I will do that eventually .. before then # if you want them send me an email rrs@freebsd.org # You basically must have ktr(4) enabled for these # and you then set the sysctl to turn on/off various # logging bits. Use ktrdump(8) to pull the log and run -# it through a dispaly program.. and graphs and other +# it through a display program.. and graphs and other # things too. # options SCTP_LOCK_LOGGING @@ -798,8 +798,7 @@ # The `bpf' device enables the Berkeley Packet Filter. Be # aware of the legal and administrative consequences of enabling this -# option. The number of devices determines the maximum number of -# simultaneous BPF clients programs runnable. DHCP requires bpf. +# option. DHCP requires bpf. device bpf # The `disc' device implements a minimal network interface, @@ -938,7 +937,7 @@ options MBUF_STRESS_TEST options MBUF_PROFILING -# Statically Link in accept filters +# Statically link in accept filters options ACCEPT_FILTER_DATA options ACCEPT_FILTER_DNS options ACCEPT_FILTER_HTTP @@ -996,7 +995,7 @@ options NFSLOCKD #Network Lock Manager options NFSCL #experimental NFS client with NFSv4 options NFSD #experimental NFS server with NFSv4 -options KGSSAPI #Kernel GSSAPI implementaion +options KGSSAPI #Kernel GSSAPI implementation # NT File System. Read-mostly, see mount_ntfs(8) for details. # For a full read-write NTFS support consider sysutils/fusefs-ntfs @@ -1059,7 +1058,7 @@ # if you let these users run programs, so confine it to file-servers # (but it'll save you lots of headaches in those cases). Root owned # directories are exempt and X bits are cleared. The suid bit must be -# set on the directory as well; see chmod(1) PC owners can't see/set +# set on the directory as well; see chmod(1). PC owners can't see/set # ownerships so they keep getting their toes trodden on. This saves >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Aug 5 20:23:49 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4DE5E106567D; Thu, 5 Aug 2010 20:23:49 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F65E106564A for ; Thu, 5 Aug 2010 20:23:49 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D3C188FC14 for ; Thu, 5 Aug 2010 20:23:48 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o75KNm77043652 for ; Thu, 5 Aug 2010 20:23:48 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o75KNg8i043646 for perforce@freebsd.org; Thu, 5 Aug 2010 20:23:42 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 5 Aug 2010 20:23:42 GMT Message-Id: <201008052023.o75KNg8i043646@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181900 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2010 20:23:49 -0000 http://p4web.freebsd.org/@@181900?ac=10 Change 181900 by gonzo@gonzo_figaro on 2010/08/05 20:22:54 IFC @181891 Affected files ... .. //depot/projects/avr32/src/Makefile.inc1#12 integrate .. //depot/projects/avr32/src/Makefile.mips#1 branch .. //depot/projects/avr32/src/ObsoleteFiles.inc#14 integrate .. //depot/projects/avr32/src/UPDATING#15 integrate .. //depot/projects/avr32/src/bin/kill/kill.c#3 integrate .. //depot/projects/avr32/src/bin/ln/ln.1#3 integrate .. //depot/projects/avr32/src/bin/pkill/pkill.1#4 integrate .. //depot/projects/avr32/src/bin/pkill/pkill.c#4 integrate .. //depot/projects/avr32/src/bin/ps/keyword.c#4 integrate .. //depot/projects/avr32/src/bin/ps/ps.1#5 integrate .. //depot/projects/avr32/src/bin/setfacl/setfacl.1#4 integrate .. //depot/projects/avr32/src/bin/sh/eval.c#8 integrate .. //depot/projects/avr32/src/bin/sh/expand.c#4 integrate .. //depot/projects/avr32/src/bin/sh/histedit.c#5 integrate .. //depot/projects/avr32/src/bin/sh/jobs.c#3 integrate .. //depot/projects/avr32/src/bin/sh/jobs.h#2 integrate .. //depot/projects/avr32/src/bin/sh/parser.c#7 integrate .. //depot/projects/avr32/src/bin/sh/sh.1#7 integrate .. //depot/projects/avr32/src/bin/sleep/sleep.1#2 integrate .. //depot/projects/avr32/src/bin/sleep/sleep.c#2 integrate .. //depot/projects/avr32/src/cddl/compat/opensolaris/include/mnttab.h#2 integrate .. //depot/projects/avr32/src/cddl/compat/opensolaris/misc/fsshare.c#2 integrate .. //depot/projects/avr32/src/cddl/compat/opensolaris/misc/mnttab.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/baddof/baddof.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/chkargs.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dstyle.pl#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_SCALAR.stddevtoofew.d#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.stddevnoarg.d#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.stddevtoomany.d#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearstddev.d#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearstddev.d.out#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs1.d#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs2.d#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs2.d.out#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs3.d#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs3.d.out#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.d#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.d.out#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.D_PDESC_ZERO.lowfrequency.d#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.D_PDESC_ZERO.malformedoverflow.d#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.D_PDESC_ZERO.nonexistentevent.d#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.cpcvscpustatpart1.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.cpcvscpustatpart2.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.cputrackfailtostart.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.cputrackterminates.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/err.toomanyenablings.d#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/tst.allcpus.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/tst.genericevent.d#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/tst.platformevent.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv4remote.pl#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv6remote.pl#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localicmp.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localicmp.ksh.out#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localtcp.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localtcp.ksh.out#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudp.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudp.ksh.out#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteicmp.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteicmp.ksh.out#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotetcp.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotetcp.ksh.out#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudp.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudp.ksh.out#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv6localicmp.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv6localicmp.ksh.out#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv6remoteicmp.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv6remoteicmp.ksh.out#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localtcpstate.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localtcpstate.ksh.out#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotetcpstate.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotetcpstate.ksh.out#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/src/TestFunctionLookup.java#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/src/TestGetAggregate.java#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.FunctionLookup.ksh.out#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.GetAggregate.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh.out#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PDESC_ZERO.badlib.exe#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_CREATEFAIL.many.exe#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_FUNC.badfunc.exe#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_LIB.libdash.exe#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.alldash.exe#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.badname.exe#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.globdash.exe#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_OFF.toobig.exe#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.coverage.exe#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.emptystack.exe#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.killonerror.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.probemod.ksh#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/plockstat/tst.available.exe#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/plockstat/tst.libmap.exe#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.basics.d#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.basics.d.out#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.largeusersym.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.str.d#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.str.d.out#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/sdt/tst.sdtargs.c#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/sdt/tst.sdtargs.d#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithStddev.d#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/sysevent/tst.post_chan.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.corruptenv.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh.out#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i386/funcs/tst.badcopyin.d#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i86xpv/xdt/tst.basic.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i86xpv/xdt/tst.hvmenable.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i86xpv/xdt/tst.memenable.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i86xpv/xdt/tst.schedargs.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i86xpv/xdt/tst.schedenable.ksh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/sparc/pid/err.D_PROC_ALIGN.misaligned.exe#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/plockstat/plockstat.c#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/pyzfs/pyzfs.py#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/zdb/zdb.8#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/zdb/zdb.c#4 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/zdb/zdb_il.c#3 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/zfs/zfs.8#4 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c#3 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c#3 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/cmd/ztest/ztest.c#3 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/common/avl/avl.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cc.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_error.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l#4 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c#3 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_program.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_string.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/mkerrno.sh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/mksignal.sh#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/i386/dt_isadep.c#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/i386/regs.d.in#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/i386/regs.sed.in#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/sparc/dt_isadep.c#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/sparc/regs.d#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libgen/common/gmatch.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h#3 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c#4 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_graph.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h#3 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c#4 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c#3 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c#4 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c#4 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#5 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c#3 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/pyzfs/common/__init__.py#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/pyzfs/common/allow.py#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/pyzfs/common/dataset.py#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/pyzfs/common/groupspace.py#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/pyzfs/common/ioctl.c#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/pyzfs/common/unallow.py#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/pyzfs/common/userspace.py#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/pyzfs/common/util.py#1 branch .. //depot/projects/avr32/src/cddl/contrib/opensolaris/tools/ctf/cvt/ctf.c#3 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.h#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/tools/ctf/cvt/output.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/tools/ctf/cvt/st_parse.c#2 integrate .. //depot/projects/avr32/src/cddl/contrib/opensolaris/tools/ctf/cvt/tdata.c#2 integrate .. //depot/projects/avr32/src/cddl/lib/Makefile#2 integrate .. //depot/projects/avr32/src/cddl/usr.sbin/Makefile#3 integrate .. //depot/projects/avr32/src/cddl/usr.sbin/dtrace/Makefile#3 integrate .. //depot/projects/avr32/src/cddl/usr.sbin/lockstat/Makefile#3 integrate .. //depot/projects/avr32/src/contrib/binutils/bfd/elf64-ppc.c#2 integrate .. //depot/projects/avr32/src/contrib/binutils/binutils/doc/readelf.1#2 integrate .. //depot/projects/avr32/src/contrib/binutils/ld/emultempl/elf32.em#2 integrate .. //depot/projects/avr32/src/contrib/binutils/ld/lexsup.c#2 integrate .. //depot/projects/avr32/src/contrib/file/apprentice.c#4 integrate .. //depot/projects/avr32/src/contrib/file/magic.c#4 integrate .. //depot/projects/avr32/src/contrib/gcc/config/avr32/freebsd.h#6 edit .. //depot/projects/avr32/src/contrib/gcc/config/rs6000/freebsd.h#2 integrate .. //depot/projects/avr32/src/contrib/gdb/gdb/ppcfbsd-tdep.c#2 integrate .. //depot/projects/avr32/src/contrib/gdb/gdb/solib-svr4.c#2 integrate .. //depot/projects/avr32/src/contrib/llvm/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/Makefile#2 integrate .. //depot/projects/avr32/src/contrib/llvm/Makefile.config.in#2 integrate .. //depot/projects/avr32/src/contrib/llvm/Makefile.rules#2 integrate .. //depot/projects/avr32/src/contrib/llvm/autoconf/configure.ac#2 integrate .. //depot/projects/avr32/src/contrib/llvm/autoconf/m4/link_options.m4#2 integrate .. //depot/projects/avr32/src/contrib/llvm/bindings/ada/llvm/llvm.ads#2 integrate .. //depot/projects/avr32/src/contrib/llvm/configure#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm-c/Core.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm-c/Target.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm-c/lto.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ADT/APFloat.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ADT/APInt.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ADT/DAGDeltaAlgorithm.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ADT/DenseMap.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ADT/FoldingSet.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ADT/ImmutableIntervalMap.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ADT/PostOrderIterator.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ADT/SetVector.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ADT/SmallPtrSet.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ADT/SmallVector.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ADT/Statistic.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ADT/Triple.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ADT/ValueMap.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ADT/ilist.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/AbstractTypeUser.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Analysis/CFGPrinter.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Analysis/CaptureTracking.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Analysis/CodeMetrics.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Analysis/DebugInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Analysis/DominatorInternals.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Analysis/Dominators.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Analysis/InlineCost.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Analysis/IntervalIterator.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Analysis/Loads.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Analysis/LoopInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Analysis/ValueTracking.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Bitcode/ReaderWriter.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/FastISel.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/FunctionLoweringInfo.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/GCMetadata.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/GCMetadataPrinter.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/LiveInterval.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/MachineFunctionPass.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/MachineInstr.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/MachineJumpTableInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/MachineLoopInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/MachineOperand.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/Passes.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/PostRAHazardRecognizer.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/ProcessImplicitDefs.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/RegisterCoalescer.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/RegisterScavenging.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/RuntimeLibcalls.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/SelectionDAGISel.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Config/config.h.in#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/GlobalValue.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/InlineAsm.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/InstrTypes.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Instructions.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/IntrinsicInst.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Intrinsics.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/LinkAllPasses.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/MC/MCAssembler.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/MC/MCContext.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/MC/MCDirectives.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/MC/MCObjectStreamer.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/include/llvm/MC/MCObjectWriter.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/MC/MCParser/AsmLexer.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/MC/MCParser/AsmParser.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/include/llvm/MC/MCSection.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/MC/MCSectionCOFF.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/MC/MCStreamer.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/MC/SectionKind.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Module.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Pass.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/PassAnalysisSupport.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/PassManagers.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/PassSupport.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Support/CFG.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Support/COFF.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Support/CallSite.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Support/Dwarf.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Support/ELF.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Support/IRBuilder.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Support/IRReader.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Support/MemoryBuffer.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Support/Regex.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Support/StringPool.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Support/Timer.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Support/raw_ostream.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/SymbolTableListTraits.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/System/DataTypes.h.cmake#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/System/Path.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Target/Target.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Target/TargetAsmParser.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Target/TargetCallingConv.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Target/TargetInstrDesc.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Target/TargetInstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Target/TargetInstrItineraries.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Target/TargetLowering.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Target/TargetOpcodes.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Target/TargetOptions.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Transforms/IPO.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Transforms/Utils/BuildLibCalls.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Transforms/Utils/Local.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Type.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Use.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/include/llvm/Value.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/AliasAnalysis.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/AliasDebugger.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/ConstantFolding.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/DebugInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/DomPrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/IPA/CallGraph.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/IPA/GlobalsModRef.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/InlineCost.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/InstructionSimplify.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/Lint.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/Loads.cpp#1 branch .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/LoopInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/PostDominators.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/ProfileInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/ScalarEvolution.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Analysis/ValueTracking.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Archive/ArchiveWriter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/AsmParser/LLLexer.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/AsmParser/LLParser.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/AsmParser/LLParser.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/AsmParser/LLToken.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/BranchFolding.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/BranchFolding.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/CallingConvLower.cpp#1 branch .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/CodePlacementOpt.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/DwarfEHPrepare.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/ELFCodeEmitter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/ExactHazardRecognizer.cpp#2 delete .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/ExactHazardRecognizer.h#2 delete .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/GCStrategy.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/IfConversion.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/InlineSpiller.cpp#1 branch .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/IntrinsicLowering.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/LatencyPriorityQueue.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/LiveInterval.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/LiveStackAnalysis.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/LiveVariables.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/LowerSubregs.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/MachineCSE.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/MachineDominators.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/MachineFunction.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/MachineInstr.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/MachineLICM.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/MachineSink.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/MachineVerifier.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/OptimizeExts.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/OptimizePHIs.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/PBQP/HeuristicSolver.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/PBQP/Heuristics/Briggs.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/PHIElimination.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/Passes.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/PostRAHazardRecognizer.cpp#1 branch .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/PreAllocSplitting.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/ProcessImplicitDefs.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/RegAllocFast.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/RegAllocLinearScan.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/RegAllocLocal.cpp#2 delete .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/ScheduleDAG.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/ScheduleDAGEmit.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/CallingConvLower.cpp#2 delete .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.h#2 delete .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/ShadowStackGC.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SimpleHazardRecognizer.h#2 delete .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/SlotIndexes.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/Spiller.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/Spiller.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/StackProtector.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/StackSlotColoring.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/StrongPHIElimination.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/TailDuplication.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CodeGen/VirtRegRewriter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/CompilerDriver/Tool.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/ExecutionEngine/JIT/JIT.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Linker/LinkItems.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/MC/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MCAsmStreamer.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MCAssembler.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MCContext.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MCExpr.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MCMachOStreamer.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MCObjectStreamer.cpp#1 branch .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MCParser/AsmParser.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MCParser/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MCParser/DarwinAsmParser.cpp#1 branch .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MCParser/ELFAsmParser.cpp#1 branch .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MCParser/MCAsmLexer.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MCParser/MCAsmParser.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp#1 branch .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MCSectionCOFF.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/MC/MachObjectWriter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/MC/WinCOFFObjectWriter.cpp#1 branch .. //depot/projects/avr32/src/contrib/llvm/lib/MC/WinCOFFStreamer.cpp#1 branch .. //depot/projects/avr32/src/contrib/llvm/lib/Support/APFloat.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Support/APInt.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Support/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Support/DAGDeltaAlgorithm.cpp#1 branch .. //depot/projects/avr32/src/contrib/llvm/lib/Support/DeltaAlgorithm.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Support/Dwarf.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Support/FileUtilities.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Support/FoldingSet.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Support/MemoryBuffer.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Support/PrettyStackTrace.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Support/Regex.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Support/SmallPtrSet.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Support/SmallVector.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Support/StringPool.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Support/Timer.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Support/Triple.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Support/raw_ostream.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/System/Disassembler.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/System/Path.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/System/Unix/Path.inc#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/System/Unix/Program.inc#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/System/Unix/Signals.inc#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/System/Win32/Path.inc#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/System/Win32/Signals.inc#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARM.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARM.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMAddressingModes.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMConstantPoolValue.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMISelLowering.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMInstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMInstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMJITInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMMachineFunctionInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMScheduleA8.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMScheduleA9.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMScheduleV6.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMSubtarget.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/NEONMoveFix.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/NEONPreAllocPass.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/README.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/Thumb1InstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/Thumb1InstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/Thumb2HazardRecognizer.cpp#1 branch .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/Thumb2HazardRecognizer.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Alpha/AlphaInstrFormats.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Alpha/AlphaInstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Alpha/AlphaInstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Alpha/AlphaInstrInfo.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Alpha/AlphaMCAsmInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Alpha/AlphaMCAsmInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Blackfin/BlackfinISelDAGToDAG.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Blackfin/BlackfinISelLowering.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Blackfin/BlackfinISelLowering.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Blackfin/BlackfinInstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Blackfin/BlackfinInstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Blackfin/BlackfinInstrInfo.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Blackfin/BlackfinMCAsmInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Blackfin/BlackfinMCAsmInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/CBackend/CBackend.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/CellSPU/SPUCallingConv.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/CellSPU/SPUFrameInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/CellSPU/SPUInstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/CellSPU/SPUInstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/CellSPU/SPUMCAsmInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/CellSPU/SPUMCAsmInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/CellSPU/SPUNodes.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/CppBackend/CPPBackend.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MBlaze/AsmPrinter/MBlazeAsmPrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MBlaze/MBlazeISelLowering.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MBlaze/MBlazeISelLowering.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MBlaze/MBlazeMCAsmInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MBlaze/MBlazeMCAsmInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MSIL/MSILWriter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MSIL/MSILWriter.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MSP430/MSP430MCAsmInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MSP430/MSP430MCAsmInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Mangler.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Mips/MipsISelLowering.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Mips/MipsInstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Mips/MipsMCAsmInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Mips/MipsMCAsmInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PIC16/PIC16DebugInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PIC16/PIC16ISelLowering.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PIC16/PIC16ISelLowering.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PIC16/PIC16InstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PIC16/PIC16InstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PIC16/PIC16InstrInfo.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PIC16/PIC16MCAsmInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PIC16/PIC16MCAsmInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PIC16/PIC16MemSelOpt.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PIC16/PIC16Passes/PIC16Cloner.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PIC16/PIC16Passes/PIC16Cloner.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PIC16/PIC16RegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PIC16/PIC16RegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/README.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Sparc/SparcISelLowering.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Sparc/SparcMCAsmInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Sparc/SparcMCAsmInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/SystemZ/SystemZInstrFP.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/SystemZ/SystemZMCAsmInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/SystemZ/SystemZMCAsmInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/TargetInstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/TargetMachine.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/TargetRegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/AsmParser/X86AsmLexer.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/Disassembler/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/README-SSE.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/README-X86-64.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/README.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86AsmBackend.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86COFF.h#2 delete .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86CallingConv.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86CodeEmitter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86FastISel.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86FixupKinds.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86FloatingPointRegKill.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86ISelLowering.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86Instr64bit.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86InstrBuilder.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86InstrFPStack.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86InstrFormats.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86InstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86InstrInfo.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86InstrMMX.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86InstrSSE.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86MCCodeEmitter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86RegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86RegisterInfo.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86Subtarget.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86Subtarget.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/XCore/AsmPrinter/XCoreAsmPrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/XCore/XCoreISelLowering.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/XCore/XCoreMCAsmInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/XCore/XCoreMCAsmInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Hello/Hello.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Hello/Hello.exports#1 branch .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Hello/Makefile#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/IPO/Inliner.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/IPO/LowerSetJmp.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/IPO/PartialInlining.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/IPO/PartialSpecialization.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/IPO/StripSymbols.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/IPO/StructRetPromotion.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/InstCombine/InstCombine.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Instrumentation/ProfilingUtils.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/ABCD.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/ADCE.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/GVN.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/LoopDeletion.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/LoopIndexSplit.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/TailDuplication.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/AddrModeMatcher.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/BuildLibCalls.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/CloneLoop.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/CloneModule.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/LCSSA.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/Local.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/LoopSimplify.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/LoopUnroll.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/LowerInvoke.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/Transforms/Utils/ValueMapper.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/VMCore/AsmWriter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/VMCore/AutoUpgrade.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/VMCore/ConstantFold.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/VMCore/Core.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/VMCore/Instruction.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/VMCore/Instructions.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/VMCore/IntrinsicInst.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/VMCore/Metadata.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/VMCore/Module.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/VMCore/Pass.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/VMCore/PassManager.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/VMCore/Value.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/lib/VMCore/Verifier.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/Makefile#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/bugpoint/BugDriver.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/bugpoint/CrashDebugger.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/bugpoint/ExtractFunction.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/bugpoint/ListReducer.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/bugpoint/Miscompilation.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/bugpoint/ToolRunner.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/Makefile#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/NOTES.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/README.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/Makefile#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang-c/Index.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang-c/Makefile#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/Attr.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/Decl.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/DeclVisitor.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/Expr.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/Makefile#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/Redeclarable.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/Stmt.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/StmtIterator.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/StmtNodes.td#2 delete .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/TemplateName.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/Type.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/TypeLocBuilder.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/AST/UsuallyTinyPtrVector.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/PrintfFormatString.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Analysis/Support/BumpVector.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/Attr.td#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/AttrKinds.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsARM.def#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsPPC.def#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/FileManager.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/Makefile#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/PartialDiagnostic.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/TargetOptions.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/Version.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/Version.inc.in#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/AnalysisConsumer.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/BugReporter/BugReporter.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/FrontendActions.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/PathDiagnosticClients.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/Checker.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/CheckerVisitor.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/Environment.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/ExplodedGraph.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/GRCoreEngine.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/GRExprEngine.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/GRState.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/GRSubEngine.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/GRTransferFuncs.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/MemRegion.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/SVals.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/SValuator.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/Store.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/SymbolManager.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/CodeGen/BackendUtil.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenAction.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenOptions.h#2 delete .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/CodeGen/ModuleBuilder.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Driver/Action.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Driver/Arg.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Driver/ArgList.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Driver/Compilation.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Driver/Driver.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Driver/HostInfo.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Driver/Makefile#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Driver/OptTable.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Driver/Option.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Driver/Options.td#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Driver/Types.def#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Driver/Types.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/ASTConsumers.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/AnalysisConsumer.h#2 delete .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/AnalyzerOptions.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenAction.h#2 delete .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticOptions.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/FixItRewriter.h#2 delete .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/FrontendAction.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/FrontendActions.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/FrontendPluginRegistry.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/PCHBitCodes.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/PCHDeserializationListener.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/PCHReader.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/PCHWriter.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/PathDiagnosticClients.h#2 delete .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/TypeXML.def#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Index/CallGraph.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Index/Entity.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Index/Indexer.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Index/TranslationUnit.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Lex/Pragma.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Lex/Token.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Makefile#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Parse/Action.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Parse/AttributeList.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Parse/DeclSpec.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Parse/Parser.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Parse/Template.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Rewrite/ASTConsumers.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Rewrite/FixItRewriter.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Rewrite/FrontendActions.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Rewrite/RewriteRope.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Rewrite/Rewriter.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Rewrite/Rewriters.h#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/include/clang/Sema/ExternalSemaSource.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/AttrImpl.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/Decl.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/DeclFriend.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/Expr.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/Makefile#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/Stmt.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/TemplateName.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/Type.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Analysis/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Analysis/LiveVariables.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Analysis/Makefile#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Basic/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Basic/Makefile#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Basic/Targets.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Checker/AnalysisConsumer.cpp#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Checker/AttrNonNullChecker.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Checker/BasicConstraintManager.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Checker/BasicObjCFoundationChecks.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Checker/BasicObjCFoundationChecks.h#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Checker/BasicStore.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Checker/BugReporter.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Checker/BuiltinFunctionChecker.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Checker/CFRefCount.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Checker/CMakeLists.txt#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Checker/CStringChecker.cpp#1 branch .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Checker/CallInliner.cpp#2 integrate .. //depot/projects/avr32/src/contrib/llvm/tools/clang/lib/Checker/CastSizeChecker.cpp#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Aug 5 20:36:05 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DAC421065686; Thu, 5 Aug 2010 20:36:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 833C61065673 for ; Thu, 5 Aug 2010 20:36:04 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 700CC8FC32 for ; Thu, 5 Aug 2010 20:36:04 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o75Ka484044680 for ; Thu, 5 Aug 2010 20:36:04 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o75Ka4Yq044678 for perforce@freebsd.org; Thu, 5 Aug 2010 20:36:04 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 5 Aug 2010 20:36:04 GMT Message-Id: <201008052036.o75Ka4Yq044678@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181909 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2010 20:36:05 -0000 http://p4web.freebsd.org/@@181909?ac=10 Change 181909 by gonzo@gonzo_figaro on 2010/08/05 20:35:39 Alphabetize arch list Affected files ... .. //depot/projects/avr32/src/share/mk/sys.mk#6 edit Differences ... ==== //depot/projects/avr32/src/share/mk/sys.mk#6 (text+ko) ==== @@ -47,7 +47,7 @@ CFLAGS ?= -O .else CC ?= cc -.if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "mips" || ${MACHINE_CPUARCH} == "avr32" +.if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "avr32" || ${MACHINE_CPUARCH} == "mips" CFLAGS ?= -O -pipe .else CFLAGS ?= -O2 -pipe From owner-p4-projects@FreeBSD.ORG Thu Aug 5 23:43:31 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2585A1065676; Thu, 5 Aug 2010 23:43:31 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DDBED106564A for ; Thu, 5 Aug 2010 23:43:30 +0000 (UTC) (envelope-from ivoras@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C89B88FC08 for ; Thu, 5 Aug 2010 23:43:30 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o75NhUUi073245 for ; Thu, 5 Aug 2010 23:43:30 GMT (envelope-from ivoras@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o75NhU6Y073243 for perforce@freebsd.org; Thu, 5 Aug 2010 23:43:30 GMT (envelope-from ivoras@FreeBSD.org) Date: Thu, 5 Aug 2010 23:43:30 GMT Message-Id: <201008052343.o75NhU6Y073243@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ivoras@FreeBSD.org using -f From: Ivan Voras To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181920 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2010 23:43:31 -0000 http://p4web.freebsd.org/@@181920?ac=10 Change 181920 by ivoras@ursaminor on 2010/08/05 23:42:41 Write real man page, add more dependancy checking. Affected files ... .. //depot/projects/soc2010/pkg_patch/src/patch/Makefile#30 edit .. //depot/projects/soc2010/pkg_patch/src/patch/applypatch.c#20 edit .. //depot/projects/soc2010/pkg_patch/src/patch/applypatch.h#20 edit .. //depot/projects/soc2010/pkg_patch/src/patch/hashjob.c#29 edit .. //depot/projects/soc2010/pkg_patch/src/patch/hashjob.h#29 edit .. //depot/projects/soc2010/pkg_patch/src/patch/main.c#30 edit .. //depot/projects/soc2010/pkg_patch/src/patch/mkpatch.c#28 edit .. //depot/projects/soc2010/pkg_patch/src/patch/mkpatch.h#28 edit .. //depot/projects/soc2010/pkg_patch/src/patch/mkpatchdir.c#13 edit .. //depot/projects/soc2010/pkg_patch/src/patch/mkpatchdir.h#12 edit .. //depot/projects/soc2010/pkg_patch/src/patch/pkg_patch.1#3 edit .. //depot/projects/soc2010/pkg_patch/src/patch/pkg_patch.h#28 edit .. //depot/projects/soc2010/pkg_patch/src/patch/support.c#27 edit .. //depot/projects/soc2010/pkg_patch/src/patch/updateweb.c#8 edit .. //depot/projects/soc2010/pkg_patch/src/patch/updateweb.h#8 edit Differences ... ==== //depot/projects/soc2010/pkg_patch/src/patch/Makefile#30 (text+ko) ==== ==== //depot/projects/soc2010/pkg_patch/src/patch/applypatch.c#20 (text+ko) ==== @@ -270,8 +270,9 @@ char backup_pkg[PATH_MAX]; struct pkgxjob xpatch; struct pkg_patch pp; + struct pplist *pl; Package pkg_live, pkg_new; - struct pplist *pl; + enum CMP_NAME depcheck; FILE **fpvect; unsigned int err_count, n_patched_files, i; @@ -380,6 +381,26 @@ err_count++; } } + /* Check dependancies of the new package */ + depcheck = check_dependencies(&pkg_new, NULL); + if (depcheck == CMP_NO_MATCH || depcheck == CMP_BASE_MATCH) + printf("Dependancy error processing %s:\n", file_patch); + if (depcheck == CMP_NO_MATCH) { + if (!Force) + errx(1, "New package dependancies not satisfied"); + else + warnx("New package dependancies not satisfied" + " -- forced continue"); + } + if (depcheck == CMP_BASE_MATCH) { + printf("New package dependancies weakly matched - version " + "mismatch.\n"); + if (!Force) { + if (!y_or_n(0, "Continue?")) + errx(1, "Aborted."); + } else + printf("Forced continue.\n"); + } if (err_count != 0) errx(1, "Found %u errors. Cannot continue.", err_count); @@ -483,7 +504,7 @@ goto error_cleanup; } } - /* Step 6 - apply other classes - files to add, remove, dirs to rmdir */ + /* Step 6 - apply other cases - files to add, remove, dirs to rmdir */ STAILQ_FOREACH(pl, &pp.pp_add, linkage) { char livefile[PATH_MAX]; ==== //depot/projects/soc2010/pkg_patch/src/patch/applypatch.h#20 (text+ko) ==== ==== //depot/projects/soc2010/pkg_patch/src/patch/hashjob.c#29 (text+ko) ==== ==== //depot/projects/soc2010/pkg_patch/src/patch/hashjob.h#29 (text+ko) ==== ==== //depot/projects/soc2010/pkg_patch/src/patch/main.c#30 (text+ko) ==== @@ -14,7 +14,7 @@ * FreeBSD install - a package for the installation and maintainance * of non-core utilities. * - * This is the "binary patch" module. + * This is the "binary patch" utility main module. */ #include @@ -117,7 +117,7 @@ asprintf(&my_tmp, "%spkg_patch.%d.%d", _PATH_TMP, getpid(), time(NULL)); if (mkdir(my_tmp, 0700) != 0) errx(1, "Cannot create working directory: %s", my_tmp); - if (Verbose) + if (Verbose > 1) printf("Using temporary directory: %s\n", my_tmp); } ==== //depot/projects/soc2010/pkg_patch/src/patch/mkpatch.c#28 (text+ko) ==== ==== //depot/projects/soc2010/pkg_patch/src/patch/mkpatch.h#28 (text+ko) ==== ==== //depot/projects/soc2010/pkg_patch/src/patch/mkpatchdir.c#13 (text+ko) ==== ==== //depot/projects/soc2010/pkg_patch/src/patch/mkpatchdir.h#12 (text+ko) ==== ==== //depot/projects/soc2010/pkg_patch/src/patch/pkg_patch.1#3 (text+ko) ==== @@ -20,557 +20,71 @@ .Os .Sh NAME .Nm pkg_patch -.Nd a utility for managing binary package patches. THIS MANUAL PAGE IS NOT COMPLETED YET AND IS ONLY COPIED FROM pkg_add !!! +.Nd a utility for managing binary package patches. .Sh SYNOPSIS .Nm +.Op Fl f +.Op Fl v +.Fl a Ar patchfile +.Nm +.Op Fl b +.Op Fl v +.Fl c Ar source_package target_package patch_file +.Nm .Op Fl b -.Op Fl a Ar patchfile -.Op Fl c Ar package1 package2 patchfile +.Op Fl v +.Fl m Ar source_dir target_dir patch_dir +.Nm +.Op Fl v +.Fl u Ar patch_url +.Nm +.Fl h .Sh DESCRIPTION The .Nm command is used to work with patches to binary packages - creating them from existing binary packages and applying them to live systems. -THE REST OF THIS PAGE IS BOGUS. -.Sh WARNING -.Bf -emphasis -Since the -.Nm -command may execute scripts or programs contained within a package file, -your system may be susceptible to -.Dq Em trojan horses -or other subtle -attacks from miscreants who create dangerous package files. -.Pp -You are advised to verify the competence and identity of those who -provide installable package files. -For extra protection, use the -.Fl M -flag to extract the package file, and inspect its contents and scripts to -ensure it poses no danger to your system's integrity. -Pay particular -attention to any +INSTALL, +POST-INSTALL, +DEINSTALL, +POST-DEINSTALL, -+REQUIRE or +MTREE_DIRS files, and inspect the +CONTENTS file for -.Cm @cwd , -.Cm @mode -(check for setuid), -.Cm @dirrm , -.Cm @exec , -and -.Cm @unexec -directives, and/or use the -.Xr pkg_info 1 -command to examine the package file. -.Ef +It implements infrastructure for mass package creation and distribution +over the web. .Sh OPTIONS The following command line arguments are supported: .Bl -tag -width indent -.It Ar pkg-name Op Ar pkg-name ... -The named packages are installed. -A package name of -.Fl -will cause -.Nm -to read from stdin. -If the packages are not found in the current -working directory, -.Nm -will search them in each directory named by -.Ev PKG_PATH . -.It Fl v , -verbose +.It Fl v Turn on verbose output. -.It Fl K , -keep -Keep any downloaded package in -.Ev PKGDIR -if it is defined or in current directory by default. -.It Fl i , -no-deps -Install the package without fetching and installing -dependencies. -.It Fl I , -no-script -If any installation scripts (pre-install or post-install) exist for a given -package, do not execute them. -.It Fl n , -dry-run -Do not actually install a package, just report the steps that -would be taken if it was. -.It Fl R , -no-record -Do not record the installation of a package. -This means -that you cannot deinstall it later, so only use this option if -you know what you are doing! -.It Fl r , -remote -Use the remote fetching feature. -This will determine the appropriate -objformat and release and then fetch and install the package. -.It Fl f , -force -Force installation to proceed even if prerequisite packages are not -installed or the requirements script fails. -Although +.It Fl f +Force continuing operation even if non-critical errors are encountered, +such as error in installed package state or unsatisfied dependancies. +.It Fl a +Apply the specified package patch to the current live system. +The currently installed package must match the source package from which +the patch was generated. +.It Fl c +Create a package patch from two specified binary package files. +.It Fl m +Mass-create package patches from two directories of packages. +The .Nm -will still try to find and auto-install missing prerequisite packages, -a failure to find one will not be fatal. -.It Fl F -Already installed packages are not an error. -.It Fl p , -prefix Ar prefix -Set -.Ar prefix -as the directory in which to extract files from a package. -If a package has set its default directory, it will be overridden -by this flag. -Note that only the first -.Cm @cwd -directive will be replaced, since -.Nm -has no way of knowing which directory settings are relative and -which are absolute. -It is rare in any case to see more than one -directory transition made, but when such does happen and you wish -to have control over *all* directory transitions, then you -may then wish to look into the use of -.Cm MASTER -and -.Cm SLAVE -modes (see the -.Fl M -and -.Fl S -options). -If the -.Fl p -flag appears after any -.Fl P -flag on the command line, it overrides its effect, causing -.Nm -not to use the given -.Ar prefix -recursively. -.It Fl P Ar prefix -Does the same as the -.Fl p -option, except that the given -.Ar prefix -is also used recursively for the dependency packages, if any. -If the -.Fl P -flag appears after any -.Fl p -flag on the command line, it overrides its effect, causing -.Nm -to use the given -.Ar prefix -recursively. -.It Fl t , -template Ar template -Use -.Ar template -as the input to -.Xr mktemp 3 -when creating a -.Dq staging area . -By default, this is the string -.Pa /var/tmp/instmp.XXXXXX , -but it may be necessary to override it in the situation where -space in your -.Pa /var/tmp -directory is limited. -Be sure to leave some number of `X' characters -for -.Xr mktemp 3 -to fill in with a unique ID. -.Pp -You can get a performance boost by setting the staging area -.Ar template -to reside on the same disk partition as target directories for package -file installation; often this is -.Pa /usr . -.It Fl M , -master -Run in -.Cm MASTER -mode. -This is a very specialized mode for running -.Nm -and is meant to be run in conjunction with -.Cm SLAVE -mode. -When run in this mode, -.Nm -does no work beyond extracting the package into a temporary staging -area (see the -.Fl t -option), reading in the packing list, and then dumping it (prefaced by -the current staging area) to stdout where it may be filtered by a -program such as -.Xr sed 1 . -When used in conjunction with -.Cm SLAVE -mode, it allows you to make radical changes to the package structure -before acting on its contents. -.It Fl S , -slave -Run in -.Cm SLAVE -mode. -This is a very specialized mode for running -.Nm -and is meant to be run in conjunction with -.Cm MASTER -mode. -When run in this mode, -.Nm -expects the release contents to be already extracted and waiting -in the staging area, the location of which is read as a string -from stdin. -The complete packing list is also read from stdin, -and the contents then acted on as normal. -.It Fl C , -chroot Ar chrootdir -Before doing any operations, -.Xr chroot 2 -to the -.Ar chrootdir -directory so that all package files, and the package database, are -installed to -.Ar chrootdir . -Note that -.Ar chrootdir -needs to be a fairly complete file system, including everything normally -needed by -.Nm -to run. -This flag was added to help support operations done by -.Xr sysinstall 8 -and is not expected to be useful for much else. -Be careful that -.Ar chrootdir -is properly configured and cannot be modified by normal users, -versions of commands like -.Xr fetch 1 -may be run inside -.Ar chrootdir -as a side effect. -.El -.Pp -One or more -.Ar pkg-name -arguments may be specified, each being either a file containing the -package (these usually end with a -.Dq .tbz -suffix) or a -URL pointing at a file available on an ftp site. -Thus you may -extract files directly from their anonymous ftp locations (e.g.\& -.Nm -.Li ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/shells/bash-1.14.7.tbz ) . -Note: If you wish to use -.Bf -emphasis -passive mode -.Ef -ftp in such transfers, set -the variable -.Bf -emphasis -FTP_PASSIVE_MODE -.Ef -to some value in your environment. -Otherwise, the more standard -ACTIVE mode may be used. -If -.Nm -consistently fails to fetch a package from a site known to work, -it may be because you have a firewall that demands the usage of -.Bf -emphasis -passive mode -.Ef -ftp. +will attempt to match each package from the source directory to exactly +one package in the target directory and produce both patches and the +index file in the specified patch directory. +The resulting directory will be called the "package patch repository." +.It Fl u +Compare the current system state with the package patch repository and +update any packages found to need updating. .Sh TECHNICAL DETAILS The .Nm -utility extracts each package's -.Dq "packing list" -into a special staging directory (see -.Sx ENVIRONMENT ) , -parses it, and then runs -through the following sequence to fully extract the contents of the package: -.Bl -enum -.It -A check is made to determine if the package is already recorded as installed. -If it is, installation is terminated. -.It -A check is made to determine if the package conflicts (from -.Ic @conflicts -directives, see -.Xr pkg_create 1 ) -with an already installed package. -If it is, installation is terminated. -.It -Scan all the package dependencies (from -.Ic @pkgdep -directives, see -.Xr pkg_create 1 ) -are read from the packing list. -If any of these required packages is not currently installed, -an attempt is made to find and install it; -if the missing package cannot be found or installed, -the installation is terminated. -.It -Search for any -.Ic @option -directives which control how the package is added to the system. -At the time of this writing, the only currently implemented option is -.Ic @option Cm extract-in-place -which will cause the package to be extracted directly into its -prefix directory without moving through a staging area. -.It -If -.Ic @option Cm extract-in-place -is enabled, the package is now extracted directly into its -final location, otherwise it is extracted into the staging area. -.It -If a requirements script -.Pa +REQUIRE -exists for the package (see the -.Fl r -flag of -.Xr pkg_create 1 ) , -then execute it with the following arguments: -.Pp -.D1 Ar pkg-name Li INSTALL -.Pp -where -.Ar pkg-name -is the name of the package in question and the -.Dq Li INSTALL -keyword denotes this as an installation requirements check (useful if -you want to have one script serving multiple functions). -.It -If a pre-install script -.Pa +INSTALL -exists for the package, -it is then executed with the following arguments: -.Pp -.D1 Ar pkg-name Li PRE-INSTALL -.Pp -where -.Ar pkg-name -is the name of the package in question and -.Dq Li PRE-INSTALL -is a keyword denoting this as the preinstallation phase. -.Pp -.Sy Note : -The -.Dq Li PRE-INSTALL -keyword will not appear if separate scripts for pre-install and post-install -are given during package creation time (using the -.Fl i -and -.Fl I -flags to -.Xr pkg_create 1 ) . -.It -If -.Cm @option Cm extract-in-place -is not used, then the packing list (this is the -.Pa +CONTENTS -file) is now used as a guide for moving (or copying, as necessary) files from -the staging area into their final locations. -.It -If an mtree file -.Pa +MTREE_DIRS -exists for the package (see the -.Fl m -flag of -.Xr pkg_create 1 ) , -then -.Xr mtree 8 -is invoked as: -.Pp -.D1 Nm mtree Fl U f Pa +MTREE_DIRS Fl d e p Ar prefix -.Pp -where -.Ar prefix -is either the prefix specified with the -.Fl p -or -.Fl P -flag or, -if neither flag was specified, the name of the first directory named by a -.Ic @cwd -directive within this package. -.It -If a post-install script -.Pa +POST-INSTALL -exists for the package, -it is then executed with the following arguments: -.Pp -.D1 Ar pkg-name Li POST-INSTALL -.Pp -where -.Ar pkg-name -is the name of the package in question and -.Dq Li POST-INSTALL -is a keyword denoting this as the post-installation phase. -.Pp -.Sy Note : -The -.Dq Li POST-INSTALL -keyword will not appear if separate scripts for pre-install and post-install -are given during package creation time (using the -.Fl i -and -.Fl I -flags to -.Xr pkg_create 1 ) . -.Pp -Reasoning behind passing keywords such as -.Dq Li POST-INSTALL -and -.Dq Li PRE-INSTALL -is that this allows you to write a single -install -script that does both -.Dq before -and -.Dq after -actions. -But, separating the -functionality is more advantageous and easier from a maintenance viewpoint. -.It -After installation is complete, a copy of the -description -.Pq Pa +DESC , -comment -.Pq Pa +COMMENT , -pre-install script -.Pq Pa +INSTALL , -post-install script -.Pq Pa +POST-INSTALL , -deinstall script -.Pq Pa +DEINSTALL , -post-deinstall script -.Pq Pa +POST-DEINSTALL , -requirements script -.Pq Pa +REQUIRE , -display -.Pq Pa +DISPLAY , -mtree -.Pq Pa +MTREE_DIRS , -and packing list -.Pq Pa +CONTENTS -files are copied into -.Pa /var/db/pkg/ Ns Aq Ar pkg-name -for subsequent possible use by -.Xr pkg_delete 1 . -Any package dependencies are recorded in the other packages' -.Pa /var/db/pkg/ Ns Ao Ar other-pkg Ac Ns Pa /+REQUIRED_BY -file -(if the environment variable -.Ev PKG_DBDIR -is set, this overrides the -.Pa /var/db/pkg/ -path shown above). -.It -Finally, the staging area is deleted and the program terminates. -.El -.Pp -All the scripts are called with the environment variable -.Ev PKG_PREFIX -set to the installation prefix (see the -.Fl p -and -.Fl P -options above). -This allows a package author to write a script -that reliably performs some action on the directory where the package -is installed, even if the user might change it with the -.Fl p -or -.Fl P -flags to -.Nm . -.Sh ENVIRONMENT -The value of the -.Ev PKG_PATH -is used if a given package cannot be found. -The environment variable -should be a series of entries separated by colons. -Each entry -consists of a directory name. -The current directory may be indicated -implicitly by an empty directory name, or explicitly by a single -period. -.Pp -The environment variable -.Ev PKG_DBDIR -specifies an alternative location for the installed package database, -default location is +utility operates on binary package files and on the live system, including +the package database in .Pa /var/db/pkg . -.Pp -The environment variables -.Ev PKG_TMPDIR -and -.Ev TMPDIR , -in that order, are taken to name temporary directories where +All modes of operation require .Nm -will attempt to create its staging area in. -If these variables are not present or if the directories named lack -sufficient space, then +to be run as the superuser. +Currently, .Nm -will use the first of -.Pa /var/tmp , -.Pa /tmp -or -.Pa /usr/tmp -with sufficient space. -.Pp -The environment variable -.Ev PACKAGEROOT -specifies an alternate location for -.Nm -to fetch from. -The fetch URL is built using this environment variable and the automatic -directory logic that -.Nm -uses when the -.Fl r -option is invoked. -An example setting would be -.Qq Li ftp://ftp3.FreeBSD.org . -.Pp -The environment variable -.Ev PACKAGESITE -specifies an alternate location for -.Nm -to fetch from. -This variable subverts the automatic directory logic -that -.Nm -uses when the -.Fl r -option is invoked. -Thus it should be a complete URL to the remote package file(s). -.Pp -The environment variable -.Ev PKGDIR -specifies an alternative location to save downloaded packages to when -.Fl K -option is used. -.Sh FILES -.Bl -tag -width /var/db/pkg -compact -.It Pa /var/tmp -Temporary directory for creating the staging area, if environmental variables -.Ev PKG_TMPDIR -or -.Ev TMPDIR -do not point to a suitable directory. -.It Pa /tmp -Next choice if -.Pa /var/tmp -does not exist or has insufficient space. -.It Pa /usr/tmp -Last choice if -.Pa /var/tmp -and -.Pa /tmp -are not suitable for creating the staging area. -.It Pa /var/db/pkg -Default location of the installed package database. -.El +does not invoke any scripts specified in the package files. .Sh SEE ALSO +.Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , @@ -579,21 +93,14 @@ .Xr sysconf 3 , .Xr mtree 8 .Sh AUTHORS -.An Jordan Hubbard -.Sh CONTRIBUTORS -.An John Kohl Aq jtk@rational.com +.An Ivan Voras Aq ivoras@freebsd.org .Sh BUGS -Hard links between files in a distribution are only preserved if either -(1) the staging area is on the same file system as the target directory of -all the links to the file, or (2) all the links to the file are bracketed by -.Cm @cwd -directives in the contents file, -.Em and -the link names are extracted with a single -.Cm tar -command (not split between -invocations due to exec argument-space limitations--this depends on the -value returned by -.Fn sysconf _SC_ARG_MAX ) . -.Pp -Sure to be others. +Many low-level details of +.Nm +(such as hard link handling, etc) depend on the behaviour of the +.Xr tar 1 +utility. +This is also the reason why +.Nm +needs superuser privileges while running in all modes of operation. + ==== //depot/projects/soc2010/pkg_patch/src/patch/pkg_patch.h#28 (text+ko) ==== @@ -72,6 +72,8 @@ enum PP_OP { PP_NONE, PP_MKPATCH, PP_APPLY, PP_MKPATCHDIR, PP_UPDATEWEB }; +enum CMP_NAME { CMP_FULL_MATCH, CMP_BASE_MATCH, CMP_NO_MATCH, CMP_ERROR }; + struct pkgxjob { char *filename; FILE *fp; @@ -156,5 +158,7 @@ void baton_twirl(void); Package *pkg_read_plist(char *pfilename); int check_conflicts(Package *pnew, char **pkglist); +enum CMP_NAME compare_package_names(char *pkg1, char *pkg2); +enum CMP_NAME check_dependencies(Package *pnew, char **pkglist); #endif ==== //depot/projects/soc2010/pkg_patch/src/patch/support.c#27 (text+ko) ==== @@ -691,7 +691,7 @@ /* * Check for conflicts from metadata in the new package to recorded packages. * Returns (i+1) if the given package pnew conflicts on the i'th element - * in pkglist. + * in pkglist. Returns 0 if no conflict detected. */ int check_conflicts(Package *pnew, char **pkglist) @@ -722,3 +722,79 @@ * if needed. */ return (0); } + + +/* + * Compare two package names based on their individual components. Returns + * the amount of similarity between the names. + */ +enum CMP_NAME +compare_package_names(char *pkg1, char *pkg2) +{ + char base1[PKGNAME_MAX], ver1[PKGNAME_MAX]; + char base2[PKGNAME_MAX], ver2[PKGNAME_MAX]; + + if (pkg1 == NULL || pkg2 == NULL) + return (CMP_NO_MATCH); + parse_package_name(pkg1, base1, ver1, NULL); + parse_package_name(pkg2, base2, ver2, NULL); + if (strncmp(base1, base2, PKGNAME_MAX) != 0) + return (CMP_NO_MATCH); + if (strncmp(ver1, ver2, PKGNAME_MAX) != 0) + return (CMP_BASE_MATCH); + return (CMP_FULL_MATCH); +} + + +/* + * Check package dependencies on the given pkglist or the currently installed + * packages. + */ +enum CMP_NAME +check_dependencies(Package *pnew, char **pkglist) +{ + int er, i; + PackingList pl; + enum CMP_NAME best; + + best = CMP_FULL_MATCH; + if (pkglist == NULL) { + pkglist = matchinstalled(MATCH_ALL, NULL, &er); + if (pkglist == NULL || er != 0) { + warnx("Cannot fetch a list of installed packages " + "(matchinstalled(MATCH_ALL...))"); + return (-1); + } + } + pl = pnew->head; + while (pl != NULL) { + if (pl->type == PLIST_PKGDEP) { + enum CMP_NAME match; + int found = 0; + + for (i = 0; pkglist[i] != NULL; i++) { + match = compare_package_names(pl->name, + pkglist[i]); + if (match == CMP_BASE_MATCH) { + if (best == CMP_FULL_MATCH) + best = CMP_BASE_MATCH; + found = 1; + break; + } else if (match == CMP_FULL_MATCH) { + found = 1; + break; + } + } + if (!found) { + warnx("Dependancy not found: %s", + pl->name); + best = CMP_NO_MATCH; + break; + } + } + pl = pl->next; + } + /* XXX: When libpkg grows a storefree() API, use it to free pkglist + * if needed. */ + return (best); +} ==== //depot/projects/soc2010/pkg_patch/src/patch/updateweb.c#8 (text+ko) ==== @@ -117,7 +117,7 @@ static void -split_filename(char *path, char *fname, int len) +extract_filename(char *path, char *fname, int len) { strncpy(fname, strrchr(path, '/')+1, len); } @@ -188,7 +188,7 @@ if (Verbose > 1) printf("Patching from %s (index file: %s)\n", url_base, url_index); - split_filename(url_index, index_fname, PATH_MAX); + extract_filename(url_index, index_fname, PATH_MAX); snprintf(local_index, PATH_MAX, "%s/%s", my_tmp, index_fname); if (Verbose > 2) printf("Downloading pkgpatchindex to %s\n", local_index); @@ -292,7 +292,6 @@ } } - scount = 1; while (scount != 0) { int ndeps = 0, ndeps_found = 0; ==== //depot/projects/soc2010/pkg_patch/src/patch/updateweb.h#8 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Fri Aug 6 00:32:25 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 18CF31065675; Fri, 6 Aug 2010 00:32:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1A5C1065677 for ; Fri, 6 Aug 2010 00:32:24 +0000 (UTC) (envelope-from ivoras@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A39098FC12 for ; Fri, 6 Aug 2010 00:32:24 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o760WO2C078100 for ; Fri, 6 Aug 2010 00:32:24 GMT (envelope-from ivoras@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o760WOF9078098 for perforce@freebsd.org; Fri, 6 Aug 2010 00:32:24 GMT (envelope-from ivoras@FreeBSD.org) Date: Fri, 6 Aug 2010 00:32:24 GMT Message-Id: <201008060032.o760WOF9078098@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ivoras@FreeBSD.org using -f From: Ivan Voras To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181921 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2010 00:32:25 -0000 http://p4web.freebsd.org/@@181921?ac=10 Change 181921 by ivoras@ursaminor on 2010/08/06 00:31:47 Notes for future libpkg development Affected files ... .. //depot/projects/soc2010/pkg_patch/src/patch/Notes.txt#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Aug 6 09:20:52 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 286731065679; Fri, 6 Aug 2010 09:20:52 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D6F9A106564A for ; Fri, 6 Aug 2010 09:20:51 +0000 (UTC) (envelope-from kkata@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C29FB8FC16 for ; Fri, 6 Aug 2010 09:20:51 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o769KpsH060477 for ; Fri, 6 Aug 2010 09:20:51 GMT (envelope-from kkata@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o769Kpdg060475 for perforce@freebsd.org; Fri, 6 Aug 2010 09:20:51 GMT (envelope-from kkata@freebsd.org) Date: Fri, 6 Aug 2010 09:20:51 GMT Message-Id: <201008060920.o769Kpdg060475@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kkata@freebsd.org using -f From: Katalin Konkoly To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181934 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2010 09:20:52 -0000 http://p4web.freebsd.org/@@181934?ac=10 Change 181934 by kkata@bonbol_fbsd on 2010/08/06 09:20:41 Fix typos and spelling, improve translation in the Hungarian Handbook, Chapter 11, 12 & 13 Submitted by: Katalin Konkoly Reviewed by: pgj Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/boot/chapter.sgml#14 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/config/chapter.sgml#28 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/users/chapter.sgml#4 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/boot/chapter.sgml#14 (text+ko) ==== @@ -104,7 +104,7 @@ mégis hogyan képes elindulni maga az operációs rendszer? - Maga a probléma a Münchausen + Maga a probléma a Münchhausen báró kalandjai c. könyvben leírtakhoz hasonló. A történet szerint ugyanis a fõszereplõ egy mocsárban ragadt @@ -132,7 +132,7 @@ Input/Output System, avagy alapvetõ be- és kimeneti rendszer) felelõs az operációs rendszer betöltéséért. Ehhez a BIOS - elõször megkeresi a merevlemezen egy speciális + elõször megkeresi a merevlemez egy speciális helyén található Master Boot Record-ot (MBR). A BIOS elegendõ tudással rendelkezik az MBR beolvasásához és @@ -168,8 +168,8 @@ Amennyiben merevlemezeinken csupán egyetlen operációs rendszer foglal helyet, akkor egy - szabványos MBR tökéletes megfelelõ. Ez az - MBR megkeresi az elsõ indítható (más + szabványos MBR tökéletesen megfelelõ. Ez + az MBR megkeresi az elsõ indítható (más néven aktív) slice-ot a lemezen, majd lefuttatja a benne található indítókódot az operációs rendszer többi részének @@ -193,7 +193,7 @@ bontható. Az elsõ fokozatot az MBR indítja el, amely pontosan eleget tud ahhoz, hogy a számítógépet egy elõre megadott - állapotba hozza és lefutassa rajta a második + állapotba hozza és lefuttassa rajta a második fokozatot. A második fokozat ennél már egy kicsivel többre képes, majd ezt követi a harmadik fokozat. Ez a fokozat zárja le végül az @@ -202,8 +202,8 @@ között oszlik meg, mivel a PC-szabványok komoly korlátozásokat tesznek az elsõ, illetve második fokozatban futtatható programok - méretére. Ha egy fûzzük össze a - feladatokat, akkor a &os; számára egy sokkal + méretére. Ha így fûzzük össze + a feladatokat, akkor a &os; számára egy sokkal rugalmasabb betöltõt kapunk. rendszermag @@ -222,7 +222,7 @@ használhatóságáról. Az &man.init.8; ezt követõen megkezdi az erõforrások felhasználói szintû - bekonfigurálását: csatlakoztatja az + konfigurálását: csatlakoztatja az állományrendszereket, beállítja a hálózati kártyá(ka)t, és elindítja mindazon programokat, amelyeknek egy &os; @@ -307,7 +307,7 @@ A LILO boot manager: Ezen boot manager telepítéséhez - és beállításához, + és beállításához elsõként indítsuk el a Linuxot és vegyük hozzá az alábbi sort a rendszerünkben található @@ -323,7 +323,7 @@ A fenti sablont kiegészítve, a linuxos konvenciók szerint adjuk meg a &os; elsõdleges partícióját és - meghajtóját úgy, hogy a + meghajtóját úgy, hogy az X-et átírjuk a linuxos meghajtó betûjelére és az Y-t átírjuk a &linux; @@ -383,7 +383,7 @@ elindítsa. A boot2 már egy kicsivel - ügyesebb, és ismeri eléggé a &os; + ügyesebb, és eléggé ismeri a &os; állományrendszerét ahhoz, hogy megtaláljon rajta állományokat, valamint képes egy egyszerû felületet nyújtani a @@ -463,11 +463,11 @@ Az inicializálás során a rendszertöltõ megpróbálja megkeresni a - konzolt és a lemezek közül igyekszik + konzolt, és a lemezek közül igyekszik megtalálni azt, amelyikrõl elindult a rendszer. A keresések eredményének megfelelõen beállítja a változókat, majd elindul - egy értelmezõ, ahol vagy szkriptbõl olvasva + egy értelmezõ, ahol vagy szkriptbõl olvasva, vagy pedig interaktívan feldolgozásra kerülnek a parancsok. @@ -477,7 +477,7 @@ A rendszertöltõ ezt követõen beolvassa a /boot/loader.rc állományt, - ami pedig alapértelmezés szerint feldolgozza a + az pedig alapértelmezés szerint feldolgozza a /boot/defaults/loader.conf állományt, ahol a változók értelmes kezdõértéket kapnak, valamint @@ -496,8 +496,8 @@ rendszermagot, ha azt meg nem szakítjuk egy billentyû lenyomásával. Ha megszakítjuk ezt a várakozást, a - rendszertöltõ egy parancssort ad, amin keresztül - egyszerû parancsokat adhatunk ki neki: + rendszertöltõ egy parancssort ad, amelyen + keresztül egyszerû parancsokat adhatunk ki neki: állíthatjuk a változók értékeit, modulokat távolíthatunk el a memóriából, modulokat @@ -587,7 +587,7 @@ Feldolgozza a megnevezett állományt: - beolvassa, majd sorról-sorra értelmezi. + beolvassa, majd sorról sorra értelmezi. Hiba esetén azonnal megállítja a feldolgozást. @@ -742,9 +742,9 @@ Egy rendszermag-konfigurációs szkript (automatizált szkript, amely ugyanazokat a - beállításokat végzi el, amiket - mi magunk tennénk akkor, amikor a rendszermagot - indítjuk) betöltése: + beállításokat végzi el, + amelyeket mi magunk tennénk akkor, amikor a + rendszermagot indítjuk) betöltése: load -t userconfig_script /boot/kernel.conf @@ -771,7 +771,7 @@ rendszerindítást tudunk elérni betöltõ képernyõk használatával. Egy ilyen képet - egészen a konzolos bejelentkezésig vagy az X + egészen a konzolos bejelentkezésig, vagy az X felett futó valamelyik bejelentkezõ képernyõ megjelenéséig láthatunk. @@ -788,7 +788,7 @@ valamelyik munkakörnyezetet, tehát például a GNOME, a - KDE vagy + KDE vagy az XFce környezetek valamelyikét, a startx paranccsal indíthatjuk el a grafikus felületet. @@ -889,7 +889,7 @@ A rendszerbetöltõ néhány üzenete, valamint a rendszerindítási opciókat tartalmazó menü és a - hozzátartozó + hozzá tartozó visszaszámlálás még a rendszerbetöltõ képernyõ használata során is meg fog jelenni. @@ -941,7 +941,7 @@ Az iménti példában feltételeztük, hogy a /boot/betöltõkép.bmp - állományt használt + állományt használjuk betöltõképként. Amikor azonban PCX állományokat akarunk használni, a következõ sorokat kell @@ -1132,14 +1132,15 @@ fázisban megjelenõ parancssorban is megadhatóak. A változókat a set (beállít) parancs - segítségével tudunk felvenni, míg az - unset (eltávolít) parancs tudunk - törölni, valamint a show (megmutat) - paranccsal megjeleníteni az értéküket. - Sõt, ezen a ponton a /boot/device.hints - állománnyal már beállított - változókat is felülbírálhatjuk. - A rendszerindító parancssorában + segítségével tudjuk felvenni, míg az + unset (eltávolít) paranccsal + tudunk törölni, valamint a show + (megmutat) paranccsal megjeleníteni az + értéküket. Sõt, ezen a ponton a + /boot/device.hints állománnyal + már beállított változókat is + felülbírálhatjuk. A + rendszerindító parancssorában elvégzett módosítások viszont nem fognak megmaradni, és a következõ rendszerindítás alkalmával elvesznek. @@ -1220,7 +1221,7 @@ várhatnak) olyan útmutatásokat is, amelyek itt nem szerepelnek, ezért mindegyik esetében érdemes áttekinteni a hozzájuk tartozó - man oldalt. Bõvebben információért + man oldalt. Bõvebb információért lásd a &man.device.hints.5;, &man.kenv.1;, &man.loader.conf.5; és &man.loader.8; man oldalakat. @@ -1233,7 +1234,7 @@ elindítása Miután a rendszermag sikeresen elindult, átadja - a vezérlést a &man.init.8; + a vezérlést az &man.init.8; felhasználói folyamatnak, amely vagy az /sbin/init, vagy pedig a rendszerindítóban megadott init_path @@ -1337,7 +1338,7 @@ Az erõforrások konfigurációja (rc) - Az erõforrások konfiguráló + Az erõforrásokat konfiguráló alrendszer beolvassa a folyamathoz kapcsolódó változók alapértelmezett értékeit az @@ -1347,7 +1348,7 @@ beállításai szerint, amit a /etc/rc.conf állományból olvas ki. Ezután - elvégzi meg az /etc/fstab + elvégzi az /etc/fstab alapján az állományrendszerek csatlakoztatását, elindítja a hálózati szolgáltatásokat, @@ -1376,9 +1377,9 @@ /etc/rc.shutdown szkriptet, majd ezt követõen TERM (befejeztetés) jelzést küld az aktuálisan futó - folyamatoknak, és kis idõ múlva pedig + folyamatoknak, kis idõ múlva pedig KILL (leállítás) - jelzést azokat, amelyek még nem álltak le + jelzést azoknak, amelyek még nem álltak le addig a pillanatig. Azokon az architektúrákon és @@ -1394,7 +1395,7 @@ &man.shutdown.8; használatához root felhasználónak, vagy legalább az operator csoport - tagjának kell lennünk. Erre feladatokra + tagjának kell lennünk. Ezekre a feladatokra egyébként a &man.halt.8; és &man.reboot.8; parancsok is használhatóak. Alkalmazásukról bõvebben a hozzájuk, ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/config/chapter.sgml#28 (text+ko) ==== @@ -82,7 +82,7 @@ hogyan állítsunk be virtuális címeket a hálózati - eszközökeinken; + eszközeinken; hogyan használjuk az /var/tmp könyvtárba - tömöríti ki a hozzátartozó + tömöríti ki a hozzá tartozó csomag tartalmát. Ezért a nagyobb szoftvercsomagok, mint például a Firefox vagy az @@ -196,21 +196,20 @@ A /usr - partíció tartalmaz a rendszer + partíció tartalmaz számos, a rendszer mûködéséhez elengedhetetlenül - számos fontos állományt, többek - közt a portok gyûjteményét - (ajánlott, lásd &man.ports.7;) és a - forráskódot (választható). A - portok és az alaprendszer forrásai - telepítés során - választhatóak, de telepítésük - esetén akkor ezen a partíción - legalább két gigabyte-nyi hely - ajánlott. + fontos állományt, többek közt a portok + gyûjteményét (ajánlott, lásd + &man.ports.7;) és a forráskódot + (választható). A portok és az + alaprendszer forrásai telepítés + során választhatóak, de + telepítésük esetén akkor ezen a + partíción legalább két + gigabyte-nyi hely ajánlott. Vegyük figyelembe a tárbeli igényeket, - amikor megválasztjuk partíciók + amikor megválasztjuk a partíciók méretét. Igen kellemetlen lehet, amikor úgy futunk ki az egyik partíción a szabad helybõl, hogy a másikat alig @@ -223,7 +222,7 @@ class="directory">/var és / partíciók méretét túl kicsire választja. - Partícionáljuk okosan és + Particionáljunk okosan és nagylelkûen! @@ -294,7 +293,7 @@ - Miért partícionáljunk? + Miért particionáljunk? Egyes felhasználók úgy gondolják, hogy egyetlen nagyobb méretû @@ -436,7 +435,7 @@ A telepített alkalmazások általában saját konfigurációs - állományokkal, amelyek pedig saját + állományokkal, azok pedig saját formátummal stb. rendelkeznek. Fontos, hogy ezeket az állományokat az alaprendszertõl elkülönítve tároljuk, ezáltal a @@ -505,7 +504,7 @@ választják a &os; Portgyûjteményében található külsõ szoftverek telepítését. A - telepített szoftvert gyakran ilyenkor úgy kell + telepített szoftvert ilyenkor gyakran úgy kell beállítani, hogy a rendszer indulásával együtt induljon. Az olyan szolgáltatások, mint például a @@ -590,7 +589,7 @@ utility_enable="YES" - Ez a módszer megkönnyíti a paranccsorban + Ez a módszer megkönnyíti a parancssorban átadott paraméterek módosítását, az /etc/rc.subr állományban @@ -613,7 +612,7 @@ Portgyûjteménybõl telepített szolgáltatások esetén magával vonja az adott segédprogram felvételét vagy a - hozzátartozó sor + hozzá tartozó sor engedélyezését az /etc/inetd.conf állományban. Az inetd @@ -632,7 +631,7 @@ állománya alapján futtatja. Ezzel a mezei felhasználók számára is lehetõvé válik, hogy elindítsanak - és karbantsanak alkalmazásokat. + és karbantartsanak alkalmazásokat. A cron segédprogramnak van egy olyan speciális lehetõsége, hogy az idõ @@ -710,7 +709,7 @@ Az átlagos felhasználókhoz hasonlóan a root felhasználónak is lehet crontabja, ami nem - ugyanazt, mint az /etc/crontab (a rendszer + ugyanaz, mint az /etc/crontab (a rendszer saját crontab állománya). De mivel a rendszernek külön crontabja van, ezért a root felhasználónak nem kell @@ -835,9 +834,9 @@ felvilágosítást. Az itt szereplõ parancsoknak tetszõleges - mennyiségû paraméter - átadható, azonban a több soron - keresztül átívelõ parancsok + mennyiségû paraméter adható + át, azonban a több soron keresztül + átívelõ parancsok tördelését a sor végén a \ karakterrel kell jelezni. @@ -861,7 +860,7 @@ kerülõ módon szerkeszteni vagy telepíteni a rendszer crontabját. Egyszerûen nyissuk meg a kedvenc - szövegszerkesztõnkkel és a + szövegszerkesztõnkkel, és a cron segédprogram majd észreveszi, hogy az állomány megváltozott, majd ennek megfelelõen neki is @@ -892,8 +891,8 @@ telepített crontab állományokat: egyszerûen adjuk át a kapcsolót a - crontab parancsnak és - nézzük meg mit ad vissza. + crontab parancsnak, és + nézzük meg, mit ad vissza. A crontab -e használata olyan felhasználók számára @@ -932,10 +931,10 @@ A rendszer indítására a &os; 2002-ben átvette a NetBSD rc.d rendszerét. Ezt a felhasználók könnyen - felismerhetik a /etc/rc.d + felismerhetik az /etc/rc.d könyvtárban található állományokról. A legtöbbjük olyan - alapvetõ szolgáltatások, amelyeket a + alapvetõ szolgáltatás, amelyet a , és paraméterekkel lehet vezérelni. Például az &man.sshd.8; az @@ -948,8 +947,8 @@ szolgáltatás esetén is. Természetesen ezek a szolgáltatások általában maguktól indulnak el a rendszer indítása - során az &man.rc.conf.5; állományban megadott - szerint. Például ha a rendszerünk + során az &man.rc.conf.5; állományban + megadottak szerint. Például ha a rendszerünk indulásakor szeretnénk aktiválni a hálózati címfordítással foglalatoskodó démont, akkor csak adjuk hozzá @@ -961,11 +960,10 @@ Amennyiben a sor már szerepel benne, akkor egyszerûen írjuk át a értéket -re. - Ezután az rc szkriptek a a rendszer következõ + Ezután az rc szkriptek a rendszer következõ indításakor a lentieknek megfelelõen - automatikusan elindítják a - hozzátartozó szolgáltatásokat - is. + automatikusan elindítják a hozzá + tartozó szolgáltatásokat is. Mivel az rc.d rendszert elsõsorban arra használják, hogy szolgáltatásokat @@ -973,10 +971,10 @@ operációs rendszerrel együtt, a szabványos , és paraméterek csak abban - az esetben látják a feladatukat, ha a nekik + az esetben látják el a feladatukat, ha a nekik megfelelõ változókat beállítottuk az /etc/rc.conf állományban. - Tehát például a sshd + Tehát például az sshd restart csak abban az esetben fog bármit is csinálni, ha az /etc/rc.conf állományban az sshd_enable @@ -997,13 +995,13 @@ &prompt.root; /etc/rc.d/sshd onerestart - Könnyen le tudjuk ellenõrizni, hogy az adott + Könnyen ellenõrizni tudjuk, hogy az adott szolgáltatás az /etc/rc.conf részérõl engedélyezett-e, ha a neki megfelelõ rc.d szkriptnek megadjuk az paramétert. Ennek segítségével például a - rendszergazda így képes ellenõrizni, hogy a + rendszergazda így képes ellenõrizni, hogy az sshd szolgáltatást engedélyezi-e az /etc/rc.conf: @@ -1020,7 +1018,7 @@ A paraméterrel kideríthetjük, hogy egy szolgáltatás aktív-e. Ezzel például így tudjuk - ellenõrizni a sshd + ellenõrizni az sshd szolgáltatás mûködését: @@ -1032,7 +1030,7 @@ Az sshd a 433-as azonosítóval fut. Bizonyos esetekben a paraméter - használatával lehetõségünk a + használatával lehetõségünk van a szolgáltatások újraindítására is. Ilyenkor a rendszer megpróbál egy olyan jelzést @@ -1040,7 +1038,7 @@ konfigurációs állományainak újraolvasását kéri. A legtöbbször lényegében ez a - SIGHUP jelzést + SIGHUP jelzés kiküldését rejti magában. Ez a lehetõség azonban nem mindegyik szolgáltatás esetén érhetõ @@ -1136,14 +1134,14 @@ szabályozni és a többi &unix; alapú operációs rendszerbõl ismert futtatási szintek használata - nélkül vezérlelni a rendszerben megjelenõ + nélkül vezérelni a rendszerben megjelenõ szolgáltatásokat. Az rc.d rendszerrõl bõvebben az &man.rc.8; és &man.rc.subr.8; man oldalakon olvashatunk. Ha szeretnénk saját rc.d szkripteket írni vagy javítani a már - meglevõeken, akkor ez a cikk (angolul) segítségünkre lehet. @@ -1198,8 +1196,8 @@ Miután meggyõzõdtünk róla, hogy a kártyánkat ismeri a rendszer, meg kell - keresnünk a hozzátartozó meghajtót. A - /usr/src/sys/conf/NOTES és a + keresnünk a hozzá tartozó meghajtót. + A /usr/src/sys/conf/NOTES és a /usr/src/sys/arch/conf/NOTES állományok tartalmazzák a hálózati kártyák meghajtóinak @@ -1209,8 +1207,8 @@ biztosággal eldönteni, hogy melyik a számunkra megfelelõ meghajtó, nézzük meg a saját man oldalát. Ezen - a man oldalon megtaláljuk az által ismert - összes eszközt és velük kapcsolatban + a man oldalon megtaláljuk az általa ismert + összes eszközt és a velük kapcsolatban elõforduló jellemzõ problémákat. @@ -1307,7 +1305,7 @@ közösség számára nem adják ki a meghajtóik mûködésének alapjait, mivel az ilyen - adatokat szakmai titkoknak tekintik. Ebbõl + adatokat szakmai titoknak tekintik. Ebbõl következik, hogy a &os; és más operációs rendszerek fejlesztõi számára két választás @@ -1329,11 +1327,12 @@ támogatása. A &os; NDISulator (másnéven Project Evil, a Gonosz terve) nevû komponense fog egy &windows;-os meghajtót - és elhiteti vele, hogy a &windows;-szal - kommunikál. Mivel az &man.ndis.4; meghajtó - &windows; binárisokat használ fel, ezért - csak &arch.i386; és &arch.amd64; rendszerek - esetén érhetõ el. + és elhiteti vele, hogy a &windows; + operációs rendszerrel kommunikál. Mivel + az &man.ndis.4; meghajtó &windows; binárisokat + használ fel, ezért csak &arch.i386; és + &arch.amd64; rendszerek esetén érhetõ + el. Az &man.ndis.4; meghajtó leginkább a PCI, @@ -1387,7 +1386,7 @@ &man.ndisgen.8; parancsot a root felhasználóval: - &prompt.root; ndisgen /windowszos/meghajtó/W32DRIVER.INF /windowsos/meghajtó/W32DRIVER.SYS + &prompt.root; ndisgen /windowsos/meghajtó/W32DRIVER.INF /windowsos/meghajtó/W32DRIVER.SYS Az &man.ndisgen.8; egy interaktív segédprogram, amely mûködése @@ -1407,7 +1406,7 @@ általában minden olyan modul esetén megtörténik magától, amely függ az &man.ndis.4; használatától. - Kézileg az következõ parancsokkal tudjuk + Kézileg a következõ parancsokkal tudjuk ezeket betölteni: &prompt.root; kldload ndis @@ -1497,10 +1496,9 @@ &man.ifconfig.8; parancsnak ehhez még meg kell adni az kapcsolót is. Az &man.ifconfig.8; érvényes paraméterezésével - kapcsolatban legyünk szívesek elolvasni a - hozzátartozó man oldalt. - Hozzátennénk, hogy IPv6 - (inet6 stb.) típusú + kapcsolatban érdemes elolvasni a hozzá + tartozó man oldalt. Hozzátennénk, hogy + IPv6 (inet6 stb.) típusú bejegyzések nem szerepelnek a példában. @@ -1585,7 +1583,7 @@ - A hozzátartozó fizikai eszköz + A hozzá tartozó fizikai eszköz kiválasztása automatikus (media: Ethernet autoselect (100baseTX <full-duplex>)). Láthatjuk, hogy a @@ -1658,8 +1656,8 @@ beállítottuk volna a hálózati kapcsolatokat, akkor tapasztalhatjuk, hogy egyes hálózati kártyák sorai itt - már szerepelnek. Ellenõrizzük le az - /etc/rc.conf tartalmát mielõtt + már szerepelnek. Ellenõrizzük az + /etc/rc.conf tartalmát, mielõtt bõvítenénk! Mindezek mellett az /etc/hosts @@ -1796,7 +1794,7 @@ válnak, érdemes utánanéznünk, hogy az eszköz nem ütközik-e valamelyik másikkal. Mindenképpen - gyõzödjünk meg a kábelek + gyõzõdjünk meg a kábelek épségérõl és csatlakoztatásáról. Még az is elképzelhetõ, hogy egyszerûen csak egy @@ -1819,7 +1817,7 @@ A No route to host üzenet akkor jelenik meg, ha a rendszer képtelen - megállapítani, milyen úton jutassa el a + megállapítani, milyen úton juttassa el a csomagokat a megadott célhoz. Ez többnyire olyankor történik meg, amikor nem adtunk meg alapértelmezett kézbesítési @@ -1904,7 +1902,7 @@ maszkjának pontos meghatározása nagyon fontos, de szerencsére nem különösebben bonyolult. Minden felület esetén lennie kell egy - olyan címnek, ami helyesen reprezentálja a + olyan címnek, amely helyesen reprezentálja a hálózat hálózati maszkját. Minden egyéb olyan címnek, ami ugyanabba az alhálózatba esik, végig @@ -1924,8 +1922,8 @@ 202.0.75.16, amelynek hálózati maszkja 255.255.255.240. Azt szeretnénk - elérni, hogy a rendszerünk az 10.1.1.1 címtõl az 10.1.1.1 címtõl a 10.1.1.5 címig, valamint a 202.0.75.17 címtõl a 202.0.75.20 címig jelenjen meg a @@ -1987,7 +1985,7 @@ /etc/defaults A rendszer konfigurációs állományainak alapértelmezett - változatait. + változatai. /etc/mail @@ -2251,7 +2249,7 @@ A newsyslog.conf a &man.newsyslog.8; beállításait tároló - állomány. Ez egy olyan program, ami + állomány. Ez egy olyan program, amelyet általában a &man.cron.8; futtat le. A &man.newsyslog.8; dönti el, hogy mikor van szükség a naplók @@ -2446,7 +2444,7 @@ írásvédettek. Ilyenkor tegyük az érintett &man.sysctl.8; változó objektumazonosítóját (OID) - és a hozzátartozó értéket a + és a hozzá tartozó értéket a /boot/loader.conf állományunkba. Az alapértelmezéseket a /boot/defaults/loader.conf @@ -2634,7 +2632,7 @@ hw.ata.wc - A &os; 4.3 egyszer már kacérkodott a + A &os; 4.3 egyszer már kacérkodott az IDE-lemezek írási pufferének kikapcsolásával. Ez ugyan csökkentette az IDE-lemezek írási @@ -2700,8 +2698,8 @@ értéke viszonylag magas, innen származik a rendszer indítása során keletkezõ 15 másodperces - csúszást. Általában az is - megfelelõ, aa ezt visszavesszük az + csúszás. Általában az is + megfelelõ, ha ezt visszavesszük az 5 értékre (fõleg a modernebb meghajtók számára). A &os; újabb (5.0 vagy késõbbi) @@ -2921,7 +2919,7 @@ kockázata alacsony. Hátránya, hogy minden metaadat kétszer íródik ki (egyszer a naplózási területre, - aztán a megfelelõ helyre), ezért ez a + aztán a megfelelõ helyre), ezért a hétköznapi használat során visszaesés tapasztalható a teljesítményben. Másrészrõl @@ -2931,7 +2929,7 @@ levõ metaadattal kapcsolatos mûvelet könnyen visszafordítható vagy lezárható a rendszer következõ indításakor, - és ezzel így egy gyors + így ezzel egy gyors helyreállítást nyerünk. Kirk McKusick, a Berkeley FFS fejlesztõje ezt a @@ -2951,7 +2949,7 @@ könyvtárakon végzett, mûvelet a lemezre írás elõtt általában elõször a memóriában - játszódik le (a adatblokkok a + játszódik le (az adatblokkok a pozíciójuknak megfelelõen kerülnek rendezésre, ezért a rájuk vonatkozó metaadatok elõtt nem jutnak ki a @@ -2970,20 +2968,21 @@ erõforrások kiosztásával kapcsolatban csak egyetlen hiba léphet fel: amikor olyan erõforrások jelölõdnek - használtnak amely igazából - szabadok. Az &man.fsck.8; azonban képes - felismerni ezeket a helyzeteket és - felszabadítani a nem használt - erõforrásokat. A mount -f - parancs kiadásával minden további - következmény nélkül figyelmen - kívül hagyhatjuk az állományrendszer - félkész állapotát és - csatlakoztathatjuk az állományrendszereket. Az - használatban már nem levõ - erõforrások felszabadításához - az &man.fsck.8; parancsot késõbb kell futtatni. - Ez az alapötlet húzódik meg a + használtnak, amelyek + igazából szabadok. Az + &man.fsck.8; azonban képes felismerni ezeket a + helyzeteket és felszabadítani a nem + használt erõforrásokat. A mount + -f parancs kiadásával minden + további következmény nélkül + figyelmen kívül hagyhatjuk az + állományrendszer félkész + állapotát és csatlakoztathatjuk az + állományrendszereket. A használatban + már nem levõ erõforrások + felszabadításához az &man.fsck.8; + parancsot késõbb kell futtatni. Ez az + alapötlet húzódik meg a háttérben végzett lemezellenõrzés mögött. A rendszer indításakor az @@ -3010,18 +3009,18 @@ A módszer elõnye, hogy így a metaadatokkal kapcsolatos mûveletek közel olyan gyorsak, mint az aszinkron módon végzett - frissítések (tehát gyorsabb mintha + frissítések (tehát gyorsabb, mintha naplóznánk, ami ugye minden metaadatot kétszer ír ki). A hátránya a bonyolultabb kód (ami miatt növekszik az olyan hibák lehetõsége, - amik érzékenyen befolyásolhatják a - felhasználói adatok elvesztését) - és a nagyobb memóriaigény. - Ezenkívül még van néhány - olyan egyéni jellemzõje, amit meg kell szokni. A - rendszer összeomlása után az - állományrendszer valamivel + amelyek érzékenyen + befolyásolhatják a felhasználói + adatok elvesztését) és a nagyobb + memóriaigény. Ezenkívül még + van néhány olyan egyéni jellemzõje, + amelyet meg kell szokni. A rendszer összeomlása + után az állományrendszer valamivel régebbi lesz. Amikor pedig megszokott szinkron megközelítés szerint az fsck lefutása után nulla @@ -3154,8 +3153,8 @@ memóriának megfelelõen legalább 32-re, legfeljebb 384-re állítja. . A maxusers paraméter - beállításakor legalább - érdemes 4-et megadni, különösen akkor, + beállításakor érdemes + legalább 4-et megadni, különösen akkor, ha használjuk az X Window Systemet vagy szoftvereket fordítunk le. Azért van erre szükség, mert a maxusers @@ -3165,17 +3164,18 @@ mérete, amelyet így számolunk ki: 20 + 16 * maxusers. Tehát ha a maxusers értékét 1-re - állítjuk be, akkor az elõbb képlet + állítjuk be, akkor az elõbbi képlet értelmében csak 36 programunk futhat egymással párhuzamosan, beleértve mindazt - a kb. 18 programot, amik a rendszerrel együtt indulnak, - illetve még azt a további 15 programot, amit az - X Window System használatával indítunk - el. Még egy olyan egyszerû dolog is, mint - például egy man oldal megnézése - legalább kilenc programot elindít a - szûréshez, kitömörítéshez - és megnézéshez. Azonban ha a + a kb. 18 programot, amelyek a rendszerrel együtt + indulnak, illetve még azt a további 15 + programot, amelyeket az X Window System + használatával indítunk el. Még + egy olyan egyszerû dolog is, mint például + egy man oldal megnézése, legalább kilenc + programot indít el a szûréshez, + kitömörítéshez és + megnézéshez. Azonban ha a maxusers értékét 64-re állítjuk, akkor egyszerre akár már 1044 programot futtathatunk, ami szinte mindenre @@ -3183,7 +3183,7 @@ indításakor kapunk egy proc table full típusú üzenetet vagy nagy számú konkurens felhasználóval - futtatunk szervert (ilyen például a ftp.FreeBSD.org), akkor érdemes növelni ezt a számot és újrafordítani a rendszermagot. @@ -3221,7 +3221,7 @@ értéket javasolt 1024-re vagy még annál is nagyobbra állítani. Az egyes szolgáltatások démonai ugyan - szintén le szokták korlátozni a + szintén korlátozni szokták a fogadósoruk méretét (például a &man.sendmail.8; vagy az Apache), de gyakran találunk @@ -3250,10 +3250,10 @@ rendszermag memóriájából 2 megabyte-ot fordítunk a hálózati pufferelésre. Egyszerûen - kiszámítható mennyire is van - szükségünk: ha van egy webszerverünk, ami - egyszerre legfeljebb 1000 párhuzamos kapcsolatot fogad, - és minden kapcsolat lefoglal 16 KB-ot a + kiszámítható, mennyire is van + szükségünk: ha van egy webszerverünk, + amely egyszerre legfeljebb 1000 párhuzamos kapcsolatot + fogad, és minden kapcsolat lefoglal 16 KB-ot a fogadó-, valamint újabb 16 KB-ot a küldõpuffer számára, akkor megközelítõleg 32 MB-nyi @@ -3397,8 +3397,8 @@ korlátozni a hálózat felé küldött adatok sorának hosszát. - Ez a lehetõség még olyankor hasznosnak - bizonyulhat, amikor modemen, Gigabit Etherneten vagy + Ez a lehetõség még olyankor bizonyulhat + hasznosnak, amikor modemen, Gigabit Etherneten vagy nagysebességû WAN (vagy bármilyen más nagy sávszélesség-késleltetés @@ -3412,8 +3412,8 @@ net.inet.tcp.infligt.debug változót sem beállítani 0-ra (amivel így kikapcsoljuk a - nyomkövetést) és éles - használat esetén pedig elõnyös lehet a + nyomkövetést),éles használat + esetén pedig elõnyös lehet a net.inet.cp.inflight.min változót legalább 6144-re állítani. Azonban @@ -3423,15 +3423,15 @@ kikapcsolják a sávszélességkorlátozást. Ez a korlátozási lehetõség - csökkenti a közbensõ út adatinak - és csomagváltásokhoz tartozó sorok - méretét, miközben csökkenti a helyi - számítógép felületén - felépülõ sorok méretét is. Ha - kevesebb csomagot rakunk be a sorba, akkor az - interaktív kapcsolatok, különösen a - lassabb modemek esetében, kisebb - körbejárási + csökkenti a közbensõ út adatainak + és csomagváltásokhoz tartozó + soroknak a méretét, miközben csökkenti + a helyi számítógép + felületén felépülõ sorok + méretét is. Ha kevesebb csomagot rakunk be a + sorba, akkor az interaktív kapcsolatok, + különösen a lassabb modemek esetében, + kisebb körbejárási idõvel (Round Trip Time) mûködnek. Továbbá megemlítenénk, hogy ez a lehetõség csak az adatok @@ -3484,9 +3484,9 @@ nincs szükség a finomhangolására. Néhány esetben, amikor a lemezmûveletek jelentik a rendszerben a szûk keresztmetszetet és - a kezdenek elfogyni a vnode-ok, szükség lehet - ennek a számnak a növelésére. Ehhez - az inaktív és szabad fizikai memória + kezdenek elfogyni a vnode-ok, szükség lehet ennek + a számnak a növelésére. Ehhez az + inaktív és szabad fizikai memória mennyiségét kell számításba vennünk. @@ -3528,7 +3528,7 @@ A lapozóterület bõvítése - Nem számít mennyire tervezük jól + Nem számít, mennyire tervezünk jól elõre, mindig elõfordulhat, hogy a rendszerünk mégsem teljesíti a kitûzött elvárásokat. Amennyiben további @@ -3700,8 +3700,8 @@ konfigurációs illesztõ felület (Advanced Configuration and Power Interface, avagy ACPI) gyártók egy csoportja - által létrehozott szabvány, amely hardveres - erõforrások és az + által létrehozott szabvány, amely a + hardveres erõforrások és az energiagazdálkodás egységes felületét rögzíti (innen a neve). Döntõ szerepet játszik a @@ -3756,19 +3756,19 @@ le, és teljesen az operációs rendszer hatáskörén túl tevékenykedik. Ez azt jelenti, hogy a felhasználó csak úgy - tudjuk korrigálni az APM-es BIOS-ok + tudja korrigálni az APM-es BIOS-ok problémáit, ha frissíti az alaplapi ROM-ot. - Ez viszont egy nagyon kockázatos folyamat, aminek + Ez viszont egy nagyon kockázatos folyamat, amelynek hibája révén a rendszerünk - helyrehozhatatlan állapotba kerül. Harmadszor: az - APM alapvetõen egy gyártófüggõ + helyrehozhatatlan állapotba kerülhet. Harmadszor: + az APM alapvetõen egy gyártófüggõ megoldás, ami azt vonja maga után, hogy sok az átfedés (ugyanazt valósítják meg több módon), és ha az egyik gyártó BIOS-ában hibát találnak, akkor a másikéban az nem feltétlenül javítható. - Végül, de nem utolsó sorban, az APM + Végül, de nem utolsósorban, az APM alapú BIOS-okban nincs elég hely az igazán kifinomult energiagazdálkodási sémák vagy bármi más kialakítására, @@ -3803,7 +3803,7 @@ rendszermag újrafordítása >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Aug 6 15:24:34 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EA2781065676; Fri, 6 Aug 2010 15:24:33 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ADF45106564A for ; Fri, 6 Aug 2010 15:24:33 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7ECB88FC13 for ; Fri, 6 Aug 2010 15:24:33 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o76FOX8v005581 for ; Fri, 6 Aug 2010 15:24:33 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o76FOWhq005579 for perforce@freebsd.org; Fri, 6 Aug 2010 15:24:32 GMT (envelope-from jhb@freebsd.org) Date: Fri, 6 Aug 2010 15:24:32 GMT Message-Id: <201008061524.o76FOWhq005579@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181953 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2010 15:24:34 -0000 http://p4web.freebsd.org/@@181953?ac=10 Change 181953 by jhb@jhb_jhbbsd on 2010/08/06 15:24:11 IFC @181952 Affected files ... .. //depot/projects/smpng/share/man/man9/DEVICE_PROBE.9#3 integrate .. //depot/projects/smpng/share/man/man9/VFS_VGET.9#3 integrate .. //depot/projects/smpng/share/man/man9/VOP_VPTOCNP.9#3 integrate .. //depot/projects/smpng/share/man/man9/bios.9#2 integrate .. //depot/projects/smpng/share/man/man9/ifnet.9#5 integrate .. //depot/projects/smpng/share/man/man9/kproc.9#3 integrate .. //depot/projects/smpng/share/man/man9/locking.9#3 integrate .. //depot/projects/smpng/share/man/man9/make_dev.9#5 integrate .. //depot/projects/smpng/share/man/man9/netisr.9#5 integrate .. //depot/projects/smpng/share/man/man9/sglist.9#3 integrate .. //depot/projects/smpng/share/man/man9/taskqueue.9#3 integrate .. //depot/projects/smpng/share/man/man9/timeout.9#3 integrate .. //depot/projects/smpng/share/man/man9/usbdi.9#6 integrate .. //depot/projects/smpng/sys/amd64/acpica/acpi_switch.S#4 integrate .. //depot/projects/smpng/sys/amd64/acpica/acpi_wakecode.S#7 integrate .. //depot/projects/smpng/sys/amd64/acpica/acpi_wakeup.c#13 integrate .. //depot/projects/smpng/sys/amd64/amd64/cpu_switch.S#29 integrate .. //depot/projects/smpng/sys/amd64/amd64/fpu.c#17 integrate .. //depot/projects/smpng/sys/amd64/amd64/genassym.c#30 integrate .. //depot/projects/smpng/sys/amd64/amd64/initcpu.c#14 integrate .. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#65 integrate .. //depot/projects/smpng/sys/amd64/amd64/mptable_pci.c#9 integrate .. //depot/projects/smpng/sys/amd64/amd64/support.S#23 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#91 integrate .. //depot/projects/smpng/sys/amd64/include/pcb.h#20 integrate .. //depot/projects/smpng/sys/amd64/include/pcpu.h#15 integrate .. //depot/projects/smpng/sys/amd64/include/specialreg.h#27 integrate .. //depot/projects/smpng/sys/amd64/include/vmparam.h#15 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_machdep.c#35 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_proto.h#28 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_syscall.h#27 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_sysent.c#29 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_sysvec.c#46 integrate .. //depot/projects/smpng/sys/amd64/linux32/syscalls.master#31 integrate .. //depot/projects/smpng/sys/arm/include/vmparam.h#13 integrate .. //depot/projects/smpng/sys/arm/s3c2xx0/files.s3c2xx0#2 integrate .. //depot/projects/smpng/sys/arm/s3c2xx0/s3c24x0.c#2 integrate .. //depot/projects/smpng/sys/arm/s3c2xx0/s3c24x0_machdep.c#2 integrate .. //depot/projects/smpng/sys/arm/s3c2xx0/s3c24x0_rtc.c#1 branch .. //depot/projects/smpng/sys/arm/s3c2xx0/s3c24x0reg.h#2 integrate .. //depot/projects/smpng/sys/arm/s3c2xx0/s3c2xx0_space.c#2 integrate .. //depot/projects/smpng/sys/arm/s3c2xx0/s3c2xx0var.h#2 integrate .. //depot/projects/smpng/sys/boot/common/load_elf_obj.c#3 integrate .. //depot/projects/smpng/sys/boot/common/loader.8#49 integrate .. //depot/projects/smpng/sys/boot/i386/loader/Makefile#29 integrate .. //depot/projects/smpng/sys/boot/pc98/loader/Makefile#22 integrate .. //depot/projects/smpng/sys/boot/zfs/zfstest.c#1 branch .. //depot/projects/smpng/sys/cam/ata/ata_da.c#8 integrate .. //depot/projects/smpng/sys/cam/cam.c#13 integrate .. //depot/projects/smpng/sys/cam/cam_ccb.h#18 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_cd.c#45 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#92 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_target.c#31 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#15 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deleg.c#2 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c#3 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#13 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#22 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#13 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#69 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_util.h#7 integrate .. //depot/projects/smpng/sys/compat/x86bios/x86bios.c#6 integrate .. //depot/projects/smpng/sys/compat/x86bios/x86bios.h#4 integrate .. //depot/projects/smpng/sys/conf/NOTES#187 integrate .. //depot/projects/smpng/sys/conf/files#263 integrate .. //depot/projects/smpng/sys/conf/files.amd64#79 integrate .. //depot/projects/smpng/sys/conf/files.i386#137 integrate .. //depot/projects/smpng/sys/conf/files.mips#10 integrate .. //depot/projects/smpng/sys/conf/files.powerpc#60 integrate .. //depot/projects/smpng/sys/conf/files.sparc64#78 integrate .. //depot/projects/smpng/sys/conf/files.sun4v#12 integrate .. //depot/projects/smpng/sys/conf/kern.mk#27 integrate .. //depot/projects/smpng/sys/conf/kern.pre.mk#68 integrate .. //depot/projects/smpng/sys/conf/kmod.mk#78 integrate .. //depot/projects/smpng/sys/conf/options#184 integrate .. //depot/projects/smpng/sys/conf/options.powerpc#13 integrate .. //depot/projects/smpng/sys/crypto/aesni/aesencdec_amd64.S#1 branch .. //depot/projects/smpng/sys/crypto/aesni/aesencdec_i386.S#1 branch .. //depot/projects/smpng/sys/crypto/aesni/aeskeys_amd64.S#1 branch .. //depot/projects/smpng/sys/crypto/aesni/aeskeys_i386.S#1 branch .. //depot/projects/smpng/sys/crypto/aesni/aesni.c#1 branch .. //depot/projects/smpng/sys/crypto/aesni/aesni.h#1 branch .. //depot/projects/smpng/sys/crypto/aesni/aesni_wrap.c#1 branch .. //depot/projects/smpng/sys/dev/acpi_support/acpi_aiboost.c#6 delete .. //depot/projects/smpng/sys/dev/acpica/acpi_pcib.c#37 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_pcib_acpi.c#31 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_pcib_pci.c#16 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_pcibvar.h#6 integrate .. //depot/projects/smpng/sys/dev/ahci/ahci.c#10 integrate .. //depot/projects/smpng/sys/dev/alc/if_alcreg.h#2 integrate .. //depot/projects/smpng/sys/dev/amr/amrvar.h#28 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.c#105 integrate .. //depot/projects/smpng/sys/dev/ata/ata-disk.c#77 integrate .. //depot/projects/smpng/sys/dev/bce/if_bce.c#38 integrate .. //depot/projects/smpng/sys/dev/bwn/if_bwn.c#6 integrate .. //depot/projects/smpng/sys/dev/coretemp/coretemp.c#7 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#34 integrate .. //depot/projects/smpng/sys/dev/drm/drm_pciids.h#19 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_osdep.h#5 integrate .. //depot/projects/smpng/sys/dev/e1000/if_igb.c#23 integrate .. //depot/projects/smpng/sys/dev/et/if_et.c#4 integrate .. //depot/projects/smpng/sys/dev/et/if_etreg.h#3 integrate .. //depot/projects/smpng/sys/dev/et/if_etvar.h#3 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_core.c#11 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_core.h#4 integrate .. //depot/projects/smpng/sys/dev/ichwd/ichwd.c#16 integrate .. //depot/projects/smpng/sys/dev/ipmi/ipmi_smbios.c#6 integrate .. //depot/projects/smpng/sys/dev/md/md.c#95 integrate .. //depot/projects/smpng/sys/dev/mvs/mvs.c#3 integrate .. //depot/projects/smpng/sys/dev/null/null.c#22 integrate .. //depot/projects/smpng/sys/dev/pci/pci.c#119 integrate .. //depot/projects/smpng/sys/dev/pci/pci_user.c#22 integrate .. //depot/projects/smpng/sys/dev/pci/pcib_private.h#16 integrate .. //depot/projects/smpng/sys/dev/siis/siis.c#10 integrate .. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac.c#45 integrate .. //depot/projects/smpng/sys/dev/usb/quirk/usb_quirk.c#14 integrate .. //depot/projects/smpng/sys/dev/usb/serial/u3g.c#18 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uftdi.c#15 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uipaq.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uplcom.c#14 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uslcom.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#155 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs.h#23 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_rule.c#20 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vfsops.c#33 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#87 integrate .. //depot/projects/smpng/sys/fs/nfs/nfs_var.h#10 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_cllock.c#2 delete .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clnfsiod.c#4 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clport.c#9 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clstate.c#12 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clsubs.c#8 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clvnops.c#16 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_lock.h#2 delete .. //depot/projects/smpng/sys/geom/geom_disk.c#58 integrate .. //depot/projects/smpng/sys/geom/geom_disk.h#10 integrate .. //depot/projects/smpng/sys/geom/part/g_part.c#28 integrate .. //depot/projects/smpng/sys/geom/sched/g_sched.c#2 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC#121 integrate .. //depot/projects/smpng/sys/i386/conf/NOTES#153 integrate .. //depot/projects/smpng/sys/i386/i386/genassym.c#41 integrate .. //depot/projects/smpng/sys/i386/i386/initcpu.c#37 integrate .. //depot/projects/smpng/sys/i386/i386/mptable_pci.c#9 integrate .. //depot/projects/smpng/sys/i386/i386/swtch.s#34 integrate .. //depot/projects/smpng/sys/i386/include/pcpu.h#25 integrate .. //depot/projects/smpng/sys/i386/include/specialreg.h#31 integrate .. //depot/projects/smpng/sys/i386/include/vm86.h#6 integrate .. //depot/projects/smpng/sys/i386/include/vmparam.h#16 integrate .. //depot/projects/smpng/sys/i386/isa/npx.c#70 integrate .. //depot/projects/smpng/sys/i386/linux/linux_sysvec.c#74 integrate .. //depot/projects/smpng/sys/i386/pci/pci_bus.c#37 integrate .. //depot/projects/smpng/sys/ia64/conf/GENERIC#73 integrate .. //depot/projects/smpng/sys/ia64/include/pcpu.h#12 integrate .. //depot/projects/smpng/sys/ia64/include/vmparam.h#19 integrate .. //depot/projects/smpng/sys/kern/imgact_shell.c#13 integrate .. //depot/projects/smpng/sys/kern/kern_conf.c#66 integrate .. //depot/projects/smpng/sys/kern/kern_cpu.c#16 integrate .. //depot/projects/smpng/sys/kern/kern_exec.c#130 integrate .. //depot/projects/smpng/sys/kern/kern_malloc.c#58 integrate .. //depot/projects/smpng/sys/kern/link_elf_obj.c#29 integrate .. //depot/projects/smpng/sys/kern/subr_param.c#33 integrate .. //depot/projects/smpng/sys/kern/subr_taskqueue.c#45 integrate .. //depot/projects/smpng/sys/kern/subr_witness.c#185 integrate .. //depot/projects/smpng/sys/kern/tty.c#103 integrate .. //depot/projects/smpng/sys/kern/vfs_bio.c#131 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#180 integrate .. //depot/projects/smpng/sys/mips/atheros/ar71xx_pci.c#2 integrate .. //depot/projects/smpng/sys/mips/include/_stdint.h#2 integrate .. //depot/projects/smpng/sys/mips/include/param.h#10 integrate .. //depot/projects/smpng/sys/mips/include/pmap.h#12 integrate .. //depot/projects/smpng/sys/mips/include/profile.h#4 integrate .. //depot/projects/smpng/sys/mips/include/runq.h#3 integrate .. //depot/projects/smpng/sys/mips/include/smp.h#8 integrate .. //depot/projects/smpng/sys/mips/include/vmparam.h#6 integrate .. //depot/projects/smpng/sys/mips/mips/exception.S#7 integrate .. //depot/projects/smpng/sys/mips/mips/genassym.c#4 integrate .. //depot/projects/smpng/sys/mips/mips/locore.S#5 integrate .. //depot/projects/smpng/sys/mips/mips/machdep.c#13 integrate .. //depot/projects/smpng/sys/mips/mips/mp_machdep.c#11 integrate .. //depot/projects/smpng/sys/mips/mips/pm_machdep.c#8 integrate .. //depot/projects/smpng/sys/mips/mips/pmap.c#21 integrate .. //depot/projects/smpng/sys/mips/mips/support.S#7 integrate .. //depot/projects/smpng/sys/mips/mips/swtch.S#6 integrate .. //depot/projects/smpng/sys/mips/mips/tick.c#6 integrate .. //depot/projects/smpng/sys/mips/mips/trap.c#9 integrate .. //depot/projects/smpng/sys/mips/mips/vm_machdep.c#9 integrate .. //depot/projects/smpng/sys/mips/rmi/dev/xlr/rge.c#5 integrate .. //depot/projects/smpng/sys/mips/rmi/files.xlr#3 integrate .. //depot/projects/smpng/sys/mips/rmi/intr_machdep.c#3 integrate .. //depot/projects/smpng/sys/mips/rmi/on_chip.c#4 integrate .. //depot/projects/smpng/sys/mips/rmi/tick.c#2 integrate .. //depot/projects/smpng/sys/mips/rmi/xlr_machdep.c#4 integrate .. //depot/projects/smpng/sys/mips/sibyte/sb_machdep.c#5 integrate .. //depot/projects/smpng/sys/mips/sibyte/sb_scd.c#3 integrate .. //depot/projects/smpng/sys/mips/sibyte/sb_zbpci.c#2 integrate .. //depot/projects/smpng/sys/modules/Makefile#174 integrate .. //depot/projects/smpng/sys/modules/acpi/Makefile#35 integrate .. //depot/projects/smpng/sys/modules/acpi/acpi_aiboost/Makefile#3 delete .. //depot/projects/smpng/sys/modules/aesni/Makefile#1 branch .. //depot/projects/smpng/sys/modules/ata/atacore/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/nfscl/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/nfsclient/Makefile#19 integrate .. //depot/projects/smpng/sys/modules/nfslock/Makefile#1 branch .. //depot/projects/smpng/sys/net/if.c#134 integrate .. //depot/projects/smpng/sys/net/if_llatbl.c#12 integrate .. //depot/projects/smpng/sys/net/if_vlan.c#75 integrate .. //depot/projects/smpng/sys/net/rtsock.c#82 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.h#5 integrate .. //depot/projects/smpng/sys/netgraph/netflow/netflow.c#20 integrate .. //depot/projects/smpng/sys/netgraph/ng_ipfw.c#12 integrate .. //depot/projects/smpng/sys/netinet/if_ether.c#83 integrate .. //depot/projects/smpng/sys/netinet/in_rmx.c#31 integrate .. //depot/projects/smpng/sys/netinet/ipfw/ip_fw2.c#14 integrate .. //depot/projects/smpng/sys/netinet/sctp_indata.c#33 integrate .. //depot/projects/smpng/sys/netinet/sctp_output.c#40 integrate .. //depot/projects/smpng/sys/netinet/sctp_pcb.c#41 integrate .. //depot/projects/smpng/sys/netinet/sctp_structs.h#22 integrate .. //depot/projects/smpng/sys/netinet/sctp_timer.c#22 integrate .. //depot/projects/smpng/sys/netinet/tcp_syncache.c#78 integrate .. //depot/projects/smpng/sys/netinet6/nd6.c#67 integrate .. //depot/projects/smpng/sys/nfs/nfs_lock.c#6 branch .. //depot/projects/smpng/sys/nfs/nfs_lock.h#3 branch .. //depot/projects/smpng/sys/nfsclient/nfs_lock.c#40 delete .. //depot/projects/smpng/sys/nfsclient/nfs_lock.h#7 delete .. //depot/projects/smpng/sys/nfsclient/nfs_nfsiod.c#24 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_node.c#35 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vfsops.c#79 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#101 integrate .. //depot/projects/smpng/sys/opencrypto/cryptodev.c#29 integrate .. //depot/projects/smpng/sys/pc98/conf/GENERIC#92 integrate .. //depot/projects/smpng/sys/powerpc/aim/mmu_oea64.c#12 integrate .. //depot/projects/smpng/sys/powerpc/aim/slb.c#2 integrate .. //depot/projects/smpng/sys/powerpc/conf/GENERIC#69 integrate .. //depot/projects/smpng/sys/powerpc/conf/GENERIC64#2 integrate .. //depot/projects/smpng/sys/powerpc/conf/NOTES#18 integrate .. //depot/projects/smpng/sys/powerpc/include/slb.h#2 integrate .. //depot/projects/smpng/sys/powerpc/include/vmparam.h#15 integrate .. //depot/projects/smpng/sys/powerpc/mambo/mambo.c#1 branch .. //depot/projects/smpng/sys/powerpc/mambo/mambo_console.c#1 branch .. //depot/projects/smpng/sys/powerpc/mambo/mambo_disk.c#1 branch .. //depot/projects/smpng/sys/powerpc/mambo/mambo_openpic.c#1 branch .. //depot/projects/smpng/sys/powerpc/mambo/mambocall.S#1 branch .. //depot/projects/smpng/sys/powerpc/mambo/mambocall.h#1 branch .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#105 integrate .. //depot/projects/smpng/sys/sparc64/include/intr_machdep.h#20 integrate .. //depot/projects/smpng/sys/sparc64/include/pcpu.h#16 integrate .. //depot/projects/smpng/sys/sparc64/include/smp.h#26 integrate .. //depot/projects/smpng/sys/sparc64/include/tick.h#8 integrate .. //depot/projects/smpng/sys/sparc64/include/vmparam.h#19 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/clock.c#12 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/intr_machdep.c#34 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/mp_machdep.c#41 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/tick.c#25 integrate .. //depot/projects/smpng/sys/sun4v/conf/GENERIC#23 integrate .. //depot/projects/smpng/sys/sun4v/include/clock.h#3 integrate .. //depot/projects/smpng/sys/sun4v/include/intr_machdep.h#5 integrate .. //depot/projects/smpng/sys/sun4v/include/pcpu.h#10 integrate .. //depot/projects/smpng/sys/sun4v/include/smp.h#9 integrate .. //depot/projects/smpng/sys/sun4v/include/tick.h#2 integrate .. //depot/projects/smpng/sys/sun4v/include/vmparam.h#7 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/clock.c#4 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/intr_machdep.c#11 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/mp_machdep.c#11 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/tick.c#4 integrate .. //depot/projects/smpng/sys/sys/conf.h#66 integrate .. //depot/projects/smpng/sys/sys/imgact.h#20 integrate .. //depot/projects/smpng/sys/sys/imgact_elf.h#17 integrate .. //depot/projects/smpng/sys/sys/ktr.h#30 integrate .. //depot/projects/smpng/sys/sys/malloc.h#30 integrate .. //depot/projects/smpng/sys/sys/param.h#164 integrate .. //depot/projects/smpng/sys/sys/pcpu.h#35 integrate .. //depot/projects/smpng/sys/sys/vnode.h#110 integrate .. //depot/projects/smpng/sys/vm/device_pager.c#32 integrate .. //depot/projects/smpng/sys/vm/vm_init.c#19 integrate .. //depot/projects/smpng/sys/vm/vm_mmap.c#85 integrate .. //depot/projects/smpng/sys/vm/vm_phys.c#10 integrate .. //depot/projects/smpng/sys/vm/vm_phys.h#6 integrate .. //depot/projects/smpng/sys/x86/acpica/srat.c#1 branch .. //depot/projects/smpng/sys/x86/x86/local_apic.c#4 integrate .. //depot/projects/smpng/sys/x86/x86/mca.c#3 integrate Differences ... ==== //depot/projects/smpng/share/man/man9/DEVICE_PROBE.9#3 (text+ko) ==== @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/DEVICE_PROBE.9,v 1.23 2010/02/27 01:17:44 delphij Exp $ +.\" $FreeBSD: src/share/man/man9/DEVICE_PROBE.9,v 1.24 2010/07/31 10:01:15 joel Exp $ .\" .Dd March 3, 2008 .Dt DEVICE_PROBE 9 @@ -114,7 +114,7 @@ return BUS_PROBE_DEFAULT. .It BUS_PROBE_GENERIC The driver matches the type of device generally. -This allows drivers to match all serial ports generally, with sepcialized +This allows drivers to match all serial ports generally, with specialized drivers matching particular types of serial ports that need special treatment for some reason. .It BUS_PROBE_HOOVER ==== //depot/projects/smpng/share/man/man9/VFS_VGET.9#3 (text+ko) ==== @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/VFS_VGET.9,v 1.19 2010/04/14 19:08:06 uqs Exp $ +.\" $FreeBSD: src/share/man/man9/VFS_VGET.9,v 1.20 2010/07/31 10:01:15 joel Exp $ .\" .Dd January 7, 2005 .Dt VFS_VGET 9 @@ -43,7 +43,7 @@ .Sh DESCRIPTION The .Fn VFS_VGET -looks up or creates a vnode from a (mount, inode#) tupple. +looks up or creates a vnode from a (mount, inode#) tuple. .Pp Its arguments are: .Bl -tag -width ".Fa flags" ==== //depot/projects/smpng/share/man/man9/VOP_VPTOCNP.9#3 (text+ko) ==== @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/VOP_VPTOCNP.9,v 1.4 2010/04/14 19:08:06 uqs Exp $ +.\" $FreeBSD: src/share/man/man9/VOP_VPTOCNP.9,v 1.5 2010/07/31 12:14:28 joel Exp $ .\" .Dd December 7, 2008 .Dt VOP_VPTOCNP 9 @@ -50,7 +50,7 @@ The vnode of the parent directory of .Fa vp . .It Fa buf -The buffer into which to preprend the component name. +The buffer into which to prepend the component name. .It Fa buflen The remaining size of the buffer. .El ==== //depot/projects/smpng/share/man/man9/bios.9#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $FreeBSD: src/share/man/man9/bios.9,v 1.16 2005/11/18 10:52:24 ru Exp $ +.\" $FreeBSD: src/share/man/man9/bios.9,v 1.17 2010/07/31 10:01:15 joel Exp $ .\" .\" Copyright (c) 1997 Michael Smith .\" All rights reserved. @@ -124,7 +124,7 @@ .Fa maxlen bytes (including trailing .Ql \e0 , -and any trailing space surpressed). +and any trailing space suppressed). If an error is encountered, i.e.\& trying to read out of said BIOS range, other invalid input, or .Fa buffer ==== //depot/projects/smpng/share/man/man9/ifnet.9#5 (text+ko) ==== @@ -26,7 +26,7 @@ .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/ifnet.9,v 1.57 2010/04/14 19:08:06 uqs Exp $ +.\" $FreeBSD: src/share/man/man9/ifnet.9,v 1.58 2010/07/27 08:45:29 simon Exp $ .\" .Dd December 1, 2009 .Dt IFNET 9 @@ -588,6 +588,31 @@ .It Dv IFCAP_JUMBO_MTU This Ethernet interface can transmit and receive frames up to 9000 bytes long. +.It Dv IFCAP_TSO4 +This Ethernet interface supports TCP Segmentation offloading. +.It Dv IFCAP_TSO6 +This Ethernet interface supports TCP6 Segmentation offloading. +.It Dv IFCAP_TSO +A shorthand for +.Pq Dv IFCAP_TSO4 | IFCAP_TSO6 . +.It Dv IFCAP_TOE4 +This Ethernet interface supports TCP offloading. +.It Dv IFCAP_TOE6 +This Ethernet interface supports TCP6 offloading. +.It Dv ICAP_TOE +A Shorthand for +.Pq Dv IFCAP_TOE4 | IFCAP_TOE6 . +.It Dv IFCAP_WOL_UCAST +This Ethernet interface supports waking up on any Unicast packet. +.It Dv IFCAP_WOL_MCAST +This Ethernet interface supports waking up on any Multicast packet. +.It Dv IFCAP_WOL_MAGIC +This Ethernet interface supports waking up on any Magic packet such +as those sent by +.Xr wake 8 . +.It Dv IFCAP_WOL +A shorthand for +.Pq Dv IFCAP_WOL_UCAST | IFCAP_WOL_MCAST | IFCAP_WOL_MAGIC . .El .Pp The ability of advanced network interfaces to offload certain ==== //depot/projects/smpng/share/man/man9/kproc.9#3 (text+ko) ==== @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/kproc.9,v 1.4 2009/08/23 07:48:11 julian Exp $ +.\" $FreeBSD: src/share/man/man9/kproc.9,v 1.5 2010/07/31 10:01:15 joel Exp $ .\" .Dd October 19, 2007 .Dt KPROC 9 @@ -248,7 +248,7 @@ pointer that is the location to be updated with the new proc pointer if a new process is created, or if not .Dv NULL , -must contain the process pointer for the already exisiting process. +must contain the process pointer for the already existing process. If this argument points to .Dv NULL , then a new process is created and the field updated. ==== //depot/projects/smpng/share/man/man9/locking.9#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/locking.9,v 1.19 2010/02/15 17:41:59 trasz Exp $ +.\" $FreeBSD: src/share/man/man9/locking.9,v 1.20 2010/07/31 12:14:28 joel Exp $ .\" .Dd February 15, 2010 .Dt LOCKING 9 @@ -53,12 +53,12 @@ for the thread holding the lock, which runs on another CPU, to release it. Differently from ordinary mutex, spin mutexes disable interrupts when acquired. Since disabling interrupts is expensive, they are also generally slower. -Spin mutexes should be used only when neccessary, e.g. to protect data shared +Spin mutexes should be used only when necessary, e.g. to protect data shared with interrupt filter code (see .Xr bus_setup_intr 9 for details). .Ss Pool mutexes -With most synchronisaton primitives, such as mutexes, programmer must +With most synchronization primitives, such as mutexes, programmer must provide a piece of allocated memory to hold the primitive. For example, a mutex may be embedded inside the structure it protects. Pool mutex is a variant of mutex without this requirement - to lock or unlock ==== //depot/projects/smpng/share/man/man9/make_dev.9#5 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/make_dev.9,v 1.29 2010/06/02 10:20:23 uqs Exp $ +.\" $FreeBSD: src/share/man/man9/make_dev.9,v 1.30 2010/08/01 21:54:25 pjd Exp $ .\" .Dd May 6, 2010 .Dt MAKE_DEV 9 @@ -244,7 +244,7 @@ .Fn destroy_dev_sched function is the same as .Bd -literal -offset indent -destroy_dev_sched(cdev, NULL, NULL); +destroy_dev_sched_cb(cdev, NULL, NULL); .Ed .Pp The ==== //depot/projects/smpng/share/man/man9/netisr.9#5 (text+ko) ==== @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/netisr.9,v 1.5 2010/02/22 16:02:17 rwatson Exp $ +.\" $FreeBSD: src/share/man/man9/netisr.9,v 1.6 2010/07/31 12:14:28 joel Exp $ .\" .Dd February 22, 2010 .Dt NETISR 9 @@ -173,7 +173,7 @@ .Vt mbuf argument, but while .Fn netisr_queue -will always execute the protocol handler asynchonously in a deferred +will always execute the protocol handler asynchronously in a deferred context, .Fn netisr_dispatch will optionally direct dispatch if permitted by global and per-protocol ==== //depot/projects/smpng/share/man/man9/sglist.9#3 (text+ko) ==== @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/sglist.9,v 1.3 2009/08/21 02:59:07 jhb Exp $ +.\" $FreeBSD: src/share/man/man9/sglist.9,v 1.4 2010/07/31 10:01:15 joel Exp $ .\" .Dd May 15, 2009 .Dt SGLIST 9 @@ -151,7 +151,7 @@ .Pp The .Nm sglist_clone -function returns a copy of an exising scatter/gather list object +function returns a copy of an existing scatter/gather list object .Fa sg . The .Fa mflags ==== //depot/projects/smpng/share/man/man9/taskqueue.9#3 (text+ko) ==== @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/taskqueue.9,v 1.27 2009/08/18 13:55:48 pjd Exp $ +.\" $FreeBSD: src/share/man/man9/taskqueue.9,v 1.29 2010/07/31 10:01:15 joel Exp $ .\" .Dd August 18, 2009 .Dt TASKQUEUE 9 @@ -64,10 +64,6 @@ .Ft int .Fn taskqueue_enqueue_fast "struct taskqueue *queue" "struct task *task" .Ft void -.Fn taskqueue_run "struct taskqueue *queue" -.Ft void -.Fn taskqueue_run_fast "struct taskqueue *queue" -.Ft void .Fn taskqueue_drain "struct taskqueue *queue" "struct task *task" .Ft int .Fn taskqueue_member "struct taskqueue *queue" "struct thread *td" @@ -143,12 +139,6 @@ This method uses spin locks to avoid the possibility of sleeping in the fast interrupt context. .Pp -To execute all the tasks on a queue, -call -.Fn taskqueue_run -or -.Fn taskqueue_run_fast -depending on the flavour of the queue. When a task is executed, first it is removed from the queue, the value of @@ -182,7 +172,7 @@ .No 1 if the given thread .Fa td -is part of the given taskqeueue +is part of the given taskqueue .Fa queue and .No 0 ==== //depot/projects/smpng/share/man/man9/timeout.9#3 (text+ko) ==== @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/timeout.9,v 1.34 2010/03/02 21:50:36 joel Exp $ +.\" $FreeBSD: src/share/man/man9/timeout.9,v 1.35 2010/07/31 10:01:15 joel Exp $ .\" .Dd August 2, 2008 .Dt TIMEOUT 9 @@ -234,7 +234,7 @@ .Pp The .Fn callout_init_rw -function serves the need of using rwlocks in conujunction with callouts. +function serves the need of using rwlocks in conjunction with callouts. The function does basically the same as .Fn callout_init_mtx with the possibility of specifying an extra @@ -249,7 +249,7 @@ .Bl -tag -width ".Dv CALLOUT_SHAREDLOCK" .It Dv CALLOUT_SHAREDLOCK The lock is only acquired in read mode when running the callout handler. -It has no effects when used in conjuction with +It has no effects when used in conjunction with .Fa mtx . .El .Pp ==== //depot/projects/smpng/share/man/man9/usbdi.9#6 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/usbdi.9,v 1.6 2010/05/19 08:57:53 uqs Exp $ +.\" $FreeBSD: src/share/man/man9/usbdi.9,v 1.7 2010/07/31 10:01:15 joel Exp $ .Dd June 24, 2009 .Dt USBDI 9 .Os @@ -294,7 +294,7 @@ /* * Read usb frame data, if any. * "actlen" has the total length for all frames - * transfered. + * transferred. */ break; ==== //depot/projects/smpng/sys/amd64/acpica/acpi_switch.S#4 (text+ko) ==== @@ -1,7 +1,7 @@ /*- * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI - * Copyright (c) 2008-2009 Jung-uk Kim + * Copyright (c) 2008-2010 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/acpica/acpi_switch.S,v 1.5 2009/12/08 22:38:42 jkim Exp $ + * $FreeBSD: src/sys/amd64/acpica/acpi_switch.S,v 1.10 2010/08/03 16:08:58 jkim Exp $ */ #include @@ -34,14 +34,11 @@ #include "acpi_wakedata.h" #include "assym.s" -#define WAKEUP_CTX(member) wakeup_ ## member - wakeup_ctx(%rdi) -#define WAKEUP_PCB(member) PCB_ ## member(%r11) -#define WAKEUP_XPCB(member) XPCB_ ## member(%r11) +#define WAKEUP_CTX(member) wakeup_ ## member - wakeup_ctx(%rsi) ENTRY(acpi_restorecpu) /* Switch to KPML4phys. */ - movq %rsi, %rax - movq %rax, %cr3 + movq %rdi, %cr3 /* Restore GDT. */ lgdt WAKEUP_CTX(gdt) @@ -49,7 +46,7 @@ 1: /* Fetch PCB. */ - movq WAKEUP_CTX(xpcb), %r11 + movq WAKEUP_CTX(pcb), %rdi /* Force kernel segment registers. */ movl $KDSEL, %eax @@ -62,16 +59,16 @@ movw %ax, %gs movl $MSR_FSBASE, %ecx - movl WAKEUP_PCB(FSBASE), %eax - movl 4 + WAKEUP_PCB(FSBASE), %edx + movl PCB_FSBASE(%rdi), %eax + movl 4 + PCB_FSBASE(%rdi), %edx wrmsr movl $MSR_GSBASE, %ecx - movl WAKEUP_PCB(GSBASE), %eax - movl 4 + WAKEUP_PCB(GSBASE), %edx + movl PCB_GSBASE(%rdi), %eax + movl 4 + PCB_GSBASE(%rdi), %edx wrmsr movl $MSR_KGSBASE, %ecx - movl WAKEUP_XPCB(KGSBASE), %eax - movl 4 + WAKEUP_XPCB(KGSBASE), %edx + movl PCB_KGSBASE(%rdi), %eax + movl 4 + PCB_KGSBASE(%rdi), %edx wrmsr /* Restore EFER. */ @@ -102,17 +99,21 @@ movl WAKEUP_CTX(sfmask), %eax wrmsr - /* Restore CR0, CR2 and CR4. */ - movq WAKEUP_XPCB(CR0), %rax + /* Restore CR0 except for FPU mode. */ + movq PCB_CR0(%rdi), %rax + movq %rax, %rcx + andq $~(CR0_EM | CR0_TS), %rax movq %rax, %cr0 - movq WAKEUP_XPCB(CR2), %rax + + /* Restore CR2 and CR4. */ + movq PCB_CR2(%rdi), %rax movq %rax, %cr2 - movq WAKEUP_XPCB(CR4), %rax + movq PCB_CR4(%rdi), %rax movq %rax, %cr4 /* Restore descriptor tables. */ - lidt WAKEUP_XPCB(IDT) - lldt WAKEUP_XPCB(LDT) + lidt PCB_IDT(%rdi) + lldt PCB_LDT(%rdi) #define SDT_SYSTSS 9 #define SDT_SYSBSY 11 @@ -120,37 +121,44 @@ /* Clear "task busy" bit and reload TR. */ movq PCPU(TSS), %rax andb $(~SDT_SYSBSY | SDT_SYSTSS), 5(%rax) - movw WAKEUP_XPCB(TR), %ax + movw PCB_TR(%rdi), %ax ltr %ax #undef SDT_SYSTSS #undef SDT_SYSBSY /* Restore other callee saved registers. */ - movq WAKEUP_PCB(R15), %r15 - movq WAKEUP_PCB(R14), %r14 - movq WAKEUP_PCB(R13), %r13 - movq WAKEUP_PCB(R12), %r12 - movq WAKEUP_PCB(RBP), %rbp - movq WAKEUP_PCB(RSP), %rsp - movq WAKEUP_PCB(RBX), %rbx + movq PCB_R15(%rdi), %r15 + movq PCB_R14(%rdi), %r14 + movq PCB_R13(%rdi), %r13 + movq PCB_R12(%rdi), %r12 + movq PCB_RBP(%rdi), %rbp + movq PCB_RSP(%rdi), %rsp + movq PCB_RBX(%rdi), %rbx /* Restore debug registers. */ - movq WAKEUP_PCB(DR0), %rax + movq PCB_DR0(%rdi), %rax movq %rax, %dr0 - movq WAKEUP_PCB(DR1), %rax + movq PCB_DR1(%rdi), %rax movq %rax, %dr1 - movq WAKEUP_PCB(DR2), %rax + movq PCB_DR2(%rdi), %rax movq %rax, %dr2 - movq WAKEUP_PCB(DR3), %rax + movq PCB_DR3(%rdi), %rax movq %rax, %dr3 - movq WAKEUP_PCB(DR6), %rax + movq PCB_DR6(%rdi), %rax movq %rax, %dr6 - movq WAKEUP_PCB(DR7), %rax + movq PCB_DR7(%rdi), %rax movq %rax, %dr7 + /* Restore FPU state. */ + fninit + fxrstor PCB_USERFPU(%rdi) + + /* Reload CR0. */ + movq %rcx, %cr0 + /* Restore return address. */ - movq WAKEUP_PCB(RIP), %rax + movq PCB_RIP(%rdi), %rax movq %rax, (%rsp) /* Indicate the CPU is resumed. */ @@ -159,19 +167,3 @@ ret END(acpi_restorecpu) - -ENTRY(acpi_savecpu) - /* Fetch XPCB and save CPU context. */ - movq %rdi, %r10 - call savectx2 - movq %r10, %r11 - - /* Patch caller's return address and stack pointer. */ - movq (%rsp), %rax - movq %rax, WAKEUP_PCB(RIP) - movq %rsp, %rax - movq %rax, WAKEUP_PCB(RSP) - - movl $1, %eax - ret -END(acpi_savecpu) ==== //depot/projects/smpng/sys/amd64/acpica/acpi_wakecode.S#7 (text+ko) ==== @@ -2,7 +2,7 @@ * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008-2009 Jung-uk Kim + * Copyright (c) 2008-2010 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/acpica/acpi_wakecode.S,v 1.6 2010/07/12 21:08:35 jkim Exp $ + * $FreeBSD: src/sys/amd64/acpica/acpi_wakecode.S,v 1.8 2010/08/03 15:32:08 jkim Exp $ */ #include @@ -210,8 +210,8 @@ mov %ax, %ds /* Restore arguments and return. */ - movq wakeup_ctx - wakeup_start(%rbx), %rdi - movq wakeup_kpml4 - wakeup_start(%rbx), %rsi + movq wakeup_kpml4 - wakeup_start(%rbx), %rdi + movq wakeup_ctx - wakeup_start(%rbx), %rsi movq wakeup_retaddr - wakeup_start(%rbx), %rax jmp *%rax @@ -265,7 +265,7 @@ wakeup_ctx: .quad 0 -wakeup_xpcb: +wakeup_pcb: .quad 0 wakeup_gdt: .word 0 ==== //depot/projects/smpng/sys/amd64/acpica/acpi_wakeup.c#13 (text+ko) ==== @@ -2,7 +2,7 @@ * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008-2009 Jung-uk Kim + * Copyright (c) 2008-2010 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.31 2010/06/15 18:51:41 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.33 2010/08/02 17:35:00 jkim Exp $"); #include #include @@ -66,13 +66,12 @@ extern int acpi_reset_video; #ifdef SMP -extern struct xpcb **stopxpcbs; +extern struct pcb **susppcbs; #else -static struct xpcb **stopxpcbs; +static struct pcb **susppcbs; #endif -int acpi_restorecpu(struct xpcb *, vm_offset_t); -int acpi_savecpu(struct xpcb *); +int acpi_restorecpu(struct pcb *, vm_offset_t); static void *acpi_alloc_wakeup_handler(void); static void acpi_stop_beep(void *); @@ -105,10 +104,10 @@ int apic_id = cpu_apic_ids[cpu]; int ms; - WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, stopxpcbs[cpu]); - WAKECODE_FIXUP(wakeup_gdt, uint16_t, stopxpcbs[cpu]->xpcb_gdt.rd_limit); + WAKECODE_FIXUP(wakeup_pcb, struct pcb *, susppcbs[cpu]); + WAKECODE_FIXUP(wakeup_gdt, uint16_t, susppcbs[cpu]->pcb_gdt.rd_limit); WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t, - stopxpcbs[cpu]->xpcb_gdt.rd_base); + susppcbs[cpu]->pcb_gdt.rd_base); WAKECODE_FIXUP(wakeup_cpu, int, cpu); /* do an INIT IPI: assert RESET */ @@ -216,7 +215,6 @@ int acpi_sleep_machdep(struct acpi_softc *sc, int state) { - struct savefpu *stopfpu; #ifdef SMP cpumask_t wakeup_cpus; #endif @@ -246,10 +244,7 @@ cr3 = rcr3(); load_cr3(KPML4phys); - stopfpu = &stopxpcbs[0]->xpcb_pcb.pcb_user_save; - if (acpi_savecpu(stopxpcbs[0])) { - fpugetregs(curthread, stopfpu); - + if (savectx(susppcbs[0])) { #ifdef SMP if (wakeup_cpus != 0 && suspend_cpus(wakeup_cpus) == 0) { device_printf(sc->acpi_dev, @@ -262,11 +257,11 @@ WAKECODE_FIXUP(resume_beep, uint8_t, (acpi_resume_beep != 0)); WAKECODE_FIXUP(reset_video, uint8_t, (acpi_reset_video != 0)); - WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, stopxpcbs[0]); + WAKECODE_FIXUP(wakeup_pcb, struct pcb *, susppcbs[0]); WAKECODE_FIXUP(wakeup_gdt, uint16_t, - stopxpcbs[0]->xpcb_gdt.rd_limit); + susppcbs[0]->pcb_gdt.rd_limit); WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t, - stopxpcbs[0]->xpcb_gdt.rd_base); + susppcbs[0]->pcb_gdt.rd_base); WAKECODE_FIXUP(wakeup_cpu, int, 0); /* Call ACPICA to enter the desired sleep state */ @@ -285,7 +280,6 @@ for (;;) ia32_pause(); } else { - fpusetregs(curthread, stopfpu); #ifdef SMP if (wakeup_cpus != 0) acpi_wakeup_cpus(sc, wakeup_cpus); @@ -337,9 +331,9 @@ printf("%s: can't alloc wake memory\n", __func__); return (NULL); } - stopxpcbs = malloc(mp_ncpus * sizeof(*stopxpcbs), M_DEVBUF, M_WAITOK); + susppcbs = malloc(mp_ncpus * sizeof(*susppcbs), M_DEVBUF, M_WAITOK); for (i = 0; i < mp_ncpus; i++) - stopxpcbs[i] = malloc(sizeof(**stopxpcbs), M_DEVBUF, M_WAITOK); + susppcbs[i] = malloc(sizeof(**susppcbs), M_DEVBUF, M_WAITOK); return (wakeaddr); } ==== //depot/projects/smpng/sys/amd64/amd64/cpu_switch.S#29 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.172 2010/07/12 19:59:15 kib Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.177 2010/08/03 15:32:08 jkim Exp $ */ #include @@ -302,121 +302,65 @@ * Update pcb, saving current processor state. */ ENTRY(savectx) - /* Fetch PCB. */ - movq %rdi,%rcx - /* Save caller's return address. */ movq (%rsp),%rax - movq %rax,PCB_RIP(%rcx) + movq %rax,PCB_RIP(%rdi) - movq %cr3,%rax - movq %rax,PCB_CR3(%rcx) + movq %rbx,PCB_RBX(%rdi) + movq %rsp,PCB_RSP(%rdi) + movq %rbp,PCB_RBP(%rdi) + movq %r12,PCB_R12(%rdi) + movq %r13,PCB_R13(%rdi) + movq %r14,PCB_R14(%rdi) + movq %r15,PCB_R15(%rdi) - movq %rbx,PCB_RBX(%rcx) - movq %rsp,PCB_RSP(%rcx) - movq %rbp,PCB_RBP(%rcx) - movq %r12,PCB_R12(%rcx) - movq %r13,PCB_R13(%rcx) - movq %r14,PCB_R14(%rcx) - movq %r15,PCB_R15(%rcx) - - /* - * If fpcurthread == NULL, then the fpu h/w state is irrelevant and the - * state had better already be in the pcb. This is true for forks - * but not for dumps (the old book-keeping with FP flags in the pcb - * always lost for dumps because the dump pcb has 0 flags). - * - * If fpcurthread != NULL, then we have to save the fpu h/w state to - * fpcurthread's pcb and copy it to the requested pcb, or save to the - * requested pcb and reload. Copying is easier because we would - * have to handle h/w bugs for reloading. We used to lose the - * parent's fpu state for forks by forgetting to reload. - */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Aug 6 18:11:39 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 54B8A106567D; Fri, 6 Aug 2010 18:11:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 153F5106567B for ; Fri, 6 Aug 2010 18:11:39 +0000 (UTC) (envelope-from gpf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 003F58FC18 for ; Fri, 6 Aug 2010 18:11:39 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o76IBcZv032560 for ; Fri, 6 Aug 2010 18:11:38 GMT (envelope-from gpf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o76IBcBC032558 for perforce@freebsd.org; Fri, 6 Aug 2010 18:11:38 GMT (envelope-from gpf@FreeBSD.org) Date: Fri, 6 Aug 2010 18:11:38 GMT Message-Id: <201008061811.o76IBcBC032558@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gpf@FreeBSD.org using -f From: Efstratios Karatzas To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181970 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2010 18:11:39 -0000 http://p4web.freebsd.org/@@181970?ac=10 Change 181970 by gpf@gpf_desktop on 2010/08/06 18:10:43 - extended the 'bsm_errnos' array to include error codes & messages specific to NFS RPCs. - now, libbsm is able to print those messages via au_strerror(3) instead of using strerror(3) which will fail anyway. - I've documented my changes to au_strerror(3) & praudit(1) in the relative man pages. - fixed minor bug I introduced to praudit. Tested and everything seems to be working fine. Affected files ... .. //depot/projects/soc2010/gpf_audit/freebsd/src/contrib/openbsm/bin/praudit/praudit.1#2 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/contrib/openbsm/bin/praudit/praudit.c#5 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/contrib/openbsm/bsm/libbsm.h#3 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/contrib/openbsm/libbsm/au_errno.3#2 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/contrib/openbsm/libbsm/bsm_errno.c#2 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/contrib/openbsm/libbsm/bsm_io.c#3 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/contrib/openbsm/sys/bsm/audit_errno.h#2 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/contrib/openbsm/sys/bsm/audit_record.h#2 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/sys/bsm/audit_errno.h#2 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/sys/bsm/audit_record.h#2 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/sys/security/audit/audit_bsm.c#20 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/sys/security/audit/audit_bsm_errno.c#2 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/sys/security/audit/audit_bsm_token.c#2 edit Differences ... ==== //depot/projects/soc2010/gpf_audit/freebsd/src/contrib/openbsm/bin/praudit/praudit.1#2 (text) ==== @@ -77,6 +77,9 @@ record and event type are displayed. This option is exclusive from .Fl r . +.It Fl c +Don't map user credentials to the local base system and print them in raw, +numeric form instead. This option is useful when auditing NFS RPCs. .It Fl x Print audit records in the XML output format. .El ==== //depot/projects/soc2010/gpf_audit/freebsd/src/contrib/openbsm/bin/praudit/praudit.c#5 (text) ==== @@ -120,7 +120,7 @@ int i; FILE *fp; - while ((ch = getopt(argc, argv, "d:lprsx")) != -1) { + while ((ch = getopt(argc, argv, "d:lprcsx")) != -1) { switch(ch) { case 'c': rawcred = 1; ==== //depot/projects/soc2010/gpf_audit/freebsd/src/contrib/openbsm/bsm/libbsm.h#3 (text) ==== @@ -503,16 +503,16 @@ } au_proc64ex_t; /* - * error status 1 byte + * error status 4 byte * return value 4 bytes/8 bytes (32-bit/64-bit value) */ typedef struct { - u_char status; + u_int32_t status; u_int32_t ret; } au_ret32_t; typedef struct { - u_char err; + u_int32_t err; u_int64_t val; } au_ret64_t; @@ -836,16 +836,16 @@ * the FreeBSD and Mac OS X kernels) */ int au_bsm_to_domain(u_short bsm_domain, int *local_domainp); -int au_bsm_to_errno(u_char bsm_error, int *errorp); +int au_bsm_to_errno(int bsm_error, int *errorp); int au_bsm_to_fcntl_cmd(u_short bsm_fcntl_cmd, int *local_fcntl_cmdp); int au_bsm_to_socket_type(u_short bsm_socket_type, int *local_socket_typep); u_short au_domain_to_bsm(int local_domain); -u_char au_errno_to_bsm(int local_errno); +int au_errno_to_bsm(int local_errno); u_short au_fcntl_cmd_to_bsm(int local_fcntl_command); u_short au_socket_type_to_bsm(int local_socket_type); -const char *au_strerror(u_char bsm_error); +const char *au_strerror(int bsm_error); __END_DECLS /* ==== //depot/projects/soc2010/gpf_audit/freebsd/src/contrib/openbsm/libbsm/au_errno.3#2 (text) ==== @@ -77,7 +77,11 @@ function converts a BSM error value to a string, generally by converting first to a local error number and using the local .Xr strerror 3 -function, but will also work for errors that are not locally defined. +function, but will also work for errors that are not locally defined. It will also +work for BSM errors limited to specific kernel modules that cannot be serviced +by +.Xr strerror 3 , +such as NFSv4 error values. .Sh RETURN VALULES On success, .Fn au_bsm_to_errno ==== //depot/projects/soc2010/gpf_audit/freebsd/src/contrib/openbsm/libbsm/bsm_errno.c#2 (text) ==== @@ -31,6 +31,8 @@ #include +#include + #include #include @@ -43,17 +45,17 @@ * Different operating systems use different numeric constants for different * error numbers, and sometimes error numbers don't exist in more than one * operating system. These routines convert between BSM and local error - * number spaces, subject to the above realities. BSM error numbers are - * stored in a single 8-bit character, so don't have a byte order. + * number spaces, subject to the above realities. * * Don't include string definitions when this code is compiled into a kernel. */ struct bsm_errno { int be_bsm_errno; int be_local_errno; + char be_use_strerror; #if !defined(KERNEL) && !defined(_KERNEL) const char *be_strerror; -#endif +#endif }; #define ERRNO_NO_LOCAL_MAPPING -600 @@ -80,610 +82,953 @@ * string using strerror(3). */ static const struct bsm_errno bsm_errnos[] = { - { BSM_ERRNO_ESUCCESS, 0, ES("Success") }, - { BSM_ERRNO_EPERM, EPERM, ES("Operation not permitted") }, - { BSM_ERRNO_ENOENT, ENOENT, ES("No such file or directory") }, - { BSM_ERRNO_ESRCH, ESRCH, ES("No such process") }, - { BSM_ERRNO_EINTR, EINTR, ES("Interrupted system call") }, - { BSM_ERRNO_EIO, EIO, ES("Input/output error") }, - { BSM_ERRNO_ENXIO, ENXIO, ES("Device not configured") }, - { BSM_ERRNO_E2BIG, E2BIG, ES("Argument list too long") }, - { BSM_ERRNO_ENOEXEC, ENOEXEC, ES("Exec format error") }, - { BSM_ERRNO_EBADF, EBADF, ES("Bad file descriptor") }, - { BSM_ERRNO_ECHILD, ECHILD, ES("No child processes") }, - { BSM_ERRNO_EAGAIN, EAGAIN, ES("Resource temporarily unavailable") }, - { BSM_ERRNO_ENOMEM, ENOMEM, ES("Cannot allocate memory") }, - { BSM_ERRNO_EACCES, EACCES, ES("Permission denied") }, - { BSM_ERRNO_EFAULT, EFAULT, ES("Bad address") }, - { BSM_ERRNO_ENOTBLK, ENOTBLK, ES("Block device required") }, - { BSM_ERRNO_EBUSY, EBUSY, ES("Device busy") }, - { BSM_ERRNO_EEXIST, EEXIST, ES("File exists") }, - { BSM_ERRNO_EXDEV, EXDEV, ES("Cross-device link") }, - { BSM_ERRNO_ENODEV, ENODEV, ES("Operation not supported by device") }, - { BSM_ERRNO_ENOTDIR, ENOTDIR, ES("Not a directory") }, - { BSM_ERRNO_EISDIR, EISDIR, ES("Is a directory") }, - { BSM_ERRNO_EINVAL, EINVAL, ES("Invalid argument") }, - { BSM_ERRNO_ENFILE, ENFILE, ES("Too many open files in system") }, - { BSM_ERRNO_EMFILE, EMFILE, ES("Too many open files") }, - { BSM_ERRNO_ENOTTY, ENOTTY, ES("Inappropriate ioctl for device") }, - { BSM_ERRNO_ETXTBSY, ETXTBSY, ES("Text file busy") }, - { BSM_ERRNO_EFBIG, EFBIG, ES("File too large") }, - { BSM_ERRNO_ENOSPC, ENOSPC, ES("No space left on device") }, - { BSM_ERRNO_ESPIPE, ESPIPE, ES("Illegal seek") }, - { BSM_ERRNO_EROFS, EROFS, ES("Read-only file system") }, - { BSM_ERRNO_EMLINK, EMLINK, ES("Too many links") }, - { BSM_ERRNO_EPIPE, EPIPE, ES("Broken pipe") }, - { BSM_ERRNO_EDOM, EDOM, ES("Numerical argument out of domain") }, - { BSM_ERRNO_ERANGE, ERANGE, ES("Result too large") }, - { BSM_ERRNO_ENOMSG, ENOMSG, ES("No message of desired type") }, - { BSM_ERRNO_EIDRM, EIDRM, ES("Identifier removed") }, + { BSM_ERRNO_ESUCCESS, 0, 1, ES("Success") }, + { BSM_ERRNO_EPERM, EPERM, 1, ES("Operation not permitted") }, + { BSM_ERRNO_ENOENT, ENOENT, 1, ES("No such file or directory") }, + { BSM_ERRNO_ESRCH, ESRCH, 1, ES("No such process") }, + { BSM_ERRNO_EINTR, EINTR, 1, ES("Interrupted system call") }, + { BSM_ERRNO_EIO, EIO, 1, ES("Input/output error") }, + { BSM_ERRNO_ENXIO, ENXIO, 1, ES("Device not configured") }, + { BSM_ERRNO_E2BIG, E2BIG, 1, ES("Argument list too long") }, + { BSM_ERRNO_ENOEXEC, ENOEXEC, 1, ES("Exec format error") }, + { BSM_ERRNO_EBADF, EBADF, 1, ES("Bad file descriptor") }, + { BSM_ERRNO_ECHILD, ECHILD, 1, ES("No child processes") }, + { BSM_ERRNO_EAGAIN, EAGAIN, 1, ES("Resource temporarily unavailable") }, + { BSM_ERRNO_ENOMEM, ENOMEM, 1, ES("Cannot allocate memory") }, + { BSM_ERRNO_EACCES, EACCES, 1, ES("Permission denied") }, + { BSM_ERRNO_EFAULT, EFAULT, 1, ES("Bad address") }, + { BSM_ERRNO_ENOTBLK, ENOTBLK, 1, ES("Block device required") }, + { BSM_ERRNO_EBUSY, EBUSY, 1, ES("Device busy") }, + { BSM_ERRNO_EEXIST, EEXIST, 1, ES("File exists") }, + { BSM_ERRNO_EXDEV, EXDEV, 1, ES("Cross-device link") }, + { BSM_ERRNO_ENODEV, ENODEV, 1, ES("Operation not supported by device") }, + { BSM_ERRNO_ENOTDIR, ENOTDIR, 1, ES("Not a directory") }, + { BSM_ERRNO_EISDIR, EISDIR, 1, ES("Is a directory") }, + { BSM_ERRNO_EINVAL, EINVAL, 1, ES("Invalid argument") }, + { BSM_ERRNO_ENFILE, ENFILE, 1, ES("Too many open files in system") }, + { BSM_ERRNO_EMFILE, EMFILE, 1, ES("Too many open files") }, + { BSM_ERRNO_ENOTTY, ENOTTY, 1, ES("Inappropriate ioctl for device") }, + { BSM_ERRNO_ETXTBSY, ETXTBSY, 1, ES("Text file busy") }, + { BSM_ERRNO_EFBIG, EFBIG, 1, ES("File too large") }, + { BSM_ERRNO_ENOSPC, ENOSPC, 1, ES("No space left on device") }, + { BSM_ERRNO_ESPIPE, ESPIPE, 1, ES("Illegal seek") }, + { BSM_ERRNO_EROFS, EROFS, 1, ES("Read-only file system") }, + { BSM_ERRNO_EMLINK, EMLINK, 1, ES("Too many links") }, + { BSM_ERRNO_EPIPE, EPIPE, 1, ES("Broken pipe") }, + { BSM_ERRNO_EDOM, EDOM, 1, ES("Numerical argument out of domain") }, + { BSM_ERRNO_ERANGE, ERANGE, 1, ES("Result too large") }, + { BSM_ERRNO_ENOMSG, ENOMSG, 1, ES("No message of desired type") }, + { BSM_ERRNO_EIDRM, EIDRM, 1, ES("Identifier removed") }, { BSM_ERRNO_ECHRNG, #ifdef ECHRNG ECHRNG, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Channel number out of range") }, + 1, ES("Channel number out of range") }, { BSM_ERRNO_EL2NSYNC, #ifdef EL2NSYNC EL2NSYNC, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Level 2 not synchronized") }, + 1, ES("Level 2 not synchronized") }, { BSM_ERRNO_EL3HLT, #ifdef EL3HLT EL3HLT, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Level 3 halted") }, + 1, ES("Level 3 halted") }, { BSM_ERRNO_EL3RST, #ifdef EL3RST EL3RST, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Level 3 reset") }, + 1, ES("Level 3 reset") }, { BSM_ERRNO_ELNRNG, #ifdef ELNRNG ELNRNG, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Link number out of range") }, + 1, ES("Link number out of range") }, { BSM_ERRNO_EUNATCH, #ifdef EUNATCH EUNATCH, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Protocol driver not attached") }, + 1, ES("Protocol driver not attached") }, { BSM_ERRNO_ENOCSI, #ifdef ENOCSI ENOCSI, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("No CSI structure available") }, + 1, ES("No CSI structure available") }, { BSM_ERRNO_EL2HLT, #ifdef EL2HLT EL2HLT, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Level 2 halted") }, - { BSM_ERRNO_EDEADLK, EDEADLK, ES("Resource deadlock avoided") }, - { BSM_ERRNO_ENOLCK, ENOLCK, ES("No locks available") }, - { BSM_ERRNO_ECANCELED, ECANCELED, ES("Operation canceled") }, - { BSM_ERRNO_ENOTSUP, ENOTSUP, ES("Operation not supported") }, - { BSM_ERRNO_EDQUOT, EDQUOT, ES("Disc quota exceeded") }, + 1, ES("Level 2 halted") }, + { BSM_ERRNO_EDEADLK, EDEADLK, 1, ES("Resource deadlock avoided") }, + { BSM_ERRNO_ENOLCK, ENOLCK, 1, ES("No locks available") }, + { BSM_ERRNO_ECANCELED, ECANCELED, 1, ES("Operation canceled") }, + { BSM_ERRNO_ENOTSUP, ENOTSUP, 1, ES("Operation not supported") }, + { BSM_ERRNO_EDQUOT, EDQUOT, 1, ES("Disc quota exceeded") }, { BSM_ERRNO_EBADE, #ifdef EBADE EBADE, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Invalid exchange") }, + 1, ES("Invalid exchange") }, { BSM_ERRNO_EBADR, #ifdef EBADR EBADR, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Invalid request descriptor") }, + 1, ES("Invalid request descriptor") }, { BSM_ERRNO_EXFULL, #ifdef EXFULL EXFULL, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Exchange full") }, + 1, ES("Exchange full") }, { BSM_ERRNO_ENOANO, #ifdef ENOANO ENOANO, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("No anode") }, + 1, ES("No anode") }, { BSM_ERRNO_EBADRQC, #ifdef EBADRQC EBADRQC, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Invalid request descriptor") }, + 1, ES("Invalid request descriptor") }, { BSM_ERRNO_EBADSLT, #ifdef EBADSLT EBADSLT, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Invalid slot") }, + 1, ES("Invalid slot") }, { BSM_ERRNO_EDEADLOCK, #ifdef EDEADLOCK EDEADLOCK, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Resource deadlock avoided") }, + 1, ES("Resource deadlock avoided") }, { BSM_ERRNO_EBFONT, #ifdef EBFONT EBFONT, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Bad font file format") }, + 1, ES("Bad font file format") }, { BSM_ERRNO_EOWNERDEAD, #ifdef EOWNERDEAD EOWNERDEAD, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Process died with the lock") }, + 1, ES("Process died with the lock") }, { BSM_ERRNO_ENOTRECOVERABLE, #ifdef ENOTRECOVERABLE ENOTRECOVERABLE, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Lock is not recoverable") }, + 1, ES("Lock is not recoverable") }, { BSM_ERRNO_ENOSTR, #ifdef ENOSTR ENOSTR, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Device not a stream") }, + 1, ES("Device not a stream") }, { BSM_ERRNO_ENONET, #ifdef ENONET ENONET, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Machine is not on the network") }, + 1, ES("Machine is not on the network") }, { BSM_ERRNO_ENOPKG, #ifdef ENOPKG ENOPKG, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Package not installed") }, + 1, ES("Package not installed") }, { BSM_ERRNO_EREMOTE, EREMOTE, - ES("Too many levels of remote in path") }, + 1, ES("Too many levels of remote in path") }, { BSM_ERRNO_ENOLINK, #ifdef ENOLINK ENOLINK, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Link has been severed") }, + 1, ES("Link has been severed") }, { BSM_ERRNO_EADV, #ifdef EADV EADV, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Advertise error") }, + 1, ES("Advertise error") }, { BSM_ERRNO_ESRMNT, #ifdef ESRMNT ESRMNT, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("srmount error") }, + 1, ES("srmount error") }, { BSM_ERRNO_ECOMM, #ifdef ECOMM ECOMM, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Communication error on send") }, + 1, ES("Communication error on send") }, { BSM_ERRNO_EPROTO, #ifdef EPROTO EPROTO, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Protocol error") }, + 1, ES("Protocol error") }, { BSM_ERRNO_ELOCKUNMAPPED, #ifdef ELOCKUNMAPPED ELOCKUNMAPPED, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Locked lock was unmapped") }, + 1, ES("Locked lock was unmapped") }, { BSM_ERRNO_ENOTACTIVE, #ifdef ENOTACTIVE ENOTACTIVE, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Facility is not active") }, + 1, ES("Facility is not active") }, { BSM_ERRNO_EMULTIHOP, #ifdef EMULTIHOP EMULTIHOP, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Multihop attempted") }, + 1, ES("Multihop attempted") }, { BSM_ERRNO_EBADMSG, #ifdef EBADMSG EBADMSG, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Bad message") }, - { BSM_ERRNO_ENAMETOOLONG, ENAMETOOLONG, ES("File name too long") }, + 1, ES("Bad message") }, + { BSM_ERRNO_ENAMETOOLONG, ENAMETOOLONG, 1, ES("File name too long") }, { BSM_ERRNO_EOVERFLOW, EOVERFLOW, - ES("Value too large to be stored in data type") }, + 1, ES("Value too large to be stored in data type") }, { BSM_ERRNO_ENOTUNIQ, #ifdef ENOTUNIQ ENOTUNIQ, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Given log name not unique") }, + 1, ES("Given log name not unique") }, { BSM_ERRNO_EBADFD, #ifdef EBADFD EBADFD, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Given f.d. invalid for this operation") }, + 1, ES("Given f.d. invalid for this operation") }, { BSM_ERRNO_EREMCHG, #ifdef EREMCHG EREMCHG, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Remote address changed") }, + 1, ES("Remote address changed") }, { BSM_ERRNO_ELIBACC, #ifdef ELIBACC ELIBACC, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Can't access a needed shared lib") }, + 1, ES("Can't access a needed shared lib") }, { BSM_ERRNO_ELIBBAD, #ifdef ELIBBAD ELIBBAD, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Accessing a corrupted shared lib") }, + 1, ES("Accessing a corrupted shared lib") }, { BSM_ERRNO_ELIBSCN, #ifdef ELIBSCN ELIBSCN, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES(".lib section in a.out corrupted") }, + 1, ES(".lib section in a.out corrupted") }, { BSM_ERRNO_ELIBMAX, #ifdef ELIBMAX ELIBMAX, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Attempting to link in too many libs") }, + 1, ES("Attempting to link in too many libs") }, { BSM_ERRNO_ELIBEXEC, #ifdef ELIBEXEC ELIBEXEC, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Attempting to exec a shared library") }, - { BSM_ERRNO_EILSEQ, EILSEQ, ES("Illegal byte sequence") }, - { BSM_ERRNO_ENOSYS, ENOSYS, ES("Function not implemented") }, - { BSM_ERRNO_ELOOP, ELOOP, ES("Too many levels of symbolic links") }, + 1, ES("Attempting to exec a shared library") }, + { BSM_ERRNO_EILSEQ, EILSEQ, 1, ES("Illegal byte sequence") }, + { BSM_ERRNO_ENOSYS, ENOSYS, 1, ES("Function not implemented") }, + { BSM_ERRNO_ELOOP, ELOOP, 1, ES("Too many levels of symbolic links") }, { BSM_ERRNO_ERESTART, #ifdef ERESTART ERESTART, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Restart syscall") }, + 1, ES("Restart syscall") }, { BSM_ERRNO_ESTRPIPE, #ifdef ESTRPIPE ESTRPIPE, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("If pipe/FIFO, don't sleep in stream head") }, - { BSM_ERRNO_ENOTEMPTY, ENOTEMPTY, ES("Directory not empty") }, - { BSM_ERRNO_EUSERS, EUSERS, ES("Too many users") }, + 1, ES("If pipe/FIFO, don't sleep in stream head") }, + { BSM_ERRNO_ENOTEMPTY, ENOTEMPTY, 1, ES("Directory not empty") }, + { BSM_ERRNO_EUSERS, EUSERS, 1, ES("Too many users") }, { BSM_ERRNO_ENOTSOCK, ENOTSOCK, - ES("Socket operation on non-socket") }, + 1, ES("Socket operation on non-socket") }, { BSM_ERRNO_EDESTADDRREQ, EDESTADDRREQ, - ES("Destination address required") }, - { BSM_ERRNO_EMSGSIZE, EMSGSIZE, ES("Message too long") }, + 1, ES("Destination address required") }, + { BSM_ERRNO_EMSGSIZE, EMSGSIZE, 1, ES("Message too long") }, { BSM_ERRNO_EPROTOTYPE, EPROTOTYPE, - ES("Protocol wrong type for socket") }, - { BSM_ERRNO_ENOPROTOOPT, ENOPROTOOPT, ES("Protocol not available") }, + 1, ES("Protocol wrong type for socket") }, + { BSM_ERRNO_ENOPROTOOPT, ENOPROTOOPT, 1, ES("Protocol not available") }, { BSM_ERRNO_EPROTONOSUPPORT, EPROTONOSUPPORT, - ES("Protocol not supported") }, + 1, ES("Protocol not supported") }, { BSM_ERRNO_ESOCKTNOSUPPORT, ESOCKTNOSUPPORT, - ES("Socket type not supported") }, - { BSM_ERRNO_EOPNOTSUPP, EOPNOTSUPP, ES("Operation not supported") }, + 1, ES("Socket type not supported") }, + { BSM_ERRNO_EOPNOTSUPP, EOPNOTSUPP, 1, ES("Operation not supported") }, { BSM_ERRNO_EPFNOSUPPORT, EPFNOSUPPORT, - ES("Protocol family not supported") }, + 1, ES("Protocol family not supported") }, { BSM_ERRNO_EAFNOSUPPORT, EAFNOSUPPORT, - ES("Address family not supported by protocol family") }, - { BSM_ERRNO_EADDRINUSE, EADDRINUSE, ES("Address already in use") }, + 1, ES("Address family not supported by protocol family") }, + { BSM_ERRNO_EADDRINUSE, EADDRINUSE, 1, ES("Address already in use") }, { BSM_ERRNO_EADDRNOTAVAIL, EADDRNOTAVAIL, - ES("Can't assign requested address") }, - { BSM_ERRNO_ENETDOWN, ENETDOWN, ES("Network is down") }, + 1, ES("Can't assign requested address") }, + { BSM_ERRNO_ENETDOWN, ENETDOWN, 1, ES("Network is down") }, { BSM_ERRNO_ENETRESET, ENETRESET, - ES("Network dropped connection on reset") }, + 1, ES("Network dropped connection on reset") }, { BSM_ERRNO_ECONNABORTED, ECONNABORTED, - ES("Software caused connection abort") }, - { BSM_ERRNO_ECONNRESET, ECONNRESET, ES("Connection reset by peer") }, - { BSM_ERRNO_ENOBUFS, ENOBUFS, ES("No buffer space available") }, - { BSM_ERRNO_EISCONN, EISCONN, ES("Socket is already connected") }, - { BSM_ERRNO_ENOTCONN, ENOTCONN, ES("Socket is not connected") }, + 1, ES("Software caused connection abort") }, + { BSM_ERRNO_ECONNRESET, ECONNRESET, 1, ES("Connection reset by peer") }, + { BSM_ERRNO_ENOBUFS, ENOBUFS, 1, ES("No buffer space available") }, + { BSM_ERRNO_EISCONN, EISCONN, 1, ES("Socket is already connected") }, + { BSM_ERRNO_ENOTCONN, ENOTCONN, 1, ES("Socket is not connected") }, { BSM_ERRNO_ESHUTDOWN, ESHUTDOWN, - ES("Can't send after socket shutdown") }, + 1, ES("Can't send after socket shutdown") }, { BSM_ERRNO_ETOOMANYREFS, ETOOMANYREFS, - ES("Too many references: can't splice") }, - { BSM_ERRNO_ETIMEDOUT, ETIMEDOUT, ES("Operation timed out") }, - { BSM_ERRNO_ECONNREFUSED, ECONNREFUSED, ES("Connection refused") }, - { BSM_ERRNO_EHOSTDOWN, EHOSTDOWN, ES("Host is down") }, - { BSM_ERRNO_EHOSTUNREACH, EHOSTUNREACH, ES("No route to host") }, - { BSM_ERRNO_EALREADY, EALREADY, ES("Operation already in progress") }, + 1, ES("Too many references: can't splice") }, + { BSM_ERRNO_ETIMEDOUT, ETIMEDOUT, 1, ES("Operation timed out") }, + { BSM_ERRNO_ECONNREFUSED, ECONNREFUSED, 1, ES("Connection refused") }, + { BSM_ERRNO_EHOSTDOWN, EHOSTDOWN, 1, ES("Host is down") }, + { BSM_ERRNO_EHOSTUNREACH, EHOSTUNREACH, 1, ES("No route to host") }, + { BSM_ERRNO_EALREADY, EALREADY, 1, ES("Operation already in progress") }, { BSM_ERRNO_EINPROGRESS, EINPROGRESS, - ES("Operation now in progress") }, - { BSM_ERRNO_ESTALE, ESTALE, ES("Stale NFS file handle") }, + 1, ES("Operation now in progress") }, + { BSM_ERRNO_ESTALE, ESTALE, 1, ES("Stale NFS file handle") }, { BSM_ERRNO_EPROCLIM, #ifdef EPROCLIM EPROCLIM, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Too many processes") }, + 1, ES("Too many processes") }, { BSM_ERRNO_EBADRPC, #ifdef EBADRPC EBADRPC, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("RPC struct is bad") }, + 1, ES("RPC struct is bad") }, { BSM_ERRNO_ERPCMISMATCH, #ifdef ERPCMISMATCH ERPCMISMATCH, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("RPC version wrong") }, + 1, ES("RPC version wrong") }, { BSM_ERRNO_EPROGUNAVAIL, #ifdef EPROGUNAVAIL EPROGUNAVAIL, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("RPC prog. not avail") }, + 1, ES("RPC prog. not avail") }, { BSM_ERRNO_EPROGMISMATCH, #ifdef EPROGMISMATCH EPROGMISMATCH, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("RPC version wrong") }, + 1, ES("RPC version wrong") }, { BSM_ERRNO_EPROCUNAVAIL, #ifdef EPROCUNAVAIL EPROCUNAVAIL, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Bad procedure for program") }, + 1, ES("Bad procedure for program") }, { BSM_ERRNO_EFTYPE, #ifdef EFTYPE EFTYPE, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Inappropriate file type or format") }, + 1, ES("Inappropriate file type or format") }, { BSM_ERRNO_EAUTH, #ifdef EAUTH EAUTH, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Authenticateion error") }, + 1, ES("Authenticateion error") }, { BSM_ERRNO_ENEEDAUTH, #ifdef ENEEDAUTH ENEEDAUTH, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Need authenticator") }, + 1, ES("Need authenticator") }, { BSM_ERRNO_ENOATTR, #ifdef ENOATTR ENOATTR, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Attribute not found") }, + 1, ES("Attribute not found") }, { BSM_ERRNO_EDOOFUS, #ifdef EDOOFUS EDOOFUS, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Programming error") }, + 1, ES("Programming error") }, { BSM_ERRNO_EJUSTRETURN, #ifdef EJUSTRETURN EJUSTRETURN, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Just return") }, + 1, ES("Just return") }, { BSM_ERRNO_ENOIOCTL, #ifdef ENOIOCTL ENOIOCTL, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("ioctl not handled by this layer") }, + 1, ES("ioctl not handled by this layer") }, { BSM_ERRNO_EDIRIOCTL, #ifdef EDIRIOCTL EDIRIOCTL, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("do direct ioctl in GEOM") }, + 1, ES("do direct ioctl in GEOM") }, { BSM_ERRNO_EPWROFF, #ifdef EPWROFF EPWROFF, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Device power is off") }, + 1, ES("Device power is off") }, { BSM_ERRNO_EDEVERR, #ifdef EDEVERR EDEVERR, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Device error") }, + 1, ES("Device error") }, { BSM_ERRNO_EBADEXEC, #ifdef EBADEXEC EBADEXEC, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Bad executable") }, + 1, ES("Bad executable") }, { BSM_ERRNO_EBADARCH, #ifdef EBADARCH EBADARCH, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Bad CPU type in executable") }, + 1, ES("Bad CPU type in executable") }, { BSM_ERRNO_ESHLIBVERS, #ifdef ESHLIBVERS ESHLIBVERS, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Shared library version mismatch") }, + 1, ES("Shared library version mismatch") }, { BSM_ERRNO_EBADMACHO, #ifdef EBADMACHO EBADMACHO, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Malformed Macho file") }, + 1, ES("Malformed Macho file") }, { BSM_ERRNO_EPOLICY, #ifdef EPOLICY EPOLICY, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Operation failed by policy") }, + 1, ES("Operation failed by policy") }, { BSM_ERRNO_EDOTDOT, #ifdef EDOTDOT EDOTDOT, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("RFS specific error") }, + 1, ES("RFS specific error") }, { BSM_ERRNO_EUCLEAN, #ifdef EUCLEAN EUCLEAN, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Structure needs cleaning") }, + 1, ES("Structure needs cleaning") }, { BSM_ERRNO_ENOTNAM, #ifdef ENOTNAM ENOTNAM, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Not a XENIX named type file") }, + 1, ES("Not a XENIX named type file") }, { BSM_ERRNO_ENAVAIL, #ifdef ENAVAIL ENAVAIL, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("No XENIX semaphores available") }, + 1, ES("No XENIX semaphores available") }, { BSM_ERRNO_EISNAM, #ifdef EISNAM EISNAM, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Is a named type file") }, + 1, ES("Is a named type file") }, { BSM_ERRNO_EREMOTEIO, #ifdef EREMOTEIO EREMOTEIO, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Remote I/O error") }, + 1, ES("Remote I/O error") }, { BSM_ERRNO_ENOMEDIUM, #ifdef ENOMEDIUM ENOMEDIUM, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("No medium found") }, + 1, ES("No medium found") }, { BSM_ERRNO_EMEDIUMTYPE, #ifdef EMEDIUMTYPE EMEDIUMTYPE, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Wrong medium type") }, + 1, ES("Wrong medium type") }, { BSM_ERRNO_ENOKEY, #ifdef ENOKEY ENOKEY, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Required key not available") }, + 1, ES("Required key not available") }, { BSM_ERRNO_EKEYEXPIRED, #ifdef EKEEXPIRED EKEYEXPIRED, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Key has expired") }, + 1, ES("Key has expired") }, { BSM_ERRNO_EKEYREVOKED, #ifdef EKEYREVOKED EKEYREVOKED, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Key has been revoked") }, + 1, ES("Key has been revoked") }, { BSM_ERRNO_EKEYREJECTED, #ifdef EKEREJECTED EKEYREJECTED, #else ERRNO_NO_LOCAL_MAPPING, #endif - ES("Key was rejected by service") }, + 1, ES("Key was rejected by service") }, + { BSM_NFS_ERRNO_WFLUSH, +#ifdef NFSERR_WFLUSH + NFSERR_WFLUSH, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + 0, ES("The server's write cache used in the WRITECACHE call got flushed to disk") }, + { BSM_NFS_ERRNO_BADHANDLE, +#ifdef NFSERR_BADHANDLE + NFSERR_BADHANDLE, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + 0, ES("Illegal NFS filehandle") }, + { BSM_NFS_ERRNO_NOT_SYNC, +#ifdef NFSERR_NOT_SYNC + NFSERR_NOT_SYNC, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + 0, ES("Update synchronization mismatch detected during a SETATTR operation") }, + { BSM_NFS_ERRNO_BAD_COOKIE, +#ifdef NFSERR_BAD_COOKIE + NFSERR_BAD_COOKIE, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + 0, ES("READDIR cookie is stale") }, + { BSM_NFS_ERRNO_NOTSUPP, +#ifdef NFSERR_NOTSUPP + NFSERR_NOTSUPP, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + 0, ES("Operation is not supported") }, + { BSM_NFS_ERRNO_TOOSMALL, +#ifdef NFSERR_TOOSMALL + NFSERR_TOOSMALL, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + 0, ES("Response to READDIR request exceeds the already set size limit") }, + { BSM_NFS_ERRNO_SERVERFAULT, +#ifdef NFSERR_SERVERFAULT + NFSERR_SERVERFAULT, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + 0, ES("Server side error that does not map to a protocol error value") }, + { BSM_NFS_ERRNO_BADTYPE, +#ifdef NFSERR_BADTYPE + NFSERR_BADTYPE, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + 0, ES("Server does not support creation of this type of object") }, + { BSM_NFS_ERRNO_DELAY, +#ifdef NFSERR_DELAY + NFSERR_DELAY, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + 0, ES("Operation was not completed in a timely fashion") }, + { BSM_NFS_ERRNO_SAME, +#ifdef NFSERR_SAME + NFSERR_SAME, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + 0, ES("The attributes compared were the same as in client's request") }, + { BSM_NFS_ERRNO_DENIED, +#ifdef NFSERR_DENIED + NFSERR_DENIED, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + 0, ES("An attempt to lock a file was denied") }, + { BSM_NFS_ERRNO_EXPIRED, +#ifdef NFSERR_EXPIRED + NFSERR_EXPIRED, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + 0, ES("Expired lease for the current operation") }, + { BSM_NFS_ERRNO_LOCKED, +#ifdef NFSERR_LOCKED + NFSERR_LOCKED, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + 0, ES("READ or WRITE operation attempted on a locked file") }, + { BSM_NFS_ERRNO_GRACE, +#ifdef NFSERR_GRACE + NFSERR_GRACE, +#else >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Aug 6 19:03:37 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E94021065672; Fri, 6 Aug 2010 19:03:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 951EF106564A for ; Fri, 6 Aug 2010 19:03:36 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 79AA48FC13 for ; Fri, 6 Aug 2010 19:03:36 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o76J3aPY037556 for ; Fri, 6 Aug 2010 19:03:36 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o76J3apV037554 for perforce@freebsd.org; Fri, 6 Aug 2010 19:03:36 GMT (envelope-from jhb@freebsd.org) Date: Fri, 6 Aug 2010 19:03:36 GMT Message-Id: <201008061903.o76J3apV037554@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181972 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2010 19:03:37 -0000 http://p4web.freebsd.org/@@181972?ac=10 Change 181972 by jhb@jhb_jhbbsd on 2010/08/06 19:02:57 IFC @181971 Affected files ... .. //depot/projects/smpng/share/man/man9/BUS_NEW_PASS.9#2 integrate .. //depot/projects/smpng/share/man/man9/Makefile#16 integrate .. //depot/projects/smpng/share/man/man9/ieee80211_vap.9#3 integrate .. //depot/projects/smpng/share/man/man9/rman.9#2 integrate .. //depot/projects/smpng/sys/amd64/acpica/acpi_wakeup.c#14 integrate .. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#66 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#92 integrate .. //depot/projects/smpng/sys/amd64/include/smp.h#25 integrate .. //depot/projects/smpng/sys/compat/x86bios/x86bios.c#7 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_pci.c#39 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC#122 integrate .. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#127 integrate .. //depot/projects/smpng/sys/i386/include/smp.h#33 integrate .. //depot/projects/smpng/sys/i386/xen/mp_machdep.c#17 integrate .. //depot/projects/smpng/sys/ia64/ia64/mp_machdep.c#50 integrate .. //depot/projects/smpng/sys/ia64/include/smp.h#13 integrate .. //depot/projects/smpng/sys/kern/sched_4bsd.c#96 integrate .. //depot/projects/smpng/sys/kern/sched_ule.c#105 integrate .. //depot/projects/smpng/sys/kern/subr_smp.c#62 integrate .. //depot/projects/smpng/sys/mips/include/smp.h#9 integrate .. //depot/projects/smpng/sys/mips/mips/mp_machdep.c#12 integrate .. //depot/projects/smpng/sys/powerpc/include/smp.h#10 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/mp_machdep.c#20 integrate .. //depot/projects/smpng/sys/sparc64/include/smp.h#27 integrate .. //depot/projects/smpng/sys/sun4v/include/smp.h#10 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/mp_machdep.c#12 integrate Differences ... ==== //depot/projects/smpng/share/man/man9/BUS_NEW_PASS.9#2 (text+ko) ==== @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/BUS_NEW_PASS.9,v 1.1 2009/06/09 14:26:23 jhb Exp $ +.\" $FreeBSD: src/share/man/man9/BUS_NEW_PASS.9,v 1.2 2010/08/06 14:33:42 joel Exp $ .\" .Dd June 8, 2009 .Dt BUS_NEW_PASS 9 @@ -45,7 +45,7 @@ level has been changed. This method is responsible for invoking .Xr BUS_NEW_PASS 9 -on child bus devices to propogate the rescan to child devices. +on child bus devices to propagate the rescan to child devices. It is also responsible for reprobing any unattached child devices and allowing drivers for the current pass to identify new children. A default implementation is provided by ==== //depot/projects/smpng/share/man/man9/Makefile#16 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man9/Makefile,v 1.369 2010/07/05 16:23:55 jh Exp $ +# $FreeBSD: src/share/man/man9/Makefile,v 1.370 2010/08/06 16:50:48 stefanf Exp $ MAN= accept_filter.9 \ accf_data.9 \ @@ -769,8 +769,13 @@ lock.9 lockstatus.9 MLINKS+=LOCK_PROFILING.9 MUTEX_PROFILING.9 MLINKS+=make_dev.9 destroy_dev.9 \ + make_dev.9 destroy_dev_drain.9 \ + make_dev.9 destroy_dev_sched.9 \ + make_dev.9 destroy_dev_sched_cb.9 \ make_dev.9 dev_depends.9 \ - make_dev.9 make_dev_alias.9 + make_dev.9 make_dev_alias.9 \ + make_dev.9 make_dev_cred.9 \ + make_dev.9 make_dev_credf.9 MLINKS+=malloc.9 free.9 \ malloc.9 MALLOC_DECLARE.9 \ malloc.9 MALLOC_DEFINE.9 \ ==== //depot/projects/smpng/share/man/man9/ieee80211_vap.9#3 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/ieee80211_vap.9,v 1.2 2009/09/18 00:33:47 brueffer Exp $ +.\" $FreeBSD: src/share/man/man9/ieee80211_vap.9,v 1.3 2010/08/06 14:33:42 joel Exp $ .\" .Dd August 4, 2009 .Dt IEEE8021_VAP 9 @@ -117,7 +117,7 @@ from user applications. The driver can then reclaim resources held by the vap and re-enable device operation. -The exact procedure for quiesceing a device is unspecified but typically +The exact procedure for quiescing a device is unspecified but typically it involves blocking interrupts and stopping transmit and receive processing. .Sh MULTI-VAP OPERATION ==== //depot/projects/smpng/share/man/man9/rman.9#2 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/rman.9,v 1.9 2007/04/29 19:46:33 jmg Exp $ +.\" $FreeBSD: src/share/man/man9/rman.9,v 1.10 2010/08/06 14:33:42 joel Exp $ .\" .Dd April 29, 2007 .Dt RMAN 9 @@ -157,10 +157,10 @@ It also initializes any mutexes associated with the structure. If .Fn rman_init -fails to initalize the mutex, it will return +fails to initialize the mutex, it will return .Er ENOMEM ; otherwise it will return 0 and .Fa rm -will be initalized. +will be initialized. .Pp The .Fn rman_fini ==== //depot/projects/smpng/sys/amd64/acpica/acpi_wakeup.c#14 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.33 2010/08/02 17:35:00 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.35 2010/08/06 17:21:32 jkim Exp $"); #include #include @@ -71,7 +71,7 @@ static struct pcb **susppcbs; #endif -int acpi_restorecpu(struct pcb *, vm_offset_t); +int acpi_restorecpu(vm_offset_t, struct pcb *); static void *acpi_alloc_wakeup_handler(void); static void acpi_stop_beep(void *); @@ -176,7 +176,6 @@ acpi_wakeup_cpus(struct acpi_softc *sc, cpumask_t wakeup_cpus) { uint32_t mpbioswarmvec; - cpumask_t map; int cpu; u_char mpbiosreason; @@ -193,8 +192,7 @@ /* Wake up each AP. */ for (cpu = 1; cpu < mp_ncpus; cpu++) { - map = 1ul << cpu; - if ((wakeup_cpus & map) != map) + if ((wakeup_cpus & (1 << cpu)) == 0) continue; if (acpi_wakeup_ap(sc, cpu) == 0) { /* restore the warmstart vector */ ==== //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#66 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.321 2010/08/02 17:35:00 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.322 2010/08/06 15:36:59 jhb Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" ==== //depot/projects/smpng/sys/amd64/conf/GENERIC#92 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.546 2010/07/28 15:36:12 mdf Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.547 2010/08/06 18:46:27 bschmidt Exp $ cpu HAMMER ident GENERIC @@ -62,7 +62,7 @@ options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) options AUDIT # Security event auditing options MAC # TrustedBSD MAC Framework -options FLOWTABLE # per-cpu routing cache +options FLOWTABLE # per-cpu routing cache #options KDTRACE_FRAME # Ensure frames are compiled in #options KDTRACE_HOOKS # Kernel DTrace hooks options INCLUDE_CONFIG_FILE # Include this file in kernel ==== //depot/projects/smpng/sys/amd64/include/smp.h#25 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/amd64/include/smp.h,v 1.98 2010/06/17 11:54:49 mav Exp $ + * $FreeBSD: src/sys/amd64/include/smp.h,v 1.99 2010/08/06 15:36:59 jhb Exp $ * */ ==== //depot/projects/smpng/sys/compat/x86bios/x86bios.c#7 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/x86bios/x86bios.c,v 1.22 2010/08/06 15:04:01 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/x86bios/x86bios.c,v 1.23 2010/08/06 15:24:37 jkim Exp $"); #include "opt_x86bios.h" @@ -120,9 +120,9 @@ if (addr != 0) { *offset = vtophys(addr); mtx_lock(&x86bios_lock); - for (i = 0; i < howmany(size, PAGE_SIZE); i++) + for (i = 0; i < atop(round_page(size)); i++) vm86_addpage(&x86bios_vmc, atop(*offset) + i, - addr + i * PAGE_SIZE); + addr + ptoa(i)); mtx_unlock(&x86bios_lock); } @@ -147,7 +147,7 @@ return; } if (last == x86bios_vmc.npages - 1) { - x86bios_vmc.npages -= howmany(size, PAGE_SIZE); + x86bios_vmc.npages -= atop(round_page(size)); for (i = x86bios_vmc.npages - 1; i >= 0 && x86bios_vmc.pmap[i].kva == 0; i--) x86bios_vmc.npages--; ==== //depot/projects/smpng/sys/dev/mpt/mpt_pci.c#39 (text+ko) ==== @@ -99,7 +99,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.58 2010/07/12 23:01:21 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.59 2010/08/06 17:27:00 mjacob Exp $"); #include #include @@ -194,8 +194,6 @@ #endif -#define MPT_IO_BAR 0 -#define MPT_MEM_BAR 1 static int mpt_pci_probe(device_t); static int mpt_pci_attach(device_t); @@ -420,6 +418,7 @@ struct mpt_softc *mpt; int iqd; uint32_t data, cmd; + int mpt_io_bar, mpt_mem_bar; /* Allocate the softc structure */ mpt = (struct mpt_softc*)device_get_softc(dev); @@ -505,11 +504,25 @@ } /* + * Figure out which are the I/O and MEM Bars + */ + data = pci_read_config(dev, PCIR_BAR(0), 4); + if (PCI_BAR_IO(data)) { + /* BAR0 is IO, BAR1 is memory */ + mpt_io_bar = 0; + mpt_mem_bar = 1; + } else { + /* BAR0 is memory, BAR1 is IO */ + mpt_mem_bar = 0; + mpt_io_bar = 1; + } + + /* * Set up register access. PIO mode is required for * certain reset operations (but must be disabled for * some cards otherwise). */ - mpt->pci_pio_rid = PCIR_BAR(MPT_IO_BAR); + mpt->pci_pio_rid = PCIR_BAR(mpt_io_bar); mpt->pci_pio_reg = bus_alloc_resource(dev, SYS_RES_IOPORT, &mpt->pci_pio_rid, 0, ~0, 0, RF_ACTIVE); if (mpt->pci_pio_reg == NULL) { @@ -520,7 +533,7 @@ mpt->pci_pio_sh = rman_get_bushandle(mpt->pci_pio_reg); /* Allocate kernel virtual memory for the 9x9's Mem0 region */ - mpt->pci_mem_rid = PCIR_BAR(MPT_MEM_BAR); + mpt->pci_mem_rid = PCIR_BAR(mpt_mem_bar); mpt->pci_reg = bus_alloc_resource(dev, SYS_RES_MEMORY, &mpt->pci_mem_rid, 0, ~0, 0, RF_ACTIVE); if (mpt->pci_reg == NULL) { ==== //depot/projects/smpng/sys/i386/conf/GENERIC#122 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.533 2010/07/28 15:36:12 mdf Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.534 2010/08/06 18:46:27 bschmidt Exp $ cpu I486_CPU cpu I586_CPU @@ -63,7 +63,7 @@ options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) options AUDIT # Security event auditing options MAC # TrustedBSD MAC Framework -options FLOWTABLE # per-cpu routing cache +options FLOWTABLE # per-cpu routing cache #options KDTRACE_HOOKS # Kernel DTrace hooks options INCLUDE_CONFIG_FILE # Include this file in kernel ==== //depot/projects/smpng/sys/i386/i386/mp_machdep.c#127 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.309 2010/06/22 16:20:10 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.310 2010/08/06 15:36:59 jhb Exp $"); #include "opt_apic.h" #include "opt_cpu.h" ==== //depot/projects/smpng/sys/i386/include/smp.h#33 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/i386/include/smp.h,v 1.100 2009/08/13 17:09:45 attilio Exp $ + * $FreeBSD: src/sys/i386/include/smp.h,v 1.101 2010/08/06 15:36:59 jhb Exp $ * */ ==== //depot/projects/smpng/sys/i386/xen/mp_machdep.c#17 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/xen/mp_machdep.c,v 1.25 2010/03/10 19:50:52 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/xen/mp_machdep.c,v 1.26 2010/08/06 15:36:59 jhb Exp $"); #include "opt_apic.h" #include "opt_cpu.h" ==== //depot/projects/smpng/sys/ia64/ia64/mp_machdep.c#50 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ia64/ia64/mp_machdep.c,v 1.86 2010/07/03 20:19:20 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/ia64/ia64/mp_machdep.c,v 1.87 2010/08/06 15:36:59 jhb Exp $"); #include "opt_kstack_pages.h" ==== //depot/projects/smpng/sys/ia64/include/smp.h#13 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/sys/ia64/include/smp.h,v 1.13 2010/03/17 00:37:15 marcel Exp $ + * $FreeBSD: src/sys/ia64/include/smp.h,v 1.14 2010/08/06 15:36:59 jhb Exp $ */ #ifndef _MACHINE_SMP_H_ #define _MACHINE_SMP_H_ ==== //depot/projects/smpng/sys/kern/sched_4bsd.c#96 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.139 2010/06/11 18:46:34 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.140 2010/08/06 15:36:59 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_sched.h" ==== //depot/projects/smpng/sys/kern/sched_ule.c#105 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.271 2010/07/15 13:46:30 ivoras Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.272 2010/08/06 15:36:59 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" ==== //depot/projects/smpng/sys/kern/subr_smp.c#62 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_smp.c,v 1.219 2010/06/11 18:46:34 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_smp.c,v 1.220 2010/08/06 15:36:59 jhb Exp $"); #include #include ==== //depot/projects/smpng/sys/mips/include/smp.h#9 (text+ko) ==== @@ -8,7 +8,7 @@ * * from: src/sys/alpha/include/smp.h,v 1.8 2005/01/05 20:05:50 imp * JNPR: smp.h,v 1.3 2006/12/02 09:53:41 katta - * $FreeBSD: src/sys/mips/include/smp.h,v 1.7 2010/07/23 07:46:55 mav Exp $ + * $FreeBSD: src/sys/mips/include/smp.h,v 1.8 2010/08/06 15:36:59 jhb Exp $ * */ ==== //depot/projects/smpng/sys/mips/mips/mp_machdep.c#12 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/mips/mips/mp_machdep.c,v 1.14 2010/07/23 07:46:55 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/mips/mips/mp_machdep.c,v 1.15 2010/08/06 15:36:59 jhb Exp $"); #include #include ==== //depot/projects/smpng/sys/powerpc/include/smp.h#10 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/powerpc/include/smp.h,v 1.8 2010/07/13 05:32:19 nwhitehorn Exp $ + * $FreeBSD: src/sys/powerpc/include/smp.h,v 1.9 2010/08/06 15:36:59 jhb Exp $ */ #ifndef _MACHINE_SMP_H_ ==== //depot/projects/smpng/sys/powerpc/powerpc/mp_machdep.c#20 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/mp_machdep.c,v 1.28 2010/07/13 05:32:19 nwhitehorn Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/mp_machdep.c,v 1.29 2010/08/06 15:36:59 jhb Exp $"); #include #include ==== //depot/projects/smpng/sys/sparc64/include/smp.h#27 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/sparc64/include/smp.h,v 1.29 2010/07/29 12:08:46 mav Exp $ + * $FreeBSD: src/sys/sparc64/include/smp.h,v 1.30 2010/08/06 15:36:59 jhb Exp $ */ #ifndef _MACHINE_SMP_H_ ==== //depot/projects/smpng/sys/sun4v/include/smp.h#10 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/sun4v/include/smp.h,v 1.8 2010/07/29 12:08:46 mav Exp $ + * $FreeBSD: src/sys/sun4v/include/smp.h,v 1.9 2010/08/06 15:36:59 jhb Exp $ */ #ifndef _MACHINE_SMP_H_ ==== //depot/projects/smpng/sys/sun4v/sun4v/mp_machdep.c#12 (text+ko) ==== @@ -55,7 +55,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/sun4v/sun4v/mp_machdep.c,v 1.13 2010/07/29 12:08:46 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/sun4v/sun4v/mp_machdep.c,v 1.14 2010/08/06 15:36:59 jhb Exp $"); #include "opt_trap_trace.h" From owner-p4-projects@FreeBSD.ORG Fri Aug 6 19:03:38 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 049811065774; Fri, 6 Aug 2010 19:03:37 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C4B01106566C for ; Fri, 6 Aug 2010 19:03:36 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 981568FC1F for ; Fri, 6 Aug 2010 19:03:36 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o76J3aNR037561 for ; Fri, 6 Aug 2010 19:03:36 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o76J3alY037559 for perforce@freebsd.org; Fri, 6 Aug 2010 19:03:36 GMT (envelope-from jhb@freebsd.org) Date: Fri, 6 Aug 2010 19:03:36 GMT Message-Id: <201008061903.o76J3alY037559@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181973 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2010 19:03:38 -0000 http://p4web.freebsd.org/@@181973?ac=10 Change 181973 by jhb@jhb_jhbbsd on 2010/08/06 19:03:25 ipi_cpu() committed. Affected files ... .. //depot/projects/smpng/sys/notes#99 edit Differences ... ==== //depot/projects/smpng/sys/notes#99 (text+ko) ==== @@ -60,7 +60,6 @@ recursion) and panic if we try to sleep with any held to provide a cheaper version of the current WITNESS check that doesn't bog the system down quite as bad. -- ipi_cpu() Active child branches: - jhb_intr - misc interrupt stuff From owner-p4-projects@FreeBSD.ORG Fri Aug 6 23:08:15 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C6DE2106566C; Fri, 6 Aug 2010 23:08:14 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8AE17106567C for ; Fri, 6 Aug 2010 23:08:14 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 76FF88FC08 for ; Fri, 6 Aug 2010 23:08:14 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o76N8Ebe071530 for ; Fri, 6 Aug 2010 23:08:14 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o76N8E87071528 for perforce@freebsd.org; Fri, 6 Aug 2010 23:08:14 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 6 Aug 2010 23:08:14 GMT Message-Id: <201008062308.o76N8E87071528@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181985 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2010 23:08:15 -0000 http://p4web.freebsd.org/@@181985?ac=10 Change 181985 by pgj@csupor on 2010/08/06 23:07:28 IFC Affected files ... .. //depot/projects/docproj_hu/doc/en_US.ISO8859-1/share/sgml/authors.ent#52 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/cups/article.sgml#7 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/linux-comparison/article.sgml#6 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/linux-users/article.sgml#14 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#60 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/config/chapter.sgml#29 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/install/chapter.sgml#13 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/linuxemu/chapter.sgml#14 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml#49 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/printing/chapter.sgml#13 integrate .. //depot/projects/docproj_hu/doc/share/images/books/handbook/install/ed0-conf.scr#2 integrate .. //depot/projects/docproj_hu/doc/share/images/books/handbook/install/ed0-conf2.scr#2 integrate .. //depot/projects/docproj_hu/doc/share/images/books/handbook/install/edit-inetd-conf.scr#2 integrate .. //depot/projects/docproj_hu/doc/share/images/books/handbook/install/ftp-anon1.scr#2 integrate .. //depot/projects/docproj_hu/doc/share/pgpkeys/ohauer.key#1 branch .. //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys-developers.sgml#45 integrate .. //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys.ent#43 integrate .. //depot/projects/docproj_hu/www/en/cgi/man.cgi#21 integrate .. //depot/projects/docproj_hu/www/en/developers.sgml#48 integrate .. //depot/projects/docproj_hu/www/en/releases/8.1R/schedule.sgml#3 integrate .. //depot/projects/docproj_hu/www/en/releng/index.sgml#42 integrate .. //depot/projects/docproj_hu/www/hu/share/sgml/news.xml#104 integrate .. //depot/projects/docproj_hu/www/share/sgml/events.xml#29 integrate .. //depot/projects/docproj_hu/www/share/sgml/news.xml#99 integrate Differences ... ==== //depot/projects/docproj_hu/doc/en_US.ISO8859-1/share/sgml/authors.ent#52 (text+ko) ==== @@ -13,7 +13,7 @@ builds for the other languages, and we will poke fun of you in public. - $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.516 2010/07/28 09:05:35 bapt Exp $ + $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.518 2010/08/03 18:06:27 ohauer Exp $ --> aaron@FreeBSD.org"> @@ -858,6 +858,8 @@ obrien@FreeBSD.org"> +ohauer@FreeBSD.org"> + okazaki@FreeBSD.org"> oleg@FreeBSD.org"> ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/cups/article.sgml#7 (text+ko) ==== @@ -7,14 +7,14 @@
A CUPS használata &os; rendszereken - $FreeBSD: doc/hu_HU.ISO8859-2/articles/cups/article.sgml,v 1.2 2008/10/30 06:34:55 pgj Exp $ + $FreeBSD: doc/hu_HU.ISO8859-2/articles/cups/article.sgml,v 1.3 2010/08/03 00:56:48 pgj Exp $ ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/linux-comparison/article.sgml#6 (text+ko) ==== @@ -28,13 +28,13 @@ ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - $FreeBSD: doc/hu_HU.ISO8859-2/articles/linux-comparison/article.sgml,v 1.6 2008/06/25 11:28:04 gabor Exp $ + $FreeBSD: doc/hu_HU.ISO8859-2/articles/linux-comparison/article.sgml,v 1.7 2010/08/03 00:56:48 pgj Exp $ --> Dru Lavigne - $FreeBSD: doc/hu_HU.ISO8859-2/articles/linux-comparison/article.sgml,v 1.6 2008/06/25 11:28:04 gabor Exp $ + $FreeBSD: doc/hu_HU.ISO8859-2/articles/linux-comparison/article.sgml,v 1.7 2010/08/03 00:56:48 pgj Exp $ &tm-attrib.freebsd; ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/linux-users/article.sgml#14 (text+ko) ==== @@ -1,9 +1,9 @@ - + A FreeBSD Dokumentációs Projekt - $FreeBSD: doc/hu_HU.ISO8859-2/articles/linux-users/article.sgml,v 1.5 2009/07/05 15:12:51 pgj Exp $ + $FreeBSD: doc/hu_HU.ISO8859-2/articles/linux-users/article.sgml,v 1.6 2010/08/03 00:56:49 pgj Exp $ &tm-attrib.freebsd; ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#60 (text+ko) ==== @@ -9,7 +9,7 @@ @@ -21,7 +21,7 @@ A &os; Dokumentációs Projekt - $FreeBSD: doc/hu_HU.ISO8859-2/books/faq/book.sgml,v 1.19 2010/07/18 15:31:48 pgj Exp $ + $FreeBSD: doc/hu_HU.ISO8859-2/books/faq/book.sgml,v 1.20 2010/08/03 00:56:49 pgj Exp $ 1995 ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/config/chapter.sgml#29 (text+ko) ==== @@ -1,13 +1,13 @@ @@ -117,7 +117,6 @@ linkend="kernelconfig">). - @@ -343,7 +342,6 @@ rendszerösszeomlást. - @@ -482,7 +480,6 @@ Az Apache késõbbi frissítései ezt az állományt nem fogják felülírni. - @@ -640,7 +637,6 @@ &man.cron.8; indításával együtt fut le, tehát megszokott esetben a rendszer indítása során. - @@ -911,7 +907,6 @@ crontab állományt, akkor erre a célra használjuk a crontab kapcsolóját. - @@ -1144,7 +1139,6 @@ meglévõkön, akkor ez a cikk (angolul) segítségünkre lehet. - @@ -1448,7 +1442,6 @@ tartalmához: W32DRIVER_load="YES" - @@ -1669,7 +1662,6 @@ oldalról és az /usr/share/examples/etc/hosts állományból tudhatunk meg. - @@ -1747,7 +1739,6 @@ /etc/hosts állományt, akkor a 192.168.1.2 helyett a gép nevét is megadhatjuk. - @@ -1855,7 +1846,6 @@ hogy ellenõrizzük a hálózati beállításainkat és olvassuk el a &man.tuning.7; man oldalt. - @@ -1954,7 +1944,6 @@ ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255" ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255" ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255" - @@ -2105,7 +2094,6 @@ szokta írni a resolv.conf tartalmát a DHCP szervertõl kapott információkkal. - @@ -2177,7 +2165,6 @@ A részletekért keressük fel a &man.hosts.5; man oldalt. - @@ -2239,7 +2226,6 @@ A &man.syslog.conf.5; man oldalának elolvasásával tudhatunk meg többet ezekrõl. - @@ -2301,7 +2287,6 @@ További információkat a &man.newsyslog.8; man oldaláról nyerhetünk. - @@ -2339,7 +2324,6 @@ # Ne engedjük a felhasználóknak, hogy lássák egy másik felhasználó # azonosítójával futó programokat. security.bsd.see_other_uids=0 - @@ -2457,7 +2441,6 @@ említett állományban. Ezután már a &man.cardbus.4; megfelelõen fog mûködni. - @@ -2513,7 +2496,6 @@ még akkor sem, ha ezzel memóriát pazarlunk el, de ezt igazából érdemes kikísérletezni. - @@ -2539,7 +2521,6 @@ mûködését, ezért ilyenkor érdemes megfontolni a kikapcsolását. - @@ -2580,7 +2561,6 @@ alrendszer kiválóan tudja önállóan állítani ezeket a paramétereit. - @@ -2624,7 +2604,6 @@ számára, hogy könnyedén ki- és be rakosgasson komplett futó programokat a memóriába. - @@ -2676,7 +2655,6 @@ A részleteket a &man.ata.4; man oldalon tudhatjuk meg. - @@ -2714,7 +2692,6 @@ nem másodpercben értelmezi ezt az értéket. - @@ -3039,7 +3016,6 @@ állományrendszeren, ahol nincs elegendõ hely az állományok kétszeri tárolására. - @@ -3202,7 +3178,6 @@ maximális számának figyelembevételével. - @@ -3231,7 +3206,6 @@ szolgálatot tesznek a Denial of Service (DoS) típusú támadásokkal szemben is. - @@ -3365,7 +3339,6 @@ nem ajánlott csökkenteni a net.inet.ip.portrange.first értékét. - @@ -3464,7 +3437,6 @@ (például 3500-ra). Ezen paraméterek megváltoztatását csak végsõ esetben ajánljuk! - @@ -3519,7 +3491,6 @@ növekedését is, ilyenkor tehát több memóriának kell használatban lennie. - @@ -3561,7 +3532,6 @@ linkend="configtuning-initial">ában a lapozóterületek elrendezésére vonatkozó javaslatokat. - @@ -3575,7 +3545,6 @@ hálózati sávszélesség és további terheket ró az NFS szerverünkre is. - @@ -3719,7 +3688,6 @@ korlátait. Az ACPI az APM közvetlen leszármazottja. - @@ -3787,7 +3755,6 @@ A &os; APM meghajtójának dokumentációját az &man.apm.4; man oldalon találjuk. - @@ -3848,7 +3815,6 @@ oldaláról érhetõek el. Ezen kívül még olvassuk el az &man.acpi.4; és &man.acpiconf.8; man oldalakat is. - @@ -4012,7 +3978,6 @@ hibák tényleges bejelentésére. Gyakran elõfordul, hogy valaki korábban már találkozott az adott problémával. - @@ -4086,7 +4051,6 @@ meghajtók a src/sys/dev/acpica könyvtárban találhatóak. - @@ -4117,7 +4081,6 @@ hint.psm.0.flags="0x3000" sort. Ha ez nem segít, akkor a fentieknek megfelelõen küldjünk be egy hibajelentést. - @@ -4187,6 +4150,49 @@ temérdek meghajtón és hardveren kell tesztelni és kell dolgozni. + Felfüggesztés és folytatás + esetén gyakori probléma, hogy sok + eszközmeghajtó nem menti el, nem + állítja vissza vagy éppen nem hozza + újra rendesen mûködésbe az adott + eszközön található firmware-t, a + regisztereket vagy memóriát. Az okok + felderítéséhez elõször + érdemes a következõket + kipróbálni: + + &prompt.root; sysctl debug.bootverbose=1 +&prompt.root; sysctl debug.acpi.suspend_bounce=1 +&prompt.root; acpiconf -s 3 + + Ezzel a módszerrel tesztelni tudjuk az összes + meghajtó felfüggesztési és + folytatási rutinjait anélkül, hogy + ténylegesen S3 állapotba + helyeznénk az eszközt. Bizonyos esetekben ezzel + könnyen elcsíphetõ a hiba + (például a firmware állapotának + elvesztése, watchdog time out, megállás + nélküli + újrapróbálkozások). A rendszer + ilyenkor nem vált S3 + állapotra, vagyis az eszköz nem kerül + energiatakarékos állapotba, és + eltérõen a valós S3 + állapottól továbbra is mûködik + még abban az esetben is, amikor a szükséges + felfüggesztési és folytatási rutinok + teljesen hiányoznak. + + Komolyabb esetben további + segédeszközökre lesz + szükségünk, vagyis soros portra és + kábelre a soros vonali nyomkövetéshez, vagy + Firewire portra és kábelre a &man.dcons.4; + használatához, valamint némi + tapasztalatra a rendszermagon belüli + hibakeresésben. + A problémát nagy mértékben segíti különválasztani, ha igyekszünk minél több meghajtót @@ -4265,7 +4271,6 @@ hardvereknél inkább a BIOS-nak akadnak gondjai az ACPI-val. - @@ -4316,7 +4321,6 @@ állományban a hint.apic.0.disabled="1" sor hozzáadásával. - @@ -4354,7 +4358,6 @@ tudjuk figyelni az ACPI alrendszer egyes részeit. Ehhez példákat az &man.acpi.4; man oldalon találunk. - @@ -4377,7 +4380,6 @@ elindul a készenléti mód aktiválásákor vagy kikapcsoláskor. - @@ -4397,7 +4399,6 @@ mindenkit, hogy legyen türelemmel és álljon készen a kiküldött javítások tesztelésére! - @@ -4459,7 +4460,6 @@ paranccsal tudjuk elvégezni: &prompt.root; iasl saját.asl - @@ -4534,7 +4534,6 @@ hw.acpi.osname="Windows 2001" sort, vagy itt egy olyan karakterláncot adunk meg, amit az ASL forrásban láttunk. - @@ -4556,7 +4555,6 @@ kényszeríthetõ az ilyen ASL források lefordítására. - @@ -4598,7 +4596,6 @@ bemásolni a /boot könyvtárba. - @@ -4689,7 +4686,6 @@ mint a loader.conf állományban található beállításokat. - @@ -4737,7 +4733,6 @@ hasznos.) - ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/install/chapter.sgml#13 (text+ko) ==== @@ -1,13 +1,13 @@ @@ -1636,7 +1636,6 @@ User Confirmation Requested Are you sure you wish to exit? The system will reboot - (be sure to remove any floppies/CDs/DVDs from the drives). [ Yes ] No @@ -1644,21 +1643,19 @@ Felhasználói megerõsítés szükséges Valóban ki akar lépni? A rendszer ezt követõen újra fog - indulni (ezért ne felejtsük el eltávolítani az összes - floppyt, CD-t és DVD-t a meghajtókból)! + indulni [ Igen ] Nem - Ha a CD-t bennhagyjuk a meghajtóban és a - &gui.yes; választ adjuk, akkor a - telepítõprogram még egyszer el fog - indulni. + Ha a &gui.yes; választ adjuk és a CD-t az + újraindításkor is a meghajtóban + hagyjuk, akkor a telepítõprogram még egyszer + el fog indulni. Ha floppyról indítottuk volna a rendszert, az újraindítás elõtt vegyük ki a boot.flp image-et tartalmazó lemezt. - @@ -2720,7 +2717,7 @@ Message Now, you need to create BSD partitions inside of the fdisk partition(s) just created. If you have a reasonable amount of disk - space (200MB or more) and don't have any special requirements, simply + space (1GMB or more) and don't have any special requirements, simply use the (A)uto command to allocate space automatically. If you have more specific needs or just don't care for the layout chosen by (A)uto, press F1 for more information on manual layout. @@ -2732,7 +2729,7 @@ Üzenet Most létre kell hoznunk az fdiskkel nemrég elkészített partíciókban a -BSD-s partíciókat. Ha van hozzá elegendõ helyünk (200 MB vagy több) és +BSD-s partíciókat. Ha van hozzá elegendõ helyünk (1G vagy több) és nincs semmilyen különleges elvárásunk, akkor egyszerûen csak osszuk fel automatikusan az (A)uto paranccsal. Amennyiben azonban ennél többre lenne szükségünk, vagy csak nincs szükségünk az (A)uto által ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/linuxemu/chapter.sgml#14 (text+ko) ==== @@ -1,7 +1,7 @@