From owner-svn-src-projects@FreeBSD.ORG Sun Dec 1 14:03:16 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C30496DB; Sun, 1 Dec 2013 14:03:16 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id AA9D2167D; Sun, 1 Dec 2013 14:03:16 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1E3GD1060061; Sun, 1 Dec 2013 14:03:16 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1E34o8059931; Sun, 1 Dec 2013 14:03:04 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201312011403.rB1E34o8059931@svn.freebsd.org> From: Gleb Smirnoff Date: Sun, 1 Dec 2013 14:03:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258795 - in projects/sendfile: . bin/sh lib lib/libc/sparc64/fpu lib/libc/sys lib/libc/xdr lib/libpjdlog release sbin share/man/man4 share/mk sys/amd64/conf sys/amd64/pci sys/amd64/vmm... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Dec 2013 14:03:16 -0000 Author: glebius Date: Sun Dec 1 14:03:03 2013 New Revision: 258795 URL: http://svnweb.freebsd.org/changeset/base/258795 Log: Merge head. Added: projects/sendfile/lib/libpjdlog/ - copied from r258794, head/lib/libpjdlog/ projects/sendfile/sys/sys/sf_sync.h - copied unchanged from r258794, head/sys/sys/sf_sync.h Modified: projects/sendfile/Makefile.inc1 projects/sendfile/bin/sh/cd.c projects/sendfile/bin/sh/exec.c projects/sendfile/bin/sh/expand.c projects/sendfile/bin/sh/memalloc.c projects/sendfile/bin/sh/mystring.c projects/sendfile/bin/sh/mystring.h projects/sendfile/bin/sh/show.c projects/sendfile/bin/sh/var.c projects/sendfile/lib/Makefile projects/sendfile/lib/libc/sparc64/fpu/fpu.c projects/sendfile/lib/libc/sparc64/fpu/fpu_sqrt.c projects/sendfile/lib/libc/sys/chmod.2 projects/sendfile/lib/libc/sys/pdfork.2 projects/sendfile/lib/libc/sys/wait.2 projects/sendfile/lib/libc/xdr/xdr_rec.c projects/sendfile/release/Makefile projects/sendfile/release/release.sh projects/sendfile/sbin/Makefile projects/sendfile/share/man/man4/capsicum.4 projects/sendfile/share/man/man4/procdesc.4 projects/sendfile/share/mk/bsd.libnames.mk projects/sendfile/sys/amd64/conf/GENERIC projects/sendfile/sys/amd64/pci/pci_cfgreg.c projects/sendfile/sys/amd64/vmm/intel/vmcs.h projects/sendfile/sys/amd64/vmm/intel/vmx_controls.h projects/sendfile/sys/amd64/vmm/intel/vtd.c projects/sendfile/sys/arm/arm/db_trace.c projects/sendfile/sys/arm/arm/pl190.c projects/sendfile/sys/arm/at91/if_macbvar.h projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_dma.c projects/sendfile/sys/arm/econa/if_ece.c projects/sendfile/sys/arm/freescale/imx/imx6_anatopreg.h projects/sendfile/sys/arm/freescale/imx/imx6_usbphy.c projects/sendfile/sys/arm/freescale/imx/imx_gptreg.h projects/sendfile/sys/arm/freescale/vybrid/vf_anadig.c projects/sendfile/sys/arm/freescale/vybrid/vf_ccm.c projects/sendfile/sys/arm/freescale/vybrid/vf_ehci.c projects/sendfile/sys/arm/include/armreg.h projects/sendfile/sys/arm/lpc/if_lpereg.h projects/sendfile/sys/arm/lpc/lpcreg.h projects/sendfile/sys/arm/mv/mv_pci.c projects/sendfile/sys/arm/samsung/exynos/ehci_exynos5.c projects/sendfile/sys/arm/xscale/i8134x/i81342reg.h projects/sendfile/sys/arm/xscale/ixp425/ixp425reg.h projects/sendfile/sys/boot/arm/at91/libat91/mci_device.h projects/sendfile/sys/boot/i386/libfirewire/fwohci.h projects/sendfile/sys/boot/i386/libfirewire/fwohcireg.h projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c projects/sendfile/sys/conf/NOTES projects/sendfile/sys/conf/options projects/sendfile/sys/dev/aac/aacvar.h projects/sendfile/sys/dev/acpica/acpi_video.c projects/sendfile/sys/dev/agp/agp_i810.c projects/sendfile/sys/dev/ahci/ahci.h projects/sendfile/sys/dev/bktr/bktr_core.c projects/sendfile/sys/dev/cesa/cesa.h projects/sendfile/sys/dev/drm/i915_reg.h projects/sendfile/sys/dev/drm/mach64_drv.h projects/sendfile/sys/dev/drm/mga_drv.h projects/sendfile/sys/dev/drm/r128_drv.h projects/sendfile/sys/dev/drm/r300_reg.h projects/sendfile/sys/dev/drm/r600_blit.c projects/sendfile/sys/dev/drm/radeon_cp.c projects/sendfile/sys/dev/drm/radeon_drv.h projects/sendfile/sys/dev/drm/via_irq.c projects/sendfile/sys/dev/drm2/i915/i915_reg.h projects/sendfile/sys/dev/drm2/radeon/evergreen_blit_kms.c projects/sendfile/sys/dev/drm2/radeon/evergreen_cs.c projects/sendfile/sys/dev/drm2/radeon/evergreend.h projects/sendfile/sys/dev/drm2/radeon/nid.h projects/sendfile/sys/dev/drm2/radeon/r200.c projects/sendfile/sys/dev/drm2/radeon/r300.c projects/sendfile/sys/dev/drm2/radeon/r300_reg.h projects/sendfile/sys/dev/drm2/radeon/r500_reg.h projects/sendfile/sys/dev/drm2/radeon/r600_blit.c projects/sendfile/sys/dev/drm2/radeon/r600_blit_kms.c projects/sendfile/sys/dev/drm2/radeon/r600_cs.c projects/sendfile/sys/dev/drm2/radeon/r600d.h projects/sendfile/sys/dev/drm2/radeon/radeon_cp.c projects/sendfile/sys/dev/drm2/radeon/radeon_drv.h projects/sendfile/sys/dev/drm2/radeon/radeon_reg.h projects/sendfile/sys/dev/drm2/radeon/rv770d.h projects/sendfile/sys/dev/drm2/radeon/sid.h projects/sendfile/sys/dev/drm2/ttm/ttm_bo.c projects/sendfile/sys/dev/e1000/e1000_82575.h projects/sendfile/sys/dev/e1000/e1000_ich8lan.c projects/sendfile/sys/dev/e1000/e1000_regs.h projects/sendfile/sys/dev/etherswitch/arswitch/arswitchreg.h projects/sendfile/sys/dev/ffec/if_ffecreg.h projects/sendfile/sys/dev/firewire/firewire.c projects/sendfile/sys/dev/firewire/fwohci.c projects/sendfile/sys/dev/firewire/fwohcireg.h projects/sendfile/sys/dev/firewire/sbp.c projects/sendfile/sys/dev/firewire/sbp.h projects/sendfile/sys/dev/firewire/sbp_targ.c projects/sendfile/sys/dev/hatm/if_hatmreg.h projects/sendfile/sys/dev/hwpmc/hwpmc_piv.h projects/sendfile/sys/dev/iscsi/iscsi.c projects/sendfile/sys/dev/iwn/if_iwnreg.h projects/sendfile/sys/dev/mge/if_mgevar.h projects/sendfile/sys/dev/mpt/mpt_cam.c projects/sendfile/sys/dev/msk/if_mskreg.h projects/sendfile/sys/dev/mvs/mvs.h projects/sendfile/sys/dev/mxge/mxge_mcp.h projects/sendfile/sys/dev/qlxge/qls_dump.c projects/sendfile/sys/dev/ral/rt2560reg.h projects/sendfile/sys/dev/ral/rt2661reg.h projects/sendfile/sys/dev/ral/rt2860reg.h projects/sendfile/sys/dev/sound/pci/hda/hdaa.h projects/sendfile/sys/dev/usb/controller/ehci.h projects/sendfile/sys/dev/usb/wlan/if_rumreg.h projects/sendfile/sys/dev/usb/wlan/if_runreg.h projects/sendfile/sys/dev/usb/wlan/if_uralreg.h projects/sendfile/sys/dev/usb/wlan/if_urtwreg.h projects/sendfile/sys/dev/usb/wlan/if_zydreg.h projects/sendfile/sys/dev/wpi/if_wpireg.h projects/sendfile/sys/geom/raid/tr_raid1e.c projects/sendfile/sys/i386/conf/GENERIC projects/sendfile/sys/i386/pci/pci_cfgreg.c projects/sendfile/sys/ia64/conf/GENERIC projects/sendfile/sys/kern/kern_descrip.c projects/sendfile/sys/kern/kern_exit.c projects/sendfile/sys/kern/kern_fork.c projects/sendfile/sys/kern/kern_sig.c projects/sendfile/sys/kern/sys_procdesc.c projects/sendfile/sys/kern/uipc_syscalls.c projects/sendfile/sys/mips/atheros/ar71xxreg.h projects/sendfile/sys/mips/atheros/ar934xreg.h projects/sendfile/sys/mips/atheros/if_argevar.h projects/sendfile/sys/mips/malta/gt_pci.c projects/sendfile/sys/mips/nlm/dev/net/nae.c projects/sendfile/sys/mips/nlm/xlp_machdep.c projects/sendfile/sys/mips/rmi/pic.h projects/sendfile/sys/netinet/sctp_bsd_addr.c projects/sendfile/sys/netinet/sctp_pcb.c projects/sendfile/sys/ofed/drivers/infiniband/hw/mlx4/qp.c projects/sendfile/sys/ofed/drivers/infiniband/hw/mthca/mthca_mcg.c projects/sendfile/sys/ofed/drivers/infiniband/hw/mthca/mthca_qp.c projects/sendfile/sys/ofed/drivers/net/mlx4/mcg.c projects/sendfile/sys/pc98/conf/GENERIC projects/sendfile/sys/powerpc/conf/GENERIC projects/sendfile/sys/powerpc/fpu/fpu_emu.c projects/sendfile/sys/powerpc/fpu/fpu_sqrt.c projects/sendfile/sys/powerpc/ofw/ofw_machdep.c projects/sendfile/sys/powerpc/powermac/nvbl.c projects/sendfile/sys/sparc64/conf/GENERIC projects/sendfile/sys/sys/consio.h projects/sendfile/sys/sys/file.h projects/sendfile/sys/ufs/ffs/ffs_softdep.c projects/sendfile/sys/x86/iommu/intel_reg.h projects/sendfile/usr.sbin/bluetooth/bthidd/kbd.c projects/sendfile/usr.sbin/bsdconfig/includes/includes projects/sendfile/usr.sbin/rwhod/rwhod.c Directory Properties: projects/sendfile/ (props changed) projects/sendfile/lib/libc/ (props changed) projects/sendfile/sbin/ (props changed) projects/sendfile/share/man/man4/ (props changed) projects/sendfile/sys/ (props changed) projects/sendfile/sys/amd64/vmm/ (props changed) projects/sendfile/sys/boot/ (props changed) projects/sendfile/sys/conf/ (props changed) Modified: projects/sendfile/Makefile.inc1 ============================================================================== --- projects/sendfile/Makefile.inc1 Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/Makefile.inc1 Sun Dec 1 14:03:03 2013 (r258795) @@ -1505,7 +1505,7 @@ _prebuild_libs= ${_kerberos5_lib_libasn1 lib/libradius lib/libsbuf lib/libtacplus \ ${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \ ${_cddl_lib_libzfs_core} \ - lib/libutil ${_lib_libypclnt} lib/libz lib/msun \ + lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \ ${_secure_lib_libcrypto} ${_lib_libldns} \ ${_secure_lib_libssh} ${_secure_lib_libssl} @@ -1521,6 +1521,8 @@ _lib_libthr= lib/libthr _ofed_lib= contrib/ofed/usr.lib/ .endif +lib/libpjdlog__L: lib/libutil__L + _generic_libs= ${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib ${_ofed_lib} .for _DIR in ${LOCAL_LIB_DIRS} .if exists(${.CURDIR}/${_DIR}/Makefile) Modified: projects/sendfile/bin/sh/cd.c ============================================================================== --- projects/sendfile/bin/sh/cd.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/bin/sh/cd.c Sun Dec 1 14:03:03 2013 (r258795) @@ -182,6 +182,7 @@ cdlogical(char *dest) struct stat statb; int first; int badstat; + size_t len; /* * Check each component of the path. If we find a symlink or @@ -189,8 +190,9 @@ cdlogical(char *dest) * next time we get the value of the current directory. */ badstat = 0; - cdcomppath = stalloc(strlen(dest) + 1); - scopy(dest, cdcomppath); + len = strlen(dest); + cdcomppath = stalloc(len + 1); + memcpy(cdcomppath, dest, len + 1); STARTSTACKSTR(p); if (*dest == '/') { STPUTC('/', p); @@ -275,6 +277,7 @@ findcwd(char *dir) { char *new; char *p; + size_t len; /* * If our argument is NULL, we don't know the current directory @@ -283,8 +286,9 @@ findcwd(char *dir) */ if (dir == NULL || curdir == NULL) return getpwd2(); - cdcomppath = stalloc(strlen(dir) + 1); - scopy(dir, cdcomppath); + len = strlen(dir); + cdcomppath = stalloc(len + 1); + memcpy(cdcomppath, dir, len + 1); STARTSTACKSTR(new); if (*dir != '/') { STPUTS(curdir, new); Modified: projects/sendfile/bin/sh/exec.c ============================================================================== --- projects/sendfile/bin/sh/exec.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/bin/sh/exec.c Sun Dec 1 14:03:03 2013 (r258795) @@ -187,14 +187,15 @@ padvance(const char **path, const char * { const char *p, *start; char *q; - size_t len; + size_t len, namelen; if (*path == NULL) return NULL; start = *path; for (p = start; *p && *p != ':' && *p != '%'; p++) ; /* nothing */ - len = p - start + strlen(name) + 2; /* "2" is for '/' and '\0' */ + namelen = strlen(name); + len = p - start + namelen + 2; /* "2" is for '/' and '\0' */ STARTSTACKSTR(q); CHECKSTRSPACE(len, q); if (p != start) { @@ -202,7 +203,7 @@ padvance(const char **path, const char * q += p - start; *q++ = '/'; } - strcpy(q, name); + memcpy(q, name, namelen + 1); pathopt = NULL; if (*p == '%') { pathopt = ++p; @@ -527,6 +528,7 @@ cmdlookup(const char *name, int add) const char *p; struct tblentry *cmdp; struct tblentry **pp; + size_t len; p = name; hashval = *p << 4; @@ -541,11 +543,11 @@ cmdlookup(const char *name, int add) } if (add && cmdp == NULL) { INTOFF; - cmdp = *pp = ckmalloc(sizeof (struct tblentry) - + strlen(name) + 1); + len = strlen(name); + cmdp = *pp = ckmalloc(sizeof (struct tblentry) + len + 1); cmdp->next = NULL; cmdp->cmdtype = CMDUNKNOWN; - strcpy(cmdp->cmdname, name); + memcpy(cmdp->cmdname, name, len + 1); INTON; } lastcmdentry = pp; Modified: projects/sendfile/bin/sh/expand.c ============================================================================== --- projects/sendfile/bin/sh/expand.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/bin/sh/expand.c Sun Dec 1 14:03:03 2013 (r258795) @@ -1307,9 +1307,11 @@ addfname(char *name) { char *p; struct strlist *sp; + size_t len; - p = stalloc(strlen(name) + 1); - scopy(name, p); + len = strlen(name); + p = stalloc(len + 1); + memcpy(p, name, len + 1); sp = (struct strlist *)stalloc(sizeof *sp); sp->text = p; *exparg.lastp = sp; Modified: projects/sendfile/bin/sh/memalloc.c ============================================================================== --- projects/sendfile/bin/sh/memalloc.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/bin/sh/memalloc.c Sun Dec 1 14:03:03 2013 (r258795) @@ -98,9 +98,11 @@ char * savestr(const char *s) { char *p; + size_t len; - p = ckmalloc(strlen(s) + 1); - scopy(s, p); + len = strlen(s); + p = ckmalloc(len + 1); + memcpy(p, s, len + 1); return p; } Modified: projects/sendfile/bin/sh/mystring.c ============================================================================== --- projects/sendfile/bin/sh/mystring.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/bin/sh/mystring.c Sun Dec 1 14:03:03 2013 (r258795) @@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$"); * String functions. * * equal(s1, s2) Return true if strings are equal. - * scopy(from, to) Copy a string. * number(s) Convert a string of digits to an integer. * is_number(s) Return true if s is a string of digits. */ @@ -60,10 +59,6 @@ char nullstr[1]; /* zero length string * equal - #defined in mystring.h */ -/* - * scopy - #defined in mystring.h - */ - /* * prefix -- see if pfx is a prefix of string. Modified: projects/sendfile/bin/sh/mystring.h ============================================================================== --- projects/sendfile/bin/sh/mystring.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/bin/sh/mystring.h Sun Dec 1 14:03:03 2013 (r258795) @@ -40,4 +40,3 @@ int number(const char *); int is_number(const char *); #define equal(s1, s2) (strcmp(s1, s2) == 0) -#define scopy(s1, s2) ((void)strcpy(s2, s1)) Modified: projects/sendfile/bin/sh/show.c ============================================================================== --- projects/sendfile/bin/sh/show.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/bin/sh/show.c Sun Dec 1 14:03:03 2013 (r258795) @@ -390,11 +390,11 @@ opentrace(void) else p = "/tmp"; } - scopy(p, s); + strcpy(s, p); strcat(s, "/trace"); } #else - scopy("./trace", s); + strcpy(s, "./trace"); #endif /* not_this_way */ if ((tracefile = fopen(s, "a")) == NULL) { fprintf(stderr, "Can't open %s: %s\n", s, strerror(errno)); Modified: projects/sendfile/bin/sh/var.c ============================================================================== --- projects/sendfile/bin/sh/var.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/bin/sh/var.c Sun Dec 1 14:03:03 2013 (r258795) @@ -224,8 +224,9 @@ void setvar(const char *name, const char *val, int flags) { const char *p; - int len; - int namelen; + size_t len; + size_t namelen; + size_t vallen; char *nameeq; int isbad; @@ -244,18 +245,20 @@ setvar(const char *name, const char *val } namelen = p - name; if (isbad) - error("%.*s: bad variable name", namelen, name); + error("%.*s: bad variable name", (int)namelen, name); len = namelen + 2; /* 2 is space for '=' and '\0' */ if (val == NULL) { flags |= VUNSET; + vallen = 0; } else { - len += strlen(val); + vallen = strlen(val); + len += vallen; } nameeq = ckmalloc(len); memcpy(nameeq, name, namelen); nameeq[namelen] = '='; if (val) - scopy(val, nameeq + namelen + 1); + memcpy(nameeq + namelen + 1, val, vallen + 1); else nameeq[namelen + 1] = '\0'; setvareq(nameeq, flags); Modified: projects/sendfile/lib/Makefile ============================================================================== --- projects/sendfile/lib/Makefile Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/lib/Makefile Sun Dec 1 14:03:03 2013 (r258795) @@ -35,6 +35,8 @@ SUBDIR_ORDERED= ${_csu} \ libc_nonshared \ libbsm \ libauditd \ + libutil \ + libpjdlog \ libcompiler_rt \ libcrypt \ libelf \ @@ -49,7 +51,6 @@ SUBDIR_ORDERED= ${_csu} \ librpcsvc \ libsbuf \ libtacplus \ - libutil \ ${_libypclnt} \ ${_libcxxrt} \ ${_libcplusplus} Modified: projects/sendfile/lib/libc/sparc64/fpu/fpu.c ============================================================================== --- projects/sendfile/lib/libc/sparc64/fpu/fpu.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/lib/libc/sparc64/fpu/fpu.c Sun Dec 1 14:03:03 2013 (r258795) @@ -202,7 +202,7 @@ static const int opmask[] = {0, 0, 1, 3, * Implement a move operation for all supported operand types. The additional * nand and xor parameters will be applied to the upper 32 bit word of the * source operand. This allows to implement fabs and fneg (for fp operands - * only!) using this functions, too, by passing (1 << 31) for one of the + * only!) using this functions, too, by passing (1U << 31) for one of the * parameters, and 0 for the other. */ static void @@ -358,10 +358,10 @@ __fpu_execute(struct utrapframe *uf, str __fpu_mov(fe, type, rd, rs2, 0, 0); return (0); case FOP(INS2_FPop1, INSFP1_FNEG): - __fpu_mov(fe, type, rd, rs2, 0, (1 << 31)); + __fpu_mov(fe, type, rd, rs2, 0, (1U << 31)); return (0); case FOP(INS2_FPop1, INSFP1_FABS): - __fpu_mov(fe, type, rd, rs2, (1 << 31), 0); + __fpu_mov(fe, type, rd, rs2, (1U << 31), 0); return (0); case FOP(INS2_FPop1, INSFP1_FSQRT): __fpu_explode(fe, &fe->fe_f1, type, rs2); Modified: projects/sendfile/lib/libc/sparc64/fpu/fpu_sqrt.c ============================================================================== --- projects/sendfile/lib/libc/sparc64/fpu/fpu_sqrt.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/lib/libc/sparc64/fpu/fpu_sqrt.c Sun Dec 1 14:03:03 2013 (r258795) @@ -257,7 +257,7 @@ __fpu_sqrt(fe) * double x correctly while doing the `known q=1.0'. * * We do this one mantissa-word at a time, as noted above, to - * save work. To avoid `(1 << 31) << 1', we also do the top bit + * save work. To avoid `(1U << 31) << 1', we also do the top bit * outside of each per-word loop. * * The calculation `t = y + bit' breaks down into `t0 = y0, ..., Modified: projects/sendfile/lib/libc/sys/chmod.2 ============================================================================== --- projects/sendfile/lib/libc/sys/chmod.2 Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/lib/libc/sys/chmod.2 Sun Dec 1 14:03:03 2013 (r258795) @@ -28,7 +28,7 @@ .\" @(#)chmod.2 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd April 10, 2008 +.Dd December 1, 2013 .Dt CHMOD 2 .Os .Sh NAME @@ -139,21 +139,24 @@ defined in #define S_ISUID 0004000 /* set user id on execution */ #define S_ISGID 0002000 /* set group id on execution */ -#ifndef __BSD_VISIBLE -#define S_ISTXT 0001000 /* sticky bit */ -#endif +#define S_ISVTX 0001000 /* sticky bit */ .Ed .Pp +The non-standard +.Dv S_ISTXT +is a synonym for +.Dv S_ISVTX . +.Pp The .Fx VM system totally ignores the sticky bit -.Pq Dv ISTXT +.Pq Dv S_ISVTX for executables. On UFS-based file systems (FFS, LFS) the sticky bit may only be set upon directories. .Pp If mode -.Dv ISTXT +.Dv S_ISVTX (the `sticky bit') is set on a directory, an unprivileged user may not delete or rename files of other users in that directory. @@ -296,12 +299,15 @@ The system call is expected to conform to .St -p1003.1-90 , except for the return of -.Er EFTYPE -and the use of -.Dv S_ISTXT . +.Er EFTYPE . +The +.Dv S_ISVTX +bit on directories is expected to conform to +.St -susv3 . The .Fn fchmodat -system call follows The Open Group Extended API Set 2 specification. +system call is expected to conform to +.St -p1003.1-2008 . .Sh HISTORY The .Fn chmod Modified: projects/sendfile/lib/libc/sys/pdfork.2 ============================================================================== --- projects/sendfile/lib/libc/sys/pdfork.2 Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/lib/libc/sys/pdfork.2 Sun Dec 1 14:03:03 2013 (r258795) @@ -125,12 +125,6 @@ is set; if the process is still alive an the last reference to the process descriptor, the process will be terminated with the signal .Dv SIGKILL . -.Pp -.Nm -and associated functions depend on -.Cd "options PROCDESC" -described in -.Xr procdesc 4 . .Sh RETURN VALUES .Fn pdfork returns a PID, 0 or -1, as Modified: projects/sendfile/lib/libc/sys/wait.2 ============================================================================== --- projects/sendfile/lib/libc/sys/wait.2 Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/lib/libc/sys/wait.2 Sun Dec 1 14:03:03 2013 (r258795) @@ -48,7 +48,7 @@ .Fn wait "int *status" .Ft pid_t .Fn waitpid "pid_t wpid" "int *status" "int options" -.In sys/signal.h +.In signal.h .Ft int .Fn waitid "idtype_t idtype" "id_t id" "siginfo_t *info" "int options" .In sys/time.h Modified: projects/sendfile/lib/libc/xdr/xdr_rec.c ============================================================================== --- projects/sendfile/lib/libc/xdr/xdr_rec.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/lib/libc/xdr/xdr_rec.c Sun Dec 1 14:03:03 2013 (r258795) @@ -106,7 +106,7 @@ static const struct xdr_ops xdrrec_ops * meet the needs of xdr and rpc based on tcp. */ -#define LAST_FRAG ((u_int32_t)(1 << 31)) +#define LAST_FRAG ((u_int32_t)(1U << 31)) typedef struct rec_strm { char *tcp_handle; Modified: projects/sendfile/release/Makefile ============================================================================== --- projects/sendfile/release/Makefile Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/release/Makefile Sun Dec 1 14:03:03 2013 (r258795) @@ -16,6 +16,7 @@ # (by default, the directory above this one) # PORTSDIR: location of ports tree to distribute (default: /usr/ports) # DOCDIR: location of doc tree (default: /usr/doc) +# NOPKG: if set, do not distribute third-party packages # NOPORTS: if set, do not distribute ports tree # NOSRC: if set, do not distribute source tree # NODOC: if set, do not generate release documentation @@ -212,7 +213,7 @@ packagesystem: base.txz kernel.txz ${EXT touch ${.TARGET} pkg-stage: -.if(exists(${.CURDIR}/${TARGET}/pkg-stage.conf)) +.if !defined(NOPKG) && exists(${.CURDIR}/${TARGET}/pkg-stage.conf) sh ${.CURDIR}/scripts/pkg-stage.sh ${.CURDIR}/${TARGET}/pkg-stage.conf \ ${REVISION} .endif Modified: projects/sendfile/release/release.sh ============================================================================== --- projects/sendfile/release/release.sh Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/release/release.sh Sun Dec 1 14:03:03 2013 (r258795) @@ -176,9 +176,9 @@ build_doc_ports() { _OSVERSION=$(sysctl -n kern.osreldate) if [ -d ${CHROOTDIR}/usr/doc ] && [ "x${NODOC}" = "x" ]; then PBUILD_FLAGS="OSVERSION=${_OSVERSION} BATCH=yes" - PBUILD_FLAGS="${PBUILD_FLAGS} OPTIONS_UNSET='FOP IGOR'" + PBUILD_FLAGS="${PBUILD_FLAGS}" chroot ${CHROOTDIR} make -C /usr/ports/textproc/docproj \ - ${PBUILD_FLAGS} install clean distclean + ${PBUILD_FLAGS} OPTIONS_UNSET="FOP IGOR" install clean distclean fi } Modified: projects/sendfile/sbin/Makefile ============================================================================== --- projects/sendfile/sbin/Makefile Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sbin/Makefile Sun Dec 1 14:03:03 2013 (r258795) @@ -72,7 +72,7 @@ SUBDIR=adjkerntz \ swapon \ sysctl \ tunefs \ - umount \ + umount .if ${MK_ATM} != "no" SUBDIR+= atm Modified: projects/sendfile/share/man/man4/capsicum.4 ============================================================================== --- projects/sendfile/share/man/man4/capsicum.4 Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/share/man/man4/capsicum.4 Sun Dec 1 14:03:03 2013 (r258795) @@ -35,7 +35,6 @@ .Sh SYNOPSIS .Cd "options CAPABILITY_MODE" .Cd "options CAPABILITIES" -.Cd "options PROCDESC" .Sh DESCRIPTION .Nm is a lightweight OS capability and sandbox framework implementing a hybrid Modified: projects/sendfile/share/man/man4/procdesc.4 ============================================================================== --- projects/sendfile/share/man/man4/procdesc.4 Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/share/man/man4/procdesc.4 Sun Dec 1 14:03:03 2013 (r258795) @@ -35,8 +35,6 @@ .Sh NAME .Nm procdesc .Nd process descriptor facility -.Sh SYNOPSIS -.Cd "options PROCDESC" .Sh DESCRIPTION .Nm is a file-descriptor-oriented interface to process signalling and control, Modified: projects/sendfile/share/mk/bsd.libnames.mk ============================================================================== --- projects/sendfile/share/mk/bsd.libnames.mk Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/share/mk/bsd.libnames.mk Sun Dec 1 14:03:03 2013 (r258795) @@ -127,6 +127,7 @@ MINUSLPAM+= -lypclnt LIBPANEL?= ${DESTDIR}${LIBDIR}/libpanel.a LIBPCAP?= ${DESTDIR}${LIBDIR}/libpcap.a +LIBPJDLOG?= ${DESTDIR}${LIBDIR}/libpjdlog.a LIBPMC?= ${DESTDIR}${LIBDIR}/libpmc.a LIBPROC?= ${DESTDIR}${LIBDIR}/libproc.a LIBPROCSTAT?= ${DESTDIR}${LIBDIR}/libprocstat.a Modified: projects/sendfile/sys/amd64/conf/GENERIC ============================================================================== --- projects/sendfile/sys/amd64/conf/GENERIC Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/amd64/conf/GENERIC Sun Dec 1 14:03:03 2013 (r258795) @@ -66,7 +66,6 @@ options HWPMC_HOOKS # Necessary kernel options AUDIT # Security event auditing options CAPABILITY_MODE # Capsicum capability mode options CAPABILITIES # Capsicum capabilities -options PROCDESC # Support for process descriptors options MAC # TrustedBSD MAC Framework options KDTRACE_FRAME # Ensure frames are compiled in options KDTRACE_HOOKS # Kernel DTrace hooks Modified: projects/sendfile/sys/amd64/pci/pci_cfgreg.c ============================================================================== --- projects/sendfile/sys/amd64/pci/pci_cfgreg.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/amd64/pci/pci_cfgreg.c Sun Dec 1 14:03:03 2013 (r258795) @@ -184,7 +184,7 @@ pci_cfgenable(unsigned bus, unsigned slo if (bus <= PCI_BUSMAX && slot <= PCI_SLOTMAX && func <= PCI_FUNCMAX && (unsigned)reg <= PCI_REGMAX && bytes != 3 && (unsigned)bytes <= 4 && (reg & (bytes - 1)) == 0) { - outl(CONF1_ADDR_PORT, (1 << 31) | (bus << 16) | (slot << 11) + outl(CONF1_ADDR_PORT, (1U << 31) | (bus << 16) | (slot << 11) | (func << 8) | (reg & ~0x03)); dataport = CONF1_DATA_PORT + (reg & 0x03); } Modified: projects/sendfile/sys/amd64/vmm/intel/vmcs.h ============================================================================== --- projects/sendfile/sys/amd64/vmm/intel/vmcs.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/amd64/vmm/intel/vmcs.h Sun Dec 1 14:03:03 2013 (r258795) @@ -318,7 +318,7 @@ uint64_t vmcs_read(uint32_t encoding); /* * VMCS IDT-Vectoring information fields */ -#define VMCS_IDT_VEC_VALID (1 << 31) +#define VMCS_IDT_VEC_VALID (1U << 31) #define VMCS_IDT_VEC_ERRCODE_VALID (1 << 11) /* Modified: projects/sendfile/sys/amd64/vmm/intel/vmx_controls.h ============================================================================== --- projects/sendfile/sys/amd64/vmm/intel/vmx_controls.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/amd64/vmm/intel/vmx_controls.h Sun Dec 1 14:03:03 2013 (r258795) @@ -56,7 +56,7 @@ #define PROCBASED_MSR_BITMAPS (1 << 28) #define PROCBASED_MONITOR_EXITING (1 << 29) #define PROCBASED_PAUSE_EXITING (1 << 30) -#define PROCBASED_SECONDARY_CONTROLS (1 << 31) +#define PROCBASED_SECONDARY_CONTROLS (1U << 31) /* Secondary Processor-Based VM-Execution Controls */ #define PROCBASED2_VIRTUALIZE_APIC (1 << 0) Modified: projects/sendfile/sys/amd64/vmm/intel/vtd.c ============================================================================== --- projects/sendfile/sys/amd64/vmm/intel/vtd.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/amd64/vmm/intel/vtd.c Sun Dec 1 14:03:03 2013 (r258795) @@ -73,11 +73,11 @@ struct vtdmap { #define VTD_GCR_WBF (1 << 27) #define VTD_GCR_SRTP (1 << 30) -#define VTD_GCR_TE (1 << 31) +#define VTD_GCR_TE (1U << 31) #define VTD_GSR_WBFS (1 << 27) #define VTD_GSR_RTPS (1 << 30) -#define VTD_GSR_TES (1 << 31) +#define VTD_GSR_TES (1U << 31) #define VTD_CCR_ICC (1UL << 63) /* invalidate context cache */ #define VTD_CCR_CIRG_GLOBAL (1UL << 61) /* global invalidation */ Modified: projects/sendfile/sys/arm/arm/db_trace.c ============================================================================== --- projects/sendfile/sys/arm/arm/db_trace.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/arm/db_trace.c Sun Dec 1 14:03:03 2013 (r258795) @@ -376,7 +376,7 @@ db_stack_trace_cmd(struct unwind_state * index = db_find_index(state->start_pc); if (index->insn != EXIDX_CANTUNWIND) { - if (index->insn & (1 << 31)) { + if (index->insn & (1U << 31)) { /* The data is within the instruction */ state->insn = &index->insn; } else { Modified: projects/sendfile/sys/arm/arm/pl190.c ============================================================================== --- projects/sendfile/sys/arm/arm/pl190.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/arm/pl190.c Sun Dec 1 14:03:03 2013 (r258795) @@ -113,7 +113,7 @@ pl190_intc_attach(device_t dev) /* Disable all interrupts */ intc_vic_write_4(VICINTENCLEAR, 0xffffffff); /* Enable INT31, SIC IRQ */ - intc_vic_write_4(VICINTENABLE, (1 << 31)); + intc_vic_write_4(VICINTENABLE, (1U << 31)); id = 0; for (i = 3; i >= 0; i--) { Modified: projects/sendfile/sys/arm/at91/if_macbvar.h ============================================================================== --- projects/sendfile/sys/arm/at91/if_macbvar.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/at91/if_macbvar.h Sun Dec 1 14:03:03 2013 (r258795) @@ -18,7 +18,7 @@ struct eth_tx_desc { uint32_t addr; uint32_t flags; -#define TD_OWN (1 << 31) +#define TD_OWN (1U << 31) #define TD_LAST (1 << 15) #define TD_WRAP_MASK (1 << 30) }; @@ -30,7 +30,7 @@ struct eth_rx_desc { #define RD_OWN 0x00000001 uint32_t flags; -#define RD_BROADCAST (1 << 31) +#define RD_BROADCAST (1U << 31) #define RD_MULTICAST (1 << 30) #define RD_UNICAST (1 << 29) #define RD_EXTERNAL (1 << 28) Modified: projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_dma.c ============================================================================== --- projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_dma.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_dma.c Sun Dec 1 14:03:03 2013 (r258795) @@ -74,7 +74,7 @@ __FBSDID("$FreeBSD$"); #define CS_WAITWRT (1 << 28) #define CS_DISDBG (1 << 29) #define CS_ABORT (1 << 30) -#define CS_RESET (1 << 31) +#define CS_RESET (1U << 31) #define BCM_DMA_CBADDR(n) (0x100*(n) + 0x04) #define BCM_DMA_INFO(n) (0x100*(n) + 0x08) #define INFO_INT_EN (1 << 0) Modified: projects/sendfile/sys/arm/econa/if_ece.c ============================================================================== --- projects/sendfile/sys/arm/econa/if_ece.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/econa/if_ece.c Sun Dec 1 14:03:03 2013 (r258795) @@ -1243,7 +1243,7 @@ configure_cpu_port(struct ece_softc *sc) /* SA learning Disable */ cpu_port_config |= (SA_LEARNING_DISABLE); /* set data offset + 2 */ - cpu_port_config &= ~(1 << 31); + cpu_port_config &= ~(1U << 31); write_4(sc, CPU_PORT_CONFIG, cpu_port_config); Modified: projects/sendfile/sys/arm/freescale/imx/imx6_anatopreg.h ============================================================================== --- projects/sendfile/sys/arm/freescale/imx/imx6_anatopreg.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/freescale/imx/imx6_anatopreg.h Sun Dec 1 14:03:03 2013 (r258795) @@ -37,7 +37,7 @@ #define IMX6_ANALOG_CCM_PLL_USB1_SET 0x014 #define IMX6_ANALOG_CCM_PLL_USB1_CLR 0x018 #define IMX6_ANALOG_CCM_PLL_USB1_TOG 0x01C -#define IMX6_ANALOG_CCM_PLL_USB_LOCK (1 << 31) +#define IMX6_ANALOG_CCM_PLL_USB_LOCK (1U << 31) #define IMX6_ANALOG_CCM_PLL_USB_BYPASS (1 << 16) #define IMX6_ANALOG_CCM_PLL_USB_ENABLE (1 << 13) #define IMX6_ANALOG_CCM_PLL_USB_POWER (1 << 12) Modified: projects/sendfile/sys/arm/freescale/imx/imx6_usbphy.c ============================================================================== --- projects/sendfile/sys/arm/freescale/imx/imx6_usbphy.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/freescale/imx/imx6_usbphy.c Sun Dec 1 14:03:03 2013 (r258795) @@ -57,7 +57,7 @@ __FBSDID("$FreeBSD$"); #define CTRL_SET_REG 0x0034 #define CTRL_CLR_REG 0x0038 #define CTRL_TOGGLE_REG 0x003c -#define CTRL_SFTRST (1 << 31) +#define CTRL_SFTRST (1U << 31) #define CTRL_CLKGATE (1 << 30) #define CTRL_ENUTMILEVEL3 (1 << 15) #define CTRL_ENUTMILEVEL2 (1 << 14) Modified: projects/sendfile/sys/arm/freescale/imx/imx_gptreg.h ============================================================================== --- projects/sendfile/sys/arm/freescale/imx/imx_gptreg.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/freescale/imx/imx_gptreg.h Sun Dec 1 14:03:03 2013 (r258795) @@ -32,7 +32,7 @@ /* Registers definition for Freescale i.MX515 Generic Periodic Timer */ #define IMX_GPT_CR 0x0000 /* Control Register R/W */ -#define GPT_CR_FO3 (1 << 31) +#define GPT_CR_FO3 (1U << 31) #define GPT_CR_FO2 (1 << 30) #define GPT_CR_FO1 (1 << 29) #define GPT_CR_OM3_SHIFT 26 Modified: projects/sendfile/sys/arm/freescale/vybrid/vf_anadig.c ============================================================================== --- projects/sendfile/sys/arm/freescale/vybrid/vf_anadig.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/freescale/vybrid/vf_anadig.c Sun Dec 1 14:03:03 2013 (r258795) @@ -90,7 +90,7 @@ __FBSDID("$FreeBSD$"); #define USB_LOOPBACK(n) (0x1E0 + 0x60 * n) #define USB_MISC(n) (0x1F0 + 0x60 * n) -#define ANADIG_PLL_LOCKED (1 << 31) +#define ANADIG_PLL_LOCKED (1U << 31) #define ENABLE_LINREG (1 << 0) #define EN_CLK_TO_UTMI (1 << 30) Modified: projects/sendfile/sys/arm/freescale/vybrid/vf_ccm.c ============================================================================== --- projects/sendfile/sys/arm/freescale/vybrid/vf_ccm.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/freescale/vybrid/vf_ccm.c Sun Dec 1 14:03:03 2013 (r258795) @@ -79,7 +79,7 @@ __FBSDID("$FreeBSD$"); #define CCM_CPPDSR 0x88 /* PLL PFD Disable Status Register */ #define CCM_CCOWR 0x8C /* CORE Wakeup Register */ -#define PLL3_PFD4_EN (1 << 31) +#define PLL3_PFD4_EN (1U << 31) #define PLL3_PFD3_EN (1 << 30) #define PLL3_PFD2_EN (1 << 29) #define PLL3_PFD1_EN (1 << 28) Modified: projects/sendfile/sys/arm/freescale/vybrid/vf_ehci.c ============================================================================== --- projects/sendfile/sys/arm/freescale/vybrid/vf_ehci.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/freescale/vybrid/vf_ehci.c Sun Dec 1 14:03:03 2013 (r258795) @@ -105,7 +105,7 @@ __FBSDID("$FreeBSD$"); #define USBPHY_IP_CLR 0x98 /* PHY IP Block Register */ #define USBPHY_IP_TOG 0x9C /* PHY IP Block Register */ -#define USBPHY_CTRL_SFTRST (1 << 31) +#define USBPHY_CTRL_SFTRST (1U << 31) #define USBPHY_CTRL_CLKGATE (1 << 30) #define USBPHY_DEBUG_CLKGATE (1 << 30) Modified: projects/sendfile/sys/arm/include/armreg.h ============================================================================== --- projects/sendfile/sys/arm/include/armreg.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/include/armreg.h Sun Dec 1 14:03:03 2013 (r258795) @@ -360,7 +360,7 @@ #define CPU_CT_ARMV7 0x4 /* ARM v7 Cache type definitions */ -#define CPUV7_CT_CTYPE_WT (1 << 31) +#define CPUV7_CT_CTYPE_WT (1U << 31) #define CPUV7_CT_CTYPE_WB (1 << 30) #define CPUV7_CT_CTYPE_RA (1 << 29) #define CPUV7_CT_CTYPE_WA (1 << 28) Modified: projects/sendfile/sys/arm/lpc/if_lpereg.h ============================================================================== --- projects/sendfile/sys/arm/lpc/if_lpereg.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/lpc/if_lpereg.h Sun Dec 1 14:03:03 2013 (r258795) @@ -169,7 +169,7 @@ struct lpe_hwstatus { /* These are valid for both Rx and Tx descriptors */ #define LPE_HWDESC_SIZE_MASK (1 << 10) -#define LPE_HWDESC_INTERRUPT (1 << 31) +#define LPE_HWDESC_INTERRUPT (1U << 31) /* These are valid for Tx descriptors */ #define LPE_HWDESC_LAST (1 << 30) @@ -186,7 +186,7 @@ struct lpe_hwstatus { #define LPE_HWDESC_LATECOLL (1 << 28) #define LPE_HWDESC_UNDERRUN (1 << 29) #define LPE_HWDESC_TXNODESCR (1 << 30) -#define LPE_HWDESC_ERROR (1 << 31) +#define LPE_HWDESC_ERROR (1U << 31) /* These are valid for Rx status descriptors */ #define LPE_HWDESC_CONTROL (1 << 18) @@ -202,7 +202,7 @@ struct lpe_hwstatus { #define LPE_HWDESC_OVERRUN (1 << 28) #define LPE_HWDESC_RXNODESCR (1 << 29) #define LPE_HWDESC_LASTFLAG (1 << 30) -#define LPE_HWDESC_ERROR (1 << 31) +#define LPE_HWDESC_ERROR (1U << 31) #endif /* _ARM_LPC_IF_LPEREG_H */ Modified: projects/sendfile/sys/arm/lpc/lpcreg.h ============================================================================== --- projects/sendfile/sys/arm/lpc/lpcreg.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/lpc/lpcreg.h Sun Dec 1 14:03:03 2013 (r258795) @@ -604,7 +604,7 @@ #define LPC_DMAC_CH_LLI 0x08 #define LPC_DMAC_CH_LLI_AHB1 (1 << 0) #define LPC_DMAC_CH_CONTROL 0x0c -#define LPC_DMAC_CH_CONTROL_I (1 << 31) +#define LPC_DMAC_CH_CONTROL_I (1U << 31) #define LPC_DMAC_CH_CONTROL_DI (1 << 27) #define LPC_DMAC_CH_CONTROL_SI (1 << 26) #define LPC_DMAC_CH_CONTROL_D (1 << 25) Modified: projects/sendfile/sys/arm/mv/mv_pci.c ============================================================================== --- projects/sendfile/sys/arm/mv/mv_pci.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/mv/mv_pci.c Sun Dec 1 14:03:03 2013 (r258795) @@ -81,7 +81,7 @@ __FBSDID("$FreeBSD$"); #define debugf(fmt, args...) #endif -#define PCI_CFG_ENA (1 << 31) +#define PCI_CFG_ENA (1U << 31) #define PCI_CFG_BUS(bus) (((bus) & 0xff) << 16) #define PCI_CFG_DEV(dev) (((dev) & 0x1f) << 11) #define PCI_CFG_FUN(fun) (((fun) & 0x7) << 8) Modified: projects/sendfile/sys/arm/samsung/exynos/ehci_exynos5.c ============================================================================== --- projects/sendfile/sys/arm/samsung/exynos/ehci_exynos5.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/samsung/exynos/ehci_exynos5.c Sun Dec 1 14:03:03 2013 (r258795) @@ -82,7 +82,7 @@ __FBSDID("$FreeBSD$"); #define HOST_CTRL_SUSPEND (1 << 4) #define HOST_CTRL_RESET_LINK (1 << 1) #define HOST_CTRL_RESET_PHY (1 << 0) -#define HOST_CTRL_RESET_PHY_ALL (1 << 31) +#define HOST_CTRL_RESET_PHY_ALL (1U << 31) /* Forward declarations */ static int exynos_ehci_attach(device_t dev); Modified: projects/sendfile/sys/arm/xscale/i8134x/i81342reg.h ============================================================================== --- projects/sendfile/sys/arm/xscale/i8134x/i81342reg.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/xscale/i8134x/i81342reg.h Sun Dec 1 14:03:03 2013 (r258795) @@ -83,7 +83,7 @@ #define IOP34X_ADMA_PQTE (1 << 18) /* P+Q Transfer Enable */ #define IOP34X_ADMA_PTD (1 << 19) /* P Transfer Disable */ #define IOP34X_ADMA_ROE (1 << 30) /* Relaxed Ordering Enable */ -#define IOP34X_ADMA_NSE (1 << 31) /* No Snoop Enable */ +#define IOP34X_ADMA_NSE (1U << 31) /* No Snoop Enable */ #define IOP34X_PBBAR0 0x81588 /* PBI Base Address Register 0 */ #define IOP34X_PBBAR0_ADDRMASK 0xfffff000 @@ -113,7 +113,7 @@ #define SMC_SDBR 0x8180c /* Base Register */ #define SMC_SDBR_BASEADDR (1 << 27) #define SMC_SDBR_BASEADDR_MASK ((1 << 27) | (1 << 28) | (1 << 29) | (1 << 30) \ - | (1 << 31)) + | (1U << 31)) #define SMC_SDUBR 0x81810 /* Upper Base Register */ #define SMC_SBSR 0x81814 /* SDRAM Bank Size Register */ #define SMC_SBSR_BANK_NB (1 << 2) /* Number of DDR Banks @@ -128,7 +128,7 @@ 0x01000 1GB */ #define SMC_SBSR_BANK_SZ_MASK ((1 << 27) | (1 << 28) | (1 << 29) | (1 << 30) \ - | (1 << 31)) + | (1U << 31)) /* Two possible addresses for ATUe depending on configuration. */ @@ -190,7 +190,7 @@ #define ATU_CR_OUT_EN (1 << 1) #define ATU_PCSR 0x0074 /* PCI Configuration and Status Register */ #define PCIE_BUSNO(x) ((x & 0xff000000) >> 24) -#define ATUX_CORE_RST ((1 << 30) | (1 << 31)) /* Core Processor Reset */ +#define ATUX_CORE_RST ((1 << 30) | (1U << 31)) /* Core Processor Reset */ #define ATUX_P_RSTOUT (1 << 21) /* Central Resource PCI Bus Reset */ #define ATUE_CORE_RST ((1 << 9) | (1 << 8)) /* Core Processor Reset */ #define ATU_ISR 0x0078 /* ATU Interrupt Status Register */ @@ -250,7 +250,7 @@ #define ATU_OIOWTVR 0x0304 /* Outbound I/O Window Translate Value Reg */ #define ATU_OUMBAR0 0x0308 /* Outbound Upper Memory Window base addr reg 0*/ #define ATU_OUMBAR_FUNC (28) -#define ATU_OUMBAR_EN (1 << 31) +#define ATU_OUMBAR_EN (1U << 31) #define ATU_OUMWTVR0 0x030c /* Outbound Upper 32bit Memory Window Translate Value Register 0 */ #define ATU_OUMBAR1 0x0310 /* Outbound Upper Memory Window base addr reg1*/ #define ATU_OUMWTVR1 0x0314 /* Outbound Upper 32bit Memory Window Translate Value Register 1 */ Modified: projects/sendfile/sys/arm/xscale/ixp425/ixp425reg.h ============================================================================== --- projects/sendfile/sys/arm/xscale/ixp425/ixp425reg.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/arm/xscale/ixp425/ixp425reg.h Sun Dec 1 14:03:03 2013 (r258795) @@ -400,7 +400,7 @@ #define EXP_CNFG0_PCI_HOST (1 << 1) #define EXP_CNFG0_PCI_ARB (1 << 2) #define EXP_CNFG0_PCI_66MHZ (1 << 4) -#define EXP_CNFG0_MEM_MAP (1 << 31) +#define EXP_CNFG0_MEM_MAP (1U << 31) /* EXP_CNFG1 bits */ #define EXP_CNFG1_SW_INT0 (1 << 0) Modified: projects/sendfile/sys/boot/arm/at91/libat91/mci_device.h ============================================================================== --- projects/sendfile/sys/boot/arm/at91/libat91/mci_device.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/boot/arm/at91/libat91/mci_device.h Sun Dec 1 14:03:03 2013 (r258795) @@ -306,7 +306,7 @@ typedef struct _AT91S_MciDevice #define AT91C_VDD_33_34 (1 << 21) #define AT91C_VDD_34_35 (1 << 22) #define AT91C_VDD_35_36 (1 << 23) -#define AT91C_CARD_POWER_UP_BUSY (1 << 31) +#define AT91C_CARD_POWER_UP_BUSY (1U << 31) #define AT91C_MMC_HOST_VOLTAGE_RANGE (AT91C_VDD_27_28 | AT91C_VDD_28_29 | \ AT91C_VDD_29_30 | AT91C_VDD_30_31 | AT91C_VDD_31_32 | AT91C_VDD_32_33) Modified: projects/sendfile/sys/boot/i386/libfirewire/fwohci.h ============================================================================== --- projects/sendfile/sys/boot/i386/libfirewire/fwohci.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/boot/i386/libfirewire/fwohci.h Sun Dec 1 14:03:03 2013 (r258795) @@ -76,7 +76,7 @@ void fwohci_poll(struct fwohci_softc *); #define OHCI_CROMHDR 0x18 #define OHCI_BUS_ID 0x1c #define OHCI_BUS_OPT 0x20 -#define OHCI_BUSIRMC (1 << 31) +#define OHCI_BUSIRMC (1U << 31) #define OHCI_BUSCMC (1 << 30) #define OHCI_BUSISC (1 << 29) #define OHCI_BUSBMC (1 << 28) @@ -102,7 +102,7 @@ void fwohci_poll(struct fwohci_softc *); #define OHCI_SID_BUF 0x64 #define OHCI_SID_CNT 0x68 -#define OHCI_SID_ERR (1 << 31) +#define OHCI_SID_ERR (1U << 31) #define OHCI_SID_CNT_MASK 0xffc #define OHCI_IT_STAT 0x90 Modified: projects/sendfile/sys/boot/i386/libfirewire/fwohcireg.h ============================================================================== --- projects/sendfile/sys/boot/i386/libfirewire/fwohcireg.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/boot/i386/libfirewire/fwohcireg.h Sun Dec 1 14:03:03 2013 (r258795) @@ -239,7 +239,7 @@ struct ohci_registers { fwohcireg_t dummy1[3]; /* dummy 0x44-0x4c */ fwohcireg_t hcc_cntl_set; /* HCC control set 0x50 */ fwohcireg_t hcc_cntl_clr; /* HCC control clr 0x54 */ -#define OHCI_HCC_BIBIV (1 << 31) /* BIBimage Valid */ +#define OHCI_HCC_BIBIV (1U << 31) /* BIBimage Valid */ #define OHCI_HCC_BIGEND (1 << 30) /* noByteSwapData */ #define OHCI_HCC_PRPHY (1 << 23) /* programPhyEnable */ #define OHCI_HCC_PHYEN (1 << 22) /* aPhyEnhanceEnable */ @@ -278,7 +278,7 @@ struct ohci_registers { fwohcireg_t link_cntl_clr; /* Chip control clear 0xe4*/ #define FWOHCI_NODEID 0xe8 fwohcireg_t node; /* Node ID 0xe8 */ -#define OHCI_NODE_VALID (1 << 31) +#define OHCI_NODE_VALID (1U << 31) #define OHCI_NODE_ROOT (1 << 30) #define OHCI_ASYSRCBUS 1 Modified: projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c Sun Dec 1 14:03:03 2013 (r258795) @@ -83,6 +83,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include +#include #ifdef INET #include @@ -1653,12 +1656,14 @@ freebsd32_do_sendfile(struct thread *td, off_t offset; int error; off_t sbytes; + struct sendfile_sync *sfs; offset = PAIR32TO64(off_t, uap->offset); if (offset < 0) return (EINVAL); hdr_uio = trl_uio = NULL; + sfs = NULL; if (uap->hdtr != NULL) { error = copyin(uap->hdtr, &hdtr32, sizeof(hdtr32)); @@ -1692,8 +1697,21 @@ freebsd32_do_sendfile(struct thread *td, goto out; } + /* + * If we need to wait for completion, initialise the sfsync + * state here. + */ + if (uap->flags & SF_SYNC) + sfs = sf_sync_alloc(uap->flags & SF_SYNC); + error = fo_sendfile(fp, uap->s, hdr_uio, trl_uio, offset, - uap->nbytes, &sbytes, uap->flags, compat ? SFK_COMPAT : 0, td); + uap->nbytes, &sbytes, uap->flags, compat ? SFK_COMPAT : 0, + sfs, td); + if (sfs != NULL) { + sf_sync_syscall_wait(sfs); + sf_sync_free(sfs); + } + fdrop(fp, td); if (uap->sbytes != NULL) copyout(&sbytes, uap->sbytes, sizeof(off_t)); Modified: projects/sendfile/sys/conf/NOTES ============================================================================== --- projects/sendfile/sys/conf/NOTES Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/conf/NOTES Sun Dec 1 14:03:03 2013 (r258795) @@ -1167,9 +1167,6 @@ options MAC_TEST options CAPABILITIES # fine-grained rights on file descriptors options CAPABILITY_MODE # sandboxes with no global namespace access -# Support for process descriptors -options PROCDESC - ##################################################################### # CLOCK OPTIONS Modified: projects/sendfile/sys/conf/options ============================================================================== --- projects/sendfile/sys/conf/options Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/conf/options Sun Dec 1 14:03:03 2013 (r258795) @@ -165,7 +165,6 @@ PPC_DEBUG opt_ppc.h PPC_PROBE_CHIPSET opt_ppc.h PPS_SYNC opt_ntp.h PREEMPTION opt_sched.h -PROCDESC opt_procdesc.h QUOTA SCHED_4BSD opt_sched.h SCHED_STATS opt_sched.h Modified: projects/sendfile/sys/dev/aac/aacvar.h ============================================================================== --- projects/sendfile/sys/dev/aac/aacvar.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/dev/aac/aacvar.h Sun Dec 1 14:03:03 2013 (r258795) @@ -412,7 +412,7 @@ struct aac_softc #define AAC_FLAGS_RAW_IO (1 << 12) /* Raw I/O interface */ #define AAC_FLAGS_ARRAY_64BIT (1 << 13) /* 64-bit array size */ #define AAC_FLAGS_LBA_64BIT (1 << 14) /* 64-bit LBA support */ -#define AAC_FLAGS_NOMSI (1 << 31) /* Broken MSI */ +#define AAC_FLAGS_NOMSI (1U << 31) /* Broken MSI */ u_int32_t supported_options; u_int32_t scsi_method_id; Modified: projects/sendfile/sys/dev/acpica/acpi_video.c ============================================================================== --- projects/sendfile/sys/dev/acpica/acpi_video.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/dev/acpica/acpi_video.c Sun Dec 1 14:03:03 2013 (r258795) @@ -132,7 +132,7 @@ static void vo_set_device_state(ACPI_HAN #define DOD_HEAD_ID_BITS 3 #define DOD_HEAD_ID_MASK \ (((1 << DOD_HEAD_ID_BITS) - 1) << DOD_HEAD_ID_SHIFT) -#define DOD_DEVID_SCHEME_STD (1 << 31) +#define DOD_DEVID_SCHEME_STD (1U << 31) /* _BCL related constants */ #define BCL_FULLPOWER 0 @@ -149,7 +149,7 @@ static void vo_set_device_state(ACPI_HAN #define DSS_INACTIVE 0 #define DSS_ACTIVE (1 << 0) #define DSS_SETNEXT (1 << 30) -#define DSS_COMMIT (1 << 31) +#define DSS_COMMIT (1U << 31) static device_method_t acpi_video_methods[] = { DEVMETHOD(device_identify, acpi_video_identify), Modified: projects/sendfile/sys/dev/agp/agp_i810.c ============================================================================== --- projects/sendfile/sys/dev/agp/agp_i810.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/dev/agp/agp_i810.c Sun Dec 1 14:03:03 2013 (r258795) @@ -2226,10 +2226,10 @@ agp_i830_chipset_flush(device_t dev) sc = device_get_softc(dev); pmap_invalidate_cache(); hic = bus_read_4(sc->sc_res[0], AGP_I830_HIC); - bus_write_4(sc->sc_res[0], AGP_I830_HIC, hic | (1 << 31)); + bus_write_4(sc->sc_res[0], AGP_I830_HIC, hic | (1U << 31)); for (i = 0; i < 20000 /* 1 sec */; i++) { hic = bus_read_4(sc->sc_res[0], AGP_I830_HIC); - if ((hic & (1 << 31)) == 0) + if ((hic & (1U << 31)) == 0) break; DELAY(50); } Modified: projects/sendfile/sys/dev/ahci/ahci.h ============================================================================== --- projects/sendfile/sys/dev/ahci/ahci.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/dev/ahci/ahci.h Sun Dec 1 14:03:03 2013 (r258795) @@ -321,7 +321,7 @@ struct ahci_dma_prd { u_int32_t dbc; /* 0 based */ #define AHCI_PRD_MASK 0x003fffff /* max 4MB */ #define AHCI_PRD_MAX (AHCI_PRD_MASK + 1) -#define AHCI_PRD_IPC (1 << 31) +#define AHCI_PRD_IPC (1U << 31) } __packed; struct ahci_cmd_tab { Modified: projects/sendfile/sys/dev/bktr/bktr_core.c ============================================================================== --- projects/sendfile/sys/dev/bktr/bktr_core.c Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/dev/bktr/bktr_core.c Sun Dec 1 14:03:03 2013 (r258795) @@ -2599,7 +2599,7 @@ dump_bt848( bktr_ptr_t bktr ) #define BKTR_TEST_RISC_STATUS_BIT0 (1 << 28) #define BKTR_TEST_RISC_STATUS_BIT1 (1 << 29) #define BKTR_TEST_RISC_STATUS_BIT2 (1 << 30) -#define BKTR_TEST_RISC_STATUS_BIT3 (1 << 31) +#define BKTR_TEST_RISC_STATUS_BIT3 (1U << 31) static bool_t notclipped (bktr_reg_t * bktr, int x, int width) { int i; Modified: projects/sendfile/sys/dev/cesa/cesa.h ============================================================================== --- projects/sendfile/sys/dev/cesa/cesa.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/dev/cesa/cesa.h Sun Dec 1 14:03:03 2013 (r258795) @@ -297,8 +297,8 @@ struct cesa_chain_info { #define CESA_CSH_AES_KLEN_MASK (3 << 24) #define CESA_CSHD_FRAG_FIRST (1 << 30) -#define CESA_CSHD_FRAG_LAST (2 << 30) -#define CESA_CSHD_FRAG_MIDDLE (3 << 30) +#define CESA_CSHD_FRAG_LAST (2U << 30) +#define CESA_CSHD_FRAG_MIDDLE (3U << 30) /* CESA registers definitions */ #define CESA_ICR 0xDE20 Modified: projects/sendfile/sys/dev/drm/i915_reg.h ============================================================================== --- projects/sendfile/sys/dev/drm/i915_reg.h Sun Dec 1 12:24:57 2013 (r258794) +++ projects/sendfile/sys/dev/drm/i915_reg.h Sun Dec 1 14:03:03 2013 (r258795) @@ -349,7 +349,7 @@ __FBSDID("$FreeBSD$"); #define VGA1_PD_P1_MASK (0x1f << 8) #define DPLL_A 0x06014 #define DPLL_B 0x06018 -#define DPLL_VCO_ENABLE (1 << 31) +#define DPLL_VCO_ENABLE (1U << 31) #define DPLL_DVO_HIGH_SPEED (1 << 30) #define DPLL_SYNCLOCK_ENABLE (1 << 29) #define DPLL_VGA_MODE_DIS (1 << 28) @@ -653,7 +653,7 @@ __FBSDID("$FreeBSD$"); /* SDVO port control */ #define SDVOB 0x61140 #define SDVOC 0x61160 -#define SDVO_ENABLE (1 << 31) +#define SDVO_ENABLE (1U << 31) #define SDVO_PIPE_B_SELECT (1 << 30) #define SDVO_STALL_SELECT (1 << 29) #define SDVO_INTERRUPT_ENABLE (1 << 26) @@ -690,7 +690,7 @@ __FBSDID("$FreeBSD$"); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sun Dec 1 17:29:04 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B46EC121; Sun, 1 Dec 2013 17:29:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9F3FE1108; Sun, 1 Dec 2013 17:29:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1HT4Et029959; Sun, 1 Dec 2013 17:29:04 GMT (envelope-from markm@svn.freebsd.org) Received: (from markm@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1HT13E029926; Sun, 1 Dec 2013 17:29:01 GMT (envelope-from markm@svn.freebsd.org) Message-Id: <201312011729.rB1HT13E029926@svn.freebsd.org> From: Mark Murray Date: Sun, 1 Dec 2013 17:29:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258801 - in projects/random_number_generator/sys: conf dev/random X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Dec 2013 17:29:04 -0000 Author: markm Date: Sun Dec 1 17:29:00 2013 New Revision: 258801 URL: http://svnweb.freebsd.org/changeset/base/258801 Log: This is now working! Fortuna too! * Fix use of mutexes (what was I smoking?) * Tidy up static vraibles; move around a bit (mutexes, sysctl stuff). * Add debugging code. Unit tests are now broken; I'll fix those in my Copious Free Time(tm). Testers and reviewers welcome. To follow: * More sysctls for instrumentation and control. * Final tidy-up pass (I'll throw lint at this too). Modified: projects/random_number_generator/sys/conf/NOTES projects/random_number_generator/sys/conf/files projects/random_number_generator/sys/dev/random/dummy_rng.c projects/random_number_generator/sys/dev/random/fortuna.c projects/random_number_generator/sys/dev/random/fortuna.h projects/random_number_generator/sys/dev/random/ivy.c projects/random_number_generator/sys/dev/random/live_entropy_sources.c projects/random_number_generator/sys/dev/random/live_entropy_sources.h projects/random_number_generator/sys/dev/random/nehemiah.c projects/random_number_generator/sys/dev/random/random_adaptors.c projects/random_number_generator/sys/dev/random/random_adaptors.h projects/random_number_generator/sys/dev/random/random_harvestq.c projects/random_number_generator/sys/dev/random/randomdev.c projects/random_number_generator/sys/dev/random/randomdev.h projects/random_number_generator/sys/dev/random/randomdev_soft.c projects/random_number_generator/sys/dev/random/randomdev_soft.h projects/random_number_generator/sys/dev/random/yarrow.c projects/random_number_generator/sys/dev/random/yarrow.h Modified: projects/random_number_generator/sys/conf/NOTES ============================================================================== --- projects/random_number_generator/sys/conf/NOTES Sun Dec 1 17:28:28 2013 (r258800) +++ projects/random_number_generator/sys/conf/NOTES Sun Dec 1 17:29:00 2013 (r258801) @@ -2958,6 +2958,6 @@ options BROOKTREE_ALLOC_PAGES=(217*4+1) options MAXFILES=999 # Random number generator -options RANDOM_YARROW # Yarrow RNG -##options RANDOM_FORTUNA # Fortuna RNG - not yet implemented +options RANDOM_YARROW # Yarrow RNG (Default) +options RANDOM_FORTUNA # Fortuna RNG options RANDOM_DEBUG # Debugging messages Modified: projects/random_number_generator/sys/conf/files ============================================================================== --- projects/random_number_generator/sys/conf/files Sun Dec 1 17:28:28 2013 (r258800) +++ projects/random_number_generator/sys/conf/files Sun Dec 1 17:29:00 2013 (r258801) @@ -2049,6 +2049,7 @@ dev/random/live_entropy_sources.c option dev/random/random_harvestq.c optional random dev/random/randomdev_soft.c optional random dev/random/yarrow.c optional random +dev/random/fortuna.c optional random dev/random/hash.c optional random dev/rc/rc.c optional rc dev/re/if_re.c optional re Modified: projects/random_number_generator/sys/dev/random/dummy_rng.c ============================================================================== --- projects/random_number_generator/sys/dev/random/dummy_rng.c Sun Dec 1 17:28:28 2013 (r258800) +++ projects/random_number_generator/sys/dev/random/dummy_rng.c Sun Dec 1 17:29:00 2013 (r258801) @@ -57,9 +57,13 @@ dummy_random(void) /* ARGSUSED */ static void -dummy_random_init(struct mtx *mtx __unused) +dummy_random_init(void) { +#ifdef RANDOM_DEBUG + printf("random: %s\n", __func__); +#endif + randomdev_init_reader(dummy_random_read_phony); } @@ -79,12 +83,12 @@ dummy_random_init(struct mtx *mtx __unus * Caveat Emptor. */ u_int -dummy_random_read_phony(void *buf, u_int count) +dummy_random_read_phony(uint8_t *buf, u_int count) { /* If no entropy device is loaded, don't spam the console with warnings */ static int warned = 0; u_long randval; - int size, i; + size_t size, i; if (!warned) { log(LOG_WARNING, "random device not loaded/active; using insecure pseudo-random number generator\n"); @@ -94,10 +98,10 @@ dummy_random_read_phony(void *buf, u_int /* srandom() is called in kern/init_main.c:proc0_post() */ /* Fill buf[] with random(9) output */ - for (i = 0; i < count; i+= (int)sizeof(u_long)) { + for (i = 0; i < count; i += sizeof(u_long)) { randval = random(); size = MIN(count - i, sizeof(u_long)); - memcpy(&((char *)buf)[i], &randval, (size_t)size); + memcpy(buf + i, &randval, (size_t)size); } return (count); Modified: projects/random_number_generator/sys/dev/random/fortuna.c ============================================================================== --- projects/random_number_generator/sys/dev/random/fortuna.c Sun Dec 1 17:28:28 2013 (r258800) +++ projects/random_number_generator/sys/dev/random/fortuna.c Sun Dec 1 17:29:00 2013 (r258801) @@ -69,6 +69,13 @@ __FBSDID("$FreeBSD$"); #include #endif /* _KERNEL */ +#if !defined(RANDOM_YARROW) && !defined(RANDOM_FORTUNA) +#define RANDOM_YARROW +#elif defined(RANDOM_YARROW) && defined(RANDOM_FORTUNA) +#error "Must define either RANDOM_YARROW or RANDOM_FORTUNA" +#endif +#if defined(RANDOM_FORTUNA) + #define NPOOLS 32 #define MINPOOLSIZE 64 #define DEFPOOLSIZE 256 @@ -106,15 +113,15 @@ static struct fortuna_state { /* Extras for the OS */ - /* The reseed thread mutex */ - mtx_t *reseed_mtx; - #ifdef _KERNEL /* For use when 'pacing' the reseeds */ sbintime_t lasttime; #endif } fortuna_state; +/* The random_reseed_mtx mutex protects seeding and polling/blocking. */ +static struct mtx random_reseed_mtx; + static struct fortuna_start_cache { uint8_t junk[PAGE_SIZE]; size_t length; @@ -122,11 +129,12 @@ static struct fortuna_start_cache { } fortuna_start_cache; #ifdef _KERNEL +static struct sysctl_ctx_list random_clist; RANDOM_CHECK_UINT(minpoolsize, MINPOOLSIZE, MAXPOOLSIZE); #endif void -random_fortuna_init_alg(struct sysctl_ctx_list *clist, mtx_t *lock) +random_fortuna_init_alg(void) { int i; #ifdef _KERNEL @@ -142,18 +150,18 @@ random_fortuna_init_alg(struct sysctl_ct randomdev_hash_init(&fortuna_start_cache.hash); /* Set up a lock for the reseed process */ - fortuna_state.reseed_mtx = lock; + mtx_init(&random_reseed_mtx, "reseed mutex", NULL, MTX_DEF); #ifdef _KERNEL /* Fortuna parameters. Do not adjust these unless you have * have a very good clue about what they do! */ - random_fortuna_o = SYSCTL_ADD_NODE(clist, + random_fortuna_o = SYSCTL_ADD_NODE(&random_clist, SYSCTL_STATIC_CHILDREN(_kern_random), OID_AUTO, "fortuna", CTLFLAG_RW, 0, "Fortuna Parameters"); - SYSCTL_ADD_PROC(clist, + SYSCTL_ADD_PROC(&random_clist, SYSCTL_CHILDREN(random_fortuna_o), OID_AUTO, "minpoolsize", CTLTYPE_UINT|CTLFLAG_RW, &fortuna_state.minpoolsize, DEFPOOLSIZE, @@ -192,6 +200,7 @@ random_fortuna_deinit_alg(void) #ifdef RANDOM_DEBUG printf("random: %s\n", __func__); #endif + mtx_destroy(&random_reseed_mtx); memset((void *)(&fortuna_state), 0, sizeof(struct fortuna_state)); } @@ -203,7 +212,7 @@ random_fortuna_process_event(struct harv u_int pl; /* We must be locked for all this as plenty of state gets messed with */ - mtx_lock(fortuna_state.reseed_mtx); + mtx_lock(&random_reseed_mtx); /* Accumulate the event into the appropriate pool * where each event carries the destination information @@ -217,7 +226,7 @@ random_fortuna_process_event(struct harv fortuna_state.pool[pl].length = MIN(fortuna_state.pool[pl].length, MAXPOOLSIZE); /* Done with state-messing */ - mtx_unlock(fortuna_state.reseed_mtx); + mtx_unlock(&random_reseed_mtx); } /* F&S - Reseed() */ @@ -233,7 +242,7 @@ reseed(uint8_t *junk, u_int length) printf("random: %s %d %u\n", __func__, (fortuna_state.counter.whole != 0ULL), length); #endif #ifdef _KERNEL - mtx_assert(fortuna_state.reseed_mtx, MA_OWNED); + mtx_assert(&random_reseed_mtx, MA_OWNED); #endif /* F&S - temp = H(K|s) */ @@ -313,7 +322,7 @@ random_fortuna_read(uint8_t *buf, u_int u_int seedlength; /* We must be locked for all this as plenty of state gets messed with */ - mtx_lock(fortuna_state.reseed_mtx); + mtx_lock(&random_reseed_mtx); /* if buf == NULL and bytecount == 0 then this is the pre-read. */ /* if buf == NULL and bytecount != 0 then this is the post-read; ignore. */ @@ -378,7 +387,7 @@ random_fortuna_read(uint8_t *buf, u_int else random_fortuna_genrandom(buf, bytecount); - mtx_unlock(fortuna_state.reseed_mtx); + mtx_unlock(&random_reseed_mtx); } /* Internal function to hand external entropy to the PRNG */ @@ -390,7 +399,7 @@ random_fortuna_write(uint8_t *buf, u_int uintmax_t timestamp; /* We must be locked for all this as plenty of state gets messed with */ - mtx_lock(fortuna_state.reseed_mtx); + mtx_lock(&random_reseed_mtx); timestamp = get_cyclecount(); randomdev_hash_iterate(&fortuna_start_cache.hash, ×tamp, sizeof(timestamp)); @@ -415,7 +424,7 @@ random_fortuna_write(uint8_t *buf, u_int reseed(fortuna_start_cache.junk, MIN(PAGE_SIZE, fortuna_start_cache.length)); memset((void *)(fortuna_start_cache.junk), 0, sizeof(fortuna_start_cache.junk)); - mtx_unlock(fortuna_state.reseed_mtx); + mtx_unlock(&random_reseed_mtx); } void @@ -431,3 +440,5 @@ random_fortuna_seeded(void) return (fortuna_state.counter.whole != 0ULL); } + +#endif /* RANDOM_FORTUNA */ Modified: projects/random_number_generator/sys/dev/random/fortuna.h ============================================================================== --- projects/random_number_generator/sys/dev/random/fortuna.h Sun Dec 1 17:28:28 2013 (r258800) +++ projects/random_number_generator/sys/dev/random/fortuna.h Sun Dec 1 17:29:00 2013 (r258801) @@ -33,7 +33,7 @@ typedef struct mtx mtx_t; #endif -void random_fortuna_init_alg(struct sysctl_ctx_list *, mtx_t *); +void random_fortuna_init_alg(void); void random_fortuna_deinit_alg(void); void random_fortuna_read(uint8_t *, u_int); void random_fortuna_write(uint8_t *, u_int); Modified: projects/random_number_generator/sys/dev/random/ivy.c ============================================================================== --- projects/random_number_generator/sys/dev/random/ivy.c Sun Dec 1 17:28:28 2013 (r258800) +++ projects/random_number_generator/sys/dev/random/ivy.c Sun Dec 1 17:29:00 2013 (r258801) @@ -133,4 +133,4 @@ rdrand_modevent(module_t mod, int type, DEV_MODULE(rdrand, rdrand_modevent, NULL); MODULE_VERSION(rdrand, 1); -MODULE_DEPEND(rdrand, randomdev, 1, 1, 1); +MODULE_DEPEND(rdrand, random_adaptors, 1, 1, 1); Modified: projects/random_number_generator/sys/dev/random/live_entropy_sources.c ============================================================================== --- projects/random_number_generator/sys/dev/random/live_entropy_sources.c Sun Dec 1 17:28:28 2013 (r258800) +++ projects/random_number_generator/sys/dev/random/live_entropy_sources.c Sun Dec 1 17:29:00 2013 (r258801) @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -169,8 +170,8 @@ live_entropy_sources_feed(void) sx_sunlock(&les_lock); } -static void -live_entropy_sources_init(void *unused) +void +live_entropy_sources_init(void) { SYSCTL_PROC(_kern_random, OID_AUTO, live_entropy_sources, @@ -181,14 +182,9 @@ live_entropy_sources_init(void *unused) sx_init(&les_lock, "live_entropy_sources"); } -static void -live_entropy_sources_deinit(void *unused) +void +live_entropy_sources_deinit(void) { sx_destroy(&les_lock); } - -SYSINIT(random_adaptors, SI_SUB_DRIVERS, SI_ORDER_FIRST, - live_entropy_sources_init, NULL); -SYSUNINIT(random_adaptors, SI_SUB_DRIVERS, SI_ORDER_FIRST, - live_entropy_sources_deinit, NULL); Modified: projects/random_number_generator/sys/dev/random/live_entropy_sources.h ============================================================================== --- projects/random_number_generator/sys/dev/random/live_entropy_sources.h Sun Dec 1 17:28:28 2013 (r258800) +++ projects/random_number_generator/sys/dev/random/live_entropy_sources.h Sun Dec 1 17:29:00 2013 (r258801) @@ -50,6 +50,8 @@ struct live_entropy_sources { extern struct mtx live_mtx; +void live_entropy_sources_init(void); +void live_entropy_sources_deinit(void); void live_entropy_source_register(struct live_entropy_source *); void live_entropy_source_deregister(struct live_entropy_source *); void live_entropy_sources_feed(void); Modified: projects/random_number_generator/sys/dev/random/nehemiah.c ============================================================================== --- projects/random_number_generator/sys/dev/random/nehemiah.c Sun Dec 1 17:28:28 2013 (r258800) +++ projects/random_number_generator/sys/dev/random/nehemiah.c Sun Dec 1 17:29:00 2013 (r258801) @@ -157,4 +157,4 @@ nehemiah_modevent(module_t mod, int type DEV_MODULE(nehemiah, nehemiah_modevent, NULL); MODULE_VERSION(nehemiah, 1); -MODULE_DEPEND(nehemiah, randomdev, 1, 1, 1); +MODULE_DEPEND(nehemiah, random_adaptors, 1, 1, 1); Modified: projects/random_number_generator/sys/dev/random/random_adaptors.c ============================================================================== --- projects/random_number_generator/sys/dev/random/random_adaptors.c Sun Dec 1 17:28:28 2013 (r258800) +++ projects/random_number_generator/sys/dev/random/random_adaptors.c Sun Dec 1 17:29:00 2013 (r258801) @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -52,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include /* The random_adaptors_lock protects random_adaptors_list and friends and random_adaptor. * We need a sleepable lock for uiomove/block/poll/sbuf/sysctl. @@ -68,12 +70,6 @@ static struct mtx random_read_rate_mtx; static int random_adaptor_read_rate_cache; /* End of data items requiring random_readrate_mtx mutex protection */ -/* The random_reseed_mtx mutex protects seeding and polling/blocking. - * This is passed into the software entropy hasher/processor. - */ -static struct mtx random_reseed_mtx; -/* End of data items requiring random_reseed_mtx mutex protection */ - static struct selinfo rsel; /* Utility routine to change active adaptor when the random_adaptors_list @@ -147,7 +143,7 @@ random_adaptor_choose(void) #endif if (random_adaptor_previous != NULL) (random_adaptor_previous->ra_deinit)(); - (random_adaptor->ra_init)(&random_reseed_mtx); + (random_adaptor->ra_init)(); } } @@ -200,12 +196,14 @@ random_adaptor_read(struct cdev *dev __u int c, error; ssize_t nbytes; +#ifdef RANDOM_DEBUG_VERBOSE + printf("random: %s %ld\n", __func__, uio->uio_resid); +#endif + KASSERT(random_adaptor != NULL, ("No active random adaptor in %s", __func__)); sx_slock(&random_adaptors_lock); - mtx_lock(&random_reseed_mtx); - /* Let the entropy source do any pre-read setup. */ (random_adaptor->ra_read)(NULL, 0); @@ -218,14 +216,12 @@ random_adaptor_read(struct cdev *dev __u } /* Sleep instead of going into a spin-frenzy */ - msleep(&random_adaptor, &random_reseed_mtx, PUSER | PCATCH, "block", hz/10); + tsleep(&random_adaptor, PUSER | PCATCH, "block", hz/10); /* keep tapping away at the pre-read until we seed/unblock. */ (random_adaptor->ra_read)(NULL, 0); } - mtx_unlock(&random_reseed_mtx); - mtx_lock(&random_read_rate_mtx); /* The read-rate stuff is a rough indication of the instantaneous read rate, @@ -284,6 +280,10 @@ random_adaptor_write(struct cdev *dev __ int c, error = 0; void *random_buf; +#ifdef RANDOM_DEBUG + printf("random: %s %ld\n", __func__, uio->uio_resid); +#endif + KASSERT(random_adaptor != NULL, ("No active random adaptor in %s", __func__)); sx_slock(&random_adaptors_lock); @@ -291,11 +291,14 @@ random_adaptor_write(struct cdev *dev __ random_buf = (void *)malloc(PAGE_SIZE, M_ENTROPY, M_WAITOK); while (uio->uio_resid > 0) { - c = MIN((int)uio->uio_resid, PAGE_SIZE); + c = MIN(uio->uio_resid, PAGE_SIZE); error = uiomove(random_buf, c, uio); if (error) break; (random_adaptor->ra_write)(random_buf, c); + + /* Introduce an annoying delay to stop swamping */ + tsleep(&random_adaptor, PUSER | PCATCH, "block", hz/10); } free(random_buf, M_ENTROPY); @@ -310,17 +313,21 @@ int random_adaptor_poll(struct cdev *dev __unused, int events, struct thread *td __unused) { +#ifdef RANDOM_DEBUG + printf("random: %s\n", __func__); +#endif + KASSERT(random_adaptor != NULL, ("No active random adaptor in %s", __func__)); sx_slock(&random_adaptors_lock); - mtx_lock(&random_reseed_mtx); + if (events & (POLLIN | POLLRDNORM)) { if (random_adaptor->ra_seeded()) events &= (POLLIN | POLLRDNORM); else selrecord(td, &rsel); } - mtx_unlock(&random_reseed_mtx); + sx_sunlock(&random_adaptors_lock); return (events); @@ -331,8 +338,6 @@ void random_adaptor_unblock(void) { - mtx_assert(&random_reseed_mtx, MA_OWNED); - selwakeuppri(&rsel, PUSER); wakeup(&random_adaptor); printf("random: unblocking device.\n"); @@ -385,46 +390,53 @@ random_sysctl_active_adaptor_handler(SYS return (error); } -/* ARGSUSED */ -static void -random_adaptors_init(void *unused __unused) +void +random_adaptors_init(void) { +#ifdef RANDOM_DEBUG + printf("random: %s\n", __func__); +#endif + SYSCTL_PROC(_kern_random, OID_AUTO, adaptors, CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, - NULL, 0, random_sysctl_adaptors_handler, "", + NULL, 0, random_sysctl_adaptors_handler, "A", "Random Number Generator adaptors"); SYSCTL_PROC(_kern_random, OID_AUTO, active_adaptor, CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, - NULL, 0, random_sysctl_active_adaptor_handler, "", + NULL, 0, random_sysctl_active_adaptor_handler, "A", "Active Random Number Generator Adaptor"); sx_init(&random_adaptors_lock, "random_adaptors"); - mtx_init(&random_reseed_mtx, "reseed mutex", NULL, MTX_DEF); + mtx_init(&random_read_rate_mtx, "read rate mutex", NULL, MTX_DEF); /* The dummy adaptor is not a module by itself, but part of the * randomdev module. */ random_adaptor_register("dummy", &randomdev_dummy); + + live_entropy_sources_init(); } -SYSINIT(random_adaptors, SI_SUB_DRIVERS, SI_ORDER_FIRST, - random_adaptors_init, NULL); -/* ARGSUSED */ -static void -random_adaptors_deinit(void *unused __unused) +void +random_adaptors_deinit(void) { + +#ifdef RANDOM_DEBUG + printf("random: %s\n", __func__); +#endif + + live_entropy_sources_deinit(); + /* Don't do this! Panic will surely follow! */ /* random_adaptor_deregister("dummy"); */ - mtx_destroy(&random_reseed_mtx); + mtx_destroy(&random_read_rate_mtx); sx_destroy(&random_adaptors_lock); } -SYSUNINIT(random_adaptors, SI_SUB_DRIVERS, SI_ORDER_FIRST, - random_adaptors_deinit, NULL); /* * First seed. @@ -459,9 +471,7 @@ random_adaptors_seed(void *unused __unus KASSERT(random_adaptor != NULL, ("No active random adaptor in %s", __func__)); sx_slock(&random_adaptors_lock); - mtx_lock(&random_reseed_mtx); random_adaptor->ra_reseed(); - mtx_unlock(&random_reseed_mtx); sx_sunlock(&random_adaptors_lock); arc4rand(NULL, 0, 1); Modified: projects/random_number_generator/sys/dev/random/random_adaptors.h ============================================================================== --- projects/random_number_generator/sys/dev/random/random_adaptors.h Sun Dec 1 17:28:28 2013 (r258800) +++ projects/random_number_generator/sys/dev/random/random_adaptors.h Sun Dec 1 17:29:00 2013 (r258801) @@ -31,7 +31,7 @@ MALLOC_DECLARE(M_ENTROPY); -typedef void random_adaptor_init_func_t(struct mtx *); +typedef void random_adaptor_init_func_t(void); typedef void random_adaptor_deinit_func_t(void); typedef void random_adaptor_read_func_t(uint8_t *, u_int); typedef void random_adaptor_write_func_t(uint8_t *, u_int); @@ -58,6 +58,9 @@ struct random_adaptors { /* Dummy "always-block" pseudo-device */ extern struct random_adaptor randomdev_dummy; +void random_adaptors_init(void); +void random_adaptors_deinit(void); + void random_adaptor_register(const char *, struct random_adaptor *); void random_adaptor_deregister(const char *); Modified: projects/random_number_generator/sys/dev/random/random_harvestq.c ============================================================================== --- projects/random_number_generator/sys/dev/random/random_harvestq.c Sun Dec 1 17:28:28 2013 (r258800) +++ projects/random_number_generator/sys/dev/random/random_harvestq.c Sun Dec 1 17:29:00 2013 (r258801) @@ -90,7 +90,7 @@ void (*harvest_process_event)(struct har /* Allow the sysadmin to select the broad category of * entropy types to harvest. */ -static u_int harvest_source_mask = ((1<= 0; i--) - sbuf_cat(&sbuf, (harvest_source_mask & (1<= 0; i--) + sbuf_cat(&sbuf, (harvest_source_mask & (1U << i)) ? "1" : "0"); error = sbuf_finish(&sbuf); sbuf_delete(&sbuf); } @@ -226,9 +226,10 @@ random_print_harvestmask_symbolic(SYSCTL error = sysctl_wire_old_buffer(req, 0); if (error == 0) { sbuf_new_for_sysctl(&sbuf, NULL, 128, req); - for (i = ENTROPYSOURCE - 1; i >= 0; i--) - sbuf_cat(&sbuf, (i == ENTROPYSOURCE - 1) ? "" : ","); - sbuf_cat(&sbuf, (harvest_source_mask & (1<= 0; i--) { + sbuf_cat(&sbuf, (i == RANDOM_ENVIRONMENTAL_END - 1) ? "" : ","); + sbuf_cat(&sbuf, (harvest_source_mask & (1U << i)) ? random_source_descr[i] : ""); + } error = sbuf_finish(&sbuf); sbuf_delete(&sbuf); } @@ -257,7 +258,7 @@ random_harvestq_init(void (*event_proces SYSCTL_ADD_PROC(&random_clist, SYSCTL_CHILDREN(random_sys_o), OID_AUTO, "mask", CTLTYPE_UINT | CTLFLAG_RW, - &harvest_source_mask, ((1<oid_arg1 != NULL && *(u_int *)(oidp->oid_arg1) != 0) - *(u_int *)(oidp->oid_arg1) = 1; - return (sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, req)); -} - void -randomdev_init(struct mtx *mtx) +randomdev_init(void) { - struct sysctl_oid *random_sys_o; - -#if defined(RANDOM_YARROW) - random_yarrow_init_alg(&random_clist, mtx); -#endif -#if defined(RANDOM_FORTUNA) - random_fortuna_init_alg(&random_clist, mtx); -#endif - random_sys_o = SYSCTL_ADD_NODE(&random_clist, - SYSCTL_STATIC_CHILDREN(_kern_random), - OID_AUTO, "sys", CTLFLAG_RW, 0, - "Entropy Device Parameters"); - - SYSCTL_ADD_PROC(&random_clist, - SYSCTL_CHILDREN(random_sys_o), - OID_AUTO, "seeded", CTLTYPE_INT | CTLFLAG_RD, - &random_soft_processor.ra_seeded, 0, random_check_boolean, "I", - "Seeded State"); - - /* Register the randomness processing routine */ #if defined(RANDOM_YARROW) + random_yarrow_init_alg(); random_harvestq_init(random_yarrow_process_event, 2); #endif #if defined(RANDOM_FORTUNA) + random_fortuna_init_alg(); random_harvestq_init(random_fortuna_process_event, 32); #endif @@ -154,8 +124,6 @@ randomdev_deinit(void) #if defined(RANDOM_FORTUNA) random_fortuna_deinit_alg(); #endif - - sysctl_ctx_free(&random_clist); } /* ARGSUSED */ @@ -166,6 +134,7 @@ randomdev_soft_modevent(module_t mod __u switch (type) { case MOD_LOAD: + printf("random: SOFT: %s init()\n", RANDOM_CSPRNG_NAME); random_adaptor_register(RANDOM_CSPRNG_NAME, &random_soft_processor); break; @@ -184,21 +153,21 @@ randomdev_soft_modevent(module_t mod __u return (error); } -#define EARLY_DEV_MODULE(name, evh, arg) \ -static moduledata_t name##_mod = { \ - #name, \ - evh, \ - arg \ -}; \ -DECLARE_MODULE(name, name##_mod, SI_SUB_DRIVERS, SI_ORDER_SECOND) +#define MID_DEV_MODULE(name, evh, arg) \ +static moduledata_t name##_mod = { \ + #name, \ + evh, \ + arg \ +}; \ +DECLARE_MODULE(name, name##_mod, SI_SUB_DRIVERS, SI_ORDER_MIDDLE) #if defined(RANDOM_YARROW) -EARLY_DEV_MODULE(yarrow, randomdev_soft_modevent, NULL); +MID_DEV_MODULE(yarrow, randomdev_soft_modevent, NULL); MODULE_VERSION(yarrow, 1); -MODULE_DEPEND(yarrow, randomdev, 1, 1, 1); +MODULE_DEPEND(yarrow, random_adaptors, 1, 1, 1); #endif #if defined(RANDOM_FORTUNA) -EARLY_DEV_MODULE(fortuna, randomdev_soft_modevent, NULL); +MID_DEV_MODULE(fortuna, randomdev_soft_modevent, NULL); MODULE_VERSION(fortuna, 1); -MODULE_DEPEND(fortuna, randomdev, 1, 1, 1); +MODULE_DEPEND(fortuna, random_adaptors, 1, 1, 1); #endif Modified: projects/random_number_generator/sys/dev/random/randomdev_soft.h ============================================================================== --- projects/random_number_generator/sys/dev/random/randomdev_soft.h Sun Dec 1 17:28:28 2013 (r258800) +++ projects/random_number_generator/sys/dev/random/randomdev_soft.h Sun Dec 1 17:29:00 2013 (r258801) @@ -33,9 +33,7 @@ * specific to the entropy processor */ -void randomdev_init(struct mtx *); +void randomdev_init(void); void randomdev_deinit(void); -extern struct mtx random_reseed_mtx; - #endif Modified: projects/random_number_generator/sys/dev/random/yarrow.c ============================================================================== --- projects/random_number_generator/sys/dev/random/yarrow.c Sun Dec 1 17:28:28 2013 (r258800) +++ projects/random_number_generator/sys/dev/random/yarrow.c Sun Dec 1 17:29:00 2013 (r258801) @@ -69,6 +69,13 @@ __FBSDID("$FreeBSD$"); #include #endif /* _KERNEL */ +#if !defined(RANDOM_YARROW) && !defined(RANDOM_FORTUNA) +#define RANDOM_YARROW +#elif defined(RANDOM_YARROW) && defined(RANDOM_FORTUNA) +#error "Must define either RANDOM_YARROW or RANDOM_FORTUNA" +#endif +#if defined(RANDOM_YARROW) + #define TIMEBIN 16 /* max value for Pt/t */ #define FAST 0 @@ -99,17 +106,19 @@ static struct yarrow_state { u_int thresh; /* pool reseed threshhold */ struct randomdev_hash hash; /* accumulated entropy */ } pool[2]; /* pool[0] is fast, pool[1] is slow */ - mtx_t *reseed_mtx; /* The reseed thread mutex */ int seeded; + + struct start_cache { + uint8_t junk[KEYSIZE]; + struct randomdev_hash hash; + } start_cache; } yarrow_state; -static struct yarrow_start_cache { - uint8_t junk[PAGE_SIZE]; - size_t length; - struct randomdev_hash hash; -} yarrow_start_cache; +/* The random_reseed_mtx mutex protects seeding and polling/blocking. */ +static struct mtx random_reseed_mtx; #ifdef _KERNEL +static struct sysctl_ctx_list random_clist; RANDOM_CHECK_UINT(gengateinterval, 4, 64); RANDOM_CHECK_UINT(bins, 2, 16); RANDOM_CHECK_UINT(fastthresh, (BLOCKSIZE*8)/4, (BLOCKSIZE*8)); /* Bit counts */ @@ -123,7 +132,7 @@ static void generator_gate(void); static void reseed(u_int); void -random_yarrow_init_alg(struct sysctl_ctx_list *clist, mtx_t *mtx) +random_yarrow_init_alg(void) { int i, j; #ifdef _KERNEL @@ -134,12 +143,11 @@ random_yarrow_init_alg(struct sysctl_ctx printf("random: %s\n", __func__); #endif - memset((void *)(yarrow_start_cache.junk), 0, PAGE_SIZE); - yarrow_start_cache.length = 0U; - randomdev_hash_init(&yarrow_start_cache.hash); + memset((void *)(yarrow_state.start_cache.junk), 0, KEYSIZE); + randomdev_hash_init(&yarrow_state.start_cache.hash); /* Set up the lock for the reseed/gate state */ - yarrow_state.reseed_mtx = mtx; + mtx_init(&random_reseed_mtx, "reseed mutex", NULL, MTX_DEF); /* Start unseeded, therefore blocked. */ yarrow_state.seeded = 0; @@ -148,40 +156,40 @@ random_yarrow_init_alg(struct sysctl_ctx /* Yarrow parameters. Do not adjust these unless you have * have a very good clue about what they do! */ - random_yarrow_o = SYSCTL_ADD_NODE(clist, + random_yarrow_o = SYSCTL_ADD_NODE(&random_clist, SYSCTL_STATIC_CHILDREN(_kern_random), OID_AUTO, "yarrow", CTLFLAG_RW, 0, "Yarrow Parameters"); - SYSCTL_ADD_PROC(clist, + SYSCTL_ADD_PROC(&random_clist, SYSCTL_CHILDREN(random_yarrow_o), OID_AUTO, "gengateinterval", CTLTYPE_INT|CTLFLAG_RW, &yarrow_state.gengateinterval, 10, random_check_uint_gengateinterval, "I", "Generation gate interval"); - SYSCTL_ADD_PROC(clist, + SYSCTL_ADD_PROC(&random_clist, SYSCTL_CHILDREN(random_yarrow_o), OID_AUTO, "bins", CTLTYPE_INT|CTLFLAG_RW, &yarrow_state.bins, 10, random_check_uint_bins, "I", "Execution time tuner"); - SYSCTL_ADD_PROC(clist, + SYSCTL_ADD_PROC(&random_clist, SYSCTL_CHILDREN(random_yarrow_o), OID_AUTO, "fastthresh", CTLTYPE_INT|CTLFLAG_RW, &yarrow_state.pool[0].thresh, (3*(BLOCKSIZE*8))/4, random_check_uint_fastthresh, "I", "Fast reseed threshold"); - SYSCTL_ADD_PROC(clist, + SYSCTL_ADD_PROC(&random_clist, SYSCTL_CHILDREN(random_yarrow_o), OID_AUTO, "slowthresh", CTLTYPE_INT|CTLFLAG_RW, &yarrow_state.pool[1].thresh, (BLOCKSIZE*8), random_check_uint_slowthresh, "I", "Slow reseed threshold"); - SYSCTL_ADD_PROC(clist, + SYSCTL_ADD_PROC(&random_clist, SYSCTL_CHILDREN(random_yarrow_o), OID_AUTO, "slowoverthresh", CTLTYPE_INT|CTLFLAG_RW, &yarrow_state.slowoverthresh, 2, @@ -195,6 +203,9 @@ random_yarrow_init_alg(struct sysctl_ctx yarrow_state.pool[SLOW].thresh = (BLOCKSIZE*8); yarrow_state.slowoverthresh = 2; + /* Ensure that the first time we read, we are gated. */ + yarrow_state.outputblocks = yarrow_state.gengateinterval; + /* Initialise the fast and slow entropy pools */ for (i = FAST; i <= SLOW; i++) { randomdev_hash_init(&yarrow_state.pool[i].hash); @@ -213,7 +224,10 @@ random_yarrow_deinit_alg(void) #ifdef RANDOM_DEBUG printf("random: %s\n", __func__); #endif + mtx_destroy(&random_reseed_mtx); memset((void *)(&yarrow_state), 0, sizeof(struct yarrow_state)); + + sysctl_ctx_free(&random_clist); } static __inline void @@ -223,7 +237,7 @@ random_yarrow_post_insert(void) enum random_entropy_source src; #ifdef _KERNEL - mtx_assert(yarrow_state.reseed_mtx, MA_OWNED); + mtx_assert(&random_reseed_mtx, MA_OWNED); #endif /* Count the over-threshold sources in each pool */ for (pl = 0; pl < 2; pl++) { @@ -249,7 +263,7 @@ random_yarrow_process_event(struct harve { u_int pl; - mtx_lock(yarrow_state.reseed_mtx); + mtx_lock(&random_reseed_mtx); /* Accumulate the event into the appropriate pool * where each event carries the destination information. @@ -262,12 +276,12 @@ random_yarrow_process_event(struct harve random_yarrow_post_insert(); - mtx_unlock(yarrow_state.reseed_mtx); + mtx_unlock(&random_reseed_mtx); } -/* Process a block of raw stochastic data */ +/* Process a block of data suspected to be slightly stochastic */ static void -random_yarrow_process_buffer(uint8_t *buf, u_int length, enum random_entropy_source src, u_int bits) +random_yarrow_process_buffer(uint8_t *buf, u_int length) { static struct harvest_event event; u_int i, pl; @@ -277,20 +291,40 @@ random_yarrow_process_buffer(uint8_t *bu * We lock against pool state modification which can happen * during accumulation/reseeding and reading/regating */ - memset(event.he_entropy + 4, 0, HARVESTSIZE - 4); - for (i = 0; i < (length + 3)/4; i++) { + memset(event.he_entropy + sizeof(uint32_t), 0, HARVESTSIZE - sizeof(uint32_t)); + for (i = 0; i < length/sizeof(uint32_t); i++) { event.he_somecounter = get_cyclecount(); - event.he_bits = bits; - event.he_source = src; - event.he_destination = harvest_destination[src]++; - event.he_size = 4; + event.he_bits = 0; /* Fake */ + event.he_source = RANDOM_CACHED; + event.he_destination = harvest_destination[RANDOM_CACHED]++; + event.he_size = sizeof(uint32_t); *((uint32_t *)event.he_entropy) = *((uint32_t *)buf + i); /* Do the actual entropy insertion */ pl = event.he_destination % 2; randomdev_hash_iterate(&yarrow_state.pool[pl].hash, &event, sizeof(event)); - yarrow_state.pool[pl].source[src].bits += bits; +#ifdef DONT_DO_THIS_HERE + /* Don't do this here - do it in bulk at the end */ + yarrow_state.pool[pl].source[RANDOM_CACHED].bits += bits; +#endif +#ifdef RANDOM_DEBUG_VERBOSE + printf("random: %s - ", __func__); + printf(" %jX", event.he_somecounter); + printf(" %u", event.he_bits); + printf(" %u", event.he_source); + printf(" %u", event.he_destination); + printf(" %u", event.he_size); + printf(" %X", *((uint32_t *)(&event.he_entropy))); + printf("\n"); +#endif + } +#ifdef RANDOM_DEBUG_VERBOSE + printf("random: %s - ", __func__); + printf(" bit contribution magical guess is %u\n", length >> 4); +#endif + for (pl = FAST; pl <= SLOW; pl++) + yarrow_state.pool[pl].source[RANDOM_CACHED].bits += (length >> 4); random_yarrow_post_insert(); } @@ -312,7 +346,9 @@ reseed(u_int fastslow) KASSERT(yarrow_state.pool[SLOW].thresh > 0, ("random: Yarrow slow threshold = 0")); #ifdef RANDOM_DEBUG - printf("random: %s - (%d) %s reseed\n", __func__, yarrow_state.seeded, (fastslow == FAST ? "FAST" : "SLOW")); +#ifdef RANDOM_DEBUG_VERBOSE + printf("random: %s %s\n", __func__, (fastslow == FAST ? "FAST" : "SLOW")); +#endif if (!yarrow_state.seeded) { printf("random: %s - fast - thresh %d,1 - ", __func__, yarrow_state.pool[FAST].thresh); for (i = RANDOM_START; i < ENTROPYSOURCE; i++) @@ -325,7 +361,7 @@ reseed(u_int fastslow) } #endif #ifdef _KERNEL - mtx_assert(yarrow_state.reseed_mtx, MA_OWNED); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sun Dec 1 17:37:12 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 92BF4648; Sun, 1 Dec 2013 17:37:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 7B0AC117F; Sun, 1 Dec 2013 17:37:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1HbC4K033303; Sun, 1 Dec 2013 17:37:12 GMT (envelope-from markm@svn.freebsd.org) Received: (from markm@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1Hb3Ek033163; Sun, 1 Dec 2013 17:37:03 GMT (envelope-from markm@svn.freebsd.org) Message-Id: <201312011737.rB1Hb3Ek033163@svn.freebsd.org> From: Mark Murray Date: Sun, 1 Dec 2013 17:37:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258803 - in projects/random_number_generator: . bin/sh bin/test lib lib/libc/sparc64/fpu lib/libc/sys lib/libc/xdr lib/libpjdlog release sbin share/mk sys/amd64/pci sys/amd64/vmm/intel... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Dec 2013 17:37:12 -0000 Author: markm Date: Sun Dec 1 17:37:03 2013 New Revision: 258803 URL: http://svnweb.freebsd.org/changeset/base/258803 Log: MFC - tracking commit. Added: projects/random_number_generator/lib/libpjdlog/ - copied from r258802, head/lib/libpjdlog/ projects/random_number_generator/sys/sys/sf_sync.h - copied unchanged from r258802, head/sys/sys/sf_sync.h Modified: projects/random_number_generator/Makefile.inc1 projects/random_number_generator/bin/sh/cd.c projects/random_number_generator/bin/sh/exec.c projects/random_number_generator/bin/sh/expand.c projects/random_number_generator/bin/sh/memalloc.c projects/random_number_generator/bin/sh/mystring.c projects/random_number_generator/bin/sh/mystring.h projects/random_number_generator/bin/sh/show.c projects/random_number_generator/bin/sh/var.c projects/random_number_generator/bin/test/test.c projects/random_number_generator/lib/Makefile projects/random_number_generator/lib/libc/sparc64/fpu/fpu.c projects/random_number_generator/lib/libc/sparc64/fpu/fpu_sqrt.c projects/random_number_generator/lib/libc/sys/chmod.2 projects/random_number_generator/lib/libc/sys/wait.2 projects/random_number_generator/lib/libc/xdr/xdr_rec.c projects/random_number_generator/release/Makefile projects/random_number_generator/release/release.sh projects/random_number_generator/sbin/Makefile projects/random_number_generator/share/mk/bsd.libnames.mk projects/random_number_generator/sys/amd64/pci/pci_cfgreg.c projects/random_number_generator/sys/amd64/vmm/intel/vmcs.h projects/random_number_generator/sys/amd64/vmm/intel/vmx_controls.h projects/random_number_generator/sys/amd64/vmm/intel/vtd.c projects/random_number_generator/sys/arm/arm/db_trace.c projects/random_number_generator/sys/arm/arm/pl190.c projects/random_number_generator/sys/arm/at91/if_macbvar.h projects/random_number_generator/sys/arm/broadcom/bcm2835/bcm2835_dma.c projects/random_number_generator/sys/arm/econa/if_ece.c projects/random_number_generator/sys/arm/freescale/imx/imx6_anatopreg.h projects/random_number_generator/sys/arm/freescale/imx/imx6_usbphy.c projects/random_number_generator/sys/arm/freescale/imx/imx_gptreg.h projects/random_number_generator/sys/arm/freescale/vybrid/vf_anadig.c projects/random_number_generator/sys/arm/freescale/vybrid/vf_ccm.c projects/random_number_generator/sys/arm/freescale/vybrid/vf_ehci.c projects/random_number_generator/sys/arm/include/armreg.h projects/random_number_generator/sys/arm/lpc/if_lpereg.h projects/random_number_generator/sys/arm/lpc/lpcreg.h projects/random_number_generator/sys/arm/mv/mv_pci.c projects/random_number_generator/sys/arm/samsung/exynos/ehci_exynos5.c projects/random_number_generator/sys/arm/xscale/i8134x/i81342reg.h projects/random_number_generator/sys/arm/xscale/ixp425/ixp425reg.h projects/random_number_generator/sys/boot/arm/at91/libat91/mci_device.h projects/random_number_generator/sys/boot/i386/libfirewire/fwohci.h projects/random_number_generator/sys/boot/i386/libfirewire/fwohcireg.h projects/random_number_generator/sys/compat/freebsd32/freebsd32_misc.c projects/random_number_generator/sys/conf/files.powerpc projects/random_number_generator/sys/dev/aac/aacvar.h projects/random_number_generator/sys/dev/acpica/acpi_video.c projects/random_number_generator/sys/dev/agp/agp_i810.c projects/random_number_generator/sys/dev/ahci/ahci.h projects/random_number_generator/sys/dev/bktr/bktr_core.c projects/random_number_generator/sys/dev/cesa/cesa.h projects/random_number_generator/sys/dev/drm/i915_reg.h projects/random_number_generator/sys/dev/drm/mach64_drv.h projects/random_number_generator/sys/dev/drm/mga_drv.h projects/random_number_generator/sys/dev/drm/r128_drv.h projects/random_number_generator/sys/dev/drm/r300_reg.h projects/random_number_generator/sys/dev/drm/r600_blit.c projects/random_number_generator/sys/dev/drm/radeon_cp.c projects/random_number_generator/sys/dev/drm/radeon_drv.h projects/random_number_generator/sys/dev/drm/via_irq.c projects/random_number_generator/sys/dev/drm2/i915/i915_reg.h projects/random_number_generator/sys/dev/drm2/radeon/evergreen_blit_kms.c projects/random_number_generator/sys/dev/drm2/radeon/evergreen_cs.c projects/random_number_generator/sys/dev/drm2/radeon/evergreend.h projects/random_number_generator/sys/dev/drm2/radeon/nid.h projects/random_number_generator/sys/dev/drm2/radeon/r200.c projects/random_number_generator/sys/dev/drm2/radeon/r300.c projects/random_number_generator/sys/dev/drm2/radeon/r300_reg.h projects/random_number_generator/sys/dev/drm2/radeon/r500_reg.h projects/random_number_generator/sys/dev/drm2/radeon/r600_blit.c projects/random_number_generator/sys/dev/drm2/radeon/r600_blit_kms.c projects/random_number_generator/sys/dev/drm2/radeon/r600_cs.c projects/random_number_generator/sys/dev/drm2/radeon/r600d.h projects/random_number_generator/sys/dev/drm2/radeon/radeon_cp.c projects/random_number_generator/sys/dev/drm2/radeon/radeon_drv.h projects/random_number_generator/sys/dev/drm2/radeon/radeon_reg.h projects/random_number_generator/sys/dev/drm2/radeon/rv770d.h projects/random_number_generator/sys/dev/drm2/radeon/sid.h projects/random_number_generator/sys/dev/drm2/ttm/ttm_bo.c projects/random_number_generator/sys/dev/e1000/e1000_82575.h projects/random_number_generator/sys/dev/e1000/e1000_ich8lan.c projects/random_number_generator/sys/dev/e1000/e1000_regs.h projects/random_number_generator/sys/dev/etherswitch/arswitch/arswitchreg.h projects/random_number_generator/sys/dev/ffec/if_ffecreg.h projects/random_number_generator/sys/dev/firewire/firewire.c projects/random_number_generator/sys/dev/firewire/fwohci.c projects/random_number_generator/sys/dev/firewire/fwohcireg.h projects/random_number_generator/sys/dev/firewire/sbp.c projects/random_number_generator/sys/dev/firewire/sbp.h projects/random_number_generator/sys/dev/firewire/sbp_targ.c projects/random_number_generator/sys/dev/hatm/if_hatmreg.h projects/random_number_generator/sys/dev/hwpmc/hwpmc_piv.h projects/random_number_generator/sys/dev/iscsi/iscsi.c projects/random_number_generator/sys/dev/iwn/if_iwnreg.h projects/random_number_generator/sys/dev/mge/if_mgevar.h projects/random_number_generator/sys/dev/mpt/mpt_cam.c projects/random_number_generator/sys/dev/msk/if_mskreg.h projects/random_number_generator/sys/dev/mvs/mvs.h projects/random_number_generator/sys/dev/mxge/mxge_mcp.h projects/random_number_generator/sys/dev/qlxge/qls_dump.c projects/random_number_generator/sys/dev/ral/rt2560reg.h projects/random_number_generator/sys/dev/ral/rt2661reg.h projects/random_number_generator/sys/dev/ral/rt2860reg.h projects/random_number_generator/sys/dev/sound/pci/hda/hdaa.h projects/random_number_generator/sys/dev/uart/uart_cpu_powerpc.c projects/random_number_generator/sys/dev/usb/controller/ehci.h projects/random_number_generator/sys/dev/usb/wlan/if_rumreg.h projects/random_number_generator/sys/dev/usb/wlan/if_runreg.h projects/random_number_generator/sys/dev/usb/wlan/if_uralreg.h projects/random_number_generator/sys/dev/usb/wlan/if_urtwreg.h projects/random_number_generator/sys/dev/usb/wlan/if_zydreg.h projects/random_number_generator/sys/dev/wpi/if_wpireg.h projects/random_number_generator/sys/geom/raid/tr_raid1e.c projects/random_number_generator/sys/i386/pci/pci_cfgreg.c projects/random_number_generator/sys/kern/kern_descrip.c projects/random_number_generator/sys/kern/uipc_syscalls.c projects/random_number_generator/sys/mips/atheros/ar71xxreg.h projects/random_number_generator/sys/mips/atheros/ar934xreg.h projects/random_number_generator/sys/mips/atheros/if_argevar.h projects/random_number_generator/sys/mips/malta/gt_pci.c projects/random_number_generator/sys/mips/nlm/dev/net/nae.c projects/random_number_generator/sys/mips/nlm/xlp_machdep.c projects/random_number_generator/sys/mips/rmi/pic.h projects/random_number_generator/sys/ofed/drivers/infiniband/hw/mlx4/qp.c projects/random_number_generator/sys/ofed/drivers/infiniband/hw/mthca/mthca_mcg.c projects/random_number_generator/sys/ofed/drivers/infiniband/hw/mthca/mthca_qp.c projects/random_number_generator/sys/ofed/drivers/net/mlx4/mcg.c projects/random_number_generator/sys/powerpc/aim/trap_subr32.S projects/random_number_generator/sys/powerpc/aim/trap_subr64.S projects/random_number_generator/sys/powerpc/fpu/fpu_emu.c projects/random_number_generator/sys/powerpc/fpu/fpu_sqrt.c projects/random_number_generator/sys/powerpc/ofw/ofw_machdep.c projects/random_number_generator/sys/powerpc/powermac/nvbl.c projects/random_number_generator/sys/powerpc/powerpc/copyinout.c projects/random_number_generator/sys/sys/consio.h projects/random_number_generator/sys/sys/file.h projects/random_number_generator/sys/ufs/ffs/ffs_softdep.c projects/random_number_generator/sys/x86/iommu/intel_reg.h projects/random_number_generator/usr.sbin/bluetooth/bthidd/kbd.c projects/random_number_generator/usr.sbin/bsdconfig/includes/includes Directory Properties: projects/random_number_generator/ (props changed) projects/random_number_generator/lib/libc/ (props changed) projects/random_number_generator/sbin/ (props changed) projects/random_number_generator/sys/ (props changed) projects/random_number_generator/sys/amd64/vmm/ (props changed) projects/random_number_generator/sys/boot/ (props changed) projects/random_number_generator/sys/conf/ (props changed) Modified: projects/random_number_generator/Makefile.inc1 ============================================================================== --- projects/random_number_generator/Makefile.inc1 Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/Makefile.inc1 Sun Dec 1 17:37:03 2013 (r258803) @@ -1505,7 +1505,7 @@ _prebuild_libs= ${_kerberos5_lib_libasn1 lib/libradius lib/libsbuf lib/libtacplus \ ${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \ ${_cddl_lib_libzfs_core} \ - lib/libutil ${_lib_libypclnt} lib/libz lib/msun \ + lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \ ${_secure_lib_libcrypto} ${_lib_libldns} \ ${_secure_lib_libssh} ${_secure_lib_libssl} @@ -1521,6 +1521,8 @@ _lib_libthr= lib/libthr _ofed_lib= contrib/ofed/usr.lib/ .endif +lib/libpjdlog__L: lib/libutil__L + _generic_libs= ${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib ${_ofed_lib} .for _DIR in ${LOCAL_LIB_DIRS} .if exists(${.CURDIR}/${_DIR}/Makefile) Modified: projects/random_number_generator/bin/sh/cd.c ============================================================================== --- projects/random_number_generator/bin/sh/cd.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/bin/sh/cd.c Sun Dec 1 17:37:03 2013 (r258803) @@ -182,6 +182,7 @@ cdlogical(char *dest) struct stat statb; int first; int badstat; + size_t len; /* * Check each component of the path. If we find a symlink or @@ -189,8 +190,9 @@ cdlogical(char *dest) * next time we get the value of the current directory. */ badstat = 0; - cdcomppath = stalloc(strlen(dest) + 1); - scopy(dest, cdcomppath); + len = strlen(dest); + cdcomppath = stalloc(len + 1); + memcpy(cdcomppath, dest, len + 1); STARTSTACKSTR(p); if (*dest == '/') { STPUTC('/', p); @@ -275,6 +277,7 @@ findcwd(char *dir) { char *new; char *p; + size_t len; /* * If our argument is NULL, we don't know the current directory @@ -283,8 +286,9 @@ findcwd(char *dir) */ if (dir == NULL || curdir == NULL) return getpwd2(); - cdcomppath = stalloc(strlen(dir) + 1); - scopy(dir, cdcomppath); + len = strlen(dir); + cdcomppath = stalloc(len + 1); + memcpy(cdcomppath, dir, len + 1); STARTSTACKSTR(new); if (*dir != '/') { STPUTS(curdir, new); Modified: projects/random_number_generator/bin/sh/exec.c ============================================================================== --- projects/random_number_generator/bin/sh/exec.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/bin/sh/exec.c Sun Dec 1 17:37:03 2013 (r258803) @@ -187,14 +187,15 @@ padvance(const char **path, const char * { const char *p, *start; char *q; - size_t len; + size_t len, namelen; if (*path == NULL) return NULL; start = *path; for (p = start; *p && *p != ':' && *p != '%'; p++) ; /* nothing */ - len = p - start + strlen(name) + 2; /* "2" is for '/' and '\0' */ + namelen = strlen(name); + len = p - start + namelen + 2; /* "2" is for '/' and '\0' */ STARTSTACKSTR(q); CHECKSTRSPACE(len, q); if (p != start) { @@ -202,7 +203,7 @@ padvance(const char **path, const char * q += p - start; *q++ = '/'; } - strcpy(q, name); + memcpy(q, name, namelen + 1); pathopt = NULL; if (*p == '%') { pathopt = ++p; @@ -527,6 +528,7 @@ cmdlookup(const char *name, int add) const char *p; struct tblentry *cmdp; struct tblentry **pp; + size_t len; p = name; hashval = *p << 4; @@ -541,11 +543,11 @@ cmdlookup(const char *name, int add) } if (add && cmdp == NULL) { INTOFF; - cmdp = *pp = ckmalloc(sizeof (struct tblentry) - + strlen(name) + 1); + len = strlen(name); + cmdp = *pp = ckmalloc(sizeof (struct tblentry) + len + 1); cmdp->next = NULL; cmdp->cmdtype = CMDUNKNOWN; - strcpy(cmdp->cmdname, name); + memcpy(cmdp->cmdname, name, len + 1); INTON; } lastcmdentry = pp; Modified: projects/random_number_generator/bin/sh/expand.c ============================================================================== --- projects/random_number_generator/bin/sh/expand.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/bin/sh/expand.c Sun Dec 1 17:37:03 2013 (r258803) @@ -1307,9 +1307,11 @@ addfname(char *name) { char *p; struct strlist *sp; + size_t len; - p = stalloc(strlen(name) + 1); - scopy(name, p); + len = strlen(name); + p = stalloc(len + 1); + memcpy(p, name, len + 1); sp = (struct strlist *)stalloc(sizeof *sp); sp->text = p; *exparg.lastp = sp; Modified: projects/random_number_generator/bin/sh/memalloc.c ============================================================================== --- projects/random_number_generator/bin/sh/memalloc.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/bin/sh/memalloc.c Sun Dec 1 17:37:03 2013 (r258803) @@ -98,9 +98,11 @@ char * savestr(const char *s) { char *p; + size_t len; - p = ckmalloc(strlen(s) + 1); - scopy(s, p); + len = strlen(s); + p = ckmalloc(len + 1); + memcpy(p, s, len + 1); return p; } Modified: projects/random_number_generator/bin/sh/mystring.c ============================================================================== --- projects/random_number_generator/bin/sh/mystring.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/bin/sh/mystring.c Sun Dec 1 17:37:03 2013 (r258803) @@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$"); * String functions. * * equal(s1, s2) Return true if strings are equal. - * scopy(from, to) Copy a string. * number(s) Convert a string of digits to an integer. * is_number(s) Return true if s is a string of digits. */ @@ -60,10 +59,6 @@ char nullstr[1]; /* zero length string * equal - #defined in mystring.h */ -/* - * scopy - #defined in mystring.h - */ - /* * prefix -- see if pfx is a prefix of string. Modified: projects/random_number_generator/bin/sh/mystring.h ============================================================================== --- projects/random_number_generator/bin/sh/mystring.h Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/bin/sh/mystring.h Sun Dec 1 17:37:03 2013 (r258803) @@ -40,4 +40,3 @@ int number(const char *); int is_number(const char *); #define equal(s1, s2) (strcmp(s1, s2) == 0) -#define scopy(s1, s2) ((void)strcpy(s2, s1)) Modified: projects/random_number_generator/bin/sh/show.c ============================================================================== --- projects/random_number_generator/bin/sh/show.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/bin/sh/show.c Sun Dec 1 17:37:03 2013 (r258803) @@ -390,11 +390,11 @@ opentrace(void) else p = "/tmp"; } - scopy(p, s); + strcpy(s, p); strcat(s, "/trace"); } #else - scopy("./trace", s); + strcpy(s, "./trace"); #endif /* not_this_way */ if ((tracefile = fopen(s, "a")) == NULL) { fprintf(stderr, "Can't open %s: %s\n", s, strerror(errno)); Modified: projects/random_number_generator/bin/sh/var.c ============================================================================== --- projects/random_number_generator/bin/sh/var.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/bin/sh/var.c Sun Dec 1 17:37:03 2013 (r258803) @@ -224,8 +224,9 @@ void setvar(const char *name, const char *val, int flags) { const char *p; - int len; - int namelen; + size_t len; + size_t namelen; + size_t vallen; char *nameeq; int isbad; @@ -244,18 +245,20 @@ setvar(const char *name, const char *val } namelen = p - name; if (isbad) - error("%.*s: bad variable name", namelen, name); + error("%.*s: bad variable name", (int)namelen, name); len = namelen + 2; /* 2 is space for '=' and '\0' */ if (val == NULL) { flags |= VUNSET; + vallen = 0; } else { - len += strlen(val); + vallen = strlen(val); + len += vallen; } nameeq = ckmalloc(len); memcpy(nameeq, name, namelen); nameeq[namelen] = '='; if (val) - scopy(val, nameeq + namelen + 1); + memcpy(nameeq + namelen + 1, val, vallen + 1); else nameeq[namelen + 1] = '\0'; setvareq(nameeq, flags); Modified: projects/random_number_generator/bin/test/test.c ============================================================================== --- projects/random_number_generator/bin/test/test.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/bin/test/test.c Sun Dec 1 17:37:03 2013 (r258803) @@ -67,9 +67,18 @@ error(const char *msg, ...) operand ::= */ +enum token_types { + UNOP = 0x100, + BINOP = 0x200, + BUNOP = 0x300, + BBINOP = 0x400, + PAREN = 0x500 +}; + enum token { EOI, - FILRD, + OPERAND, + FILRD = UNOP + 1, FILWR, FILEX, FILEXIST, @@ -85,13 +94,13 @@ enum token { FILSUID, FILSGID, FILSTCK, - FILNT, - FILOT, - FILEQ, - FILUID, - FILGID, STREZ, STRNZ, + FILUID, + FILGID, + FILNT = BINOP + 1, + FILOT, + FILEQ, STREQ, STRNE, STRLT, @@ -102,70 +111,62 @@ enum token { INTGT, INTLE, INTLT, - UNOT, - BAND, + UNOT = BUNOP + 1, + BAND = BBINOP + 1, BOR, - LPAREN, - RPAREN, - OPERAND + LPAREN = PAREN + 1, + RPAREN }; -enum token_types { - UNOP, - BINOP, - BUNOP, - BBINOP, - PAREN -}; +#define TOKEN_TYPE(token) ((token) & 0xff00) static struct t_op { char op_text[4]; - short op_num, op_type; + short op_num; } const ops [] = { - {"-r", FILRD, UNOP}, - {"-w", FILWR, UNOP}, - {"-x", FILEX, UNOP}, - {"-e", FILEXIST,UNOP}, - {"-f", FILREG, UNOP}, - {"-d", FILDIR, UNOP}, - {"-c", FILCDEV,UNOP}, - {"-b", FILBDEV,UNOP}, - {"-p", FILFIFO,UNOP}, - {"-u", FILSUID,UNOP}, - {"-g", FILSGID,UNOP}, - {"-k", FILSTCK,UNOP}, - {"-s", FILGZ, UNOP}, - {"-t", FILTT, UNOP}, - {"-z", STREZ, UNOP}, - {"-n", STRNZ, UNOP}, - {"-h", FILSYM, UNOP}, /* for backwards compat */ - {"-O", FILUID, UNOP}, - {"-G", FILGID, UNOP}, - {"-L", FILSYM, UNOP}, - {"-S", FILSOCK,UNOP}, - {"=", STREQ, BINOP}, - {"==", STREQ, BINOP}, - {"!=", STRNE, BINOP}, - {"<", STRLT, BINOP}, - {">", STRGT, BINOP}, - {"-eq", INTEQ, BINOP}, - {"-ne", INTNE, BINOP}, - {"-ge", INTGE, BINOP}, - {"-gt", INTGT, BINOP}, - {"-le", INTLE, BINOP}, - {"-lt", INTLT, BINOP}, - {"-nt", FILNT, BINOP}, - {"-ot", FILOT, BINOP}, - {"-ef", FILEQ, BINOP}, - {"!", UNOT, BUNOP}, - {"-a", BAND, BBINOP}, - {"-o", BOR, BBINOP}, - {"(", LPAREN, PAREN}, - {")", RPAREN, PAREN}, - {"", 0, 0} + {"-r", FILRD}, + {"-w", FILWR}, + {"-x", FILEX}, + {"-e", FILEXIST}, + {"-f", FILREG}, + {"-d", FILDIR}, + {"-c", FILCDEV}, + {"-b", FILBDEV}, + {"-p", FILFIFO}, + {"-u", FILSUID}, + {"-g", FILSGID}, + {"-k", FILSTCK}, + {"-s", FILGZ}, + {"-t", FILTT}, + {"-z", STREZ}, + {"-n", STRNZ}, + {"-h", FILSYM}, /* for backwards compat */ + {"-O", FILUID}, + {"-G", FILGID}, + {"-L", FILSYM}, + {"-S", FILSOCK}, + {"=", STREQ}, + {"==", STREQ}, + {"!=", STRNE}, + {"<", STRLT}, + {">", STRGT}, + {"-eq", INTEQ}, + {"-ne", INTNE}, + {"-ge", INTGE}, + {"-gt", INTGT}, + {"-le", INTLE}, + {"-lt", INTLT}, + {"-nt", FILNT}, + {"-ot", FILOT}, + {"-ef", FILEQ}, + {"!", UNOT}, + {"-a", BAND}, + {"-o", BOR}, + {"(", LPAREN}, + {")", RPAREN}, + {"", 0} }; -static struct t_op const *t_wp_op; static int nargc; static char **t_wp; static int parenlevel; @@ -295,10 +296,10 @@ primary(enum token n) parenlevel--; return res; } - if (t_wp_op && t_wp_op->op_type == UNOP) { + if (TOKEN_TYPE(n) == UNOP) { /* unary expression */ if (--nargc == 0) - syntax(t_wp_op->op_text, "argument expected"); + syntax(NULL, "argument expected"); /* impossible */ switch (n) { case STREZ: return strlen(*++t_wp) == 0; @@ -311,10 +312,8 @@ primary(enum token n) } } - if (t_lex(nargc > 0 ? t_wp[1] : NULL), t_wp_op && t_wp_op->op_type == - BINOP) { + if (TOKEN_TYPE(t_lex(nargc > 0 ? t_wp[1] : NULL)) == BINOP) return binop(); - } return strlen(*t_wp) > 0; } @@ -322,17 +321,17 @@ primary(enum token n) static int binop(void) { - const char *opnd1, *opnd2; - struct t_op const *op; + const char *opnd1, *op, *opnd2; + enum token n; opnd1 = *t_wp; - (void) t_lex(nargc > 0 ? (--nargc, *++t_wp) : NULL); - op = t_wp_op; + op = nargc > 0 ? t_wp[1] : NULL; + n = t_lex(nargc > 0 ? (--nargc, *++t_wp) : NULL); if ((opnd2 = nargc > 0 ? (--nargc, *++t_wp) : NULL) == NULL) - syntax(op->op_text, "argument expected"); + syntax(op, "argument expected"); - switch (op->op_num) { + switch (n) { case STREQ: return strcmp(opnd1, opnd2) == 0; case STRNE: @@ -424,22 +423,20 @@ t_lex(char *s) struct t_op const *op = ops; if (s == 0) { - t_wp_op = NULL; return EOI; } while (*op->op_text) { if (strcmp(s, op->op_text) == 0) { - if (((op->op_type == UNOP || op->op_type == BUNOP) + if (((TOKEN_TYPE(op->op_num) == UNOP || + TOKEN_TYPE(op->op_num) == BUNOP) && isunopoperand()) || (op->op_num == LPAREN && islparenoperand()) || (op->op_num == RPAREN && isrparenoperand())) break; - t_wp_op = op; return op->op_num; } op++; } - t_wp_op = NULL; return OPERAND; } @@ -458,7 +455,7 @@ isunopoperand(void) t = *(t_wp + 2); while (*op->op_text) { if (strcmp(s, op->op_text) == 0) - return op->op_type == BINOP && + return TOKEN_TYPE(op->op_num) == BINOP && (parenlevel == 0 || t[0] != ')' || t[1] != '\0'); op++; } @@ -480,7 +477,7 @@ islparenoperand(void) return 0; while (*op->op_text) { if (strcmp(s, op->op_text) == 0) - return op->op_type == BINOP; + return TOKEN_TYPE(op->op_num) == BINOP; op++; } return 0; Modified: projects/random_number_generator/lib/Makefile ============================================================================== --- projects/random_number_generator/lib/Makefile Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/lib/Makefile Sun Dec 1 17:37:03 2013 (r258803) @@ -35,6 +35,8 @@ SUBDIR_ORDERED= ${_csu} \ libc_nonshared \ libbsm \ libauditd \ + libutil \ + libpjdlog \ libcompiler_rt \ libcrypt \ libelf \ @@ -49,7 +51,6 @@ SUBDIR_ORDERED= ${_csu} \ librpcsvc \ libsbuf \ libtacplus \ - libutil \ ${_libypclnt} \ ${_libcxxrt} \ ${_libcplusplus} Modified: projects/random_number_generator/lib/libc/sparc64/fpu/fpu.c ============================================================================== --- projects/random_number_generator/lib/libc/sparc64/fpu/fpu.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/lib/libc/sparc64/fpu/fpu.c Sun Dec 1 17:37:03 2013 (r258803) @@ -202,7 +202,7 @@ static const int opmask[] = {0, 0, 1, 3, * Implement a move operation for all supported operand types. The additional * nand and xor parameters will be applied to the upper 32 bit word of the * source operand. This allows to implement fabs and fneg (for fp operands - * only!) using this functions, too, by passing (1 << 31) for one of the + * only!) using this functions, too, by passing (1U << 31) for one of the * parameters, and 0 for the other. */ static void @@ -358,10 +358,10 @@ __fpu_execute(struct utrapframe *uf, str __fpu_mov(fe, type, rd, rs2, 0, 0); return (0); case FOP(INS2_FPop1, INSFP1_FNEG): - __fpu_mov(fe, type, rd, rs2, 0, (1 << 31)); + __fpu_mov(fe, type, rd, rs2, 0, (1U << 31)); return (0); case FOP(INS2_FPop1, INSFP1_FABS): - __fpu_mov(fe, type, rd, rs2, (1 << 31), 0); + __fpu_mov(fe, type, rd, rs2, (1U << 31), 0); return (0); case FOP(INS2_FPop1, INSFP1_FSQRT): __fpu_explode(fe, &fe->fe_f1, type, rs2); Modified: projects/random_number_generator/lib/libc/sparc64/fpu/fpu_sqrt.c ============================================================================== --- projects/random_number_generator/lib/libc/sparc64/fpu/fpu_sqrt.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/lib/libc/sparc64/fpu/fpu_sqrt.c Sun Dec 1 17:37:03 2013 (r258803) @@ -257,7 +257,7 @@ __fpu_sqrt(fe) * double x correctly while doing the `known q=1.0'. * * We do this one mantissa-word at a time, as noted above, to - * save work. To avoid `(1 << 31) << 1', we also do the top bit + * save work. To avoid `(1U << 31) << 1', we also do the top bit * outside of each per-word loop. * * The calculation `t = y + bit' breaks down into `t0 = y0, ..., Modified: projects/random_number_generator/lib/libc/sys/chmod.2 ============================================================================== --- projects/random_number_generator/lib/libc/sys/chmod.2 Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/lib/libc/sys/chmod.2 Sun Dec 1 17:37:03 2013 (r258803) @@ -28,7 +28,7 @@ .\" @(#)chmod.2 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd April 10, 2008 +.Dd December 1, 2013 .Dt CHMOD 2 .Os .Sh NAME @@ -139,21 +139,24 @@ defined in #define S_ISUID 0004000 /* set user id on execution */ #define S_ISGID 0002000 /* set group id on execution */ -#ifndef __BSD_VISIBLE -#define S_ISTXT 0001000 /* sticky bit */ -#endif +#define S_ISVTX 0001000 /* sticky bit */ .Ed .Pp +The non-standard +.Dv S_ISTXT +is a synonym for +.Dv S_ISVTX . +.Pp The .Fx VM system totally ignores the sticky bit -.Pq Dv ISTXT +.Pq Dv S_ISVTX for executables. On UFS-based file systems (FFS, LFS) the sticky bit may only be set upon directories. .Pp If mode -.Dv ISTXT +.Dv S_ISVTX (the `sticky bit') is set on a directory, an unprivileged user may not delete or rename files of other users in that directory. @@ -296,12 +299,15 @@ The system call is expected to conform to .St -p1003.1-90 , except for the return of -.Er EFTYPE -and the use of -.Dv S_ISTXT . +.Er EFTYPE . +The +.Dv S_ISVTX +bit on directories is expected to conform to +.St -susv3 . The .Fn fchmodat -system call follows The Open Group Extended API Set 2 specification. +system call is expected to conform to +.St -p1003.1-2008 . .Sh HISTORY The .Fn chmod Modified: projects/random_number_generator/lib/libc/sys/wait.2 ============================================================================== --- projects/random_number_generator/lib/libc/sys/wait.2 Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/lib/libc/sys/wait.2 Sun Dec 1 17:37:03 2013 (r258803) @@ -48,7 +48,7 @@ .Fn wait "int *status" .Ft pid_t .Fn waitpid "pid_t wpid" "int *status" "int options" -.In sys/signal.h +.In signal.h .Ft int .Fn waitid "idtype_t idtype" "id_t id" "siginfo_t *info" "int options" .In sys/time.h Modified: projects/random_number_generator/lib/libc/xdr/xdr_rec.c ============================================================================== --- projects/random_number_generator/lib/libc/xdr/xdr_rec.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/lib/libc/xdr/xdr_rec.c Sun Dec 1 17:37:03 2013 (r258803) @@ -106,7 +106,7 @@ static const struct xdr_ops xdrrec_ops * meet the needs of xdr and rpc based on tcp. */ -#define LAST_FRAG ((u_int32_t)(1 << 31)) +#define LAST_FRAG ((u_int32_t)(1U << 31)) typedef struct rec_strm { char *tcp_handle; Modified: projects/random_number_generator/release/Makefile ============================================================================== --- projects/random_number_generator/release/Makefile Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/release/Makefile Sun Dec 1 17:37:03 2013 (r258803) @@ -16,6 +16,7 @@ # (by default, the directory above this one) # PORTSDIR: location of ports tree to distribute (default: /usr/ports) # DOCDIR: location of doc tree (default: /usr/doc) +# NOPKG: if set, do not distribute third-party packages # NOPORTS: if set, do not distribute ports tree # NOSRC: if set, do not distribute source tree # NODOC: if set, do not generate release documentation @@ -28,11 +29,15 @@ PORTSDIR?= /usr/ports DOCDIR?= /usr/doc RELNOTES_LANG?= en_US.ISO8859-1 -TARGET?= ${MACHINE} +.if !defined(TARGET) || empty(TARGET) +TARGET= ${MACHINE} +.endif +.if !defined(TARGET_ARCH) || empty(TARGET_ARCH) .if ${TARGET} == ${MACHINE} -TARGET_ARCH?= ${MACHINE_ARCH} +TARGET_ARCH= ${MACHINE_ARCH} .else -TARGET_ARCH?= ${TARGET} +TARGET_ARCH= ${TARGET} +.endif .endif IMAKE= ${MAKE} TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET} DISTDIR= dist @@ -74,7 +79,7 @@ IMAGES= .if exists(${.CURDIR}/${TARGET}/mkisoimages.sh) RELEASE_TARGETS+= cdrom IMAGES+= disc1.iso bootonly.iso -. if(!defined(NODVD)) +. if !defined(NODVD) RELEASE_TARGETS+= dvdrom IMAGES+= dvd1.iso . endif @@ -86,7 +91,12 @@ IMAGES+= memstick.img IMAGES+= mini-memstick.img .endif +CLEANFILES= packagesystem *.txz MANIFEST system ${IMAGES} +CLEANDIRS= dist ftp release bootonly dvd +beforeclean: + chflags -R noschg . .include +clean: beforeclean base.txz: mkdir -p ${DISTDIR} @@ -212,7 +222,7 @@ packagesystem: base.txz kernel.txz ${EXT touch ${.TARGET} pkg-stage: -.if(exists(${.CURDIR}/${TARGET}/pkg-stage.conf)) +.if !defined(NOPKG) && exists(${.CURDIR}/${TARGET}/pkg-stage.conf) sh ${.CURDIR}/scripts/pkg-stage.sh ${.CURDIR}/${TARGET}/pkg-stage.conf \ ${REVISION} .endif @@ -228,15 +238,6 @@ release: ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS} -clean: - chflags -R noschg . - rm -rf dist ftp - rm -f packagesystem - rm -f *.txz MANIFEST - rm -f system - rm -rf release bootonly dvd - rm -f ${IMAGES} - install: .if defined(DESTDIR) && !empty(DESTDIR) mkdir -p ${DESTDIR} Modified: projects/random_number_generator/release/release.sh ============================================================================== --- projects/random_number_generator/release/release.sh Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/release/release.sh Sun Dec 1 17:37:03 2013 (r258803) @@ -176,9 +176,9 @@ build_doc_ports() { _OSVERSION=$(sysctl -n kern.osreldate) if [ -d ${CHROOTDIR}/usr/doc ] && [ "x${NODOC}" = "x" ]; then PBUILD_FLAGS="OSVERSION=${_OSVERSION} BATCH=yes" - PBUILD_FLAGS="${PBUILD_FLAGS} OPTIONS_UNSET='FOP IGOR'" + PBUILD_FLAGS="${PBUILD_FLAGS}" chroot ${CHROOTDIR} make -C /usr/ports/textproc/docproj \ - ${PBUILD_FLAGS} install clean distclean + ${PBUILD_FLAGS} OPTIONS_UNSET="FOP IGOR" install clean distclean fi } Modified: projects/random_number_generator/sbin/Makefile ============================================================================== --- projects/random_number_generator/sbin/Makefile Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sbin/Makefile Sun Dec 1 17:37:03 2013 (r258803) @@ -72,7 +72,7 @@ SUBDIR=adjkerntz \ swapon \ sysctl \ tunefs \ - umount \ + umount .if ${MK_ATM} != "no" SUBDIR+= atm Modified: projects/random_number_generator/share/mk/bsd.libnames.mk ============================================================================== --- projects/random_number_generator/share/mk/bsd.libnames.mk Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/share/mk/bsd.libnames.mk Sun Dec 1 17:37:03 2013 (r258803) @@ -127,6 +127,7 @@ MINUSLPAM+= -lypclnt LIBPANEL?= ${DESTDIR}${LIBDIR}/libpanel.a LIBPCAP?= ${DESTDIR}${LIBDIR}/libpcap.a +LIBPJDLOG?= ${DESTDIR}${LIBDIR}/libpjdlog.a LIBPMC?= ${DESTDIR}${LIBDIR}/libpmc.a LIBPROC?= ${DESTDIR}${LIBDIR}/libproc.a LIBPROCSTAT?= ${DESTDIR}${LIBDIR}/libprocstat.a Modified: projects/random_number_generator/sys/amd64/pci/pci_cfgreg.c ============================================================================== --- projects/random_number_generator/sys/amd64/pci/pci_cfgreg.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/amd64/pci/pci_cfgreg.c Sun Dec 1 17:37:03 2013 (r258803) @@ -184,7 +184,7 @@ pci_cfgenable(unsigned bus, unsigned slo if (bus <= PCI_BUSMAX && slot <= PCI_SLOTMAX && func <= PCI_FUNCMAX && (unsigned)reg <= PCI_REGMAX && bytes != 3 && (unsigned)bytes <= 4 && (reg & (bytes - 1)) == 0) { - outl(CONF1_ADDR_PORT, (1 << 31) | (bus << 16) | (slot << 11) + outl(CONF1_ADDR_PORT, (1U << 31) | (bus << 16) | (slot << 11) | (func << 8) | (reg & ~0x03)); dataport = CONF1_DATA_PORT + (reg & 0x03); } Modified: projects/random_number_generator/sys/amd64/vmm/intel/vmcs.h ============================================================================== --- projects/random_number_generator/sys/amd64/vmm/intel/vmcs.h Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/amd64/vmm/intel/vmcs.h Sun Dec 1 17:37:03 2013 (r258803) @@ -318,7 +318,7 @@ uint64_t vmcs_read(uint32_t encoding); /* * VMCS IDT-Vectoring information fields */ -#define VMCS_IDT_VEC_VALID (1 << 31) +#define VMCS_IDT_VEC_VALID (1U << 31) #define VMCS_IDT_VEC_ERRCODE_VALID (1 << 11) /* Modified: projects/random_number_generator/sys/amd64/vmm/intel/vmx_controls.h ============================================================================== --- projects/random_number_generator/sys/amd64/vmm/intel/vmx_controls.h Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/amd64/vmm/intel/vmx_controls.h Sun Dec 1 17:37:03 2013 (r258803) @@ -56,7 +56,7 @@ #define PROCBASED_MSR_BITMAPS (1 << 28) #define PROCBASED_MONITOR_EXITING (1 << 29) #define PROCBASED_PAUSE_EXITING (1 << 30) -#define PROCBASED_SECONDARY_CONTROLS (1 << 31) +#define PROCBASED_SECONDARY_CONTROLS (1U << 31) /* Secondary Processor-Based VM-Execution Controls */ #define PROCBASED2_VIRTUALIZE_APIC (1 << 0) Modified: projects/random_number_generator/sys/amd64/vmm/intel/vtd.c ============================================================================== --- projects/random_number_generator/sys/amd64/vmm/intel/vtd.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/amd64/vmm/intel/vtd.c Sun Dec 1 17:37:03 2013 (r258803) @@ -73,11 +73,11 @@ struct vtdmap { #define VTD_GCR_WBF (1 << 27) #define VTD_GCR_SRTP (1 << 30) -#define VTD_GCR_TE (1 << 31) +#define VTD_GCR_TE (1U << 31) #define VTD_GSR_WBFS (1 << 27) #define VTD_GSR_RTPS (1 << 30) -#define VTD_GSR_TES (1 << 31) +#define VTD_GSR_TES (1U << 31) #define VTD_CCR_ICC (1UL << 63) /* invalidate context cache */ #define VTD_CCR_CIRG_GLOBAL (1UL << 61) /* global invalidation */ Modified: projects/random_number_generator/sys/arm/arm/db_trace.c ============================================================================== --- projects/random_number_generator/sys/arm/arm/db_trace.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/arm/db_trace.c Sun Dec 1 17:37:03 2013 (r258803) @@ -376,7 +376,7 @@ db_stack_trace_cmd(struct unwind_state * index = db_find_index(state->start_pc); if (index->insn != EXIDX_CANTUNWIND) { - if (index->insn & (1 << 31)) { + if (index->insn & (1U << 31)) { /* The data is within the instruction */ state->insn = &index->insn; } else { Modified: projects/random_number_generator/sys/arm/arm/pl190.c ============================================================================== --- projects/random_number_generator/sys/arm/arm/pl190.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/arm/pl190.c Sun Dec 1 17:37:03 2013 (r258803) @@ -113,7 +113,7 @@ pl190_intc_attach(device_t dev) /* Disable all interrupts */ intc_vic_write_4(VICINTENCLEAR, 0xffffffff); /* Enable INT31, SIC IRQ */ - intc_vic_write_4(VICINTENABLE, (1 << 31)); + intc_vic_write_4(VICINTENABLE, (1U << 31)); id = 0; for (i = 3; i >= 0; i--) { Modified: projects/random_number_generator/sys/arm/at91/if_macbvar.h ============================================================================== --- projects/random_number_generator/sys/arm/at91/if_macbvar.h Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/at91/if_macbvar.h Sun Dec 1 17:37:03 2013 (r258803) @@ -18,7 +18,7 @@ struct eth_tx_desc { uint32_t addr; uint32_t flags; -#define TD_OWN (1 << 31) +#define TD_OWN (1U << 31) #define TD_LAST (1 << 15) #define TD_WRAP_MASK (1 << 30) }; @@ -30,7 +30,7 @@ struct eth_rx_desc { #define RD_OWN 0x00000001 uint32_t flags; -#define RD_BROADCAST (1 << 31) +#define RD_BROADCAST (1U << 31) #define RD_MULTICAST (1 << 30) #define RD_UNICAST (1 << 29) #define RD_EXTERNAL (1 << 28) Modified: projects/random_number_generator/sys/arm/broadcom/bcm2835/bcm2835_dma.c ============================================================================== --- projects/random_number_generator/sys/arm/broadcom/bcm2835/bcm2835_dma.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/broadcom/bcm2835/bcm2835_dma.c Sun Dec 1 17:37:03 2013 (r258803) @@ -74,7 +74,7 @@ __FBSDID("$FreeBSD$"); #define CS_WAITWRT (1 << 28) #define CS_DISDBG (1 << 29) #define CS_ABORT (1 << 30) -#define CS_RESET (1 << 31) +#define CS_RESET (1U << 31) #define BCM_DMA_CBADDR(n) (0x100*(n) + 0x04) #define BCM_DMA_INFO(n) (0x100*(n) + 0x08) #define INFO_INT_EN (1 << 0) Modified: projects/random_number_generator/sys/arm/econa/if_ece.c ============================================================================== --- projects/random_number_generator/sys/arm/econa/if_ece.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/econa/if_ece.c Sun Dec 1 17:37:03 2013 (r258803) @@ -1243,7 +1243,7 @@ configure_cpu_port(struct ece_softc *sc) /* SA learning Disable */ cpu_port_config |= (SA_LEARNING_DISABLE); /* set data offset + 2 */ - cpu_port_config &= ~(1 << 31); + cpu_port_config &= ~(1U << 31); write_4(sc, CPU_PORT_CONFIG, cpu_port_config); Modified: projects/random_number_generator/sys/arm/freescale/imx/imx6_anatopreg.h ============================================================================== --- projects/random_number_generator/sys/arm/freescale/imx/imx6_anatopreg.h Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/freescale/imx/imx6_anatopreg.h Sun Dec 1 17:37:03 2013 (r258803) @@ -37,7 +37,7 @@ #define IMX6_ANALOG_CCM_PLL_USB1_SET 0x014 #define IMX6_ANALOG_CCM_PLL_USB1_CLR 0x018 #define IMX6_ANALOG_CCM_PLL_USB1_TOG 0x01C -#define IMX6_ANALOG_CCM_PLL_USB_LOCK (1 << 31) +#define IMX6_ANALOG_CCM_PLL_USB_LOCK (1U << 31) #define IMX6_ANALOG_CCM_PLL_USB_BYPASS (1 << 16) #define IMX6_ANALOG_CCM_PLL_USB_ENABLE (1 << 13) #define IMX6_ANALOG_CCM_PLL_USB_POWER (1 << 12) Modified: projects/random_number_generator/sys/arm/freescale/imx/imx6_usbphy.c ============================================================================== --- projects/random_number_generator/sys/arm/freescale/imx/imx6_usbphy.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/freescale/imx/imx6_usbphy.c Sun Dec 1 17:37:03 2013 (r258803) @@ -57,7 +57,7 @@ __FBSDID("$FreeBSD$"); #define CTRL_SET_REG 0x0034 #define CTRL_CLR_REG 0x0038 #define CTRL_TOGGLE_REG 0x003c -#define CTRL_SFTRST (1 << 31) +#define CTRL_SFTRST (1U << 31) #define CTRL_CLKGATE (1 << 30) #define CTRL_ENUTMILEVEL3 (1 << 15) #define CTRL_ENUTMILEVEL2 (1 << 14) Modified: projects/random_number_generator/sys/arm/freescale/imx/imx_gptreg.h ============================================================================== --- projects/random_number_generator/sys/arm/freescale/imx/imx_gptreg.h Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/freescale/imx/imx_gptreg.h Sun Dec 1 17:37:03 2013 (r258803) @@ -32,7 +32,7 @@ /* Registers definition for Freescale i.MX515 Generic Periodic Timer */ #define IMX_GPT_CR 0x0000 /* Control Register R/W */ -#define GPT_CR_FO3 (1 << 31) +#define GPT_CR_FO3 (1U << 31) #define GPT_CR_FO2 (1 << 30) #define GPT_CR_FO1 (1 << 29) #define GPT_CR_OM3_SHIFT 26 Modified: projects/random_number_generator/sys/arm/freescale/vybrid/vf_anadig.c ============================================================================== --- projects/random_number_generator/sys/arm/freescale/vybrid/vf_anadig.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/freescale/vybrid/vf_anadig.c Sun Dec 1 17:37:03 2013 (r258803) @@ -90,7 +90,7 @@ __FBSDID("$FreeBSD$"); #define USB_LOOPBACK(n) (0x1E0 + 0x60 * n) #define USB_MISC(n) (0x1F0 + 0x60 * n) -#define ANADIG_PLL_LOCKED (1 << 31) +#define ANADIG_PLL_LOCKED (1U << 31) #define ENABLE_LINREG (1 << 0) #define EN_CLK_TO_UTMI (1 << 30) Modified: projects/random_number_generator/sys/arm/freescale/vybrid/vf_ccm.c ============================================================================== --- projects/random_number_generator/sys/arm/freescale/vybrid/vf_ccm.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/freescale/vybrid/vf_ccm.c Sun Dec 1 17:37:03 2013 (r258803) @@ -79,7 +79,7 @@ __FBSDID("$FreeBSD$"); #define CCM_CPPDSR 0x88 /* PLL PFD Disable Status Register */ #define CCM_CCOWR 0x8C /* CORE Wakeup Register */ -#define PLL3_PFD4_EN (1 << 31) +#define PLL3_PFD4_EN (1U << 31) #define PLL3_PFD3_EN (1 << 30) #define PLL3_PFD2_EN (1 << 29) #define PLL3_PFD1_EN (1 << 28) Modified: projects/random_number_generator/sys/arm/freescale/vybrid/vf_ehci.c ============================================================================== --- projects/random_number_generator/sys/arm/freescale/vybrid/vf_ehci.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/freescale/vybrid/vf_ehci.c Sun Dec 1 17:37:03 2013 (r258803) @@ -105,7 +105,7 @@ __FBSDID("$FreeBSD$"); #define USBPHY_IP_CLR 0x98 /* PHY IP Block Register */ #define USBPHY_IP_TOG 0x9C /* PHY IP Block Register */ -#define USBPHY_CTRL_SFTRST (1 << 31) +#define USBPHY_CTRL_SFTRST (1U << 31) #define USBPHY_CTRL_CLKGATE (1 << 30) #define USBPHY_DEBUG_CLKGATE (1 << 30) Modified: projects/random_number_generator/sys/arm/include/armreg.h ============================================================================== --- projects/random_number_generator/sys/arm/include/armreg.h Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/include/armreg.h Sun Dec 1 17:37:03 2013 (r258803) @@ -360,7 +360,7 @@ #define CPU_CT_ARMV7 0x4 /* ARM v7 Cache type definitions */ -#define CPUV7_CT_CTYPE_WT (1 << 31) +#define CPUV7_CT_CTYPE_WT (1U << 31) #define CPUV7_CT_CTYPE_WB (1 << 30) #define CPUV7_CT_CTYPE_RA (1 << 29) #define CPUV7_CT_CTYPE_WA (1 << 28) Modified: projects/random_number_generator/sys/arm/lpc/if_lpereg.h ============================================================================== --- projects/random_number_generator/sys/arm/lpc/if_lpereg.h Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/lpc/if_lpereg.h Sun Dec 1 17:37:03 2013 (r258803) @@ -169,7 +169,7 @@ struct lpe_hwstatus { /* These are valid for both Rx and Tx descriptors */ #define LPE_HWDESC_SIZE_MASK (1 << 10) -#define LPE_HWDESC_INTERRUPT (1 << 31) +#define LPE_HWDESC_INTERRUPT (1U << 31) /* These are valid for Tx descriptors */ #define LPE_HWDESC_LAST (1 << 30) @@ -186,7 +186,7 @@ struct lpe_hwstatus { #define LPE_HWDESC_LATECOLL (1 << 28) #define LPE_HWDESC_UNDERRUN (1 << 29) #define LPE_HWDESC_TXNODESCR (1 << 30) -#define LPE_HWDESC_ERROR (1 << 31) +#define LPE_HWDESC_ERROR (1U << 31) /* These are valid for Rx status descriptors */ #define LPE_HWDESC_CONTROL (1 << 18) @@ -202,7 +202,7 @@ struct lpe_hwstatus { #define LPE_HWDESC_OVERRUN (1 << 28) #define LPE_HWDESC_RXNODESCR (1 << 29) #define LPE_HWDESC_LASTFLAG (1 << 30) -#define LPE_HWDESC_ERROR (1 << 31) +#define LPE_HWDESC_ERROR (1U << 31) #endif /* _ARM_LPC_IF_LPEREG_H */ Modified: projects/random_number_generator/sys/arm/lpc/lpcreg.h ============================================================================== --- projects/random_number_generator/sys/arm/lpc/lpcreg.h Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/lpc/lpcreg.h Sun Dec 1 17:37:03 2013 (r258803) @@ -604,7 +604,7 @@ #define LPC_DMAC_CH_LLI 0x08 #define LPC_DMAC_CH_LLI_AHB1 (1 << 0) #define LPC_DMAC_CH_CONTROL 0x0c -#define LPC_DMAC_CH_CONTROL_I (1 << 31) +#define LPC_DMAC_CH_CONTROL_I (1U << 31) #define LPC_DMAC_CH_CONTROL_DI (1 << 27) #define LPC_DMAC_CH_CONTROL_SI (1 << 26) #define LPC_DMAC_CH_CONTROL_D (1 << 25) Modified: projects/random_number_generator/sys/arm/mv/mv_pci.c ============================================================================== --- projects/random_number_generator/sys/arm/mv/mv_pci.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/mv/mv_pci.c Sun Dec 1 17:37:03 2013 (r258803) @@ -81,7 +81,7 @@ __FBSDID("$FreeBSD$"); #define debugf(fmt, args...) #endif -#define PCI_CFG_ENA (1 << 31) +#define PCI_CFG_ENA (1U << 31) #define PCI_CFG_BUS(bus) (((bus) & 0xff) << 16) #define PCI_CFG_DEV(dev) (((dev) & 0x1f) << 11) #define PCI_CFG_FUN(fun) (((fun) & 0x7) << 8) Modified: projects/random_number_generator/sys/arm/samsung/exynos/ehci_exynos5.c ============================================================================== --- projects/random_number_generator/sys/arm/samsung/exynos/ehci_exynos5.c Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/samsung/exynos/ehci_exynos5.c Sun Dec 1 17:37:03 2013 (r258803) @@ -82,7 +82,7 @@ __FBSDID("$FreeBSD$"); #define HOST_CTRL_SUSPEND (1 << 4) #define HOST_CTRL_RESET_LINK (1 << 1) #define HOST_CTRL_RESET_PHY (1 << 0) -#define HOST_CTRL_RESET_PHY_ALL (1 << 31) +#define HOST_CTRL_RESET_PHY_ALL (1U << 31) /* Forward declarations */ static int exynos_ehci_attach(device_t dev); Modified: projects/random_number_generator/sys/arm/xscale/i8134x/i81342reg.h ============================================================================== --- projects/random_number_generator/sys/arm/xscale/i8134x/i81342reg.h Sun Dec 1 17:29:07 2013 (r258802) +++ projects/random_number_generator/sys/arm/xscale/i8134x/i81342reg.h Sun Dec 1 17:37:03 2013 (r258803) @@ -83,7 +83,7 @@ #define IOP34X_ADMA_PQTE (1 << 18) /* P+Q Transfer Enable */ #define IOP34X_ADMA_PTD (1 << 19) /* P Transfer Disable */ #define IOP34X_ADMA_ROE (1 << 30) /* Relaxed Ordering Enable */ -#define IOP34X_ADMA_NSE (1 << 31) /* No Snoop Enable */ +#define IOP34X_ADMA_NSE (1U << 31) /* No Snoop Enable */ #define IOP34X_PBBAR0 0x81588 /* PBI Base Address Register 0 */ #define IOP34X_PBBAR0_ADDRMASK 0xfffff000 @@ -113,7 +113,7 @@ #define SMC_SDBR 0x8180c /* Base Register */ #define SMC_SDBR_BASEADDR (1 << 27) #define SMC_SDBR_BASEADDR_MASK ((1 << 27) | (1 << 28) | (1 << 29) | (1 << 30) \ - | (1 << 31)) + | (1U << 31)) #define SMC_SDUBR 0x81810 /* Upper Base Register */ #define SMC_SBSR 0x81814 /* SDRAM Bank Size Register */ #define SMC_SBSR_BANK_NB (1 << 2) /* Number of DDR Banks @@ -128,7 +128,7 @@ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sun Dec 1 18:37:31 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BC49A3C8; Sun, 1 Dec 2013 18:37:31 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8F67D1458; Sun, 1 Dec 2013 18:37:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1IbVEU055396; Sun, 1 Dec 2013 18:37:31 GMT (envelope-from markm@svn.freebsd.org) Received: (from markm@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1IbVWl055395; Sun, 1 Dec 2013 18:37:31 GMT (envelope-from markm@svn.freebsd.org) Message-Id: <201312011837.rB1IbVWl055395@svn.freebsd.org> From: Mark Murray Date: Sun, 1 Dec 2013 18:37:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258804 - projects/random_number_generator X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Dec 2013 18:37:31 -0000 Author: markm Date: Sun Dec 1 18:37:31 2013 New Revision: 258804 URL: http://svnweb.freebsd.org/changeset/base/258804 Log: MFC - tracking commit Modified: Directory Properties: projects/random_number_generator/ (props changed) From owner-svn-src-projects@FreeBSD.ORG Sun Dec 1 19:55:52 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 931EAA05; Sun, 1 Dec 2013 19:55:52 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 7321817DA; Sun, 1 Dec 2013 19:55:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1JtqWX082537; Sun, 1 Dec 2013 19:55:52 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1JtqZe082536; Sun, 1 Dec 2013 19:55:52 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201312011955.rB1JtqZe082536@svn.freebsd.org> From: Gleb Smirnoff Date: Sun, 1 Dec 2013 19:55:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258809 - projects/sendfile/sys/kern X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Dec 2013 19:55:52 -0000 Author: glebius Date: Sun Dec 1 19:55:51 2013 New Revision: 258809 URL: http://svnweb.freebsd.org/changeset/base/258809 Log: Simplify SF_MNOWAIT handling introducing several variables. Modified: projects/sendfile/sys/kern/uipc_syscalls.c Modified: projects/sendfile/sys/kern/uipc_syscalls.c ============================================================================== --- projects/sendfile/sys/kern/uipc_syscalls.c Sun Dec 1 19:45:04 2013 (r258808) +++ projects/sendfile/sys/kern/uipc_syscalls.c Sun Dec 1 19:55:51 2013 (r258809) @@ -2337,7 +2337,7 @@ vn_sendfile(struct file *fp, int sockfd, struct shmfd *shmfd; struct vattr va; off_t off, fsbytes, sbytes, rem, obj_size; - int error, bsize, hdrlen, mnw; + int error, bsize, hdrlen, mwait, merror, sfwait; bool inflight_called; pg = NULL; @@ -2345,7 +2345,6 @@ vn_sendfile(struct file *fp, int sockfd, so = NULL; m = NULL; fsbytes = sbytes = 0; - mnw = 0; rem = nbytes; obj_size = 0; inflight_called = false; @@ -2365,8 +2364,15 @@ vn_sendfile(struct file *fp, int sockfd, * caller to retry later. * XXX: Experimental. */ - if (flags & SF_MNOWAIT) - mnw = 1; + if (flags & SF_MNOWAIT) { + mwait = M_NOWAIT; + merror = EAGAIN; + sfwait = SFB_NOWAIT; + } else { + mwait = M_WAITOK; + merror = ENOBUFS; + sfwait = SFB_CATCH; + } #ifdef MAC error = mac_socket_check_send(td->td_ucred, so); @@ -2389,9 +2395,9 @@ vn_sendfile(struct file *fp, int sockfd, else nbytes = 0; } - mh = m_uiotombuf(hdr_uio, (mnw ? M_NOWAIT : M_WAITOK), 0, 0, 0); + mh = m_uiotombuf(hdr_uio, mwait, 0, 0, 0); if (mh == NULL) { - error = mnw ? EAGAIN : ENOBUFS; + error = merror; goto out; } hdrlen = m_length(mh, &mhtail); @@ -2558,8 +2564,9 @@ retry_space: * threads might exhaust the buffers and then * deadlock. */ - sf = sf_buf_alloc(pg, (mnw || m != NULL) ? SFB_NOWAIT : - SFB_CATCH); + if (m != NULL) + sfwait = SFB_NOWAIT; + sf = sf_buf_alloc(pg, sfwait); if (sf == NULL) { SFSTAT_INC(sf_allocfail); vm_page_lock(pg); @@ -2568,7 +2575,7 @@ retry_space: ("%s: object disappeared", __func__)); vm_page_unlock(pg); if (m == NULL) - error = (mnw ? EAGAIN : EINTR); + error = merror; break; } @@ -2576,16 +2583,16 @@ retry_space: * Get an mbuf and set it up as having * external storage. */ - m0 = m_get((mnw ? M_NOWAIT : M_WAITOK), MT_DATA); + m0 = m_get(mwait, MT_DATA); if (m0 == NULL) { - error = (mnw ? EAGAIN : ENOBUFS); + error = merror; (void)sf_buf_mext(NULL, NULL, sf); break; } if (m_extadd(m0, (caddr_t )sf_buf_kva(sf), PAGE_SIZE, - sf_buf_mext, sfs, sf, M_RDONLY, EXT_SFBUF, - (mnw ? M_NOWAIT : M_WAITOK)) != 0) { - error = (mnw ? EAGAIN : ENOBUFS); + sf_buf_mext, sfs, sf, M_RDONLY, EXT_SFBUF, mwait) + != 0) { + error = merror; (void)sf_buf_mext(NULL, NULL, sf); m_freem(m0); break; From owner-svn-src-projects@FreeBSD.ORG Sun Dec 1 20:32:17 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9597B23F; Sun, 1 Dec 2013 20:32:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 81FAD194B; Sun, 1 Dec 2013 20:32:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1KWHQa096176; Sun, 1 Dec 2013 20:32:17 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1KWHTR096175; Sun, 1 Dec 2013 20:32:17 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201312012032.rB1KWHTR096175@svn.freebsd.org> From: Gleb Smirnoff Date: Sun, 1 Dec 2013 20:32:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258813 - projects/sendfile/sys/kern X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Dec 2013 20:32:17 -0000 Author: glebius Date: Sun Dec 1 20:32:16 2013 New Revision: 258813 URL: http://svnweb.freebsd.org/changeset/base/258813 Log: More correct code that handles sf wait logic. Submitted by: kib Modified: projects/sendfile/sys/kern/uipc_syscalls.c Modified: projects/sendfile/sys/kern/uipc_syscalls.c ============================================================================== --- projects/sendfile/sys/kern/uipc_syscalls.c Sun Dec 1 20:03:00 2013 (r258812) +++ projects/sendfile/sys/kern/uipc_syscalls.c Sun Dec 1 20:32:16 2013 (r258813) @@ -2564,9 +2564,7 @@ retry_space: * threads might exhaust the buffers and then * deadlock. */ - if (m != NULL) - sfwait = SFB_NOWAIT; - sf = sf_buf_alloc(pg, sfwait); + sf = sf_buf_alloc(pg, m != NULL : SFB_NOWAIT ? sfwait); if (sf == NULL) { SFSTAT_INC(sf_allocfail); vm_page_lock(pg); From owner-svn-src-projects@FreeBSD.ORG Sun Dec 1 20:38:51 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E2A8B33D; Sun, 1 Dec 2013 20:38:51 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CECD7195E; Sun, 1 Dec 2013 20:38:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1KcpMp096957; Sun, 1 Dec 2013 20:38:51 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1KcpUv096956; Sun, 1 Dec 2013 20:38:51 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201312012038.rB1KcpUv096956@svn.freebsd.org> From: Gleb Smirnoff Date: Sun, 1 Dec 2013 20:38:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258814 - projects/sendfile/sys/kern X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Dec 2013 20:38:52 -0000 Author: glebius Date: Sun Dec 1 20:38:51 2013 New Revision: 258814 URL: http://svnweb.freebsd.org/changeset/base/258814 Log: Make it compilable. Modified: projects/sendfile/sys/kern/uipc_syscalls.c Modified: projects/sendfile/sys/kern/uipc_syscalls.c ============================================================================== --- projects/sendfile/sys/kern/uipc_syscalls.c Sun Dec 1 20:32:16 2013 (r258813) +++ projects/sendfile/sys/kern/uipc_syscalls.c Sun Dec 1 20:38:51 2013 (r258814) @@ -2564,7 +2564,7 @@ retry_space: * threads might exhaust the buffers and then * deadlock. */ - sf = sf_buf_alloc(pg, m != NULL : SFB_NOWAIT ? sfwait); + sf = sf_buf_alloc(pg, m != NULL ? SFB_NOWAIT : sfwait); if (sf == NULL) { SFSTAT_INC(sf_allocfail); vm_page_lock(pg); From owner-svn-src-projects@FreeBSD.ORG Sun Dec 1 20:56:04 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2893E557; Sun, 1 Dec 2013 20:56:04 +0000 (UTC) Received: from mail-qa0-x22b.google.com (mail-qa0-x22b.google.com [IPv6:2607:f8b0:400d:c00::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id B70D91A09; Sun, 1 Dec 2013 20:56:03 +0000 (UTC) Received: by mail-qa0-f43.google.com with SMTP id ii20so3632369qab.2 for ; Sun, 01 Dec 2013 12:56:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=+dzbIw7OEnaCuwJrCw7tWXa+bkVG8/AJSjCiqNR5H7Y=; b=V6cF1YcoeYtEdGaLh2P46nRaXRYQPBnDg/+paDJrYg2qvgnJOnSjE5RX2xBSheDqNU M6M2DW7SSGChsFbDDoZ0gGECEbjZkWzOkZIGhwGRpxsEAlyXe15hqYJh3F7jfCfBn/qj uO0Sc/8yq8hyND1F9rB0CttCSCA+96onJu4Il/FJtjLnQuy3N9SpvI6JmtjnbxSrII6O Wfqc8U25Rm09xuesa1hItjlhtK/9n6XSl7AyqptWPAWR8OfmkGZCSjwtVz7DbLriTMVM jmfFcd6aYDLc+6K0bOBvzByiLGdYlREAeUaE2vGlHWZCekO6ED9Z2C6kAN0JCBk03Tgh h0zw== MIME-Version: 1.0 X-Received: by 10.229.56.200 with SMTP id z8mr107227700qcg.1.1385931362884; Sun, 01 Dec 2013 12:56:02 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.224.53.200 with HTTP; Sun, 1 Dec 2013 12:56:02 -0800 (PST) In-Reply-To: <201312012032.rB1KWHTR096175@svn.freebsd.org> References: <201312012032.rB1KWHTR096175@svn.freebsd.org> Date: Sun, 1 Dec 2013 12:56:02 -0800 X-Google-Sender-Auth: pfGZm0bzG1biQTkB28dqsERc1oE Message-ID: Subject: Re: svn commit: r258813 - projects/sendfile/sys/kern From: Adrian Chadd To: Gleb Smirnoff Content-Type: text/plain; charset=ISO-8859-1 Cc: svn-src-projects@freebsd.org, "src-committers@freebsd.org" X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Dec 2013 20:56:04 -0000 Is this required for -HEAD right now? -a On 1 December 2013 12:32, Gleb Smirnoff wrote: > Author: glebius > Date: Sun Dec 1 20:32:16 2013 > New Revision: 258813 > URL: http://svnweb.freebsd.org/changeset/base/258813 > > Log: > More correct code that handles sf wait logic. > > Submitted by: kib > > Modified: > projects/sendfile/sys/kern/uipc_syscalls.c > > Modified: projects/sendfile/sys/kern/uipc_syscalls.c > ============================================================================== > --- projects/sendfile/sys/kern/uipc_syscalls.c Sun Dec 1 20:03:00 2013 (r258812) > +++ projects/sendfile/sys/kern/uipc_syscalls.c Sun Dec 1 20:32:16 2013 (r258813) > @@ -2564,9 +2564,7 @@ retry_space: > * threads might exhaust the buffers and then > * deadlock. > */ > - if (m != NULL) > - sfwait = SFB_NOWAIT; > - sf = sf_buf_alloc(pg, sfwait); > + sf = sf_buf_alloc(pg, m != NULL : SFB_NOWAIT ? sfwait); > if (sf == NULL) { > SFSTAT_INC(sf_allocfail); > vm_page_lock(pg); From owner-svn-src-projects@FreeBSD.ORG Sun Dec 1 21:04:25 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 875D8681; Sun, 1 Dec 2013 21:04:25 +0000 (UTC) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E86801A59; Sun, 1 Dec 2013 21:04:24 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.7/8.14.7) with ESMTP id rB1L47k9049103 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 2 Dec 2013 01:04:07 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.7/8.14.7/Submit) id rB1L47xH049102; Mon, 2 Dec 2013 01:04:07 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Mon, 2 Dec 2013 01:04:07 +0400 From: Gleb Smirnoff To: Adrian Chadd Subject: Re: svn commit: r258813 - projects/sendfile/sys/kern Message-ID: <20131201210407.GB48919@FreeBSD.org> References: <201312012032.rB1KWHTR096175@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.22 (2013-10-16) Cc: svn-src-projects@freebsd.org, "src-committers@freebsd.org" X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Dec 2013 21:04:25 -0000 On Sun, Dec 01, 2013 at 12:56:02PM -0800, Adrian Chadd wrote: A> Is this required for -HEAD right now? No. -- Totus tuus, Glebius. From owner-svn-src-projects@FreeBSD.ORG Sun Dec 1 21:10:07 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id ABE3F944; Sun, 1 Dec 2013 21:10:07 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 972861A7A; Sun, 1 Dec 2013 21:10:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1LA7OK008021; Sun, 1 Dec 2013 21:10:07 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1LA7MW008020; Sun, 1 Dec 2013 21:10:07 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201312012110.rB1LA7MW008020@svn.freebsd.org> From: Gleb Smirnoff Date: Sun, 1 Dec 2013 21:10:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258815 - projects/sendfile/sys/kern X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Dec 2013 21:10:07 -0000 Author: glebius Date: Sun Dec 1 21:10:07 2013 New Revision: 258815 URL: http://svnweb.freebsd.org/changeset/base/258815 Log: An attempt of major rewrite of sendfile(2). The core change is that now we don't use VOP_READ() to fetch pages from storage to memory, but VOP_GETPAGES() instead. This was considered by David Greenman in original implementation in 1998, but he decided to use VOP_READ(), to utilize read ahead provided by FFS. Apparently, from a pure Mach VM view that choice wasn't a correct one, but worked for a decade and a half. Recently, investigations from Scott Long have shown that: a) sendfile(2) leaves touched pages cached by buf layer, they are wired, and at a high load, buf layer can hold them too long, so that a pagedaemon sweep starts. b) the readahead heuristic from FFS isn't enough, and better provide a manual static readahead to the sendfile itself via a global sysctl. Changes: 1) sendfile_readpage() goes away entirely. 2) sendfile_swapin() emerges. This function takes array of vm_pages, that needs to be fetched from storage to wired memory. The function iterates through pages, gets a readahead hint from vm_pager_has_page(), and then asks vm_page_get_pages() for a block of pages. Notice, that sendfile_swapin() doesn't differentiate between vnode backed descriptors and shared memory backed, like old code used to. Also notice, that function is a pure VM function, and can be moved to sys/vm, being renamed. For now function ignores configured readahead sysctl. 3) Main vn_sendfile() cycle gets simplier. - Outer cycle is driven by the "rem" variable, that is initialized at the beginning and shrinks as we go forward. The only exception for "rem" to unexpectedly change its value is a file resize. - Inner cycle is driven by number of pages, and number of pages is calculated as minimum of available space in socket and "rem". Basic performance testing showed no regressions in timing. Number of I/Os decreased comparing to sendfile() from head, but increased compared to previous version of the projects/sendfile. On a sample 300 Mb file: I/Os head 3247 projects/sendfile 680 new code 2826 A file fetched immediately gets into inactive memory. Top quote from head, after reboot and fetch of a 300 Mb file: Mem: 26M Active, 192M Inact, 177M Wired, 159M Buf, 588M Free And from new code: Mem: 25M Active, 320M Inact, 46M Wired, 22M Buf, 592M Free In collaboration with: kib Sponsored by: Netflix Sponsored by: Nginx, Inc. Modified: projects/sendfile/sys/kern/uipc_syscalls.c Modified: projects/sendfile/sys/kern/uipc_syscalls.c ============================================================================== --- projects/sendfile/sys/kern/uipc_syscalls.c Sun Dec 1 20:38:51 2013 (r258814) +++ projects/sendfile/sys/kern/uipc_syscalls.c Sun Dec 1 21:10:07 2013 (r258815) @@ -2075,156 +2075,86 @@ freebsd4_sendfile(struct thread *td, str } #endif /* COMPAT_FREEBSD4 */ -static int -sendfile_read(vm_object_t obj, struct mbuf *m0, struct vnode *vp, int flags, - off_t off0, int *readsize, int bsize, struct thread *td) -{ - struct mbuf *m, *mp = NULL; +struct page_descr { off_t off; - int error, read = 0; + off_t xfsize; +}; - VM_OBJECT_WLOCK(obj); - - /* Skip valid pages, if any. */ - for (m = m0, off = off0; m != NULL; - off += m->m_len, mp = m, m = m->m_next) { - vm_page_t pg; +static void +sendfile_swapin(vm_object_t obj, vm_page_t *pa, struct page_descr *pd, + int npages, off_t off, off_t len) +{ + int rv; - KASSERT(m->m_ext.ext_type == EXT_SFBUF, ("EXT_SFBUF expected")); - pg = sf_buf_page((struct sf_buf *)m->m_ext.ext_arg2); + KASSERT(npages * PAGE_SIZE >= len, ("%s: npages %d len %ju", + __func__, npages, (uintmax_t)len)); - if (!pg->valid || - !vm_page_is_valid(pg, off & PAGE_MASK, m->m_len)) - break; + VM_OBJECT_WLOCK(obj); + for (int i = 0; i < npages; i++) { + vm_offset_t pgoff; + off_t xfsize; - read += m->m_len; - } + pgoff = (vm_offset_t)(off & PAGE_MASK); + xfsize = omin(PAGE_SIZE - pgoff, len); - if (m == NULL) { - VM_OBJECT_WUNLOCK(obj); - KASSERT(*readsize == read, ("%s: readsize %d read %d", __func__, - *readsize, read)); + pd[i].off = off; + pd[i].xfsize = xfsize; + pa[i] = vm_page_grab(obj, OFF_TO_IDX(off), + VM_ALLOC_WIRED | VM_ALLOC_NORMAL); - return (0); + off += xfsize; + len -= xfsize; } - if (flags & SF_NODISKIO) { -#if 0 - /* - * XXXGL: for for multiple pages. - */ - if (vp == NULL) - vm_page_xunbusy(m); -#endif - *readsize = read; - VM_OBJECT_WUNLOCK(obj); - error = EBUSY; - goto done; - } + for (int i = 0; i < npages; i++) { + int j, a; - /* - * Get the page from backing store. - */ - if (vp != NULL) { - struct uio auio; - struct iovec aiov; - ssize_t toread; + if (vm_page_is_valid(pa[i], pd[i].off & PAGE_MASK, + pd[i].xfsize)) { + vm_page_xunbusy(pa[i]); + continue; + } - VM_OBJECT_WUNLOCK(obj); -#ifdef MAC - /* - * XXX: Because we don't have fp->f_cred here, we - * pass in NOCRED. This is probably wrong, but is - * consistent with our original implementation. - */ - error = mac_vnode_check_read(td->td_ucred, NOCRED, vp); - if (error) - goto done; -#endif + for (j = i + 1; j < npages; j++) + if (vm_page_is_valid(pa[j], pd[j].off & PAGE_MASK, + pd[j].xfsize)) + break; - toread = *readsize - read + sfreadahead * MAXBSIZE; - toread = roundup2(toread, MAXBSIZE); + while (!vm_pager_has_page(obj, OFF_TO_IDX(pd[i].off), + NULL, &a) && i < j) { + pmap_zero_page(pa[i]); + pa[i]->valid = VM_PAGE_BITS_ALL; + pa[i]->dirty = 0; + vm_page_xunbusy(pa[i]); + i++; + } + if (i == j) + continue; - auio.uio_iov = &aiov; - auio.uio_iovcnt = 1; - aiov.iov_base = NULL; - aiov.iov_len = toread; - auio.uio_resid = toread; - auio.uio_offset = trunc_page(off); - auio.uio_segflg = UIO_NOCOPY; - auio.uio_rw = UIO_READ; - auio.uio_td = td; + rv = vm_pager_get_pages(obj, pa + i, min(a + 1, npages - i), 0); - /* - * Use VOP_READ() instead of the pager interface for - * the vnode, to allow the read-ahead. - */ - error = VOP_READ(vp, &auio, IO_NODELOCKED | IO_VMIO | - ((toread / bsize) << IO_SEQSHIFT), td->td_ucred); + KASSERT(rv == VM_PAGER_OK, ("%s: pager fail obj %p page %p", + __func__, obj, pa[i])); + vm_page_xunbusy(pa[i]); SFSTAT_INC(sf_iocnt); - } else { - /* - * XXXGL: need fix for for multiple pages. - */ - error = EDOOFUS; - VM_OBJECT_WUNLOCK(obj); -#if 0 - if (vm_pager_has_page(obj, pindex, NULL, NULL)) { - rv = vm_pager_get_pages(obj, &m, 1, 0); - SFSTAT_INC(sf_iocnt); - m = vm_page_lookup(obj, pindex); - if (m == NULL) - error = EIO; - else if (rv != VM_PAGER_OK) { - vm_page_lock(m); - vm_page_free(m); - vm_page_unlock(m); - m = NULL; - error = EIO; - } - } else { - pmap_zero_page(m); - m->valid = VM_PAGE_BITS_ALL; - m->dirty = 0; - } - if (m != NULL) - vm_page_xunbusy(m); -#endif - } + for (; a > 0 && i < npages; a--, i++) { + vm_page_t p; -done: - if (error) { - /* - * Free rest of the mbuf chain in case of either hard or - * soft (EBUSY) error. - */ - if (mp) { - KASSERT(mp->m_next == m, - ("%s: bad mp %p", __func__, mp)); - mp->m_next = NULL; + p = pa[i]; + pa[i] = vm_page_lookup(obj, OFF_TO_IDX(pd[i].off)); + if (p != pa[i]) + printf("p %p pa[i] %p\n", p, pa[i]); } - m_freem(m); } -#ifdef INVARIANTS - else { - VM_OBJECT_WLOCK(obj); - for (m = m0, off = off0; m != NULL; - off += m->m_len, m = m->m_next) { - vm_page_t pg; - - pg = sf_buf_page((struct sf_buf *)m->m_ext.ext_arg2); - - KASSERT((pg->wire_count > 0 && vm_page_is_valid(pg, - off & PAGE_MASK, m->m_len)), - ("wrong page %p state off %#jx len %d", - pg, (uintmax_t)off, m->m_len)); - } - VM_OBJECT_WUNLOCK(obj); - } -#endif - return (error); + for (int i = 0; i < npages; i++) + KASSERT((pa[i]->wire_count > 0 && vm_page_is_valid(pa[i], + pd[i].off & PAGE_MASK, pd[i].xfsize)), + ("wrong page %p state off 0x%jx len 0x%jx", + pa[i], (uintmax_t)pd[i].off, (uintmax_t)pd[i].xfsize)); + + VM_OBJECT_WUNLOCK(obj); } static int @@ -2333,27 +2263,19 @@ vn_sendfile(struct file *fp, int sockfd, struct socket *so; struct mbuf *m, *mh, *mhtail; struct sf_buf *sf; - struct vm_page *pg; struct shmfd *shmfd; struct vattr va; - off_t off, fsbytes, sbytes, rem, obj_size; - int error, bsize, hdrlen, mwait, merror, sfwait; - bool inflight_called; + off_t off, sbytes, rem, obj_size; + int error, serror, bsize, hdrlen, mwait, merror, sfwait; - pg = NULL; obj = NULL; so = NULL; m = NULL; - fsbytes = sbytes = 0; - rem = nbytes; - obj_size = 0; - inflight_called = false; + sbytes = 0; error = sendfile_getobj(td, fp, &obj, &vp, &shmfd, &obj_size, &bsize); if (error != 0) return (error); - if (rem == 0) - rem = obj_size; error = kern_sendfile_getsock(td, sockfd, &sock_fp, &so); if (error != 0) @@ -2406,6 +2328,8 @@ vn_sendfile(struct file *fp, int sockfd, hdrlen = 0; } + rem = nbytes ? omin(nbytes, obj_size - offset) : obj_size - offset; + /* * Protect against multiple writers to the socket. * @@ -2425,22 +2349,14 @@ vn_sendfile(struct file *fp, int sockfd, * The outer loop checks the state and available space of the socket * and takes care of the overall progress. */ - for (off = offset; ; ) { + for (off = offset; rem > 0; ) { + vm_page_t *pa; + struct page_descr *pd; + u_int npages; struct mbuf *mtail; - off_t loopoff; - int loopbytes; int space; - int done; - - if ((nbytes != 0 && nbytes == fsbytes) || - (nbytes == 0 && obj_size == fsbytes)) - break; mtail = NULL; - loopbytes = 0; - space = 0; - done = 0; - /* * Check the socket state for ongoing connection, * no errors and space in socket buffer. @@ -2516,46 +2432,43 @@ retry_space: VOP_UNLOCK(vp, 0); goto done; } - obj_size = va.va_size; + if (va.va_size != obj_size) { + if (nbytes == 0) + rem += va.va_size - obj_size; + else if (offset + nbytes > va.va_size) + rem -= (offset + nbytes - va.va_size); + obj_size = va.va_size; + } + } + + if (space > rem) + space = rem; + + npages = howmany(space - (PAGE_SIZE - off & PAGE_MASK), + PAGE_SIZE); + if (off & PAGE_MASK) + npages++; + pa = malloc(npages * sizeof(vm_page_t), M_TEMP, mwait); + if (pa == NULL) { + error = merror; + goto done; + } + pd = malloc(npages * sizeof(*pd), M_TEMP, mwait); + if (pd == NULL) { + free(pa, M_TEMP); + error = merror; + goto done; } + sendfile_swapin(obj, pa, pd, npages, off, space); /* * Loop and construct maximum sized mbuf chain to be bulk * dumped into socket buffer. */ - loopoff = off; - while (space > loopbytes) { - vm_offset_t pgoff; - vm_pindex_t pindex; - off_t xfsize; + for (int i = 0; i < npages; i++) { struct mbuf *m0; /* - * Calculate the amount to transfer. - * Not to exceed a page, the EOF, - * or the passed in nbytes. - */ - pgoff = (vm_offset_t)(loopoff & PAGE_MASK); - rem = obj_size - offset; - if (nbytes != 0) - rem = omin(rem, nbytes); - rem -= fsbytes + loopbytes; - xfsize = omin(PAGE_SIZE - pgoff, rem); - xfsize = omin(space - loopbytes, xfsize); - if (xfsize <= 0) { - done = 1; /* all data sent */ - break; - } - - pindex = OFF_TO_IDX(loopoff); - VM_OBJECT_WLOCK(obj); - pg = vm_page_grab(obj, pindex, - (vp != NULL ? VM_ALLOC_NOBUSY | - VM_ALLOC_IGN_SBUSY : 0) | - VM_ALLOC_WIRED | VM_ALLOC_NORMAL); - VM_OBJECT_WUNLOCK(obj); - - /* * Get a sendfile buf. When allocating the * first buffer for mbuf chain, we usually * wait as long as necessary, but this wait @@ -2564,14 +2477,15 @@ retry_space: * threads might exhaust the buffers and then * deadlock. */ - sf = sf_buf_alloc(pg, m != NULL ? SFB_NOWAIT : sfwait); + sf = sf_buf_alloc(pa[i], + m != NULL ? SFB_NOWAIT : sfwait); if (sf == NULL) { SFSTAT_INC(sf_allocfail); - vm_page_lock(pg); - vm_page_unwire(pg, 0); - KASSERT(pg->object != NULL, - ("%s: object disappeared", __func__)); - vm_page_unlock(pg); + for (int j = i; j < npages; j++) { + vm_page_lock(pa[j]); + vm_page_unwire(pa[j], 0); + vm_page_unlock(pa[j]); + } if (m == NULL) error = merror; break; @@ -2590,13 +2504,19 @@ retry_space: if (m_extadd(m0, (caddr_t )sf_buf_kva(sf), PAGE_SIZE, sf_buf_mext, sfs, sf, M_RDONLY, EXT_SFBUF, mwait) != 0) { + for (int j = i + 1; j < npages; j++) { + vm_page_lock(pa[j]); + vm_page_unwire(pa[j], 0); + vm_page_unlock(pa[j]); + } error = merror; (void)sf_buf_mext(NULL, NULL, sf); m_freem(m0); break; } - m0->m_data = (char *)sf_buf_kva(sf) + pgoff; - m0->m_len = xfsize; + m0->m_data = (char *)sf_buf_kva(sf) + + (pd[i].off & PAGE_MASK); + m0->m_len = pd[i].xfsize; /* Append to mbuf chain. */ if (mtail != NULL) @@ -2606,8 +2526,8 @@ retry_space: mtail = m0; /* Keep track of bytes processed. */ - loopbytes += xfsize; - loopoff += xfsize; + off += pd[i].xfsize; + rem -= pd[i].xfsize; /* * XXX eventually this should be a sfsync @@ -2617,16 +2537,12 @@ retry_space: sf_sync_ref(sfs); } - error = sendfile_read(obj, m, vp, flags, off, &loopbytes, - bsize, td); - if (loopbytes) - off += loopbytes; - else - m = NULL; - if (vp != NULL) VOP_UNLOCK(vp, 0); + free(pa, M_TEMP); + free(pd, M_TEMP); + /* Prepend header, if any. */ if (hdrlen) { mhtail->m_next = m; @@ -2634,47 +2550,31 @@ retry_space: } /* Add the buffer chain to the socket buffer. */ - if (loopbytes + hdrlen > 0) { - int err; + KASSERT(m_length(m, NULL) == space + hdrlen, + ("%s: mlen %u space %d hdrlen %d", + __func__, m_length(m, NULL), space, hdrlen)); - KASSERT(m_length(m, NULL) == loopbytes + hdrlen, - ("%s: mlen %u loop %d hdr %d", __func__, - m_length(m, NULL), loopbytes, hdrlen)); - - SOCKBUF_LOCK(&so->so_snd); - if (so->so_snd.sb_state & SBS_CANTSENDMORE) { - error = EPIPE; - SOCKBUF_UNLOCK(&so->so_snd); - goto done; - } + SOCKBUF_LOCK(&so->so_snd); + if (so->so_snd.sb_state & SBS_CANTSENDMORE) { + error = EPIPE; SOCKBUF_UNLOCK(&so->so_snd); - CURVNET_SET(so->so_vnet); - /* Avoid error aliasing. */ - err = (*so->so_proto->pr_usrreqs->pru_send) - (so, 0, m, NULL, NULL, td); - CURVNET_RESTORE(); - if (err == 0) { - /* - * We need two counters to get the - * file offset and nbytes to send - * right: - * - sbytes contains the total amount - * of bytes sent, including headers. - * - fsbytes contains the total amount - * of bytes sent from the file. - */ - sbytes += loopbytes + hdrlen; - fsbytes += loopbytes; - if (hdrlen) - hdrlen = 0; - } else if (error == 0) - error = err; - m = NULL; /* pru_send always consumes */ - } - - /* Quit outer loop on error or when we're done. */ - if (done) - break; + goto done; + } + SOCKBUF_UNLOCK(&so->so_snd); + CURVNET_SET(so->so_vnet); + /* Avoid error aliasing. */ + serror = (*so->so_proto->pr_usrreqs->pru_send) + (so, 0, m, NULL, NULL, td); + CURVNET_RESTORE(); + if (serror == 0) { + sbytes += space + hdrlen; + if (hdrlen) + hdrlen = 0; + } else if (error == 0) + error = serror; + m = NULL; /* pru_send always consumes */ + + /* Quit outer loop on error. */ if (error != 0) goto done; } From owner-svn-src-projects@FreeBSD.ORG Sun Dec 1 21:44:07 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2A52C14A; Sun, 1 Dec 2013 21:44:07 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 161421BFB; Sun, 1 Dec 2013 21:44:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1Li6GH020564; Sun, 1 Dec 2013 21:44:06 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1Li6RV020560; Sun, 1 Dec 2013 21:44:06 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201312012144.rB1Li6RV020560@svn.freebsd.org> From: Andrew Turner Date: Sun, 1 Dec 2013 21:44:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258816 - in projects/specific_leg/sys/arm: arm broadcom/bcm2835 ti X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Dec 2013 21:44:07 -0000 Author: andrew Date: Sun Dec 1 21:44:05 2013 New Revision: 258816 URL: http://svnweb.freebsd.org/changeset/base/258816 Log: Move bus_dma_get_range and bus_dma_get_range_nb to use the platform code. Modified: projects/specific_leg/sys/arm/arm/platform.c projects/specific_leg/sys/arm/arm/platform_if.m projects/specific_leg/sys/arm/broadcom/bcm2835/bcm2835_machdep.c projects/specific_leg/sys/arm/ti/ti_machdep.c Modified: projects/specific_leg/sys/arm/arm/platform.c ============================================================================== --- projects/specific_leg/sys/arm/arm/platform.c Sun Dec 1 21:10:07 2013 (r258815) +++ projects/specific_leg/sys/arm/arm/platform.c Sun Dec 1 21:44:05 2013 (r258816) @@ -34,11 +34,13 @@ __FBSDID("$FreeBSD$"); * through a previously registered kernel object. */ +#define _ARM32_BUS_DMA_PRIVATE #include #include #include #include #include +#include #include #include #include @@ -47,6 +49,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -185,3 +188,14 @@ arm_unmask_irq(uintptr_t irq) PLATFORM_UNMASK_IRQ(plat_obj, irq); } +struct arm32_dma_range * +bus_dma_get_range(void) +{ + return PLATFORM_BUS_DMA_GET_RANGE(plat_obj); +} + +int +bus_dma_get_range_nb(void) +{ + return PLATFORM_BUS_DMA_GET_RANGE_NB(plat_obj); +} Modified: projects/specific_leg/sys/arm/arm/platform_if.m ============================================================================== --- projects/specific_leg/sys/arm/arm/platform_if.m Sun Dec 1 21:10:07 2013 (r258815) +++ projects/specific_leg/sys/arm/arm/platform_if.m Sun Dec 1 21:44:05 2013 (r258816) @@ -56,6 +56,18 @@ CODE { { return; } + + static struct arm32_dma_range * + platform_null_bus_dma_get_range(platform_t plat) + { + return (NULL); + } + + static int platform_null_bus_dma_get_range_nb(platform_t plat) + { + return (0); + } + #if 0 static int platform_null_smp_first_cpu(platform_t plat, struct cpuref *cpuref) @@ -156,3 +168,15 @@ METHOD void unmask_irq { uintptr_t irq; }; +/** + */ +METHOD struct arm32_dma_range * bus_dma_get_range { + platform_t _plat; +} DEFAULT platform_null_bus_dma_get_range; + +/** + */ +METHOD int bus_dma_get_range_nb { + platform_t _plat; +} DEFAULT platform_null_bus_dma_get_range_nb; + Modified: projects/specific_leg/sys/arm/broadcom/bcm2835/bcm2835_machdep.c ============================================================================== --- projects/specific_leg/sys/arm/broadcom/bcm2835/bcm2835_machdep.c Sun Dec 1 21:10:07 2013 (r258815) +++ projects/specific_leg/sys/arm/broadcom/bcm2835/bcm2835_machdep.c Sun Dec 1 21:44:05 2013 (r258816) @@ -116,20 +116,6 @@ bcm2835_devmap_init(platform_t plat) return (0); } -struct arm32_dma_range * -bus_dma_get_range(void) -{ - - return (NULL); -} - -int -bus_dma_get_range_nb(void) -{ - - return (0); -} - void cpu_reset() { Modified: projects/specific_leg/sys/arm/ti/ti_machdep.c ============================================================================== --- projects/specific_leg/sys/arm/ti/ti_machdep.c Sun Dec 1 21:10:07 2013 (r258815) +++ projects/specific_leg/sys/arm/ti/ti_machdep.c Sun Dec 1 21:44:05 2013 (r258816) @@ -127,20 +127,6 @@ ti_am335x_devmap_init(platform_t plat) } #endif -struct arm32_dma_range * -bus_dma_get_range(void) -{ - - return (NULL); -} - -int -bus_dma_get_range_nb(void) -{ - - return (0); -} - void cpu_reset() { From owner-svn-src-projects@FreeBSD.ORG Sun Dec 1 23:51:32 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6AD0D145; Sun, 1 Dec 2013 23:51:32 +0000 (UTC) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 39D731075; Sun, 1 Dec 2013 23:51:31 +0000 (UTC) Received: from jre-mbp.elischer.org (ppp121-45-246-96.lns20.per2.internode.on.net [121.45.246.96]) (authenticated bits=0) by vps1.elischer.org (8.14.7/8.14.7) with ESMTP id rB1NpIHI001942 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Sun, 1 Dec 2013 15:51:24 -0800 (PST) (envelope-from julian@freebsd.org) Message-ID: <529BCB70.3000308@freebsd.org> Date: Mon, 02 Dec 2013 07:51:12 +0800 From: Julian Elischer User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: Gleb Smirnoff , src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: Re: svn commit: r258815 - projects/sendfile/sys/kern References: <201312012110.rB1LA7MW008020@svn.freebsd.org> In-Reply-To: <201312012110.rB1LA7MW008020@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Dec 2013 23:51:32 -0000 On 12/2/13, 5:10 AM, Gleb Smirnoff wrote: > Author: glebius > Date: Sun Dec 1 21:10:07 2013 > > Basic performance testing showed no regressions in timing. Number of I/Os > decreased comparing to sendfile() from head, but increased compared to > previous version of the projects/sendfile. On a sample 300 Mb file: > > I/Os > head 3247 > projects/sendfile 680 > new code 2826 > > is there planned future work to reduce the number of reads to the same order as the previous prototype? (i.e. around 1000 or less vs around 3000) From owner-svn-src-projects@FreeBSD.ORG Mon Dec 2 06:12:35 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 10550113; Mon, 2 Dec 2013 06:12:35 +0000 (UTC) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8D14F143C; Mon, 2 Dec 2013 06:12:33 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.7/8.14.7) with ESMTP id rB26CV11051305 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 2 Dec 2013 10:12:32 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.7/8.14.7/Submit) id rB26CVM9051304; Mon, 2 Dec 2013 10:12:31 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Mon, 2 Dec 2013 10:12:31 +0400 From: Gleb Smirnoff To: Julian Elischer Subject: Re: svn commit: r258815 - projects/sendfile/sys/kern Message-ID: <20131202061231.GC48919@FreeBSD.org> References: <201312012110.rB1LA7MW008020@svn.freebsd.org> <529BCB70.3000308@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <529BCB70.3000308@freebsd.org> User-Agent: Mutt/1.5.22 (2013-10-16) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Dec 2013 06:12:35 -0000 On Mon, Dec 02, 2013 at 07:51:12AM +0800, Julian Elischer wrote: J> On 12/2/13, 5:10 AM, Gleb Smirnoff wrote: J> > Author: glebius J> > Date: Sun Dec 1 21:10:07 2013 J> > J> > Basic performance testing showed no regressions in timing. Number of I/Os J> > decreased comparing to sendfile() from head, but increased compared to J> > previous version of the projects/sendfile. On a sample 300 Mb file: J> > J> > I/Os J> > head 3247 J> > projects/sendfile 680 J> > new code 2826 J> > J> > J> is there planned future work to reduce the number of reads to the same J> order as the previous prototype? J> (i.e. around 1000 or less vs around 3000) I should have noticed that this is 'netstat -m' output, number of sendfile initiated I/Os, not disk statistics. The number of IOs isn't the Graal we are seeking for. Graal is overall performance. Previous version of branch counted VOP_READs. They were large enough, up to the size of the socket buffer. But apparently lower filesystem code split them into smaller. Now we count vm_pager_get_pages(), but amount of pages we pass to it is hinted by vm_pager_has_page(). And the latter hints us about how many pages can it grab with a single disk I/O. -- Totus tuus, Glebius. From owner-svn-src-projects@FreeBSD.ORG Mon Dec 2 06:14:12 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 093C127B; Mon, 2 Dec 2013 06:14:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E643E1458; Mon, 2 Dec 2013 06:14:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB26EBtZ066309; Mon, 2 Dec 2013 06:14:11 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB26E6Cc066256; Mon, 2 Dec 2013 06:14:06 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201312020614.rB26E6Cc066256@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 2 Dec 2013 06:14:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258836 - in projects/altix2/sys: amd64/amd64 amd64/include arm/arm arm/include conf dev/pci i386/i386 i386/include ia64/ia64 ia64/include kern mips/include mips/mips powerpc/include po... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Dec 2013 06:14:12 -0000 Author: marcel Date: Mon Dec 2 06:14:05 2013 New Revision: 258836 URL: http://svnweb.freebsd.org/changeset/base/258836 Log: Replace option BUSDMA_MI with LEGACY_BUS_DMA and provide the beginning of a compatibility shim from the legacy bus_dma interface to the new busdma/mi interface. The shim makes it possible (by intent) to switch to busdma/mi without first having to port drivers to it. Use the new LEGACY_BUS_DMA option to compile-in the actual legacy implementation when *not* using busdma/mi and thus when now using the shim. Otherwise the shim provides the implementation, which tends to do something else. The shim needs fleshing out to be functional. In its current form it merely allows LINT to build (for amd64). Added: projects/altix2/sys/sys/bus_dma_compat.h Modified: projects/altix2/sys/amd64/amd64/vm_machdep.c projects/altix2/sys/amd64/include/md_var.h projects/altix2/sys/arm/arm/vm_machdep.c projects/altix2/sys/arm/include/md_var.h projects/altix2/sys/conf/files projects/altix2/sys/conf/files.amd64 projects/altix2/sys/conf/files.arm projects/altix2/sys/conf/files.i386 projects/altix2/sys/conf/files.ia64 projects/altix2/sys/conf/files.mips projects/altix2/sys/conf/files.pc98 projects/altix2/sys/conf/files.powerpc projects/altix2/sys/conf/options projects/altix2/sys/dev/pci/vga_pci.c projects/altix2/sys/i386/i386/vm_machdep.c projects/altix2/sys/i386/include/md_var.h projects/altix2/sys/ia64/ia64/vm_machdep.c projects/altix2/sys/ia64/include/md_var.h projects/altix2/sys/kern/kern_intr.c projects/altix2/sys/kern/subr_bus.c projects/altix2/sys/mips/include/md_var.h projects/altix2/sys/mips/mips/vm_machdep.c projects/altix2/sys/powerpc/include/md_var.h projects/altix2/sys/powerpc/powerpc/vm_machdep.c projects/altix2/sys/sparc64/sparc64/vm_machdep.c projects/altix2/sys/sys/bus.h projects/altix2/sys/sys/bus_dma.h Modified: projects/altix2/sys/amd64/amd64/vm_machdep.c ============================================================================== --- projects/altix2/sys/amd64/amd64/vm_machdep.c Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/amd64/amd64/vm_machdep.c Mon Dec 2 06:14:05 2013 (r258836) @@ -697,15 +697,17 @@ cpu_reset_real() while(1); } +#if defined(LEGACY_BUS_DMA) /* * Software interrupt handler for queued VM system processing. */ void swi_vm(void *dummy) -{ +{ if (busdma_swi_pending != 0) busdma_swi(); } +#endif /* * Tell whether this address is in some physical memory region. Modified: projects/altix2/sys/amd64/include/md_var.h ============================================================================== --- projects/altix2/sys/amd64/include/md_var.h Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/amd64/include/md_var.h Mon Dec 2 06:14:05 2013 (r258836) @@ -38,7 +38,12 @@ extern long Maxmem; extern u_int basemem; + +#if defined(LEGACY_BUS_DMA) extern int busdma_swi_pending; +void busdma_swi(void); +#endif + extern u_int cpu_exthigh; extern u_int cpu_feature; extern u_int cpu_feature2; @@ -87,7 +92,6 @@ struct dumperinfo; void *alloc_fpusave(int flags); void amd64_syscall(struct thread *td, int traced); -void busdma_swi(void); void cpu_setregs(void); void ctx_fpusave(void *); void doreti_iret(void) __asm(__STRING(doreti_iret)); Modified: projects/altix2/sys/arm/arm/vm_machdep.c ============================================================================== --- projects/altix2/sys/arm/arm/vm_machdep.c Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/arm/arm/vm_machdep.c Mon Dec 2 06:14:05 2013 (r258836) @@ -466,6 +466,7 @@ cpu_set_fork_handler(struct thread *td, ("cpu_set_fork_handler: Incorrect stack alignment")); } +#if defined(LEGACY_BUS_DMA) /* * Software interrupt handler for queued VM system processing. */ @@ -476,6 +477,7 @@ swi_vm(void *dummy) if (busdma_swi_pending) busdma_swi(); } +#endif void cpu_exit(struct thread *td) Modified: projects/altix2/sys/arm/include/md_var.h ============================================================================== --- projects/altix2/sys/arm/include/md_var.h Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/arm/include/md_var.h Mon Dec 2 06:14:05 2013 (r258836) @@ -71,8 +71,12 @@ enum cpu_class { extern enum cpu_class cpu_class; struct dumperinfo; + +#if defined(LEGACY_BUS_DMA) extern int busdma_swi_pending; void busdma_swi(void); +#endif + void dump_add_page(vm_paddr_t); void dump_drop_page(vm_paddr_t); void minidumpsys(struct dumperinfo *); Modified: projects/altix2/sys/conf/files ============================================================================== --- projects/altix2/sys/conf/files Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/conf/files Mon Dec 2 06:14:05 2013 (r258836) @@ -2863,7 +2863,7 @@ kern/subr_acl_posix1e.c optional ufs_ac kern/subr_autoconf.c standard kern/subr_blist.c standard kern/subr_bus.c standard -kern/subr_bus_dma.c standard +kern/subr_bus_dma.c optional legacy_bus_dma kern/subr_busdma.c standard kern/subr_bufring.c standard kern/subr_capability.c standard Modified: projects/altix2/sys/conf/files.amd64 ============================================================================== --- projects/altix2/sys/conf/files.amd64 Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/conf/files.amd64 Mon Dec 2 06:14:05 2013 (r258836) @@ -550,8 +550,8 @@ x86/isa/nmi.c standard x86/isa/orm.c optional isa x86/pci/pci_bus.c optional pci x86/pci/qpi.c optional pci -x86/x86/busdma_bounce.c standard -x86/x86/busdma_machdep.c standard +x86/x86/busdma_bounce.c optional legacy_bus_dma +x86/x86/busdma_machdep.c optional legacy_bus_dma x86/x86/dump_machdep.c standard x86/x86/fdt_machdep.c optional fdt x86/x86/intr_machdep.c standard Modified: projects/altix2/sys/conf/files.arm ============================================================================== --- projects/altix2/sys/conf/files.arm Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/conf/files.arm Mon Dec 2 06:14:05 2013 (r258836) @@ -5,8 +5,21 @@ arm/arm/bcopyinout.S standard arm/arm/blockio.S standard arm/arm/bootconfig.c standard arm/arm/bus_space_asm_generic.S standard -arm/arm/busdma_machdep.c optional cpu_arm9 | cpu_arm9e | cpu_fa526 | cpu_sa1100 | cpu_sa1110 | cpu_xscale_80219 | cpu_xscale_80321 | cpu_xscale_81342 | cpu_xscale_ixp425 | cpu_xscale_ixp435 | cpu_xscale_pxa2x0 -arm/arm/busdma_machdep-v6.c optional cpu_arm1136 | cpu_arm1176 | cpu_cortexa | cpu_mv_pj4b +arm/arm/busdma_machdep.c optional legacy_bus_dma cpu_arm9 +arm/arm/busdma_machdep.c optional legacy_bus_dma cpu_arm9e +arm/arm/busdma_machdep.c optional legacy_bus_dma cpu_fa526 +arm/arm/busdma_machdep.c optional legacy_bus_dma cpu_sa1100 +arm/arm/busdma_machdep.c optional legacy_bus_dma cpu_sa1110 +arm/arm/busdma_machdep.c optional legacy_bus_dma cpu_xscale_80219 +arm/arm/busdma_machdep.c optional legacy_bus_dma cpu_xscale_80321 +arm/arm/busdma_machdep.c optional legacy_bus_dma cpu_xscale_81342 +arm/arm/busdma_machdep.c optional legacy_bus_dma cpu_xscale_ixp425 +arm/arm/busdma_machdep.c optional legacy_bus_dma cpu_xscale_ixp435 +arm/arm/busdma_machdep.c optional legacy_bus_dma cpu_xscale_pxa2x0 +arm/arm/busdma_machdep-v6.c optional legacy_bus_dma cpu_arm1136 +arm/arm/busdma_machdep-v6.c optional legacy_bus_dma cpu_arm1176 +arm/arm/busdma_machdep-v6.c optional legacy_bus_dma cpu_cortexa +arm/arm/busdma_machdep-v6.c optional legacy_bus_dma cpu_mv_pj4b arm/arm/copystr.S standard arm/arm/cpufunc.c standard arm/arm/cpufunc_asm.S standard @@ -72,7 +85,7 @@ font.h optional sc \ compile-with "uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h" \ no-obj no-implicit-rule before-depend \ clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8" -kern/subr_busdma_bufalloc.c standard +kern/subr_busdma_bufalloc.c optional legacy_bus_dma kern/subr_dummy_vdso_tc.c standard libkern/arm/aeabi_unwind.c standard libkern/arm/divsi3.S standard Modified: projects/altix2/sys/conf/files.i386 ============================================================================== --- projects/altix2/sys/conf/files.i386 Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/conf/files.i386 Mon Dec 2 06:14:05 2013 (r258836) @@ -573,8 +573,8 @@ x86/isa/nmi.c standard x86/isa/orm.c optional isa x86/pci/pci_bus.c optional pci x86/pci/qpi.c optional pci -x86/x86/busdma_bounce.c standard -x86/x86/busdma_machdep.c standard +x86/x86/busdma_bounce.c optional legacy_bus_dma +x86/x86/busdma_machdep.c optional legacy_bus_dma x86/x86/dump_machdep.c standard x86/x86/fdt_machdep.c optional fdt x86/x86/intr_machdep.c standard Modified: projects/altix2/sys/conf/files.ia64 ============================================================================== --- projects/altix2/sys/conf/files.ia64 Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/conf/files.ia64 Mon Dec 2 06:14:05 2013 (r258836) @@ -72,7 +72,7 @@ ia64/ia32/ia32_signal.c optional compat ia64/ia32/ia32_trap.c optional compat_freebsd32 ia64/ia64/autoconf.c standard ia64/ia64/bus_machdep.c standard -ia64/ia64/busdma_machdep.c standard +ia64/ia64/busdma_machdep.c optional legacy_bus_dma ia64/ia64/clock.c standard ia64/ia64/context.S standard ia64/ia64/db_machdep.c optional ddb Modified: projects/altix2/sys/conf/files.mips ============================================================================== --- projects/altix2/sys/conf/files.mips Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/conf/files.mips Mon Dec 2 06:14:05 2013 (r258836) @@ -8,7 +8,7 @@ mips/mips/autoconf.c standard mips/mips/bus_space_generic.c standard mips/mips/bus_space_fdt.c optional fdt -mips/mips/busdma_machdep.c standard +mips/mips/busdma_machdep.c optional legacy_bus_dma mips/mips/cache.c standard mips/mips/cache_mipsNN.c standard mips/mips/cpu.c standard Modified: projects/altix2/sys/conf/files.pc98 ============================================================================== --- projects/altix2/sys/conf/files.pc98 Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/conf/files.pc98 Mon Dec 2 06:14:05 2013 (r258836) @@ -247,8 +247,8 @@ x86/isa/atpic.c optional atpic x86/isa/clock.c standard x86/isa/isa.c optional isa x86/pci/pci_bus.c optional pci -x86/x86/busdma_bounce.c standard -x86/x86/busdma_machdep.c standard +x86/x86/busdma_bounce.c optional legacy_bus_dma +x86/x86/busdma_machdep.c optional legacy_bus_dma x86/x86/dump_machdep.c standard x86/x86/intr_machdep.c standard x86/x86/io_apic.c optional apic Modified: projects/altix2/sys/conf/files.powerpc ============================================================================== --- projects/altix2/sys/conf/files.powerpc Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/conf/files.powerpc Mon Dec 2 06:14:05 2013 (r258836) @@ -169,7 +169,7 @@ powerpc/powerpc/altivec.c standard powerpc/powerpc/autoconf.c standard powerpc/powerpc/bcopy.c standard powerpc/powerpc/bus_machdep.c standard -powerpc/powerpc/busdma_machdep.c standard +powerpc/powerpc/busdma_machdep.c optional legacy_bus_dma powerpc/powerpc/clock.c standard powerpc/powerpc/copyinout.c standard powerpc/powerpc/copystr.c standard Modified: projects/altix2/sys/conf/options ============================================================================== --- projects/altix2/sys/conf/options Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/conf/options Mon Dec 2 06:14:05 2013 (r258836) @@ -73,7 +73,6 @@ ATSE_CFI_HACK opt_cfi.h AUDIT opt_global.h BOOTHOWTO opt_global.h BOOTVERBOSE opt_global.h -BUSDMA_MI opt_global.h CALLOUT_PROFILING CAPABILITIES opt_capsicum.h CAPABILITY_MODE opt_capsicum.h @@ -132,6 +131,7 @@ KSTACK_MAX_PAGES KSTACK_PAGES KTRACE KTRACE_REQUEST_POOL opt_ktrace.h +LEGACY_BUS_DMA opt_global.h LIBICONV MAC opt_global.h MAC_BIBA opt_dontuse.h Modified: projects/altix2/sys/dev/pci/vga_pci.c ============================================================================== --- projects/altix2/sys/dev/pci/vga_pci.c Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/dev/pci/vga_pci.c Mon Dec 2 06:14:05 2013 (r258836) @@ -508,12 +508,14 @@ vga_pci_msix_count(device_t dev, device_ return (pci_msix_count(dev)); } +#if defined(LEGACY_BUS_DMA) static bus_dma_tag_t vga_pci_get_dma_tag(device_t bus, device_t child) { return (bus_get_dma_tag(bus)); } +#endif static device_method_t vga_pci_methods[] = { /* Device interface */ @@ -532,7 +534,9 @@ static device_method_t vga_pci_methods[] DEVMETHOD(bus_release_resource, vga_pci_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), +#if defined(LEGACY_BUS_DMA) DEVMETHOD(bus_get_dma_tag, vga_pci_get_dma_tag), +#endif /* PCI interface */ DEVMETHOD(pci_read_config, vga_pci_read_config), Modified: projects/altix2/sys/i386/i386/vm_machdep.c ============================================================================== --- projects/altix2/sys/i386/i386/vm_machdep.c Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/i386/i386/vm_machdep.c Mon Dec 2 06:14:05 2013 (r258836) @@ -946,15 +946,17 @@ sf_buf_free(struct sf_buf *sf) mtx_unlock(&sf_buf_lock); } +#if defined(LEGACY_BUS_DMA) /* * Software interrupt handler for queued VM system processing. */ void swi_vm(void *dummy) -{ +{ if (busdma_swi_pending != 0) busdma_swi(); } +#endif /* * Tell whether this address is in some physical memory region. Modified: projects/altix2/sys/i386/include/md_var.h ============================================================================== --- projects/altix2/sys/i386/include/md_var.h Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/i386/include/md_var.h Mon Dec 2 06:14:05 2013 (r258836) @@ -38,7 +38,12 @@ extern long Maxmem; extern u_int basemem; /* PA of original top of base memory */ + +#if defined(LEGACY_BUS_DMA) extern int busdma_swi_pending; +void busdma_swi(void); +#endif + extern u_int cpu_exthigh; extern u_int cpu_feature; extern u_int cpu_feature2; @@ -81,7 +86,6 @@ struct dbreg; struct dumperinfo; void bcopyb(const void *from, void *to, size_t len); -void busdma_swi(void); void cpu_setregs(void); void cpu_switch_load_gs(void) __asm(__STRING(cpu_switch_load_gs)); void doreti_iret(void) __asm(__STRING(doreti_iret)); Modified: projects/altix2/sys/ia64/ia64/vm_machdep.c ============================================================================== --- projects/altix2/sys/ia64/ia64/vm_machdep.c Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/ia64/ia64/vm_machdep.c Mon Dec 2 06:14:05 2013 (r258836) @@ -351,6 +351,7 @@ cpu_exit(struct thread *td) { } +#if defined(LEGACY_BUS_DMA) /* * Software interrupt handler for queued VM system processing. */ @@ -361,3 +362,4 @@ swi_vm(void *dummy) if (busdma_swi_pending != 0) busdma_swi(); } +#endif Modified: projects/altix2/sys/ia64/include/md_var.h ============================================================================== --- projects/altix2/sys/ia64/include/md_var.h Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/ia64/include/md_var.h Mon Dec 2 06:14:05 2013 (r258836) @@ -75,10 +75,13 @@ struct ia64_init_return { extern uint64_t ia64_lapic_addr; extern vm_paddr_t paddr_max; + +#if defined(LEGACY_BUS_DMA) extern u_int busdma_swi_pending; +void busdma_swi(void); +#endif void *acpi_find_table(const char *sig); -void busdma_swi(void); int copyout_regstack(struct thread *, uint64_t *, uint64_t *); void cpu_mp_add(u_int, u_int, u_int); void cpu_pcpu_setup(struct pcpu *, u_int, u_int); Modified: projects/altix2/sys/kern/kern_intr.c ============================================================================== --- projects/altix2/sys/kern/kern_intr.c Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/kern/kern_intr.c Mon Dec 2 06:14:05 2013 (r258836) @@ -119,7 +119,6 @@ static void priv_ithread_execute_handler #endif static void ithread_loop(void *); static void ithread_update(struct intr_thread *ithd); -static void start_softintr(void *); /* Map an interrupt type to an ithread priority. */ u_char @@ -1861,6 +1860,7 @@ DB_SHOW_COMMAND(intr, db_show_intr) } #endif /* DDB */ +#if defined(LEGACY_BUS_DMA) /* * Start standard software interrupt threads */ @@ -1873,6 +1873,7 @@ start_softintr(void *dummy) } SYSINIT(start_softintr, SI_SUB_SOFTINTR, SI_ORDER_FIRST, start_softintr, NULL); +#endif /* * Sysctls used by systat and others: hw.intrnames and hw.intrcnt. Modified: projects/altix2/sys/kern/subr_bus.c ============================================================================== --- projects/altix2/sys/kern/subr_bus.c Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/kern/subr_bus.c Mon Dec 2 06:14:05 2013 (r258836) @@ -4434,6 +4434,7 @@ bus_child_location_str(device_t child, c return (BUS_CHILD_LOCATION_STR(parent, child, buf, buflen)); } +#if defined(LEGACY_BUS_DMA) /** * @brief Wrapper function for BUS_GET_DMA_TAG(). * @@ -4450,6 +4451,7 @@ bus_get_dma_tag(device_t dev) return (NULL); return (BUS_GET_DMA_TAG(parent, dev)); } +#endif /* LEGACY_BUS_DMA */ /* Resume all devices and then notify userland that we're up again. */ static int Modified: projects/altix2/sys/mips/include/md_var.h ============================================================================== --- projects/altix2/sys/mips/include/md_var.h Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/mips/include/md_var.h Mon Dec 2 06:14:05 2013 (r258836) @@ -73,8 +73,10 @@ void mips_pcpu0_init(void); void mips_proc0_init(void); void mips_postboot_fixup(void); +#if defined(LEGACY_BUS_DMA) extern int busdma_swi_pending; void busdma_swi(void); +#endif struct dumperinfo; void dump_add_page(vm_paddr_t); Modified: projects/altix2/sys/mips/mips/vm_machdep.c ============================================================================== --- projects/altix2/sys/mips/mips/vm_machdep.c Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/mips/mips/vm_machdep.c Mon Dec 2 06:14:05 2013 (r258836) @@ -590,6 +590,7 @@ sf_buf_free(struct sf_buf *sf) } #endif /* !__mips_n64 */ +#if defined(LEGACY_BUS_DMA) /* * Software interrupt handler for queued VM system processing. */ @@ -600,6 +601,7 @@ swi_vm(void *dummy) if (busdma_swi_pending) busdma_swi(); } +#endif int cpu_set_user_tls(struct thread *td, void *tls_base) Modified: projects/altix2/sys/powerpc/include/md_var.h ============================================================================== --- projects/altix2/sys/powerpc/include/md_var.h Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/powerpc/include/md_var.h Mon Dec 2 06:14:05 2013 (r258836) @@ -42,7 +42,11 @@ extern int szsigcode64; #endif extern long Maxmem; + +#if defined(LEGACY_BUS_DMA) extern int busdma_swi_pending; +void busdma_swi(void); +#endif extern vm_offset_t kstack0; extern vm_offset_t kstack0_phys; @@ -53,7 +57,6 @@ extern int hw_direct_map; void __syncicache(void *, int); -void busdma_swi(void); int is_physical_memory(vm_offset_t addr); int mem_valid(vm_offset_t addr, int len); Modified: projects/altix2/sys/powerpc/powerpc/vm_machdep.c ============================================================================== --- projects/altix2/sys/powerpc/powerpc/vm_machdep.c Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/powerpc/powerpc/vm_machdep.c Mon Dec 2 06:14:05 2013 (r258836) @@ -362,6 +362,7 @@ sf_buf_free(struct sf_buf *sf) mtx_unlock(&sf_buf_lock); } +#if defined(LEGACY_BUS_DMA) /* * Software interrupt handler for queued VM system processing. */ @@ -372,6 +373,7 @@ swi_vm(void *dummy) if (busdma_swi_pending != 0) busdma_swi(); } +#endif /* * Tell whether this address is in some physical memory region. Modified: projects/altix2/sys/sparc64/sparc64/vm_machdep.c ============================================================================== --- projects/altix2/sys/sparc64/sparc64/vm_machdep.c Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/sparc64/sparc64/vm_machdep.c Mon Dec 2 06:14:05 2013 (r258836) @@ -494,12 +494,14 @@ sf_buf_free(struct sf_buf *sf) mtx_unlock(&sf_freelist.sf_lock); } +#if defined(LEGACY_BUS_DMA) void swi_vm(void *v) { /* Nothing to do here - busdma bounce buffers are not implemented. */ } +#endif void * uma_small_alloc(uma_zone_t zone, int bytes, u_int8_t *flags, int wait) Modified: projects/altix2/sys/sys/bus.h ============================================================================== --- projects/altix2/sys/sys/bus.h Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/sys/bus.h Mon Dec 2 06:14:05 2013 (r258836) @@ -388,7 +388,6 @@ int bus_activate_resource(device_t dev, struct resource *r); int bus_deactivate_resource(device_t dev, int type, int rid, struct resource *r); -bus_dma_tag_t bus_get_dma_tag(device_t dev); int bus_release_resource(device_t dev, int type, int rid, struct resource *r); int bus_free_resource(device_t dev, int type, struct resource *r); @@ -411,6 +410,10 @@ int bus_child_pnpinfo_str(device_t child int bus_child_location_str(device_t child, char *buf, size_t buflen); void bus_enumerate_hinted_children(device_t bus); +#if defined(LEGACY_BUS_DMA) +bus_dma_tag_t bus_get_dma_tag(device_t dev); +#endif + static __inline struct resource * bus_alloc_resource_any(device_t dev, int type, int *rid, u_int flags) { Modified: projects/altix2/sys/sys/bus_dma.h ============================================================================== --- projects/altix2/sys/sys/bus_dma.h Mon Dec 2 06:09:52 2013 (r258835) +++ projects/altix2/sys/sys/bus_dma.h Mon Dec 2 06:14:05 2013 (r258836) @@ -128,17 +128,6 @@ struct uio; #define BUS_DMASYNC_POSTWRITE 8 /* - * bus_dma_segment_t - * - * Describes a single contiguous DMA transaction. Values - * are suitable for programming into DMA registers. - */ -typedef struct bus_dma_segment { - bus_addr_t ds_addr; /* DMA address */ - bus_size_t ds_len; /* length of transfer */ -} bus_dma_segment_t; - -/* * A function that returns 1 if the address cannot be accessed by * a device and 0 if it can be. */ @@ -149,6 +138,19 @@ typedef int bus_dma_filter_t(void *, bus */ void busdma_lock_mutex(void *arg, bus_dma_lock_op_t op); +#if defined(LEGACY_BUS_DMA) + +/* + * bus_dma_segment_t + * + * Describes a single contiguous DMA transaction. Values + * are suitable for programming into DMA registers. + */ +typedef struct bus_dma_segment { + bus_addr_t ds_addr; /* DMA address */ + bus_size_t ds_len; /* length of transfer */ +} bus_dma_segment_t; + /* * Allocate a device specific dma_tag encapsulating the constraints of * the parent tag in addition to other restrictions specified: @@ -344,4 +346,11 @@ bus_dma_segment_t *_bus_dmamap_complete( #endif /* __sparc64__ */ +#else /* LEGACY_BUS_DMA */ + +#include +#include + +#endif /* LEGACY_BUS_DMA */ + #endif /* _BUS_DMA_H_ */ Added: projects/altix2/sys/sys/bus_dma_compat.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/altix2/sys/sys/bus_dma_compat.h Mon Dec 2 06:14:05 2013 (r258836) @@ -0,0 +1,185 @@ +#ifndef _SYS_BUS_DMA_COMPAT_H_ +#define _SYS_BUS_DMA_COMPAT_H_ + +#include +#include + +#include + +typedef struct bus_dma_segment { + TAILQ_ENTRY(bus_dma_segment) ds_link; + u_int ds_idx; + bus_addr_t ds_addr; /* bus address */ + vm_paddr_t ds_physaddr; + vm_offset_t ds_virtaddr; + vm_size_t ds_len; +} bus_dma_segment_t; + +typedef void bus_dmamap_callback_t(void *, bus_dma_segment_t *, int, int); +typedef void bus_dmamap_callback2_t(void *, bus_dma_segment_t *, int, + bus_size_t, int); + +#define bus_dmamap_t busdma_md_t + +#ifdef CTASSERT +CTASSERT(__alignof(device_t) > 1); +CTASSERT(__alignof(bus_dma_tag_t) > 1); +#endif + +static bus_dma_tag_t __inline +bus_get_dma_tag(device_t dev) +{ + bus_dma_tag_t tag; + uintptr_t token; + + token = (uintptr_t)(void *)dev; + token |= 1; + tag = (bus_dma_tag_t)(void *)token; + return (tag); +} + +static int __inline +bus_dma_tag_create(bus_dma_tag_t dt, bus_size_t align, bus_addr_t bndry, + bus_addr_t lowaddr, bus_addr_t highaddr, bus_dma_filter_t *filtfunc, + void *filtfuncarg, bus_size_t maxsz, int nsegs, bus_size_t maxsegsz, + int flags, bus_dma_lock_t *lockfunc, void *lockfuncarg, + bus_dma_tag_t *tag_p) +{ + busdma_tag_t tag; + device_t dev; + uintptr_t token; + int error; + + KASSERT(highaddr == BUS_SPACE_MAXADDR, ("%s: bad highaddr", __func__)); + + token = (uintptr_t)(void *)dt; + if (token & 1UL) { + dev = (device_t)(void *)(token - 1UL); + error = busdma_tag_create(dev, align, bndry, lowaddr, maxsz, + nsegs, maxsegsz, 0, flags, &tag); + } else { + tag = (busdma_tag_t)(void *)dt; + error = busdma_tag_derive(tag, align, bndry, lowaddr, maxsz, + nsegs, maxsegsz, 0, flags, &tag); + } + *tag_p = (bus_dma_tag_t)(void *)tag; + + /* XXX lockfunc, lockfuncarg */ + /* XXX filtfunc, filtfuncarg */ + return (error); +} + +static int __inline +bus_dma_tag_destroy(bus_dma_tag_t tag) +{ + uintptr_t token; + + token = (uintptr_t)(void *)tag; + KASSERT((token & 1) == 0, ("%s: bad tag", __func__)); + return (ENOSYS); +} + +static int __inline +bus_dmamap_create(bus_dma_tag_t tag, int flags, bus_dmamap_t *mapp) +{ + + return (ENOSYS); +} + +static int __inline +bus_dmamap_destroy(bus_dma_tag_t tag, bus_dmamap_t map) +{ + + return (ENOSYS); +} + +static int __inline +bus_dmamap_load(bus_dma_tag_t tag, bus_dmamap_t map, void *buf, + bus_size_t buflen, bus_dmamap_callback_t *callback, void *callback_arg, + int flags) +{ + + return (ENOSYS); +} + +static int __inline +bus_dmamap_load_bio(bus_dma_tag_t tag, bus_dmamap_t map, struct bio *bio, + bus_dmamap_callback_t *callback, void *callback_arg, int flags) +{ + + return (ENOSYS); +} + +static int __inline +bus_dmamap_load_ccb(bus_dma_tag_t tag, bus_dmamap_t map, union ccb *ccb, + bus_dmamap_callback_t *callback, void *callback_arg, int flags) +{ + + return (ENOSYS); +} + +static int __inline +bus_dmamap_load_mbuf(bus_dma_tag_t tag, bus_dmamap_t map, struct mbuf *mbuf, + bus_dmamap_callback2_t *callback, void *callback_arg, int flags) +{ + + return (ENOSYS); +} + +static int __inline +bus_dmamap_load_mbuf_sg(bus_dma_tag_t tag, bus_dmamap_t map, struct mbuf *mbuf, + bus_dma_segment_t *segs, int *nsegs, int flags) +{ + + return (ENOSYS); +} + +static int __inline +bus_dmamap_load_uio(bus_dma_tag_t tag, bus_dmamap_t map, struct uio *ui, + bus_dmamap_callback2_t *callback, void *callback_arg, int flags) +{ + + return (ENOSYS); +} + +static void __inline +bus_dmamap_sync(bus_dma_tag_t tag, bus_dmamap_t map, bus_dmasync_op_t op) +{ + u_int nop; + int error; + + nop = 0; + if (op & BUS_DMASYNC_PREREAD) + nop |= BUSDMA_SYNC_PREREAD; + if (op & BUS_DMASYNC_POSTREAD) + nop |= BUSDMA_SYNC_POSTREAD; + if (op & BUS_DMASYNC_PREWRITE) + nop |= BUSDMA_SYNC_PREWRITE; + if (op & BUS_DMASYNC_POSTWRITE) + nop |= BUSDMA_SYNC_POSTWRITE; + KASSERT((nop & (BUSDMA_SYNC_BEFORE | BUSDMA_SYNC_AFTER)) != + (BUSDMA_SYNC_BEFORE | BUSDMA_SYNC_AFTER), + ("%s: bad op", __func__)); + error = busdma_sync_range(map, op, 0UL, ~0UL); + KASSERT(error == 0, ("%s: got error", __func__)); +} + +static void __inline +bus_dmamap_unload(bus_dma_tag_t tag, bus_dmamap_t map) +{ +} + +static int __inline +bus_dmamem_alloc(bus_dma_tag_t tag, void **vaddr, int flags, + bus_dmamap_t *mapp) +{ + + return (ENOSYS); +} + +static void __inline +bus_dmamem_free(bus_dma_tag_t tag, void *vaddr, bus_dmamap_t map) +{ +} + +#endif /* _SYS_BUS_DMA_COMPAT_H_ */ From owner-svn-src-projects@FreeBSD.ORG Mon Dec 2 08:36:56 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 42355523; Mon, 2 Dec 2013 08:36:56 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 2B59A1C4E; Mon, 2 Dec 2013 08:36:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB28aurq028503; Mon, 2 Dec 2013 08:36:56 GMT (envelope-from markm@svn.freebsd.org) Received: (from markm@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB28ar2p028491; Mon, 2 Dec 2013 08:36:53 GMT (envelope-from markm@svn.freebsd.org) Message-Id: <201312020836.rB28ar2p028491@svn.freebsd.org> From: Mark Murray Date: Mon, 2 Dec 2013 08:36:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258839 - in projects/random_number_generator: contrib/gcc/cp contrib/gcclibs/libcpp contrib/gcclibs/libiberty contrib/gcclibs/libiberty/testsuite sys/arm/at91 sys/dev/bge sys/dev/drm2/... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Dec 2013 08:36:56 -0000 Author: markm Date: Mon Dec 2 08:36:53 2013 New Revision: 258839 URL: http://svnweb.freebsd.org/changeset/base/258839 Log: MFC - Tracking Commit Added: projects/random_number_generator/contrib/gcclibs/libiberty/ChangeLog.gcc43 - copied unchanged from r258837, head/contrib/gcclibs/libiberty/ChangeLog.gcc43 projects/random_number_generator/sys/dev/nand/nfc_at91.c - copied unchanged from r258837, head/sys/dev/nand/nfc_at91.c Modified: projects/random_number_generator/contrib/gcc/cp/ChangeLog.gcc43 projects/random_number_generator/contrib/gcc/cp/mangle.c projects/random_number_generator/contrib/gcclibs/libcpp/ChangeLog.gcc43 projects/random_number_generator/contrib/gcclibs/libcpp/expr.c projects/random_number_generator/contrib/gcclibs/libcpp/lex.c projects/random_number_generator/contrib/gcclibs/libcpp/macro.c projects/random_number_generator/contrib/gcclibs/libcpp/pch.c projects/random_number_generator/contrib/gcclibs/libiberty/choose-temp.c projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.c projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.h projects/random_number_generator/contrib/gcclibs/libiberty/floatformat.c projects/random_number_generator/contrib/gcclibs/libiberty/functions.texi projects/random_number_generator/contrib/gcclibs/libiberty/pex-unix.c projects/random_number_generator/contrib/gcclibs/libiberty/strsignal.c projects/random_number_generator/contrib/gcclibs/libiberty/testsuite/demangle-expected projects/random_number_generator/contrib/gcclibs/libiberty/testsuite/test-demangle.c projects/random_number_generator/sys/arm/at91/at91_pioreg.h projects/random_number_generator/sys/arm/at91/files.at91 projects/random_number_generator/sys/dev/bge/if_bge.c projects/random_number_generator/sys/dev/bge/if_bgereg.h projects/random_number_generator/sys/dev/drm2/i915/i915_reg.h projects/random_number_generator/sys/dev/iwn/if_iwn.c projects/random_number_generator/sys/dev/iwn/if_iwnreg.h projects/random_number_generator/sys/dev/iwn/if_iwnvar.h projects/random_number_generator/sys/dev/ofw/ofw_fdt.c projects/random_number_generator/sys/dev/uart/uart_cpu_powerpc.c projects/random_number_generator/sys/kern/kern_mib.c projects/random_number_generator/sys/kern/uipc_syscalls.c projects/random_number_generator/sys/netinet/tcp_input.c projects/random_number_generator/sys/powerpc/booke/platform_bare.c projects/random_number_generator/sys/powerpc/include/ofw_machdep.h projects/random_number_generator/sys/powerpc/mpc85xx/platform_mpc85xx.c projects/random_number_generator/sys/powerpc/ofw/ofw_machdep.c projects/random_number_generator/sys/powerpc/powermac/platform_powermac.c projects/random_number_generator/sys/powerpc/powerpc/platform.c projects/random_number_generator/sys/powerpc/powerpc/platform_if.m projects/random_number_generator/sys/powerpc/ps3/platform_ps3.c projects/random_number_generator/sys/powerpc/pseries/platform_chrp.c projects/random_number_generator/sys/powerpc/wii/platform_wii.c Directory Properties: projects/random_number_generator/ (props changed) projects/random_number_generator/contrib/gcc/ (props changed) projects/random_number_generator/sys/ (props changed) Modified: projects/random_number_generator/contrib/gcc/cp/ChangeLog.gcc43 ============================================================================== --- projects/random_number_generator/contrib/gcc/cp/ChangeLog.gcc43 Mon Dec 2 08:21:28 2013 (r258838) +++ projects/random_number_generator/contrib/gcc/cp/ChangeLog.gcc43 Mon Dec 2 08:36:53 2013 (r258839) @@ -1,4 +1,4 @@ -2007-07-09 Geoffrey Keating +2007-07-09 Geoffrey Keating (r126529) PR 32617 * decl.c (cxx_init_decl_processing): Don't set @@ -18,6 +18,13 @@ * decl2.c (determine_visibility): Remove duplicate code for handling type info. +2007-05-05 Geoffrey Keating (r124467) + + PR 31775 + * mangle.c (write_mangled_name): Mangle static variable names. + (write_unqualified_name): Use local-source-name for + namespace-scope static variables. + 2007-03-12 Seongbae Park (r122851) * decl.c (compute_array_index_type): New warning flag warn_vla. Modified: projects/random_number_generator/contrib/gcc/cp/mangle.c ============================================================================== --- projects/random_number_generator/contrib/gcc/cp/mangle.c Mon Dec 2 08:21:28 2013 (r258838) +++ projects/random_number_generator/contrib/gcc/cp/mangle.c Mon Dec 2 08:36:53 2013 (r258839) @@ -688,7 +688,8 @@ write_mangled_name (const tree decl, boo } } else if (TREE_CODE (decl) == VAR_DECL - /* The names of global variables aren't mangled. */ + /* The names of non-static global variables aren't mangled. */ + && DECL_EXTERNAL_LINKAGE_P (decl) && (CP_DECL_CONTEXT (decl) == global_namespace /* And neither are `extern "C"' variables. */ || DECL_EXTERN_C_P (decl))) @@ -1086,7 +1087,10 @@ write_template_prefix (const tree node) ::= ::= - ::= */ + ::= + ::= + + ::= L */ static void write_unqualified_name (const tree decl) @@ -1126,6 +1130,16 @@ write_unqualified_name (const tree decl) write_string (oni[DECL_OVERLOADED_OPERATOR_P (decl)].mangled_name); } + else if (VAR_OR_FUNCTION_DECL_P (decl) && ! TREE_PUBLIC (decl) + && DECL_NAMESPACE_SCOPE_P (decl) + && decl_linkage (decl) == lk_internal) + { + MANGLE_TRACE_TREE ("local-source-name", decl); + write_char ('L'); + write_source_name (DECL_NAME (decl)); + /* The default discriminator is 1, and that's all we ever use, + so there's no code to output one here. */ + } else write_source_name (DECL_NAME (decl)); } Modified: projects/random_number_generator/contrib/gcclibs/libcpp/ChangeLog.gcc43 ============================================================================== --- projects/random_number_generator/contrib/gcclibs/libcpp/ChangeLog.gcc43 Mon Dec 2 08:21:28 2013 (r258838) +++ projects/random_number_generator/contrib/gcclibs/libcpp/ChangeLog.gcc43 Mon Dec 2 08:36:53 2013 (r258839) @@ -7,6 +7,11 @@ * include/cpplib.h: Add CPP_N_BINARY, to be used for 0b-prefixed binary integer constants. +2007-05-31 Dave Korn (r125212) + + PR preprocessor/14331 + * lex.c (_cpp_get_fresh_line): Don't warn if no newline at EOF. + 2007-05-21 Ian Lance Taylor (r124929) * internal.h (struct cpp_reader): Add new fields: @@ -23,6 +28,29 @@ (_cpp_cleanup_files): Free pfile->nonexistent_file_hash and pfile->nonexistent_file_ob. +2007-05-14 Janis Johnson (r124731) + + PR c/31924 + * expr.c (interpret_float_suffix): Check for invalid suffix. + +2007-05-02 Eric Christopher (r124358) + + * expr.c (num_div_op): Don't overflow if the result is + zero. + +2007-05-02 Tom Tromey (r124356) + + PR preprocessor/28709: + * macro.c (paste_tokens): Remove PASTE_LEFT from the old lhs. + +2007-01-30 Tom Tromey (r121340) + + PR preprocessor/29966: + * macro.c (lex_expansion_token): Save and restore cpp_reader's + cur_token. + (_cpp_create_definition): Don't restore cur_token here. + * lex.c (_cpp_lex_token): Added assertion. + 2006-12-29 Ian Lance Taylor (r120263) * lex.c (_cpp_clean_line): Add uses of __builtin_expect. Don't Modified: projects/random_number_generator/contrib/gcclibs/libcpp/expr.c ============================================================================== --- projects/random_number_generator/contrib/gcclibs/libcpp/expr.c Mon Dec 2 08:21:28 2013 (r258838) +++ projects/random_number_generator/contrib/gcclibs/libcpp/expr.c Mon Dec 2 08:36:53 2013 (r258839) @@ -87,16 +87,19 @@ interpret_float_suffix (const uchar *s, while (len--) switch (s[len]) { - case 'f': case 'F': f++; break; - case 'l': case 'L': l++; break; - case 'i': case 'I': - case 'j': case 'J': i++; break; - case 'd': case 'D': - /* Disallow fd, ld suffixes. */ - if (d && (f || l)) + case 'f': case 'F': + if (d > 0) + return 0; + f++; + break; + case 'l': case 'L': + if (d > 0) return 0; - d++; + l++; break; + case 'i': case 'I': + case 'j': case 'J': i++; break; + case 'd': case 'D': d++; break; default: return 0; } @@ -494,7 +497,7 @@ append_digit (cpp_num num, int digit, in if (add_low + digit < add_low) add_high++; add_low += digit; - + if (result.low + add_low < result.low) add_high++; if (result.high + add_high < result.high) @@ -1580,7 +1583,8 @@ num_div_op (cpp_reader *pfile, cpp_num l { if (negate) result = num_negate (result, precision); - result.overflow = num_positive (result, precision) ^ !negate; + result.overflow = (num_positive (result, precision) ^ !negate + && !num_zerop (result)); } return result; Modified: projects/random_number_generator/contrib/gcclibs/libcpp/lex.c ============================================================================== --- projects/random_number_generator/contrib/gcclibs/libcpp/lex.c Mon Dec 2 08:21:28 2013 (r258838) +++ projects/random_number_generator/contrib/gcclibs/libcpp/lex.c Mon Dec 2 08:36:53 2013 (r258839) @@ -766,6 +766,11 @@ _cpp_lex_token (cpp_reader *pfile) pfile->cur_run = next_tokenrun (pfile->cur_run); pfile->cur_token = pfile->cur_run->base; } + /* We assume that the current token is somewhere in the current + run. */ + if (pfile->cur_token < pfile->cur_run->base + || pfile->cur_token >= pfile->cur_run->limit) + abort (); if (pfile->lookaheads) { @@ -847,11 +852,8 @@ _cpp_get_fresh_line (cpp_reader *pfile) && buffer->next_line > buffer->rlimit && !buffer->from_stage3) { - /* Only warn once. */ + /* Clip to buffer size. */ buffer->next_line = buffer->rlimit; - cpp_error_with_line (pfile, CPP_DL_PEDWARN, pfile->line_table->highest_line, - CPP_BUF_COLUMN (buffer, buffer->cur), - "no newline at end of file"); } return_at_eof = buffer->return_at_eof; Modified: projects/random_number_generator/contrib/gcclibs/libcpp/macro.c ============================================================================== --- projects/random_number_generator/contrib/gcclibs/libcpp/macro.c Mon Dec 2 08:21:28 2013 (r258838) +++ projects/random_number_generator/contrib/gcclibs/libcpp/macro.c Mon Dec 2 08:36:53 2013 (r258839) @@ -1,6 +1,7 @@ /* Part of CPP library. (Macro and #define handling.) Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1998, - 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + 1999, 2000, 2001, 2002, 2003, 2004, 2005, + 2006 Free Software Foundation, Inc. Written by Per Bothner, 1994. Based on CCCP program by Paul Rubin, June 1986 Adapted to ANSI C, Richard Stallman, Jan 1987 @@ -438,19 +439,18 @@ static bool paste_tokens (cpp_reader *pfile, const cpp_token **plhs, const cpp_token *rhs) { unsigned char *buf, *end, *lhsend; - const cpp_token *lhs; + cpp_token *lhs; unsigned int len; - lhs = *plhs; - len = cpp_token_len (lhs) + cpp_token_len (rhs) + 1; + len = cpp_token_len (*plhs) + cpp_token_len (rhs) + 1; buf = (unsigned char *) alloca (len); - end = lhsend = cpp_spell_token (pfile, lhs, buf, false); + end = lhsend = cpp_spell_token (pfile, *plhs, buf, false); /* Avoid comment headers, since they are still processed in stage 3. It is simpler to insert a space here, rather than modifying the lexer to ignore comments in some circumstances. Simply returning false doesn't work, since we want to clear the PASTE_LEFT flag. */ - if (lhs->type == CPP_DIV && rhs->type != CPP_EQ) + if ((*plhs)->type == CPP_DIV && rhs->type != CPP_EQ) *end++ = ' '; end = cpp_spell_token (pfile, rhs, end, false); *end = '\n'; @@ -460,13 +460,22 @@ paste_tokens (cpp_reader *pfile, const c /* Set pfile->cur_token as required by _cpp_lex_direct. */ pfile->cur_token = _cpp_temp_token (pfile); - *plhs = _cpp_lex_direct (pfile); + lhs = _cpp_lex_direct (pfile); if (pfile->buffer->cur != pfile->buffer->rlimit) { + source_location saved_loc = lhs->src_loc; + _cpp_pop_buffer (pfile); _cpp_backup_tokens (pfile, 1); *lhsend = '\0'; + /* We have to remove the PASTE_LEFT flag from the old lhs, but + we want to keep the new location. */ + *lhs = **plhs; + *plhs = lhs; + lhs->src_loc = saved_loc; + lhs->flags &= ~PASTE_LEFT; + /* Mandatory error for all apart from assembler. */ if (CPP_OPTION (pfile, lang) != CLK_ASM) cpp_error (pfile, CPP_DL_ERROR, @@ -475,6 +484,7 @@ paste_tokens (cpp_reader *pfile, const c return false; } + *plhs = lhs; _cpp_pop_buffer (pfile); return true; } @@ -1405,10 +1415,12 @@ alloc_expansion_token (cpp_reader *pfile static cpp_token * lex_expansion_token (cpp_reader *pfile, cpp_macro *macro) { - cpp_token *token; + cpp_token *token, *saved_cur_token; + saved_cur_token = pfile->cur_token; pfile->cur_token = alloc_expansion_token (pfile, macro); token = _cpp_lex_direct (pfile); + pfile->cur_token = saved_cur_token; /* Is this a parameter? */ if (token->type == CPP_NAME @@ -1597,18 +1609,12 @@ _cpp_create_definition (cpp_reader *pfil ok = _cpp_create_trad_definition (pfile, macro); else { - cpp_token *saved_cur_token = pfile->cur_token; - ok = create_iso_definition (pfile, macro); - /* Restore lexer position because of games lex_expansion_token() - plays lexing the macro. We set the type for SEEN_EOL() in - directives.c. + /* We set the type for SEEN_EOL() in directives.c. Longer term we should lex the whole line before coming here, and just copy the expansion. */ - saved_cur_token[-1].type = pfile->cur_token[-1].type; - pfile->cur_token = saved_cur_token; /* Stop the lexer accepting __VA_ARGS__. */ pfile->state.va_args_ok = 0; Modified: projects/random_number_generator/contrib/gcclibs/libcpp/pch.c ============================================================================== --- projects/random_number_generator/contrib/gcclibs/libcpp/pch.c Mon Dec 2 08:21:28 2013 (r258838) +++ projects/random_number_generator/contrib/gcclibs/libcpp/pch.c Mon Dec 2 08:36:53 2013 (r258839) @@ -35,14 +35,14 @@ static int write_defs (cpp_reader *, cpp static int save_macros (cpp_reader *, cpp_hashnode *, void *); /* This structure represents a macro definition on disk. */ -struct macrodef_struct +struct macrodef_struct { unsigned int definition_length; unsigned short name_length; unsigned short flags; }; -/* This is how we write out a macro definition. +/* This is how we write out a macro definition. Suitable for being called by cpp_forall_identifiers. */ static int @@ -54,7 +54,7 @@ write_macdef (cpp_reader *pfile, cpp_has case NT_VOID: if (! (hn->flags & NODE_POISONED)) return 1; - + case NT_MACRO: if ((hn->flags & NODE_BUILTIN)) return 1; @@ -76,7 +76,7 @@ write_macdef (cpp_reader *pfile, cpp_has defn = NODE_NAME (hn); s.definition_length = s.name_length; } - + if (fwrite (&s, sizeof (s), 1, f) != 1 || fwrite (defn, 1, s.definition_length, f) != s.definition_length) { @@ -86,7 +86,7 @@ write_macdef (cpp_reader *pfile, cpp_has } } return 1; - + case NT_ASSERTION: /* Not currently implemented. */ return 1; @@ -123,7 +123,7 @@ static int save_idents (cpp_reader *pfile ATTRIBUTE_UNUSED, cpp_hashnode *hn, void *ss_p) { struct cpp_savedstate *const ss = (struct cpp_savedstate *)ss_p; - + if (hn->type != NT_VOID) { struct cpp_string news; @@ -136,7 +136,7 @@ save_idents (cpp_reader *pfile ATTRIBUTE { struct cpp_string *sp; unsigned char *text; - + sp = XNEW (struct cpp_string); *slot = sp; @@ -157,7 +157,7 @@ hashmem (const void *p_p, size_t sz) const unsigned char *p = (const unsigned char *)p_p; size_t i; hashval_t h; - + h = 0; for (i = 0; i < sz; i++) h = h * 67 - (*p++ - 113); @@ -194,10 +194,10 @@ cpp_save_state (cpp_reader *r, FILE *f) { /* Save the list of non-void identifiers for the dependency checking. */ r->savedstate = XNEW (struct cpp_savedstate); - r->savedstate->definedhash = htab_create (100, cpp_string_hash, + r->savedstate->definedhash = htab_create (100, cpp_string_hash, cpp_string_eq, NULL); cpp_forall_identifiers (r, save_idents, r->savedstate); - + /* Write out the list of defined identifiers. */ cpp_forall_identifiers (r, write_macdef, f); @@ -210,20 +210,20 @@ static int count_defs (cpp_reader *pfile ATTRIBUTE_UNUSED, cpp_hashnode *hn, void *ss_p) { struct cpp_savedstate *const ss = (struct cpp_savedstate *)ss_p; - + switch (hn->type) { case NT_MACRO: if (hn->flags & NODE_BUILTIN) return 1; - + /* else fall through. */ case NT_VOID: { struct cpp_string news; void **slot; - + news.len = NODE_LEN (hn); news.text = NODE_NAME (hn); slot = (void **) htab_find (ss->definedhash, &news); @@ -249,20 +249,20 @@ static int write_defs (cpp_reader *pfile ATTRIBUTE_UNUSED, cpp_hashnode *hn, void *ss_p) { struct cpp_savedstate *const ss = (struct cpp_savedstate *)ss_p; - + switch (hn->type) { case NT_MACRO: if (hn->flags & NODE_BUILTIN) return 1; - + /* else fall through. */ case NT_VOID: { struct cpp_string news; void **slot; - + news.len = NODE_LEN (hn); news.text = NODE_NAME (hn); slot = (void **) htab_find (ss->definedhash, &news); @@ -303,7 +303,7 @@ cpp_write_pch_deps (cpp_reader *r, FILE struct cpp_savedstate *const ss = r->savedstate; unsigned char *definedstrs; size_t i; - + /* Collect the list of identifiers which have been seen and weren't defined to anything previously. */ ss->hashsize = 0; @@ -404,7 +404,7 @@ collect_ht_nodes (cpp_reader *pfile ATTR with the preprocessor's current definitions. It will be consistent when: - - anything that was defined just before the PCH was generated + - anything that was defined just before the PCH was generated is defined the same way now; and - anything that was not defined then, but is defined now, was not used by the PCH. @@ -430,10 +430,10 @@ cpp_valid_state (cpp_reader *r, const ch { cpp_hashnode *h; const unsigned char *newdefn; - + if (read (fd, &m, sizeof (m)) != sizeof (m)) goto error; - + if (m.name_length == 0) break; @@ -453,10 +453,10 @@ cpp_valid_state (cpp_reader *r, const ch namebuf = XNEWVEC (unsigned char, namebufsz); } - if ((size_t)read (fd, namebuf, m.definition_length) + if ((size_t)read (fd, namebuf, m.definition_length) != m.definition_length) goto error; - + h = cpp_lookup (r, namebuf, m.name_length); if (m.flags & NODE_POISONED || h->type != NT_MACRO @@ -470,7 +470,7 @@ cpp_valid_state (cpp_reader *r, const ch } newdefn = cpp_macro_definition (r, h); - + if (m.definition_length != ustrlen (newdefn) || memcmp (namebuf, newdefn, m.definition_length) != 0) { @@ -498,17 +498,17 @@ cpp_valid_state (cpp_reader *r, const ch nl.defs = XNEWVEC (cpp_hashnode *, nl.asize); cpp_forall_identifiers (r, &collect_ht_nodes, &nl); qsort (nl.defs, nl.n_defs, sizeof (cpp_hashnode *), &comp_hashnodes); - + /* Loop through nl.defs and undeftab, both of which are sorted lists. There should be no matches. */ first = undeftab; last = undeftab + m.definition_length; i = 0; - + while (first < last && i < nl.n_defs) { int cmp = ustrcmp (first, NODE_NAME (nl.defs[i])); - + if (cmp < 0) first += ustrlen (first) + 1; else if (cmp > 0) @@ -516,13 +516,13 @@ cpp_valid_state (cpp_reader *r, const ch else { if (CPP_OPTION (r, warn_invalid_pch)) - cpp_error (r, CPP_DL_WARNING_SYSHDR, + cpp_error (r, CPP_DL_WARNING_SYSHDR, "%s: not used because `%s' is defined", name, first); goto fail; } } - + free(nl.defs); free (undeftab); @@ -545,7 +545,7 @@ cpp_valid_state (cpp_reader *r, const ch /* Save all the existing macros. */ -struct save_macro_data +struct save_macro_data { uchar **defns; size_t count; @@ -567,7 +567,7 @@ struct save_macro_data file were not saved in this way, but this is not done (yet), except for builtins, and for #assert by default. */ -static int +static int save_macros (cpp_reader *r, cpp_hashnode *h, void *data_p) { struct save_macro_data *data = (struct save_macro_data *)data_p; @@ -577,9 +577,9 @@ save_macros (cpp_reader *r, cpp_hashnode if (data->count == data->array_size) { data->array_size *= 2; - data->defns = XRESIZEVEC (uchar *, data->defns, (data->array_size)); + data->defns = XRESIZEVEC (uchar *, data->defns, (data->array_size)); } - + switch (h->type) { case NT_ASSERTION: @@ -596,7 +596,7 @@ save_macros (cpp_reader *r, cpp_hashnode data->defns[data->count][defnlen] = '\n'; } break; - + default: abort (); } @@ -612,7 +612,7 @@ void cpp_prepare_state (cpp_reader *r, struct save_macro_data **data) { struct save_macro_data *d = XNEW (struct save_macro_data); - + d->array_size = 512; d->defns = XNEWVEC (uchar *, d->array_size); d->count = 0; @@ -622,7 +622,7 @@ cpp_prepare_state (cpp_reader *r, struct } /* Given a precompiled header that was previously determined to be valid, - apply all its definitions (and undefinitions) to the current state. + apply all its definitions (and undefinitions) to the current state. DEPNAME is passed to deps_restore. */ int @@ -632,7 +632,7 @@ cpp_read_state (cpp_reader *r, const cha size_t i; struct lexer_state old_state; - /* Restore spec_nodes, which will be full of references to the old + /* Restore spec_nodes, which will be full of references to the old hashtable entries and so will now be invalid. */ { struct spec_nodes *s = &r->spec_nodes; @@ -691,7 +691,7 @@ cpp_read_state (cpp_reader *r, const cha goto error; return 0; - + error: cpp_errno (r, CPP_DL_ERROR, "while reading precompiled header"); return -1; Copied: projects/random_number_generator/contrib/gcclibs/libiberty/ChangeLog.gcc43 (from r258837, head/contrib/gcclibs/libiberty/ChangeLog.gcc43) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/random_number_generator/contrib/gcclibs/libiberty/ChangeLog.gcc43 Mon Dec 2 08:36:53 2013 (r258839, copy of r258837, head/contrib/gcclibs/libiberty/ChangeLog.gcc43) @@ -0,0 +1,60 @@ +2007-05-05 Geoffrey Keating (r124467) + + PR 31775 + * mangle.c (write_mangled_name): Mangle static variable names. + (write_unqualified_name): Use local-source-name for + namespace-scope static variables. + +2007-03-15 Geoffrey Keating (r122972) + + * cp-demangle.c (d_encoding): Exit early on error. + (d_pointer_to_member_type): Exit early if cplus_demangle_type + returns NULL. + (cplus_demangle_type): Likewise. + * testsuite/demangle-expected: New testcase. + +2007-01-31 Ben Elliston (r121364) + + * strsignal.c (psignal): Change type of signo to int. + * functions.texi: Regenerate. + +2007-01-12 Ben Elliston (r120702) + + * pex-unix.c (writeerr): Cast write result to void. + + * choose-temp.c (choose_temp_base): Check the result of the call + to mktemp rather than testing the length of the modified string. + +2006-12-20 Geoffrey Keating (r120097) + + * cp-demangle.h: Add comment explaining what to do to avoid + overrunning string. + (d_check_char): New. + (d_next_char): Don't advance past trailing '\0'. + * cp-demangle.c (cplus_demangle_mangled_name): Use d_check_char. + (d_nested_name): Likewise. + (d_special_name): Likewise. + (d_call_offset): Likewise. + (d_function_type): Likewise. + (d_array_type): Likewise. + (d_pointer_to_member_type): Likewise. + (d_template_param): Likewise. + (d_template_args): Likewise. + (d_template_arg): Likewise. + (d_expr_primary): Likewise. + (d_local_name): Likewise. + (d_substitution): Likewise. + (d_ctor_dtor_name): Use d_advance rather than d_next_char. + * testsuite/test-demangle.c: Include sys/mman.h. + (MAP_ANONYMOUS): Define. + (protect_end): New. + (main): Use protect_end. + * testsuite/demangle-expected: Add testcases for overrunning + the end of the string. + +2006-11-07 Julian Brown (r118552) + + * floatformat.c (get_field): Fix segfault with little-endian word + order on 64-bit hosts. + (put_field): Likewise. + (min): Move definition. Modified: projects/random_number_generator/contrib/gcclibs/libiberty/choose-temp.c ============================================================================== --- projects/random_number_generator/contrib/gcclibs/libiberty/choose-temp.c Mon Dec 2 08:21:28 2013 (r258838) +++ projects/random_number_generator/contrib/gcclibs/libiberty/choose-temp.c Mon Dec 2 08:36:53 2013 (r258839) @@ -65,8 +65,7 @@ choose_temp_base (void) strcpy (temp_filename, base); strcpy (temp_filename + len, TEMP_FILE); - mktemp (temp_filename); - if (strlen (temp_filename) == 0) + if (mktemp (temp_filename) == 0) abort (); return temp_filename; } Modified: projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.c ============================================================================== --- projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.c Mon Dec 2 08:21:28 2013 (r258838) +++ projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.c Mon Dec 2 08:36:53 2013 (r258839) @@ -913,9 +913,9 @@ CP_STATIC_IF_GLIBCPP_V3 struct demangle_component * cplus_demangle_mangled_name (struct d_info *di, int top_level) { - if (d_next_char (di) != '_') + if (! d_check_char (di, '_')) return NULL; - if (d_next_char (di) != 'Z') + if (! d_check_char (di, 'Z')) return NULL; return d_encoding (di, top_level); } @@ -1021,7 +1021,7 @@ d_encoding (struct d_info *di, int top_l } peek = d_peek_char (di); - if (peek == '\0' || peek == 'E') + if (dc == NULL || peek == '\0' || peek == 'E') return dc; return d_make_comp (di, DEMANGLE_COMPONENT_TYPED_NAME, dc, d_bare_function_type (di, has_return_type (dc))); @@ -1054,11 +1054,9 @@ d_name (struct d_info *di) case 'Z': return d_local_name (di); -/* APPLE LOCAL begin mainline 2007-05-09 5173149 */ \ case 'L': return d_unqualified_name (di); -/* APPLE LOCAL end mainline 2007-05-09 5173149 */ \ case 'S': { int subst; @@ -1128,7 +1126,7 @@ d_nested_name (struct d_info *di) struct demangle_component *ret; struct demangle_component **pret; - if (d_next_char (di) != 'N') + if (! d_check_char (di, 'N')) return NULL; pret = d_cv_qualifiers (di, &ret, 1); @@ -1139,7 +1137,7 @@ d_nested_name (struct d_info *di) if (*pret == NULL) return NULL; - if (d_next_char (di) != 'E') + if (! d_check_char (di, 'E')) return NULL; return ret; @@ -1179,10 +1177,8 @@ d_prefix (struct d_info *di) if (IS_DIGIT (peek) || IS_LOWER (peek) || peek == 'C' -/* APPLE LOCAL begin mainline 2007-05-09 5173149 */ \ || peek == 'D' || peek == 'L') -/* APPLE LOCAL end mainline 2007-05-09 5173149 */ \ dc = d_unqualified_name (di); else if (peek == 'S') dc = d_substitution (di, 1); @@ -1216,11 +1212,9 @@ d_prefix (struct d_info *di) /* ::= ::= ::= - APPLE LOCAL begin mainline 2007-05-09 5173149 ::= ::= L - APPLE LOCAL end mainline 2007-05-09 5173149 */ static struct demangle_component * @@ -1242,7 +1236,6 @@ d_unqualified_name (struct d_info *di) } else if (peek == 'C' || peek == 'D') return d_ctor_dtor_name (di); -/* APPLE LOCAL begin mainline 2007-05-09 5173149 */ \ else if (peek == 'L') { struct demangle_component * ret; @@ -1256,7 +1249,6 @@ d_unqualified_name (struct d_info *di) return NULL; return ret; } -/* APPLE LOCAL end mainline 2007-05-09 5173149 */ \ else return NULL; } @@ -1477,11 +1469,8 @@ d_operator_name (struct d_info *di) static struct demangle_component * d_special_name (struct d_info *di) { - char c; - di->expansion += 20; - c = d_next_char (di); - if (c == 'T') + if (d_check_char (di, 'T')) { switch (d_next_char (di)) { @@ -1530,7 +1519,7 @@ d_special_name (struct d_info *di) offset = d_number (di); if (offset < 0) return NULL; - if (d_next_char (di) != '_') + if (! d_check_char (di, '_')) return NULL; base_type = cplus_demangle_type (di); /* We don't display the offset. FIXME: We should display @@ -1551,7 +1540,7 @@ d_special_name (struct d_info *di) return NULL; } } - else if (c == 'G') + else if (d_check_char (di, 'G')) { switch (d_next_char (di)) { @@ -1598,14 +1587,14 @@ d_call_offset (struct d_info *di, int c) else if (c == 'v') { d_number (di); - if (d_next_char (di) != '_') + if (! d_check_char (di, '_')) return 0; d_number (di); } else return 0; - if (d_next_char (di) != '_') + if (! d_check_char (di, '_')) return 0; return 1; @@ -1629,13 +1618,13 @@ d_ctor_dtor_name (struct d_info *di) else if (di->last_name->type == DEMANGLE_COMPONENT_SUB_STD) di->expansion += di->last_name->u.s_string.len; } - switch (d_next_char (di)) + switch (d_peek_char (di)) { case 'C': { enum gnu_v3_ctor_kinds kind; - switch (d_next_char (di)) + switch (d_peek_next_char (di)) { case '1': kind = gnu_v3_complete_object_ctor; @@ -1649,6 +1638,7 @@ d_ctor_dtor_name (struct d_info *di) default: return NULL; } + d_advance (di, 2); return d_make_ctor (di, kind, di->last_name); } @@ -1656,7 +1646,7 @@ d_ctor_dtor_name (struct d_info *di) { enum gnu_v3_dtor_kinds kind; - switch (d_next_char (di)) + switch (d_peek_next_char (di)) { case '0': kind = gnu_v3_deleting_dtor; @@ -1670,6 +1660,7 @@ d_ctor_dtor_name (struct d_info *di) default: return NULL; } + d_advance (di, 2); return d_make_dtor (di, kind, di->last_name); } @@ -1763,7 +1754,7 @@ cplus_demangle_type (struct d_info *di) if (pret == NULL) return NULL; *pret = cplus_demangle_type (di); - if (! d_add_substitution (di, ret)) + if (! *pret || ! d_add_substitution (di, ret)) return NULL; return ret; } @@ -1953,7 +1944,7 @@ d_function_type (struct d_info *di) { struct demangle_component *ret; - if (d_next_char (di) != 'F') + if (! d_check_char (di, 'F')) return NULL; if (d_peek_char (di) == 'Y') { @@ -1962,7 +1953,7 @@ d_function_type (struct d_info *di) d_advance (di, 1); } ret = d_bare_function_type (di, 1); - if (d_next_char (di) != 'E') + if (! d_check_char (di, 'E')) return NULL; return ret; } @@ -2049,7 +2040,7 @@ d_array_type (struct d_info *di) char peek; struct demangle_component *dim; - if (d_next_char (di) != 'A') + if (! d_check_char (di, 'A')) return NULL; peek = d_peek_char (di); @@ -2077,7 +2068,7 @@ d_array_type (struct d_info *di) return NULL; } - if (d_next_char (di) != '_') + if (! d_check_char (di, '_')) return NULL; return d_make_comp (di, DEMANGLE_COMPONENT_ARRAY_TYPE, dim, @@ -2093,7 +2084,7 @@ d_pointer_to_member_type (struct d_info struct demangle_component *mem; struct demangle_component **pmem; - if (d_next_char (di) != 'M') + if (! d_check_char (di, 'M')) return NULL; cl = cplus_demangle_type (di); @@ -2118,6 +2109,8 @@ d_pointer_to_member_type (struct d_info if (pmem == NULL) return NULL; *pmem = cplus_demangle_type (di); + if (*pmem == NULL) + return NULL; if (pmem != &mem && (*pmem)->type != DEMANGLE_COMPONENT_FUNCTION_TYPE) { @@ -2137,7 +2130,7 @@ d_template_param (struct d_info *di) { long param; - if (d_next_char (di) != 'T') + if (! d_check_char (di, 'T')) return NULL; if (d_peek_char (di) == '_') @@ -2150,7 +2143,7 @@ d_template_param (struct d_info *di) param += 1; } - if (d_next_char (di) != '_') + if (! d_check_char (di, '_')) return NULL; ++di->did_subs; @@ -2172,7 +2165,7 @@ d_template_args (struct d_info *di) constructor or destructor. */ hold_last_name = di->last_name; - if (d_next_char (di) != 'I') + if (! d_check_char (di, 'I')) return NULL; al = NULL; @@ -2217,7 +2210,7 @@ d_template_arg (struct d_info *di) case 'X': d_advance (di, 1); ret = d_expression (di); - if (d_next_char (di) != 'E') + if (! d_check_char (di, 'E')) return NULL; return ret; @@ -2344,7 +2337,7 @@ d_expr_primary (struct d_info *di) { struct demangle_component *ret; - if (d_next_char (di) != 'L') + if (! d_check_char (di, 'L')) return NULL; if (d_peek_char (di) == '_') ret = cplus_demangle_mangled_name (di, 0); @@ -2390,7 +2383,7 @@ d_expr_primary (struct d_info *di) } ret = d_make_comp (di, t, type, d_make_name (di, s, d_str (di) - s)); } - if (d_next_char (di) != 'E') + if (! d_check_char (di, 'E')) return NULL; return ret; } @@ -2404,12 +2397,12 @@ d_local_name (struct d_info *di) { struct demangle_component *function; - if (d_next_char (di) != 'Z') + if (! d_check_char (di, 'Z')) return NULL; function = d_encoding (di, 0); - if (d_next_char (di) != 'E') + if (! d_check_char (di, 'E')) return NULL; if (d_peek_char (di) == 's') @@ -2514,7 +2507,7 @@ d_substitution (struct d_info *di, int p { char c; - if (d_next_char (di) != 'S') + if (! d_check_char (di, 'S')) return NULL; c = d_next_char (di); Modified: projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.h ============================================================================== --- projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.h Mon Dec 2 08:21:28 2013 (r258838) +++ projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.h Mon Dec 2 08:36:53 2013 (r258839) @@ -123,10 +123,16 @@ struct d_info int expansion; }; +/* To avoid running past the ending '\0', don't: + - call d_peek_next_char if d_peek_char returned '\0' + - call d_advance with an 'i' that is too large + - call d_check_char(di, '\0') + Everything else is safe. */ #define d_peek_char(di) (*((di)->n)) #define d_peek_next_char(di) ((di)->n[1]) #define d_advance(di, i) ((di)->n += (i)) -#define d_next_char(di) (*((di)->n++)) +#define d_check_char(di, c) (d_peek_char(di) == c ? ((di)->n++, 1) : 0) +#define d_next_char(di) (d_peek_char(di) == '\0' ? '\0' : *((di)->n++)) #define d_str(di) ((di)->n) /* Functions and arrays in cp-demangle.c which are referenced by *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Mon Dec 2 21:58:10 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8EA086F; Mon, 2 Dec 2013 21:58:10 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 79FF61CA7; Mon, 2 Dec 2013 21:58:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB2LwAJS011772; Mon, 2 Dec 2013 21:58:10 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB2LwAsZ011771; Mon, 2 Dec 2013 21:58:10 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201312022158.rB2LwAsZ011771@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 2 Dec 2013 21:58:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258856 - projects/altix2/sys/ia64/sgisn X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Dec 2013 21:58:10 -0000 Author: marcel Date: Mon Dec 2 21:58:09 2013 New Revision: 258856 URL: http://svnweb.freebsd.org/changeset/base/258856 Log: Fix a "possibly used uninitialized" warning. Modified: projects/altix2/sys/ia64/sgisn/sgisn_pcib.c Modified: projects/altix2/sys/ia64/sgisn/sgisn_pcib.c ============================================================================== --- projects/altix2/sys/ia64/sgisn/sgisn_pcib.c Mon Dec 2 19:49:52 2013 (r258855) +++ projects/altix2/sys/ia64/sgisn/sgisn_pcib.c Mon Dec 2 21:58:09 2013 (r258856) @@ -688,6 +688,7 @@ sgisn_pcib_iommu_map(device_t bus, devic ate = 0; entry = ~0; + bitshft = 0; while (ate < (PCIB_REG_ATE_SIZE / 64) && entry == ~0) { bits = sc->sc_ate[ate]; /* Move to the next long if this one is full. */ @@ -697,7 +698,6 @@ sgisn_pcib_iommu_map(device_t bus, devic } /* If this long is empty, take it (catches count == 64). */ if (bits == 0UL) { - bitshft = 0; entry = ate * 64; break; } @@ -706,7 +706,6 @@ sgisn_pcib_iommu_map(device_t bus, devic ate++; continue; } - bitshft = 0; do { if ((bits & ((1UL << count) - 1UL)) == 0) { entry = ate * 64 + bitshft; @@ -721,8 +720,10 @@ sgisn_pcib_iommu_map(device_t bus, devic bitshft++; } } while (bitshft <= (64 - count)); - if (entry == ~0) + if (entry == ~0) { ate++; + bitshft = 0; + } } if (entry != ~0) { KASSERT(ate < (PCIB_REG_ATE_SIZE / 64), ("foo: ate")); From owner-svn-src-projects@FreeBSD.ORG Tue Dec 3 18:50:34 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C771C263; Tue, 3 Dec 2013 18:50:34 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id AF86B1930; Tue, 3 Dec 2013 18:50:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB3IoYSb043132; Tue, 3 Dec 2013 18:50:34 GMT (envelope-from markm@svn.freebsd.org) Received: (from markm@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB3IoRKl042696; Tue, 3 Dec 2013 18:50:27 GMT (envelope-from markm@svn.freebsd.org) Message-Id: <201312031850.rB3IoRKl042696@svn.freebsd.org> From: Mark Murray Date: Tue, 3 Dec 2013 18:50:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258881 - in projects/random_number_generator: . cddl/contrib/opensolaris/lib/libdtrace/common contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD contrib/mdocml etc etc/cas... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Dec 2013 18:50:34 -0000 Author: markm Date: Tue Dec 3 18:50:27 2013 New Revision: 258881 URL: http://svnweb.freebsd.org/changeset/base/258881 Log: MFC - tracking commit. Added: projects/random_number_generator/etc/casper/ - copied from r258880, head/etc/casper/ projects/random_number_generator/lib/libcapsicum/ - copied from r258880, head/lib/libcapsicum/ projects/random_number_generator/lib/libcasper/ - copied from r258880, head/lib/libcasper/ projects/random_number_generator/libexec/casper/ - copied from r258880, head/libexec/casper/ projects/random_number_generator/sbin/casperd/ - copied from r258880, head/sbin/casperd/ projects/random_number_generator/sys/sys/ktr_class.h - copied unchanged from r258880, head/sys/sys/ktr_class.h projects/random_number_generator/tools/build/options/WITHOUT_CASPER - copied unchanged from r258880, head/tools/build/options/WITHOUT_CASPER projects/random_number_generator/tools/regression/capsicum/libcapsicum/ - copied from r258880, head/tools/regression/capsicum/libcapsicum/ Modified: projects/random_number_generator/Makefile.inc1 projects/random_number_generator/ObsoleteFiles.inc projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp projects/random_number_generator/contrib/mdocml/lib.in projects/random_number_generator/etc/Makefile projects/random_number_generator/etc/gettytab projects/random_number_generator/etc/mtree/BSD.root.dist projects/random_number_generator/etc/pf.os projects/random_number_generator/etc/services projects/random_number_generator/lib/Makefile projects/random_number_generator/libexec/Makefile projects/random_number_generator/release/Makefile projects/random_number_generator/release/scripts/pkg-stage.sh projects/random_number_generator/sbin/Makefile projects/random_number_generator/share/man/man7/release.7 projects/random_number_generator/share/mk/bsd.libnames.mk projects/random_number_generator/share/mk/bsd.own.mk projects/random_number_generator/sys/amd64/include/vmm.h (contents, props changed) projects/random_number_generator/sys/amd64/vmm/intel/vmx.c projects/random_number_generator/sys/amd64/vmm/vmm.c projects/random_number_generator/sys/amd64/vmm/vmm_lapic.c projects/random_number_generator/sys/arm/arm/locore.S projects/random_number_generator/sys/cam/ctl/ctl_backend_block.c projects/random_number_generator/sys/dev/cxgbe/common/common.h projects/random_number_generator/sys/dev/cxgbe/common/t4_hw.c projects/random_number_generator/sys/dev/cxgbe/t4_ioctl.h projects/random_number_generator/sys/dev/cxgbe/t4_main.c projects/random_number_generator/sys/dev/usb/wlan/if_run.c projects/random_number_generator/sys/dev/usb/wlan/if_runvar.h projects/random_number_generator/sys/kern/sched_ule.c projects/random_number_generator/sys/powerpc/include/fdt.h projects/random_number_generator/sys/powerpc/wii/platform_wii.c projects/random_number_generator/sys/sys/ktr.h projects/random_number_generator/sys/sys/lock.h projects/random_number_generator/usr.sbin/bhyveload/bhyveload.8 projects/random_number_generator/usr.sbin/bsdconfig/share/common.subr projects/random_number_generator/usr.sbin/ctld/ctl.conf.5 projects/random_number_generator/usr.sbin/ctld/parse.y Directory Properties: projects/random_number_generator/ (props changed) projects/random_number_generator/cddl/ (props changed) projects/random_number_generator/cddl/contrib/opensolaris/ (props changed) projects/random_number_generator/contrib/llvm/ (props changed) projects/random_number_generator/contrib/llvm/tools/lldb/ (props changed) projects/random_number_generator/sbin/ (props changed) projects/random_number_generator/sys/ (props changed) projects/random_number_generator/sys/amd64/vmm/ (props changed) projects/random_number_generator/usr.sbin/bhyveload/ (props changed) Modified: projects/random_number_generator/Makefile.inc1 ============================================================================== --- projects/random_number_generator/Makefile.inc1 Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/Makefile.inc1 Tue Dec 3 18:50:27 2013 (r258881) @@ -1499,7 +1499,8 @@ _prebuild_libs= ${_kerberos5_lib_libasn1 lib/libbz2 ${_libcom_err} lib/libcrypt \ lib/libelf lib/libexpat \ ${_lib_libgssapi} ${_lib_libipx} \ - lib/libkiconv lib/libkvm lib/liblzma lib/libmd \ + lib/libkiconv lib/libkvm lib/liblzma lib/libmd lib/libnv \ + ${_lib_libcapsicum} \ lib/ncurses/ncurses lib/ncurses/ncursesw \ lib/libopie lib/libpam ${_lib_libthr} \ lib/libradius lib/libsbuf lib/libtacplus \ @@ -1521,6 +1522,11 @@ _lib_libthr= lib/libthr _ofed_lib= contrib/ofed/usr.lib/ .endif +.if ${MK_CASPER} != "no" +_lib_libcapsicum=lib/libcapsicum +.endif + +lib/libcapsicum__L: lib/libnv__L lib/libpjdlog__L: lib/libutil__L _generic_libs= ${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib ${_ofed_lib} Modified: projects/random_number_generator/ObsoleteFiles.inc ============================================================================== --- projects/random_number_generator/ObsoleteFiles.inc Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/ObsoleteFiles.inc Tue Dec 3 18:50:27 2013 (r258881) @@ -38,6 +38,13 @@ # xargs -n1 | sort | uniq -d; # done +# 20131202: libcapsicum and libcasper moved to /lib/ +OLD_FILES+=usr/lib/libcapsicum.a +OLD_FILES+=usr/lib/libcapsicum.so +OLD_LIBS+=usr/lib/libcapsicum.so.0 +OLD_FILES+=usr/lib/libcasper.a +OLD_FILES+=usr/lib/libcasper.so +OLD_LIBS+=usr/lib/libcasper.so.0 # 20131109: extattr(2) mlinks fixed OLD_FILES+=usr/share/man/man2/extattr_delete_list.2.gz OLD_FILES+=usr/share/man/man2/extattr_get_list.2.gz Modified: projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Tue Dec 3 18:50:27 2013 (r258881) @@ -1709,8 +1709,6 @@ dtrace_program_link(dtrace_hdl_t *dtp, d */ return (0); } - /* XXX Should get a temp file name here. */ - snprintf(tfile, sizeof(tfile), "%s.tmp", file); #endif /* @@ -1785,9 +1783,11 @@ dtrace_program_link(dtrace_hdl_t *dtp, d "failed to open %s: %s", file, strerror(errno))); } #else - if ((fd = open(tfile, O_RDWR | O_CREAT | O_TRUNC, 0666)) == -1) + snprintf(tfile, sizeof(tfile), "%s.XXXXXX", file); + if ((fd = mkstemp(tfile)) == -1) return (dt_link_error(dtp, NULL, -1, NULL, - "failed to open %s: %s", tfile, strerror(errno))); + "failed to create temporary file %s: %s", + tfile, strerror(errno))); #endif /* @@ -1830,13 +1830,15 @@ dtrace_program_link(dtrace_hdl_t *dtp, d status = dump_elf32(dtp, dof, fd); if (status != 0 || lseek(fd, 0, SEEK_SET) != 0) { -#else - /* We don't write the ELF header, just the DOF section */ - if (dt_write(dtp, fd, dof, dof->dofh_filesz) < dof->dofh_filesz) { -#endif return (dt_link_error(dtp, NULL, -1, NULL, "failed to write %s: %s", file, strerror(errno))); } +#else + /* We don't write the ELF header, just the DOF section */ + if (dt_write(dtp, fd, dof, dof->dofh_filesz) < dof->dofh_filesz) + return (dt_link_error(dtp, NULL, -1, NULL, + "failed to write %s: %s", tfile, strerror(errno))); +#endif if (!dtp->dt_lazyload) { #if defined(sun) Modified: projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp Tue Dec 3 18:50:27 2013 (r258881) @@ -454,6 +454,17 @@ DynamicLoaderPOSIXDYLD::LoadAllCurrentMo const char *module_path = I->path.c_str(); FileSpec file(module_path, false); ModuleSP module_sp = LoadModuleAtAddress(file, I->link_addr, I->base_addr); +#ifdef __FreeBSD__ // llvm.org/pr17880 + if (module_sp == executable) + { + Log *log(GetLogIfAnyCategoriesSet(LIBLLDB_LOG_DYNAMIC_LOADER)); + if (log) + log->Printf("DynamicLoaderPOSIXDYLD::%s reloading main module, ignoring rendezvous base addr %" PRIx64, + __FUNCTION__, I->base_addr); + ModuleSP module_sp = LoadModuleAtAddress(file, I->link_addr, 0); + } +#endif + if (module_sp.get()) { module_list.Append(module_sp); Modified: projects/random_number_generator/contrib/mdocml/lib.in ============================================================================== --- projects/random_number_generator/contrib/mdocml/lib.in Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/contrib/mdocml/lib.in Tue Dec 3 18:50:27 2013 (r258881) @@ -32,6 +32,7 @@ LINE("libc", "Standard C\\~Library (lib LINE("libc_r", "Reentrant C\\~Library (libc_r, \\-lc_r)") LINE("libcalendar", "Calendar Arithmetic Library (libcalendar, \\-lcalendar)") LINE("libcam", "Common Access Method User Library (libcam, \\-lcam)") +LINE("libcapsicum", "Capsicum Library (libcapsicum, \\-lcapsicum)") LINE("libcdk", "Curses Development Kit Library (libcdk, \\-lcdk)") LINE("libcipher", "FreeSec Crypt Library (libcipher, \\-lcipher)") LINE("libcompat", "Compatibility Library (libcompat, \\-lcompat)") Modified: projects/random_number_generator/etc/Makefile ============================================================================== --- projects/random_number_generator/etc/Makefile Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/etc/Makefile Tue Dec 3 18:50:27 2013 (r258881) @@ -221,6 +221,9 @@ distribution: .if ${MK_BLUETOOTH} != "no" ${_+_}cd ${.CURDIR}/bluetooth; ${MAKE} install .endif +.if ${MK_CASPER} != "no" + ${_+_}cd ${.CURDIR}/casper; ${MAKE} install +.endif ${_+_}cd ${.CURDIR}/defaults; ${MAKE} install ${_+_}cd ${.CURDIR}/devd; ${MAKE} install ${_+_}cd ${.CURDIR}/gss; ${MAKE} install Modified: projects/random_number_generator/etc/gettytab ============================================================================== --- projects/random_number_generator/etc/gettytab Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/etc/gettytab Tue Dec 3 18:50:27 2013 (r258881) @@ -214,6 +214,8 @@ al.115200:\ :al=root:tc=std.115200: al.230400:\ :al=root:tc=std.230400: +al.Pc:\ + :al=root:tc=Pc # # Entries for 3-wire serial terminals. These don't supply carrier, so Modified: projects/random_number_generator/etc/mtree/BSD.root.dist ============================================================================== --- projects/random_number_generator/etc/mtree/BSD.root.dist Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/etc/mtree/BSD.root.dist Tue Dec 3 18:50:27 2013 (r258881) @@ -26,6 +26,8 @@ .. bluetooth .. + casper + .. defaults .. devd @@ -74,6 +76,8 @@ .. .. libexec + casper + .. resolvconf .. .. Modified: projects/random_number_generator/etc/pf.os ============================================================================== --- projects/random_number_generator/etc/pf.os Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/etc/pf.os Tue Dec 3 18:50:27 2013 (r258881) @@ -315,6 +315,14 @@ S22:64:1:52:M*,N,N,S,N,W0: Linux:2.2:ts: 16384:64:1:64:M*,N,N,S,N,W3,N,N,T: OpenBSD:4.9::OpenBSD 4.9 16384:64:0:64:M*,N,N,S,N,W3,N,N,T: OpenBSD:4.9:no-df:OpenBSD 4.9 (scrub no-df) +# ----------------- DragonFly BSD ----------------- + +57344:64:1:60:M*,N,W0,N,N,T: DragonFly:1.0:A:DragonFly 1.0A +57344:64:0:64:M*,N,W0,N,N,S,N,N,T: DragonFly:1.2-1.12::DragonFly 1.2-1.12 +5840:64:1:60:M*,S,T,N,W4: DragonFly:2.0-2.1::DragonFly 2.0-2.1 +57344:64:0:64:M*,N,W0,N,N,S,N,N,T: DragonFly:2.2-2.3::DragonFly 2.2-2.3 +57344:64:0:64:M*,N,W5,N,N,S,N,N,T: DragonFly:2.4-2.7::DragonFly 2.4-2.7 + # ----------------- Solaris ----------------- S17:64:1:64:N,W3,N,N,T0,N,N,S,M*: Solaris:8:RFC1323:Solaris 8 RFC1323 Modified: projects/random_number_generator/etc/services ============================================================================== --- projects/random_number_generator/etc/services Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/etc/services Tue Dec 3 18:50:27 2013 (r258881) @@ -2192,6 +2192,8 @@ ospf6d 2606/tcp #OSPF6d vty dict 2628/tcp #RFC 2229 dict 2628/udp #RFC 2229 listen 2766/tcp #System V listener port +smpp 2775/tcp #SMPP +smpp 2775/udp #SMPP www-dev 2784/tcp #world wide web - development www-dev 2784/udp #world wide web - development m2ua 2904/sctp #M2UA @@ -2462,6 +2464,8 @@ amidxtape 10083/tcp #Amanda tape indexi wmereceiving 11997/sctp #WorldMailExpress wmedistribution 11998/sctp #WorldMailExpress wmereporting 11999/sctp #WorldMailExpress +bpcd 13782/tcp #Veritas NetBackup +bpcd 13782/udp #Veritas NetBackup sua 14001/sctp #SUA sua 14001/tcp #SUA isode-dua 17007/tcp Modified: projects/random_number_generator/lib/Makefile ============================================================================== --- projects/random_number_generator/lib/Makefile Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/lib/Makefile Tue Dec 3 18:50:27 2013 (r258881) @@ -37,6 +37,8 @@ SUBDIR_ORDERED= ${_csu} \ libauditd \ libutil \ libpjdlog \ + libnv \ + ${_libcapsicum} \ libcompiler_rt \ libcrypt \ libelf \ @@ -70,6 +72,7 @@ SUBDIR= ${SUBDIR_ORDERED} \ libbz2 \ libcalendar \ libcam \ + ${_libcasper} \ libcompat \ libdevinfo \ libdevstat \ @@ -157,6 +160,11 @@ _libsdp= libsdp _libbsnmp= libbsnmp .endif +.if ${MK_CASPER} != "no" +_libcapsicum= libcapsicum +_libcasper= libcasper +.endif + .if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT) _clang= clang .endif Modified: projects/random_number_generator/libexec/Makefile ============================================================================== --- projects/random_number_generator/libexec/Makefile Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/libexec/Makefile Tue Dec 3 18:50:27 2013 (r258881) @@ -6,6 +6,7 @@ SUBDIR= ${_atf} \ ${_atrun} \ bootpd \ + ${_casper} \ ${_comsat} \ fingerd \ ftpd \ @@ -38,6 +39,10 @@ SUBDIR= ${_atf} \ _atrun= atrun .endif +.if ${MK_CASPER} != "no" +_casper= casper +.endif + .if ${MK_MAIL} != "no" _comsat= comsat .endif Modified: projects/random_number_generator/release/Makefile ============================================================================== --- projects/random_number_generator/release/Makefile Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/release/Makefile Tue Dec 3 18:50:27 2013 (r258881) @@ -20,7 +20,7 @@ # NOPORTS: if set, do not distribute ports tree # NOSRC: if set, do not distribute source tree # NODOC: if set, do not generate release documentation -# NODVD: if set, do not generate dvd1.iso +# WITH_DVD: if set, generate dvd1.iso # TARGET/TARGET_ARCH: architecture of built release # @@ -79,7 +79,7 @@ IMAGES= .if exists(${.CURDIR}/${TARGET}/mkisoimages.sh) RELEASE_TARGETS+= cdrom IMAGES+= disc1.iso bootonly.iso -. if !defined(NODVD) +. if defined(WITH_DVD) RELEASE_TARGETS+= dvdrom IMAGES+= dvd1.iso . endif Modified: projects/random_number_generator/release/scripts/pkg-stage.sh ============================================================================== --- projects/random_number_generator/release/scripts/pkg-stage.sh Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/release/scripts/pkg-stage.sh Tue Dec 3 18:50:27 2013 (r258881) @@ -25,7 +25,7 @@ REVISION="${2}" . "${1}" || exit 1 if [ ! -x /usr/local/sbin/pkg ]; then - /usr/sbin/pkg bootstrap + /usr/bin/make -C /usr/ports/ports-mgmt/pkg install clean fi /bin/mkdir -p ${PKG_CACHEDIR} Modified: projects/random_number_generator/sbin/Makefile ============================================================================== --- projects/random_number_generator/sbin/Makefile Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sbin/Makefile Tue Dec 3 18:50:27 2013 (r258881) @@ -78,6 +78,10 @@ SUBDIR=adjkerntz \ SUBDIR+= atm .endif +.if ${MK_CASPER} != "no" +SUBDIR+= casperd +.endif + .if ${MK_CXX} != "no" SUBDIR+= devd .endif Modified: projects/random_number_generator/share/man/man7/release.7 ============================================================================== --- projects/random_number_generator/share/man/man7/release.7 Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/share/man/man7/release.7 Tue Dec 3 18:50:27 2013 (r258881) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 18, 2013 +.Dd December 2, 2013 .Dt RELEASE 7 .Os .Sh NAME @@ -230,10 +230,6 @@ When set, will prevent the .Fa doc.txz distribution package from being created. -.It Va NODVD -Set to a non-empty value to skip the -.Cm dvdrom -target. .It Va NOPORTS Set to a non-empty value to skip the .Li ports/ @@ -245,6 +241,10 @@ will prevent the distribution package from being created. Setting this also sets .Va NODOC . +.It Va WITH_DVD +Set to a non-empty value to include the +.Cm dvdrom +target. .El .Sh MAKEFILE TARGETS The release makefile Modified: projects/random_number_generator/share/mk/bsd.libnames.mk ============================================================================== --- projects/random_number_generator/share/mk/bsd.libnames.mk Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/share/mk/bsd.libnames.mk Tue Dec 3 18:50:27 2013 (r258881) @@ -32,6 +32,8 @@ LIBC?= ${DESTDIR}${LIBDIR}/libc.a LIBC_PIC?= ${DESTDIR}${LIBDIR}/libc_pic.a LIBCALENDAR?= ${DESTDIR}${LIBDIR}/libcalendar.a LIBCAM?= ${DESTDIR}${LIBDIR}/libcam.a +LIBCAPSICUM?= ${DESTDIR}${LIBDIR}/libcapsicum.a +LIBCASPER?= ${DESTDIR}${LIBDIR}/libcasper.a LIBCOM_ERR?= ${DESTDIR}${LIBDIR}/libcom_err.a LIBCOMPAT?= ${DESTDIR}${LIBDIR}/libcompat.a LIBCRYPT?= ${DESTDIR}${LIBDIR}/libcrypt.a Modified: projects/random_number_generator/share/mk/bsd.own.mk ============================================================================== --- projects/random_number_generator/share/mk/bsd.own.mk Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/share/mk/bsd.own.mk Tue Dec 3 18:50:27 2013 (r258881) @@ -264,6 +264,7 @@ __DEFAULT_YES_OPTIONS = \ BZIP2 \ CALENDAR \ CAPSICUM \ + CASPER \ CDDL \ CPP \ CROSS_COMPILER \ Modified: projects/random_number_generator/sys/amd64/include/vmm.h ============================================================================== --- projects/random_number_generator/sys/amd64/include/vmm.h Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/amd64/include/vmm.h Tue Dec 3 18:50:27 2013 (r258881) @@ -156,7 +156,7 @@ vcpu_is_running(struct vm *vm, int vcpu, } void *vcpu_stats(struct vm *vm, int vcpu); -void vm_interrupt_hostcpu(struct vm *vm, int vcpu); +void vcpu_notify_event(struct vm *vm, int vcpuid); struct vmspace *vm_get_vmspace(struct vm *vm); int vm_assign_pptdev(struct vm *vm, int bus, int slot, int func); int vm_unassign_pptdev(struct vm *vm, int bus, int slot, int func); @@ -283,7 +283,6 @@ struct vm_exit { struct { uint64_t gpa; int fault_type; - int protection; } paging; struct { uint64_t gpa; Modified: projects/random_number_generator/sys/amd64/vmm/intel/vmx.c ============================================================================== --- projects/random_number_generator/sys/amd64/vmm/intel/vmx.c Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/amd64/vmm/intel/vmx.c Tue Dec 3 18:50:27 2013 (r258881) @@ -1301,21 +1301,6 @@ ept_fault_type(uint64_t ept_qual) return (fault_type); } -static int -ept_protection(uint64_t ept_qual) -{ - int prot = 0; - - if (ept_qual & EPT_VIOLATION_GPA_READABLE) - prot |= VM_PROT_READ; - if (ept_qual & EPT_VIOLATION_GPA_WRITEABLE) - prot |= VM_PROT_WRITE; - if (ept_qual & EPT_VIOLATION_GPA_EXECUTABLE) - prot |= VM_PROT_EXECUTE; - - return (prot); -} - static boolean_t ept_emulation_fault(uint64_t ept_qual) { @@ -1485,7 +1470,6 @@ vmx_exit_process(struct vmx *vmx, int vc vmexit->exitcode = VM_EXITCODE_PAGING; vmexit->u.paging.gpa = gpa; vmexit->u.paging.fault_type = ept_fault_type(qual); - vmexit->u.paging.protection = ept_protection(qual); } else if (ept_emulation_fault(qual)) { vmexit->exitcode = VM_EXITCODE_INST_EMUL; vmexit->u.inst_emul.gpa = gpa; Modified: projects/random_number_generator/sys/amd64/vmm/vmm.c ============================================================================== --- projects/random_number_generator/sys/amd64/vmm/vmm.c Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/amd64/vmm/vmm.c Tue Dec 3 18:50:27 2013 (r258881) @@ -1099,7 +1099,7 @@ vm_inject_nmi(struct vm *vm, int vcpuid) vcpu = &vm->vcpu[vcpuid]; vcpu->nmi_pending = 1; - vm_interrupt_hostcpu(vm, vcpuid); + vcpu_notify_event(vm, vcpuid); return (0); } @@ -1319,8 +1319,15 @@ vm_set_x2apic_state(struct vm *vm, int v return (0); } +/* + * This function is called to ensure that a vcpu "sees" a pending event + * as soon as possible: + * - If the vcpu thread is sleeping then it is woken up. + * - If the vcpu is running on a different host_cpu then an IPI will be directed + * to the host_cpu to cause the vcpu to trap into the hypervisor. + */ void -vm_interrupt_hostcpu(struct vm *vm, int vcpuid) +vcpu_notify_event(struct vm *vm, int vcpuid) { int hostcpu; struct vcpu *vcpu; Modified: projects/random_number_generator/sys/amd64/vmm/vmm_lapic.c ============================================================================== --- projects/random_number_generator/sys/amd64/vmm/vmm_lapic.c Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/amd64/vmm/vmm_lapic.c Tue Dec 3 18:50:27 2013 (r258881) @@ -75,7 +75,7 @@ lapic_set_intr(struct vm *vm, int cpu, i vlapic = vm_lapic(vm, cpu); vlapic_set_intr_ready(vlapic, vector, level); - vm_interrupt_hostcpu(vm, cpu); + vcpu_notify_event(vm, cpu); return (0); } Modified: projects/random_number_generator/sys/arm/arm/locore.S ============================================================================== --- projects/random_number_generator/sys/arm/arm/locore.S Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/arm/arm/locore.S Tue Dec 3 18:50:27 2013 (r258881) @@ -391,6 +391,7 @@ Ltag: mrc p15, 0, r0, c1, c0, 0 #if defined(CPU_ARM1136) || defined(CPU_ARM1176) || defined(CPU_MV_PJ4B) || defined(CPU_CORTEXA) orr r0, r0, #CPU_CONTROL_V6_EXTPAGE + orr r0, r0, #CPU_CONTROL_AF_ENABLE #endif orr r0, r0, #(CPU_CONTROL_MMU_ENABLE | CPU_CONTROL_DC_ENABLE) mcr p15, 0, r0, c1, c0, 0 Modified: projects/random_number_generator/sys/cam/ctl/ctl_backend_block.c ============================================================================== --- projects/random_number_generator/sys/cam/ctl/ctl_backend_block.c Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/cam/ctl/ctl_backend_block.c Tue Dec 3 18:50:27 2013 (r258881) @@ -1483,6 +1483,7 @@ ctl_be_block_close(struct ctl_be_block_l case CTL_BE_BLOCK_FILE: break; case CTL_BE_BLOCK_NONE: + break; default: panic("Unexpected backend type."); break; @@ -1501,6 +1502,7 @@ ctl_be_block_close(struct ctl_be_block_l } break; case CTL_BE_BLOCK_NONE: + break; default: panic("Unexpected backend type."); break; @@ -1587,7 +1589,7 @@ ctl_be_block_open(struct ctl_be_block_so } else { error = EINVAL; snprintf(req->error_str, sizeof(req->error_str), - "%s is not a disk or file", be_lun->dev_path); + "%s is not a disk or plain file", be_lun->dev_path); } VOP_UNLOCK(be_lun->vn, 0); Modified: projects/random_number_generator/sys/dev/cxgbe/common/common.h ============================================================================== --- projects/random_number_generator/sys/dev/cxgbe/common/common.h Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/dev/cxgbe/common/common.h Tue Dec 3 18:50:27 2013 (r258881) @@ -587,4 +587,8 @@ int t4_sge_ctxt_rd_bd(struct adapter *ad int t4_sge_ctxt_flush(struct adapter *adap, unsigned int mbox); int t4_handle_fw_rpl(struct adapter *adap, const __be64 *rpl); int t4_fwaddrspace_write(struct adapter *adap, unsigned int mbox, u32 addr, u32 val); +int t4_sched_config(struct adapter *adapter, int type, int minmaxen); +int t4_sched_params(struct adapter *adapter, int type, int level, int mode, + int rateunit, int ratemode, int channel, int cl, + int minrate, int maxrate, int weight, int pktsize); #endif /* __CHELSIO_COMMON_H */ Modified: projects/random_number_generator/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- projects/random_number_generator/sys/dev/cxgbe/common/t4_hw.c Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/dev/cxgbe/common/t4_hw.c Tue Dec 3 18:50:27 2013 (r258881) @@ -5664,3 +5664,50 @@ int __devinit t4_port_init(struct port_i return 0; } + +int t4_sched_config(struct adapter *adapter, int type, int minmaxen) +{ + struct fw_sched_cmd cmd; + + memset(&cmd, 0, sizeof(cmd)); + cmd.op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_SCHED_CMD) | + F_FW_CMD_REQUEST | + F_FW_CMD_WRITE); + cmd.retval_len16 = cpu_to_be32(FW_LEN16(cmd)); + + cmd.u.config.sc = FW_SCHED_SC_CONFIG; + cmd.u.config.type = type; + cmd.u.config.minmaxen = minmaxen; + + return t4_wr_mbox_meat(adapter,adapter->mbox, &cmd, sizeof(cmd), + NULL, 1); +} + +int t4_sched_params(struct adapter *adapter, int type, int level, int mode, + int rateunit, int ratemode, int channel, int cl, + int minrate, int maxrate, int weight, int pktsize) +{ + struct fw_sched_cmd cmd; + + memset(&cmd, 0, sizeof(cmd)); + cmd.op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_SCHED_CMD) | + F_FW_CMD_REQUEST | + F_FW_CMD_WRITE); + cmd.retval_len16 = cpu_to_be32(FW_LEN16(cmd)); + + cmd.u.params.sc = FW_SCHED_SC_PARAMS; + cmd.u.params.type = type; + cmd.u.params.level = level; + cmd.u.params.mode = mode; + cmd.u.params.ch = channel; + cmd.u.params.cl = cl; + cmd.u.params.unit = rateunit; + cmd.u.params.rate = ratemode; + cmd.u.params.min = cpu_to_be32(minrate); + cmd.u.params.max = cpu_to_be32(maxrate); + cmd.u.params.weight = cpu_to_be16(weight); + cmd.u.params.pktsize = cpu_to_be16(pktsize); + + return t4_wr_mbox_meat(adapter,adapter->mbox, &cmd, sizeof(cmd), + NULL, 1); +} Modified: projects/random_number_generator/sys/dev/cxgbe/t4_ioctl.h ============================================================================== --- projects/random_number_generator/sys/dev/cxgbe/t4_ioctl.h Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/dev/cxgbe/t4_ioctl.h Tue Dec 3 18:50:27 2013 (r258881) @@ -208,6 +208,74 @@ struct t4_filter { struct t4_filter_specification fs; }; +/* + * Support for "sched-class" command to allow a TX Scheduling Class to be + * programmed with various parameters. + */ +struct t4_sched_params { + int8_t subcmd; /* sub-command */ + int8_t type; /* packet or flow */ + union { + struct { /* sub-command SCHED_CLASS_CONFIG */ + int8_t minmax; /* minmax enable */ + } config; + struct { /* sub-command SCHED_CLASS_PARAMS */ + int8_t level; /* scheduler hierarchy level */ + int8_t mode; /* per-class or per-flow */ + int8_t rateunit; /* bit or packet rate */ + int8_t ratemode; /* %port relative or kbps + absolute */ + int8_t channel; /* scheduler channel [0..N] */ + int8_t cl; /* scheduler class [0..N] */ + int32_t minrate; /* minimum rate */ + int32_t maxrate; /* maximum rate */ + int16_t weight; /* percent weight */ + int16_t pktsize; /* average packet size */ + } params; + uint8_t reserved[6 + 8 * 8]; + } u; +}; + +enum { + SCHED_CLASS_SUBCMD_CONFIG, /* config sub-command */ + SCHED_CLASS_SUBCMD_PARAMS, /* params sub-command */ +}; + +enum { + SCHED_CLASS_TYPE_PACKET, +}; + +enum { + SCHED_CLASS_LEVEL_CL_RL, /* class rate limiter */ + SCHED_CLASS_LEVEL_CL_WRR, /* class weighted round robin */ + SCHED_CLASS_LEVEL_CH_RL, /* channel rate limiter */ +}; + +enum { + SCHED_CLASS_MODE_CLASS, /* per-class scheduling */ + SCHED_CLASS_MODE_FLOW, /* per-flow scheduling */ +}; + +enum { + SCHED_CLASS_RATEUNIT_BITS, /* bit rate scheduling */ + SCHED_CLASS_RATEUNIT_PKTS, /* packet rate scheduling */ +}; + +enum { + SCHED_CLASS_RATEMODE_REL, /* percent of port bandwidth */ + SCHED_CLASS_RATEMODE_ABS, /* Kb/s */ +}; + +/* + * Support for "sched_queue" command to allow one or more NIC TX Queues to be + * bound to a TX Scheduling Class. + */ +struct t4_sched_queue { + uint8_t port; + int8_t queue; /* queue index; -1 => all queues */ + int8_t cl; /* class index; -1 => unbind */ +}; + #define T4_SGE_CONTEXT_SIZE 24 enum { SGE_CONTEXT_EGRESS, @@ -261,6 +329,10 @@ struct t4_tracer { #define CHELSIO_T4_GET_MEM _IOW('f', T4_GET_MEM, struct t4_mem_range) #define CHELSIO_T4_GET_I2C _IOWR('f', T4_GET_I2C, struct t4_i2c_data) #define CHELSIO_T4_CLEAR_STATS _IOW('f', T4_CLEAR_STATS, uint32_t) +#define CHELSIO_T4_SCHED_CLASS _IOW('f', T4_SET_SCHED_CLASS, \ + struct t4_sched_params) +#define CHELSIO_T4_SCHED_QUEUE _IOW('f', T4_SET_SCHED_QUEUE, \ + struct t4_sched_queue) #define CHELSIO_T4_GET_TRACER _IOWR('f', T4_GET_TRACER, struct t4_tracer) #define CHELSIO_T4_SET_TRACER _IOW('f', T4_SET_TRACER, struct t4_tracer) #endif Modified: projects/random_number_generator/sys/dev/cxgbe/t4_main.c ============================================================================== --- projects/random_number_generator/sys/dev/cxgbe/t4_main.c Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/dev/cxgbe/t4_main.c Tue Dec 3 18:50:27 2013 (r258881) @@ -425,6 +425,8 @@ static int get_sge_context(struct adapte static int load_fw(struct adapter *, struct t4_data *); static int read_card_mem(struct adapter *, int, struct t4_mem_range *); static int read_i2c(struct adapter *, struct t4_i2c_data *); +static int set_sched_class(struct adapter *, struct t4_sched_params *); +static int set_sched_queue(struct adapter *, struct t4_sched_queue *); #ifdef TCP_OFFLOAD static int toe_capability(struct port_info *, int); #endif @@ -7295,6 +7297,228 @@ read_i2c(struct adapter *sc, struct t4_i return (rc); } +static int +in_range(int val, int lo, int hi) +{ + + return (val < 0 || (val <= hi && val >= lo)); +} + +static int +set_sched_class(struct adapter *sc, struct t4_sched_params *p) +{ + int fw_subcmd, fw_type, rc; + + rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4setsc"); + if (rc) + return (rc); + + if (!(sc->flags & FULL_INIT_DONE)) { + rc = EAGAIN; + goto done; + } + + /* + * Translate the cxgbetool parameters into T4 firmware parameters. (The + * sub-command and type are in common locations.) + */ + if (p->subcmd == SCHED_CLASS_SUBCMD_CONFIG) + fw_subcmd = FW_SCHED_SC_CONFIG; + else if (p->subcmd == SCHED_CLASS_SUBCMD_PARAMS) + fw_subcmd = FW_SCHED_SC_PARAMS; + else { + rc = EINVAL; + goto done; + } + if (p->type == SCHED_CLASS_TYPE_PACKET) + fw_type = FW_SCHED_TYPE_PKTSCHED; + else { + rc = EINVAL; + goto done; + } + + if (fw_subcmd == FW_SCHED_SC_CONFIG) { + /* Vet our parameters ..*/ + if (p->u.config.minmax < 0) { + rc = EINVAL; + goto done; + } + + /* And pass the request to the firmware ...*/ + rc = -t4_sched_config(sc, fw_type, p->u.config.minmax); + goto done; + } + + if (fw_subcmd == FW_SCHED_SC_PARAMS) { + int fw_level; + int fw_mode; + int fw_rateunit; + int fw_ratemode; + + if (p->u.params.level == SCHED_CLASS_LEVEL_CL_RL) + fw_level = FW_SCHED_PARAMS_LEVEL_CL_RL; + else if (p->u.params.level == SCHED_CLASS_LEVEL_CL_WRR) + fw_level = FW_SCHED_PARAMS_LEVEL_CL_WRR; + else if (p->u.params.level == SCHED_CLASS_LEVEL_CH_RL) + fw_level = FW_SCHED_PARAMS_LEVEL_CH_RL; + else { + rc = EINVAL; + goto done; + } + + if (p->u.params.mode == SCHED_CLASS_MODE_CLASS) + fw_mode = FW_SCHED_PARAMS_MODE_CLASS; + else if (p->u.params.mode == SCHED_CLASS_MODE_FLOW) + fw_mode = FW_SCHED_PARAMS_MODE_FLOW; + else { + rc = EINVAL; + goto done; + } + + if (p->u.params.rateunit == SCHED_CLASS_RATEUNIT_BITS) + fw_rateunit = FW_SCHED_PARAMS_UNIT_BITRATE; + else if (p->u.params.rateunit == SCHED_CLASS_RATEUNIT_PKTS) + fw_rateunit = FW_SCHED_PARAMS_UNIT_PKTRATE; + else { + rc = EINVAL; + goto done; + } + + if (p->u.params.ratemode == SCHED_CLASS_RATEMODE_REL) + fw_ratemode = FW_SCHED_PARAMS_RATE_REL; + else if (p->u.params.ratemode == SCHED_CLASS_RATEMODE_ABS) + fw_ratemode = FW_SCHED_PARAMS_RATE_ABS; + else { + rc = EINVAL; + goto done; + } + + /* Vet our parameters ... */ + if (!in_range(p->u.params.channel, 0, 3) || + !in_range(p->u.params.cl, 0, is_t4(sc) ? 15 : 16) || + !in_range(p->u.params.minrate, 0, 10000000) || + !in_range(p->u.params.maxrate, 0, 10000000) || + !in_range(p->u.params.weight, 0, 100)) { + rc = ERANGE; + goto done; + } + + /* + * Translate any unset parameters into the firmware's + * nomenclature and/or fail the call if the parameters + * are required ... + */ + if (p->u.params.rateunit < 0 || p->u.params.ratemode < 0 || + p->u.params.channel < 0 || p->u.params.cl < 0) { + rc = EINVAL; + goto done; + } + if (p->u.params.minrate < 0) + p->u.params.minrate = 0; + if (p->u.params.maxrate < 0) { + if (p->u.params.level == SCHED_CLASS_LEVEL_CL_RL || + p->u.params.level == SCHED_CLASS_LEVEL_CH_RL) { + rc = EINVAL; + goto done; + } else + p->u.params.maxrate = 0; + } + if (p->u.params.weight < 0) { + if (p->u.params.level == SCHED_CLASS_LEVEL_CL_WRR) { + rc = EINVAL; + goto done; + } else + p->u.params.weight = 0; + } + if (p->u.params.pktsize < 0) { + if (p->u.params.level == SCHED_CLASS_LEVEL_CL_RL || + p->u.params.level == SCHED_CLASS_LEVEL_CH_RL) { + rc = EINVAL; + goto done; + } else + p->u.params.pktsize = 0; + } + + /* See what the firmware thinks of the request ... */ + rc = -t4_sched_params(sc, fw_type, fw_level, fw_mode, + fw_rateunit, fw_ratemode, p->u.params.channel, + p->u.params.cl, p->u.params.minrate, p->u.params.maxrate, + p->u.params.weight, p->u.params.pktsize); + goto done; + } + + rc = EINVAL; +done: + end_synchronized_op(sc, 0); + return (rc); +} + +static int +set_sched_queue(struct adapter *sc, struct t4_sched_queue *p) +{ + struct port_info *pi = NULL; + struct sge_txq *txq; + uint32_t fw_mnem, fw_queue, fw_class; + int i, rc; + + rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4setsq"); + if (rc) + return (rc); + + if (!(sc->flags & FULL_INIT_DONE)) { + rc = EAGAIN; + goto done; + } + + if (p->port >= sc->params.nports) { + rc = EINVAL; + goto done; + } + + pi = sc->port[p->port]; + if (!in_range(p->queue, 0, pi->ntxq - 1) || !in_range(p->cl, 0, 7)) { + rc = EINVAL; + goto done; + } + + /* + * Create a template for the FW_PARAMS_CMD mnemonic and value (TX + * Scheduling Class in this case). + */ + fw_mnem = (V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DMAQ) | + V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_DMAQ_EQ_SCHEDCLASS_ETH)); + fw_class = p->cl < 0 ? 0xffffffff : p->cl; + + /* + * If op.queue is non-negative, then we're only changing the scheduling + * on a single specified TX queue. + */ + if (p->queue >= 0) { + txq = &sc->sge.txq[pi->first_txq + p->queue]; + fw_queue = (fw_mnem | V_FW_PARAMS_PARAM_YZ(txq->eq.cntxt_id)); + rc = -t4_set_params(sc, sc->mbox, sc->pf, 0, 1, &fw_queue, + &fw_class); + goto done; + } + + /* + * Change the scheduling on all the TX queues for the + * interface. + */ + for_each_txq(pi, i, txq) { + fw_queue = (fw_mnem | V_FW_PARAMS_PARAM_YZ(txq->eq.cntxt_id)); + rc = -t4_set_params(sc, sc->mbox, sc->pf, 0, 1, &fw_queue, + &fw_class); + if (rc) + goto done; + } + + rc = 0; +done: + end_synchronized_op(sc, 0); + return (rc); +} + int t4_os_find_pci_capability(struct adapter *sc, int cap) { @@ -7538,6 +7762,12 @@ t4_ioctl(struct cdev *dev, unsigned long } break; } + case CHELSIO_T4_SCHED_CLASS: + rc = set_sched_class(sc, (struct t4_sched_params *)data); + break; + case CHELSIO_T4_SCHED_QUEUE: + rc = set_sched_queue(sc, (struct t4_sched_queue *)data); + break; case CHELSIO_T4_GET_TRACER: rc = t4_get_tracer(sc, (struct t4_tracer *)data); break; Modified: projects/random_number_generator/sys/dev/usb/wlan/if_run.c ============================================================================== --- projects/random_number_generator/sys/dev/usb/wlan/if_run.c Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/dev/usb/wlan/if_run.c Tue Dec 3 18:50:27 2013 (r258881) @@ -3167,8 +3167,9 @@ run_tx(struct run_softc *sc, struct mbuf usbd_transfer_start(sc->sc_xfer[qid]); - DPRINTFN(8, "sending data frame len=%d rate=%d qid=%d\n", m->m_pkthdr.len + - (int)(sizeof (struct rt2870_txd) + sizeof (struct rt2860_rxwi)), + DPRINTFN(8, "sending data frame len=%d rate=%d qid=%d\n", + m->m_pkthdr.len + + (int)(sizeof(struct rt2870_txd) + sizeof(struct rt2860_txwi)), rt2860_rates[ridx].rate, qid); return (0); @@ -3233,7 +3234,7 @@ run_tx_mgt(struct run_softc *sc, struct run_set_tx_desc(sc, data); DPRINTFN(10, "sending mgt frame len=%d rate=%d\n", m->m_pkthdr.len + - (int)(sizeof (struct rt2870_txd) + sizeof (struct rt2860_rxwi)), + (int)(sizeof(struct rt2870_txd) + sizeof(struct rt2860_txwi)), rt2860_rates[ridx].rate); STAILQ_INSERT_TAIL(&sc->sc_epq[0].tx_qh, data, next); Modified: projects/random_number_generator/sys/dev/usb/wlan/if_runvar.h ============================================================================== --- projects/random_number_generator/sys/dev/usb/wlan/if_runvar.h Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/dev/usb/wlan/if_runvar.h Tue Dec 3 18:50:27 2013 (r258881) @@ -35,7 +35,7 @@ /* NB: "11" is the maximum number of padding bytes needed for Tx */ #define RUN_MAX_TXSZ \ (sizeof (struct rt2870_txd) + \ - sizeof (struct rt2860_rxwi) + \ + sizeof (struct rt2860_txwi) + \ MCLBYTES + 11) #define RUN_TX_TIMEOUT 5000 /* ms */ Modified: projects/random_number_generator/sys/kern/sched_ule.c ============================================================================== --- projects/random_number_generator/sys/kern/sched_ule.c Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/kern/sched_ule.c Tue Dec 3 18:50:27 2013 (r258881) @@ -1532,7 +1532,7 @@ sched_priority(struct thread *td) pri = SCHED_PRI_MIN; if (td->td_sched->ts_ticks) pri += min(SCHED_PRI_TICKS(td->td_sched), - SCHED_PRI_RANGE); + SCHED_PRI_RANGE - 1); pri += SCHED_PRI_NICE(td->td_proc->p_nice); KASSERT(pri >= PRI_MIN_BATCH && pri <= PRI_MAX_BATCH, ("sched_priority: invalid priority %d: nice %d, " Modified: projects/random_number_generator/sys/powerpc/include/fdt.h ============================================================================== --- projects/random_number_generator/sys/powerpc/include/fdt.h Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/powerpc/include/fdt.h Tue Dec 3 18:50:27 2013 (r258881) @@ -35,15 +35,7 @@ #include #include -/* Max interrupt number */ -#define FDT_INTR_MAX INTR_VECTORS - /* Map phandle/intpin pair to global IRQ number */ #define FDT_MAP_IRQ(node, pin) powerpc_get_irq(node, pin) -/* - * Bus space tag. XXX endianess info needs to be derived from the blob. - */ -#define fdtbus_bs_tag (&bs_be_tag) - #endif /* _MACHINE_FDT_H_ */ Modified: projects/random_number_generator/sys/powerpc/wii/platform_wii.c ============================================================================== --- projects/random_number_generator/sys/powerpc/wii/platform_wii.c Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/powerpc/wii/platform_wii.c Tue Dec 3 18:50:27 2013 (r258881) @@ -136,7 +136,7 @@ wii_mem_regions(platform_t plat, struct */ avail_regions[1].mr_size -= WIIIPC_IOH_LEN + 1; - memcpy(phys, avail, 2*sizeof(*avail); + memcpy(phys, avail_regions, 2*sizeof(*avail_regions)); *physsz = *availsz = 2; } Modified: projects/random_number_generator/sys/sys/ktr.h ============================================================================== --- projects/random_number_generator/sys/sys/ktr.h Tue Dec 3 18:35:17 2013 (r258880) +++ projects/random_number_generator/sys/sys/ktr.h Tue Dec 3 18:50:27 2013 (r258881) @@ -36,56 +36,7 @@ #ifndef _SYS_KTR_H_ #define _SYS_KTR_H_ -/* - * Trace classes - * - * Two of the trace classes (KTR_DEV and KTR_SUBSYS) are special in that - * they are really placeholders so that indvidual drivers and subsystems - * can map their internal tracing to the general class when they wish to - * have tracing enabled and map it to 0 when they don't. - */ -#define KTR_GEN 0x00000001 /* General (TR) */ -#define KTR_NET 0x00000002 /* Network */ -#define KTR_DEV 0x00000004 /* Device driver */ -#define KTR_LOCK 0x00000008 /* MP locking */ -#define KTR_SMP 0x00000010 /* MP general */ -#define KTR_SUBSYS 0x00000020 /* Subsystem. */ -#define KTR_PMAP 0x00000040 /* Pmap tracing */ -#define KTR_MALLOC 0x00000080 /* Malloc tracing */ -#define KTR_TRAP 0x00000100 /* Trap processing */ -#define KTR_INTR 0x00000200 /* Interrupt tracing */ -#define KTR_SIG 0x00000400 /* Signal processing */ -#define KTR_SPARE2 0x00000800 /* XXX Used by cxgb */ -#define KTR_PROC 0x00001000 /* Process scheduling */ -#define KTR_SYSC 0x00002000 /* System call */ -#define KTR_INIT 0x00004000 /* System initialization */ -#define KTR_SPARE3 0x00008000 /* XXX Used by cxgb */ -#define KTR_SPARE4 0x00010000 /* XXX Used by cxgb */ -#define KTR_EVH 0x00020000 /* Eventhandler */ -#define KTR_VFS 0x00040000 /* VFS events */ -#define KTR_VOP 0x00080000 /* Auto-generated vop events */ -#define KTR_VM 0x00100000 /* The virtual memory system */ -#define KTR_INET 0x00200000 /* IPv4 stack */ -#define KTR_RUNQ 0x00400000 /* Run queue */ -#define KTR_CONTENTION 0x00800000 /* Lock contention */ -#define KTR_UMA 0x01000000 /* UMA slab allocator */ -#define KTR_CALLOUT 0x02000000 /* Callouts and timeouts */ -#define KTR_GEOM 0x04000000 /* GEOM I/O events */ -#define KTR_BUSDMA 0x08000000 /* busdma(9) events */ -#define KTR_INET6 0x10000000 /* IPv6 stack */ -#define KTR_SCHED 0x20000000 /* Machine parsed sched info. */ -#define KTR_BUF 0x40000000 /* Buffer cache */ -#define KTR_ALL 0x7fffffff - -/* Trace classes to compile in */ -#ifdef KTR *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Dec 4 12:28:57 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F1F154AF; Wed, 4 Dec 2013 12:28:56 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DCEF01D30; Wed, 4 Dec 2013 12:28:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB4CSuo7008603; Wed, 4 Dec 2013 12:28:56 GMT (envelope-from cherry@svn.freebsd.org) Received: (from cherry@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB4CSui6008599; Wed, 4 Dec 2013 12:28:56 GMT (envelope-from cherry@svn.freebsd.org) Message-Id: <201312041228.rB4CSui6008599@svn.freebsd.org> From: "Cherry G. Mathew" Date: Wed, 4 Dec 2013 12:28:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258920 - projects/amd64_xen_pv/sys/amd64/xen X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Dec 2013 12:28:57 -0000 Author: cherry Date: Wed Dec 4 12:28:56 2013 New Revision: 258920 URL: http://svnweb.freebsd.org/changeset/base/258920 Log: This commit enables userland to load and start executing, as it did before recent vm/ shakeups. fork(2) is still wip. Changes: pmap.c: i) Initial split out of pmap_enter() variants: - pmap_enter_locked() - pmap_enter_quick() - pmap_enter_object() ii) Improve locking behaviour - make it more consistent with native pmap iii) Fix two api change related bugs. (kva_alloc() and friends) iv) Miscellaneous further pmap functions to make boot progress. pmap_pv.[hc]: i) Modify the api to export locking behaviour control. ii) Fine tune pv chunk garbage collecting. iii) Remove stray debug/instrumentation code. "- if (pmap == kernel_pmap) return true;" Approved by: gibbs(implicit) Modified: projects/amd64_xen_pv/sys/amd64/xen/pmap.c projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.c projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.h Modified: projects/amd64_xen_pv/sys/amd64/xen/pmap.c ============================================================================== --- projects/amd64_xen_pv/sys/amd64/xen/pmap.c Wed Dec 4 12:07:46 2013 (r258919) +++ projects/amd64_xen_pv/sys/amd64/xen/pmap.c Wed Dec 4 12:28:56 2013 (r258920) @@ -646,6 +646,7 @@ pmap_bootstrap(vm_paddr_t *firstaddr) kernel_pmap->pm_root.rt_root = 0; CPU_FILL(&kernel_pmap->pm_active); /* don't allow deactivation */ pmap_pv_init(); + pmap_pv_pmap_init(kernel_pmap); tsz = mmu_map_t_size(); @@ -756,6 +757,7 @@ pmap_pinit0(pmap_t pmap) pmap->pm_cr3 = pmap_kextract_ma((vm_offset_t) KPML4phys); pmap->pm_root.rt_root = 0; CPU_ZERO(&pmap->pm_active); + CPU_ZERO(&pmap->pm_save); PCPU_SET(curpmap, pmap); pmap_pv_pmap_init(pmap); bzero(&pmap->pm_stats, sizeof pmap->pm_stats); @@ -1003,27 +1005,16 @@ pmap_qremove(vm_offset_t sva, int count) // XXX: TODO: pmap_invalidate_range(kernel_pmap, sva, va); } -/* - * Insert the given physical page (p) at - * the specified virtual address (v) in the - * target physical map with the protection requested. - * - * If specified, the page will be wired down, meaning - * that the related pte can not be reclaimed. - * - * NB: This is the only routine which MAY NOT lazy-evaluate - * or lose information. That is, this routine must actually - * insert this page into the given map NOW. - */ +#include -void -pmap_enter(pmap_t pmap, vm_offset_t va, vm_prot_t access, vm_page_t m, +static void +pmap_enter_locked(pmap_t pmap, vm_offset_t va, vm_prot_t access, vm_page_t m, vm_prot_t prot, boolean_t wired) { pt_entry_t *pte; pt_entry_t newpte, origpte; vm_paddr_t opa, pa; - vm_page_t mpte, om; + vm_page_t om; va = trunc_page(va); @@ -1031,12 +1022,12 @@ pmap_enter(pmap_t pmap, vm_offset_t va, KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS, ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)", va)); - if ((m->oflags & VPO_UNMANAGED) == 0 && !vm_page_xbusied(m)) - VM_OBJECT_ASSERT_WLOCKED(m->object); KASSERT(VM_PAGE_TO_PHYS(m) != 0, ("VM_PAGE_TO_PHYS(m) == 0x%lx\n", VM_PAGE_TO_PHYS(m))); + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + pa = VM_PAGE_TO_PHYS(m); newpte = (pt_entry_t)(xpmap_ptom(pa) | PG_A | PG_V | PG_U); if ((access & VM_PROT_WRITE) != 0) @@ -1052,10 +1043,6 @@ pmap_enter(pmap_t pmap, vm_offset_t va, /* newpte |= pmap_cache_bits(m->md.pat_mode, 0); XXX */ - mpte = NULL; - - PMAP_LOCK(pmap); - /* * In the case that a page table page is not * resident, we are creating it here. @@ -1114,13 +1101,16 @@ pmap_enter(pmap_t pmap, vm_offset_t va, pmap_resident_count_inc(pmap, 1); } - /* * Enter on the PV list if part of our managed memory. */ if ((m->oflags & VPO_UNMANAGED) == 0) { + bool pvunmanaged = false; newpte |= PG_MANAGED; - pmap_put_pv_entry(pmap, va, m); + pvunmanaged = pmap_put_pv_entry(pmap, va, m); + + KASSERT(pvunmanaged == true, + ("VPO_UNMANAGED flag set on existing pv entry for m == %p\n", m)); if ((newpte & PG_RW) != 0) vm_page_aflag_set(m, PGA_WRITEABLE); @@ -1195,6 +1185,44 @@ validate: unchanged: pmap_vtopte_release(pmap, va, &tptr); + +} + +/* + * Insert the given physical page (p) at + * the specified virtual address (v) in the + * target physical map with the protection requested. + * + * If specified, the page will be wired down, meaning + * that the related pte can not be reclaimed. + * + * NB: This is the only routine which MAY NOT lazy-evaluate + * or lose information. That is, this routine must actually + * insert this page into the given map NOW. + */ + +void +pmap_enter(pmap_t pmap, vm_offset_t va, vm_prot_t access, vm_page_t m, + vm_prot_t prot, boolean_t wired) +{ + va = trunc_page(va); + + KASSERT(va <= VM_MAX_KERNEL_ADDRESS, ("pmap_enter: toobig")); + KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS, + ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)", + va)); + + if ((m->oflags & VPO_UNMANAGED) == 0 && !vm_page_xbusied(m)) + VM_OBJECT_ASSERT_WLOCKED(m->object); + + KASSERT(VM_PAGE_TO_PHYS(m) != 0, + ("VM_PAGE_TO_PHYS(m) == 0x%lx\n", VM_PAGE_TO_PHYS(m))); + + + PMAP_LOCK(pmap); + + pmap_enter_locked(pmap, va, access, m, prot, wired); + PMAP_UNLOCK(pmap); } @@ -1219,16 +1247,20 @@ pmap_enter_object(pmap_t pmap, vm_offset vm_pindex_t diff, psize; vm_page_t m; - VM_OBJECT_ASSERT_WLOCKED(m_start->object); + VM_OBJECT_ASSERT_LOCKED(m_start->object); psize = atop(end - start); m = m_start; + PMAP_LOCK(pmap); + while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) { va = start + ptoa(diff); - pmap_enter(pmap, va, prot, m, prot, false); + pmap_enter_locked(pmap, va, prot, m, prot, false); m = TAILQ_NEXT(m, listq); } + + PMAP_UNLOCK(pmap); } void @@ -1237,8 +1269,22 @@ pmap_enter_quick(pmap_t pmap, vm_offset_ /* RO and unwired */ prot = (prot & ~VM_PROT_WRITE) | VM_PROT_READ; + va = trunc_page(va); + + KASSERT(va <= VM_MAX_KERNEL_ADDRESS, ("pmap_enter: toobig")); + KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS, + ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)", + va)); + + KASSERT(VM_PAGE_TO_PHYS(m) != 0, + ("VM_PAGE_TO_PHYS(m) == 0x%lx\n", VM_PAGE_TO_PHYS(m))); + + PMAP_LOCK(pmap); + /* XXX: do we care about "speed" ? */ - pmap_enter(pmap, va, prot, m, prot, false); + pmap_enter_locked(pmap, va, prot, m, prot, false); + + PMAP_UNLOCK(pmap); } void * @@ -1493,7 +1539,7 @@ pmap_remove_all(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_remove_all: page %p is not managed", m)); - pmap_pv_iterate(m, pv_remove); + pmap_pv_iterate(m, pv_remove, PV_RW_ITERATE); /* free pv entry from all pmaps */ pmap_pv_page_unmap(m); @@ -1894,6 +1940,9 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pm if (dst_addr != src_addr) return; + if (dst_pmap->pm_type != src_pmap->pm_type) + return; + if (dst_pmap < src_pmap) { PMAP_LOCK(dst_pmap); PMAP_LOCK(src_pmap); @@ -2000,7 +2049,6 @@ out: mmu_map_t_fini(dtptr); mmu_map_t_fini(stptr); - PMAP_UNLOCK(src_pmap); PMAP_UNLOCK(dst_pmap); } @@ -2014,7 +2062,7 @@ pmap_copy_page(vm_page_t msrc, vm_page_t KASSERT(msrc != NULL && mdst != NULL, ("Invalid source or destination page!")); - va_src = kmem_malloc(kernel_arena, PAGE_SIZE * 2, M_ZERO); + va_src = kva_alloc(PAGE_SIZE * 2); va_dst = va_src + PAGE_SIZE; KASSERT(va_src != 0, @@ -2031,7 +2079,7 @@ pmap_copy_page(vm_page_t msrc, vm_page_t pmap_kremove(va_src); pmap_kremove(va_dst); - kmem_free(kernel_arena, va_src, PAGE_SIZE * 2); + kva_free(va_src, PAGE_SIZE * 2); } int unmapped_buf_allowed = 1; @@ -2072,7 +2120,7 @@ pmap_copy_pages(vm_page_t ma[], vm_offse pmap_kremove(a_pg); pmap_kremove(b_pg); - kmem_free(kernel_arena, a_pg, PAGE_SIZE * 2); + kva_free(a_pg, PAGE_SIZE * 2); } void @@ -2211,6 +2259,8 @@ pv_map_remove(pmap_t pmap, vm_offset_t v void pmap_remove_pages(pmap_t pmap) { + KASSERT(pmap != kernel_pmap, + ("Trying to destroy kernel_pmap pv mappings!")); if (pmap != PCPU_GET(curpmap)) { printf("warning: pmap_remove_pages called with non-current pmap\n"); return; @@ -2228,7 +2278,7 @@ pmap_page_set_memattr(vm_page_t m, vm_me { KASSERT(0, ("XXX: %s: TODO\n", __func__)); } -#include + static bool pv_dummy(pmap_t pmap, vm_offset_t va, vm_page_t m) { @@ -2238,10 +2288,11 @@ pv_dummy(pmap_t pmap, vm_offset_t va, vm boolean_t pmap_page_is_mapped(vm_page_t m) { + if ((m->oflags & VPO_UNMANAGED) != 0) return (FALSE); - return pmap_pv_iterate(m, pv_dummy); + return pmap_pv_iterate(m, pv_dummy, PV_RO_ITERATE); } boolean_t @@ -2251,11 +2302,48 @@ pmap_page_exists_quick(pmap_t pmap, vm_p return 0; } +static bool +pv_page_is_wired(pmap_t pmap, vm_offset_t va, vm_page_t m) +{ + pt_entry_t *pte, tpte; + + char tbuf[tsz]; /* Safe to do this on the stack since tsz is + * effectively const. + */ + + mmu_map_t tptr = tbuf; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + + pte = pmap_vtopte_inspect(pmap, va, &tptr); + + KASSERT(pte != NULL, ("pte has no backing page tables!")); + + tpte = *pte; + + if ((tpte & PG_V) == 0) { + panic("bad pte va %lx pte %lx", va, tpte); + } + + /* + * We cannot remove wired pages from a process' mapping at this time + */ + if (tpte & PG_W) { + return false; /* Continue iteration */ + } + + pmap_vtopte_release(pmap, va, &tptr); + + return true; /* stop iteration */ +} + int pmap_page_wired_mappings(vm_page_t m) { - KASSERT(0, ("XXX: %s: TODO\n", __func__)); - return -1; + if ((m->oflags & VPO_UNMANAGED) != 0) + return (0); + + return pmap_pv_iterate(m, pv_page_is_wired, PV_RW_ITERATE); } boolean_t @@ -2477,15 +2565,32 @@ pmap_remove_write(vm_page_t m) if (!vm_page_xbusied(m) && (m->aflags & PGA_WRITEABLE) == 0) return; - pmap_pv_iterate(m, pv_remove_write); + pmap_pv_iterate(m, pv_remove_write, PV_RW_ITERATE); vm_page_aflag_clear(m, PGA_WRITEABLE); } +/* + * pmap_ts_referenced: + * + * Return a count of reference bits for a page, clearing those bits. + * It is not necessary for every reference bit to be cleared, but it + * is necessary that 0 only be returned when there are truly no + * reference bits set. + * + */ + int pmap_ts_referenced(vm_page_t m) { - KASSERT(0, ("XXX: %s: TODO\n", __func__)); - return -1; + /* + * XXX: we don't clear refs yet. We just return non-zero if at + * least one reference exists. + * This obeys the required semantics - but only just. + */ + KASSERT((m->oflags & VPO_UNMANAGED) == 0, + ("pmap_ts_referenced: page %p is not managed", m)); + + return pmap_pv_iterate(m, pv_dummy, PV_RO_ITERATE); } void Modified: projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.c ============================================================================== --- projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.c Wed Dec 4 12:07:46 2013 (r258919) +++ projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.c Wed Dec 4 12:28:56 2013 (r258920) @@ -136,7 +136,6 @@ static struct mtx pv_chunks_mutex; static struct rwlock pv_list_locks[NPV_LIST_LOCKS]; vm_map_t pv_map; /* Kernel submap for pc chunk alloc */ -extern vm_offset_t pv_minva, pv_maxva; /* VA range for submap */ /*************************************************** * page management routines. @@ -177,6 +176,10 @@ free_pv_chunk(struct pv_chunk *pc) { vm_page_t m; mtx_lock(&pv_chunks_mutex); + + KASSERT(pc->pc_map[0] == PC_FREE0 && pc->pc_map[1] == PC_FREE1 && + pc->pc_map[2] == PC_FREE2, ("Tried to free chunk in use")); + TAILQ_REMOVE(&pv_chunks, pc, pc_lru); mtx_unlock(&pv_chunks_mutex); PV_STAT(atomic_subtract_int(&pv_entry_spare, _NPCPV)); @@ -224,7 +227,15 @@ free_pv_entry(pmap_t pmap, pv_entry_t pv return; } TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); - free_pv_chunk(pc); + + /* + * We don't reclaim the pc backing memory here, in case it's + * still being scanned. This is the responsibility of + * pmap_free_pv_entry(). + * XXX: This is quite fragile. pc management needs to be + * formalised a bit better. + */ + } pv_entry_t @@ -235,8 +246,6 @@ pmap_get_pv_entry(pmap_t pmap) struct pv_chunk *pc; vm_page_t m; - KASSERT(pmap != kernel_pmap, - ("Trying to track kernel va")); rw_assert(&pvh_global_lock, RA_LOCKED); PMAP_LOCK_ASSERT(pmap, MA_OWNED); PV_STAT(atomic_add_long(&pv_entry_allocs, 1)); @@ -265,7 +274,7 @@ pmap_get_pv_entry(pmap_t pmap) } /* No free items, allocate another chunk */ - m = vm_page_alloc(NULL, 0, VM_ALLOC_NORMAL | VM_ALLOC_NOOBJ | + m = vm_page_alloc(NULL, 0, VM_ALLOC_SYSTEM | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED); if (m == NULL) { panic("XXX: TODO: memory pressure reclaim\n"); @@ -317,12 +326,13 @@ pmap_put_pv_entry(pmap_t pmap, vm_offset } rw_rlock(&pvh_global_lock); - if (pmap != kernel_pmap) { - pv = pmap_get_pv_entry(pmap); - pv->pv_va = va; - TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_next); - } + + pv = pmap_get_pv_entry(pmap); + pv->pv_va = va; + TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_next); + rw_runlock(&pvh_global_lock); + return true; } @@ -332,9 +342,9 @@ pmap_free_pv_entry(pmap_t pmap, vm_offse { bool found = false; pv_entry_t pv; + struct pv_chunk *pc; PMAP_LOCK_ASSERT(pmap, MA_OWNED); - if (pmap == kernel_pmap) return true; rw_rlock(&pvh_global_lock); @@ -342,6 +352,11 @@ pmap_free_pv_entry(pmap_t pmap, vm_offse if (pmap == PV_PMAP(pv) && va == pv->pv_va) { TAILQ_REMOVE(&m->md.pv_list, pv, pv_next); free_pv_entry(pmap, pv); + pc = pv_to_chunk(pv); + if (pc->pc_map[0] == PC_FREE0 && pc->pc_map[1] == PC_FREE1 && + pc->pc_map[2] == PC_FREE2) { + free_pv_chunk(pc); + } found = true; break; } @@ -358,9 +373,8 @@ pmap_find_pv_entry(pmap_t pmap, vm_offse pv_entry_t pv = NULL; PMAP_LOCK_ASSERT(pmap, MA_OWNED); - if (pmap == kernel_pmap) return NULL; - rw_rlock(&pvh_global_lock); + rw_rlock(&pvh_global_lock); TAILQ_FOREACH(pv, &m->md.pv_list, pv_next) { if (pmap == PV_PMAP(pv) && va == pv->pv_va) { break; @@ -441,7 +455,6 @@ pmap_pv_vm_page_to_v(pmap_t pmap, vm_pag bool pmap_pv_vm_page_mapped(pmap_t pmap, vm_page_t m) { - if (pmap == kernel_pmap) return true; return (pmap_pv_vm_page_to_v(pmap, m) == (VM_MAX_KERNEL_ADDRESS + 1)) ? false : true; @@ -454,18 +467,37 @@ pmap_pv_vm_page_mapped(pmap_t pmap, vm_p */ int -pmap_pv_iterate(vm_page_t m, pv_cb_t cb) +pmap_pv_iterate(vm_page_t m, pv_cb_t cb, iterate_flags iflag) { int iter = 0; pv_entry_t next_pv, pv; - rw_wlock(&pvh_global_lock); + switch(iflag) { + case PV_RO_ITERATE: + rw_rlock(&pvh_global_lock); + break; + case PV_RW_ITERATE: + rw_wlock(&pvh_global_lock); + break; + default: + panic("%s: unknown iterate flag, %d, requested\n", __func__, iflag); + } TAILQ_FOREACH_SAFE(pv, &m->md.pv_list, pv_next, next_pv) { iter++; if (cb(PV_PMAP(pv), pv->pv_va, m)) break; } - rw_wunlock(&pvh_global_lock); + + switch(iflag) { + case PV_RO_ITERATE: + rw_runlock(&pvh_global_lock); + break; + case PV_RW_ITERATE: + rw_wunlock(&pvh_global_lock); + break; + default: + panic("%s: unknown iterate flag, %d, requested\n", __func__, iflag); + } return iter; } @@ -493,20 +525,39 @@ pmap_pv_iterate_map(pmap_t pmap, pv_cb_t for (field = 0; field < _NPCM; field++) { inuse = ~pc->pc_map[field] & pc_freemask[field]; while (inuse != 0) { + bool cbresult = false; bit = bsfq(inuse); bitmask = 1UL << bit; idx = field * 64 + bit; pv = &pc->pc_pventry[idx]; inuse &= ~bitmask; - if (cb(PV_PMAP(pv), pv->pv_va, NULL)) break; - } - if (TAILQ_EMPTY(&pmap->pm_pvchunk)) { - /* Chunks were all freed! Bail. */ - break; + cbresult = cb(PV_PMAP(pv), pv->pv_va, NULL); + + /* + * Check to see the chunk was not + * freed by callback. If it is, + * reclaim chunk memory. + */ + + if (pc->pc_map[0] == PC_FREE0 && pc->pc_map[1] == PC_FREE1 && + pc->pc_map[2] == PC_FREE2) { + goto nextpc; + } + + if (TAILQ_EMPTY(&pmap->pm_pvchunk)) { + /* Chunks were all freed in the callback! Bail. */ + goto done_iterating; + } + + /* Try the next va */ + if (cbresult == false) break; } } + nextpc: + continue; } +done_iterating: return iter; } Modified: projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.h ============================================================================== --- projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.h Wed Dec 4 12:07:46 2013 (r258919) +++ projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.h Wed Dec 4 12:28:56 2013 (r258920) @@ -36,6 +36,12 @@ #ifndef _MACHINE_PMAP_PV_H_ #define _MACHINE_PMAP_PV_H_ +/* requested pvh_global_lock state during iteration */ +typedef enum { + PV_RO_ITERATE, + PV_RW_ITERATE +} iterate_flags; + /* * Used as a callback when iterating through multiple pmaps * If the callback returns 'true', iteration is stopped. @@ -51,7 +57,7 @@ pv_entry_t pmap_get_pv_entry(pmap_t pmap bool pmap_put_pv_entry(pmap_t pmap, vm_offset_t va, vm_page_t m); bool pmap_free_pv_entry(pmap_t pmap, vm_offset_t va, vm_page_t m); pv_entry_t pmap_find_pv_entry(pmap_t pmap, vm_offset_t va, vm_page_t m); -int pmap_pv_iterate(vm_page_t m, pv_cb_t cb); +int pmap_pv_iterate(vm_page_t m, pv_cb_t cb, iterate_flags iflag); int pmap_pv_iterate_map(pmap_t pmap, pv_cb_t cb); void pmap_pv_page_unmap(vm_page_t m); From owner-svn-src-projects@FreeBSD.ORG Thu Dec 5 05:58:18 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8B26BD06; Thu, 5 Dec 2013 05:58:18 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 46A961F4D; Thu, 5 Dec 2013 05:58:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB55wHtY074194; Thu, 5 Dec 2013 05:58:17 GMT (envelope-from jhibbits@svn.freebsd.org) Received: (from jhibbits@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB55wHD3074193; Thu, 5 Dec 2013 05:58:17 GMT (envelope-from jhibbits@svn.freebsd.org) Message-Id: <201312050558.rB55wHD3074193@svn.freebsd.org> From: Justin Hibbits Date: Thu, 5 Dec 2013 05:58:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258957 - projects/pmac_pmu/sys/powerpc/powermac X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Dec 2013 05:58:18 -0000 Author: jhibbits Date: Thu Dec 5 05:58:17 2013 New Revision: 258957 URL: http://svnweb.freebsd.org/changeset/base/258957 Log: Fix the cache flushing code, by flushing the L1 twice. Linux and OS X do this very thing, possibly to work around bugs in the silicon. Without this it doesn't flush completely, and results in memory corruption down the road. Modified: projects/pmac_pmu/sys/powerpc/powermac/platform_powermac.c Modified: projects/pmac_pmu/sys/powerpc/powermac/platform_powermac.c ============================================================================== --- projects/pmac_pmu/sys/powerpc/powermac/platform_powermac.c Thu Dec 5 03:01:41 2013 (r258956) +++ projects/pmac_pmu/sys/powerpc/powermac/platform_powermac.c Thu Dec 5 05:58:17 2013 (r258957) @@ -332,7 +332,7 @@ flush_disable_caches(void) register_t msr; register_t msscr0; register_t cache_reg; - volatile uint32_t *romp; + volatile uint32_t *memp; uint32_t temp; int i; int x; @@ -359,17 +359,30 @@ flush_disable_caches(void) mtspr(SPR_LDSTCR, 0); - romp = (uint32_t *)0xfff00000; + /* + * Perform this in two stages: Flush the cache starting in RAM, then do it + * from ROM. + */ + memp = (volatile uint32_t *)0x00000000; + for (i = 0; i < 128 * 1024; i++) { + temp = *memp; + __asm__ __volatile__("dcbf 0,%0" :: "r"(memp)); + memp += 32/sizeof(*memp); + } + + memp = (volatile uint32_t *)0xfff00000; x = 0xfe; for (; x != 0xff;) { mtspr(SPR_LDSTCR, x); for (i = 0; i < 128; i++) { - temp = *romp; - romp += 32/sizeof(*romp); + temp = *memp; + __asm__ __volatile__("dcbf 0,%0" :: "r"(memp)); + memp += 32/sizeof(*memp); } x = ((x << 1) | 1) & 0xff; } + mtspr(SPR_LDSTCR, 0); cache_reg = mfspr(SPR_L2CR); if (cache_reg & L2CR_L2E) { From owner-svn-src-projects@FreeBSD.ORG Thu Dec 5 05:59:09 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D12F8DE6; Thu, 5 Dec 2013 05:59:09 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id AF3E91F4F; Thu, 5 Dec 2013 05:59:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB55x9Sa074318; Thu, 5 Dec 2013 05:59:09 GMT (envelope-from jhibbits@svn.freebsd.org) Received: (from jhibbits@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB55x9FU074317; Thu, 5 Dec 2013 05:59:09 GMT (envelope-from jhibbits@svn.freebsd.org) Message-Id: <201312050559.rB55x9FU074317@svn.freebsd.org> From: Justin Hibbits Date: Thu, 5 Dec 2013 05:59:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258958 - projects/pmac_pmu/sys/powerpc/powermac X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Dec 2013 05:59:09 -0000 Author: jhibbits Date: Thu Dec 5 05:59:09 2013 New Revision: 258958 URL: http://svnweb.freebsd.org/changeset/base/258958 Log: Clean up the low level PMU sleep code. This could actually be moved elsewhere, since it's not precisely related to the PMU. Modified: projects/pmac_pmu/sys/powerpc/powermac/pmu.c Modified: projects/pmac_pmu/sys/powerpc/powermac/pmu.c ============================================================================== --- projects/pmac_pmu/sys/powerpc/powermac/pmu.c Thu Dec 5 05:58:17 2013 (r258957) +++ projects/pmac_pmu/sys/powerpc/powermac/pmu.c Thu Dec 5 05:59:09 2013 (r258958) @@ -1129,10 +1129,10 @@ extern void *ap_pcpu; void pmu_sleep_int(void) { + static u_quad_t timebase = 0; jmp_buf resetjb; - u_quad_t timebase; - struct thread *fputd = NULL; - struct thread *vectd = NULL; + struct thread *fputd; + struct thread *vectd; register_t hid0; register_t msr; register_t saved_msr; @@ -1143,14 +1143,12 @@ void pmu_sleep_int(void) *(unsigned long *)0x80 = 0x100; saved_msr = mfmsr(); - timebase = mftb(); - flush_disable_caches(); fputd = PCPU_GET(fputhread); vectd = PCPU_GET(vecthread); if (fputd != NULL) - save_fpu(PCPU_GET(fputhread)); + save_fpu(fputd); if (vectd != NULL) - save_vec(PCPU_GET(vecthread)); + save_vec(vectd); if (setjmp(resetjb) == 0) { sprgs[0] = mfspr(SPR_SPRG0); sprgs[1] = mfspr(SPR_SPRG1); @@ -1158,14 +1156,17 @@ void pmu_sleep_int(void) sprgs[3] = mfspr(SPR_SPRG3); srrs[0] = mfspr(SPR_SRR0); srrs[1] = mfspr(SPR_SRR1); + timebase = mftb(); + powerpc_sync(); + flush_disable_caches(); hid0 = mfspr(SPR_HID0); hid0 = (hid0 & ~(HID0_DOZE | HID0_NAP)) | HID0_SLEEP; powerpc_sync(); isync(); + msr = mfmsr() | PSL_POW; mtspr(SPR_HID0, hid0); powerpc_sync(); - msr = mfmsr() | PSL_POW; while (1) mtmsr(msr); } From owner-svn-src-projects@FreeBSD.ORG Thu Dec 5 09:50:11 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 22D79D02; Thu, 5 Dec 2013 09:50:11 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 0AC321E0C; Thu, 5 Dec 2013 09:50:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB59oAVU053299; Thu, 5 Dec 2013 09:50:10 GMT (envelope-from markm@svn.freebsd.org) Received: (from markm@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB59o5do053265; Thu, 5 Dec 2013 09:50:05 GMT (envelope-from markm@svn.freebsd.org) Message-Id: <201312050950.rB59o5do053265@svn.freebsd.org> From: Mark Murray Date: Thu, 5 Dec 2013 09:50:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258969 - in projects/random_number_generator: . cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n cddl/contrib/opensolaris/lib/libdtrace/common contrib/gcc contrib/gcc/conf... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Dec 2013 09:50:11 -0000 Author: markm Date: Thu Dec 5 09:50:04 2013 New Revision: 258969 URL: http://svnweb.freebsd.org/changeset/base/258969 Log: MFC - tracking commit. Added: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h - copied unchanged from r258968, head/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Host/Debug.h - copied unchanged from r258968, head/contrib/llvm/tools/lldb/include/lldb/Host/Debug.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/RegisterCheckpoint.h - copied unchanged from r258968, head/contrib/llvm/tools/lldb/include/lldb/Target/RegisterCheckpoint.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Utility/Iterable.h - copied unchanged from r258968, head/contrib/llvm/tools/lldb/include/lldb/Utility/Iterable.h projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBPlatform.cpp - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/API/SBPlatform.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.cpp - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.h - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.h - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h Modified: projects/random_number_generator/ObsoleteFiles.inc projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c projects/random_number_generator/contrib/gcc/ChangeLog.gcc43 projects/random_number_generator/contrib/gcc/config/rs6000/rs6000.c projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBDebugger.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBError.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBExpressionOptions.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpec.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBModule.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationList.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Address.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Module.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/CXXFormatterFunctions.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatClasses.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatNavigator.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeCategory.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Expression/ClangFunction.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Expression/ClangUserExpression.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Host/File.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Host/FileSpec.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Host/Host.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Host/OptionParser.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Interpreter/PythonDataObjects.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Symbol/TypeList.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/ABI.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/LanguageRuntime.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/Platform.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/Process.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/RegisterContext.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/SystemRuntime.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/Target.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/Thread.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/ThreadList.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunction.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallUserExpression.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Utility/PythonPointer.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/lldb-enumerations.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/lldb-forward.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/lldb-private-enumerations.h projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/lldb-python.h projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBDebugger.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBExpressionOptions.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBFileSpec.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBModule.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBProcess.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBStream.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBTarget.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBThread.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Breakpoint/Breakpoint.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointList.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocation.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationList.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectMemory.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlatform.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectProcess.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectTarget.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectThread.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpoint.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Core/Address.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Core/ConnectionFileDescriptor.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Core/Debugger.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Core/Mangled.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Core/Module.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Core/StreamFile.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Core/ValueObjectSyntheticFilter.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/CXXFormatterFunctions.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/FormatClasses.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/FormatManager.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/LibCxx.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/LibStdcpp.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/NSDictionary.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/NSSet.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategory.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategoryMap.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Expression/ClangFunction.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Expression/ClangUserExpression.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Host/common/File.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Host/common/FileSpec.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Host/common/Host.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Host/common/OptionParser.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Interpreter/Args.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Interpreter/CommandInterpreter.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Interpreter/PythonDataObjects.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreterPython.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_x86_64.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/Platform.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/Process.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/RegisterContext.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/StackFrameList.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/SystemRuntime.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/Target.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/Thread.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallUserExpression.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepInRange.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Utility/StringExtractor.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.cpp projects/random_number_generator/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.h projects/random_number_generator/contrib/llvm/tools/lldb/source/lldb.cpp projects/random_number_generator/contrib/llvm/tools/lldb/tools/lldb-platform/lldb-platform.cpp projects/random_number_generator/etc/rc projects/random_number_generator/lib/clang/liblldbAPI/Makefile projects/random_number_generator/lib/clang/liblldbPluginProcessFreeBSD/Makefile projects/random_number_generator/lib/clang/liblldbPluginProcessUtility/Makefile projects/random_number_generator/lib/libc/sys/wait.2 projects/random_number_generator/release/Makefile projects/random_number_generator/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/random_number_generator/sbin/mdconfig/mdconfig.8 projects/random_number_generator/sbin/mdconfig/mdconfig.c projects/random_number_generator/sbin/route/route.c projects/random_number_generator/share/man/man5/src.conf.5 projects/random_number_generator/share/man/man7/development.7 projects/random_number_generator/sys/conf/files.i386 projects/random_number_generator/sys/dev/drm2/drm_pci.c projects/random_number_generator/sys/dev/md/md.c projects/random_number_generator/sys/dev/oce/oce_if.c projects/random_number_generator/sys/dev/oce/oce_if.h projects/random_number_generator/sys/dev/oce/oce_mbox.c projects/random_number_generator/sys/dev/oce/oce_sysctl.c projects/random_number_generator/sys/dev/usb/usb_busdma.c projects/random_number_generator/sys/dev/usb/wlan/if_rsu.c projects/random_number_generator/sys/dev/usb/wlan/if_rum.c projects/random_number_generator/sys/dev/usb/wlan/if_run.c projects/random_number_generator/sys/dev/usb/wlan/if_ural.c projects/random_number_generator/sys/dev/usb/wlan/if_urtw.c projects/random_number_generator/sys/fs/ext2fs/ext2_dinode.h projects/random_number_generator/sys/i386/conf/GENERIC projects/random_number_generator/sys/i386/conf/NOTES projects/random_number_generator/sys/kern/kern_mib.c projects/random_number_generator/sys/kern/kern_shutdown.c projects/random_number_generator/sys/kern/makesyscalls.sh projects/random_number_generator/sys/modules/Makefile projects/random_number_generator/sys/sys/mdioctl.h projects/random_number_generator/tools/build/options/WITHOUT_PKGBOOTSTRAP projects/random_number_generator/tools/test/dtrace/Makefile projects/random_number_generator/usr.bin/script/script.1 projects/random_number_generator/usr.bin/script/script.c projects/random_number_generator/usr.bin/yacc/Makefile projects/random_number_generator/usr.sbin/bsdinstall/scripts/zfsboot projects/random_number_generator/usr.sbin/mfiutil/mfi_show.c Directory Properties: projects/random_number_generator/ (props changed) projects/random_number_generator/cddl/ (props changed) projects/random_number_generator/cddl/contrib/opensolaris/ (props changed) projects/random_number_generator/contrib/gcc/ (props changed) projects/random_number_generator/contrib/llvm/ (props changed) projects/random_number_generator/contrib/llvm/tools/lldb/ (props changed) projects/random_number_generator/lib/libc/ (props changed) projects/random_number_generator/sbin/ (props changed) projects/random_number_generator/sys/ (props changed) projects/random_number_generator/sys/conf/ (props changed) Modified: projects/random_number_generator/ObsoleteFiles.inc ============================================================================== --- projects/random_number_generator/ObsoleteFiles.inc Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/ObsoleteFiles.inc Thu Dec 5 09:50:04 2013 (r258969) @@ -39,11 +39,7 @@ # done # 20131202: libcapsicum and libcasper moved to /lib/ -OLD_FILES+=usr/lib/libcapsicum.a -OLD_FILES+=usr/lib/libcapsicum.so OLD_LIBS+=usr/lib/libcapsicum.so.0 -OLD_FILES+=usr/lib/libcasper.a -OLD_FILES+=usr/lib/libcasper.so OLD_LIBS+=usr/lib/libcasper.so.0 # 20131109: extattr(2) mlinks fixed OLD_FILES+=usr/share/man/man2/extattr_delete_list.2.gz Modified: projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh ============================================================================== --- projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh Thu Dec 5 09:50:04 2013 (r258969) @@ -64,7 +64,7 @@ child=$! # ksh doing work. (This actually goes one step further and assumes that we # catch some non-static function in ksh.) # -script | tee /dev/fd/2 | grep 'ksh`[a-zA-Z_]' > /dev/null +script | tee /dev/fd/2 | egrep 'ksh(93)?`[a-zA-Z_]' > /dev/null status=$? kill $child Modified: projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh ============================================================================== --- projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh Thu Dec 5 09:50:04 2013 (r258969) @@ -62,7 +62,7 @@ child=$! # # The only thing we can be sure of here is that ksh is doing some work. # -script | tee /dev/fd/2 | grep -w ksh > /dev/null +script | tee /dev/fd/2 | egrep -w 'ksh(93)?' > /dev/null status=$? kill $child Modified: projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh ============================================================================== --- projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh Thu Dec 5 09:50:04 2013 (r258969) @@ -63,7 +63,7 @@ child=$! # This test is essentially the same as that in the ufunc test; see that # test for the rationale. # -script | tee /dev/fd/2 | grep 'ksh`[a-zA-Z_]' > /dev/null +script | tee /dev/fd/2 | egrep 'ksh(93)?`[a-zA-Z_]' > /dev/null status=$? kill $child Modified: projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c ============================================================================== --- projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c Thu Dec 5 09:50:04 2013 (r258969) @@ -487,22 +487,16 @@ static const dt_ident_t _dtrace_globals[ DT_VERS_1_0, &dt_idops_func, "void(...)" }, { "typeref", DT_IDENT_FUNC, 0, DIF_SUBR_TYPEREF, DT_ATTR_STABCMN, DT_VERS_1_1, &dt_idops_func, "uintptr_t *(void *, size_t, string, size_t)" }, -#if defined(sun) { "uaddr", DT_IDENT_ACTFUNC, 0, DT_ACT_UADDR, DT_ATTR_STABCMN, DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" }, -#endif { "ucaller", DT_IDENT_SCALAR, 0, DIF_VAR_UCALLER, DT_ATTR_STABCMN, DT_VERS_1_2, &dt_idops_type, "uint64_t" }, -#if defined(sun) { "ufunc", DT_IDENT_ACTFUNC, 0, DT_ACT_USYM, DT_ATTR_STABCMN, DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" }, -#endif { "uid", DT_IDENT_SCALAR, 0, DIF_VAR_UID, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_type, "uid_t" }, -#if defined(sun) { "umod", DT_IDENT_ACTFUNC, 0, DT_ACT_UMOD, DT_ATTR_STABCMN, DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" }, -#endif { "uregs", DT_IDENT_ARRAY, 0, DIF_VAR_UREGS, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_regs, NULL }, { "ustack", DT_IDENT_ACTFUNC, 0, DT_ACT_USTACK, DT_ATTR_STABCMN, DT_VERS_1_0, @@ -510,10 +504,8 @@ static const dt_ident_t _dtrace_globals[ { "ustackdepth", DT_IDENT_SCALAR, 0, DIF_VAR_USTACKDEPTH, DT_ATTR_STABCMN, DT_VERS_1_2, &dt_idops_type, "uint32_t" }, -#if defined(sun) { "usym", DT_IDENT_ACTFUNC, 0, DT_ACT_USYM, DT_ATTR_STABCMN, DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" }, -#endif { "vtimestamp", DT_IDENT_SCALAR, 0, DIF_VAR_VTIMESTAMP, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_type, "uint64_t" }, Modified: projects/random_number_generator/contrib/gcc/ChangeLog.gcc43 ============================================================================== --- projects/random_number_generator/contrib/gcc/ChangeLog.gcc43 Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/gcc/ChangeLog.gcc43 Thu Dec 5 09:50:04 2013 (r258969) @@ -51,12 +51,20 @@ * doc/extend.texi: Document the 0b-prefixed binary integer constant extension. -2007-05-31 Eric Christopher +2007-05-31 Eric Christopher (r125246) * expr.c (convert_move): Assert that we don't have a BLKmode operand. (store_expr): Handle BLKmode moves by calling emit_block_move. +2007-05-27 Eric Christopher (r125116) + + * config/rs6000/rs6000.c (rs6000_emit_prologue): Update + sp_offset depending on stack size. Save r12 depending + on registers we're saving later. + (rs6000_emit_epilogue): Update sp_offset depending only + on stack size. + 2007-05-24 Richard Sandiford (r125037) * postreload-gcse.c (reg_changed_after_insn_p): New function. Modified: projects/random_number_generator/contrib/gcc/config/rs6000/rs6000.c ============================================================================== --- projects/random_number_generator/contrib/gcc/config/rs6000/rs6000.c Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/gcc/config/rs6000/rs6000.c Thu Dec 5 09:50:04 2013 (r258969) @@ -14704,8 +14704,17 @@ rs6000_emit_prologue (void) if (!WORLD_SAVE_P (info) && info->push_p && !(DEFAULT_ABI == ABI_V4 || current_function_calls_eh_return)) { - rs6000_emit_allocate_stack (info->total_size, FALSE); + if (info->total_size < 32767) sp_offset = info->total_size; + else + frame_reg_rtx = frame_ptr_rtx; + rs6000_emit_allocate_stack (info->total_size, + (frame_reg_rtx != sp_reg_rtx + && ((info->altivec_size != 0) + || (info->vrsave_mask != 0) + ))); + if (frame_reg_rtx != sp_reg_rtx) + rs6000_emit_stack_tie (); } /* Set frame pointer, if needed. */ @@ -15046,8 +15055,7 @@ rs6000_emit_epilogue (int sibcall) } /* Set sp_offset based on the stack push from the prologue. */ - if ((DEFAULT_ABI == ABI_V4 || current_function_calls_eh_return) - && info->total_size < 32767) + if (info->total_size < 32767) sp_offset = info->total_size; /* Restore AltiVec registers if needed. */ Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBDebugger.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBDebugger.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBDebugger.h Thu Dec 5 09:50:04 2013 (r258969) @@ -10,9 +10,11 @@ #ifndef LLDB_SBDebugger_h_ #define LLDB_SBDebugger_h_ -#include "lldb/API/SBDefines.h" #include +#include "lldb/API/SBDefines.h" +#include "lldb/API/SBPlatform.h" + namespace lldb { class SBDebugger @@ -153,6 +155,12 @@ public: void SetSelectedTarget (SBTarget& target); + lldb::SBPlatform + GetSelectedPlatform(); + + void + SetSelectedPlatform(lldb::SBPlatform &platform); + lldb::SBSourceManager GetSourceManager (); Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBError.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBError.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBError.h Thu Dec 5 09:50:04 2013 (r258969) @@ -72,6 +72,7 @@ protected: friend class SBCommunication; friend class SBHostOS; friend class SBInputReader; + friend class SBPlatform; friend class SBProcess; friend class SBThread; friend class SBTarget; Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBExpressionOptions.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBExpressionOptions.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBExpressionOptions.h Thu Dec 5 09:50:04 2013 (r258969) @@ -65,6 +65,12 @@ public: void SetTryAllThreads (bool run_others = true); + bool + GetTrapExceptions () const; + + void + SetTrapExceptions (bool trap_exceptions = true); + protected: SBExpressionOptions (lldb_private::EvaluateExpressionOptions &expression_options); Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpec.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpec.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpec.h Thu Dec 5 09:50:04 2013 (r258969) @@ -45,6 +45,12 @@ public: const char * GetDirectory() const; + void + SetFilename(const char *filename); + + void + SetDirectory(const char *directory); + uint32_t GetPath (char *dst_path, size_t dst_len) const; @@ -65,6 +71,7 @@ private: friend class SBLineEntry; friend class SBModule; friend class SBModuleSpec; + friend class SBPlatform; friend class SBProcess; friend class SBSourceManager; friend class SBThread; Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBModule.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBModule.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBModule.h Thu Dec 5 09:50:04 2013 (r258969) @@ -76,6 +76,42 @@ public: bool SetPlatformFileSpec (const lldb::SBFileSpec &platform_file); + //------------------------------------------------------------------ + /// Get accessor for the remote install path for a module. + /// + /// When debugging to a remote platform by connecting to a remote + /// platform, the install path of the module can be set. If the + /// install path is set, every time the process is about to launch + /// the target will install this module on the remote platform prior + /// to launching. + /// + /// @return + /// A file specification object. + //------------------------------------------------------------------ + lldb::SBFileSpec + GetRemoteInstallFileSpec (); + + //------------------------------------------------------------------ + /// Set accessor for the remote install path for a module. + /// + /// When debugging to a remote platform by connecting to a remote + /// platform, the install path of the module can be set. If the + /// install path is set, every time the process is about to launch + /// the target will install this module on the remote platform prior + /// to launching. + /// + /// If \a file specifies a full path to an install location, the + /// module will be installed to this path. If the path is relative + /// (no directory specified, or the path is partial like "usr/lib" + /// or "./usr/lib", then the install path will be resolved using + /// the platform's current working directory as the base path. + /// + /// @param[in] + /// A file specification object. + //------------------------------------------------------------------ + bool + SetRemoteInstallFileSpec (lldb::SBFileSpec &file); + lldb::ByteOrder GetByteOrder (); Copied: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h (from r258968, head/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h Thu Dec 5 09:50:04 2013 (r258969, copy of r258968, head/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h) @@ -0,0 +1,198 @@ +//===-- SBPlatform.h --------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLDB_SBPlatform_h_ +#define LLDB_SBPlatform_h_ + +#include "lldb/API/SBDefines.h" + +struct PlatformConnectOptions; +struct PlatformShellCommand; + +namespace lldb { + + class SBPlatformConnectOptions + { + public: + SBPlatformConnectOptions (const char *url); + + SBPlatformConnectOptions (const SBPlatformConnectOptions &rhs); + + ~SBPlatformConnectOptions (); + + void + operator=(const SBPlatformConnectOptions &rhs); + + const char * + GetURL(); + + void + SetURL(const char *url); + + bool + GetRsyncEnabled(); + + void + EnableRsync (const char *options, + const char *remote_path_prefix, + bool omit_remote_hostname); + + void + DisableRsync (); + + const char * + GetLocalCacheDirectory(); + + void + SetLocalCacheDirectory(const char *path); + protected: + PlatformConnectOptions *m_opaque_ptr; + }; + + class SBPlatformShellCommand + { + public: + SBPlatformShellCommand (const char *shell_command); + + SBPlatformShellCommand (const SBPlatformShellCommand &rhs); + + ~SBPlatformShellCommand(); + + void + Clear(); + + const char * + GetCommand(); + + void + SetCommand(const char *shell_command); + + const char * + GetWorkingDirectory (); + + void + SetWorkingDirectory (const char *path); + + uint32_t + GetTimeoutSeconds (); + + void + SetTimeoutSeconds (uint32_t sec); + + int + GetSignal (); + + int + GetStatus (); + + const char * + GetOutput (); + + protected: + friend class SBPlatform; + + PlatformShellCommand *m_opaque_ptr; + }; + + class SBPlatform + { + public: + + SBPlatform (); + + SBPlatform (const char *platform_name); + + ~SBPlatform(); + + bool + IsValid () const; + + void + Clear (); + + const char * + GetWorkingDirectory(); + + bool + SetWorkingDirectory(const char *path); + + const char * + GetName (); + + SBError + ConnectRemote (SBPlatformConnectOptions &connect_options); + + void + DisconnectRemote (); + + bool + IsConnected(); + + //---------------------------------------------------------------------- + // The following functions will work if the platform is connected + //---------------------------------------------------------------------- + const char * + GetTriple(); + + const char * + GetHostname (); + + const char * + GetOSBuild (); + + const char * + GetOSDescription (); + + uint32_t + GetOSMajorVersion (); + + uint32_t + GetOSMinorVersion (); + + uint32_t + GetOSUpdateVersion (); + + SBError + Put (SBFileSpec &src, SBFileSpec &dst); + + SBError + Get (SBFileSpec &src, SBFileSpec &dst); + + SBError + Install (SBFileSpec& src, SBFileSpec& dst); + + SBError + Run (SBPlatformShellCommand &shell_command); + + SBError + MakeDirectory (const char *path, uint32_t file_permissions = eFilePermissionsDirectoryDefault); + + uint32_t + GetFilePermissions (const char *path); + + SBError + SetFilePermissions (const char *path, uint32_t file_permissions); + + protected: + + friend class SBDebugger; + friend class SBTarget; + + lldb::PlatformSP + GetSP () const; + + void + SetSP (const lldb::PlatformSP& platform_sp); + + lldb::PlatformSP m_opaque_sp; + }; + +} // namespace lldb + +#endif // LLDB_SBPlatform_h_ Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h Thu Dec 5 09:50:04 2013 (r258969) @@ -268,6 +268,23 @@ public: GetProcess (); //------------------------------------------------------------------ + /// Install any binaries that need to be installed. + /// + /// This function does nothing when debugging on the host system. + /// When connected to remote platforms, the target's main executable + /// and any modules that have their remote install path set will be + /// installed on the remote platform. If the main executable doesn't + /// have an install location set, it will be installed in the remote + /// platform's working directory. + /// + /// @return + /// An error describing anything that went wrong during + /// installation. + //------------------------------------------------------------------ + SBError + Install(); + + //------------------------------------------------------------------ /// Launch a new process. /// /// Launch a new process by spawning a new process using the Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h Thu Dec 5 09:50:04 2013 (r258969) @@ -202,7 +202,10 @@ public: GetStatus (lldb::SBStream &status) const; SBThread - GetExtendedBacktrace (const char *type); + GetExtendedBacktraceThread (const char *type); + + uint32_t + GetExtendedBacktraceOriginatingIndexID (); protected: friend class SBBreakpoint; Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h Thu Dec 5 09:50:04 2013 (r258969) @@ -311,6 +311,24 @@ public: //------------------------------------------------------------------ lldb::BreakpointLocationSP GetLocationAtIndex (size_t index); + + //------------------------------------------------------------------ + /// Removes all invalid breakpoint locations. + /// + /// Removes all breakpoint locations with architectures that aren't + /// compatible with \a arch. Also remove any breakpoint locations + /// with whose locations have address where the section has been + /// deleted (module and object files no longer exist). + /// + /// This is typically used after the process calls exec, or anytime + /// the architecture of the target changes. + /// + /// @param[in] arch + /// If valid, check the module in each breakpoint to make sure + /// they are compatible, otherwise, ignore architecture. + //------------------------------------------------------------------ + void + RemoveInvalidLocations (const ArchSpec &arch); //------------------------------------------------------------------ // The next section deals with various breakpoint options. Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h Thu Dec 5 09:50:04 2013 (r258969) @@ -132,6 +132,25 @@ public: bool Remove (lldb::break_id_t breakID, bool notify); + + //------------------------------------------------------------------ + /// Removes all invalid breakpoint locations. + /// + /// Removes all breakpoint locations in the list with architectures + /// that aren't compatible with \a arch. Also remove any breakpoint + /// locations with whose locations have address where the section + /// has been deleted (module and object files no longer exist). + /// + /// This is typically used after the process calls exec, or anytime + /// the architecture of the target changes. + /// + /// @param[in] arch + /// If valid, check the module in each breakpoint to make sure + /// they are compatible, otherwise, ignore architecture. + //------------------------------------------------------------------ + void + RemoveInvalidLocations (const ArchSpec &arch); + void SetEnabledAll (bool enabled); Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationList.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationList.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationList.h Thu Dec 5 09:50:04 2013 (r258969) @@ -250,6 +250,9 @@ protected: bool RemoveLocation (const lldb::BreakpointLocationSP &bp_loc_sp); + + void + RemoveInvalidLocations (const ArchSpec &arch); typedef std::vector collection; typedef std::map addr_map; Breakpoint &m_owner; - collection m_locations; + collection m_locations; // Vector of locations, sorted by ID addr_map m_address_to_location; mutable Mutex m_mutex; lldb::break_id_t m_next_id; Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Address.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Address.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Address.h Thu Dec 5 09:50:04 2013 (r258969) @@ -534,6 +534,16 @@ public: bool CalculateSymbolContextLineEntry (LineEntry &line_entry) const; + //------------------------------------------------------------------ + // Returns true if the section should be valid, but isn't because + // the shared pointer to the section can't be reconstructed from + // a weak pointer that contains a valid weak reference to a section. + // Returns false if the section weak pointer has no reference to + // a section, or if the section is still valid + //------------------------------------------------------------------ + bool + SectionWasDeleted() const; + protected: //------------------------------------------------------------------ // Member variables. @@ -550,7 +560,7 @@ protected: // have a valid section. //------------------------------------------------------------------ bool - SectionWasDeleted() const; + SectionWasDeletedPrivate() const; }; Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h Thu Dec 5 09:50:04 2013 (r258969) @@ -17,9 +17,6 @@ #include #include "lldb/lldb-public.h" - -#include "lldb/API/SBDefines.h" - #include "lldb/Core/Broadcaster.h" #include "lldb/Core/Communication.h" #include "lldb/Core/InputReaderStack.h" @@ -55,6 +52,10 @@ friend class SourceManager; // For GetS public: + typedef lldb::DynamicLibrarySP (*LoadPluginCallbackType) (const lldb::DebuggerSP &debugger_sp, + const FileSpec& spec, + Error& error); + static lldb::DebuggerSP CreateInstance (lldb::LogOutputCallback log_callback = NULL, void *baton = NULL); @@ -65,7 +66,7 @@ public: FindTargetWithProcess (Process *process); static void - Initialize (); + Initialize (LoadPluginCallbackType load_plugin_callback); static void Terminate (); @@ -333,9 +334,7 @@ public: { return m_instance_name; } - - typedef bool (*LLDBCommandPluginInit) (lldb::SBDebugger& debugger); - + bool LoadPlugin (const FileSpec& spec, Error& error); @@ -377,6 +376,7 @@ protected: LogStreamMap m_log_streams; lldb::StreamSP m_log_callback_stream_sp; ConstString m_instance_name; + static LoadPluginCallbackType g_load_plugin_callback; typedef std::vector LoadedPluginsList; LoadedPluginsList m_loaded_plugins; Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Module.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Module.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Module.h Thu Dec 5 09:50:04 2013 (r258969) @@ -570,6 +570,18 @@ public: } const FileSpec & + GetRemoteInstallFileSpec () const + { + return m_remote_install_file; + } + + void + SetRemoteInstallFileSpec (const FileSpec &file) + { + m_remote_install_file = file; + } + + const FileSpec & GetSymbolFileFileSpec () const { return m_symfile_spec; @@ -1059,6 +1071,7 @@ protected: lldb_private::UUID m_uuid; ///< Each module is assumed to have a unique identifier to help match it up to debug symbols. FileSpec m_file; ///< The file representation on disk for this module (if there is one). FileSpec m_platform_file;///< The path to the module on the platform on which it is being debugged + FileSpec m_remote_install_file; ///< If set when debugging on remote platforms, this module will be installed at this location FileSpec m_symfile_spec; ///< If this path is valid, then this is the file that _will_ be used as the symbol file for this module ConstString m_object_name; ///< The name an object within this module that is selected, or empty of the module is represented by \a m_file. uint64_t m_object_offset; Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/CXXFormatterFunctions.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/CXXFormatterFunctions.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/CXXFormatterFunctions.h Thu Dec 5 09:50:04 2013 (r258969) @@ -17,6 +17,8 @@ #include "lldb/Core/ConstString.h" #include "lldb/DataFormatters/FormatClasses.h" +#include "lldb/DataFormatters/TypeSynthetic.h" +#include "lldb/Target/ExecutionContext.h" #include "lldb/Target/Target.h" #include "clang/AST/ASTContext.h" Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h Thu Dec 5 09:50:04 2013 (r258969) @@ -18,6 +18,7 @@ // Project includes #include "lldb/lldb-public.h" #include "lldb/Core/ConstString.h" +#include "lldb/Host/Mutex.h" #include "lldb/DataFormatters/FormatClasses.h" namespace lldb_private { Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatClasses.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatClasses.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatClasses.h Thu Dec 5 09:50:04 2013 (r258969) @@ -10,9 +10,6 @@ #ifndef lldb_FormatClasses_h_ #define lldb_FormatClasses_h_ -// C Includes -#include - // C++ Includes #include #include @@ -23,17 +20,86 @@ #include "lldb/lldb-public.h" #include "lldb/lldb-enumerations.h" -#include "lldb/Core/ValueObject.h" -#include "lldb/Interpreter/ScriptInterpreterPython.h" #include "lldb/Symbol/ClangASTType.h" #include "lldb/Symbol/Type.h" -#include "lldb/DataFormatters/TypeFormat.h" -#include "lldb/DataFormatters/TypeSummary.h" -#include "lldb/DataFormatters/TypeSynthetic.h" - namespace lldb_private { +class FormattersMatchCandidate +{ +public: + + FormattersMatchCandidate (ConstString name, + uint32_t reason, + bool strip_ptr, + bool strip_ref, + bool strip_tydef) : + m_type_name(name), + m_reason(reason), + m_stripped_pointer(strip_ptr), + m_stripped_reference(strip_ref), + m_stripped_typedef(strip_tydef) + { + } + + ~FormattersMatchCandidate () + {} + + ConstString + GetTypeName () const + { + return m_type_name; + } + + uint32_t + GetReason () const + { + return m_reason; + } + + bool + DidStripPointer () const + { + return m_stripped_pointer; + } + + bool + DidStripReference () const + { + return m_stripped_reference; + } + + bool + DidStripTypedef () const + { + return m_stripped_typedef; + } + + template + bool + IsMatch (const std::shared_ptr& formatter_sp) const + { + if (!formatter_sp) + return false; + if (formatter_sp->Cascades() == false && DidStripTypedef()) + return false; + if (formatter_sp->SkipsPointers() && DidStripPointer()) + return false; + if (formatter_sp->SkipsReferences() && DidStripReference()) + return false; + return true; + } + +private: + ConstString m_type_name; + uint32_t m_reason; + bool m_stripped_pointer; + bool m_stripped_reference; + bool m_stripped_typedef; +}; + +typedef std::vector FormattersMatchVector; + class TypeNameSpecifierImpl { public: Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h Thu Dec 5 09:50:04 2013 (r258969) @@ -19,6 +19,7 @@ #include "lldb/lldb-enumerations.h" #include "lldb/DataFormatters/FormatCache.h" +#include "lldb/DataFormatters/FormatClasses.h" #include "lldb/DataFormatters/FormatNavigator.h" #include "lldb/DataFormatters/TypeCategory.h" #include "lldb/DataFormatters/TypeCategoryMap.h" @@ -213,7 +214,36 @@ public: { } + static FormattersMatchVector + GetPossibleMatches (ValueObject& valobj, + lldb::DynamicValueType use_dynamic) + { + FormattersMatchVector matches; + GetPossibleMatches (valobj, + valobj.GetClangType(), + lldb_private::eFormatterChoiceCriterionDirectChoice, + use_dynamic, + matches, + false, + false, + false, + true); + return matches; + } + private: + + static void + GetPossibleMatches (ValueObject& valobj, + ClangASTType clang_type, + uint32_t reason, + lldb::DynamicValueType use_dynamic, + FormattersMatchVector& entries, + bool did_strip_ptr, + bool did_strip_ref, + bool did_strip_typedef, + bool root_level = false); + FormatCache m_format_cache; NamedSummariesMap m_named_summaries_map; std::atomic m_last_revision; Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatNavigator.h ============================================================================== --- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatNavigator.h Thu Dec 5 08:20:46 2013 (r258968) +++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatNavigator.h Thu Dec 5 09:50:04 2013 (r258969) @@ -26,6 +26,9 @@ #include "lldb/Core/ValueObject.h" #include "lldb/DataFormatters/FormatClasses.h" +#include "lldb/DataFormatters/TypeFormat.h" +#include "lldb/DataFormatters/TypeSummary.h" +#include "lldb/DataFormatters/TypeSynthetic.h" #include "lldb/Symbol/ClangASTContext.h" #include "lldb/Symbol/ClangASTType.h" @@ -459,228 +462,29 @@ protected: } return false; } - - bool - Get_BitfieldMatch (ValueObject& valobj, - ConstString typeName, - MapValueType& entry, - uint32_t& reason) - { - Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_TYPES)); - // for bitfields, append size to the typename so one can custom format them - StreamString sstring; - sstring.Printf("%s:%d",typeName.AsCString(),valobj.GetBitfieldBitSize()); - ConstString bitfieldname = ConstString(sstring.GetData()); - if (log) - log->Printf("[Get_BitfieldMatch] appended bitfield info, final result is %s", bitfieldname.GetCString()); - if (Get(bitfieldname, entry)) - { - if (log) - log->Printf("[Get_BitfieldMatch] bitfield direct match found, returning"); - return true; - } - else - { - reason |= lldb_private::eFormatterChoiceCriterionStrippedBitField; - if (log) - log->Printf("[Get_BitfieldMatch] no bitfield direct match"); - return false; - } - } - - bool Get_ObjC (ValueObject& valobj, - MapValueType& entry) - { - Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_TYPES)); - lldb::ProcessSP process_sp = valobj.GetProcessSP(); - ObjCLanguageRuntime* runtime = process_sp->GetObjCLanguageRuntime(); - if (runtime == NULL) - { - if (log) - log->Printf("[Get_ObjC] no valid ObjC runtime, skipping dynamic"); - return false; - } - ObjCLanguageRuntime::ClassDescriptorSP objc_class_sp (runtime->GetClassDescriptor(valobj)); - if (!objc_class_sp) - { - if (log) - log->Printf("[Get_ObjC] invalid ISA, skipping dynamic"); - return false; - } - ConstString name (objc_class_sp->GetClassName()); - if (log) - log->Printf("[Get_ObjC] dynamic type inferred is %s - looking for direct dynamic match", name.GetCString()); - if (Get(name, entry)) - { - if (log) - log->Printf("[Get_ObjC] direct dynamic match found, returning"); - return true; - } - if (log) - log->Printf("[Get_ObjC] no dynamic match"); - return false; - } - + bool - Get_Impl (ValueObject& valobj, - ClangASTType clang_type, - MapValueType& entry, - lldb::DynamicValueType use_dynamic, - uint32_t& reason) + Get (const FormattersMatchVector& candidates, + MapValueType& entry, + uint32_t *reason) { - Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_TYPES)); - - if (!clang_type.IsValid()) - { - if (log) - log->Printf("[Get_Impl] type is invalid, returning"); - return false; - } - - clang_type = clang_type.RemoveFastQualifiers(); - - ConstString typeName(clang_type.GetConstTypeName()); - - if (valobj.GetBitfieldBitSize() > 0) + for (const FormattersMatchCandidate& candidate : candidates) { - if (Get_BitfieldMatch(valobj, typeName, entry, reason)) - return true; - } - - if (log) - log->Printf("[Get_Impl] trying to get %s for VO name %s of type %s", - m_name.c_str(), - valobj.GetName().AsCString(), - typeName.AsCString()); - - if (Get(typeName, entry)) - { - if (log) - log->Printf("[Get] direct match found, returning"); - return true; - } - if (log) - log->Printf("[Get_Impl] no direct match"); - - // strip pointers and references and see if that helps - if (clang_type.IsReferenceType()) - { - if (log) - log->Printf("[Get_Impl] stripping reference"); - if (Get_Impl(valobj, clang_type.GetNonReferenceType(), entry, use_dynamic, reason) && !entry->SkipsReferences()) + if (Get(candidate.GetTypeName(),entry)) { - reason |= lldb_private::eFormatterChoiceCriterionStrippedPointerReference; - return true; - } - } - else if (clang_type.IsPointerType()) - { - if (log) - log->Printf("[Get_Impl] stripping pointer"); - if (Get_Impl(valobj, clang_type.GetPointeeType(), entry, use_dynamic, reason) && !entry->SkipsPointers()) - { - reason |= lldb_private::eFormatterChoiceCriterionStrippedPointerReference; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu Dec 5 16:44:00 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 84D7F57A; Thu, 5 Dec 2013 16:44:00 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6D94C19DD; Thu, 5 Dec 2013 16:44:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB5Gi0Tx056662; Thu, 5 Dec 2013 16:44:00 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB5Ght6c056382; Thu, 5 Dec 2013 16:43:55 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201312051643.rB5Ght6c056382@svn.freebsd.org> From: Ed Maste Date: Thu, 5 Dec 2013 16:43:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r258991 - in projects/uefi: . bin/sh bin/test cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n cddl/contrib/opensolaris/lib/libdtrace/common contrib/gcc contrib/gcc/config/... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Dec 2013 16:44:00 -0000 Author: emaste Date: Thu Dec 5 16:43:53 2013 New Revision: 258991 URL: http://svnweb.freebsd.org/changeset/base/258991 Log: Merge from HEAD at r258990 Sponsored by: The FreeBSD Foundation Added: projects/uefi/contrib/gcclibs/libiberty/ChangeLog.gcc43 - copied unchanged from r258990, head/contrib/gcclibs/libiberty/ChangeLog.gcc43 projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h - copied unchanged from r258990, head/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Host/Debug.h - copied unchanged from r258990, head/contrib/llvm/tools/lldb/include/lldb/Host/Debug.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/RegisterCheckpoint.h - copied unchanged from r258990, head/contrib/llvm/tools/lldb/include/lldb/Target/RegisterCheckpoint.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Utility/Iterable.h - copied unchanged from r258990, head/contrib/llvm/tools/lldb/include/lldb/Utility/Iterable.h projects/uefi/contrib/llvm/tools/lldb/source/API/SBPlatform.cpp - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/API/SBPlatform.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.cpp - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.h - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.h - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h projects/uefi/etc/casper/ - copied from r258990, head/etc/casper/ projects/uefi/lib/libcapsicum/ - copied from r258990, head/lib/libcapsicum/ projects/uefi/lib/libcasper/ - copied from r258990, head/lib/libcasper/ projects/uefi/lib/libpjdlog/ - copied from r258990, head/lib/libpjdlog/ projects/uefi/libexec/casper/ - copied from r258990, head/libexec/casper/ projects/uefi/sbin/casperd/ - copied from r258990, head/sbin/casperd/ projects/uefi/sys/dev/nand/nfc_at91.c - copied unchanged from r258990, head/sys/dev/nand/nfc_at91.c projects/uefi/sys/powerpc/wii/ios_if.m - copied unchanged from r258990, head/sys/powerpc/wii/ios_if.m projects/uefi/sys/sys/ktr_class.h - copied unchanged from r258990, head/sys/sys/ktr_class.h projects/uefi/sys/sys/sf_sync.h - copied unchanged from r258990, head/sys/sys/sf_sync.h projects/uefi/tools/build/options/WITHOUT_CASPER - copied unchanged from r258990, head/tools/build/options/WITHOUT_CASPER projects/uefi/tools/regression/capsicum/libcapsicum/ - copied from r258990, head/tools/regression/capsicum/libcapsicum/ Modified: projects/uefi/Makefile.inc1 projects/uefi/ObsoleteFiles.inc projects/uefi/UPDATING projects/uefi/bin/sh/cd.c projects/uefi/bin/sh/exec.c projects/uefi/bin/sh/expand.c projects/uefi/bin/sh/memalloc.c projects/uefi/bin/sh/mystring.c projects/uefi/bin/sh/mystring.h projects/uefi/bin/sh/show.c projects/uefi/bin/sh/var.c projects/uefi/bin/test/test.c projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c projects/uefi/contrib/gcc/ChangeLog.gcc43 projects/uefi/contrib/gcc/builtins.c projects/uefi/contrib/gcc/c-common.c projects/uefi/contrib/gcc/c-decl.c projects/uefi/contrib/gcc/c-typeck.c projects/uefi/contrib/gcc/config/rs6000/rs6000.c projects/uefi/contrib/gcc/cp/ChangeLog.gcc43 projects/uefi/contrib/gcc/cp/decl.c projects/uefi/contrib/gcc/cp/mangle.c projects/uefi/contrib/gcc/cp/semantics.c projects/uefi/contrib/gcc/cp/typeck.c projects/uefi/contrib/gcc/doc/extend.texi projects/uefi/contrib/gcc/flags.h projects/uefi/contrib/gcc/print-tree.c projects/uefi/contrib/gcc/toplev.c projects/uefi/contrib/gcc/tree.c projects/uefi/contrib/gcc/tree.h projects/uefi/contrib/gcc/varasm.c projects/uefi/contrib/gcclibs/libcpp/ChangeLog.gcc43 projects/uefi/contrib/gcclibs/libcpp/expr.c projects/uefi/contrib/gcclibs/libcpp/lex.c projects/uefi/contrib/gcclibs/libcpp/macro.c projects/uefi/contrib/gcclibs/libcpp/pch.c projects/uefi/contrib/gcclibs/libiberty/choose-temp.c projects/uefi/contrib/gcclibs/libiberty/cp-demangle.c projects/uefi/contrib/gcclibs/libiberty/cp-demangle.h projects/uefi/contrib/gcclibs/libiberty/floatformat.c projects/uefi/contrib/gcclibs/libiberty/functions.texi projects/uefi/contrib/gcclibs/libiberty/pex-unix.c projects/uefi/contrib/gcclibs/libiberty/strsignal.c projects/uefi/contrib/gcclibs/libiberty/testsuite/demangle-expected projects/uefi/contrib/gcclibs/libiberty/testsuite/test-demangle.c projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBDebugger.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBError.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBExpressionOptions.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpec.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBModule.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationList.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Core/Address.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Core/Module.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/DataFormatters/CXXFormatterFunctions.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatClasses.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatNavigator.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeCategory.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Expression/ClangFunction.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Expression/ClangUserExpression.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Host/File.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Host/FileSpec.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Host/Host.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Host/OptionParser.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Interpreter/PythonDataObjects.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Symbol/TypeList.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/ABI.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/LanguageRuntime.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/Platform.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/Process.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/RegisterContext.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/SystemRuntime.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/Target.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/Thread.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/ThreadList.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunction.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallUserExpression.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/Utility/PythonPointer.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/lldb-enumerations.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/lldb-forward.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/lldb-private-enumerations.h projects/uefi/contrib/llvm/tools/lldb/include/lldb/lldb-python.h projects/uefi/contrib/llvm/tools/lldb/source/API/SBDebugger.cpp projects/uefi/contrib/llvm/tools/lldb/source/API/SBExpressionOptions.cpp projects/uefi/contrib/llvm/tools/lldb/source/API/SBFileSpec.cpp projects/uefi/contrib/llvm/tools/lldb/source/API/SBModule.cpp projects/uefi/contrib/llvm/tools/lldb/source/API/SBProcess.cpp projects/uefi/contrib/llvm/tools/lldb/source/API/SBStream.cpp projects/uefi/contrib/llvm/tools/lldb/source/API/SBTarget.cpp projects/uefi/contrib/llvm/tools/lldb/source/API/SBThread.cpp projects/uefi/contrib/llvm/tools/lldb/source/Breakpoint/Breakpoint.cpp projects/uefi/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointList.cpp projects/uefi/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocation.cpp projects/uefi/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationList.cpp projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.cpp projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectMemory.cpp projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlatform.cpp projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.cpp projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectProcess.cpp projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectTarget.cpp projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectThread.cpp projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpoint.cpp projects/uefi/contrib/llvm/tools/lldb/source/Core/Address.cpp projects/uefi/contrib/llvm/tools/lldb/source/Core/ConnectionFileDescriptor.cpp projects/uefi/contrib/llvm/tools/lldb/source/Core/Debugger.cpp projects/uefi/contrib/llvm/tools/lldb/source/Core/Mangled.cpp projects/uefi/contrib/llvm/tools/lldb/source/Core/Module.cpp projects/uefi/contrib/llvm/tools/lldb/source/Core/StreamFile.cpp projects/uefi/contrib/llvm/tools/lldb/source/Core/ValueObjectSyntheticFilter.cpp projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/CXXFormatterFunctions.cpp projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/FormatClasses.cpp projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/FormatManager.cpp projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/LibCxx.cpp projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/LibStdcpp.cpp projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/NSDictionary.cpp projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/NSSet.cpp projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategory.cpp projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategoryMap.cpp projects/uefi/contrib/llvm/tools/lldb/source/Expression/ClangFunction.cpp projects/uefi/contrib/llvm/tools/lldb/source/Expression/ClangUserExpression.cpp projects/uefi/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp projects/uefi/contrib/llvm/tools/lldb/source/Host/common/File.cpp projects/uefi/contrib/llvm/tools/lldb/source/Host/common/FileSpec.cpp projects/uefi/contrib/llvm/tools/lldb/source/Host/common/Host.cpp projects/uefi/contrib/llvm/tools/lldb/source/Host/common/OptionParser.cpp projects/uefi/contrib/llvm/tools/lldb/source/Interpreter/Args.cpp projects/uefi/contrib/llvm/tools/lldb/source/Interpreter/CommandInterpreter.cpp projects/uefi/contrib/llvm/tools/lldb/source/Interpreter/PythonDataObjects.cpp projects/uefi/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreterPython.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_x86_64.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h projects/uefi/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp projects/uefi/contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp projects/uefi/contrib/llvm/tools/lldb/source/Target/Platform.cpp projects/uefi/contrib/llvm/tools/lldb/source/Target/Process.cpp projects/uefi/contrib/llvm/tools/lldb/source/Target/RegisterContext.cpp projects/uefi/contrib/llvm/tools/lldb/source/Target/StackFrameList.cpp projects/uefi/contrib/llvm/tools/lldb/source/Target/SystemRuntime.cpp projects/uefi/contrib/llvm/tools/lldb/source/Target/Target.cpp projects/uefi/contrib/llvm/tools/lldb/source/Target/Thread.cpp projects/uefi/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp projects/uefi/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallUserExpression.cpp projects/uefi/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepInRange.cpp projects/uefi/contrib/llvm/tools/lldb/source/Utility/StringExtractor.cpp projects/uefi/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.cpp projects/uefi/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.h projects/uefi/contrib/llvm/tools/lldb/source/lldb.cpp projects/uefi/contrib/llvm/tools/lldb/tools/lldb-platform/lldb-platform.cpp projects/uefi/contrib/mdocml/lib.in projects/uefi/etc/Makefile projects/uefi/etc/gettytab projects/uefi/etc/mtree/BSD.root.dist projects/uefi/etc/pf.os projects/uefi/etc/rc projects/uefi/etc/services projects/uefi/lib/Makefile projects/uefi/lib/clang/liblldbAPI/Makefile projects/uefi/lib/clang/liblldbPluginProcessFreeBSD/Makefile projects/uefi/lib/clang/liblldbPluginProcessUtility/Makefile projects/uefi/lib/libc/sparc64/fpu/fpu.c projects/uefi/lib/libc/sparc64/fpu/fpu_sqrt.c projects/uefi/lib/libc/sys/chmod.2 projects/uefi/lib/libc/sys/pdfork.2 projects/uefi/lib/libc/sys/wait.2 projects/uefi/lib/libc/xdr/xdr_rec.c projects/uefi/lib/libstand/libstand.3 projects/uefi/libexec/Makefile projects/uefi/release/Makefile projects/uefi/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/uefi/release/release.sh projects/uefi/release/scripts/pkg-stage.sh projects/uefi/sbin/Makefile projects/uefi/sbin/mdconfig/mdconfig.8 projects/uefi/sbin/mdconfig/mdconfig.c projects/uefi/sbin/route/route.c projects/uefi/share/man/man4/capsicum.4 projects/uefi/share/man/man4/procdesc.4 projects/uefi/share/man/man5/src.conf.5 projects/uefi/share/man/man7/development.7 projects/uefi/share/man/man7/release.7 projects/uefi/share/mk/bsd.libnames.mk projects/uefi/share/mk/bsd.own.mk projects/uefi/sys/amd64/conf/GENERIC projects/uefi/sys/amd64/include/vmm.h (contents, props changed) projects/uefi/sys/amd64/pci/pci_cfgreg.c projects/uefi/sys/amd64/vmm/intel/vmcs.h projects/uefi/sys/amd64/vmm/intel/vmx.c projects/uefi/sys/amd64/vmm/intel/vmx_controls.h projects/uefi/sys/amd64/vmm/intel/vtd.c projects/uefi/sys/amd64/vmm/vmm.c projects/uefi/sys/amd64/vmm/vmm_lapic.c projects/uefi/sys/arm/arm/db_trace.c projects/uefi/sys/arm/arm/locore.S projects/uefi/sys/arm/arm/pl190.c projects/uefi/sys/arm/arm/pmap-v6.c projects/uefi/sys/arm/at91/at91_pioreg.h projects/uefi/sys/arm/at91/files.at91 projects/uefi/sys/arm/at91/if_macbvar.h projects/uefi/sys/arm/broadcom/bcm2835/bcm2835_dma.c projects/uefi/sys/arm/econa/if_ece.c projects/uefi/sys/arm/freescale/imx/imx6_anatopreg.h projects/uefi/sys/arm/freescale/imx/imx6_usbphy.c projects/uefi/sys/arm/freescale/imx/imx_gptreg.h projects/uefi/sys/arm/freescale/vybrid/vf_anadig.c projects/uefi/sys/arm/freescale/vybrid/vf_ccm.c projects/uefi/sys/arm/freescale/vybrid/vf_ehci.c projects/uefi/sys/arm/include/armreg.h projects/uefi/sys/arm/lpc/if_lpereg.h projects/uefi/sys/arm/lpc/lpcreg.h projects/uefi/sys/arm/mv/mv_pci.c projects/uefi/sys/arm/samsung/exynos/ehci_exynos5.c projects/uefi/sys/arm/xscale/i8134x/i81342reg.h projects/uefi/sys/arm/xscale/ixp425/ixp425reg.h projects/uefi/sys/boot/arm/at91/libat91/mci_device.h projects/uefi/sys/boot/i386/libfirewire/fwohci.h projects/uefi/sys/boot/i386/libfirewire/fwohcireg.h projects/uefi/sys/cam/ctl/ctl_backend_block.c projects/uefi/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c projects/uefi/sys/cddl/compat/opensolaris/sys/vm.h projects/uefi/sys/cddl/contrib/opensolaris/uts/common/Makefile.files projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/uefi/sys/compat/freebsd32/freebsd32_misc.c projects/uefi/sys/conf/NOTES projects/uefi/sys/conf/files.i386 projects/uefi/sys/conf/files.powerpc projects/uefi/sys/conf/kern.pre.mk projects/uefi/sys/conf/options projects/uefi/sys/conf/options.amd64 projects/uefi/sys/dev/aac/aacvar.h projects/uefi/sys/dev/acpica/acpi_video.c projects/uefi/sys/dev/agp/agp_i810.c projects/uefi/sys/dev/ahci/ahci.h projects/uefi/sys/dev/bge/if_bge.c projects/uefi/sys/dev/bge/if_bgereg.h projects/uefi/sys/dev/bktr/bktr_core.c projects/uefi/sys/dev/cesa/cesa.h projects/uefi/sys/dev/cxgbe/common/common.h projects/uefi/sys/dev/cxgbe/common/t4_hw.c projects/uefi/sys/dev/cxgbe/t4_ioctl.h projects/uefi/sys/dev/cxgbe/t4_main.c projects/uefi/sys/dev/drm/i915_reg.h projects/uefi/sys/dev/drm/mach64_drv.h projects/uefi/sys/dev/drm/mga_drv.h projects/uefi/sys/dev/drm/r128_drv.h projects/uefi/sys/dev/drm/r300_reg.h projects/uefi/sys/dev/drm/r600_blit.c projects/uefi/sys/dev/drm/radeon_cp.c projects/uefi/sys/dev/drm/radeon_drv.h projects/uefi/sys/dev/drm/via_irq.c projects/uefi/sys/dev/drm2/drm_pci.c projects/uefi/sys/dev/drm2/radeon/evergreen_blit_kms.c projects/uefi/sys/dev/drm2/radeon/evergreen_cs.c projects/uefi/sys/dev/drm2/radeon/evergreend.h projects/uefi/sys/dev/drm2/radeon/nid.h projects/uefi/sys/dev/drm2/radeon/r200.c projects/uefi/sys/dev/drm2/radeon/r300.c projects/uefi/sys/dev/drm2/radeon/r300_reg.h projects/uefi/sys/dev/drm2/radeon/r500_reg.h projects/uefi/sys/dev/drm2/radeon/r600_blit.c projects/uefi/sys/dev/drm2/radeon/r600_blit_kms.c projects/uefi/sys/dev/drm2/radeon/r600_cs.c projects/uefi/sys/dev/drm2/radeon/r600d.h projects/uefi/sys/dev/drm2/radeon/radeon_cp.c projects/uefi/sys/dev/drm2/radeon/radeon_drv.h projects/uefi/sys/dev/drm2/radeon/radeon_reg.h projects/uefi/sys/dev/drm2/radeon/rv770d.h projects/uefi/sys/dev/drm2/radeon/sid.h projects/uefi/sys/dev/drm2/ttm/ttm_bo.c projects/uefi/sys/dev/e1000/e1000_82575.h projects/uefi/sys/dev/e1000/e1000_ich8lan.c projects/uefi/sys/dev/e1000/e1000_regs.h projects/uefi/sys/dev/etherswitch/arswitch/arswitchreg.h projects/uefi/sys/dev/ffec/if_ffecreg.h projects/uefi/sys/dev/firewire/firewire.c projects/uefi/sys/dev/firewire/fwohci.c projects/uefi/sys/dev/firewire/fwohcireg.h projects/uefi/sys/dev/firewire/sbp.c projects/uefi/sys/dev/firewire/sbp.h projects/uefi/sys/dev/firewire/sbp_targ.c projects/uefi/sys/dev/hatm/if_hatmreg.h projects/uefi/sys/dev/hwpmc/hwpmc_piv.h projects/uefi/sys/dev/iscsi/iscsi.c projects/uefi/sys/dev/iwn/if_iwn.c projects/uefi/sys/dev/iwn/if_iwnreg.h projects/uefi/sys/dev/iwn/if_iwnvar.h projects/uefi/sys/dev/md/md.c projects/uefi/sys/dev/mge/if_mgevar.h projects/uefi/sys/dev/mpt/mpt_cam.c projects/uefi/sys/dev/msk/if_mskreg.h projects/uefi/sys/dev/mvs/mvs.h projects/uefi/sys/dev/mxge/mxge_mcp.h projects/uefi/sys/dev/nand/nandbus.c projects/uefi/sys/dev/oce/oce_if.c projects/uefi/sys/dev/oce/oce_if.h projects/uefi/sys/dev/oce/oce_mbox.c projects/uefi/sys/dev/oce/oce_sysctl.c projects/uefi/sys/dev/ofw/ofw_fdt.c projects/uefi/sys/dev/qlxge/qls_dump.c projects/uefi/sys/dev/ral/rt2560reg.h projects/uefi/sys/dev/ral/rt2661reg.h projects/uefi/sys/dev/ral/rt2860reg.h projects/uefi/sys/dev/sound/pci/hda/hdaa.h projects/uefi/sys/dev/uart/uart_cpu_powerpc.c projects/uefi/sys/dev/usb/controller/ehci.h projects/uefi/sys/dev/usb/usb_busdma.c projects/uefi/sys/dev/usb/wlan/if_rsu.c projects/uefi/sys/dev/usb/wlan/if_rum.c projects/uefi/sys/dev/usb/wlan/if_rumreg.h projects/uefi/sys/dev/usb/wlan/if_run.c projects/uefi/sys/dev/usb/wlan/if_runreg.h projects/uefi/sys/dev/usb/wlan/if_runvar.h projects/uefi/sys/dev/usb/wlan/if_ural.c projects/uefi/sys/dev/usb/wlan/if_uralreg.h projects/uefi/sys/dev/usb/wlan/if_urtw.c projects/uefi/sys/dev/usb/wlan/if_urtwreg.h projects/uefi/sys/dev/usb/wlan/if_zydreg.h projects/uefi/sys/dev/wpi/if_wpireg.h projects/uefi/sys/fs/ext2fs/ext2_dinode.h projects/uefi/sys/geom/raid/tr_raid1e.c projects/uefi/sys/i386/conf/GENERIC projects/uefi/sys/i386/conf/NOTES projects/uefi/sys/i386/pci/pci_cfgreg.c projects/uefi/sys/ia64/conf/GENERIC projects/uefi/sys/kern/kern_descrip.c projects/uefi/sys/kern/kern_exit.c projects/uefi/sys/kern/kern_fork.c projects/uefi/sys/kern/kern_mib.c projects/uefi/sys/kern/kern_shutdown.c projects/uefi/sys/kern/kern_sig.c projects/uefi/sys/kern/makesyscalls.sh projects/uefi/sys/kern/sched_ule.c projects/uefi/sys/kern/sys_procdesc.c projects/uefi/sys/kern/uipc_syscalls.c projects/uefi/sys/libkern/iconv.c projects/uefi/sys/mips/atheros/ar71xxreg.h projects/uefi/sys/mips/atheros/ar934xreg.h projects/uefi/sys/mips/atheros/if_argevar.h projects/uefi/sys/mips/malta/gt_pci.c projects/uefi/sys/mips/nlm/dev/net/nae.c projects/uefi/sys/mips/nlm/xlp_machdep.c projects/uefi/sys/mips/rmi/pic.h projects/uefi/sys/modules/Makefile projects/uefi/sys/net80211/ieee80211_scan.c projects/uefi/sys/net80211/ieee80211_scan_sta.c projects/uefi/sys/netinet/sctp_bsd_addr.c projects/uefi/sys/netinet/sctp_pcb.c projects/uefi/sys/netinet/tcp_input.c projects/uefi/sys/ofed/drivers/infiniband/hw/mlx4/qp.c projects/uefi/sys/ofed/drivers/infiniband/hw/mthca/mthca_mcg.c projects/uefi/sys/ofed/drivers/infiniband/hw/mthca/mthca_qp.c projects/uefi/sys/ofed/drivers/net/mlx4/mcg.c projects/uefi/sys/pc98/conf/GENERIC projects/uefi/sys/powerpc/aim/trap_subr32.S projects/uefi/sys/powerpc/aim/trap_subr64.S projects/uefi/sys/powerpc/booke/platform_bare.c projects/uefi/sys/powerpc/conf/GENERIC projects/uefi/sys/powerpc/fpu/fpu_emu.c projects/uefi/sys/powerpc/fpu/fpu_sqrt.c projects/uefi/sys/powerpc/include/fdt.h projects/uefi/sys/powerpc/include/ofw_machdep.h projects/uefi/sys/powerpc/mpc85xx/platform_mpc85xx.c projects/uefi/sys/powerpc/ofw/ofw_machdep.c projects/uefi/sys/powerpc/powermac/nvbl.c projects/uefi/sys/powerpc/powermac/platform_powermac.c projects/uefi/sys/powerpc/powerpc/copyinout.c projects/uefi/sys/powerpc/powerpc/cpu.c projects/uefi/sys/powerpc/powerpc/platform.c projects/uefi/sys/powerpc/powerpc/platform_if.m projects/uefi/sys/powerpc/ps3/platform_ps3.c projects/uefi/sys/powerpc/pseries/platform_chrp.c projects/uefi/sys/powerpc/wii/platform_wii.c projects/uefi/sys/sparc64/conf/GENERIC projects/uefi/sys/sys/consio.h projects/uefi/sys/sys/file.h projects/uefi/sys/sys/ktr.h projects/uefi/sys/sys/lock.h projects/uefi/sys/sys/mdioctl.h projects/uefi/sys/ufs/ffs/ffs_softdep.c projects/uefi/sys/vm/uma_core.c projects/uefi/sys/x86/iommu/intel_reg.h projects/uefi/tools/build/options/WITHOUT_PKGBOOTSTRAP projects/uefi/tools/test/dtrace/Makefile projects/uefi/usr.bin/script/script.1 projects/uefi/usr.bin/script/script.c projects/uefi/usr.bin/yacc/Makefile projects/uefi/usr.sbin/bhyveload/bhyveload.8 projects/uefi/usr.sbin/bluetooth/bthidd/kbd.c projects/uefi/usr.sbin/bsdconfig/includes/includes projects/uefi/usr.sbin/bsdconfig/share/common.subr projects/uefi/usr.sbin/bsdinstall/scripts/zfsboot projects/uefi/usr.sbin/ctld/ctl.conf.5 projects/uefi/usr.sbin/ctld/parse.y projects/uefi/usr.sbin/mfiutil/mfi_show.c projects/uefi/usr.sbin/rwhod/rwhod.c Directory Properties: projects/uefi/ (props changed) projects/uefi/cddl/ (props changed) projects/uefi/cddl/contrib/opensolaris/ (props changed) projects/uefi/contrib/gcc/ (props changed) projects/uefi/contrib/llvm/ (props changed) projects/uefi/contrib/llvm/tools/lldb/ (props changed) projects/uefi/lib/libc/ (props changed) projects/uefi/sbin/ (props changed) projects/uefi/share/man/man4/ (props changed) projects/uefi/sys/ (props changed) projects/uefi/sys/amd64/vmm/ (props changed) projects/uefi/sys/boot/ (props changed) projects/uefi/sys/cddl/contrib/opensolaris/ (props changed) projects/uefi/sys/conf/ (props changed) projects/uefi/usr.sbin/bhyveload/ (props changed) Modified: projects/uefi/Makefile.inc1 ============================================================================== --- projects/uefi/Makefile.inc1 Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/Makefile.inc1 Thu Dec 5 16:43:53 2013 (r258991) @@ -1499,13 +1499,14 @@ _prebuild_libs= ${_kerberos5_lib_libasn1 lib/libbz2 ${_libcom_err} lib/libcrypt \ lib/libelf lib/libexpat \ ${_lib_libgssapi} ${_lib_libipx} \ - lib/libkiconv lib/libkvm lib/liblzma lib/libmd \ + lib/libkiconv lib/libkvm lib/liblzma lib/libmd lib/libnv \ + ${_lib_libcapsicum} \ lib/ncurses/ncurses lib/ncurses/ncursesw \ lib/libopie lib/libpam ${_lib_libthr} \ lib/libradius lib/libsbuf lib/libtacplus \ ${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \ ${_cddl_lib_libzfs_core} \ - lib/libutil ${_lib_libypclnt} lib/libz lib/msun \ + lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \ ${_secure_lib_libcrypto} ${_lib_libldns} \ ${_secure_lib_libssh} ${_secure_lib_libssl} @@ -1521,6 +1522,13 @@ _lib_libthr= lib/libthr _ofed_lib= contrib/ofed/usr.lib/ .endif +.if ${MK_CASPER} != "no" +_lib_libcapsicum=lib/libcapsicum +.endif + +lib/libcapsicum__L: lib/libnv__L +lib/libpjdlog__L: lib/libutil__L + _generic_libs= ${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib ${_ofed_lib} .for _DIR in ${LOCAL_LIB_DIRS} .if exists(${.CURDIR}/${_DIR}/Makefile) Modified: projects/uefi/ObsoleteFiles.inc ============================================================================== --- projects/uefi/ObsoleteFiles.inc Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/ObsoleteFiles.inc Thu Dec 5 16:43:53 2013 (r258991) @@ -38,6 +38,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20131202: libcapsicum and libcasper moved to /lib/ +OLD_LIBS+=usr/lib/libcapsicum.so.0 +OLD_LIBS+=usr/lib/libcasper.so.0 # 20131109: extattr(2) mlinks fixed OLD_FILES+=usr/share/man/man2/extattr_delete_list.2.gz OLD_FILES+=usr/share/man/man2/extattr_get_list.2.gz Modified: projects/uefi/UPDATING ============================================================================== --- projects/uefi/UPDATING Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/UPDATING Thu Dec 5 16:43:53 2013 (r258991) @@ -79,7 +79,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 available in the ports tree. The dns/bind99 port is one example. With this change, nslookup(1) and dig(1) are no longer in the base - system. Users should instead use host(1) which is still + system. Users should instead use host(1) and drill(1) which are in the base system. Alternatively, nslookup and dig can be obtained by installing the dns/bind-tools port. Modified: projects/uefi/bin/sh/cd.c ============================================================================== --- projects/uefi/bin/sh/cd.c Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/bin/sh/cd.c Thu Dec 5 16:43:53 2013 (r258991) @@ -182,6 +182,7 @@ cdlogical(char *dest) struct stat statb; int first; int badstat; + size_t len; /* * Check each component of the path. If we find a symlink or @@ -189,8 +190,9 @@ cdlogical(char *dest) * next time we get the value of the current directory. */ badstat = 0; - cdcomppath = stalloc(strlen(dest) + 1); - scopy(dest, cdcomppath); + len = strlen(dest); + cdcomppath = stalloc(len + 1); + memcpy(cdcomppath, dest, len + 1); STARTSTACKSTR(p); if (*dest == '/') { STPUTC('/', p); @@ -275,6 +277,7 @@ findcwd(char *dir) { char *new; char *p; + size_t len; /* * If our argument is NULL, we don't know the current directory @@ -283,8 +286,9 @@ findcwd(char *dir) */ if (dir == NULL || curdir == NULL) return getpwd2(); - cdcomppath = stalloc(strlen(dir) + 1); - scopy(dir, cdcomppath); + len = strlen(dir); + cdcomppath = stalloc(len + 1); + memcpy(cdcomppath, dir, len + 1); STARTSTACKSTR(new); if (*dir != '/') { STPUTS(curdir, new); Modified: projects/uefi/bin/sh/exec.c ============================================================================== --- projects/uefi/bin/sh/exec.c Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/bin/sh/exec.c Thu Dec 5 16:43:53 2013 (r258991) @@ -187,14 +187,15 @@ padvance(const char **path, const char * { const char *p, *start; char *q; - size_t len; + size_t len, namelen; if (*path == NULL) return NULL; start = *path; for (p = start; *p && *p != ':' && *p != '%'; p++) ; /* nothing */ - len = p - start + strlen(name) + 2; /* "2" is for '/' and '\0' */ + namelen = strlen(name); + len = p - start + namelen + 2; /* "2" is for '/' and '\0' */ STARTSTACKSTR(q); CHECKSTRSPACE(len, q); if (p != start) { @@ -202,7 +203,7 @@ padvance(const char **path, const char * q += p - start; *q++ = '/'; } - strcpy(q, name); + memcpy(q, name, namelen + 1); pathopt = NULL; if (*p == '%') { pathopt = ++p; @@ -527,6 +528,7 @@ cmdlookup(const char *name, int add) const char *p; struct tblentry *cmdp; struct tblentry **pp; + size_t len; p = name; hashval = *p << 4; @@ -541,11 +543,11 @@ cmdlookup(const char *name, int add) } if (add && cmdp == NULL) { INTOFF; - cmdp = *pp = ckmalloc(sizeof (struct tblentry) - + strlen(name) + 1); + len = strlen(name); + cmdp = *pp = ckmalloc(sizeof (struct tblentry) + len + 1); cmdp->next = NULL; cmdp->cmdtype = CMDUNKNOWN; - strcpy(cmdp->cmdname, name); + memcpy(cmdp->cmdname, name, len + 1); INTON; } lastcmdentry = pp; Modified: projects/uefi/bin/sh/expand.c ============================================================================== --- projects/uefi/bin/sh/expand.c Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/bin/sh/expand.c Thu Dec 5 16:43:53 2013 (r258991) @@ -1307,9 +1307,11 @@ addfname(char *name) { char *p; struct strlist *sp; + size_t len; - p = stalloc(strlen(name) + 1); - scopy(name, p); + len = strlen(name); + p = stalloc(len + 1); + memcpy(p, name, len + 1); sp = (struct strlist *)stalloc(sizeof *sp); sp->text = p; *exparg.lastp = sp; Modified: projects/uefi/bin/sh/memalloc.c ============================================================================== --- projects/uefi/bin/sh/memalloc.c Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/bin/sh/memalloc.c Thu Dec 5 16:43:53 2013 (r258991) @@ -98,9 +98,11 @@ char * savestr(const char *s) { char *p; + size_t len; - p = ckmalloc(strlen(s) + 1); - scopy(s, p); + len = strlen(s); + p = ckmalloc(len + 1); + memcpy(p, s, len + 1); return p; } Modified: projects/uefi/bin/sh/mystring.c ============================================================================== --- projects/uefi/bin/sh/mystring.c Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/bin/sh/mystring.c Thu Dec 5 16:43:53 2013 (r258991) @@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$"); * String functions. * * equal(s1, s2) Return true if strings are equal. - * scopy(from, to) Copy a string. * number(s) Convert a string of digits to an integer. * is_number(s) Return true if s is a string of digits. */ @@ -60,10 +59,6 @@ char nullstr[1]; /* zero length string * equal - #defined in mystring.h */ -/* - * scopy - #defined in mystring.h - */ - /* * prefix -- see if pfx is a prefix of string. Modified: projects/uefi/bin/sh/mystring.h ============================================================================== --- projects/uefi/bin/sh/mystring.h Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/bin/sh/mystring.h Thu Dec 5 16:43:53 2013 (r258991) @@ -40,4 +40,3 @@ int number(const char *); int is_number(const char *); #define equal(s1, s2) (strcmp(s1, s2) == 0) -#define scopy(s1, s2) ((void)strcpy(s2, s1)) Modified: projects/uefi/bin/sh/show.c ============================================================================== --- projects/uefi/bin/sh/show.c Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/bin/sh/show.c Thu Dec 5 16:43:53 2013 (r258991) @@ -390,11 +390,11 @@ opentrace(void) else p = "/tmp"; } - scopy(p, s); + strcpy(s, p); strcat(s, "/trace"); } #else - scopy("./trace", s); + strcpy(s, "./trace"); #endif /* not_this_way */ if ((tracefile = fopen(s, "a")) == NULL) { fprintf(stderr, "Can't open %s: %s\n", s, strerror(errno)); Modified: projects/uefi/bin/sh/var.c ============================================================================== --- projects/uefi/bin/sh/var.c Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/bin/sh/var.c Thu Dec 5 16:43:53 2013 (r258991) @@ -224,8 +224,9 @@ void setvar(const char *name, const char *val, int flags) { const char *p; - int len; - int namelen; + size_t len; + size_t namelen; + size_t vallen; char *nameeq; int isbad; @@ -244,18 +245,20 @@ setvar(const char *name, const char *val } namelen = p - name; if (isbad) - error("%.*s: bad variable name", namelen, name); + error("%.*s: bad variable name", (int)namelen, name); len = namelen + 2; /* 2 is space for '=' and '\0' */ if (val == NULL) { flags |= VUNSET; + vallen = 0; } else { - len += strlen(val); + vallen = strlen(val); + len += vallen; } nameeq = ckmalloc(len); memcpy(nameeq, name, namelen); nameeq[namelen] = '='; if (val) - scopy(val, nameeq + namelen + 1); + memcpy(nameeq + namelen + 1, val, vallen + 1); else nameeq[namelen + 1] = '\0'; setvareq(nameeq, flags); Modified: projects/uefi/bin/test/test.c ============================================================================== --- projects/uefi/bin/test/test.c Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/bin/test/test.c Thu Dec 5 16:43:53 2013 (r258991) @@ -67,9 +67,18 @@ error(const char *msg, ...) operand ::= */ +enum token_types { + UNOP = 0x100, + BINOP = 0x200, + BUNOP = 0x300, + BBINOP = 0x400, + PAREN = 0x500 +}; + enum token { EOI, - FILRD, + OPERAND, + FILRD = UNOP + 1, FILWR, FILEX, FILEXIST, @@ -85,13 +94,13 @@ enum token { FILSUID, FILSGID, FILSTCK, - FILNT, - FILOT, - FILEQ, - FILUID, - FILGID, STREZ, STRNZ, + FILUID, + FILGID, + FILNT = BINOP + 1, + FILOT, + FILEQ, STREQ, STRNE, STRLT, @@ -102,70 +111,62 @@ enum token { INTGT, INTLE, INTLT, - UNOT, - BAND, + UNOT = BUNOP + 1, + BAND = BBINOP + 1, BOR, - LPAREN, - RPAREN, - OPERAND + LPAREN = PAREN + 1, + RPAREN }; -enum token_types { - UNOP, - BINOP, - BUNOP, - BBINOP, - PAREN -}; +#define TOKEN_TYPE(token) ((token) & 0xff00) static struct t_op { char op_text[4]; - short op_num, op_type; + short op_num; } const ops [] = { - {"-r", FILRD, UNOP}, - {"-w", FILWR, UNOP}, - {"-x", FILEX, UNOP}, - {"-e", FILEXIST,UNOP}, - {"-f", FILREG, UNOP}, - {"-d", FILDIR, UNOP}, - {"-c", FILCDEV,UNOP}, - {"-b", FILBDEV,UNOP}, - {"-p", FILFIFO,UNOP}, - {"-u", FILSUID,UNOP}, - {"-g", FILSGID,UNOP}, - {"-k", FILSTCK,UNOP}, - {"-s", FILGZ, UNOP}, - {"-t", FILTT, UNOP}, - {"-z", STREZ, UNOP}, - {"-n", STRNZ, UNOP}, - {"-h", FILSYM, UNOP}, /* for backwards compat */ - {"-O", FILUID, UNOP}, - {"-G", FILGID, UNOP}, - {"-L", FILSYM, UNOP}, - {"-S", FILSOCK,UNOP}, - {"=", STREQ, BINOP}, - {"==", STREQ, BINOP}, - {"!=", STRNE, BINOP}, - {"<", STRLT, BINOP}, - {">", STRGT, BINOP}, - {"-eq", INTEQ, BINOP}, - {"-ne", INTNE, BINOP}, - {"-ge", INTGE, BINOP}, - {"-gt", INTGT, BINOP}, - {"-le", INTLE, BINOP}, - {"-lt", INTLT, BINOP}, - {"-nt", FILNT, BINOP}, - {"-ot", FILOT, BINOP}, - {"-ef", FILEQ, BINOP}, - {"!", UNOT, BUNOP}, - {"-a", BAND, BBINOP}, - {"-o", BOR, BBINOP}, - {"(", LPAREN, PAREN}, - {")", RPAREN, PAREN}, - {"", 0, 0} + {"-r", FILRD}, + {"-w", FILWR}, + {"-x", FILEX}, + {"-e", FILEXIST}, + {"-f", FILREG}, + {"-d", FILDIR}, + {"-c", FILCDEV}, + {"-b", FILBDEV}, + {"-p", FILFIFO}, + {"-u", FILSUID}, + {"-g", FILSGID}, + {"-k", FILSTCK}, + {"-s", FILGZ}, + {"-t", FILTT}, + {"-z", STREZ}, + {"-n", STRNZ}, + {"-h", FILSYM}, /* for backwards compat */ + {"-O", FILUID}, + {"-G", FILGID}, + {"-L", FILSYM}, + {"-S", FILSOCK}, + {"=", STREQ}, + {"==", STREQ}, + {"!=", STRNE}, + {"<", STRLT}, + {">", STRGT}, + {"-eq", INTEQ}, + {"-ne", INTNE}, + {"-ge", INTGE}, + {"-gt", INTGT}, + {"-le", INTLE}, + {"-lt", INTLT}, + {"-nt", FILNT}, + {"-ot", FILOT}, + {"-ef", FILEQ}, + {"!", UNOT}, + {"-a", BAND}, + {"-o", BOR}, + {"(", LPAREN}, + {")", RPAREN}, + {"", 0} }; -static struct t_op const *t_wp_op; static int nargc; static char **t_wp; static int parenlevel; @@ -295,10 +296,10 @@ primary(enum token n) parenlevel--; return res; } - if (t_wp_op && t_wp_op->op_type == UNOP) { + if (TOKEN_TYPE(n) == UNOP) { /* unary expression */ if (--nargc == 0) - syntax(t_wp_op->op_text, "argument expected"); + syntax(NULL, "argument expected"); /* impossible */ switch (n) { case STREZ: return strlen(*++t_wp) == 0; @@ -311,10 +312,8 @@ primary(enum token n) } } - if (t_lex(nargc > 0 ? t_wp[1] : NULL), t_wp_op && t_wp_op->op_type == - BINOP) { + if (TOKEN_TYPE(t_lex(nargc > 0 ? t_wp[1] : NULL)) == BINOP) return binop(); - } return strlen(*t_wp) > 0; } @@ -322,17 +321,17 @@ primary(enum token n) static int binop(void) { - const char *opnd1, *opnd2; - struct t_op const *op; + const char *opnd1, *op, *opnd2; + enum token n; opnd1 = *t_wp; - (void) t_lex(nargc > 0 ? (--nargc, *++t_wp) : NULL); - op = t_wp_op; + op = nargc > 0 ? t_wp[1] : NULL; + n = t_lex(nargc > 0 ? (--nargc, *++t_wp) : NULL); if ((opnd2 = nargc > 0 ? (--nargc, *++t_wp) : NULL) == NULL) - syntax(op->op_text, "argument expected"); + syntax(op, "argument expected"); - switch (op->op_num) { + switch (n) { case STREQ: return strcmp(opnd1, opnd2) == 0; case STRNE: @@ -424,22 +423,20 @@ t_lex(char *s) struct t_op const *op = ops; if (s == 0) { - t_wp_op = NULL; return EOI; } while (*op->op_text) { if (strcmp(s, op->op_text) == 0) { - if (((op->op_type == UNOP || op->op_type == BUNOP) + if (((TOKEN_TYPE(op->op_num) == UNOP || + TOKEN_TYPE(op->op_num) == BUNOP) && isunopoperand()) || (op->op_num == LPAREN && islparenoperand()) || (op->op_num == RPAREN && isrparenoperand())) break; - t_wp_op = op; return op->op_num; } op++; } - t_wp_op = NULL; return OPERAND; } @@ -458,7 +455,7 @@ isunopoperand(void) t = *(t_wp + 2); while (*op->op_text) { if (strcmp(s, op->op_text) == 0) - return op->op_type == BINOP && + return TOKEN_TYPE(op->op_num) == BINOP && (parenlevel == 0 || t[0] != ')' || t[1] != '\0'); op++; } @@ -480,7 +477,7 @@ islparenoperand(void) return 0; while (*op->op_text) { if (strcmp(s, op->op_text) == 0) - return op->op_type == BINOP; + return TOKEN_TYPE(op->op_num) == BINOP; op++; } return 0; Modified: projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh ============================================================================== --- projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh Thu Dec 5 16:43:53 2013 (r258991) @@ -64,7 +64,7 @@ child=$! # ksh doing work. (This actually goes one step further and assumes that we # catch some non-static function in ksh.) # -script | tee /dev/fd/2 | grep 'ksh`[a-zA-Z_]' > /dev/null +script | tee /dev/fd/2 | egrep 'ksh(93)?`[a-zA-Z_]' > /dev/null status=$? kill $child Modified: projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh ============================================================================== --- projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh Thu Dec 5 16:43:53 2013 (r258991) @@ -62,7 +62,7 @@ child=$! # # The only thing we can be sure of here is that ksh is doing some work. # -script | tee /dev/fd/2 | grep -w ksh > /dev/null +script | tee /dev/fd/2 | egrep -w 'ksh(93)?' > /dev/null status=$? kill $child Modified: projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh ============================================================================== --- projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh Thu Dec 5 16:43:53 2013 (r258991) @@ -63,7 +63,7 @@ child=$! # This test is essentially the same as that in the ufunc test; see that # test for the rationale. # -script | tee /dev/fd/2 | grep 'ksh`[a-zA-Z_]' > /dev/null +script | tee /dev/fd/2 | egrep 'ksh(93)?`[a-zA-Z_]' > /dev/null status=$? kill $child Modified: projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Thu Dec 5 16:43:53 2013 (r258991) @@ -1709,8 +1709,6 @@ dtrace_program_link(dtrace_hdl_t *dtp, d */ return (0); } - /* XXX Should get a temp file name here. */ - snprintf(tfile, sizeof(tfile), "%s.tmp", file); #endif /* @@ -1785,9 +1783,11 @@ dtrace_program_link(dtrace_hdl_t *dtp, d "failed to open %s: %s", file, strerror(errno))); } #else - if ((fd = open(tfile, O_RDWR | O_CREAT | O_TRUNC, 0666)) == -1) + snprintf(tfile, sizeof(tfile), "%s.XXXXXX", file); + if ((fd = mkstemp(tfile)) == -1) return (dt_link_error(dtp, NULL, -1, NULL, - "failed to open %s: %s", tfile, strerror(errno))); + "failed to create temporary file %s: %s", + tfile, strerror(errno))); #endif /* @@ -1830,13 +1830,15 @@ dtrace_program_link(dtrace_hdl_t *dtp, d status = dump_elf32(dtp, dof, fd); if (status != 0 || lseek(fd, 0, SEEK_SET) != 0) { -#else - /* We don't write the ELF header, just the DOF section */ - if (dt_write(dtp, fd, dof, dof->dofh_filesz) < dof->dofh_filesz) { -#endif return (dt_link_error(dtp, NULL, -1, NULL, "failed to write %s: %s", file, strerror(errno))); } +#else + /* We don't write the ELF header, just the DOF section */ + if (dt_write(dtp, fd, dof, dof->dofh_filesz) < dof->dofh_filesz) + return (dt_link_error(dtp, NULL, -1, NULL, + "failed to write %s: %s", tfile, strerror(errno))); +#endif if (!dtp->dt_lazyload) { #if defined(sun) Modified: projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c ============================================================================== --- projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c Thu Dec 5 16:43:53 2013 (r258991) @@ -487,22 +487,16 @@ static const dt_ident_t _dtrace_globals[ DT_VERS_1_0, &dt_idops_func, "void(...)" }, { "typeref", DT_IDENT_FUNC, 0, DIF_SUBR_TYPEREF, DT_ATTR_STABCMN, DT_VERS_1_1, &dt_idops_func, "uintptr_t *(void *, size_t, string, size_t)" }, -#if defined(sun) { "uaddr", DT_IDENT_ACTFUNC, 0, DT_ACT_UADDR, DT_ATTR_STABCMN, DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" }, -#endif { "ucaller", DT_IDENT_SCALAR, 0, DIF_VAR_UCALLER, DT_ATTR_STABCMN, DT_VERS_1_2, &dt_idops_type, "uint64_t" }, -#if defined(sun) { "ufunc", DT_IDENT_ACTFUNC, 0, DT_ACT_USYM, DT_ATTR_STABCMN, DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" }, -#endif { "uid", DT_IDENT_SCALAR, 0, DIF_VAR_UID, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_type, "uid_t" }, -#if defined(sun) { "umod", DT_IDENT_ACTFUNC, 0, DT_ACT_UMOD, DT_ATTR_STABCMN, DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" }, -#endif { "uregs", DT_IDENT_ARRAY, 0, DIF_VAR_UREGS, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_regs, NULL }, { "ustack", DT_IDENT_ACTFUNC, 0, DT_ACT_USTACK, DT_ATTR_STABCMN, DT_VERS_1_0, @@ -510,10 +504,8 @@ static const dt_ident_t _dtrace_globals[ { "ustackdepth", DT_IDENT_SCALAR, 0, DIF_VAR_USTACKDEPTH, DT_ATTR_STABCMN, DT_VERS_1_2, &dt_idops_type, "uint32_t" }, -#if defined(sun) { "usym", DT_IDENT_ACTFUNC, 0, DT_ACT_USYM, DT_ATTR_STABCMN, DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" }, -#endif { "vtimestamp", DT_IDENT_SCALAR, 0, DIF_VAR_VTIMESTAMP, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_type, "uint64_t" }, Modified: projects/uefi/contrib/gcc/ChangeLog.gcc43 ============================================================================== --- projects/uefi/contrib/gcc/ChangeLog.gcc43 Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/contrib/gcc/ChangeLog.gcc43 Thu Dec 5 16:43:53 2013 (r258991) @@ -4,18 +4,67 @@ * config/arm/unwind-arm.h (__gnu_Unwind_Backtrace): New. * config/arm/unwind-arm.c (__gnu_Unwind_Backtrace): New. +2007-07-12 Geoffrey Keating (r126588) + + * builtins.c (get_pointer_alignment): Honor DECL_ALIGN on a + FUNCTION_DECL. + * tree.c (build_decl_stat): Move code from here... + (make_node_stat): ... to here. Don't uselessly clear DECL_USER_ALIGN. + (expr_align): Honor DECL_ALIGN on a FUNCTION_DECL. Add comment + about using DECL_ALIGN of LABEL_DECL and CONST_DECL. + * tree.h (DECL_USER_ALIGN): Fix misplaced comment. + * varasm.c (assemble_start_function): Use DECL_ALIGN instead of + FUNCTION_BOUNDARY. + +2007-07-09 Geoffrey Keating (r126529) + + PR 32617 + * c-common.c (c_alignof_expr): Look at DECL_ALIGN of + FUNCTION_DECLs. + (handle_aligned_attribute): Allow use on FUNCTION_DECLs. + * varasm.c (assemble_start_function): Honor DECL_ALIGN + for FUNCTION_DECLs. Don't use align_functions_log if + DECL_USER_ALIGN. + * print-tree.c (print_node): Print DECL_ALIGN and DECL_USER_ALIGN + even for FUNCTION_DECLs. + * c-decl.c (merge_decls): Propagate DECL_ALIGN even for + FUNCTION_DECLs. + * tree.h (DECL_ALIGN): Update for new location of 'align'. + (DECL_FUNCTION_CODE): Update for new location and name of + 'function_code'. + (DECL_OFFSET_ALIGN): Update for new location of 'off_align'. + (struct tree_decl_common): Move 'align' and 'off_align' out + of union, ensure they're still on a 32-bit boundary. Remove + other fields in union 'u1'. + (struct tree_function_decl): Add field 'function_code' replacing + 'u1.f' in tree_decl_common. + * tree.c (build_decl_stat): Set initial value of DECL_ALIGN. + * doc/extend.texi (Function Attributes): Add 'aligned' attribute. + (Variable Attributes): Cross-reference 'aligned' attribute + to Function Attributes. + * flags.h (force_align_functions_log): Delete. + * toplev.c (force_align_functions_log): Delete. + 2007-06-05 Joerg Wunsch (r125346) PR preprocessor/23479 * doc/extend.texi: Document the 0b-prefixed binary integer constant extension. -2007-05-31 Eric Christopher +2007-05-31 Eric Christopher (r125246) * expr.c (convert_move): Assert that we don't have a BLKmode operand. (store_expr): Handle BLKmode moves by calling emit_block_move. +2007-05-27 Eric Christopher (r125116) + + * config/rs6000/rs6000.c (rs6000_emit_prologue): Update + sp_offset depending on stack size. Save r12 depending + on registers we're saving later. + (rs6000_emit_epilogue): Update sp_offset depending only + on stack size. + 2007-05-24 Richard Sandiford (r125037) * postreload-gcse.c (reg_changed_after_insn_p): New function. @@ -60,7 +109,7 @@ alignment for amdfam10 architecture. Increasing the max loop alignment to 24 bytes. -2007-04-16 Lawrence Crowl +2007-04-16 Lawrence Crowl (r123909) * doc/invoke.texi (Debugging Options): Add documentation for the -femit-struct-debug options -femit-struct-debug-baseonly, @@ -139,7 +188,7 @@ * config/i386/i386.c (override_options): Likewise. * doc/invoke.texi: Likewise. -2007-03-12 Seongbae Park +2007-03-12 Seongbae Park (r122851) * c-decl.c (warn_variable_length_array): New function. Refactored from grokdeclarator to handle warn_vla @@ -340,6 +389,16 @@ * config.gcc: Support core2 processor. +2007-01-05 Manuel Lopez-Ibanez (r120505) + + PR c/19978 + * tree.h (TREE_OVERFLOW_P): New. + * c-typeck.c (parser_build_unary_op): Warn only if result + overflowed and operands did not. + (parser_build_binary_op): Likewise. + (convert_for_assignment): Remove redundant overflow_warning. + * c-common.c (overflow_warning): Don't check or set TREE_OVERFLOW. + 2006-12-13 Ian Lance Taylor (r119855) PR c++/19564 Modified: projects/uefi/contrib/gcc/builtins.c ============================================================================== --- projects/uefi/contrib/gcc/builtins.c Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/contrib/gcc/builtins.c Thu Dec 5 16:43:53 2013 (r258991) @@ -315,9 +315,7 @@ get_pointer_alignment (tree exp, unsigne else if (offset) inner = MIN (inner, BITS_PER_UNIT); } - if (TREE_CODE (exp) == FUNCTION_DECL) - align = FUNCTION_BOUNDARY; - else if (DECL_P (exp)) + if (DECL_P (exp)) align = MIN (inner, DECL_ALIGN (exp)); #ifdef CONSTANT_ALIGNMENT else if (CONSTANT_CLASS_P (exp)) Modified: projects/uefi/contrib/gcc/c-common.c ============================================================================== --- projects/uefi/contrib/gcc/c-common.c Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/contrib/gcc/c-common.c Thu Dec 5 16:43:53 2013 (r258991) @@ -916,39 +916,45 @@ constant_expression_warning (tree value) pedwarn ("overflow in constant expression"); } -/* Print a warning if an expression had overflow in folding. +/* Print a warning if an expression had overflow in folding and its + operands hadn't. + Invoke this function on every expression that (1) appears in the source code, and - (2) might be a constant expression that overflowed, and + (2) is a constant expression that overflowed, and (3) is not already checked by convert_and_check; - however, do not invoke this function on operands of explicit casts. */ + however, do not invoke this function on operands of explicit casts + or when the expression is the result of an operator and any operand + already overflowed. */ void overflow_warning (tree value) { - if ((TREE_CODE (value) == INTEGER_CST - || (TREE_CODE (value) == COMPLEX_CST - && TREE_CODE (TREE_REALPART (value)) == INTEGER_CST)) - && TREE_OVERFLOW (value)) - { - TREE_OVERFLOW (value) = 0; - if (skip_evaluation == 0) - warning (OPT_Woverflow, "integer overflow in expression"); - } - else if ((TREE_CODE (value) == REAL_CST - || (TREE_CODE (value) == COMPLEX_CST - && TREE_CODE (TREE_REALPART (value)) == REAL_CST)) - && TREE_OVERFLOW (value)) - { - TREE_OVERFLOW (value) = 0; - if (skip_evaluation == 0) - warning (OPT_Woverflow, "floating point overflow in expression"); - } - else if (TREE_CODE (value) == VECTOR_CST && TREE_OVERFLOW (value)) - { - TREE_OVERFLOW (value) = 0; - if (skip_evaluation == 0) - warning (OPT_Woverflow, "vector overflow in expression"); + if (skip_evaluation) return; + + switch (TREE_CODE (value)) + { + case INTEGER_CST: + warning (OPT_Woverflow, "integer overflow in expression"); + break; + + case REAL_CST: + warning (OPT_Woverflow, "floating point overflow in expression"); + break; + + case VECTOR_CST: + warning (OPT_Woverflow, "vector overflow in expression"); + break; + + case COMPLEX_CST: + if (TREE_CODE (TREE_REALPART (value)) == INTEGER_CST) + warning (OPT_Woverflow, "complex integer overflow in expression"); + else if (TREE_CODE (TREE_REALPART (value)) == REAL_CST) + warning (OPT_Woverflow, "complex floating point overflow in expression"); + break; + + default: + break; } } @@ -2989,16 +2995,16 @@ c_sizeof_or_alignof_type (tree type, boo } /* Implement the __alignof keyword: Return the minimum required - alignment of EXPR, measured in bytes. For VAR_DECL's and - FIELD_DECL's return DECL_ALIGN (which can be set from an - "aligned" __attribute__ specification). */ + alignment of EXPR, measured in bytes. For VAR_DECLs, + FUNCTION_DECLs and FIELD_DECLs return DECL_ALIGN (which can be set + from an "aligned" __attribute__ specification). */ tree c_alignof_expr (tree expr) { tree t; - if (TREE_CODE (expr) == VAR_DECL) + if (VAR_OR_FUNCTION_DECL_P (expr)) t = size_int (DECL_ALIGN_UNIT (expr)); else if (TREE_CODE (expr) == COMPONENT_REF @@ -4803,12 +4809,24 @@ handle_aligned_attribute (tree *node, tr TYPE_ALIGN (*type) = (1 << i) * BITS_PER_UNIT; TYPE_USER_ALIGN (*type) = 1; } - else if (TREE_CODE (decl) != VAR_DECL + else if (! VAR_OR_FUNCTION_DECL_P (decl) && TREE_CODE (decl) != FIELD_DECL) { error ("alignment may not be specified for %q+D", decl); *no_add_attrs = true; } + else if (TREE_CODE (decl) == FUNCTION_DECL + && DECL_ALIGN (decl) > (1 << i) * BITS_PER_UNIT) + { + if (DECL_USER_ALIGN (decl)) + error ("alignment for %q+D was previously specified as %d " + "and may not be decreased", decl, + DECL_ALIGN (decl) / BITS_PER_UNIT); + else + error ("alignment for %q+D must be at least %d", decl, + DECL_ALIGN (decl) / BITS_PER_UNIT); + *no_add_attrs = true; + } else { DECL_ALIGN (decl) = (1 << i) * BITS_PER_UNIT; Modified: projects/uefi/contrib/gcc/c-decl.c ============================================================================== --- projects/uefi/contrib/gcc/c-decl.c Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/contrib/gcc/c-decl.c Thu Dec 5 16:43:53 2013 (r258991) @@ -1690,12 +1690,11 @@ merge_decls (tree newdecl, tree olddecl, DECL_SIZE (newdecl) = DECL_SIZE (olddecl); DECL_SIZE_UNIT (newdecl) = DECL_SIZE_UNIT (olddecl); DECL_MODE (newdecl) = DECL_MODE (olddecl); - if (TREE_CODE (olddecl) != FUNCTION_DECL) - if (DECL_ALIGN (olddecl) > DECL_ALIGN (newdecl)) - { - DECL_ALIGN (newdecl) = DECL_ALIGN (olddecl); - DECL_USER_ALIGN (newdecl) |= DECL_ALIGN (olddecl); - } + if (DECL_ALIGN (olddecl) > DECL_ALIGN (newdecl)) + { + DECL_ALIGN (newdecl) = DECL_ALIGN (olddecl); + DECL_USER_ALIGN (newdecl) |= DECL_ALIGN (olddecl); + } } Modified: projects/uefi/contrib/gcc/c-typeck.c ============================================================================== --- projects/uefi/contrib/gcc/c-typeck.c Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/contrib/gcc/c-typeck.c Thu Dec 5 16:43:53 2013 (r258991) @@ -2616,7 +2616,10 @@ parser_build_unary_op (enum tree_code co result.original_code = ERROR_MARK; result.value = build_unary_op (code, arg.value, 0); - overflow_warning (result.value); + + if (TREE_OVERFLOW_P (result.value) && !TREE_OVERFLOW_P (arg.value)) + overflow_warning (result.value); + return result; } @@ -2660,7 +2663,10 @@ parser_build_binary_op (enum tree_code c warning (OPT_Waddress, "comparison with string literal results in unspecified behaviour"); - overflow_warning (result.value); + if (TREE_OVERFLOW_P (result.value) + && !TREE_OVERFLOW_P (arg1.value) + && !TREE_OVERFLOW_P (arg2.value)) + overflow_warning (result.value); return result; } @@ -3847,10 +3853,7 @@ convert_for_assignment (tree type, tree } if (TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (rhstype)) - { - overflow_warning (rhs); - return rhs; - } + return rhs; if (coder == VOID_TYPE) { Modified: projects/uefi/contrib/gcc/config/rs6000/rs6000.c ============================================================================== --- projects/uefi/contrib/gcc/config/rs6000/rs6000.c Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/contrib/gcc/config/rs6000/rs6000.c Thu Dec 5 16:43:53 2013 (r258991) @@ -14704,8 +14704,17 @@ rs6000_emit_prologue (void) if (!WORLD_SAVE_P (info) && info->push_p && !(DEFAULT_ABI == ABI_V4 || current_function_calls_eh_return)) { - rs6000_emit_allocate_stack (info->total_size, FALSE); + if (info->total_size < 32767) sp_offset = info->total_size; + else + frame_reg_rtx = frame_ptr_rtx; + rs6000_emit_allocate_stack (info->total_size, + (frame_reg_rtx != sp_reg_rtx + && ((info->altivec_size != 0) + || (info->vrsave_mask != 0) + ))); + if (frame_reg_rtx != sp_reg_rtx) + rs6000_emit_stack_tie (); } /* Set frame pointer, if needed. */ @@ -15046,8 +15055,7 @@ rs6000_emit_epilogue (int sibcall) } /* Set sp_offset based on the stack push from the prologue. */ - if ((DEFAULT_ABI == ABI_V4 || current_function_calls_eh_return) - && info->total_size < 32767) + if (info->total_size < 32767) sp_offset = info->total_size; /* Restore AltiVec registers if needed. */ Modified: projects/uefi/contrib/gcc/cp/ChangeLog.gcc43 ============================================================================== --- projects/uefi/contrib/gcc/cp/ChangeLog.gcc43 Thu Dec 5 16:29:22 2013 (r258990) +++ projects/uefi/contrib/gcc/cp/ChangeLog.gcc43 Thu Dec 5 16:43:53 2013 (r258991) @@ -1,3 +1,12 @@ +2007-07-09 Geoffrey Keating (r126529) + + PR 32617 + * decl.c (cxx_init_decl_processing): Don't set + force_align_functions_log. + (grokfndecl): Honour ptrmemfunc_vbit_in_pfn. + * typeck.c (cxx_alignof_expr): When alignof is used on a plain + FUNCTION_DECL, return its alignment. + 2007-06-28 Geoffrey Keating (r126080) * decl2.c (start_objects): Mark constructor-runnning function @@ -9,6 +18,13 @@ * decl2.c (determine_visibility): Remove duplicate code for handling type info. +2007-05-05 Geoffrey Keating (r124467) + + PR 31775 + * mangle.c (write_mangled_name): Mangle static variable names. + (write_unqualified_name): Use local-source-name for + namespace-scope static variables. + 2007-03-12 Seongbae Park (r122851) * decl.c (compute_array_index_type): New warning flag warn_vla. @@ -20,6 +36,12 @@ TREE_OVERFLOW_P is true for the result and not for any of the operands. +2007-01-05 Manuel Lopez-Ibanez + + PR c/19978 + * semantics.c (finish_unary_op_expr): Warn only if result + overflowed and operands did not. + 2006-10-31 Geoffrey Keating (r118360) * name-lookup.c (get_anonymous_namespace_name): New. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu Dec 5 23:19:02 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8955B1BA; Thu, 5 Dec 2013 23:19:02 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 71B5113C6; Thu, 5 Dec 2013 23:19:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB5NJ2MO019597; Thu, 5 Dec 2013 23:19:02 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB5NItA3019250; Thu, 5 Dec 2013 23:18:55 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201312052318.rB5NItA3019250@svn.freebsd.org> From: Ed Maste Date: Thu, 5 Dec 2013 23:18:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259020 - in projects/uefi: bin/test contrib/gcc contrib/gcc/config/i386 contrib/gcc/config/rs6000 contrib/gcc/cp contrib/gcc/doc etc/mtree include sys/amd64/amd64 sys/conf sys/dev/drm2... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Dec 2013 23:19:02 -0000 Author: emaste Date: Thu Dec 5 23:18:54 2013 New Revision: 259020 URL: http://svnweb.freebsd.org/changeset/base/259020 Log: Merge from HEAD at r259019 Sponsored by: The FreeBSD Foundation Added: projects/uefi/sys/dev/fb/fb_if.m - copied unchanged from r259019, head/sys/dev/fb/fb_if.m projects/uefi/sys/dev/fb/fbd.c - copied unchanged from r259019, head/sys/dev/fb/fbd.c projects/uefi/sys/dev/vt/ - copied from r259019, head/sys/dev/vt/ projects/uefi/sys/kern/subr_terminal.c - copied unchanged from r259019, head/sys/kern/subr_terminal.c projects/uefi/sys/sys/terminal.h - copied unchanged from r259019, head/sys/sys/terminal.h projects/uefi/tools/tools/vt/ - copied from r259019, head/tools/tools/vt/ Modified: projects/uefi/bin/test/test.c projects/uefi/contrib/gcc/ChangeLog.gcc43 projects/uefi/contrib/gcc/c-common.c projects/uefi/contrib/gcc/c-common.h projects/uefi/contrib/gcc/c-opts.c projects/uefi/contrib/gcc/c-typeck.c projects/uefi/contrib/gcc/c.opt projects/uefi/contrib/gcc/config/i386/i386.c projects/uefi/contrib/gcc/config/rs6000/altivec.h projects/uefi/contrib/gcc/config/rs6000/rs6000-c.c projects/uefi/contrib/gcc/cp/ChangeLog.gcc43 projects/uefi/contrib/gcc/cp/call.c projects/uefi/contrib/gcc/cp/typeck.c projects/uefi/contrib/gcc/doc/invoke.texi projects/uefi/etc/mtree/BSD.include.dist projects/uefi/include/Makefile projects/uefi/sys/amd64/amd64/machdep.c projects/uefi/sys/conf/files projects/uefi/sys/conf/files.amd64 projects/uefi/sys/conf/files.arm projects/uefi/sys/conf/files.i386 projects/uefi/sys/conf/files.powerpc projects/uefi/sys/conf/files.sparc64 projects/uefi/sys/conf/kmod.mk projects/uefi/sys/conf/options projects/uefi/sys/dev/drm2/drm_fb_helper.c projects/uefi/sys/dev/drm2/drm_os_freebsd.h projects/uefi/sys/dev/drm2/i915/i915_drv.c projects/uefi/sys/dev/drm2/i915/intel_fb.c projects/uefi/sys/dev/drm2/radeon/radeon.h projects/uefi/sys/dev/drm2/radeon/radeon_drv.c projects/uefi/sys/dev/drm2/radeon/radeon_fb.c projects/uefi/sys/dev/drm2/radeon/radeon_pm.c projects/uefi/sys/i386/i386/machdep.c projects/uefi/sys/modules/drm2/i915kms/Makefile projects/uefi/sys/modules/drm2/radeonkms/Makefile projects/uefi/sys/pc98/pc98/machdep.c projects/uefi/sys/powerpc/fpu/fpu_emu.c projects/uefi/sys/powerpc/include/pmap.h projects/uefi/sys/powerpc/powerpc/platform.c projects/uefi/sys/powerpc/pseries/platform_chrp.c projects/uefi/sys/security/audit/audit_bsm_klib.c projects/uefi/sys/sparc64/sparc64/machdep.c projects/uefi/sys/sys/consio.h projects/uefi/sys/sys/eventhandler.h projects/uefi/sys/sys/fbio.h projects/uefi/sys/sys/tty.h projects/uefi/sys/teken/teken.c projects/uefi/sys/teken/teken.h projects/uefi/sys/teken/teken_subr.h projects/uefi/sys/x86/include/mptable.h projects/uefi/usr.sbin/bhyve/mptbl.c Directory Properties: projects/uefi/ (props changed) projects/uefi/contrib/gcc/ (props changed) projects/uefi/etc/ (props changed) projects/uefi/include/ (props changed) projects/uefi/sys/ (props changed) projects/uefi/sys/conf/ (props changed) projects/uefi/usr.sbin/bhyve/ (props changed) Modified: projects/uefi/bin/test/test.c ============================================================================== --- projects/uefi/bin/test/test.c Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/bin/test/test.c Thu Dec 5 23:18:54 2013 (r259020) @@ -172,7 +172,7 @@ static char **t_wp; static int parenlevel; static int aexpr(enum token); -static int binop(void); +static int binop(enum token); static int equalf(const char *, const char *); static int filstat(char *, enum token); static int getn(const char *); @@ -312,21 +312,20 @@ primary(enum token n) } } - if (TOKEN_TYPE(t_lex(nargc > 0 ? t_wp[1] : NULL)) == BINOP) - return binop(); + nn = t_lex(nargc > 0 ? t_wp[1] : NULL); + if (TOKEN_TYPE(nn) == BINOP) + return binop(nn); return strlen(*t_wp) > 0; } static int -binop(void) +binop(enum token n) { const char *opnd1, *op, *opnd2; - enum token n; opnd1 = *t_wp; - op = nargc > 0 ? t_wp[1] : NULL; - n = t_lex(nargc > 0 ? (--nargc, *++t_wp) : NULL); + op = nargc > 0 ? (--nargc, *++t_wp) : NULL; if ((opnd2 = nargc > 0 ? (--nargc, *++t_wp) : NULL) == NULL) syntax(op, "argument expected"); Modified: projects/uefi/contrib/gcc/ChangeLog.gcc43 ============================================================================== --- projects/uefi/contrib/gcc/ChangeLog.gcc43 Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/contrib/gcc/ChangeLog.gcc43 Thu Dec 5 23:18:54 2013 (r259020) @@ -389,6 +389,36 @@ * config.gcc: Support core2 processor. +2007-01-11 Joseph Myers (r120688) + + * c-common.c (vector_types_convertible_p): Treat opaque types as + always convertible if they have the same size, but not otherwise. + +2007-01-08 Mark Shinwell (r120572) + + * c.opt: Add -flax-vector-conversions. + * c-typeck.c (convert_for_assignment): Pass flag to + vector_types_convertible_p to allow emission of note. + (digest_init): Likewise. + * c-opts.c: Handle -flax-vector-conversions. + * c-common.c (flag_lax_vector_conversions): New. + (vector_types_convertible_p): Unless -flax-vector conversions + has been passed, disallow conversions between vectors with + differing numbers of subparts and/or element types. If such + a conversion is disallowed, possibly emit a note on the first + occasion only to inform the user of -flax-vector-conversions. + The new last argument specifies this. + * c-common.h (flag_lax_vector_conversions): New. + (vector_types_convertible_p): Add extra argument. + * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use + char_type_node for V*QI type vectors. + * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): + Update to satisfy new typechecking rules. + * config/rs6000/altivec.h (vec_cmple): Use vec_cmpge, for both + C and C++ variants. + * doc/invoke.texi (C Dialect Options): Document + -flax-vector-conversions. + 2007-01-05 Manuel Lopez-Ibanez (r120505) PR c/19978 Modified: projects/uefi/contrib/gcc/c-common.c ============================================================================== --- projects/uefi/contrib/gcc/c-common.c Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/contrib/gcc/c-common.c Thu Dec 5 23:18:54 2013 (r259020) @@ -254,6 +254,10 @@ int flag_short_double; int flag_short_wchar; +/* Nonzero means allow implicit conversions between vectors with + differing numbers of subparts and/or differing element types. */ +int flag_lax_vector_conversions; + /* Nonzero means allow Microsoft extensions without warnings or errors. */ int flag_ms_extensions; @@ -1095,18 +1099,45 @@ constant_fits_type_p (tree c, tree type) return !TREE_OVERFLOW (c); } -/* Nonzero if vector types T1 and T2 can be converted to each other - without an explicit cast. */ -int -vector_types_convertible_p (tree t1, tree t2) + +/* True if vector types T1 and T2 can be converted to each other + without an explicit cast. If EMIT_LAX_NOTE is true, and T1 and T2 + can only be converted with -flax-vector-conversions yet that is not + in effect, emit a note telling the user about that option if such + a note has not previously been emitted. */ +bool +vector_types_convertible_p (tree t1, tree t2, bool emit_lax_note) { - return targetm.vector_opaque_p (t1) - || targetm.vector_opaque_p (t2) - || (tree_int_cst_equal (TYPE_SIZE (t1), TYPE_SIZE (t2)) - && (TREE_CODE (TREE_TYPE (t1)) != REAL_TYPE || - TYPE_PRECISION (t1) == TYPE_PRECISION (t2)) - && INTEGRAL_TYPE_P (TREE_TYPE (t1)) - == INTEGRAL_TYPE_P (TREE_TYPE (t2))); + static bool emitted_lax_note = false; + bool convertible_lax; + + if ((targetm.vector_opaque_p (t1) || targetm.vector_opaque_p (t2)) + && tree_int_cst_equal (TYPE_SIZE (t1), TYPE_SIZE (t2))) + return true; + + convertible_lax = + (tree_int_cst_equal (TYPE_SIZE (t1), TYPE_SIZE (t2)) + && (TREE_CODE (TREE_TYPE (t1)) != REAL_TYPE || + TYPE_PRECISION (t1) == TYPE_PRECISION (t2)) + && (INTEGRAL_TYPE_P (TREE_TYPE (t1)) + == INTEGRAL_TYPE_P (TREE_TYPE (t2)))); + + if (!convertible_lax || flag_lax_vector_conversions) + return convertible_lax; + + if (TYPE_VECTOR_SUBPARTS (t1) == TYPE_VECTOR_SUBPARTS (t2) + && comptypes (TREE_TYPE (t1), TREE_TYPE (t2))) + return true; + + if (emit_lax_note && !emitted_lax_note) + { + emitted_lax_note = true; + inform ("use -flax-vector-conversions to permit " + "conversions between vectors with differing " + "element types or numbers of subparts"); + } + + return false; } /* Convert EXPR to TYPE, warning about conversion problems with constants. Modified: projects/uefi/contrib/gcc/c-common.h ============================================================================== --- projects/uefi/contrib/gcc/c-common.h Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/contrib/gcc/c-common.h Thu Dec 5 23:18:54 2013 (r259020) @@ -389,6 +389,10 @@ extern int flag_short_double; extern int flag_short_wchar; +/* Nonzero means allow implicit conversions between vectors with + differing numbers of subparts and/or differing element types. */ +extern int flag_lax_vector_conversions; + /* Nonzero means allow Microsoft extensions without warnings or errors. */ extern int flag_ms_extensions; @@ -791,7 +795,7 @@ extern tree finish_label_address_expr (t extern tree lookup_label (tree); extern tree lookup_name (tree); -extern int vector_types_convertible_p (tree t1, tree t2); +extern bool vector_types_convertible_p (tree t1, tree t2, bool emit_lax_note); extern rtx c_expand_expr (tree, rtx, enum machine_mode, int, rtx *); Modified: projects/uefi/contrib/gcc/c-opts.c ============================================================================== --- projects/uefi/contrib/gcc/c-opts.c Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/contrib/gcc/c-opts.c Thu Dec 5 23:18:54 2013 (r259020) @@ -710,6 +710,10 @@ c_common_handle_option (size_t scode, co flag_implicit_templates = value; break; + case OPT_flax_vector_conversions: + flag_lax_vector_conversions = value; + break; + case OPT_fms_extensions: flag_ms_extensions = value; break; Modified: projects/uefi/contrib/gcc/c-typeck.c ============================================================================== --- projects/uefi/contrib/gcc/c-typeck.c Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/contrib/gcc/c-typeck.c Thu Dec 5 23:18:54 2013 (r259020) @@ -3893,7 +3893,7 @@ convert_for_assignment (tree type, tree } /* Some types can interconvert without explicit casts. */ else if (codel == VECTOR_TYPE && coder == VECTOR_TYPE - && vector_types_convertible_p (type, TREE_TYPE (rhs))) + && vector_types_convertible_p (type, TREE_TYPE (rhs), true)) return convert (type, rhs); /* Arithmetic types all interconvert, and enum is treated like int. */ else if ((codel == INTEGER_TYPE || codel == REAL_TYPE @@ -4629,7 +4629,7 @@ digest_init (tree type, tree init, bool below and handle as a constructor. */ if (code == VECTOR_TYPE && TREE_CODE (TREE_TYPE (inside_init)) == VECTOR_TYPE - && vector_types_convertible_p (TREE_TYPE (inside_init), type) + && vector_types_convertible_p (TREE_TYPE (inside_init), type, true) && TREE_CONSTANT (inside_init)) { if (TREE_CODE (inside_init) == VECTOR_CST Modified: projects/uefi/contrib/gcc/c.opt ============================================================================== --- projects/uefi/contrib/gcc/c.opt Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/contrib/gcc/c.opt Thu Dec 5 23:18:54 2013 (r259020) @@ -584,6 +584,10 @@ Inject friend functions into enclosing n flabels-ok C++ ObjC++ +flax-vector-conversions +C ObjC C++ ObjC++ +Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types. + fms-extensions C ObjC C++ ObjC++ Don't warn about uses of Microsoft extensions Modified: projects/uefi/contrib/gcc/config/i386/i386.c ============================================================================== --- projects/uefi/contrib/gcc/config/i386/i386.c Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/contrib/gcc/config/i386/i386.c Thu Dec 5 23:18:54 2013 (r259020) @@ -15408,7 +15408,7 @@ ix86_init_mmx_sse_builtins (void) const struct builtin_description * d; size_t i; - tree V16QI_type_node = build_vector_type_for_mode (intQI_type_node, V16QImode); + tree V16QI_type_node = build_vector_type_for_mode (char_type_node, V16QImode); tree V2SI_type_node = build_vector_type_for_mode (intSI_type_node, V2SImode); tree V2SF_type_node = build_vector_type_for_mode (float_type_node, V2SFmode); tree V2DI_type_node @@ -15417,7 +15417,7 @@ ix86_init_mmx_sse_builtins (void) tree V4SF_type_node = build_vector_type_for_mode (float_type_node, V4SFmode); tree V4SI_type_node = build_vector_type_for_mode (intSI_type_node, V4SImode); tree V4HI_type_node = build_vector_type_for_mode (intHI_type_node, V4HImode); - tree V8QI_type_node = build_vector_type_for_mode (intQI_type_node, V8QImode); + tree V8QI_type_node = build_vector_type_for_mode (char_type_node, V8QImode); tree V8HI_type_node = build_vector_type_for_mode (intHI_type_node, V8HImode); tree pchar_type_node = build_pointer_type (char_type_node); Modified: projects/uefi/contrib/gcc/config/rs6000/altivec.h ============================================================================== --- projects/uefi/contrib/gcc/config/rs6000/altivec.h Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/contrib/gcc/config/rs6000/altivec.h Thu Dec 5 23:18:54 2013 (r259020) @@ -332,7 +332,7 @@ NAME (T a1, U a2) \ __altivec_binary_pred(vec_cmplt, __builtin_vec_cmpgt (a2, a1)) __altivec_binary_pred(vec_cmple, - __builtin_altivec_cmpge (a2, a1)) + __builtin_vec_cmpge (a2, a1)) __altivec_scalar_pred(vec_all_in, __builtin_altivec_vcmpbfp_p (__CR6_EQ, a1, a2)) @@ -402,7 +402,7 @@ __altivec_scalar_pred(vec_any_nle, #undef __altivec_binary_pred #else #define vec_cmplt(a1, a2) __builtin_vec_cmpgt ((a2), (a1)) -#define vec_cmple(a1, a2) __builtin_altivec_vcmpgefp ((a2), (a1)) +#define vec_cmple(a1, a2) __builtin_vec_cmpge ((a2), (a1)) #define vec_all_in(a1, a2) __builtin_altivec_vcmpbfp_p (__CR6_EQ, (a1), (a2)) #define vec_any_out(a1, a2) __builtin_altivec_vcmpbfp_p (__CR6_EQ_REV, (a1), (a2)) Modified: projects/uefi/contrib/gcc/config/rs6000/rs6000-c.c ============================================================================== --- projects/uefi/contrib/gcc/config/rs6000/rs6000-c.c Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/contrib/gcc/config/rs6000/rs6000-c.c Thu Dec 5 23:18:54 2013 (r259020) @@ -222,17 +222,17 @@ const struct altivec_builtin_types altiv { ALTIVEC_BUILTIN_VEC_UNPACKH, ALTIVEC_BUILTIN_VUPKHSB, RS6000_BTI_V8HI, RS6000_BTI_V16QI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_UNPACKH, ALTIVEC_BUILTIN_VUPKHSB, - RS6000_BTI_V8HI, RS6000_BTI_bool_V16QI, 0, 0 }, + RS6000_BTI_bool_V8HI, RS6000_BTI_bool_V16QI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_UNPACKH, ALTIVEC_BUILTIN_VUPKHSH, RS6000_BTI_V4SI, RS6000_BTI_V8HI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_UNPACKH, ALTIVEC_BUILTIN_VUPKHSH, - RS6000_BTI_V4SI, RS6000_BTI_bool_V8HI, 0, 0 }, + RS6000_BTI_bool_V4SI, RS6000_BTI_bool_V8HI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_UNPACKH, ALTIVEC_BUILTIN_VUPKHPX, RS6000_BTI_unsigned_V4SI, RS6000_BTI_pixel_V8HI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_VUPKHSH, ALTIVEC_BUILTIN_VUPKHSH, RS6000_BTI_V4SI, RS6000_BTI_V8HI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_VUPKHSH, ALTIVEC_BUILTIN_VUPKHSH, - RS6000_BTI_V4SI, RS6000_BTI_bool_V8HI, 0, 0 }, + RS6000_BTI_bool_V4SI, RS6000_BTI_bool_V8HI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_VUPKHPX, ALTIVEC_BUILTIN_VUPKHPX, RS6000_BTI_unsigned_V4SI, RS6000_BTI_unsigned_V8HI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_VUPKHPX, ALTIVEC_BUILTIN_VUPKHPX, @@ -240,17 +240,17 @@ const struct altivec_builtin_types altiv { ALTIVEC_BUILTIN_VEC_VUPKHSB, ALTIVEC_BUILTIN_VUPKHSB, RS6000_BTI_V8HI, RS6000_BTI_V16QI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_VUPKHSB, ALTIVEC_BUILTIN_VUPKHSB, - RS6000_BTI_V8HI, RS6000_BTI_bool_V16QI, 0, 0 }, + RS6000_BTI_bool_V8HI, RS6000_BTI_bool_V16QI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VUPKLSB, RS6000_BTI_V8HI, RS6000_BTI_V16QI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VUPKLSB, - RS6000_BTI_V8HI, RS6000_BTI_bool_V16QI, 0, 0 }, + RS6000_BTI_bool_V8HI, RS6000_BTI_bool_V16QI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VUPKLPX, RS6000_BTI_unsigned_V4SI, RS6000_BTI_pixel_V8HI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VUPKLSH, RS6000_BTI_V4SI, RS6000_BTI_V8HI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VUPKLSH, - RS6000_BTI_V4SI, RS6000_BTI_bool_V8HI, 0, 0 }, + RS6000_BTI_bool_V4SI, RS6000_BTI_bool_V8HI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_VUPKLPX, ALTIVEC_BUILTIN_VUPKLPX, RS6000_BTI_unsigned_V4SI, RS6000_BTI_unsigned_V8HI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_VUPKLPX, ALTIVEC_BUILTIN_VUPKLPX, @@ -258,11 +258,11 @@ const struct altivec_builtin_types altiv { ALTIVEC_BUILTIN_VEC_VUPKLSH, ALTIVEC_BUILTIN_VUPKLSH, RS6000_BTI_V4SI, RS6000_BTI_V8HI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_VUPKLSH, ALTIVEC_BUILTIN_VUPKLSH, - RS6000_BTI_V4SI, RS6000_BTI_bool_V8HI, 0, 0 }, + RS6000_BTI_bool_V4SI, RS6000_BTI_bool_V8HI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_VUPKLSB, ALTIVEC_BUILTIN_VUPKLSB, RS6000_BTI_V8HI, RS6000_BTI_V16QI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_VUPKLSB, ALTIVEC_BUILTIN_VUPKLSB, - RS6000_BTI_V8HI, RS6000_BTI_bool_V16QI, 0, 0 }, + RS6000_BTI_bool_V8HI, RS6000_BTI_bool_V16QI, 0, 0 }, /* Binary AltiVec builtins. */ { ALTIVEC_BUILTIN_VEC_ADD, ALTIVEC_BUILTIN_VADDUBM, @@ -576,31 +576,23 @@ const struct altivec_builtin_types altiv { ALTIVEC_BUILTIN_VEC_CMPEQ, ALTIVEC_BUILTIN_VCMPEQFP, RS6000_BTI_bool_V4SI, RS6000_BTI_V4SF, RS6000_BTI_V4SF, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPEQFP, ALTIVEC_BUILTIN_VCMPEQFP, - RS6000_BTI_V4SI, RS6000_BTI_V4SF, RS6000_BTI_V4SF, 0 }, - { ALTIVEC_BUILTIN_VEC_VCMPEQUW, ALTIVEC_BUILTIN_VCMPEQUW, - RS6000_BTI_V4SI, RS6000_BTI_V4SI, RS6000_BTI_V4SI, 0 }, - { ALTIVEC_BUILTIN_VEC_VCMPEQUW, ALTIVEC_BUILTIN_VCMPEQUW, - RS6000_BTI_V4SI, RS6000_BTI_unsigned_V4SI, RS6000_BTI_unsigned_V4SI, 0 }, + RS6000_BTI_bool_V4SI, RS6000_BTI_V4SF, RS6000_BTI_V4SF, 0 }, + { ALTIVEC_BUILTIN_VEC_VCMPEQUW, ALTIVEC_BUILTIN_VCMPEQUW, RS6000_BTI_bool_V4SI, RS6000_BTI_V4SI, RS6000_BTI_V4SI, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPEQUW, ALTIVEC_BUILTIN_VCMPEQUW, RS6000_BTI_bool_V4SI, RS6000_BTI_unsigned_V4SI, RS6000_BTI_unsigned_V4SI, 0 }, - { ALTIVEC_BUILTIN_VEC_VCMPEQUH, ALTIVEC_BUILTIN_VCMPEQUH, - RS6000_BTI_V8HI, RS6000_BTI_V8HI, RS6000_BTI_V8HI, 0 }, - { ALTIVEC_BUILTIN_VEC_VCMPEQUH, ALTIVEC_BUILTIN_VCMPEQUH, - RS6000_BTI_V8HI, RS6000_BTI_unsigned_V8HI, RS6000_BTI_unsigned_V8HI, 0 }, + { ALTIVEC_BUILTIN_VEC_VCMPEQUH, ALTIVEC_BUILTIN_VCMPEQUH, RS6000_BTI_bool_V8HI, RS6000_BTI_V8HI, RS6000_BTI_V8HI, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPEQUH, ALTIVEC_BUILTIN_VCMPEQUH, RS6000_BTI_bool_V8HI, RS6000_BTI_unsigned_V8HI, RS6000_BTI_unsigned_V8HI, 0 }, - { ALTIVEC_BUILTIN_VEC_VCMPEQUB, ALTIVEC_BUILTIN_VCMPEQUB, - RS6000_BTI_V16QI, RS6000_BTI_V16QI, RS6000_BTI_V16QI, 0 }, - { ALTIVEC_BUILTIN_VEC_VCMPEQUB, ALTIVEC_BUILTIN_VCMPEQUB, - RS6000_BTI_V16QI, RS6000_BTI_unsigned_V16QI, RS6000_BTI_unsigned_V16QI, 0 }, + { ALTIVEC_BUILTIN_VEC_VCMPEQUB, ALTIVEC_BUILTIN_VCMPEQUB, RS6000_BTI_bool_V16QI, RS6000_BTI_V16QI, RS6000_BTI_V16QI, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPEQUB, ALTIVEC_BUILTIN_VCMPEQUB, RS6000_BTI_bool_V16QI, RS6000_BTI_unsigned_V16QI, RS6000_BTI_unsigned_V16QI, 0 }, + { ALTIVEC_BUILTIN_VEC_CMPGE, ALTIVEC_BUILTIN_VCMPGEFP, RS6000_BTI_bool_V4SI, RS6000_BTI_V4SF, RS6000_BTI_V4SF, 0 }, { ALTIVEC_BUILTIN_VEC_CMPGT, ALTIVEC_BUILTIN_VCMPGTUB, @@ -618,29 +610,29 @@ const struct altivec_builtin_types altiv { ALTIVEC_BUILTIN_VEC_CMPGT, ALTIVEC_BUILTIN_VCMPGTFP, RS6000_BTI_bool_V4SI, RS6000_BTI_V4SF, RS6000_BTI_V4SF, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPGTFP, ALTIVEC_BUILTIN_VCMPGTFP, - RS6000_BTI_V4SI, RS6000_BTI_V4SF, RS6000_BTI_V4SF, 0 }, + RS6000_BTI_bool_V4SI, RS6000_BTI_V4SF, RS6000_BTI_V4SF, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPGTSW, ALTIVEC_BUILTIN_VCMPGTSW, - RS6000_BTI_V4SI, RS6000_BTI_V4SI, RS6000_BTI_V4SI, 0 }, + RS6000_BTI_bool_V4SI, RS6000_BTI_V4SI, RS6000_BTI_V4SI, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPGTSW, ALTIVEC_BUILTIN_VCMPGTSW, RS6000_BTI_bool_V4SI, RS6000_BTI_V4SI, RS6000_BTI_V4SI, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPGTUW, ALTIVEC_BUILTIN_VCMPGTUW, - RS6000_BTI_V4SI, RS6000_BTI_unsigned_V4SI, RS6000_BTI_unsigned_V4SI, 0 }, + RS6000_BTI_bool_V4SI, RS6000_BTI_unsigned_V4SI, RS6000_BTI_unsigned_V4SI, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPGTUW, ALTIVEC_BUILTIN_VCMPGTUW, RS6000_BTI_bool_V4SI, RS6000_BTI_unsigned_V4SI, RS6000_BTI_unsigned_V4SI, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPGTSH, ALTIVEC_BUILTIN_VCMPGTSH, - RS6000_BTI_V8HI, RS6000_BTI_V8HI, RS6000_BTI_V8HI, 0 }, + RS6000_BTI_bool_V8HI, RS6000_BTI_V8HI, RS6000_BTI_V8HI, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPGTSH, ALTIVEC_BUILTIN_VCMPGTSH, RS6000_BTI_bool_V8HI, RS6000_BTI_V8HI, RS6000_BTI_V8HI, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPGTUH, ALTIVEC_BUILTIN_VCMPGTUH, - RS6000_BTI_V8HI, RS6000_BTI_unsigned_V8HI, RS6000_BTI_unsigned_V8HI, 0 }, + RS6000_BTI_bool_V8HI, RS6000_BTI_unsigned_V8HI, RS6000_BTI_unsigned_V8HI, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPGTUH, ALTIVEC_BUILTIN_VCMPGTUH, RS6000_BTI_bool_V8HI, RS6000_BTI_unsigned_V8HI, RS6000_BTI_unsigned_V8HI, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPGTSB, ALTIVEC_BUILTIN_VCMPGTSB, - RS6000_BTI_V16QI, RS6000_BTI_V16QI, RS6000_BTI_V16QI, 0 }, + RS6000_BTI_bool_V16QI, RS6000_BTI_V16QI, RS6000_BTI_V16QI, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPGTSB, ALTIVEC_BUILTIN_VCMPGTSB, RS6000_BTI_bool_V16QI, RS6000_BTI_V16QI, RS6000_BTI_V16QI, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPGTUB, ALTIVEC_BUILTIN_VCMPGTUB, - RS6000_BTI_V16QI, RS6000_BTI_unsigned_V16QI, RS6000_BTI_unsigned_V16QI, 0 }, + RS6000_BTI_bool_V16QI, RS6000_BTI_unsigned_V16QI, RS6000_BTI_unsigned_V16QI, 0 }, { ALTIVEC_BUILTIN_VEC_VCMPGTUB, ALTIVEC_BUILTIN_VCMPGTUB, RS6000_BTI_bool_V16QI, RS6000_BTI_unsigned_V16QI, RS6000_BTI_unsigned_V16QI, 0 }, { ALTIVEC_BUILTIN_VEC_CMPLE, ALTIVEC_BUILTIN_VCMPGEFP, Modified: projects/uefi/contrib/gcc/cp/ChangeLog.gcc43 ============================================================================== --- projects/uefi/contrib/gcc/cp/ChangeLog.gcc43 Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/contrib/gcc/cp/ChangeLog.gcc43 Thu Dec 5 23:18:54 2013 (r259020) @@ -29,14 +29,23 @@ * decl.c (compute_array_index_type): New warning flag warn_vla. -2007-01-07 Manuel Lopez-Ibanez +2007-01-08 Mark Shinwell (r120572) + + * call.c (standard_conversion): Pass flag to + vector_types_convertible_p to disallow emission of note. + * typeck.c (convert_for_assignment): Pass flag to + vector_types_convertible_p to allow emission of note. + (ptr_reasonably_similar): Pass flag to vector_types_convertible_p + to disallow emission of note. + +2007-01-07 Manuel Lopez-Ibanez (r120558) PR c++/28986 * typeck.c (build_binary_op): Call overflow_warning if TREE_OVERFLOW_P is true for the result and not for any of the operands. -2007-01-05 Manuel Lopez-Ibanez +2007-01-05 Manuel Lopez-Ibanez (r120505) PR c/19978 * semantics.c (finish_unary_op_expr): Warn only if result Modified: projects/uefi/contrib/gcc/cp/call.c ============================================================================== --- projects/uefi/contrib/gcc/cp/call.c Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/contrib/gcc/cp/call.c Thu Dec 5 23:18:54 2013 (r259020) @@ -838,7 +838,7 @@ standard_conversion (tree to, tree from, conv->rank = cr_promotion; } else if (fcode == VECTOR_TYPE && tcode == VECTOR_TYPE - && vector_types_convertible_p (from, to)) + && vector_types_convertible_p (from, to, false)) return build_conv (ck_std, to, conv); else if (!(flags & LOOKUP_CONSTRUCTOR_CALLABLE) && IS_AGGR_TYPE (to) && IS_AGGR_TYPE (from) Modified: projects/uefi/contrib/gcc/cp/typeck.c ============================================================================== --- projects/uefi/contrib/gcc/cp/typeck.c Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/contrib/gcc/cp/typeck.c Thu Dec 5 23:18:54 2013 (r259020) @@ -6229,7 +6229,7 @@ convert_for_assignment (tree type, tree coder = TREE_CODE (rhstype); if (TREE_CODE (type) == VECTOR_TYPE && coder == VECTOR_TYPE - && vector_types_convertible_p (type, rhstype)) + && vector_types_convertible_p (type, rhstype, true)) return convert (type, rhs); if (rhs == error_mark_node || rhstype == error_mark_node) @@ -6799,7 +6799,7 @@ ptr_reasonably_similar (tree to, tree fr continue; if (TREE_CODE (to) == VECTOR_TYPE - && vector_types_convertible_p (to, from)) + && vector_types_convertible_p (to, from, false)) return 1; if (TREE_CODE (to) == INTEGER_TYPE Modified: projects/uefi/contrib/gcc/doc/invoke.texi ============================================================================== --- projects/uefi/contrib/gcc/doc/invoke.texi Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/contrib/gcc/doc/invoke.texi Thu Dec 5 23:18:54 2013 (r259020) @@ -167,7 +167,7 @@ in the following sections. -fno-asm -fno-builtin -fno-builtin-@var{function} @gol -fhosted -ffreestanding -fopenmp -fms-extensions @gol -trigraphs -no-integrated-cpp -traditional -traditional-cpp @gol --fallow-single-precision -fcond-mismatch @gol +-fallow-single-precision -fcond-mismatch -flax-vector-conversions @gol -fsigned-bitfields -fsigned-char @gol -funsigned-bitfields -funsigned-char} @@ -1337,6 +1337,12 @@ Allow conditional expressions with misma third arguments. The value of such an expression is void. This option is not supported for C++. +@item -flax-vector-conversions +@opindex flax-vector-conversions +Allow implicit conversions between vectors with differing numbers of +elements and/or incompatible element types. This option should not be +used for new code. + @item -funsigned-char @opindex funsigned-char Let the type @code{char} be unsigned, like @code{unsigned char}. Modified: projects/uefi/etc/mtree/BSD.include.dist ============================================================================== --- projects/uefi/etc/mtree/BSD.include.dist Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/etc/mtree/BSD.include.dist Thu Dec 5 23:18:54 2013 (r259020) @@ -329,6 +329,8 @@ .. sys .. + teken + .. ufs ffs .. Modified: projects/uefi/include/Makefile ============================================================================== --- projects/uefi/include/Makefile Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/include/Makefile Thu Dec 5 23:18:54 2013 (r259020) @@ -225,6 +225,9 @@ copies: cd ${.CURDIR}/../sys/rpc; \ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 types.h \ ${DESTDIR}${INCLUDEDIR}/rpc + cd ${.CURDIR}/../sys/teken; \ + ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 teken.h \ + ${DESTDIR}${INCLUDEDIR}/teken symlinks: @${ECHO} "Setting up symlinks to kernel source tree..." Modified: projects/uefi/sys/amd64/amd64/machdep.c ============================================================================== --- projects/uefi/sys/amd64/amd64/machdep.c Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/amd64/amd64/machdep.c Thu Dec 5 23:18:54 2013 (r259020) @@ -867,7 +867,7 @@ cpu_idle(int busy) /* Call main idle method. */ cpu_idle_fn(sbt); - /* Switch timers mack into active mode. */ + /* Switch timers back into active mode. */ if (!busy) { cpu_activeclock(); critical_exit(); Modified: projects/uefi/sys/conf/files ============================================================================== --- projects/uefi/sys/conf/files Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/conf/files Thu Dec 5 23:18:54 2013 (r259020) @@ -82,7 +82,7 @@ pccarddevs.h standard \ compile-with "${AWK} -f $S/tools/pccarddevs2h.awk $S/dev/pccard/pccarddevs" \ no-obj no-implicit-rule before-depend \ clean "pccarddevs.h" -teken_state.h optional sc \ +teken_state.h optional sc | vt \ dependency "$S/teken/gensequences $S/teken/sequences" \ compile-with "${AWK} -f $S/teken/gensequences $S/teken/sequences > teken_state.h" \ no-obj no-implicit-rule before-depend \ @@ -1396,6 +1396,8 @@ dev/ex/if_ex_isa.c optional ex isa dev/ex/if_ex_pccard.c optional ex pccard dev/exca/exca.c optional cbb dev/fatm/if_fatm.c optional fatm pci +dev/fb/fbd.c optional fbd | vt +dev/fb/fb_if.m optional fbd | vt dev/fb/splash.c optional splash dev/fdt/fdt_common.c optional fdt dev/fdt/fdt_ic_if.m optional fdt @@ -2461,6 +2463,17 @@ dev/vge/if_vge.c optional vge dev/vkbd/vkbd.c optional vkbd dev/vr/if_vr.c optional vr pci +dev/vt/colors/vt_termcolors.c optional vt +dev/vt/font/vt_font_default.c optional vt +dev/vt/font/vt_mouse_cursor.c optional vt +dev/vt/hw/fb/vt_fb.c optional vt +dev/vt/hw/vga/vga.c optional vt vt_vga +dev/vt/logo/logo_freebsd.c optional vt +dev/vt/vt_buf.c optional vt +dev/vt/vt_consolectl.c optional vt +dev/vt/vt_core.c optional vt +dev/vt/vt_font.c optional vt +dev/vt/vt_sysmouse.c optional vt dev/vte/if_vte.c optional vte pci dev/vx/if_vx.c optional vx dev/vx/if_vx_eisa.c optional vx eisa @@ -2897,6 +2910,7 @@ kern/subr_sleepqueue.c standard kern/subr_smp.c standard kern/subr_stack.c optional ddb | stack | ktr kern/subr_taskqueue.c standard +kern/subr_terminal.c optional vt kern/subr_trap.c standard kern/subr_turnstile.c standard kern/subr_uio.c standard @@ -3796,7 +3810,7 @@ security/mac_portacl/mac_portacl.c optio security/mac_seeotheruids/mac_seeotheruids.c optional mac_seeotheruids security/mac_stub/mac_stub.c optional mac_stub security/mac_test/mac_test.c optional mac_test -teken/teken.c optional sc +teken/teken.c optional sc | vt ufs/ffs/ffs_alloc.c optional ffs ufs/ffs/ffs_balloc.c optional ffs ufs/ffs/ffs_inode.c optional ffs Modified: projects/uefi/sys/conf/files.amd64 ============================================================================== --- projects/uefi/sys/conf/files.amd64 Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/conf/files.amd64 Thu Dec 5 23:18:54 2013 (r259020) @@ -242,7 +242,7 @@ dev/hyperv/vmbus/hv_connection.c optio dev/hyperv/vmbus/hv_hv.c optional hyperv dev/hyperv/vmbus/hv_ring_buffer.c optional hyperv dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c optional hyperv -dev/kbd/kbd.c optional atkbd | sc | ukbd +dev/kbd/kbd.c optional atkbd | sc | ukbd | vt dev/lindev/full.c optional lindev dev/lindev/lindev.c optional lindev dev/nfe/if_nfe.c optional nfe pci Modified: projects/uefi/sys/conf/files.arm ============================================================================== --- projects/uefi/sys/conf/files.arm Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/conf/files.arm Thu Dec 5 23:18:54 2013 (r259020) @@ -62,7 +62,7 @@ crypto/blowfish/bf_enc.c optional crypto crypto/des/des_enc.c optional crypto | ipsec | netsmb dev/fb/fb.c optional sc dev/hwpmc/hwpmc_arm.c optional hwpmc -dev/kbd/kbd.c optional sc +dev/kbd/kbd.c optional sc | vt dev/syscons/scgfbrndr.c optional sc dev/syscons/scterm-teken.c optional sc dev/syscons/scvtb.c optional sc Modified: projects/uefi/sys/conf/files.i386 ============================================================================== --- projects/uefi/sys/conf/files.i386 Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/conf/files.i386 Thu Dec 5 23:18:54 2013 (r259020) @@ -249,7 +249,7 @@ dev/ipmi/ipmi_smbios.c optional ipmi dev/ipmi/ipmi_ssif.c optional ipmi smbus dev/ipmi/ipmi_pci.c optional ipmi pci dev/ipmi/ipmi_linux.c optional ipmi compat_linux -dev/kbd/kbd.c optional atkbd | sc | ukbd +dev/kbd/kbd.c optional atkbd | sc | ukbd | vt dev/le/if_le_isa.c optional le isa dev/lindev/full.c optional lindev dev/lindev/lindev.c optional lindev @@ -293,6 +293,7 @@ dev/viawd/viawd.c optional viawd dev/vmware/vmxnet3/if_vmx.c optional vmx dev/acpica/acpi_if.m standard dev/acpi_support/acpi_wmi_if.m standard +dev/vt/hw/xboxfb/xboxfb.c optional vt_xboxfb dev/wbwd/wbwd.c optional wbwd dev/wpi/if_wpi.c optional wpi dev/isci/isci.c optional isci Modified: projects/uefi/sys/conf/files.powerpc ============================================================================== --- projects/uefi/sys/conf/files.powerpc Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/conf/files.powerpc Thu Dec 5 23:18:54 2013 (r259020) @@ -35,7 +35,7 @@ dev/iicbus/ad7417.c optional ad7417 pow dev/iicbus/ds1631.c optional ds1631 powermac dev/iicbus/ds1775.c optional ds1775 powermac dev/iicbus/max6690.c optional max6690 powermac -dev/kbd/kbd.c optional sc +dev/kbd/kbd.c optional sc | vt dev/nand/nfc_fsl.c optional nand mpc85xx # ofw can be either aim or fdt: fdt case handled in files. aim only powerpc specific. dev/ofw/openfirm.c optional aim @@ -65,6 +65,7 @@ dev/tsec/if_tsec.c optional tsec dev/tsec/if_tsec_fdt.c optional tsec fdt dev/uart/uart_cpu_powerpc.c optional uart dev/usb/controller/ehci_fsl.c optional ehci mpc85xx +dev/vt/hw/ofwfb/ofwfb.c optional vt aim kern/kern_clocksource.c standard kern/subr_dummy_vdso_tc.c standard kern/syscalls.c optional ktr @@ -106,15 +107,15 @@ powerpc/booke/pmap.c optional booke powerpc/booke/trap.c optional booke powerpc/cpufreq/dfs.c optional cpufreq powerpc/cpufreq/pcr.c optional cpufreq aim -powerpc/fpu/fpu_add.c optional fpu_emu powerpc -powerpc/fpu/fpu_compare.c optional fpu_emu powerpc -powerpc/fpu/fpu_div.c optional fpu_emu powerpc -powerpc/fpu/fpu_emu.c optional fpu_emu powerpc -powerpc/fpu/fpu_explode.c optional fpu_emu powerpc -powerpc/fpu/fpu_implode.c optional fpu_emu powerpc -powerpc/fpu/fpu_mul.c optional fpu_emu powerpc -powerpc/fpu/fpu_sqrt.c optional fpu_emu powerpc -powerpc/fpu/fpu_subr.c optional fpu_emu powerpc +powerpc/fpu/fpu_add.c optional fpu_emu +powerpc/fpu/fpu_compare.c optional fpu_emu +powerpc/fpu/fpu_div.c optional fpu_emu +powerpc/fpu/fpu_emu.c optional fpu_emu +powerpc/fpu/fpu_explode.c optional fpu_emu +powerpc/fpu/fpu_implode.c optional fpu_emu +powerpc/fpu/fpu_mul.c optional fpu_emu +powerpc/fpu/fpu_sqrt.c optional fpu_emu +powerpc/fpu/fpu_subr.c optional fpu_emu powerpc/mambo/mambocall.S optional mambo powerpc/mambo/mambo.c optional mambo powerpc/mambo/mambo_console.c optional mambo Modified: projects/uefi/sys/conf/files.sparc64 ============================================================================== --- projects/uefi/sys/conf/files.sparc64 Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/conf/files.sparc64 Thu Dec 5 23:18:54 2013 (r259020) @@ -39,7 +39,7 @@ dev/fb/fb.c optional sc dev/fb/gallant12x22.c optional sc dev/fb/machfb.c optional machfb sc dev/hwpmc/hwpmc_sparc64.c optional hwpmc -dev/kbd/kbd.c optional atkbd | sc | ukbd +dev/kbd/kbd.c optional atkbd | sc | ukbd | vt dev/le/if_le_lebuffer.c optional le sbus dev/le/if_le_ledma.c optional le sbus dev/le/lebuffer_sbus.c optional le sbus @@ -59,7 +59,8 @@ dev/syscons/scgfbrndr.c optional sc dev/syscons/scterm-teken.c optional sc dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_sparc64.c optional uart -dev/uart/uart_kbd_sun.c optional uart sc +dev/uart/uart_kbd_sun.c optional uart sc | vt +dev/vt/hw/ofwfb/ofwfb.c optional vt kern/kern_clocksource.c standard kern/subr_dummy_vdso_tc.c standard kern/syscalls.c optional ktr Modified: projects/uefi/sys/conf/kmod.mk ============================================================================== --- projects/uefi/sys/conf/kmod.mk Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/conf/kmod.mk Thu Dec 5 23:18:54 2013 (r259020) @@ -340,7 +340,7 @@ CFLAGS+= ${CONF_CFLAGS} MFILES?= dev/acpica/acpi_if.m dev/acpi_support/acpi_wmi_if.m \ dev/agp/agp_if.m dev/ata/ata_if.m dev/eisa/eisa_if.m \ - dev/gpio/gpio_if.m dev/gpio/gpiobus_if.m \ + dev/fb/fb_if.m dev/gpio/gpio_if.m dev/gpio/gpiobus_if.m \ dev/iicbus/iicbb_if.m dev/iicbus/iicbus_if.m \ dev/mmc/mmcbr_if.m dev/mmc/mmcbus_if.m \ dev/mii/miibus_if.m dev/mvs/mvs_if.m dev/ofw/ofw_bus_if.m \ Modified: projects/uefi/sys/conf/options ============================================================================== --- projects/uefi/sys/conf/options Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/conf/options Thu Dec 5 23:18:54 2013 (r259020) @@ -731,8 +731,10 @@ SAFE_DEBUG opt_safe.h SAFE_NO_RNG opt_safe.h SAFE_RNDTEST opt_safe.h -# syscons options +# syscons/vt options MAXCONS opt_syscons.h +VT_FB_DEFAULT_WIDTH opt_syscons.h +VT_FB_DEFAULT_HEIGHT opt_syscons.h SC_ALT_MOUSE_IMAGE opt_syscons.h SC_CUT_SPACES2TABS opt_syscons.h SC_CUT_SEPCHARS opt_syscons.h Modified: projects/uefi/sys/dev/drm2/drm_fb_helper.c ============================================================================== --- projects/uefi/sys/dev/drm2/drm_fb_helper.c Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/dev/drm2/drm_fb_helper.c Thu Dec 5 23:18:54 2013 (r259020) @@ -36,6 +36,41 @@ __FBSDID("$FreeBSD$"); #include #include +#if defined(__FreeBSD__) +struct vt_kms_softc { + struct drm_fb_helper *fb_helper; + struct task fb_mode_task; +}; + +static fb_enter_t vt_kms_postswitch; +static void vt_restore_fbdev_mode(void *, int); + +/* Call restore out of vt(9) locks. */ +static void +vt_restore_fbdev_mode(void *arg, int pending) +{ + struct drm_fb_helper *fb_helper; + struct vt_kms_softc *sc; + + sc = (struct vt_kms_softc *)arg; + fb_helper = sc->fb_helper; + sx_xlock(&fb_helper->dev->mode_config.mutex); + drm_fb_helper_restore_fbdev_mode(fb_helper); + sx_xunlock(&fb_helper->dev->mode_config.mutex); +} + +static int +vt_kms_postswitch(void *arg) +{ + struct vt_kms_softc *sc; + + sc = (struct vt_kms_softc *)arg; + taskqueue_enqueue_fast(taskqueue_thread, &sc->fb_mode_task); + + return (0); +} +#endif + static DRM_LIST_HEAD(kernel_fb_helper_list); /* simple single crtc case helper function */ @@ -216,6 +251,10 @@ static int fb_get_options(const char *connector_name, char **option) { + /* + * TODO: store mode options pointer in ${option} for connector with + * name ${connector_name} + */ return (1); } @@ -892,11 +931,13 @@ int drm_fb_helper_single_fb_probe(struct int new_fb = 0; int crtc_count = 0; int i; -#if 0 struct fb_info *info; -#endif struct drm_fb_helper_surface_size sizes; int gamma_size = 0; +#if defined(__FreeBSD__) + struct vt_kms_softc *sc; + device_t kdev; +#endif memset(&sizes, 0, sizeof(struct drm_fb_helper_surface_size)); sizes.surface_depth = 24; @@ -973,8 +1014,21 @@ int drm_fb_helper_single_fb_probe(struct if (new_fb < 0) return new_fb; -#if 0 +#if defined(__FreeBSD__) + sc = malloc(sizeof(struct vt_kms_softc), DRM_MEM_KMS, + M_WAITOK | M_ZERO); + sc->fb_helper = fb_helper; + TASK_INIT(&sc->fb_mode_task, 0, vt_restore_fbdev_mode, sc); + info = fb_helper->fbdev; + + info->fb_name = device_get_nameunit(fb_helper->dev->device); + info->fb_depth = fb_helper->fb->bits_per_pixel; + info->fb_height = fb_helper->fb->height; + info->fb_width = fb_helper->fb->width; + info->fb_stride = fb_helper->fb->pitches[0]; + info->fb_priv = sc; + info->enter = &vt_kms_postswitch; #endif /* set the fb pointer */ @@ -982,7 +1036,18 @@ int drm_fb_helper_single_fb_probe(struct fb_helper->crtc_info[i].mode_set.fb = fb_helper->fb; } -#if 0 +#if defined(__FreeBSD__) + if (new_fb) { + device_t fbd; + int ret; + + kdev = fb_helper->dev->device; + fbd = device_add_child(kdev, "fbd", device_get_unit(kdev)); + ret = device_probe_and_attach(fbd); + if (ret != 0) + DRM_ERROR("Failed to attach fbd device: %d\n", ret); + } +#else if (new_fb) { info->var.pixclock = 0; if (register_framebuffer(info) < 0) { @@ -1006,7 +1071,6 @@ int drm_fb_helper_single_fb_probe(struct if (new_fb) list_add(&fb_helper->kernel_fb_list, &kernel_fb_helper_list); #endif - return 0; } Modified: projects/uefi/sys/dev/drm2/drm_os_freebsd.h ============================================================================== --- projects/uefi/sys/dev/drm2/drm_os_freebsd.h Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/dev/drm2/drm_os_freebsd.h Thu Dec 5 23:18:54 2013 (r259020) @@ -6,6 +6,8 @@ #include __FBSDID("$FreeBSD$"); +#include + #if _BYTE_ORDER == _BIG_ENDIAN #define __BIG_ENDIAN 4321 #else Modified: projects/uefi/sys/dev/drm2/i915/i915_drv.c ============================================================================== --- projects/uefi/sys/dev/drm2/i915/i915_drv.c Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/dev/drm2/i915/i915_drv.c Thu Dec 5 23:18:54 2013 (r259020) @@ -40,6 +40,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include "fb_if.h" + /* drv_PCI_IDs comes from drm_pciids.h, generated from drm_pciids.txt. */ static drm_pci_id_list_t i915_pciidlist[] = { i915_PCI_IDS @@ -380,6 +382,25 @@ i915_attach(device_t kdev) return (drm_attach(kdev, i915_pciidlist)); } +static struct fb_info * +i915_fb_helper_getinfo(device_t kdev) +{ + struct intel_fbdev *ifbdev; + drm_i915_private_t *dev_priv; + struct drm_device *dev; + struct fb_info *info; + + dev = device_get_softc(kdev); + dev_priv = dev->dev_private; + ifbdev = dev_priv->fbdev; + if (ifbdev == NULL) + return (NULL); + + info = ifbdev->helper.fbdev; + + return (info); +} + const struct intel_device_info * i915_get_device_id(int device) { @@ -400,6 +421,10 @@ static device_method_t i915_methods[] = DEVMETHOD(device_suspend, i915_suspend), DEVMETHOD(device_resume, i915_resume), DEVMETHOD(device_detach, drm_detach), + + /* Framebuffer service methods */ + DEVMETHOD(fb_getinfo, i915_fb_helper_getinfo), + DEVMETHOD_END }; Modified: projects/uefi/sys/dev/drm2/i915/intel_fb.c ============================================================================== --- projects/uefi/sys/dev/drm2/i915/intel_fb.c Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/dev/drm2/i915/intel_fb.c Thu Dec 5 23:18:54 2013 (r259020) @@ -41,8 +41,8 @@ static int intelfb_create(struct intel_f struct drm_device *dev = ifbdev->helper.dev; #if 0 struct drm_i915_private *dev_priv = dev->dev_private; - struct fb_info *info; #endif + struct fb_info *info; struct drm_framebuffer *fb; struct drm_mode_fb_cmd2 mode_cmd; struct drm_i915_gem_object *obj; @@ -86,6 +86,16 @@ static int intelfb_create(struct intel_f } info->par = ifbdev; +#else + info = malloc(sizeof(struct fb_info), DRM_MEM_KMS, M_WAITOK | M_ZERO); + info->fb_size = size; + info->fb_bpp = sizes->surface_bpp; + info->fb_width = sizes->fb_width; + info->fb_height = sizes->fb_height; + info->fb_pbase = dev->agp->base + obj->gtt_offset; + info->fb_vbase = (vm_offset_t)pmap_mapdev_attr(info->fb_pbase, size, + PAT_WRITE_COMBINING); + #endif ret = intel_framebuffer_init(dev, &ifbdev->ifb, &mode_cmd, obj); @@ -95,8 +105,8 @@ static int intelfb_create(struct intel_f fb = &ifbdev->ifb.base; ifbdev->helper.fb = fb; -#if 0 ifbdev->helper.fbdev = info; +#if 0 strcpy(info->fix.id, "inteldrmfb"); @@ -135,9 +145,8 @@ static int intelfb_create(struct intel_f /* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */ #endif - - DRM_DEBUG_KMS("allocated %dx%d fb: 0x%08x, bo %p\n", - fb->width, fb->height, + DRM_DEBUG_KMS("allocated %dx%d (s %dbits) fb: 0x%08x, bo %p\n", + fb->width, fb->height, fb->depth, obj->gtt_offset, obj); DRM_UNLOCK(dev); Modified: projects/uefi/sys/dev/drm2/radeon/radeon.h ============================================================================== --- projects/uefi/sys/dev/drm2/radeon/radeon.h Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/dev/drm2/radeon/radeon.h Thu Dec 5 23:18:54 2013 (r259020) @@ -2041,6 +2041,9 @@ void radeon_pm_acpi_event_handler(struct int radeon_ttm_init(struct radeon_device *rdev); void radeon_ttm_fini(struct radeon_device *rdev); +/* radeon_fb.c */ +struct fb_info * radeon_fb_helper_getinfo(device_t kdev); + /* r600.c */ int r600_ih_ring_alloc(struct radeon_device *rdev); void r600_ih_ring_fini(struct radeon_device *rdev); Modified: projects/uefi/sys/dev/drm2/radeon/radeon_drv.c ============================================================================== --- projects/uefi/sys/dev/drm2/radeon/radeon_drv.c Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/dev/drm2/radeon/radeon_drv.c Thu Dec 5 23:18:54 2013 (r259020) @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include +#include "fb_if.h" /* * KMS wrapper. @@ -338,6 +339,12 @@ static const struct file_operations rade }; #endif /* DUMBBELL_WIP */ +static int radeon_sysctl_init(struct drm_device *dev, struct sysctl_ctx_list *ctx, + struct sysctl_oid *top) +{ + return drm_add_busid_modesetting(dev, ctx, top); +} + static struct drm_driver_info kms_driver = { .driver_features = DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_PCI_DMA | DRIVER_SG | @@ -367,6 +374,7 @@ static struct drm_driver_info kms_driver .irq_postinstall = radeon_driver_irq_postinstall_kms, .irq_uninstall = radeon_driver_irq_uninstall_kms, .irq_handler = radeon_driver_irq_handler_kms, + .sysctl_init = radeon_sysctl_init, .ioctls = radeon_ioctls_kms, .gem_init_object = radeon_gem_object_init, .gem_free_object = radeon_gem_object_free, @@ -488,6 +496,8 @@ radeon_resume(device_t kdev) return (-ret); } +extern struct fb_info * radeon_fb_helper_getinfo(device_t kdev); + static device_method_t radeon_methods[] = { /* Device interface */ DEVMETHOD(device_probe, radeon_probe), @@ -495,6 +505,10 @@ static device_method_t radeon_methods[] DEVMETHOD(device_suspend, radeon_suspend), DEVMETHOD(device_resume, radeon_resume), DEVMETHOD(device_detach, drm_detach), + + /* Framebuffer service methods */ + DEVMETHOD(fb_getinfo, radeon_fb_helper_getinfo), + DEVMETHOD_END }; Modified: projects/uefi/sys/dev/drm2/radeon/radeon_fb.c ============================================================================== --- projects/uefi/sys/dev/drm2/radeon/radeon_fb.c Thu Dec 5 22:58:05 2013 (r259019) +++ projects/uefi/sys/dev/drm2/radeon/radeon_fb.c Thu Dec 5 23:18:54 2013 (r259020) @@ -27,6 +27,8 @@ #include __FBSDID("$FreeBSD$"); +#include + #include #include #include @@ -46,7 +48,7 @@ struct radeon_fbdev { struct radeon_device *rdev; }; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Fri Dec 6 01:16:35 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 01AFC5E4; Fri, 6 Dec 2013 01:16:35 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DC1D71AA1; Fri, 6 Dec 2013 01:16:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB61GYco018517; Fri, 6 Dec 2013 01:16:34 GMT (envelope-from jhibbits@svn.freebsd.org) Received: (from jhibbits@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB61GUBi018312; Fri, 6 Dec 2013 01:16:30 GMT (envelope-from jhibbits@svn.freebsd.org) Message-Id: <201312060116.rB61GUBi018312@svn.freebsd.org> From: Justin Hibbits Date: Fri, 6 Dec 2013 01:16:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259021 - in projects/pmac_pmu: . bin/pkill bin/sh bin/test cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n cddl/contrib/opensolaris/cmd/plockstat cddl/contrib/opensolaris... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Dec 2013 01:16:35 -0000 Author: jhibbits Date: Fri Dec 6 01:16:26 2013 New Revision: 259021 URL: http://svnweb.freebsd.org/changeset/base/259021 Log: MFC@r259020 Added: projects/pmac_pmu/contrib/atf/atf-c++/detail/auto_array.hpp - copied unchanged from r259020, head/contrib/atf/atf-c++/detail/auto_array.hpp projects/pmac_pmu/contrib/atf/atf-c++/detail/auto_array_test.cpp - copied unchanged from r259020, head/contrib/atf/atf-c++/detail/auto_array_test.cpp projects/pmac_pmu/contrib/atf/atf-c++/noncopyable.hpp - copied unchanged from r259020, head/contrib/atf/atf-c++/noncopyable.hpp projects/pmac_pmu/contrib/atf/atf-c++/utils.cpp - copied unchanged from r259020, head/contrib/atf/atf-c++/utils.cpp projects/pmac_pmu/contrib/gcc/cp/ChangeLog.gcc43 - copied unchanged from r259020, head/contrib/gcc/cp/ChangeLog.gcc43 projects/pmac_pmu/contrib/gcc/tree-ssa-alias-warnings.c - copied unchanged from r259020, head/contrib/gcc/tree-ssa-alias-warnings.c projects/pmac_pmu/contrib/gcclibs/libcpp/ChangeLog.gcc43 - copied unchanged from r259020, head/contrib/gcclibs/libcpp/ChangeLog.gcc43 projects/pmac_pmu/contrib/gcclibs/libcpp/directives-only.c - copied unchanged from r259020, head/contrib/gcclibs/libcpp/directives-only.c projects/pmac_pmu/contrib/gcclibs/libiberty/ChangeLog.gcc43 - copied unchanged from r259020, head/contrib/gcclibs/libiberty/ChangeLog.gcc43 projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/StreamGDBRemote.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/Core/StreamGDBRemote.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/Debug.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/Host/Debug.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/OptionParser.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/Host/OptionParser.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/RegisterCheckpoint.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/Target/RegisterCheckpoint.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/SystemRuntime.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/Target/SystemRuntime.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Utility/Iterable.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/Utility/Iterable.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBPlatform.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/API/SBPlatform.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/StreamGDBRemote.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Core/StreamGDBRemote.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/LibCxxUnorderedMap.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/DataFormatters/LibCxxUnorderedMap.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/OptionParser.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Host/common/OptionParser.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/ProcessRunLock.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Host/common/ProcessRunLock.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/ - copied from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/ projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_i386.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_i386.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_i386.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_i386.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_mips64.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_mips64.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_mips64.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_mips64.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_i386.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_i386.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_i386.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_i386.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_mips64.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_mips64.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_mips64.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_mips64.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_mips64.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_mips64.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_mips64.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_mips64.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_x86.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_x86.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_x86.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_x86.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_mips64.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_mips64.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_i386.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_i386.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_mips64.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_mips64.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_x86_64.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_x86_64.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/SystemRuntime.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Target/SystemRuntime.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/ELWrapper.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/tools/driver/ELWrapper.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/ELWrapper.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/tools/driver/ELWrapper.h projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/GetOptWrapper.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/tools/driver/GetOptWrapper.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/GetOptWrapper.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/tools/driver/GetOptWrapper.h projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/Platform.cpp - copied unchanged from r259020, head/contrib/llvm/tools/lldb/tools/driver/Platform.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/Platform.h - copied unchanged from r259020, head/contrib/llvm/tools/lldb/tools/driver/Platform.h projects/pmac_pmu/contrib/llvm/tools/lldb/tools/lldb-platform/ - copied from r259020, head/contrib/llvm/tools/lldb/tools/lldb-platform/ projects/pmac_pmu/etc/casper/ - copied from r259020, head/etc/casper/ projects/pmac_pmu/lib/libc/iconv/__iconv.c - copied unchanged from r259020, head/lib/libc/iconv/__iconv.c projects/pmac_pmu/lib/libc/iconv/__iconv_free_list.c - copied unchanged from r259020, head/lib/libc/iconv/__iconv_free_list.c projects/pmac_pmu/lib/libc/iconv/__iconv_get_list.c - copied unchanged from r259020, head/lib/libc/iconv/__iconv_get_list.c projects/pmac_pmu/lib/libc/iconv/bsd_iconv.c - copied unchanged from r259020, head/lib/libc/iconv/bsd_iconv.c projects/pmac_pmu/lib/libc/iconv/iconv-internal.h - copied unchanged from r259020, head/lib/libc/iconv/iconv-internal.h projects/pmac_pmu/lib/libc/iconv/iconv_canonicalize.c - copied unchanged from r259020, head/lib/libc/iconv/iconv_canonicalize.c projects/pmac_pmu/lib/libc/iconv/iconv_close.c - copied unchanged from r259020, head/lib/libc/iconv/iconv_close.c projects/pmac_pmu/lib/libc/iconv/iconv_compat.c - copied unchanged from r259020, head/lib/libc/iconv/iconv_compat.c projects/pmac_pmu/lib/libc/iconv/iconv_open.c - copied unchanged from r259020, head/lib/libc/iconv/iconv_open.c projects/pmac_pmu/lib/libc/iconv/iconv_open_into.c - copied unchanged from r259020, head/lib/libc/iconv/iconv_open_into.c projects/pmac_pmu/lib/libc/iconv/iconv_set_relocation_prefix.c - copied unchanged from r259020, head/lib/libc/iconv/iconv_set_relocation_prefix.c projects/pmac_pmu/lib/libc/iconv/iconvctl.c - copied unchanged from r259020, head/lib/libc/iconv/iconvctl.c projects/pmac_pmu/lib/libc/iconv/iconvlist.c - copied unchanged from r259020, head/lib/libc/iconv/iconvlist.c projects/pmac_pmu/lib/libc_nonshared/ - copied from r259020, head/lib/libc_nonshared/ projects/pmac_pmu/lib/libcapsicum/ - copied from r259020, head/lib/libcapsicum/ projects/pmac_pmu/lib/libcasper/ - copied from r259020, head/lib/libcasper/ projects/pmac_pmu/lib/libnv/ - copied from r259020, head/lib/libnv/ projects/pmac_pmu/lib/libpjdlog/ - copied from r259020, head/lib/libpjdlog/ projects/pmac_pmu/libexec/casper/ - copied from r259020, head/libexec/casper/ projects/pmac_pmu/release/amd64/pkg-stage.conf - copied unchanged from r259020, head/release/amd64/pkg-stage.conf projects/pmac_pmu/release/i386/pkg-stage.conf - copied unchanged from r259020, head/release/i386/pkg-stage.conf projects/pmac_pmu/release/scripts/pkg-stage.sh - copied unchanged from r259020, head/release/scripts/pkg-stage.sh projects/pmac_pmu/sbin/casperd/ - copied from r259020, head/sbin/casperd/ projects/pmac_pmu/share/examples/tests/ - copied from r259020, head/share/examples/tests/ projects/pmac_pmu/share/man/man4/axge.4 - copied unchanged from r259020, head/share/man/man4/axge.4 projects/pmac_pmu/share/man/man4/gpioiic.4 - copied unchanged from r259020, head/share/man/man4/gpioiic.4 projects/pmac_pmu/share/man/man4/gpioled.4 - copied unchanged from r259020, head/share/man/man4/gpioled.4 projects/pmac_pmu/share/tests/ - copied from r259020, head/share/tests/ projects/pmac_pmu/sys/amd64/vmm/io/vhpet.c - copied unchanged from r259020, head/sys/amd64/vmm/io/vhpet.c projects/pmac_pmu/sys/amd64/vmm/io/vhpet.h - copied unchanged from r259020, head/sys/amd64/vmm/io/vhpet.h projects/pmac_pmu/sys/amd64/vmm/io/vioapic.c - copied unchanged from r259020, head/sys/amd64/vmm/io/vioapic.c projects/pmac_pmu/sys/amd64/vmm/io/vioapic.h - copied unchanged from r259020, head/sys/amd64/vmm/io/vioapic.h projects/pmac_pmu/sys/arm/conf/COSMIC - copied unchanged from r259020, head/sys/arm/conf/COSMIC projects/pmac_pmu/sys/arm/freescale/vybrid/ - copied from r259020, head/sys/arm/freescale/vybrid/ projects/pmac_pmu/sys/arm/rockchip/rk30xx_wdog.c - copied unchanged from r259020, head/sys/arm/rockchip/rk30xx_wdog.c projects/pmac_pmu/sys/arm/rockchip/rk30xx_wdog.h - copied unchanged from r259020, head/sys/arm/rockchip/rk30xx_wdog.h projects/pmac_pmu/sys/arm/ti/ti_mbox.c - copied unchanged from r259020, head/sys/arm/ti/ti_mbox.c projects/pmac_pmu/sys/arm/ti/ti_mbox.h - copied unchanged from r259020, head/sys/arm/ti/ti_mbox.h projects/pmac_pmu/sys/arm/ti/ti_pruss.c - copied unchanged from r259020, head/sys/arm/ti/ti_pruss.c projects/pmac_pmu/sys/arm/ti/ti_pruss.h - copied unchanged from r259020, head/sys/arm/ti/ti_pruss.h projects/pmac_pmu/sys/boot/fdt/dts/vybrid-cosmic.dts - copied unchanged from r259020, head/sys/boot/fdt/dts/vybrid-cosmic.dts projects/pmac_pmu/sys/boot/fdt/dts/vybrid.dtsi - copied unchanged from r259020, head/sys/boot/fdt/dts/vybrid.dtsi projects/pmac_pmu/sys/cddl/compat/opensolaris/sys/disp.h - copied unchanged from r259020, head/sys/cddl/compat/opensolaris/sys/disp.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c - copied unchanged from r259020, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_reftree.c - copied unchanged from r259020, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_reftree.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/range_tree.h - copied unchanged from r259020, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/range_tree.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_reftree.h - copied unchanged from r259020, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_reftree.h projects/pmac_pmu/sys/dev/fb/fb_if.m - copied unchanged from r259020, head/sys/dev/fb/fb_if.m projects/pmac_pmu/sys/dev/fb/fbd.c - copied unchanged from r259020, head/sys/dev/fb/fbd.c projects/pmac_pmu/sys/dev/iwn/if_iwn_chip_cfg.h - copied unchanged from r259020, head/sys/dev/iwn/if_iwn_chip_cfg.h projects/pmac_pmu/sys/dev/nand/nfc_at91.c - copied unchanged from r259020, head/sys/dev/nand/nfc_at91.c projects/pmac_pmu/sys/dev/usb/net/if_axge.c - copied unchanged from r259020, head/sys/dev/usb/net/if_axge.c projects/pmac_pmu/sys/dev/usb/net/if_axgereg.h - copied unchanged from r259020, head/sys/dev/usb/net/if_axgereg.h projects/pmac_pmu/sys/dev/vt/ - copied from r259020, head/sys/dev/vt/ projects/pmac_pmu/sys/kern/subr_terminal.c - copied unchanged from r259020, head/sys/kern/subr_terminal.c projects/pmac_pmu/sys/modules/usb/axge/ - copied from r259020, head/sys/modules/usb/axge/ projects/pmac_pmu/sys/net/ieee_oui.h - copied unchanged from r259020, head/sys/net/ieee_oui.h projects/pmac_pmu/sys/net/sff8472.h - copied unchanged from r259020, head/sys/net/sff8472.h projects/pmac_pmu/sys/powerpc/mpc85xx/platform_mpc85xx.c - copied unchanged from r259020, head/sys/powerpc/mpc85xx/platform_mpc85xx.c projects/pmac_pmu/sys/powerpc/ofw/ofw_pcibus.h - copied unchanged from r259020, head/sys/powerpc/ofw/ofw_pcibus.h projects/pmac_pmu/sys/powerpc/powerpc/copyinout.c - copied unchanged from r259020, head/sys/powerpc/powerpc/copyinout.c projects/pmac_pmu/sys/powerpc/powerpc/swtch32.S - copied unchanged from r259020, head/sys/powerpc/powerpc/swtch32.S projects/pmac_pmu/sys/powerpc/powerpc/swtch64.S - copied unchanged from r259020, head/sys/powerpc/powerpc/swtch64.S projects/pmac_pmu/sys/powerpc/pseries/plpar_pcibus.c - copied unchanged from r259020, head/sys/powerpc/pseries/plpar_pcibus.c projects/pmac_pmu/sys/powerpc/wii/ios_if.m - copied unchanged from r259020, head/sys/powerpc/wii/ios_if.m projects/pmac_pmu/sys/sys/ktr_class.h - copied unchanged from r259020, head/sys/sys/ktr_class.h projects/pmac_pmu/sys/sys/sf_sync.h - copied unchanged from r259020, head/sys/sys/sf_sync.h projects/pmac_pmu/sys/sys/terminal.h - copied unchanged from r259020, head/sys/sys/terminal.h projects/pmac_pmu/tools/build/options/WITHOUT_CASPER - copied unchanged from r259020, head/tools/build/options/WITHOUT_CASPER projects/pmac_pmu/tools/build/options/WITH_TESTS - copied unchanged from r259020, head/tools/build/options/WITH_TESTS projects/pmac_pmu/tools/regression/bin/sh/builtins/command12.0 - copied unchanged from r259020, head/tools/regression/bin/sh/builtins/command12.0 projects/pmac_pmu/tools/regression/bin/sh/execution/bg10.0 - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg10.0 projects/pmac_pmu/tools/regression/bin/sh/execution/bg10.0.stdout - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg10.0.stdout projects/pmac_pmu/tools/regression/bin/sh/execution/bg5.0 - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg5.0 projects/pmac_pmu/tools/regression/bin/sh/execution/bg6.0 - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg6.0 projects/pmac_pmu/tools/regression/bin/sh/execution/bg6.0.stdout - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg6.0.stdout projects/pmac_pmu/tools/regression/bin/sh/execution/bg7.0 - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg7.0 projects/pmac_pmu/tools/regression/bin/sh/execution/bg8.0 - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg8.0 projects/pmac_pmu/tools/regression/bin/sh/execution/bg9.0 - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg9.0 projects/pmac_pmu/tools/regression/bin/sh/parser/var-assign1.0 - copied unchanged from r259020, head/tools/regression/bin/sh/parser/var-assign1.0 projects/pmac_pmu/tools/regression/capsicum/libcapsicum/ - copied from r259020, head/tools/regression/capsicum/libcapsicum/ projects/pmac_pmu/tools/regression/lib/libnv/ - copied from r259020, head/tools/regression/lib/libnv/ projects/pmac_pmu/tools/regression/usr.sbin/etcupdate/preworld.sh - copied unchanged from r259020, head/tools/regression/usr.sbin/etcupdate/preworld.sh projects/pmac_pmu/tools/tools/vt/ - copied from r259020, head/tools/tools/vt/ projects/pmac_pmu/usr.sbin/bsdconfig/includes/ - copied from r259020, head/usr.sbin/bsdconfig/includes/ Replaced: projects/pmac_pmu/lib/libc/iconv/iconv.c - copied unchanged from r259020, head/lib/libc/iconv/iconv.c Deleted: projects/pmac_pmu/contrib/apr-util/test/testssl.c projects/pmac_pmu/contrib/atf/Atffile projects/pmac_pmu/contrib/atf/Makefile.am projects/pmac_pmu/contrib/atf/Makefile.in projects/pmac_pmu/contrib/atf/admin/ projects/pmac_pmu/contrib/atf/atf-c++/Atffile projects/pmac_pmu/contrib/atf/atf-c++/Makefile.am.inc projects/pmac_pmu/contrib/atf/atf-c++/detail/Atffile projects/pmac_pmu/contrib/atf/atf-c++/detail/Makefile.am.inc projects/pmac_pmu/contrib/atf/atf-c/Atffile projects/pmac_pmu/contrib/atf/atf-c/Makefile.am.inc projects/pmac_pmu/contrib/atf/atf-c/detail/Atffile projects/pmac_pmu/contrib/atf/atf-c/detail/Makefile.am.inc projects/pmac_pmu/contrib/atf/atf-c/detail/test_helpers_test.c projects/pmac_pmu/contrib/atf/atf-config/ projects/pmac_pmu/contrib/atf/atf-report/ projects/pmac_pmu/contrib/atf/atf-run/ projects/pmac_pmu/contrib/atf/atf-sh/Atffile projects/pmac_pmu/contrib/atf/atf-sh/Makefile.am.inc projects/pmac_pmu/contrib/atf/atf-version/ projects/pmac_pmu/contrib/atf/bconfig.h.in projects/pmac_pmu/contrib/atf/configure projects/pmac_pmu/contrib/atf/configure.ac projects/pmac_pmu/contrib/atf/doc/Makefile.am.inc projects/pmac_pmu/contrib/atf/doc/atf-formats.5 projects/pmac_pmu/contrib/atf/doc/atf.7.in projects/pmac_pmu/contrib/atf/test-programs/Atffile projects/pmac_pmu/contrib/atf/test-programs/Makefile.am.inc projects/pmac_pmu/contrib/atf/test-programs/fork_test.sh projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Utility/RefCounter.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_i386.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_i386.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_x86_64.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_x86_64.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextCoreFreeBSD_x86_64.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextCoreFreeBSD_x86_64.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextCoreLinux_x86_64.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextCoreLinux_x86_64.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Utility/RefCounter.cpp projects/pmac_pmu/lib/libc/rpc/LICENSE projects/pmac_pmu/sys/arm/samsung/exynos/bus_space.c projects/pmac_pmu/sys/cddl/compat/opensolaris/sys/taskq.h projects/pmac_pmu/sys/powerpc/aim/copyinout.c projects/pmac_pmu/sys/powerpc/aim/swtch32.S projects/pmac_pmu/sys/powerpc/aim/swtch64.S projects/pmac_pmu/sys/powerpc/booke/copyinout.c projects/pmac_pmu/sys/powerpc/booke/swtch.S projects/pmac_pmu/tools/build/options/WITH_LIBICONV_COMPAT projects/pmac_pmu/usr.sbin/bhyve/ioapic.c projects/pmac_pmu/usr.sbin/bhyve/ioapic.h Modified: projects/pmac_pmu/Makefile.inc1 projects/pmac_pmu/ObsoleteFiles.inc projects/pmac_pmu/UPDATING projects/pmac_pmu/bin/pkill/pkill.c projects/pmac_pmu/bin/sh/cd.c projects/pmac_pmu/bin/sh/exec.c projects/pmac_pmu/bin/sh/expand.c projects/pmac_pmu/bin/sh/memalloc.c projects/pmac_pmu/bin/sh/mystring.c projects/pmac_pmu/bin/sh/mystring.h projects/pmac_pmu/bin/sh/redir.c projects/pmac_pmu/bin/sh/show.c projects/pmac_pmu/bin/sh/var.c projects/pmac_pmu/bin/test/test.c projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh projects/pmac_pmu/cddl/contrib/opensolaris/cmd/plockstat/plockstat.c projects/pmac_pmu/cddl/contrib/opensolaris/cmd/zdb/zdb.c projects/pmac_pmu/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c projects/pmac_pmu/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 projects/pmac_pmu/cddl/contrib/opensolaris/cmd/ztest/ztest.c projects/pmac_pmu/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/pmac_pmu/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c projects/pmac_pmu/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h projects/pmac_pmu/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c projects/pmac_pmu/contrib/apr-util/CHANGES projects/pmac_pmu/contrib/apr-util/apr-util.spec projects/pmac_pmu/contrib/apr-util/configure projects/pmac_pmu/contrib/apr-util/crypto/apr_crypto.c projects/pmac_pmu/contrib/apr-util/dbd/apr_dbd.c projects/pmac_pmu/contrib/apr-util/dbd/apr_dbd_odbc.c projects/pmac_pmu/contrib/apr-util/dbm/apr_dbm.c projects/pmac_pmu/contrib/apr-util/include/apr_buckets.h projects/pmac_pmu/contrib/apr-util/include/apr_dbd.h projects/pmac_pmu/contrib/apr-util/include/apr_hooks.h projects/pmac_pmu/contrib/apr-util/include/apr_optional_hooks.h projects/pmac_pmu/contrib/apr-util/include/apr_queue.h projects/pmac_pmu/contrib/apr-util/include/apr_reslist.h projects/pmac_pmu/contrib/apr-util/include/apu.hw projects/pmac_pmu/contrib/apr-util/include/apu_version.h projects/pmac_pmu/contrib/apr-util/libaprutil.rc projects/pmac_pmu/contrib/apr-util/memcache/apr_memcache.c projects/pmac_pmu/contrib/apr-util/misc/apu_dso.c projects/pmac_pmu/contrib/apr-util/test/abts.c projects/pmac_pmu/contrib/apr-util/test/testpass.c projects/pmac_pmu/contrib/atf/FREEBSD-Xlist projects/pmac_pmu/contrib/atf/FREEBSD-upgrade projects/pmac_pmu/contrib/atf/NEWS projects/pmac_pmu/contrib/atf/atf-c++.hpp projects/pmac_pmu/contrib/atf/atf-c++/atf-c++-api.3 projects/pmac_pmu/contrib/atf/atf-c++/check.hpp projects/pmac_pmu/contrib/atf/atf-c++/check_test.cpp projects/pmac_pmu/contrib/atf/atf-c++/detail/Kyuafile projects/pmac_pmu/contrib/atf/atf-c++/detail/parser.hpp projects/pmac_pmu/contrib/atf/atf-c++/detail/process.cpp projects/pmac_pmu/contrib/atf/atf-c++/detail/process.hpp projects/pmac_pmu/contrib/atf/atf-c++/detail/test_helpers.cpp projects/pmac_pmu/contrib/atf/atf-c++/detail/test_helpers.hpp projects/pmac_pmu/contrib/atf/atf-c++/macros_test.cpp projects/pmac_pmu/contrib/atf/atf-c++/pkg_config_test.sh projects/pmac_pmu/contrib/atf/atf-c++/tests.cpp projects/pmac_pmu/contrib/atf/atf-c++/tests.hpp projects/pmac_pmu/contrib/atf/atf-c++/utils.hpp projects/pmac_pmu/contrib/atf/atf-c++/utils_test.cpp projects/pmac_pmu/contrib/atf/atf-c.h projects/pmac_pmu/contrib/atf/atf-c/atf-c-api.3 projects/pmac_pmu/contrib/atf/atf-c/check_test.c projects/pmac_pmu/contrib/atf/atf-c/detail/Kyuafile projects/pmac_pmu/contrib/atf/atf-c/detail/process_test.c projects/pmac_pmu/contrib/atf/atf-c/detail/sanity_test.c projects/pmac_pmu/contrib/atf/atf-c/detail/test_helpers.c projects/pmac_pmu/contrib/atf/atf-c/detail/test_helpers.h projects/pmac_pmu/contrib/atf/atf-c/macros.h projects/pmac_pmu/contrib/atf/atf-c/macros_test.c projects/pmac_pmu/contrib/atf/atf-c/pkg_config_test.sh projects/pmac_pmu/contrib/atf/atf-c/utils.c projects/pmac_pmu/contrib/atf/atf-c/utils.h projects/pmac_pmu/contrib/atf/atf-c/utils_test.c projects/pmac_pmu/contrib/atf/atf-sh/atf-check.cpp projects/pmac_pmu/contrib/atf/atf-sh/atf-check_test.sh projects/pmac_pmu/contrib/atf/atf-sh/atf-sh-api.3 projects/pmac_pmu/contrib/atf/atf-sh/atf-sh.1 projects/pmac_pmu/contrib/atf/atf-sh/atf_check_test.sh projects/pmac_pmu/contrib/atf/atf-sh/misc_helpers.sh projects/pmac_pmu/contrib/atf/bconfig.h projects/pmac_pmu/contrib/atf/test-programs/Kyuafile projects/pmac_pmu/contrib/atf/test-programs/c_helpers.c projects/pmac_pmu/contrib/atf/test-programs/cpp_helpers.cpp projects/pmac_pmu/contrib/atf/test-programs/sh_helpers.sh projects/pmac_pmu/contrib/binutils/binutils/cxxfilt.c projects/pmac_pmu/contrib/bmake/hash.c projects/pmac_pmu/contrib/bmake/lst.lib/lstMember.c projects/pmac_pmu/contrib/gcc/ChangeLog.gcc43 projects/pmac_pmu/contrib/gcc/Makefile.in projects/pmac_pmu/contrib/gcc/builtin-types.def projects/pmac_pmu/contrib/gcc/builtins.c projects/pmac_pmu/contrib/gcc/builtins.def projects/pmac_pmu/contrib/gcc/c-common.c projects/pmac_pmu/contrib/gcc/c-common.h projects/pmac_pmu/contrib/gcc/c-decl.c projects/pmac_pmu/contrib/gcc/c-opts.c projects/pmac_pmu/contrib/gcc/c-ppoutput.c projects/pmac_pmu/contrib/gcc/c-typeck.c projects/pmac_pmu/contrib/gcc/c.opt projects/pmac_pmu/contrib/gcc/cgraphunit.c projects/pmac_pmu/contrib/gcc/collect2.c projects/pmac_pmu/contrib/gcc/common.opt projects/pmac_pmu/contrib/gcc/config/i386/beos-elf.h projects/pmac_pmu/contrib/gcc/config/i386/cygwin.h projects/pmac_pmu/contrib/gcc/config/i386/i386.c projects/pmac_pmu/contrib/gcc/config/i386/i386.h projects/pmac_pmu/contrib/gcc/config/i386/i386.md projects/pmac_pmu/contrib/gcc/config/i386/nto.h projects/pmac_pmu/contrib/gcc/config/rs6000/aix.h projects/pmac_pmu/contrib/gcc/config/rs6000/altivec.h projects/pmac_pmu/contrib/gcc/config/rs6000/rs6000-c.c projects/pmac_pmu/contrib/gcc/config/rs6000/rs6000.c projects/pmac_pmu/contrib/gcc/config/rs6000/sysv4.h projects/pmac_pmu/contrib/gcc/config/svr4.h projects/pmac_pmu/contrib/gcc/configure projects/pmac_pmu/contrib/gcc/configure.ac projects/pmac_pmu/contrib/gcc/coverage.c projects/pmac_pmu/contrib/gcc/cp/call.c projects/pmac_pmu/contrib/gcc/cp/cp-lang.c projects/pmac_pmu/contrib/gcc/cp/cp-tree.h projects/pmac_pmu/contrib/gcc/cp/decl.c projects/pmac_pmu/contrib/gcc/cp/decl2.c projects/pmac_pmu/contrib/gcc/cp/mangle.c projects/pmac_pmu/contrib/gcc/cp/name-lookup.c projects/pmac_pmu/contrib/gcc/cp/parser.c projects/pmac_pmu/contrib/gcc/cp/pt.c projects/pmac_pmu/contrib/gcc/cp/semantics.c projects/pmac_pmu/contrib/gcc/cp/tree.c projects/pmac_pmu/contrib/gcc/cp/typeck.c projects/pmac_pmu/contrib/gcc/cppdefault.c projects/pmac_pmu/contrib/gcc/doc/cppopts.texi projects/pmac_pmu/contrib/gcc/doc/extend.texi projects/pmac_pmu/contrib/gcc/doc/invoke.texi projects/pmac_pmu/contrib/gcc/doc/libgcc.texi projects/pmac_pmu/contrib/gcc/doc/rtl.texi projects/pmac_pmu/contrib/gcc/dwarf2out.c projects/pmac_pmu/contrib/gcc/expr.c projects/pmac_pmu/contrib/gcc/final.c projects/pmac_pmu/contrib/gcc/flags.h projects/pmac_pmu/contrib/gcc/fold-const.c projects/pmac_pmu/contrib/gcc/gcc.c projects/pmac_pmu/contrib/gcc/genattrtab.c projects/pmac_pmu/contrib/gcc/genopinit.c projects/pmac_pmu/contrib/gcc/gimplify.c projects/pmac_pmu/contrib/gcc/langhooks-def.h projects/pmac_pmu/contrib/gcc/langhooks.h projects/pmac_pmu/contrib/gcc/libgcc-std.ver projects/pmac_pmu/contrib/gcc/libgcc2.c projects/pmac_pmu/contrib/gcc/libgcc2.h projects/pmac_pmu/contrib/gcc/mips-tdump.c projects/pmac_pmu/contrib/gcc/mips-tfile.c projects/pmac_pmu/contrib/gcc/mklibgcc.in projects/pmac_pmu/contrib/gcc/optabs.c projects/pmac_pmu/contrib/gcc/optabs.h projects/pmac_pmu/contrib/gcc/opts.c projects/pmac_pmu/contrib/gcc/postreload-gcse.c projects/pmac_pmu/contrib/gcc/print-tree.c projects/pmac_pmu/contrib/gcc/regs.h projects/pmac_pmu/contrib/gcc/reload1.c projects/pmac_pmu/contrib/gcc/rtl.def projects/pmac_pmu/contrib/gcc/rtlanal.c projects/pmac_pmu/contrib/gcc/simplify-rtx.c projects/pmac_pmu/contrib/gcc/toplev.c projects/pmac_pmu/contrib/gcc/tree-flow.h projects/pmac_pmu/contrib/gcc/tree-ssa-alias.c projects/pmac_pmu/contrib/gcc/tree-ssa-propagate.c projects/pmac_pmu/contrib/gcc/tree-vrp.c projects/pmac_pmu/contrib/gcc/tree.c projects/pmac_pmu/contrib/gcc/tree.h projects/pmac_pmu/contrib/gcc/varasm.c projects/pmac_pmu/contrib/gcclibs/libcpp/Makefile.in projects/pmac_pmu/contrib/gcclibs/libcpp/charset.c projects/pmac_pmu/contrib/gcclibs/libcpp/directives.c projects/pmac_pmu/contrib/gcclibs/libcpp/errors.c projects/pmac_pmu/contrib/gcclibs/libcpp/expr.c projects/pmac_pmu/contrib/gcclibs/libcpp/files.c projects/pmac_pmu/contrib/gcclibs/libcpp/include/cpplib.h projects/pmac_pmu/contrib/gcclibs/libcpp/init.c projects/pmac_pmu/contrib/gcclibs/libcpp/internal.h projects/pmac_pmu/contrib/gcclibs/libcpp/lex.c projects/pmac_pmu/contrib/gcclibs/libcpp/macro.c projects/pmac_pmu/contrib/gcclibs/libcpp/pch.c projects/pmac_pmu/contrib/gcclibs/libiberty/choose-temp.c projects/pmac_pmu/contrib/gcclibs/libiberty/cp-demangle.c projects/pmac_pmu/contrib/gcclibs/libiberty/cp-demangle.h projects/pmac_pmu/contrib/gcclibs/libiberty/floatformat.c projects/pmac_pmu/contrib/gcclibs/libiberty/functions.texi projects/pmac_pmu/contrib/gcclibs/libiberty/pex-unix.c projects/pmac_pmu/contrib/gcclibs/libiberty/strsignal.c projects/pmac_pmu/contrib/gcclibs/libiberty/testsuite/demangle-expected projects/pmac_pmu/contrib/gcclibs/libiberty/testsuite/test-demangle.c projects/pmac_pmu/contrib/gdb/gdb/amd64fbsd-nat.c projects/pmac_pmu/contrib/gperf/doc/gperf.1 projects/pmac_pmu/contrib/gperf/src/options.cc projects/pmac_pmu/contrib/gperf/src/options.h projects/pmac_pmu/contrib/gperf/src/options.icc projects/pmac_pmu/contrib/gperf/src/output.cc projects/pmac_pmu/contrib/libexecinfo/backtrace.c projects/pmac_pmu/contrib/libstdc++/include/bits/basic_string.h projects/pmac_pmu/contrib/libstdc++/include/bits/basic_string.tcc projects/pmac_pmu/contrib/libstdc++/include/bits/stl_algobase.h projects/pmac_pmu/contrib/libstdc++/include/bits/stl_tree.h projects/pmac_pmu/contrib/libstdc++/include/bits/stl_vector.h projects/pmac_pmu/contrib/libstdc++/include/ext/hashtable.h projects/pmac_pmu/contrib/libstdc++/include/ext/mt_allocator.h projects/pmac_pmu/contrib/libstdc++/include/ext/throw_allocator.h projects/pmac_pmu/contrib/libstdc++/libsupc++/eh_alloc.cc projects/pmac_pmu/contrib/libstdc++/src/mt_allocator.cc projects/pmac_pmu/contrib/llvm/include/llvm/Support/Dwarf.h projects/pmac_pmu/contrib/llvm/include/llvm/Support/ELF.h projects/pmac_pmu/contrib/llvm/lib/Analysis/CaptureTracking.cpp projects/pmac_pmu/contrib/llvm/lib/Support/Dwarf.cpp projects/pmac_pmu/contrib/llvm/tools/clang/lib/Headers/emmintrin.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBDebugger.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBError.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBExpressionOptions.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpec.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBHostOS.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBModule.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBProcess.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocation.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationList.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolver.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointSiteList.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Breakpoint/StoppointLocation.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Address.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ArchSpec.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ConnectionFileDescriptor.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ConnectionMachPort.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ConstString.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/DataExtractor.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Disassembler.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/EmulateInstruction.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Error.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Flags.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Log.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Module.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ModuleList.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ModuleSpec.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Opcode.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/PluginManager.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/RangeMap.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/RegularExpression.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/UUID.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Value.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ValueObject.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectDynamicValue.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/dwarf.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/CXXFormatterFunctions.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/DataVisualization.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatClasses.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatNavigator.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeCategory.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeCategoryMap.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeSummary.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeSynthetic.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Expression/ClangExpressionDeclMap.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Expression/ClangFunction.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Expression/ClangUserExpression.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Expression/DWARFExpression.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Expression/IRExecutionUnit.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Expression/IRForTarget.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/Condition.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/Config.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/File.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/FileSpec.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/Host.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/Mutex.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/ProcessRunLock.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/SocketAddress.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/Symbols.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/Terminal.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/TimeValue.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/Args.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandObject.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupValueObjectDisplay.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueBoolean.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueEnumeration.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/Options.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/PythonDataObjects.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreter.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/Block.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangASTImporter.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangASTType.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangNamespaceDecl.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/ObjectFile.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/Symbol.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolContext.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/Symtab.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/Type.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/TypeList.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/ABI.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/DynamicLoader.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/ExecutionContext.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/LanguageRuntime.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/Platform.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/Process.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/RegisterContext.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/StackFrame.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/StackFrameList.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/StackID.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/Target.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/Thread.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/ThreadList.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunction.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallUserExpression.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepOverRange.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Utility/PythonPointer.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Utility/SharingPtr.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-defines.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-enumerations.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-forward.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-private-enumerations.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-private-interfaces.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-private-log.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-private.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-python.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-types.h projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-versioning.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBCommandInterpreter.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBData.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBDebugger.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBExpressionOptions.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBFileSpec.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBFunction.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBHostOS.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBModule.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBModuleSpec.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBProcess.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBStream.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBSymbol.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBTarget.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBThread.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBType.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBTypeCategory.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBTypeNameSpecifier.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBValue.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/Breakpoint.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointList.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocation.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationList.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolver.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverName.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/StoppointLocation.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandCompletions.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectArgs.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpoint.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpointCommand.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectCommands.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectDisassemble.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectFrame.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectHelp.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectLog.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectMemory.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlatform.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectProcess.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectRegister.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectSettings.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectSource.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectTarget.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectThread.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectType.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpoint.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpointCommand.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Address.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ArchSpec.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Communication.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ConnectionFileDescriptor.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ConnectionMachPort.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ConnectionSharedMemory.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ConstString.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/DataBufferMemoryMap.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/DataExtractor.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Debugger.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Disassembler.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Error.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/FileLineResolver.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Log.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Mangled.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Module.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ModuleList.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Opcode.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/PluginManager.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/SearchFilter.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/SourceManager.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/StreamFile.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Timer.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Value.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ValueObject.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ValueObjectDynamicValue.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ValueObjectSyntheticFilter.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ValueObjectVariable.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/CXXFormatterFunctions.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/DataVisualization.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/FormatCache.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/FormatClasses.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/FormatManager.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/LibCxx.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/LibStdcpp.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/NSDictionary.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/NSSet.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategory.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategoryMap.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/TypeFormat.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/TypeSummary.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/ClangASTSource.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/ClangExpressionDeclMap.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/ClangExpressionParser.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/ClangFunction.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/ClangUserExpression.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/DWARFExpression.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/IRForTarget.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/IRInterpreter.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/IRMemoryMap.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/Condition.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/File.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/FileSpec.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/Host.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/Mutex.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/SocketAddress.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/Terminal.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/TimeValue.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/freebsd/Host.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/Args.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/CommandInterpreter.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/CommandObject.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupArchitecture.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupBoolean.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupFile.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupFormat.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupOutputFile.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupPlatform.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupString.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupUInt64.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupUUID.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupVariable.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupWatchpoint.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFileSpec.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionValueProperties.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/Options.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/PythonDataObjects.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreter.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreterPython.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulationStateARM.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessMessage.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessMessage.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_x86_64.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_x86_64.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_x86_64.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_x86_64.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_x86.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ThreadElfCore.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationList.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationList.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/ClangASTImporter.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/ClangASTType.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/CompileUnit.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/DWARFCallFrameInfo.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/FuncUnwinders.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/LineEntry.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/ObjectFile.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/Symbol.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/SymbolContext.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/Symtab.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/Type.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/UnwindTable.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/Variable.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ExecutionContext.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/LanguageRuntime.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/Platform.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/Process.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/RegisterContext.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/StackFrame.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/StackFrameList.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/StopInfo.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/Target.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/TargetList.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/Thread.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallUserExpression.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanRunToAddress.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepInRange.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOut.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOverRange.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepRange.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepThrough.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepUntil.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/UnixSignals.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Utility/PseudoTerminal.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Utility/SharingPtr.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Utility/StringExtractor.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Utility/StringExtractor.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.h projects/pmac_pmu/contrib/llvm/tools/lldb/source/lldb-log.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/source/lldb.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/Driver.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/Driver.h projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/IOChannel.cpp projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/IOChannel.h projects/pmac_pmu/contrib/mdocml/lib.in projects/pmac_pmu/contrib/mtree/compare.c projects/pmac_pmu/contrib/mtree/create.c projects/pmac_pmu/contrib/mtree/spec.c projects/pmac_pmu/contrib/netcat/nc.1 projects/pmac_pmu/contrib/netcat/netcat.c projects/pmac_pmu/contrib/nvi/README projects/pmac_pmu/contrib/nvi/common/main.c projects/pmac_pmu/contrib/nvi/docs/USD.doc/vi.man/vi.1 projects/pmac_pmu/contrib/nvi/ex/ex_print.c projects/pmac_pmu/contrib/nvi/ex/version.h projects/pmac_pmu/contrib/nvi/vi/v_txt.c projects/pmac_pmu/contrib/nvi/vi/vs_refresh.c projects/pmac_pmu/contrib/smbfs/lib/smb/nls.c projects/pmac_pmu/contrib/subversion/CHANGES projects/pmac_pmu/contrib/subversion/INSTALL projects/pmac_pmu/contrib/subversion/Makefile.in projects/pmac_pmu/contrib/subversion/build-outputs.mk projects/pmac_pmu/contrib/subversion/build.conf projects/pmac_pmu/contrib/subversion/configure projects/pmac_pmu/contrib/subversion/configure.ac projects/pmac_pmu/contrib/subversion/subversion/include/private/svn_client_private.h projects/pmac_pmu/contrib/subversion/subversion/include/private/svn_subr_private.h projects/pmac_pmu/contrib/subversion/subversion/include/svn_config.h projects/pmac_pmu/contrib/subversion/subversion/include/svn_types.h projects/pmac_pmu/contrib/subversion/subversion/include/svn_version.h projects/pmac_pmu/contrib/subversion/subversion/libsvn_client/commit.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_client/externals.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_client/merge.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_client/mergeinfo.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_client/update.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_diff/diff_file.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_fs/fs-loader.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_fs_base/fs.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_fs_fs/fs.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.h projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra/ra_loader.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra/ra_loader.h projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_local/ra_plugin.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_local/split_url.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_serf/commit.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_serf/ra_serf.h projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_serf/replay.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_serf/serf.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_serf/util.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_svn/client.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/auth.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/cache_config.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/cmdline.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/config_auth.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/deprecated.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/dirent_uri.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/internal_statements.h projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/io.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/sysinfo.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/utf.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/version.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/win32_crashrpt.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/diff.h projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/diff_editor.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/diff_local.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/info.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/old-and-busted.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/update_editor.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc-checks.h projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc-metadata.h projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc-queries.h projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc-queries.sql projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc_db.c projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc_db.h projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc_db_private.h projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc_db_update_move.c projects/pmac_pmu/contrib/subversion/subversion/svn/cl.h projects/pmac_pmu/contrib/subversion/subversion/svn/status-cmd.c projects/pmac_pmu/contrib/subversion/subversion/svn/status.c projects/pmac_pmu/contrib/subversion/subversion/svn/svn.c projects/pmac_pmu/contrib/subversion/subversion/svnadmin/svnadmin.c projects/pmac_pmu/contrib/subversion/subversion/svndumpfilter/svndumpfilter.c projects/pmac_pmu/contrib/subversion/subversion/svnlook/svnlook.c projects/pmac_pmu/contrib/subversion/subversion/svnmucc/svnmucc.c projects/pmac_pmu/contrib/subversion/subversion/svnserve/svnserve.c projects/pmac_pmu/contrib/subversion/subversion/svnsync/svnsync.c projects/pmac_pmu/contrib/subversion/subversion/svnversion/svnversion.c projects/pmac_pmu/contrib/tcpdump/extract.h projects/pmac_pmu/crypto/openssh/ChangeLog projects/pmac_pmu/crypto/openssh/README projects/pmac_pmu/crypto/openssh/auth-options.c projects/pmac_pmu/crypto/openssh/auth2-chall.c projects/pmac_pmu/crypto/openssh/authfd.c projects/pmac_pmu/crypto/openssh/channels.c projects/pmac_pmu/crypto/openssh/cipher-3des1.c projects/pmac_pmu/crypto/openssh/clientloop.c projects/pmac_pmu/crypto/openssh/contrib/caldera/openssh.spec projects/pmac_pmu/crypto/openssh/contrib/redhat/openssh.spec projects/pmac_pmu/crypto/openssh/contrib/suse/openssh.spec projects/pmac_pmu/crypto/openssh/gss-genr.c projects/pmac_pmu/crypto/openssh/monitor_mm.c projects/pmac_pmu/crypto/openssh/monitor_wrap.c projects/pmac_pmu/crypto/openssh/packet.c projects/pmac_pmu/crypto/openssh/schnorr.c projects/pmac_pmu/crypto/openssh/sftp-client.c projects/pmac_pmu/crypto/openssh/sftp-glob.c projects/pmac_pmu/crypto/openssh/sftp-server.0 projects/pmac_pmu/crypto/openssh/sftp.0 projects/pmac_pmu/crypto/openssh/ssh_config projects/pmac_pmu/crypto/openssh/ssh_config.5 projects/pmac_pmu/crypto/openssh/sshd_config projects/pmac_pmu/crypto/openssh/sshd_config.5 projects/pmac_pmu/crypto/openssh/umac.c projects/pmac_pmu/crypto/openssh/version.h projects/pmac_pmu/etc/Makefile projects/pmac_pmu/etc/devd/usb.conf projects/pmac_pmu/etc/gettytab projects/pmac_pmu/etc/mtree/BSD.include.dist projects/pmac_pmu/etc/mtree/BSD.root.dist projects/pmac_pmu/etc/mtree/BSD.tests.dist projects/pmac_pmu/etc/mtree/BSD.usr.dist projects/pmac_pmu/etc/mtree/BSD.var.dist projects/pmac_pmu/etc/mtree/Makefile projects/pmac_pmu/etc/network.subr projects/pmac_pmu/etc/pf.os projects/pmac_pmu/etc/pkg/FreeBSD.conf projects/pmac_pmu/etc/rc projects/pmac_pmu/etc/rc.d/ftp-proxy projects/pmac_pmu/etc/rc.d/pflog projects/pmac_pmu/etc/services projects/pmac_pmu/gnu/usr.bin/cc/Makefile.inc projects/pmac_pmu/gnu/usr.bin/cc/cc_int/Makefile projects/pmac_pmu/gnu/usr.bin/cc/cc_tools/freebsd-native.h projects/pmac_pmu/gnu/usr.bin/cc/libcpp/Makefile projects/pmac_pmu/include/Makefile projects/pmac_pmu/include/iconv.h projects/pmac_pmu/include/rpc/auth.h projects/pmac_pmu/include/rpc/auth_des.h projects/pmac_pmu/include/rpc/auth_kerb.h projects/pmac_pmu/include/rpc/auth_unix.h projects/pmac_pmu/include/rpc/clnt.h projects/pmac_pmu/include/rpc/clnt_soc.h projects/pmac_pmu/include/rpc/des.h projects/pmac_pmu/include/rpc/des_crypt.h projects/pmac_pmu/include/rpc/nettype.h projects/pmac_pmu/include/rpc/pmap_clnt.h projects/pmac_pmu/include/rpc/pmap_prot.h projects/pmac_pmu/include/rpc/pmap_rmt.h projects/pmac_pmu/include/rpc/raw.h projects/pmac_pmu/include/rpc/rpc.h projects/pmac_pmu/include/rpc/rpc_com.h projects/pmac_pmu/include/rpc/rpc_msg.h projects/pmac_pmu/include/rpc/rpcb_clnt.h projects/pmac_pmu/include/rpc/rpcb_prot.x projects/pmac_pmu/include/rpc/rpcent.h projects/pmac_pmu/include/rpc/svc.h projects/pmac_pmu/include/rpc/svc_auth.h projects/pmac_pmu/include/rpc/svc_dg.h projects/pmac_pmu/include/rpc/svc_soc.h projects/pmac_pmu/include/rpc/xdr.h projects/pmac_pmu/lib/Makefile projects/pmac_pmu/lib/atf/libatf-c++/Makefile projects/pmac_pmu/lib/atf/libatf-c++/tests/Makefile projects/pmac_pmu/lib/atf/libatf-c/tests/Makefile projects/pmac_pmu/lib/atf/tests/test-programs/Makefile projects/pmac_pmu/lib/clang/liblldbAPI/Makefile projects/pmac_pmu/lib/clang/liblldbCore/Makefile projects/pmac_pmu/lib/clang/liblldbDataFormatters/Makefile projects/pmac_pmu/lib/clang/liblldbHostCommon/Makefile projects/pmac_pmu/lib/clang/liblldbPluginProcessElfCore/Makefile projects/pmac_pmu/lib/clang/liblldbPluginProcessFreeBSD/Makefile projects/pmac_pmu/lib/clang/liblldbPluginProcessPOSIX/Makefile projects/pmac_pmu/lib/clang/liblldbPluginProcessUtility/Makefile projects/pmac_pmu/lib/clang/liblldbPluginSymbolFileDWARF/Makefile projects/pmac_pmu/lib/clang/liblldbTarget/Makefile projects/pmac_pmu/lib/clang/liblldbUtility/Makefile projects/pmac_pmu/lib/libc/Makefile projects/pmac_pmu/lib/libc/amd64/SYS.h projects/pmac_pmu/lib/libc/amd64/gen/_setjmp.S projects/pmac_pmu/lib/libc/amd64/gen/setjmp.S projects/pmac_pmu/lib/libc/amd64/gen/sigsetjmp.S projects/pmac_pmu/lib/libc/amd64/sys/getcontext.S projects/pmac_pmu/lib/libc/amd64/sys/pipe.S projects/pmac_pmu/lib/libc/amd64/sys/reboot.S projects/pmac_pmu/lib/libc/amd64/sys/setlogin.S projects/pmac_pmu/lib/libc/amd64/sys/vfork.S projects/pmac_pmu/lib/libc/i386/SYS.h projects/pmac_pmu/lib/libc/i386/gen/_setjmp.S projects/pmac_pmu/lib/libc/i386/gen/setjmp.S projects/pmac_pmu/lib/libc/i386/gen/sigsetjmp.S projects/pmac_pmu/lib/libc/i386/string/strchr.S projects/pmac_pmu/lib/libc/i386/string/strrchr.S projects/pmac_pmu/lib/libc/i386/sys/Ovfork.S projects/pmac_pmu/lib/libc/i386/sys/getcontext.S projects/pmac_pmu/lib/libc/iconv/Makefile.inc projects/pmac_pmu/lib/libc/iconv/Symbol.map projects/pmac_pmu/lib/libc/iconv/citrus_iconv_local.h projects/pmac_pmu/lib/libc/iconv/iconvctl.3 projects/pmac_pmu/lib/libc/libc.ldscript projects/pmac_pmu/lib/libc/posix1e/acl.3 projects/pmac_pmu/lib/libc/posix1e/acl_is_trivial_np.3 projects/pmac_pmu/lib/libc/powerpc/SYS.h projects/pmac_pmu/lib/libc/powerpc64/SYS.h projects/pmac_pmu/lib/libc/rpc/DISCLAIMER projects/pmac_pmu/lib/libc/rpc/auth_des.c projects/pmac_pmu/lib/libc/rpc/auth_none.c projects/pmac_pmu/lib/libc/rpc/auth_unix.c projects/pmac_pmu/lib/libc/rpc/authdes_prot.c projects/pmac_pmu/lib/libc/rpc/authunix_prot.c projects/pmac_pmu/lib/libc/rpc/bindresvport.c projects/pmac_pmu/lib/libc/rpc/clnt_bcast.c projects/pmac_pmu/lib/libc/rpc/clnt_dg.c projects/pmac_pmu/lib/libc/rpc/clnt_generic.c projects/pmac_pmu/lib/libc/rpc/clnt_perror.c projects/pmac_pmu/lib/libc/rpc/clnt_raw.c projects/pmac_pmu/lib/libc/rpc/clnt_simple.c projects/pmac_pmu/lib/libc/rpc/clnt_vc.c projects/pmac_pmu/lib/libc/rpc/des_crypt.c projects/pmac_pmu/lib/libc/rpc/des_soft.c projects/pmac_pmu/lib/libc/rpc/getnetconfig.c projects/pmac_pmu/lib/libc/rpc/getnetpath.c projects/pmac_pmu/lib/libc/rpc/getpublickey.c projects/pmac_pmu/lib/libc/rpc/getrpcent.c projects/pmac_pmu/lib/libc/rpc/getrpcport.c projects/pmac_pmu/lib/libc/rpc/key_call.c projects/pmac_pmu/lib/libc/rpc/key_prot_xdr.c projects/pmac_pmu/lib/libc/rpc/netname.c projects/pmac_pmu/lib/libc/rpc/netnamer.c projects/pmac_pmu/lib/libc/rpc/pmap_clnt.c projects/pmac_pmu/lib/libc/rpc/pmap_getmaps.c projects/pmac_pmu/lib/libc/rpc/pmap_getport.c projects/pmac_pmu/lib/libc/rpc/pmap_prot.c projects/pmac_pmu/lib/libc/rpc/pmap_prot2.c projects/pmac_pmu/lib/libc/rpc/pmap_rmt.c projects/pmac_pmu/lib/libc/rpc/rpc_callmsg.c projects/pmac_pmu/lib/libc/rpc/rpc_com.h projects/pmac_pmu/lib/libc/rpc/rpc_commondata.c projects/pmac_pmu/lib/libc/rpc/rpc_dtablesize.c projects/pmac_pmu/lib/libc/rpc/rpc_generic.c projects/pmac_pmu/lib/libc/rpc/rpc_prot.c projects/pmac_pmu/lib/libc/rpc/rpc_soc.c projects/pmac_pmu/lib/libc/rpc/rpcb_clnt.c projects/pmac_pmu/lib/libc/rpc/rpcb_prot.c projects/pmac_pmu/lib/libc/rpc/rpcb_st_xdr.c projects/pmac_pmu/lib/libc/rpc/rpcdname.c projects/pmac_pmu/lib/libc/rpc/rtime.c projects/pmac_pmu/lib/libc/rpc/svc.c projects/pmac_pmu/lib/libc/rpc/svc_auth.c projects/pmac_pmu/lib/libc/rpc/svc_auth_des.c projects/pmac_pmu/lib/libc/rpc/svc_auth_unix.c projects/pmac_pmu/lib/libc/rpc/svc_dg.c projects/pmac_pmu/lib/libc/rpc/svc_generic.c projects/pmac_pmu/lib/libc/rpc/svc_raw.c projects/pmac_pmu/lib/libc/rpc/svc_run.c projects/pmac_pmu/lib/libc/rpc/svc_simple.c projects/pmac_pmu/lib/libc/rpc/svc_vc.c projects/pmac_pmu/lib/libc/sparc64/fpu/fpu.c projects/pmac_pmu/lib/libc/sparc64/fpu/fpu_sqrt.c projects/pmac_pmu/lib/libc/stdio/printf_l.3 projects/pmac_pmu/lib/libc/stdio/scanf_l.3 projects/pmac_pmu/lib/libc/string/strcasecmp.3 projects/pmac_pmu/lib/libc/sys/chmod.2 projects/pmac_pmu/lib/libc/sys/pdfork.2 projects/pmac_pmu/lib/libc/sys/wait.2 projects/pmac_pmu/lib/libc/xdr/xdr_rec.c projects/pmac_pmu/lib/libfetch/common.c projects/pmac_pmu/lib/libiconv_modules/UTF7/citrus_utf7.c projects/pmac_pmu/lib/libiconv_modules/iconv_std/citrus_iconv_std.c projects/pmac_pmu/lib/libkse/arch/i386/i386/thr_getcontext.S projects/pmac_pmu/lib/libnetgraph/netgraph.3 projects/pmac_pmu/lib/libpam/libpam/Makefile projects/pmac_pmu/lib/libpmc/pmc.h projects/pmac_pmu/lib/libproc/proc_sym.c projects/pmac_pmu/lib/libsmb/Makefile projects/pmac_pmu/lib/libstand/libstand.3 projects/pmac_pmu/lib/libthr/thread/thr_private.h projects/pmac_pmu/lib/libthr/thread/thr_sig.c projects/pmac_pmu/lib/libutil/expand_number.3 projects/pmac_pmu/lib/libvmmapi/vmmapi.c projects/pmac_pmu/lib/libvmmapi/vmmapi.h projects/pmac_pmu/libexec/Makefile projects/pmac_pmu/release/Makefile projects/pmac_pmu/release/doc/de_DE.ISO8859-1/readme/article.xml projects/pmac_pmu/release/doc/en_US.ISO8859-1/errata/article.xml projects/pmac_pmu/release/doc/en_US.ISO8859-1/hardware/article.xml projects/pmac_pmu/release/doc/en_US.ISO8859-1/readme/article.xml projects/pmac_pmu/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/pmac_pmu/release/doc/ru_RU.KOI8-R/readme/article.xml projects/pmac_pmu/release/doc/zh_CN.GB2312/readme/article.xml projects/pmac_pmu/release/picobsd/build/picobsd projects/pmac_pmu/release/release.sh projects/pmac_pmu/sbin/Makefile projects/pmac_pmu/sbin/fdisk/fdisk.c projects/pmac_pmu/sbin/geom/class/mirror/geom_mirror.c projects/pmac_pmu/sbin/geom/class/mirror/gmirror.8 projects/pmac_pmu/sbin/growfs/growfs.8 projects/pmac_pmu/sbin/ipfw/ipfw2.c projects/pmac_pmu/sbin/ipfw/ipfw2.h projects/pmac_pmu/sbin/mdconfig/mdconfig.8 projects/pmac_pmu/sbin/mdconfig/mdconfig.c projects/pmac_pmu/sbin/nvmecontrol/firmware.c projects/pmac_pmu/sbin/pfctl/pfctl.c projects/pmac_pmu/sbin/route/route.c projects/pmac_pmu/sbin/swapon/swapon.8 projects/pmac_pmu/sbin/sysctl/sysctl.8 projects/pmac_pmu/sbin/sysctl/sysctl.c projects/pmac_pmu/share/Makefile projects/pmac_pmu/share/dict/README projects/pmac_pmu/share/examples/Makefile projects/pmac_pmu/share/i18n/esdb/UTF/UTF.alias projects/pmac_pmu/share/man/man3/tree.3 projects/pmac_pmu/share/man/man4/Makefile projects/pmac_pmu/share/man/man4/capsicum.4 projects/pmac_pmu/share/man/man4/gpio.4 projects/pmac_pmu/share/man/man4/iwn.4 projects/pmac_pmu/share/man/man4/netgraph.4 projects/pmac_pmu/share/man/man4/pf.4 projects/pmac_pmu/share/man/man4/procdesc.4 projects/pmac_pmu/share/man/man4/rights.4 projects/pmac_pmu/share/man/man4/run.4 projects/pmac_pmu/share/man/man4/runfw.4 projects/pmac_pmu/share/man/man4/u3g.4 projects/pmac_pmu/share/man/man4/usb.4 projects/pmac_pmu/share/man/man5/rc.conf.5 projects/pmac_pmu/share/man/man5/src.conf.5 projects/pmac_pmu/share/man/man7/development.7 projects/pmac_pmu/share/man/man7/release.7 projects/pmac_pmu/share/man/man9/SDT.9 projects/pmac_pmu/share/misc/bsd-family-tree projects/pmac_pmu/share/misc/committers-ports.dot (contents, props changed) projects/pmac_pmu/share/misc/committers-src.dot (contents, props changed) projects/pmac_pmu/share/mk/Makefile projects/pmac_pmu/share/mk/atf.test.mk projects/pmac_pmu/share/mk/bsd.libnames.mk projects/pmac_pmu/share/mk/bsd.own.mk projects/pmac_pmu/share/mk/bsd.progs.mk projects/pmac_pmu/share/mk/plain.test.mk projects/pmac_pmu/sys/amd64/amd64/exception.S projects/pmac_pmu/sys/amd64/amd64/machdep.c projects/pmac_pmu/sys/amd64/amd64/trap.c projects/pmac_pmu/sys/amd64/conf/GENERIC projects/pmac_pmu/sys/amd64/ia32/ia32_signal.c projects/pmac_pmu/sys/amd64/include/asm.h projects/pmac_pmu/sys/amd64/include/pcb.h projects/pmac_pmu/sys/amd64/include/segments.h projects/pmac_pmu/sys/amd64/include/vmm.h (contents, props changed) projects/pmac_pmu/sys/amd64/include/vmm_dev.h (contents, props changed) projects/pmac_pmu/sys/amd64/linux32/linux32_dummy.c projects/pmac_pmu/sys/amd64/linux32/linux32_sysvec.c projects/pmac_pmu/sys/amd64/pci/pci_cfgreg.c projects/pmac_pmu/sys/amd64/vmm/intel/vmcs.h projects/pmac_pmu/sys/amd64/vmm/intel/vmx.c projects/pmac_pmu/sys/amd64/vmm/intel/vmx_controls.h projects/pmac_pmu/sys/amd64/vmm/intel/vtd.c projects/pmac_pmu/sys/amd64/vmm/io/ppt.c projects/pmac_pmu/sys/amd64/vmm/io/vlapic.c projects/pmac_pmu/sys/amd64/vmm/io/vlapic.h projects/pmac_pmu/sys/amd64/vmm/vmm.c projects/pmac_pmu/sys/amd64/vmm/vmm_dev.c projects/pmac_pmu/sys/amd64/vmm/vmm_ktr.h projects/pmac_pmu/sys/amd64/vmm/vmm_lapic.c projects/pmac_pmu/sys/amd64/vmm/vmm_lapic.h projects/pmac_pmu/sys/arm/arm/db_trace.c projects/pmac_pmu/sys/arm/arm/devmap.c projects/pmac_pmu/sys/arm/arm/locore.S projects/pmac_pmu/sys/arm/arm/machdep.c projects/pmac_pmu/sys/arm/arm/pl190.c projects/pmac_pmu/sys/arm/arm/pmap-v6.c projects/pmac_pmu/sys/arm/arm/trap.c projects/pmac_pmu/sys/arm/at91/at91_machdep.c projects/pmac_pmu/sys/arm/at91/at91_pioreg.h projects/pmac_pmu/sys/arm/at91/files.at91 projects/pmac_pmu/sys/arm/at91/if_macbvar.h projects/pmac_pmu/sys/arm/broadcom/bcm2835/bcm2835_bsc.c projects/pmac_pmu/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h projects/pmac_pmu/sys/arm/broadcom/bcm2835/bcm2835_dma.c projects/pmac_pmu/sys/arm/conf/BEAGLEBONE projects/pmac_pmu/sys/arm/econa/econa_machdep.c projects/pmac_pmu/sys/arm/econa/if_ece.c projects/pmac_pmu/sys/arm/econa/uart_bus_ec.c projects/pmac_pmu/sys/arm/econa/uart_cpu_ec.c projects/pmac_pmu/sys/arm/freescale/imx/imx6_anatopreg.h projects/pmac_pmu/sys/arm/freescale/imx/imx6_machdep.c projects/pmac_pmu/sys/arm/freescale/imx/imx6_usbphy.c projects/pmac_pmu/sys/arm/freescale/imx/imx_gptreg.h projects/pmac_pmu/sys/arm/include/armreg.h projects/pmac_pmu/sys/arm/include/machdep.h projects/pmac_pmu/sys/arm/lpc/if_lpereg.h projects/pmac_pmu/sys/arm/lpc/lpcreg.h projects/pmac_pmu/sys/arm/mv/mv_machdep.c projects/pmac_pmu/sys/arm/mv/mv_pci.c projects/pmac_pmu/sys/arm/rockchip/files.rk30xx projects/pmac_pmu/sys/arm/rockchip/rk30xx_machdep.c projects/pmac_pmu/sys/arm/s3c2xx0/s3c24x0_machdep.c projects/pmac_pmu/sys/arm/sa11x0/assabet_machdep.c projects/pmac_pmu/sys/arm/samsung/exynos/ehci_exynos5.c projects/pmac_pmu/sys/arm/samsung/exynos/exynos5_machdep.c projects/pmac_pmu/sys/arm/samsung/exynos/files.exynos5 projects/pmac_pmu/sys/arm/ti/files.ti projects/pmac_pmu/sys/arm/ti/ti_sdhci.c projects/pmac_pmu/sys/arm/xscale/i80321/ep80219_machdep.c projects/pmac_pmu/sys/arm/xscale/i80321/iq31244_machdep.c projects/pmac_pmu/sys/arm/xscale/i8134x/crb_machdep.c projects/pmac_pmu/sys/arm/xscale/i8134x/i81342reg.h projects/pmac_pmu/sys/arm/xscale/ixp425/avila_machdep.c projects/pmac_pmu/sys/arm/xscale/ixp425/ixp425reg.h projects/pmac_pmu/sys/arm/xscale/pxa/pxa_machdep.c projects/pmac_pmu/sys/boot/arm/at91/libat91/mci_device.h projects/pmac_pmu/sys/boot/arm/uboot/start.S projects/pmac_pmu/sys/boot/fdt/dts/rk3188.dtsi projects/pmac_pmu/sys/boot/fdt/dts/rpi.dts projects/pmac_pmu/sys/boot/forth/beastie.4th projects/pmac_pmu/sys/boot/forth/loader.4th projects/pmac_pmu/sys/boot/forth/loader.4th.8 projects/pmac_pmu/sys/boot/forth/loader.rc projects/pmac_pmu/sys/boot/forth/menu.rc projects/pmac_pmu/sys/boot/i386/efi/reloc.c projects/pmac_pmu/sys/boot/i386/libfirewire/fwohci.h projects/pmac_pmu/sys/boot/i386/libfirewire/fwohcireg.h projects/pmac_pmu/sys/boot/i386/loader/loader.rc projects/pmac_pmu/sys/cam/cam_xpt.c projects/pmac_pmu/sys/cam/ctl/ctl.c projects/pmac_pmu/sys/cam/ctl/ctl_backend_block.c projects/pmac_pmu/sys/cam/ctl/ctl_frontend.c projects/pmac_pmu/sys/cam/ctl/ctl_private.h projects/pmac_pmu/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c projects/pmac_pmu/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c projects/pmac_pmu/sys/cddl/compat/opensolaris/sys/sdt.h projects/pmac_pmu/sys/cddl/compat/opensolaris/sys/vm.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/Makefile.files projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_userhold.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lz4.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_tx.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/sa_impl.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/txg.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/txg_impl.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfeature.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_compress.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap.h projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/sys/taskq.h projects/pmac_pmu/sys/cddl/dev/dtrace/dtrace_test.c projects/pmac_pmu/sys/cddl/dev/fbt/fbt_powerpc.c projects/pmac_pmu/sys/cddl/dev/lockstat/lockstat.c projects/pmac_pmu/sys/cddl/dev/sdt/sdt.c projects/pmac_pmu/sys/compat/freebsd32/freebsd32.h projects/pmac_pmu/sys/compat/freebsd32/freebsd32_misc.c projects/pmac_pmu/sys/compat/linux/linux_dtrace.h projects/pmac_pmu/sys/compat/linux/linux_emul.c projects/pmac_pmu/sys/compat/linux/linux_fork.c projects/pmac_pmu/sys/compat/linux/linux_futex.c projects/pmac_pmu/sys/compat/linux/linux_mib.c projects/pmac_pmu/sys/compat/linux/linux_misc.c projects/pmac_pmu/sys/compat/linux/linux_sysctl.c projects/pmac_pmu/sys/compat/linux/linux_time.c projects/pmac_pmu/sys/compat/linux/linux_uid16.c projects/pmac_pmu/sys/compat/linux/linux_util.c projects/pmac_pmu/sys/conf/NOTES projects/pmac_pmu/sys/conf/files projects/pmac_pmu/sys/conf/files.amd64 projects/pmac_pmu/sys/conf/files.arm projects/pmac_pmu/sys/conf/files.i386 projects/pmac_pmu/sys/conf/files.powerpc projects/pmac_pmu/sys/conf/files.sparc64 projects/pmac_pmu/sys/conf/kern.pre.mk projects/pmac_pmu/sys/conf/kmod.mk projects/pmac_pmu/sys/conf/options projects/pmac_pmu/sys/conf/options.amd64 projects/pmac_pmu/sys/conf/options.arm projects/pmac_pmu/sys/crypto/aesni/aesni.c projects/pmac_pmu/sys/dev/aac/aacvar.h projects/pmac_pmu/sys/dev/acpica/acpi_hpet.c projects/pmac_pmu/sys/dev/acpica/acpi_video.c projects/pmac_pmu/sys/dev/agp/agp_i810.c projects/pmac_pmu/sys/dev/ahci/ahci.c projects/pmac_pmu/sys/dev/ahci/ahci.h projects/pmac_pmu/sys/dev/ata/ata-pci.h projects/pmac_pmu/sys/dev/ata/chipsets/ata-intel.c projects/pmac_pmu/sys/dev/bge/if_bge.c projects/pmac_pmu/sys/dev/bge/if_bgereg.h projects/pmac_pmu/sys/dev/bktr/bktr_core.c projects/pmac_pmu/sys/dev/bxe/bxe.c projects/pmac_pmu/sys/dev/bxe/bxe.h projects/pmac_pmu/sys/dev/bxe/bxe_elink.c projects/pmac_pmu/sys/dev/bxe/ecore_hsi.h projects/pmac_pmu/sys/dev/bxe/ecore_init.h projects/pmac_pmu/sys/dev/bxe/ecore_reg.h projects/pmac_pmu/sys/dev/bxe/ecore_sp.c projects/pmac_pmu/sys/dev/bxe/ecore_sp.h projects/pmac_pmu/sys/dev/cesa/cesa.h projects/pmac_pmu/sys/dev/cxgbe/common/common.h projects/pmac_pmu/sys/dev/cxgbe/common/t4_hw.c projects/pmac_pmu/sys/dev/cxgbe/t4_ioctl.h projects/pmac_pmu/sys/dev/cxgbe/t4_main.c projects/pmac_pmu/sys/dev/cxgbe/t4_sge.c projects/pmac_pmu/sys/dev/drm/i915_reg.h projects/pmac_pmu/sys/dev/drm/mach64_drv.h projects/pmac_pmu/sys/dev/drm/mga_drv.h projects/pmac_pmu/sys/dev/drm/r128_drv.h projects/pmac_pmu/sys/dev/drm/r300_reg.h projects/pmac_pmu/sys/dev/drm/r600_blit.c projects/pmac_pmu/sys/dev/drm/radeon_cp.c projects/pmac_pmu/sys/dev/drm/radeon_drv.h projects/pmac_pmu/sys/dev/drm/via_irq.c projects/pmac_pmu/sys/dev/drm2/drm.h projects/pmac_pmu/sys/dev/drm2/drmP.h projects/pmac_pmu/sys/dev/drm2/drm_drv.c projects/pmac_pmu/sys/dev/drm2/drm_fb_helper.c projects/pmac_pmu/sys/dev/drm2/drm_ioctl.c projects/pmac_pmu/sys/dev/drm2/drm_linux_list_sort.c projects/pmac_pmu/sys/dev/drm2/drm_os_freebsd.h projects/pmac_pmu/sys/dev/drm2/drm_pci.c projects/pmac_pmu/sys/dev/drm2/i915/i915_drv.c projects/pmac_pmu/sys/dev/drm2/i915/intel_fb.c projects/pmac_pmu/sys/dev/drm2/radeon/evergreen_blit_kms.c projects/pmac_pmu/sys/dev/drm2/radeon/evergreen_cs.c projects/pmac_pmu/sys/dev/drm2/radeon/evergreend.h projects/pmac_pmu/sys/dev/drm2/radeon/nid.h projects/pmac_pmu/sys/dev/drm2/radeon/r200.c projects/pmac_pmu/sys/dev/drm2/radeon/r300.c projects/pmac_pmu/sys/dev/drm2/radeon/r300_reg.h projects/pmac_pmu/sys/dev/drm2/radeon/r500_reg.h projects/pmac_pmu/sys/dev/drm2/radeon/r600_blit.c projects/pmac_pmu/sys/dev/drm2/radeon/r600_blit_kms.c projects/pmac_pmu/sys/dev/drm2/radeon/r600_cs.c projects/pmac_pmu/sys/dev/drm2/radeon/r600d.h projects/pmac_pmu/sys/dev/drm2/radeon/radeon.h projects/pmac_pmu/sys/dev/drm2/radeon/radeon_cp.c projects/pmac_pmu/sys/dev/drm2/radeon/radeon_drv.c projects/pmac_pmu/sys/dev/drm2/radeon/radeon_drv.h projects/pmac_pmu/sys/dev/drm2/radeon/radeon_fb.c projects/pmac_pmu/sys/dev/drm2/radeon/radeon_pm.c projects/pmac_pmu/sys/dev/drm2/radeon/radeon_reg.h projects/pmac_pmu/sys/dev/drm2/radeon/rv770d.h projects/pmac_pmu/sys/dev/drm2/radeon/sid.h projects/pmac_pmu/sys/dev/drm2/ttm/ttm_bo.c projects/pmac_pmu/sys/dev/e1000/e1000_82575.h projects/pmac_pmu/sys/dev/e1000/e1000_ich8lan.c projects/pmac_pmu/sys/dev/e1000/e1000_regs.h projects/pmac_pmu/sys/dev/etherswitch/arswitch/arswitchreg.h projects/pmac_pmu/sys/dev/ffec/if_ffecreg.h projects/pmac_pmu/sys/dev/firewire/firewire.c projects/pmac_pmu/sys/dev/firewire/fwohci.c projects/pmac_pmu/sys/dev/firewire/fwohcireg.h projects/pmac_pmu/sys/dev/firewire/sbp.c projects/pmac_pmu/sys/dev/firewire/sbp.h projects/pmac_pmu/sys/dev/firewire/sbp_targ.c projects/pmac_pmu/sys/dev/gpio/gpiobus.c projects/pmac_pmu/sys/dev/hatm/if_hatmreg.h projects/pmac_pmu/sys/dev/hwpmc/hwpmc_piv.h projects/pmac_pmu/sys/dev/ichsmb/ichsmb_pci.c projects/pmac_pmu/sys/dev/iscsi/iscsi.c projects/pmac_pmu/sys/dev/isp/isp.c projects/pmac_pmu/sys/dev/isp/isp_freebsd.h projects/pmac_pmu/sys/dev/isp/isp_library.c projects/pmac_pmu/sys/dev/isp/isp_pci.c projects/pmac_pmu/sys/dev/iwi/if_iwi.c projects/pmac_pmu/sys/dev/iwn/if_iwn.c projects/pmac_pmu/sys/dev/iwn/if_iwn_debug.h projects/pmac_pmu/sys/dev/iwn/if_iwnreg.h projects/pmac_pmu/sys/dev/iwn/if_iwnvar.h projects/pmac_pmu/sys/dev/md/md.c projects/pmac_pmu/sys/dev/mge/if_mgevar.h projects/pmac_pmu/sys/dev/mpt/mpt_cam.c projects/pmac_pmu/sys/dev/msk/if_mskreg.h projects/pmac_pmu/sys/dev/mvs/mvs.h projects/pmac_pmu/sys/dev/mxge/mxge_mcp.h projects/pmac_pmu/sys/dev/nand/nand.c projects/pmac_pmu/sys/dev/nand/nand.h projects/pmac_pmu/sys/dev/nand/nand_cdev.c projects/pmac_pmu/sys/dev/nand/nand_generic.c projects/pmac_pmu/sys/dev/nand/nand_geom.c projects/pmac_pmu/sys/dev/nand/nand_id.c projects/pmac_pmu/sys/dev/nand/nandbus.c projects/pmac_pmu/sys/dev/oce/oce_hw.h projects/pmac_pmu/sys/dev/oce/oce_if.c projects/pmac_pmu/sys/dev/oce/oce_if.h projects/pmac_pmu/sys/dev/oce/oce_mbox.c projects/pmac_pmu/sys/dev/oce/oce_sysctl.c projects/pmac_pmu/sys/dev/ofw/ofw_bus_if.m projects/pmac_pmu/sys/dev/ofw/ofw_fdt.c projects/pmac_pmu/sys/dev/qlxgbe/ql_hw.c projects/pmac_pmu/sys/dev/qlxgbe/ql_hw.h projects/pmac_pmu/sys/dev/qlxgbe/ql_ioctl.c projects/pmac_pmu/sys/dev/qlxge/qls_dump.c projects/pmac_pmu/sys/dev/qlxge/qls_ioctl.c projects/pmac_pmu/sys/dev/ral/rt2560reg.h projects/pmac_pmu/sys/dev/ral/rt2661reg.h projects/pmac_pmu/sys/dev/ral/rt2860reg.h projects/pmac_pmu/sys/dev/sfxge/common/efsys.h projects/pmac_pmu/sys/dev/sfxge/common/siena_nic.c projects/pmac_pmu/sys/dev/sound/pci/hda/hdaa.h projects/pmac_pmu/sys/dev/sound/pci/hda/hdac.c projects/pmac_pmu/sys/dev/sound/pci/hda/hdac.h projects/pmac_pmu/sys/dev/sound/pci/hda/hdacc.c projects/pmac_pmu/sys/dev/tsec/if_tsec.c projects/pmac_pmu/sys/dev/tsec/if_tsec.h projects/pmac_pmu/sys/dev/tsec/if_tsec_fdt.c projects/pmac_pmu/sys/dev/tsec/if_tsecreg.h projects/pmac_pmu/sys/dev/uart/uart.h projects/pmac_pmu/sys/dev/uart/uart_bus_fdt.c projects/pmac_pmu/sys/dev/uart/uart_cpu_powerpc.c projects/pmac_pmu/sys/dev/usb/controller/ehci.h projects/pmac_pmu/sys/dev/usb/controller/ehci_pci.c projects/pmac_pmu/sys/dev/usb/controller/xhci.c projects/pmac_pmu/sys/dev/usb/serial/u3g.c projects/pmac_pmu/sys/dev/usb/usb_busdma.c projects/pmac_pmu/sys/dev/usb/usbdevs projects/pmac_pmu/sys/dev/usb/wlan/if_rsu.c projects/pmac_pmu/sys/dev/usb/wlan/if_rum.c projects/pmac_pmu/sys/dev/usb/wlan/if_rumreg.h projects/pmac_pmu/sys/dev/usb/wlan/if_run.c projects/pmac_pmu/sys/dev/usb/wlan/if_runreg.h projects/pmac_pmu/sys/dev/usb/wlan/if_runvar.h projects/pmac_pmu/sys/dev/usb/wlan/if_ural.c projects/pmac_pmu/sys/dev/usb/wlan/if_uralreg.h projects/pmac_pmu/sys/dev/usb/wlan/if_urtw.c projects/pmac_pmu/sys/dev/usb/wlan/if_urtwreg.h projects/pmac_pmu/sys/dev/usb/wlan/if_zydreg.h projects/pmac_pmu/sys/dev/wpi/if_wpireg.h projects/pmac_pmu/sys/dev/xen/balloon/balloon.c projects/pmac_pmu/sys/dev/xen/blkback/blkback.c projects/pmac_pmu/sys/dev/xen/netfront/netfront.c projects/pmac_pmu/sys/fs/ext2fs/ext2_dinode.h projects/pmac_pmu/sys/fs/nfs/nfs_commonkrpc.c projects/pmac_pmu/sys/fs/nfs/nfs_commonsubs.c projects/pmac_pmu/sys/fs/nfs/nfs_var.h projects/pmac_pmu/sys/fs/nfsclient/nfs_clbio.c projects/pmac_pmu/sys/fs/nfsclient/nfs_clcomsubs.c projects/pmac_pmu/sys/fs/nfsclient/nfs_clkdtrace.c projects/pmac_pmu/sys/fs/nfsclient/nfs_clnode.c projects/pmac_pmu/sys/fs/nfsclient/nfs_clport.c projects/pmac_pmu/sys/fs/nfsclient/nfs_clsubs.c projects/pmac_pmu/sys/fs/nfsclient/nfs_clvnops.c projects/pmac_pmu/sys/fs/nfsclient/nfs_kdtrace.h projects/pmac_pmu/sys/fs/pseudofs/pseudofs_vnops.c projects/pmac_pmu/sys/geom/eli/g_eli.c projects/pmac_pmu/sys/geom/geom_disk.c projects/pmac_pmu/sys/geom/geom_dump.c projects/pmac_pmu/sys/geom/geom_int.h projects/pmac_pmu/sys/geom/mirror/g_mirror.c projects/pmac_pmu/sys/geom/mirror/g_mirror_ctl.c projects/pmac_pmu/sys/geom/multipath/g_multipath.c projects/pmac_pmu/sys/geom/multipath/g_multipath.h projects/pmac_pmu/sys/geom/part/g_part_gpt.c projects/pmac_pmu/sys/geom/raid/tr_raid1e.c projects/pmac_pmu/sys/i386/conf/GENERIC projects/pmac_pmu/sys/i386/conf/NOTES projects/pmac_pmu/sys/i386/conf/XEN projects/pmac_pmu/sys/i386/i386/exception.s projects/pmac_pmu/sys/i386/i386/machdep.c projects/pmac_pmu/sys/i386/i386/trap.c projects/pmac_pmu/sys/i386/include/asm.h projects/pmac_pmu/sys/i386/include/vm86.h projects/pmac_pmu/sys/i386/linux/linux_dummy.c projects/pmac_pmu/sys/i386/linux/linux_sysvec.c projects/pmac_pmu/sys/i386/pci/pci_cfgreg.c projects/pmac_pmu/sys/ia64/conf/GENERIC projects/pmac_pmu/sys/ia64/ia64/mp_machdep.c projects/pmac_pmu/sys/kern/kern_clock.c projects/pmac_pmu/sys/kern/kern_clocksource.c projects/pmac_pmu/sys/kern/kern_descrip.c projects/pmac_pmu/sys/kern/kern_event.c projects/pmac_pmu/sys/kern/kern_exec.c projects/pmac_pmu/sys/kern/kern_exit.c projects/pmac_pmu/sys/kern/kern_fork.c projects/pmac_pmu/sys/kern/kern_jail.c projects/pmac_pmu/sys/kern/kern_lock.c projects/pmac_pmu/sys/kern/kern_lockstat.c projects/pmac_pmu/sys/kern/kern_malloc.c projects/pmac_pmu/sys/kern/kern_mib.c projects/pmac_pmu/sys/kern/kern_mutex.c projects/pmac_pmu/sys/kern/kern_priv.c projects/pmac_pmu/sys/kern/kern_proc.c projects/pmac_pmu/sys/kern/kern_racct.c projects/pmac_pmu/sys/kern/kern_rmlock.c projects/pmac_pmu/sys/kern/kern_rwlock.c projects/pmac_pmu/sys/kern/kern_sdt.c projects/pmac_pmu/sys/kern/kern_shutdown.c projects/pmac_pmu/sys/kern/kern_sig.c projects/pmac_pmu/sys/kern/kern_sx.c projects/pmac_pmu/sys/kern/kern_synch.c projects/pmac_pmu/sys/kern/kern_thread.c projects/pmac_pmu/sys/kern/kern_timeout.c projects/pmac_pmu/sys/kern/makesyscalls.sh projects/pmac_pmu/sys/kern/sched_4bsd.c projects/pmac_pmu/sys/kern/sched_ule.c projects/pmac_pmu/sys/kern/subr_capability.c projects/pmac_pmu/sys/kern/subr_devstat.c projects/pmac_pmu/sys/kern/subr_param.c projects/pmac_pmu/sys/kern/subr_sleepqueue.c projects/pmac_pmu/sys/kern/subr_syscall.c projects/pmac_pmu/sys/kern/subr_taskqueue.c projects/pmac_pmu/sys/kern/subr_trap.c projects/pmac_pmu/sys/kern/subr_turnstile.c projects/pmac_pmu/sys/kern/sys_generic.c projects/pmac_pmu/sys/kern/sys_procdesc.c projects/pmac_pmu/sys/kern/sysv_shm.c projects/pmac_pmu/sys/kern/uipc_mbuf.c projects/pmac_pmu/sys/kern/uipc_mqueue.c projects/pmac_pmu/sys/kern/uipc_syscalls.c projects/pmac_pmu/sys/kern/vfs_bio.c projects/pmac_pmu/sys/kern/vfs_cache.c projects/pmac_pmu/sys/kern/vfs_lookup.c projects/pmac_pmu/sys/kern/vfs_syscalls.c projects/pmac_pmu/sys/kern/vfs_vnops.c projects/pmac_pmu/sys/kern/vnode_if.src projects/pmac_pmu/sys/libkern/iconv.c projects/pmac_pmu/sys/mips/atheros/ar71xxreg.h projects/pmac_pmu/sys/mips/atheros/ar934xreg.h projects/pmac_pmu/sys/mips/atheros/if_argevar.h projects/pmac_pmu/sys/mips/malta/gt_pci.c projects/pmac_pmu/sys/mips/mips/exception.S projects/pmac_pmu/sys/mips/mips/trap.c projects/pmac_pmu/sys/mips/nlm/dev/net/nae.c projects/pmac_pmu/sys/mips/nlm/xlp_machdep.c projects/pmac_pmu/sys/mips/rmi/pic.h projects/pmac_pmu/sys/modules/Makefile projects/pmac_pmu/sys/modules/crypto/Makefile projects/pmac_pmu/sys/modules/ctl/Makefile projects/pmac_pmu/sys/modules/drm2/i915kms/Makefile projects/pmac_pmu/sys/modules/drm2/radeonkms/Makefile projects/pmac_pmu/sys/modules/dtrace/dtrace_test/Makefile projects/pmac_pmu/sys/modules/dtrace/lockstat/Makefile projects/pmac_pmu/sys/modules/dtrace/sdt/Makefile projects/pmac_pmu/sys/modules/ip6_mroute_mod/Makefile projects/pmac_pmu/sys/modules/linux/Makefile projects/pmac_pmu/sys/modules/nfscl/Makefile projects/pmac_pmu/sys/modules/nfsclient/Makefile projects/pmac_pmu/sys/modules/nfscommon/Makefile projects/pmac_pmu/sys/modules/send/Makefile projects/pmac_pmu/sys/modules/usb/Makefile projects/pmac_pmu/sys/modules/vmm/Makefile projects/pmac_pmu/sys/net/if.c projects/pmac_pmu/sys/net/if.h projects/pmac_pmu/sys/net/if_ethersubr.c projects/pmac_pmu/sys/net/if_gif.c projects/pmac_pmu/sys/net/if_gre.c projects/pmac_pmu/sys/net/netisr.c projects/pmac_pmu/sys/net/pfvar.h projects/pmac_pmu/sys/net/route.c projects/pmac_pmu/sys/net/vnet.c projects/pmac_pmu/sys/net80211/ieee80211_scan.c projects/pmac_pmu/sys/net80211/ieee80211_scan_sta.c projects/pmac_pmu/sys/netinet/in.c projects/pmac_pmu/sys/netinet/in_kdtrace.c projects/pmac_pmu/sys/netinet/in_kdtrace.h projects/pmac_pmu/sys/netinet/ip_fastfwd.c projects/pmac_pmu/sys/netinet/ip_input.c projects/pmac_pmu/sys/netinet/ip_output.c projects/pmac_pmu/sys/netinet/sctp_bsd_addr.c projects/pmac_pmu/sys/netinet/sctp_dtrace_declare.h projects/pmac_pmu/sys/netinet/sctp_dtrace_define.h projects/pmac_pmu/sys/netinet/sctp_indata.c projects/pmac_pmu/sys/netinet/sctp_output.c projects/pmac_pmu/sys/netinet/sctp_pcb.c projects/pmac_pmu/sys/netinet/tcp_input.c projects/pmac_pmu/sys/netinet/tcp_output.c projects/pmac_pmu/sys/netinet/tcp_subr.c projects/pmac_pmu/sys/netinet/udp_usrreq.c projects/pmac_pmu/sys/netinet6/in6.c projects/pmac_pmu/sys/netinet6/ip6_input.c projects/pmac_pmu/sys/netinet6/ip6_mroute.c projects/pmac_pmu/sys/netinet6/nd6.c projects/pmac_pmu/sys/netinet6/nd6_nbr.c projects/pmac_pmu/sys/netinet6/send.c projects/pmac_pmu/sys/netinet6/udp6_usrreq.c projects/pmac_pmu/sys/netipsec/ipsec_input.c projects/pmac_pmu/sys/netpfil/ipfw/dn_sched.h projects/pmac_pmu/sys/netpfil/ipfw/ip_dn_io.c projects/pmac_pmu/sys/netpfil/ipfw/ip_dn_private.h projects/pmac_pmu/sys/netpfil/ipfw/ip_fw2.c projects/pmac_pmu/sys/netpfil/ipfw/ip_fw_dynamic.c projects/pmac_pmu/sys/netpfil/ipfw/ip_fw_log.c projects/pmac_pmu/sys/netpfil/ipfw/ip_fw_nat.c projects/pmac_pmu/sys/netpfil/ipfw/ip_fw_pfil.c projects/pmac_pmu/sys/netpfil/ipfw/ip_fw_sockopt.c projects/pmac_pmu/sys/netpfil/pf/pf.c projects/pmac_pmu/sys/netpfil/pf/pf_ioctl.c projects/pmac_pmu/sys/netpfil/pf/pf_lb.c projects/pmac_pmu/sys/nfsclient/nfs_bio.c projects/pmac_pmu/sys/nfsclient/nfs_krpc.c projects/pmac_pmu/sys/nfsclient/nfs_subs.c projects/pmac_pmu/sys/nfsclient/nfs_vnops.c projects/pmac_pmu/sys/ofed/drivers/infiniband/hw/mlx4/qp.c projects/pmac_pmu/sys/ofed/drivers/infiniband/hw/mthca/mthca_mcg.c projects/pmac_pmu/sys/ofed/drivers/infiniband/hw/mthca/mthca_qp.c projects/pmac_pmu/sys/ofed/drivers/net/mlx4/en_netdev.c projects/pmac_pmu/sys/ofed/drivers/net/mlx4/mcg.c projects/pmac_pmu/sys/opencrypto/crypto.c projects/pmac_pmu/sys/opencrypto/deflate.c projects/pmac_pmu/sys/pc98/conf/GENERIC projects/pmac_pmu/sys/pc98/pc98/machdep.c projects/pmac_pmu/sys/powerpc/aim/locore32.S projects/pmac_pmu/sys/powerpc/aim/locore64.S projects/pmac_pmu/sys/powerpc/aim/machdep.c projects/pmac_pmu/sys/powerpc/aim/mmu_oea64.c projects/pmac_pmu/sys/powerpc/aim/trap.c projects/pmac_pmu/sys/powerpc/aim/trap_subr32.S projects/pmac_pmu/sys/powerpc/aim/trap_subr64.S projects/pmac_pmu/sys/powerpc/booke/locore.S projects/pmac_pmu/sys/powerpc/booke/machdep.c projects/pmac_pmu/sys/powerpc/booke/mp_cpudep.c projects/pmac_pmu/sys/powerpc/booke/platform_bare.c projects/pmac_pmu/sys/powerpc/booke/pmap.c projects/pmac_pmu/sys/powerpc/booke/trap.c projects/pmac_pmu/sys/powerpc/booke/trap_subr.S projects/pmac_pmu/sys/powerpc/conf/GENERIC projects/pmac_pmu/sys/powerpc/fpu/fpu_emu.c projects/pmac_pmu/sys/powerpc/fpu/fpu_explode.c projects/pmac_pmu/sys/powerpc/fpu/fpu_sqrt.c projects/pmac_pmu/sys/powerpc/include/counter.h projects/pmac_pmu/sys/powerpc/include/fdt.h projects/pmac_pmu/sys/powerpc/include/ofw_machdep.h projects/pmac_pmu/sys/powerpc/include/param.h projects/pmac_pmu/sys/powerpc/include/pcb.h projects/pmac_pmu/sys/powerpc/include/pcpu.h projects/pmac_pmu/sys/powerpc/include/pmap.h projects/pmac_pmu/sys/powerpc/include/trap.h projects/pmac_pmu/sys/powerpc/mpc85xx/mpc85xx.h projects/pmac_pmu/sys/powerpc/mpc85xx/pci_mpc85xx.c projects/pmac_pmu/sys/powerpc/ofw/ofw_machdep.c projects/pmac_pmu/sys/powerpc/ofw/ofw_pcibus.c projects/pmac_pmu/sys/powerpc/ofw/ofw_syscons.c projects/pmac_pmu/sys/powerpc/ofw/rtas.c projects/pmac_pmu/sys/powerpc/powermac/grackle.c projects/pmac_pmu/sys/powerpc/powermac/macio.c projects/pmac_pmu/sys/powerpc/powermac/nvbl.c projects/pmac_pmu/sys/powerpc/powermac/platform_powermac.c projects/pmac_pmu/sys/powerpc/powermac/uninorth.c projects/pmac_pmu/sys/powerpc/powermac/uninorthpci.c projects/pmac_pmu/sys/powerpc/powermac/uninorthvar.h projects/pmac_pmu/sys/powerpc/powerpc/cpu.c projects/pmac_pmu/sys/powerpc/powerpc/dump_machdep.c projects/pmac_pmu/sys/powerpc/powerpc/exec_machdep.c projects/pmac_pmu/sys/powerpc/powerpc/fpu.c projects/pmac_pmu/sys/powerpc/powerpc/genassym.c projects/pmac_pmu/sys/powerpc/powerpc/platform.c projects/pmac_pmu/sys/powerpc/powerpc/platform_if.m projects/pmac_pmu/sys/powerpc/ps3/platform_ps3.c projects/pmac_pmu/sys/powerpc/pseries/mmu_phyp.c projects/pmac_pmu/sys/powerpc/pseries/phyp_console.c projects/pmac_pmu/sys/powerpc/pseries/platform_chrp.c projects/pmac_pmu/sys/powerpc/pseries/plpar_iommu.c projects/pmac_pmu/sys/powerpc/pseries/rtas_pci.c projects/pmac_pmu/sys/powerpc/wii/platform_wii.c projects/pmac_pmu/sys/rpc/auth.h projects/pmac_pmu/sys/rpc/auth_none.c projects/pmac_pmu/sys/rpc/auth_unix.c projects/pmac_pmu/sys/rpc/authunix_prot.c projects/pmac_pmu/sys/rpc/clnt.h projects/pmac_pmu/sys/rpc/clnt_dg.c projects/pmac_pmu/sys/rpc/clnt_vc.c projects/pmac_pmu/sys/rpc/krpc.h projects/pmac_pmu/sys/rpc/nettype.h projects/pmac_pmu/sys/rpc/pmap_prot.h projects/pmac_pmu/sys/rpc/rpc.h projects/pmac_pmu/sys/rpc/rpc_callmsg.c projects/pmac_pmu/sys/rpc/rpc_com.h projects/pmac_pmu/sys/rpc/rpc_generic.c projects/pmac_pmu/sys/rpc/rpc_msg.h projects/pmac_pmu/sys/rpc/rpc_prot.c projects/pmac_pmu/sys/rpc/rpcb_clnt.c projects/pmac_pmu/sys/rpc/rpcb_clnt.h projects/pmac_pmu/sys/rpc/rpcb_prot.c projects/pmac_pmu/sys/rpc/rpcb_prot.h projects/pmac_pmu/sys/rpc/svc.c projects/pmac_pmu/sys/rpc/svc.h projects/pmac_pmu/sys/rpc/svc_auth.c projects/pmac_pmu/sys/rpc/svc_auth.h projects/pmac_pmu/sys/rpc/svc_auth_unix.c projects/pmac_pmu/sys/rpc/svc_dg.c projects/pmac_pmu/sys/rpc/svc_generic.c projects/pmac_pmu/sys/rpc/svc_vc.c projects/pmac_pmu/sys/rpc/types.h projects/pmac_pmu/sys/rpc/xdr.h projects/pmac_pmu/sys/security/audit/audit_bsm_klib.c projects/pmac_pmu/sys/security/mac/mac_audit.c projects/pmac_pmu/sys/security/mac/mac_cred.c projects/pmac_pmu/sys/security/mac/mac_framework.c projects/pmac_pmu/sys/security/mac/mac_inet.c projects/pmac_pmu/sys/security/mac/mac_internal.h projects/pmac_pmu/sys/security/mac/mac_net.c projects/pmac_pmu/sys/security/mac/mac_pipe.c projects/pmac_pmu/sys/security/mac/mac_posix_sem.c projects/pmac_pmu/sys/security/mac/mac_posix_shm.c projects/pmac_pmu/sys/security/mac/mac_priv.c projects/pmac_pmu/sys/security/mac/mac_process.c projects/pmac_pmu/sys/security/mac/mac_socket.c projects/pmac_pmu/sys/security/mac/mac_system.c projects/pmac_pmu/sys/security/mac/mac_sysv_msg.c projects/pmac_pmu/sys/security/mac/mac_sysv_sem.c projects/pmac_pmu/sys/security/mac/mac_sysv_shm.c projects/pmac_pmu/sys/security/mac/mac_vfs.c projects/pmac_pmu/sys/sparc64/conf/GENERIC projects/pmac_pmu/sys/sparc64/sparc64/machdep.c projects/pmac_pmu/sys/sys/bufobj.h projects/pmac_pmu/sys/sys/capability.h projects/pmac_pmu/sys/sys/consio.h projects/pmac_pmu/sys/sys/eventhandler.h projects/pmac_pmu/sys/sys/fbio.h projects/pmac_pmu/sys/sys/file.h projects/pmac_pmu/sys/sys/ktr.h projects/pmac_pmu/sys/sys/lock.h projects/pmac_pmu/sys/sys/mdioctl.h projects/pmac_pmu/sys/sys/mount.h projects/pmac_pmu/sys/sys/mutex.h projects/pmac_pmu/sys/sys/param.h projects/pmac_pmu/sys/sys/rwlock.h projects/pmac_pmu/sys/sys/sdt.h projects/pmac_pmu/sys/sys/sockio.h projects/pmac_pmu/sys/sys/sx.h projects/pmac_pmu/sys/sys/sysctl.h projects/pmac_pmu/sys/sys/systm.h projects/pmac_pmu/sys/sys/taskqueue.h projects/pmac_pmu/sys/sys/tty.h projects/pmac_pmu/sys/sys/user.h projects/pmac_pmu/sys/teken/teken.c projects/pmac_pmu/sys/teken/teken.h projects/pmac_pmu/sys/teken/teken_subr.h projects/pmac_pmu/sys/tools/vnode_if.awk projects/pmac_pmu/sys/ufs/ffs/ffs_softdep.c projects/pmac_pmu/sys/ufs/ffs/softdep.h projects/pmac_pmu/sys/vm/uma_core.c projects/pmac_pmu/sys/vm/uma_int.h projects/pmac_pmu/sys/vm/vm_fault.c projects/pmac_pmu/sys/vm/vm_map.c projects/pmac_pmu/sys/vm/vm_pageout.c projects/pmac_pmu/sys/x86/include/mptable.h projects/pmac_pmu/sys/x86/include/psl.h projects/pmac_pmu/sys/x86/iommu/intel_drv.c projects/pmac_pmu/sys/x86/iommu/intel_fault.c projects/pmac_pmu/sys/x86/iommu/intel_idpgtbl.c projects/pmac_pmu/sys/x86/iommu/intel_reg.h projects/pmac_pmu/sys/x86/x86/local_apic.c projects/pmac_pmu/tools/build/mk/OptionalObsoleteFiles.inc projects/pmac_pmu/tools/build/options/WITHOUT_PKGBOOTSTRAP projects/pmac_pmu/tools/regression/fsx/fsx.c projects/pmac_pmu/tools/regression/usr.sbin/etcupdate/always.sh projects/pmac_pmu/tools/regression/usr.sbin/etcupdate/conflicts.sh projects/pmac_pmu/tools/regression/usr.sbin/etcupdate/fbsdid.sh projects/pmac_pmu/tools/regression/usr.sbin/etcupdate/ignore.sh projects/pmac_pmu/tools/regression/usr.sbin/etcupdate/tests.sh projects/pmac_pmu/tools/test/dtrace/Makefile projects/pmac_pmu/tools/tools/bus_autoconf/bus_autoconf.sh projects/pmac_pmu/tools/tools/cxgbetool/Makefile projects/pmac_pmu/tools/tools/cxgbetool/cxgbetool.c projects/pmac_pmu/tools/tools/nanobsd/nanobsd.sh projects/pmac_pmu/tools/tools/netmap/pkt-gen.c projects/pmac_pmu/tools/tools/umastat/umastat.c projects/pmac_pmu/tools/tools/zfsboottest/Makefile projects/pmac_pmu/usr.bin/calendar/calendars/calendar.freebsd (contents, props changed) projects/pmac_pmu/usr.bin/cmp/cmp.1 projects/pmac_pmu/usr.bin/from/from.c projects/pmac_pmu/usr.bin/iscsictl/iscsictl.c projects/pmac_pmu/usr.bin/login/login.c projects/pmac_pmu/usr.bin/procstat/procstat_files.c projects/pmac_pmu/usr.bin/script/script.1 projects/pmac_pmu/usr.bin/script/script.c projects/pmac_pmu/usr.bin/svn/svn/Makefile projects/pmac_pmu/usr.bin/svn/svn_private_config.h projects/pmac_pmu/usr.bin/uname/uname.1 projects/pmac_pmu/usr.bin/yacc/Makefile projects/pmac_pmu/usr.sbin/acpi/acpidump/acpi.c projects/pmac_pmu/usr.sbin/bhyve/Makefile projects/pmac_pmu/usr.sbin/bhyve/acpi.c projects/pmac_pmu/usr.sbin/bhyve/bhyverun.c projects/pmac_pmu/usr.sbin/bhyve/mptbl.c projects/pmac_pmu/usr.sbin/bhyve/pci_ahci.c projects/pmac_pmu/usr.sbin/bhyve/pci_emul.c projects/pmac_pmu/usr.sbin/bhyve/pci_emul.h projects/pmac_pmu/usr.sbin/bhyve/pci_lpc.c projects/pmac_pmu/usr.sbin/bhyve/pit_8254.c projects/pmac_pmu/usr.sbin/bhyve/uart_emul.c projects/pmac_pmu/usr.sbin/bhyveload/bhyveload.8 projects/pmac_pmu/usr.sbin/bhyveload/bhyveload.c projects/pmac_pmu/usr.sbin/bluetooth/bthidd/kbd.c projects/pmac_pmu/usr.sbin/bsdconfig/Makefile projects/pmac_pmu/usr.sbin/bsdconfig/console/include/messages.subr projects/pmac_pmu/usr.sbin/bsdconfig/console/ttys projects/pmac_pmu/usr.sbin/bsdconfig/dot/dot projects/pmac_pmu/usr.sbin/bsdconfig/include/messages.subr projects/pmac_pmu/usr.sbin/bsdconfig/mouse/include/messages.subr projects/pmac_pmu/usr.sbin/bsdconfig/networking/devices projects/pmac_pmu/usr.sbin/bsdconfig/networking/include/messages.subr projects/pmac_pmu/usr.sbin/bsdconfig/networking/share/device.subr projects/pmac_pmu/usr.sbin/bsdconfig/packages/packages projects/pmac_pmu/usr.sbin/bsdconfig/share/common.subr projects/pmac_pmu/usr.sbin/bsdconfig/share/device.subr projects/pmac_pmu/usr.sbin/bsdconfig/share/media/cdrom.subr projects/pmac_pmu/usr.sbin/bsdconfig/share/media/http.subr projects/pmac_pmu/usr.sbin/bsdconfig/share/media/tcpip.subr projects/pmac_pmu/usr.sbin/bsdconfig/share/packages/index.subr projects/pmac_pmu/usr.sbin/bsdconfig/share/packages/packages.subr projects/pmac_pmu/usr.sbin/bsdconfig/share/sysrc.subr projects/pmac_pmu/usr.sbin/bsdconfig/share/variable.subr projects/pmac_pmu/usr.sbin/bsdconfig/startup/include/messages.subr projects/pmac_pmu/usr.sbin/bsdconfig/usermgmt/include/messages.subr projects/pmac_pmu/usr.sbin/bsdinstall/scripts/zfsboot projects/pmac_pmu/usr.sbin/ctld/ctl.conf.5 projects/pmac_pmu/usr.sbin/ctld/parse.y projects/pmac_pmu/usr.sbin/etcupdate/etcupdate.8 projects/pmac_pmu/usr.sbin/etcupdate/etcupdate.sh projects/pmac_pmu/usr.sbin/gpioctl/gpioctl.8 projects/pmac_pmu/usr.sbin/iostat/iostat.c projects/pmac_pmu/usr.sbin/makefs/ffs.c projects/pmac_pmu/usr.sbin/mergemaster/mergemaster.sh projects/pmac_pmu/usr.sbin/mfiutil/mfi_show.c projects/pmac_pmu/usr.sbin/mfiutil/mfiutil.c projects/pmac_pmu/usr.sbin/pkg/pkg.7 projects/pmac_pmu/usr.sbin/pkg/pkg.c projects/pmac_pmu/usr.sbin/portsnap/portsnap/portsnap.sh projects/pmac_pmu/usr.sbin/rpcbind/check_bound.c projects/pmac_pmu/usr.sbin/rpcbind/pmap_svc.c projects/pmac_pmu/usr.sbin/rpcbind/rpcb_stat.c projects/pmac_pmu/usr.sbin/rpcbind/rpcb_svc.c projects/pmac_pmu/usr.sbin/rpcbind/rpcb_svc_4.c projects/pmac_pmu/usr.sbin/rpcbind/rpcb_svc_com.c projects/pmac_pmu/usr.sbin/rpcbind/rpcbind.c projects/pmac_pmu/usr.sbin/rpcbind/rpcbind.h projects/pmac_pmu/usr.sbin/rpcbind/warmstart.c projects/pmac_pmu/usr.sbin/rwhod/rwhod.c projects/pmac_pmu/usr.sbin/syslogd/syslogd.c projects/pmac_pmu/usr.sbin/sysrc/sysrc.8 projects/pmac_pmu/usr.sbin/wpa/ndis_events/ndis_events.8 Directory Properties: projects/pmac_pmu/ (props changed) projects/pmac_pmu/cddl/ (props changed) projects/pmac_pmu/cddl/contrib/opensolaris/ (props changed) projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/ (props changed) projects/pmac_pmu/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/pmac_pmu/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/pmac_pmu/contrib/apr-util/ (props changed) projects/pmac_pmu/contrib/atf/ (props changed) projects/pmac_pmu/contrib/binutils/ (props changed) projects/pmac_pmu/contrib/bmake/ (props changed) projects/pmac_pmu/contrib/gcc/ (props changed) projects/pmac_pmu/contrib/gdb/ (props changed) projects/pmac_pmu/contrib/libexecinfo/ (props changed) projects/pmac_pmu/contrib/libstdc++/ (props changed) projects/pmac_pmu/contrib/llvm/ (props changed) projects/pmac_pmu/contrib/llvm/tools/clang/ (props changed) projects/pmac_pmu/contrib/llvm/tools/lldb/ (props changed) projects/pmac_pmu/contrib/mtree/ (props changed) projects/pmac_pmu/contrib/netcat/ (props changed) projects/pmac_pmu/contrib/nvi/ (props changed) projects/pmac_pmu/contrib/subversion/ (props changed) projects/pmac_pmu/contrib/tcpdump/ (props changed) projects/pmac_pmu/crypto/openssh/ (props changed) projects/pmac_pmu/etc/ (props changed) projects/pmac_pmu/gnu/usr.bin/cc/cc_tools/ (props changed) projects/pmac_pmu/include/ (props changed) projects/pmac_pmu/lib/libc/ (props changed) projects/pmac_pmu/lib/libutil/ (props changed) projects/pmac_pmu/lib/libvmmapi/ (props changed) projects/pmac_pmu/sbin/ (props changed) projects/pmac_pmu/sbin/ipfw/ (props changed) projects/pmac_pmu/share/man/man4/ (props changed) projects/pmac_pmu/sys/ (props changed) projects/pmac_pmu/sys/amd64/vmm/ (props changed) projects/pmac_pmu/sys/boot/ (props changed) projects/pmac_pmu/sys/boot/i386/efi/ (props changed) projects/pmac_pmu/sys/cddl/contrib/opensolaris/ (props changed) projects/pmac_pmu/sys/conf/ (props changed) projects/pmac_pmu/sys/modules/vmm/ (props changed) projects/pmac_pmu/usr.bin/calendar/ (props changed) projects/pmac_pmu/usr.bin/procstat/ (props changed) projects/pmac_pmu/usr.sbin/bhyve/ (props changed) projects/pmac_pmu/usr.sbin/bhyveload/ (props changed) Modified: projects/pmac_pmu/Makefile.inc1 ============================================================================== --- projects/pmac_pmu/Makefile.inc1 Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/Makefile.inc1 Fri Dec 6 01:16:26 2013 (r259021) @@ -136,7 +136,7 @@ REVISION!= make -C ${SRCDIR}/release -V BRANCH!= make -C ${SRCDIR}/release -V BRANCH SRCRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \ ${SRCDIR}/sys/sys/param.h -VERSION= FreeBSD ${REVISION}-${BRANCH} ${TARGET_ARCH} ${SRCRELDATE} +VERSION= FreeBSD ${REVISION}-${BRANCH:C/-p[0-9]+$//} ${TARGET_ARCH} ${SRCRELDATE} .endif KNOWN_ARCHES?= amd64 arm armeb/arm armv6/arm i386 i386/pc98 ia64 mips mipsel/mips mips64el/mips mips64/mips mipsn32el/mips mipsn32/mips powerpc powerpc64/powerpc sparc64 @@ -509,7 +509,7 @@ _worldtmp: .endif .if ${MK_TESTS} != "no" mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \ - -p ${WORLDTMP}${TESTSBASE} >/dev/null + -p ${WORLDTMP}/usr >/dev/null .endif .for _mtree in ${LOCAL_MTREE} mtree -deU -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null @@ -1475,11 +1475,13 @@ _startup_libs+= lib/csu/${MACHINE_CPUARC _startup_libs+= gnu/lib/libgcc _startup_libs+= lib/libcompiler_rt _startup_libs+= lib/libc +_startup_libs+= lib/libc_nonshared .if ${MK_LIBCPLUSPLUS} != "no" _startup_libs+= lib/libcxxrt .endif gnu/lib/libgcc__L: lib/libc__L +gnu/lib/libgcc__L: lib/libc_nonshared__L .if ${MK_LIBCPLUSPLUS} != "no" lib/libcxxrt__L: gnu/lib/libgcc__L .endif @@ -1497,13 +1499,14 @@ _prebuild_libs= ${_kerberos5_lib_libasn1 lib/libbz2 ${_libcom_err} lib/libcrypt \ lib/libelf lib/libexpat \ ${_lib_libgssapi} ${_lib_libipx} \ - lib/libkiconv lib/libkvm lib/liblzma lib/libmd \ + lib/libkiconv lib/libkvm lib/liblzma lib/libmd lib/libnv \ + ${_lib_libcapsicum} \ lib/ncurses/ncurses lib/ncurses/ncursesw \ lib/libopie lib/libpam ${_lib_libthr} \ lib/libradius lib/libsbuf lib/libtacplus \ ${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \ ${_cddl_lib_libzfs_core} \ - lib/libutil ${_lib_libypclnt} lib/libz lib/msun \ + lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \ ${_secure_lib_libcrypto} ${_lib_libldns} \ ${_secure_lib_libssh} ${_secure_lib_libssl} @@ -1519,6 +1522,13 @@ _lib_libthr= lib/libthr _ofed_lib= contrib/ofed/usr.lib/ .endif +.if ${MK_CASPER} != "no" +_lib_libcapsicum=lib/libcapsicum +.endif + +lib/libcapsicum__L: lib/libnv__L +lib/libpjdlog__L: lib/libutil__L + _generic_libs= ${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib ${_ofed_lib} .for _DIR in ${LOCAL_LIB_DIRS} .if exists(${.CURDIR}/${_DIR}/Makefile) Modified: projects/pmac_pmu/ObsoleteFiles.inc ============================================================================== --- projects/pmac_pmu/ObsoleteFiles.inc Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/ObsoleteFiles.inc Fri Dec 6 01:16:26 2013 (r259021) @@ -38,18 +38,28 @@ # xargs -n1 | sort | uniq -d; # done +# 20131202: libcapsicum and libcasper moved to /lib/ +OLD_LIBS+=usr/lib/libcapsicum.so.0 +OLD_LIBS+=usr/lib/libcasper.so.0 # 20131109: extattr(2) mlinks fixed OLD_FILES+=usr/share/man/man2/extattr_delete_list.2.gz OLD_FILES+=usr/share/man/man2/extattr_get_list.2.gz # 20131107: example files removed OLD_FILES+=usr/share/examples/libusb20/aux.c OLD_FILES+=usr/share/examples/libusb20/aux.h +# 20131105: tzdata 2013h import +OLD_FILES+=usr/share/zoneinfo/America/Shiprock +OLD_FILES+=usr/share/zoneinfo/Antarctica/South_Pole # 20131103: WITH_LIBICONV_COMPAT removal OLD_FILES+=usr/include/_libiconv_compat.h OLD_FILES+=usr/lib/libiconv.a OLD_FILES+=usr/lib/libiconv.so OLD_FILES+=usr/lib/libiconv.so.3 OLD_FILES+=usr/lib/libiconv_p.a +OLD_FILES+=usr/lib32/libiconv.a +OLD_FILES+=usr/lib32/libiconv.so +OLD_FILES+=usr/lib32/libiconv.so.3 +OLD_FILES+=usr/lib32/libiconv_p.a # 20131103: removal of utxrm(8), use 'utx rm' instead. OLD_FILES+=usr/sbin/utxrm OLD_FILES+=usr/share/man/man8/utxrm.8.gz @@ -79,8 +89,14 @@ OLD_FILES+=etc/keys/pkg/trusted/pkg.free # 20131028: ng_fec(4) removed OLD_FILES+=usr/include/netgraph/ng_fec.h OLD_FILES+=usr/share/man/man4/ng_fec.4.gz +# 20131027: header moved +OLD_FILES+=usr/include/net/pf_mtag.h # 20131023: remove never used iscsi directory OLD_DIRS+=usr/share/examples/iscsi +# 20131021: isf(4) removed +OLD_FILES+=usr/sbin/isfctl +OLD_FILES+=usr/share/man/man4/isf.4.gz +OLD_FILES+=usr/share/man/man8/isfctl.8.gz # 20131014: libbsdyml becomes private OLD_FILES+=usr/lib/libbsdyml.a OLD_FILES+=usr/lib/libbsdyml.so @@ -119,6 +135,7 @@ OLD_FILES+=usr/bin/gnu-ranlib OLD_FILES+=usr/share/man/man1/gnu-ar.1.gz OLD_FILES+=usr/share/man/man1/gnu-ranlib.1.gz # 20130930: BIND removed from base +OLD_FILES+=etc/mtree/BIND.chroot.dist OLD_FILES+=etc/namedb OLD_FILES+=etc/periodic/daily/470.status-named OLD_FILES+=usr/bin/dig Modified: projects/pmac_pmu/UPDATING ============================================================================== --- projects/pmac_pmu/UPDATING Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/UPDATING Fri Dec 6 01:16:26 2013 (r259021) @@ -76,7 +76,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 BIND has been removed from the base system. If all you need is a local resolver, simply enable and start the local_unbound service instead. Otherwise, several versions of BIND are - available in the ports tree. + available in the ports tree. The dns/bind99 port is one example. + + With this change, nslookup(1) and dig(1) are no longer in the base + system. Users should instead use host(1) and drill(1) which are + in the base system. Alternatively, nslookup and dig can + be obtained by installing the dns/bind-tools port. 20130916: With the addition of unbound(8), a new unbound user is now Modified: projects/pmac_pmu/bin/pkill/pkill.c ============================================================================== --- projects/pmac_pmu/bin/pkill/pkill.c Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/bin/pkill/pkill.c Fri Dec 6 01:16:26 2013 (r259021) @@ -318,7 +318,10 @@ main(int argc, char **argv) * Use KERN_PROC_PROC instead of KERN_PROC_ALL, since we * just want processes and not individual kernel threads. */ - plist = kvm_getprocs(kd, KERN_PROC_PROC, 0, &nproc); + if (pidfromfile >= 0) + plist = kvm_getprocs(kd, KERN_PROC_PID, pidfromfile, &nproc); + else + plist = kvm_getprocs(kd, KERN_PROC_PROC, 0, &nproc); if (plist == NULL) { errx(STATUS_ERROR, "Cannot get process list (%s)", kvm_geterr(kd)); Modified: projects/pmac_pmu/bin/sh/cd.c ============================================================================== --- projects/pmac_pmu/bin/sh/cd.c Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/bin/sh/cd.c Fri Dec 6 01:16:26 2013 (r259021) @@ -182,6 +182,7 @@ cdlogical(char *dest) struct stat statb; int first; int badstat; + size_t len; /* * Check each component of the path. If we find a symlink or @@ -189,8 +190,9 @@ cdlogical(char *dest) * next time we get the value of the current directory. */ badstat = 0; - cdcomppath = stalloc(strlen(dest) + 1); - scopy(dest, cdcomppath); + len = strlen(dest); + cdcomppath = stalloc(len + 1); + memcpy(cdcomppath, dest, len + 1); STARTSTACKSTR(p); if (*dest == '/') { STPUTC('/', p); @@ -275,6 +277,7 @@ findcwd(char *dir) { char *new; char *p; + size_t len; /* * If our argument is NULL, we don't know the current directory @@ -283,8 +286,9 @@ findcwd(char *dir) */ if (dir == NULL || curdir == NULL) return getpwd2(); - cdcomppath = stalloc(strlen(dir) + 1); - scopy(dir, cdcomppath); + len = strlen(dir); + cdcomppath = stalloc(len + 1); + memcpy(cdcomppath, dir, len + 1); STARTSTACKSTR(new); if (*dir != '/') { STPUTS(curdir, new); Modified: projects/pmac_pmu/bin/sh/exec.c ============================================================================== --- projects/pmac_pmu/bin/sh/exec.c Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/bin/sh/exec.c Fri Dec 6 01:16:26 2013 (r259021) @@ -187,14 +187,15 @@ padvance(const char **path, const char * { const char *p, *start; char *q; - size_t len; + size_t len, namelen; if (*path == NULL) return NULL; start = *path; for (p = start; *p && *p != ':' && *p != '%'; p++) ; /* nothing */ - len = p - start + strlen(name) + 2; /* "2" is for '/' and '\0' */ + namelen = strlen(name); + len = p - start + namelen + 2; /* "2" is for '/' and '\0' */ STARTSTACKSTR(q); CHECKSTRSPACE(len, q); if (p != start) { @@ -202,7 +203,7 @@ padvance(const char **path, const char * q += p - start; *q++ = '/'; } - strcpy(q, name); + memcpy(q, name, namelen + 1); pathopt = NULL; if (*p == '%') { pathopt = ++p; @@ -527,6 +528,7 @@ cmdlookup(const char *name, int add) const char *p; struct tblentry *cmdp; struct tblentry **pp; + size_t len; p = name; hashval = *p << 4; @@ -541,11 +543,11 @@ cmdlookup(const char *name, int add) } if (add && cmdp == NULL) { INTOFF; - cmdp = *pp = ckmalloc(sizeof (struct tblentry) - + strlen(name) + 1); + len = strlen(name); + cmdp = *pp = ckmalloc(sizeof (struct tblentry) + len + 1); cmdp->next = NULL; cmdp->cmdtype = CMDUNKNOWN; - strcpy(cmdp->cmdname, name); + memcpy(cmdp->cmdname, name, len + 1); INTON; } lastcmdentry = pp; @@ -672,9 +674,11 @@ typecmd_impl(int argc, char **argv, int /* Then look at the aliases */ if ((ap = lookupalias(argv[i], 1)) != NULL) { - if (cmd == TYPECMD_SMALLV) - out1fmt("alias %s='%s'\n", argv[i], ap->val); - else + if (cmd == TYPECMD_SMALLV) { + out1fmt("alias %s=", argv[i]); + out1qstr(ap->val); + outcslow('\n', out1); + } else out1fmt("%s is an alias for %s\n", argv[i], ap->val); continue; Modified: projects/pmac_pmu/bin/sh/expand.c ============================================================================== --- projects/pmac_pmu/bin/sh/expand.c Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/bin/sh/expand.c Fri Dec 6 01:16:26 2013 (r259021) @@ -1307,9 +1307,11 @@ addfname(char *name) { char *p; struct strlist *sp; + size_t len; - p = stalloc(strlen(name) + 1); - scopy(name, p); + len = strlen(name); + p = stalloc(len + 1); + memcpy(p, name, len + 1); sp = (struct strlist *)stalloc(sizeof *sp); sp->text = p; *exparg.lastp = sp; Modified: projects/pmac_pmu/bin/sh/memalloc.c ============================================================================== --- projects/pmac_pmu/bin/sh/memalloc.c Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/bin/sh/memalloc.c Fri Dec 6 01:16:26 2013 (r259021) @@ -98,9 +98,11 @@ char * savestr(const char *s) { char *p; + size_t len; - p = ckmalloc(strlen(s) + 1); - scopy(s, p); + len = strlen(s); + p = ckmalloc(len + 1); + memcpy(p, s, len + 1); return p; } Modified: projects/pmac_pmu/bin/sh/mystring.c ============================================================================== --- projects/pmac_pmu/bin/sh/mystring.c Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/bin/sh/mystring.c Fri Dec 6 01:16:26 2013 (r259021) @@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$"); * String functions. * * equal(s1, s2) Return true if strings are equal. - * scopy(from, to) Copy a string. * number(s) Convert a string of digits to an integer. * is_number(s) Return true if s is a string of digits. */ @@ -60,10 +59,6 @@ char nullstr[1]; /* zero length string * equal - #defined in mystring.h */ -/* - * scopy - #defined in mystring.h - */ - /* * prefix -- see if pfx is a prefix of string. Modified: projects/pmac_pmu/bin/sh/mystring.h ============================================================================== --- projects/pmac_pmu/bin/sh/mystring.h Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/bin/sh/mystring.h Fri Dec 6 01:16:26 2013 (r259021) @@ -40,4 +40,3 @@ int number(const char *); int is_number(const char *); #define equal(s1, s2) (strcmp(s1, s2) == 0) -#define scopy(s1, s2) ((void)strcpy(s2, s1)) Modified: projects/pmac_pmu/bin/sh/redir.c ============================================================================== --- projects/pmac_pmu/bin/sh/redir.c Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/bin/sh/redir.c Fri Dec 6 01:16:26 2013 (r259021) @@ -69,6 +69,7 @@ __FBSDID("$FreeBSD$"); struct redirtab { struct redirtab *next; int renamed[10]; + int fd0_redirected; }; @@ -109,11 +110,14 @@ redirect(union node *redir, int flags) sv = ckmalloc(sizeof (struct redirtab)); for (i = 0 ; i < 10 ; i++) sv->renamed[i] = EMPTY; + sv->fd0_redirected = fd0_redirected; sv->next = redirlist; redirlist = sv; } for (n = redir ; n ; n = n->nfile.next) { fd = n->nfile.fd; + if (fd == 0) + fd0_redirected = 1; if ((n->nfile.type == NTOFD || n->nfile.type == NFROMFD) && n->ndup.dupfd == fd) continue; /* redirect from/to same file descriptor */ @@ -134,8 +138,6 @@ redirect(union node *redir, int flags) sv->renamed[fd] = i; INTON; } - if (fd == 0) - fd0_redirected++; openredirect(n, memory); } if (memory[1]) @@ -303,8 +305,6 @@ popredir(void) for (i = 0 ; i < 10 ; i++) { if (rp->renamed[i] != EMPTY) { - if (i == 0) - fd0_redirected--; if (rp->renamed[i] >= 0) { dup2(rp->renamed[i], i); close(rp->renamed[i]); @@ -314,6 +314,7 @@ popredir(void) } } INTOFF; + fd0_redirected = rp->fd0_redirected; redirlist = rp->next; ckfree(rp); INTON; Modified: projects/pmac_pmu/bin/sh/show.c ============================================================================== --- projects/pmac_pmu/bin/sh/show.c Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/bin/sh/show.c Fri Dec 6 01:16:26 2013 (r259021) @@ -390,11 +390,11 @@ opentrace(void) else p = "/tmp"; } - scopy(p, s); + strcpy(s, p); strcat(s, "/trace"); } #else - scopy("./trace", s); + strcpy(s, "./trace"); #endif /* not_this_way */ if ((tracefile = fopen(s, "a")) == NULL) { fprintf(stderr, "Can't open %s: %s\n", s, strerror(errno)); Modified: projects/pmac_pmu/bin/sh/var.c ============================================================================== --- projects/pmac_pmu/bin/sh/var.c Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/bin/sh/var.c Fri Dec 6 01:16:26 2013 (r259021) @@ -224,8 +224,9 @@ void setvar(const char *name, const char *val, int flags) { const char *p; - int len; - int namelen; + size_t len; + size_t namelen; + size_t vallen; char *nameeq; int isbad; @@ -244,18 +245,20 @@ setvar(const char *name, const char *val } namelen = p - name; if (isbad) - error("%.*s: bad variable name", namelen, name); + error("%.*s: bad variable name", (int)namelen, name); len = namelen + 2; /* 2 is space for '=' and '\0' */ if (val == NULL) { flags |= VUNSET; + vallen = 0; } else { - len += strlen(val); + vallen = strlen(val); + len += vallen; } nameeq = ckmalloc(len); memcpy(nameeq, name, namelen); nameeq[namelen] = '='; if (val) - scopy(val, nameeq + namelen + 1); + memcpy(nameeq + namelen + 1, val, vallen + 1); else nameeq[namelen + 1] = '\0'; setvareq(nameeq, flags); Modified: projects/pmac_pmu/bin/test/test.c ============================================================================== --- projects/pmac_pmu/bin/test/test.c Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/bin/test/test.c Fri Dec 6 01:16:26 2013 (r259021) @@ -67,9 +67,18 @@ error(const char *msg, ...) operand ::= */ +enum token_types { + UNOP = 0x100, + BINOP = 0x200, + BUNOP = 0x300, + BBINOP = 0x400, + PAREN = 0x500 +}; + enum token { EOI, - FILRD, + OPERAND, + FILRD = UNOP + 1, FILWR, FILEX, FILEXIST, @@ -85,13 +94,13 @@ enum token { FILSUID, FILSGID, FILSTCK, - FILNT, - FILOT, - FILEQ, - FILUID, - FILGID, STREZ, STRNZ, + FILUID, + FILGID, + FILNT = BINOP + 1, + FILOT, + FILEQ, STREQ, STRNE, STRLT, @@ -102,76 +111,68 @@ enum token { INTGT, INTLE, INTLT, - UNOT, - BAND, + UNOT = BUNOP + 1, + BAND = BBINOP + 1, BOR, - LPAREN, - RPAREN, - OPERAND + LPAREN = PAREN + 1, + RPAREN }; -enum token_types { - UNOP, - BINOP, - BUNOP, - BBINOP, - PAREN -}; +#define TOKEN_TYPE(token) ((token) & 0xff00) static struct t_op { char op_text[4]; - short op_num, op_type; + short op_num; } const ops [] = { - {"-r", FILRD, UNOP}, - {"-w", FILWR, UNOP}, - {"-x", FILEX, UNOP}, - {"-e", FILEXIST,UNOP}, - {"-f", FILREG, UNOP}, - {"-d", FILDIR, UNOP}, - {"-c", FILCDEV,UNOP}, - {"-b", FILBDEV,UNOP}, - {"-p", FILFIFO,UNOP}, - {"-u", FILSUID,UNOP}, - {"-g", FILSGID,UNOP}, - {"-k", FILSTCK,UNOP}, - {"-s", FILGZ, UNOP}, - {"-t", FILTT, UNOP}, - {"-z", STREZ, UNOP}, - {"-n", STRNZ, UNOP}, - {"-h", FILSYM, UNOP}, /* for backwards compat */ - {"-O", FILUID, UNOP}, - {"-G", FILGID, UNOP}, - {"-L", FILSYM, UNOP}, - {"-S", FILSOCK,UNOP}, - {"=", STREQ, BINOP}, - {"==", STREQ, BINOP}, - {"!=", STRNE, BINOP}, - {"<", STRLT, BINOP}, - {">", STRGT, BINOP}, - {"-eq", INTEQ, BINOP}, - {"-ne", INTNE, BINOP}, - {"-ge", INTGE, BINOP}, - {"-gt", INTGT, BINOP}, - {"-le", INTLE, BINOP}, - {"-lt", INTLT, BINOP}, - {"-nt", FILNT, BINOP}, - {"-ot", FILOT, BINOP}, - {"-ef", FILEQ, BINOP}, - {"!", UNOT, BUNOP}, - {"-a", BAND, BBINOP}, - {"-o", BOR, BBINOP}, - {"(", LPAREN, PAREN}, - {")", RPAREN, PAREN}, - {"", 0, 0} + {"-r", FILRD}, + {"-w", FILWR}, + {"-x", FILEX}, + {"-e", FILEXIST}, + {"-f", FILREG}, + {"-d", FILDIR}, + {"-c", FILCDEV}, + {"-b", FILBDEV}, + {"-p", FILFIFO}, + {"-u", FILSUID}, + {"-g", FILSGID}, + {"-k", FILSTCK}, + {"-s", FILGZ}, + {"-t", FILTT}, + {"-z", STREZ}, + {"-n", STRNZ}, + {"-h", FILSYM}, /* for backwards compat */ + {"-O", FILUID}, + {"-G", FILGID}, + {"-L", FILSYM}, + {"-S", FILSOCK}, + {"=", STREQ}, + {"==", STREQ}, + {"!=", STRNE}, + {"<", STRLT}, + {">", STRGT}, + {"-eq", INTEQ}, + {"-ne", INTNE}, + {"-ge", INTGE}, + {"-gt", INTGT}, + {"-le", INTLE}, + {"-lt", INTLT}, + {"-nt", FILNT}, + {"-ot", FILOT}, + {"-ef", FILEQ}, + {"!", UNOT}, + {"-a", BAND}, + {"-o", BOR}, + {"(", LPAREN}, + {")", RPAREN}, + {"", 0} }; -static struct t_op const *t_wp_op; static int nargc; static char **t_wp; static int parenlevel; static int aexpr(enum token); -static int binop(void); +static int binop(enum token); static int equalf(const char *, const char *); static int filstat(char *, enum token); static int getn(const char *); @@ -295,10 +296,10 @@ primary(enum token n) parenlevel--; return res; } - if (t_wp_op && t_wp_op->op_type == UNOP) { + if (TOKEN_TYPE(n) == UNOP) { /* unary expression */ if (--nargc == 0) - syntax(t_wp_op->op_text, "argument expected"); + syntax(NULL, "argument expected"); /* impossible */ switch (n) { case STREZ: return strlen(*++t_wp) == 0; @@ -311,28 +312,25 @@ primary(enum token n) } } - if (t_lex(nargc > 0 ? t_wp[1] : NULL), t_wp_op && t_wp_op->op_type == - BINOP) { - return binop(); - } + nn = t_lex(nargc > 0 ? t_wp[1] : NULL); + if (TOKEN_TYPE(nn) == BINOP) + return binop(nn); return strlen(*t_wp) > 0; } static int -binop(void) +binop(enum token n) { - const char *opnd1, *opnd2; - struct t_op const *op; + const char *opnd1, *op, *opnd2; opnd1 = *t_wp; - (void) t_lex(nargc > 0 ? (--nargc, *++t_wp) : NULL); - op = t_wp_op; + op = nargc > 0 ? (--nargc, *++t_wp) : NULL; if ((opnd2 = nargc > 0 ? (--nargc, *++t_wp) : NULL) == NULL) - syntax(op->op_text, "argument expected"); + syntax(op, "argument expected"); - switch (op->op_num) { + switch (n) { case STREQ: return strcmp(opnd1, opnd2) == 0; case STRNE: @@ -424,22 +422,20 @@ t_lex(char *s) struct t_op const *op = ops; if (s == 0) { - t_wp_op = NULL; return EOI; } while (*op->op_text) { if (strcmp(s, op->op_text) == 0) { - if (((op->op_type == UNOP || op->op_type == BUNOP) + if (((TOKEN_TYPE(op->op_num) == UNOP || + TOKEN_TYPE(op->op_num) == BUNOP) && isunopoperand()) || (op->op_num == LPAREN && islparenoperand()) || (op->op_num == RPAREN && isrparenoperand())) break; - t_wp_op = op; return op->op_num; } op++; } - t_wp_op = NULL; return OPERAND; } @@ -458,7 +454,7 @@ isunopoperand(void) t = *(t_wp + 2); while (*op->op_text) { if (strcmp(s, op->op_text) == 0) - return op->op_type == BINOP && + return TOKEN_TYPE(op->op_num) == BINOP && (parenlevel == 0 || t[0] != ')' || t[1] != '\0'); op++; } @@ -480,7 +476,7 @@ islparenoperand(void) return 0; while (*op->op_text) { if (strcmp(s, op->op_text) == 0) - return op->op_type == BINOP; + return TOKEN_TYPE(op->op_num) == BINOP; op++; } return 0; Modified: projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh ============================================================================== --- projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh Fri Dec 6 01:16:26 2013 (r259021) @@ -64,7 +64,7 @@ child=$! # ksh doing work. (This actually goes one step further and assumes that we # catch some non-static function in ksh.) # -script | tee /dev/fd/2 | grep 'ksh`[a-zA-Z_]' > /dev/null +script | tee /dev/fd/2 | egrep 'ksh(93)?`[a-zA-Z_]' > /dev/null status=$? kill $child Modified: projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh ============================================================================== --- projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh Fri Dec 6 01:16:26 2013 (r259021) @@ -62,7 +62,7 @@ child=$! # # The only thing we can be sure of here is that ksh is doing some work. # -script | tee /dev/fd/2 | grep -w ksh > /dev/null +script | tee /dev/fd/2 | egrep -w 'ksh(93)?' > /dev/null status=$? kill $child Modified: projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh ============================================================================== --- projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh Fri Dec 6 01:16:26 2013 (r259021) @@ -63,7 +63,7 @@ child=$! # This test is essentially the same as that in the ufunc test; see that # test for the rationale. # -script | tee /dev/fd/2 | grep 'ksh`[a-zA-Z_]' > /dev/null +script | tee /dev/fd/2 | egrep 'ksh(93)?`[a-zA-Z_]' > /dev/null status=$? kill $child Modified: projects/pmac_pmu/cddl/contrib/opensolaris/cmd/plockstat/plockstat.c ============================================================================== --- projects/pmac_pmu/cddl/contrib/opensolaris/cmd/plockstat/plockstat.c Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/cddl/contrib/opensolaris/cmd/plockstat/plockstat.c Fri Dec 6 01:16:26 2013 (r259021) @@ -778,7 +778,8 @@ main(int argc, char **argv) #endif int err; int opt_C = 0, opt_H = 0, opt_p = 0, opt_v = 0; - char c, *p, *end; + int c; + char *p, *end; struct sigaction act; int done = 0; Modified: projects/pmac_pmu/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- projects/pmac_pmu/cddl/contrib/opensolaris/cmd/zdb/zdb.c Thu Dec 5 23:18:54 2013 (r259020) +++ projects/pmac_pmu/cddl/contrib/opensolaris/cmd/zdb/zdb.c Fri Dec 6 01:16:26 2013 (r259021) @@ -242,7 +242,7 @@ const char histo_stars[] = "************ const int histo_width = sizeof (histo_stars) - 1; static void -dump_histogram(const uint64_t *histo, int size) +dump_histogram(const uint64_t *histo, int size, int offset) { int i; int minidx = size - 1; @@ -263,7 +263,7 @@ dump_histogram(const uint64_t *histo, in for (i = minidx; i <= maxidx; i++) { (void) printf("\t\t\t%3u: %6llu %s\n", - i, (u_longlong_t)histo[i], + i + offset, (u_longlong_t)histo[i], &histo_stars[(max - histo[i]) * histo_width / max]); } } @@ -316,19 +316,19 @@ dump_zap_stats(objset_t *os, uint64_t ob (u_longlong_t)zs.zs_salt); (void) printf("\t\tLeafs with 2^n pointers:\n"); - dump_histogram(zs.zs_leafs_with_2n_pointers, ZAP_HISTOGRAM_SIZE); + dump_histogram(zs.zs_leafs_with_2n_pointers, ZAP_HISTOGRAM_SIZE, 0); (void) printf("\t\tBlocks with n*5 entries:\n"); - dump_histogram(zs.zs_blocks_with_n5_entries, ZAP_HISTOGRAM_SIZE); + dump_histogram(zs.zs_blocks_with_n5_entries, ZAP_HISTOGRAM_SIZE, 0); (void) printf("\t\tBlocks n/10 full:\n"); - dump_histogram(zs.zs_blocks_n_tenths_full, ZAP_HISTOGRAM_SIZE); + dump_histogram(zs.zs_blocks_n_tenths_full, ZAP_HISTOGRAM_SIZE, 0); (void) printf("\t\tEntries with n chunks:\n"); - dump_histogram(zs.zs_entries_using_n_chunks, ZAP_HISTOGRAM_SIZE); + dump_histogram(zs.zs_entries_using_n_chunks, ZAP_HISTOGRAM_SIZE, 0); (void) printf("\t\tBuckets with n entries:\n"); - dump_histogram(zs.zs_buckets_with_n_entries, ZAP_HISTOGRAM_SIZE); + dump_histogram(zs.zs_buckets_with_n_entries, ZAP_HISTOGRAM_SIZE, 0); } /*ARGSUSED*/ @@ -517,26 +517,85 @@ dump_zpldir(objset_t *os, uint64_t objec zap_cursor_fini(&zc); } +int +get_dtl_refcount(vdev_t *vd) +{ + int refcount = 0; + + if (vd->vdev_ops->vdev_op_leaf) { + space_map_t *sm = vd->vdev_dtl_sm; + + if (sm != NULL && + sm->sm_dbuf->db_size == sizeof (space_map_phys_t)) + return (1); + return (0); + } + + for (int c = 0; c < vd->vdev_children; c++) + refcount += get_dtl_refcount(vd->vdev_child[c]); + return (refcount); +} + +int +get_metaslab_refcount(vdev_t *vd) +{ + int refcount = 0; + + if (vd->vdev_top == vd) { + for (int m = 0; m < vd->vdev_ms_count; m++) { + space_map_t *sm = vd->vdev_ms[m]->ms_sm; + + if (sm != NULL && + sm->sm_dbuf->db_size == sizeof (space_map_phys_t)) + refcount++; + } + } + for (int c = 0; c < vd->vdev_children; c++) + refcount += get_metaslab_refcount(vd->vdev_child[c]); + + return (refcount); +} + +static int +verify_spacemap_refcounts(spa_t *spa) +{ + int expected_refcount, actual_refcount; + + expected_refcount = spa_feature_get_refcount(spa, + &spa_feature_table[SPA_FEATURE_SPACEMAP_HISTOGRAM]); + actual_refcount = get_dtl_refcount(spa->spa_root_vdev); + actual_refcount += get_metaslab_refcount(spa->spa_root_vdev); + + if (expected_refcount != actual_refcount) { + (void) printf("space map refcount mismatch: expected %d != " + "actual %d\n", expected_refcount, actual_refcount); + return (2); + } + return (0); +} + static void -dump_spacemap(objset_t *os, space_map_obj_t *smo, space_map_t *sm) +dump_spacemap(objset_t *os, space_map_t *sm) { uint64_t alloc, offset, entry; - uint8_t mapshift = sm->sm_shift; - uint64_t mapstart = sm->sm_start; char *ddata[] = { "ALLOC", "FREE", "CONDENSE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" }; - if (smo->smo_object == 0) + if (sm == NULL) return; /* * Print out the freelist entries in both encoded and decoded form. */ alloc = 0; - for (offset = 0; offset < smo->smo_objsize; offset += sizeof (entry)) { - VERIFY3U(0, ==, dmu_read(os, smo->smo_object, offset, + for (offset = 0; offset < space_map_length(sm); + offset += sizeof (entry)) { + uint8_t mapshift = sm->sm_shift; + + VERIFY0(dmu_read(os, space_map_object(sm), offset, sizeof (entry), &entry, DMU_READ_PREFETCH)); if (SM_DEBUG_DECODE(entry)) { + (void) printf("\t [%6llu] %s: txg %llu, pass %llu\n", (u_longlong_t)(offset / sizeof (entry)), ddata[SM_DEBUG_ACTION_DECODE(entry)], @@ -548,10 +607,10 @@ dump_spacemap(objset_t *os, space_map_ob (u_longlong_t)(offset / sizeof (entry)), SM_TYPE_DECODE(entry) == SM_ALLOC ? 'A' : 'F', (u_longlong_t)((SM_OFFSET_DECODE(entry) << - mapshift) + mapstart), + mapshift) + sm->sm_start), (u_longlong_t)((SM_OFFSET_DECODE(entry) << - mapshift) + mapstart + (SM_RUN_DECODE(entry) << - mapshift)), + mapshift) + sm->sm_start + + (SM_RUN_DECODE(entry) << mapshift)), (u_longlong_t)(SM_RUN_DECODE(entry) << mapshift)); if (SM_TYPE_DECODE(entry) == SM_ALLOC) alloc += SM_RUN_DECODE(entry) << mapshift; @@ -559,10 +618,10 @@ dump_spacemap(objset_t *os, space_map_ob alloc -= SM_RUN_DECODE(entry) << mapshift; } } - if (alloc != smo->smo_alloc) { + if (alloc != space_map_allocated(sm)) { (void) printf("space_map_object alloc (%llu) INCONSISTENT " "with space map summary (%llu)\n", - (u_longlong_t)smo->smo_alloc, (u_longlong_t)alloc); + (u_longlong_t)space_map_allocated(sm), (u_longlong_t)alloc); } } @@ -570,15 +629,17 @@ static void dump_metaslab_stats(metaslab_t *msp) { char maxbuf[32]; - space_map_t *sm = msp->ms_map; - avl_tree_t *t = sm->sm_pp_root; - int free_pct = sm->sm_space * 100 / sm->sm_size; + range_tree_t *rt = msp->ms_tree; + avl_tree_t *t = &msp->ms_size_tree; + int free_pct = range_tree_space(rt) * 100 / msp->ms_size; - zdb_nicenum(space_map_maxsize(sm), maxbuf); + zdb_nicenum(metaslab_block_maxsize(msp), maxbuf); (void) printf("\t %25s %10lu %7s %6s %4s %4d%%\n", "segments", avl_numnodes(t), "maxsize", maxbuf, "freepct", free_pct); + (void) printf("\tIn-memory histogram:\n"); + dump_histogram(rt->rt_histogram, RANGE_TREE_HISTOGRAM_SIZE, 0); } static void @@ -586,33 +647,45 @@ dump_metaslab(metaslab_t *msp) { vdev_t *vd = msp->ms_group->mg_vd; spa_t *spa = vd->vdev_spa; - space_map_t *sm = msp->ms_map; - space_map_obj_t *smo = &msp->ms_smo; + space_map_t *sm = msp->ms_sm; char freebuf[32]; - zdb_nicenum(sm->sm_size - smo->smo_alloc, freebuf); + zdb_nicenum(msp->ms_size - space_map_allocated(sm), freebuf); (void) printf( "\tmetaslab %6llu offset %12llx spacemap %6llu free %5s\n", - (u_longlong_t)(sm->sm_start / sm->sm_size), - (u_longlong_t)sm->sm_start, (u_longlong_t)smo->smo_object, freebuf); + (u_longlong_t)msp->ms_id, (u_longlong_t)msp->ms_start, + (u_longlong_t)space_map_object(sm), freebuf); - if (dump_opt['m'] > 1 && !dump_opt['L']) { + if (dump_opt['m'] > 2 && !dump_opt['L']) { mutex_enter(&msp->ms_lock); - space_map_load_wait(sm); - if (!sm->sm_loaded) - VERIFY(space_map_load(sm, zfs_metaslab_ops, - SM_FREE, smo, spa->spa_meta_objset) == 0); + metaslab_load_wait(msp); + if (!msp->ms_loaded) { + VERIFY0(metaslab_load(msp)); + range_tree_stat_verify(msp->ms_tree); + } dump_metaslab_stats(msp); - space_map_unload(sm); + metaslab_unload(msp); mutex_exit(&msp->ms_lock); } - if (dump_opt['d'] > 5 || dump_opt['m'] > 2) { - ASSERT(sm->sm_size == (1ULL << vd->vdev_ms_shift)); + if (dump_opt['m'] > 1 && sm != NULL && + spa_feature_is_active(spa, + &spa_feature_table[SPA_FEATURE_SPACEMAP_HISTOGRAM])) { + /* + * The space map histogram represents free space in chunks + * of sm_shift (i.e. bucket 0 refers to 2^sm_shift). + */ + (void) printf("\tOn-disk histogram:\n"); + dump_histogram(sm->sm_phys->smp_histogram, + SPACE_MAP_HISTOGRAM_SIZE(sm), sm->sm_shift); + } + + if (dump_opt['d'] > 5 || dump_opt['m'] > 3) { + ASSERT(msp->ms_size == (1ULL << vd->vdev_ms_shift)); mutex_enter(&msp->ms_lock); - dump_spacemap(spa->spa_meta_objset, smo, sm); + dump_spacemap(spa->spa_meta_objset, msp->ms_sm); mutex_exit(&msp->ms_lock); } } @@ -801,9 +874,9 @@ dump_all_ddts(spa_t *spa) } static void -dump_dtl_seg(space_map_t *sm, uint64_t start, uint64_t size) +dump_dtl_seg(void *arg, uint64_t start, uint64_t size) { - char *prefix = (void *)sm; + char *prefix = arg; (void) printf("%s [%llu,%llu) length %llu\n", prefix, @@ -833,17 +906,16 @@ dump_dtl(vdev_t *vd, int indent) required ? "DTL-required" : "DTL-expendable"); for (int t = 0; t < DTL_TYPES; t++) { - space_map_t *sm = &vd->vdev_dtl[t]; - if (sm->sm_space == 0) + range_tree_t *rt = vd->vdev_dtl[t]; + if (range_tree_space(rt) == 0) continue; (void) snprintf(prefix, sizeof (prefix), "\t%*s%s", indent + 2, "", name[t]); - mutex_enter(sm->sm_lock); - space_map_walk(sm, dump_dtl_seg, (void *)prefix); - mutex_exit(sm->sm_lock); + mutex_enter(rt->rt_lock); *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***