From owner-svn-src-projects@FreeBSD.ORG Sun May 1 00:08:14 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1D14E106564A; Sun, 1 May 2011 00:08:14 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0953D8FC0A; Sun, 1 May 2011 00:08:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p4108DGC068279; Sun, 1 May 2011 00:08:13 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4108DJb068277; Sun, 1 May 2011 00:08:13 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105010008.p4108DJb068277@svn.freebsd.org> From: Attilio Rao Date: Sun, 1 May 2011 00:08:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221286 - projects/largeSMP/sys/i386/include/xen X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 00:08:14 -0000 Author: attilio Date: Sun May 1 00:08:13 2011 New Revision: 221286 URL: http://svn.freebsd.org/changeset/base/221286 Log: Remove unnused typedef. Modified: projects/largeSMP/sys/i386/include/xen/xenvar.h Modified: projects/largeSMP/sys/i386/include/xen/xenvar.h ============================================================================== --- projects/largeSMP/sys/i386/include/xen/xenvar.h Sat Apr 30 23:28:07 2011 (r221285) +++ projects/largeSMP/sys/i386/include/xen/xenvar.h Sun May 1 00:08:13 2011 (r221286) @@ -99,7 +99,6 @@ void xpq_init(void); (((bits)+BITS_PER_LONG-1)/BITS_PER_LONG) #define DECLARE_BITMAP(name,bits) \ unsigned long name[BITS_TO_LONGS(bits)] -typedef struct { DECLARE_BITMAP(bits, NR_CPUS); } xen_cpumask_t; int xen_create_contiguous_region(vm_page_t pages, int npages); From owner-svn-src-projects@FreeBSD.ORG Sun May 1 00:48:03 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BA5F71065676; Sun, 1 May 2011 00:48:03 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A540D8FC15; Sun, 1 May 2011 00:48:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p410m3kf069434; Sun, 1 May 2011 00:48:03 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p410m3EP069430; Sun, 1 May 2011 00:48:03 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105010048.p410m3EP069430@svn.freebsd.org> From: Attilio Rao Date: Sun, 1 May 2011 00:48:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221287 - in projects/largeSMP: contrib/gcc contrib/top lib/libmemstat share/mk sys/ufs/ffs X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 00:48:03 -0000 Author: attilio Date: Sun May 1 00:48:03 2011 New Revision: 221287 URL: http://svn.freebsd.org/changeset/base/221287 Log: MFC @ r221286 Added: projects/largeSMP/contrib/gcc/ChangeLog.gcc43 - copied unchanged from r221286, head/contrib/gcc/ChangeLog.gcc43 Modified: projects/largeSMP/lib/libmemstat/memstat.h projects/largeSMP/sys/ufs/ffs/ffs_vnops.c Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Copied: projects/largeSMP/contrib/gcc/ChangeLog.gcc43 (from r221286, head/contrib/gcc/ChangeLog.gcc43) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/contrib/gcc/ChangeLog.gcc43 Sun May 1 00:48:03 2011 (r221287, copy of r221286, head/contrib/gcc/ChangeLog.gcc43) @@ -0,0 +1,163 @@ +2007-05-01 Dwarakanath Rajagopal (r124339) + + * config/i386/i386.c (override_options): Accept k8-sse3, opteron-sse3 + and athlon64-sse3 as improved versions of k8, opteron and athlon64 + with SSE3 instruction set support. + * doc/invoke.texi: Likewise. + +2007-04-07 H.J. Lu (r123639) + + * config/i386/i386.c (ix86_handle_option): Handle SSSE3. + +2007-02-08 Harsha Jagasia (r121726) + + * config/i386/xmmintrin.h: Make inclusion of emmintrin.h + conditional to __SSE2__. + (Entries below should have been added to first ChangeLog + entry for amdfam10 dated 2007-02-05) + * config/i386/emmintrin.h: Generate #error if __SSE2__ is not + defined. + * config/i386/pmmintrin.h: Generate #error if __SSE3__ is not + defined. + * config/i386/tmmintrin.h: Generate #error if __SSSE3__ is not + defined. + +2007-02-07 Jakub Jelinek (r121687) + + * config/i386/i386.c (override_options): Set PTA_SSSE3 for core2. + +2007-01-17 Eric Christopher (r120846) + + * config.gcc: Support core2 processor. + +2006-12-02 H.J. Lu (r119454 - partial) + + PR target/30040 + * config/i386/driver-i386.c (bit_SSSE3): New. + +2006-11-18 Vladimir Makarov (r118973) + + * doc/invoke.texi (core2): Add item. + + * config/i386/i386.h (TARGET_CORE2, TARGET_CPU_DEFAULT_core2): New + macros. + (TARGET_CPU_CPP_BUILTINS): Add code for core2. + (TARGET_CPU_DEFAULT_generic): Change value. + (TARGET_CPU_DEFAULT_NAMES): Add core2. + (processor_type): Add new constant PROCESSOR_CORE2. + + * config/i386/i386.md (cpu): Add core2. + + * config/i386/i386.c (core2_cost): New initialized variable. + (m_CORE2): New macro. + (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen, + x86_deep_branch, x86_partial_reg_stall, x86_use_simode_fiop, + x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8, + x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves, + x86_partial_reg_dependency, x86_memory_mismatch_stall, + x86_accumulate_outgoing_args, x86_prologue_using_move, + x86_epilogue_using_move, x86_arch_always_fancy_math_387, + x86_sse_partial_reg_dependency, x86_rep_movl_optimal, + x86_use_incdec, x86_four_jump_limit, x86_schedule, + x86_pad_returns): Add m_CORE2. + (override_options): Add entries for Core2. + (ix86_issue_rate): Add case for Core2. + +2006-10-27 Vladimir Makarov (r118090) + + * config/i386/i386.h (TARGET_GEODE): + (TARGET_CPU_CPP_BUILTINS): Add code for geode. + (TARGET_CPU_DEFAULT_geode): New macro. + (TARGET_CPU_DEFAULT_k6, TARGET_CPU_DEFAULT_k6_2, + TARGET_CPU_DEFAULT_k6_3, TARGET_CPU_DEFAULT_athlon, + TARGET_CPU_DEFAULT_athlon_sse, TARGET_CPU_DEFAULT_k8, + TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_prescott, + TARGET_CPU_DEFAULT_nocona, TARGET_CPU_DEFAULT_generic): Increase + the macro values. + (TARGET_CPU_DEFAULT_NAMES): Add geode. + (processor_type): Add PROCESSOR_GEODE. + + * config/i386/i386.md: Include geode.md. + (cpu): Add geode. + + * config/i386/i386.c (geode_cost): New initialized global + variable. + (m_GEODE, m_K6_GEODE): New macros. + (x86_use_leave, x86_push_memory, x86_deep_branch, x86_use_sahf, + x86_use_himode_fiop, x86_promote_QImode, x86_add_esp_4, + x86_add_esp_8, x86_rep_movl_optimal, x86_ext_80387_constants, + x86_schedule): Use m_K6_GEODE instead of m_K6. + (x86_movx, x86_cmove): Set up m_GEODE. + (x86_integer_DFmode_moves): Clear m_GEODE. + (processor_target_table): Add entry for geode. + (processor_alias_table): Ditto. + + * config/i386/geode.md: New file. + + * doc/invoke.texi: Add entry about geode processor. + +2006-10-22 H.J. Lu (r117958) + + * config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers. + (x86_64-*-*): Likewise. + + * config/i386/i386.c (pta_flags): Add PTA_SSSE3. + (override_options): Check SSSE3. + (ix86_builtins): Add IX86_BUILTIN_PHADDW, IX86_BUILTIN_PHADDD, + IX86_BUILTIN_PHADDSW, IX86_BUILTIN_PHSUBW, IX86_BUILTIN_PHSUBD, + IX86_BUILTIN_PHSUBSW, IX86_BUILTIN_PMADDUBSW, + IX86_BUILTIN_PMULHRSW, IX86_BUILTIN_PSHUFB, + IX86_BUILTIN_PSIGNB, IX86_BUILTIN_PSIGNW, IX86_BUILTIN_PSIGND, + IX86_BUILTIN_PALIGNR, IX86_BUILTIN_PABSB, IX86_BUILTIN_PABSW, + IX86_BUILTIN_PABSD, IX86_BUILTIN_PHADDW128, + IX86_BUILTIN_PHADDD128, IX86_BUILTIN_PHADDSW128, + IX86_BUILTIN_PHSUBW128, IX86_BUILTIN_PHSUBD128, + IX86_BUILTIN_PHSUBSW128, IX86_BUILTIN_PMADDUBSW128, + IX86_BUILTIN_PMULHRSW128, IX86_BUILTIN_PSHUFB128, + IX86_BUILTIN_PSIGNB128, IX86_BUILTIN_PSIGNW128, + IX86_BUILTIN_PSIGND128, IX86_BUILTIN_PALIGNR128, + IX86_BUILTIN_PABSB128, IX86_BUILTIN_PABSW128 and + IX86_BUILTIN_PABSD128. + (bdesc_2arg): Add SSSE3. + (bdesc_1arg): Likewise. + (ix86_init_mmx_sse_builtins): Support SSSE3. + (ix86_expand_builtin): Likewise. + * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Likewise. + + * config/i386/i386.md (UNSPEC_PSHUFB): New. + (UNSPEC_PSIGN): Likewise. + (UNSPEC_PALIGNR): Likewise. + Include mmx.md before sse.md. + + * config/i386/i386.opt: Add -mssse3. + + * config/i386/sse.md (ssse3_phaddwv8hi3): New pattern for SSSE3. + (ssse3_phaddwv4hi3): Likewise. + (ssse3_phadddv4si3): Likewise. + (ssse3_phadddv2si3): Likewise. + (ssse3_phaddswv8hi3): Likewise. + (ssse3_phaddswv4hi3): Likewise. + (ssse3_phsubwv8hi3): Likewise. + (ssse3_phsubwv4hi3): Likewise. + (ssse3_phsubdv4si3): Likewise. + (ssse3_phsubdv2si3): Likewise. + (ssse3_phsubswv8hi3): Likewise. + (ssse3_phsubswv4hi3): Likewise. + (ssse3_pmaddubswv8hi3): Likewise. + (ssse3_pmaddubswv4hi3): Likewise. + (ssse3_pmulhrswv8hi3): Likewise. + (ssse3_pmulhrswv4hi3): Likewise. + (ssse3_pshufbv16qi3): Likewise. + (ssse3_pshufbv8qi3): Likewise. + (ssse3_psign3): Likewise. + (ssse3_psign3): Likewise. + (ssse3_palignrti): Likewise. + (ssse3_palignrdi): Likewise. + (abs2): Likewise. + (abs2): Likewise. + + * config/i386/tmmintrin.h: New file. + + * doc/extend.texi: Document SSSE3 built-in functions. + + * doc/invoke.texi: Document -mssse3/-mno-ssse3 switches. Modified: projects/largeSMP/lib/libmemstat/memstat.h ============================================================================== --- projects/largeSMP/lib/libmemstat/memstat.h Sun May 1 00:08:13 2011 (r221286) +++ projects/largeSMP/lib/libmemstat/memstat.h Sun May 1 00:48:03 2011 (r221287) @@ -29,11 +29,12 @@ #ifndef _MEMSTAT_H_ #define _MEMSTAT_H_ +#include + /* - * Number of CPU slots in library-internal data structures. This should be - * at least the value of MAXCPU from param.h. + * Number of CPU slots in library-internal data structures. */ -#define MEMSTAT_MAXCPU 32 +#define MEMSTAT_MAXCPU MAXCPU /* * Amount of caller data to maintain for each caller data slot. Applications Modified: projects/largeSMP/sys/ufs/ffs/ffs_vnops.c ============================================================================== --- projects/largeSMP/sys/ufs/ffs/ffs_vnops.c Sun May 1 00:08:13 2011 (r221286) +++ projects/largeSMP/sys/ufs/ffs/ffs_vnops.c Sun May 1 00:48:03 2011 (r221287) @@ -591,7 +591,7 @@ ffs_read(ap) /* * If there are no dependencies, and it's VMIO, * then we don't need the buf, mark it available - * for freeing. For non-direct VMIO reads, he VM + * for freeing. For non-direct VMIO reads, the VM * has the data. */ bp->b_flags |= B_RELBUF; @@ -986,7 +986,7 @@ ffs_extread(struct vnode *vp, struct uio /* * If there are no dependencies, and it's VMIO, * then we don't need the buf, mark it available - * for freeing. For non-direct VMIO reads, The VM + * for freeing. For non-direct VMIO reads, the VM * has the data. */ bp->b_flags |= B_RELBUF; From owner-svn-src-projects@FreeBSD.ORG Sun May 1 01:49:35 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC7071065675; Sun, 1 May 2011 01:49:35 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C08708FC17; Sun, 1 May 2011 01:49:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p411nZej071332; Sun, 1 May 2011 01:49:35 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p411nZfK071330; Sun, 1 May 2011 01:49:35 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201105010149.p411nZfK071330@svn.freebsd.org> From: Marcel Moolenaar Date: Sun, 1 May 2011 01:49:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221289 - projects/altix/sys/ia64/conf X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 01:49:36 -0000 Author: marcel Date: Sun May 1 01:49:35 2011 New Revision: 221289 URL: http://svn.freebsd.org/changeset/base/221289 Log: s/NFSCLIENT/NFSCL/g Modified: projects/altix/sys/ia64/conf/ALTIX Modified: projects/altix/sys/ia64/conf/ALTIX ============================================================================== --- projects/altix/sys/ia64/conf/ALTIX Sun May 1 01:34:22 2011 (r221288) +++ projects/altix/sys/ia64/conf/ALTIX Sun May 1 01:49:35 2011 (r221289) @@ -42,7 +42,7 @@ options KDB options KTRACE options MD_ROOT options MSDOSFS -options NFSCLIENT +options NFSCL options NFSLOCKD options NFS_ROOT options NULLFS From owner-svn-src-projects@FreeBSD.ORG Sun May 1 05:36:59 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DA24F106566B; Sun, 1 May 2011 05:36:59 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C9B408FC0A; Sun, 1 May 2011 05:36:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p415axxR078477; Sun, 1 May 2011 05:36:59 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p415axAj078474; Sun, 1 May 2011 05:36:59 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201105010536.p415axAj078474@svn.freebsd.org> From: Marcel Moolenaar Date: Sun, 1 May 2011 05:36:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221295 - projects/altix/sys/ia64/sgisn X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 05:36:59 -0000 Author: marcel Date: Sun May 1 05:36:59 2011 New Revision: 221295 URL: http://svn.freebsd.org/changeset/base/221295 Log: Each bus is in its own domain and each domain assigns resources independently to devices and from the same local address window. As such, we need the PCI host controller to manage the resources. Modified: projects/altix/sys/ia64/sgisn/sgisn_pcib.c projects/altix/sys/ia64/sgisn/sgisn_shub.c Modified: projects/altix/sys/ia64/sgisn/sgisn_pcib.c ============================================================================== --- projects/altix/sys/ia64/sgisn/sgisn_pcib.c Sun May 1 03:16:13 2011 (r221294) +++ projects/altix/sys/ia64/sgisn/sgisn_pcib.c Sun May 1 05:36:59 2011 (r221295) @@ -31,6 +31,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -63,6 +64,8 @@ struct sgisn_pcib_softc { bus_space_handle_t sc_hndl; u_int sc_domain; u_int sc_busnr; + struct rman sc_ioport; + struct rman sc_iomem; }; static int sgisn_pcib_attach(device_t); @@ -70,6 +73,19 @@ static int sgisn_pcib_probe(device_t); static int sgisn_pcib_activate_resource(device_t, device_t, int, int, struct resource *); +static struct resource *sgisn_pcib_alloc_resource(device_t, device_t, int, + int *, u_long, u_long, u_long, u_int); +static int sgisn_pcib_deactivate_resource(device_t, device_t, int, int, + struct resource *); +static void sgisn_pcib_delete_resource(device_t, device_t, int, int); +static int sgisn_pcib_get_resource(device_t, device_t, int, int, u_long *, + u_long *); +static struct resource_list *sgisn_pcib_get_resource_list(device_t, device_t); +static int sgisn_pcib_release_resource(device_t, device_t, int, int, + struct resource *); +static int sgisn_pcib_set_resource(device_t, device_t, int, int, u_long, + u_long); + static int sgisn_pcib_read_ivar(device_t, device_t, int, uintptr_t *); static int sgisn_pcib_write_ivar(device_t, device_t, int, uintptr_t); @@ -78,10 +94,6 @@ static uint32_t sgisn_pcib_cfgread(devic static void sgisn_pcib_cfgwrite(device_t, u_int, u_int, u_int, u_int, uint32_t, int); -#if 0 -static int sgisn_pcib_scan(struct sgisn_pcib_softc *, u_int, u_int); -#endif - /* * Bus interface definitions. */ @@ -91,13 +103,17 @@ static device_method_t sgisn_pcib_method DEVMETHOD(device_attach, sgisn_pcib_attach), /* Bus interface */ - DEVMETHOD(bus_read_ivar, sgisn_pcib_read_ivar), - DEVMETHOD(bus_write_ivar, sgisn_pcib_write_ivar), + DEVMETHOD(bus_read_ivar, sgisn_pcib_read_ivar), + DEVMETHOD(bus_write_ivar, sgisn_pcib_write_ivar), DEVMETHOD(bus_print_child, bus_generic_print_child), - DEVMETHOD(bus_alloc_resource, bus_generic_alloc_resource), - DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, sgisn_pcib_activate_resource), - DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), + DEVMETHOD(bus_alloc_resource, sgisn_pcib_alloc_resource), + DEVMETHOD(bus_deactivate_resource, sgisn_pcib_deactivate_resource), + DEVMETHOD(bus_delete_resource, sgisn_pcib_delete_resource), + DEVMETHOD(bus_get_resource, sgisn_pcib_get_resource), + DEVMETHOD(bus_get_resource_list, sgisn_pcib_get_resource_list), + DEVMETHOD(bus_release_resource, sgisn_pcib_release_resource), + DEVMETHOD(bus_set_resource, sgisn_pcib_set_resource), DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), @@ -157,93 +173,123 @@ static int sgisn_pcib_activate_resource(device_t dev, device_t child, int type, int rid, struct resource *res) { + int error; + + error = rman_activate_resource(res); + return (error); +} + +static struct resource * +sgisn_pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, + u_long start, u_long end, u_long count, u_int flags) +{ struct ia64_sal_result r; + struct rman *rm; + struct resource *rv; struct sgisn_pcib_softc *sc; device_t parent; void *vaddr; + uint64_t base; uintptr_t func, slot; - vm_paddr_t paddr; - u_long base; int bar, error; - - parent = device_get_parent(child); - error = BUS_READ_IVAR(parent, child, PCI_IVAR_SLOT, &slot); - if (!error) - error = BUS_READ_IVAR(parent, child, PCI_IVAR_FUNCTION, &func); - if (error) - return (error); + if (type == SYS_RES_IRQ) + return (bus_generic_alloc_resource(dev, child, type, rid, + start, end, count, flags)); + + bar = PCI_RID2BAR(*rid); + if (bar < 0 || bar > PCIR_MAX_BAR_0) + return (NULL); sc = device_get_softc(dev); + rm = (type == SYS_RES_MEMORY) ? &sc->sc_iomem : &sc->sc_ioport; + rv = rman_reserve_resource(rm, start, end, count, flags, child); + if (rv == NULL) + return (NULL); + + parent = device_get_parent(child); + error = BUS_READ_IVAR(parent, child, PCI_IVAR_SLOT, &slot); + if (error) + goto fail; + error = BUS_READ_IVAR(parent, child, PCI_IVAR_FUNCTION, &func); + if (error) + goto fail; r = ia64_sal_entry(SAL_SGISN_IODEV_INFO, sc->sc_domain, sc->sc_busnr, (slot << 3) | func, ia64_tpa((uintptr_t)&sgisn_dev), ia64_tpa((uintptr_t)&sgisn_irq), 0, 0); if (r.sal_status != 0) - return (ENXIO); - - paddr = rman_get_start(res); + goto fail; - if (type == SYS_RES_IRQ) { - /* For now, only warn when there's a mismatch. */ - if (paddr != sgisn_irq.irq_nr) - device_printf(dev, "interrupt mismatch: (actual=%u)\n", - sgisn_irq.irq_nr); - - printf("XXX: nasid=%u, slice=%u, cpuid=%u, irq=%u, pin=%u, " - "xtaddr=%#lx\n", sgisn_irq.irq_nasid, sgisn_irq.irq_slice, - sgisn_irq.irq_cpuid, sgisn_irq.irq_nr, sgisn_irq.irq_pin, - sgisn_irq.irq_xtaddr); - printf("XXX: brt=%u, br=%p, dev=%p, last=%u, cookie=%#x, " - "flags=%#x, refcnt=%u\n", sgisn_irq.irq_br_type, - sgisn_irq.irq_bridge, sgisn_irq.irq_dev, - sgisn_irq.irq_last, sgisn_irq.irq_cookie, - sgisn_irq.irq_flags, sgisn_irq.irq_refcnt); - -#if 0 - intrs = bus_space_read_8(sc->sc_tag, sc->sc_hndl, - PIC_REG_INT_ENABLE); - intrs |= 1 << sgisn_irq.irq_pin; - bus_space_write_8(sc->sc_tag, sc->sc_hndl, PIC_REG_INT_ENABLE, - intrs); - - bus_space_write_8(sc->sc_tag, sc->sc_hndl, - PIC_REG_INT_PIN(sgisn_irq.irq_pin), 1); - - sgisn_dev.dev_parent = sc->sc_fwbus; - sgisn_dev.dev_irq = &sgisn_irq; - sgisn_irq.irq_dev = &sgisn_dev; - - r = ia64_sal_entry(SAL_SGISN_INTERRUPT, 1 /*alloc*/, - sgisn_irq.irq_nasid, (sgisn_irq.irq_bridge >> 24) & 15, - ia64_tpa((uintptr_t)&sgisn_irq), - paddr, - sgisn_irq.irq_nasid, - sgisn_irq.irq_slice); - if (r.status != 0) - return (ENXIO); -#endif - - goto out; - } - - bar = PCI_RID2BAR(rid); - if (bar < 0 || bar > PCIR_MAX_BAR_0) - return (EINVAL); - base = sgisn_dev.dev_bar[bar]; - if (base != paddr) + base = sgisn_dev.dev_bar[bar] & 0x7fffffffffffffffL; + if (base != start) device_printf(dev, "PCI bus address %#lx mapped to CPU " - "address %#lx\n", paddr, base); + "address %#lx\n", start, base); /* I/O port space is presented as memory mapped I/O. */ - rman_set_bustag(res, IA64_BUS_SPACE_MEM); - vaddr = pmap_mapdev(base, rman_get_size(res)); - rman_set_bushandle(res, (bus_space_handle_t) vaddr); + rman_set_bustag(rv, IA64_BUS_SPACE_MEM); + vaddr = pmap_mapdev(base, count); + rman_set_bushandle(rv, (bus_space_handle_t)vaddr); if (type == SYS_RES_MEMORY) - rman_set_virtual(res, vaddr); + rman_set_virtual(rv, vaddr); + return (rv); + + fail: + rman_release_resource(rv); + return (NULL); +} + +static int +sgisn_pcib_deactivate_resource(device_t dev, device_t child, int type, int rid, + struct resource *res) +{ + int error; + + error = rman_deactivate_resource(res); + return (error); +} + +static void +sgisn_pcib_delete_resource(device_t dev, device_t child, int type, int rid) +{ +} + +static int +sgisn_pcib_get_resource(device_t dev, device_t child, int type, int rid, + u_long *startp, u_long *countp) +{ + + return (ENOENT); +} + +static struct resource_list * +sgisn_pcib_get_resource_list(device_t dev, device_t child) +{ + + return (NULL); +} - out: - return (rman_activate_resource(res)); +static int +sgisn_pcib_release_resource(device_t dev, device_t child, int type, int rid, + struct resource *res) +{ + int error; + + if (rman_get_flags(res) & RF_ACTIVE) { + error = rman_deactivate_resource(res); + if (error) + return (error); + } + error = rman_release_resource(res); + return (error); +} + +static int +sgisn_pcib_set_resource(device_t dev, device_t child, int type, int rid, + u_long start, u_long count) +{ + + return (ENXIO); } static int @@ -283,12 +329,37 @@ sgisn_pcib_callout(void *arg) } static int +sgisn_pcib_rm_init(struct sgisn_pcib_softc *sc, struct rman *rm, + const char *what) +{ + char descr[128]; + int error; + + rm->rm_start = 0UL; + rm->rm_end = 0x3ffffffffUL; /* 16GB */ + rm->rm_type = RMAN_ARRAY; + error = rman_init(rm); + if (error) + return (error); + + snprintf(descr, sizeof(descr), "PCI %u:%u local I/O %s addresses", + sc->sc_domain, sc->sc_busnr, what); + rm->rm_descr = strdup(descr, M_DEVBUF); + + error = rman_manage_region(rm, rm->rm_start, rm->rm_end); + if (error) + rman_fini(rm); + + return (error); +} + +static int sgisn_pcib_attach(device_t dev) { struct sgisn_pcib_softc *sc; device_t parent; uintptr_t addr, bus, seg; - u_int i; + int error; sc = device_get_softc(dev); sc->sc_dev = dev; @@ -299,6 +370,15 @@ sgisn_pcib_attach(device_t dev) BUS_READ_IVAR(parent, dev, SHUB_IVAR_PCISEG, &seg); sc->sc_domain = seg; + error = sgisn_pcib_rm_init(sc, &sc->sc_ioport, "port"); + if (error) + return (error); + error = sgisn_pcib_rm_init(sc, &sc->sc_iomem, "memory"); + if (error) { + rman_fini(&sc->sc_ioport); + return (error); + } + (void)ia64_sal_entry(SAL_SGISN_IOBUS_INFO, seg, bus, ia64_tpa((uintptr_t)&addr), 0, 0, 0, 0); sc->sc_fwbus = (void *)IA64_PHYS_TO_RR7(addr); @@ -307,22 +387,9 @@ sgisn_pcib_attach(device_t dev) bus_space_map(sc->sc_tag, sc->sc_ioaddr, PIC_REG_SIZE, 0, &sc->sc_hndl); - device_printf(dev, "ASIC=%x, XID=%u\n", sc->sc_fwbus->bus_asic, - sc->sc_fwbus->bus_xid); - - device_printf(dev, "INTR status=%lx\n", - bus_space_read_8(sc->sc_tag, sc->sc_hndl, PIC_REG_INT_STATUS)); - device_printf(dev, "INTR enable=%lx\n", - bus_space_read_8(sc->sc_tag, sc->sc_hndl, PIC_REG_INT_ENABLE)); - device_printf(dev, "INTR addrs:"); - for (i = 0; i < 8; i++) - printf(" %lx", bus_space_read_8(sc->sc_tag, sc->sc_hndl, - PIC_REG_INT_ADDR(i))); - printf("\n"); - -#if 0 - sgisn_pcib_scan(sc, sc->sc_busnr, sgisn_pcib_maxslots(dev)); -#endif + if (bootverbose) + device_printf(dev, "ASIC=%x, XID=%u\n", sc->sc_fwbus->bus_asic, + sc->sc_fwbus->bus_xid); timeout(sgisn_pcib_callout, sc, hz); @@ -358,55 +425,3 @@ sgisn_pcib_write_ivar(device_t dev, devi } return (ENOENT); } - -#if 0 -static int -sgisn_pcib_scan(struct sgisn_pcib_softc *sc, u_int bus, u_int maxslot) -{ - static struct sgisn_fwdev dev; - static struct sgisn_fwirq irq; - struct ia64_sal_result r; - u_int devfn, func, maxfunc, slot; - uint8_t hdrtype; - - for (slot = 0; slot <= maxslot; slot++) { - maxfunc = 0; - for (func = 0; func <= maxfunc; func++) { - hdrtype = sgisn_pcib_cfgread(sc->sc_dev, bus, slot, - func, PCIR_HDRTYPE, 1); - - if ((hdrtype & PCIM_HDRTYPE) > PCI_MAXHDRTYPE) - continue; - - if (func == 0 && (hdrtype & PCIM_MFDEV)) - maxfunc = PCI_FUNCMAX; - - printf("XXX: %s: %u:%u:%u:%u: ", __func__, - sc->sc_domain, bus, slot, func); - - devfn = (slot << 3) | func; - r = ia64_sal_entry(SAL_SGISN_IODEV_INFO, sc->sc_domain, - bus, devfn, ia64_tpa((uintptr_t)&dev), - ia64_tpa((uintptr_t)&irq), 0, 0); - - if (r.sal_status != 0) { - printf("status %#lx\n", r.sal_status); - continue; - } - - printf("handle=%#lx\n", dev.dev_handle); - printf(" BAR: %#lx, %#lx, %#lx, %#lx, %#lx, %#lx\n", - dev.dev_bar[0], dev.dev_bar[1], dev.dev_bar[2], - dev.dev_bar[3], dev.dev_bar[4], dev.dev_bar[5]); - printf(" ROM: %#lx\n", dev.dev_rom); - - printf(" IRT: nodeid=%#x, slice=%#x, cpuid=%#x\n", - irq.irq_nasid, irq.irq_slice, irq.irq_cpuid); - printf(" IRQ: nr=%#x, pin=%#x, xtaddr=%#lx\n", - irq.irq_no, irq.irq_pin, irq.irq_xtaddr); - } - } - - return (0); -} -#endif Modified: projects/altix/sys/ia64/sgisn/sgisn_shub.c ============================================================================== --- projects/altix/sys/ia64/sgisn/sgisn_shub.c Sun May 1 03:16:13 2011 (r221294) +++ projects/altix/sys/ia64/sgisn/sgisn_shub.c Sun May 1 05:36:59 2011 (r221295) @@ -126,81 +126,10 @@ static int sgisn_shub_activate_resource(device_t dev, device_t child, int type, int rid, struct resource *res) { -#if 0 - struct ia64_sal_result r; - struct sgisn_shub_softc *sc; - device_t parent; - void *vaddr; - uintptr_t func, slot; - vm_paddr_t paddr; - u_long base; - int bar, error; - - parent = device_get_parent(child); - - error = BUS_READ_IVAR(parent, child, PCI_IVAR_SLOT, &slot); - if (!error) - error = BUS_READ_IVAR(parent, child, PCI_IVAR_FUNCTION, &func); - if (error) - return (error); - - sc = device_get_softc(dev); - - r = ia64_sal_entry(SAL_SGISN_IODEV_INFO, sc->sc_domain, sc->sc_busnr, - (slot << 3) | func, ia64_tpa((uintptr_t)&sgisn_dev), - ia64_tpa((uintptr_t)&sgisn_irq), 0, 0); - if (r.sal_status != 0) - return (ENXIO); - - paddr = rman_get_start(res); - - if (type == SYS_RES_IRQ) { - /* For now, only warn when there's a mismatch. */ - if (paddr != sgisn_irq.irq_nr) - device_printf(dev, "interrupt mismatch: (actual=%u)\n", - sgisn_irq.irq_nr); - - printf("XXX: %s: %u, %u, %u, %u, %u, %#lx\n", __func__, - sgisn_irq.irq_tgt_nasid, sgisn_irq.irq_tgt_slice, - sgisn_irq.irq_cpuid, sgisn_irq.irq_nr, sgisn_irq.irq_pin, - sgisn_irq.irq_tgt_xtaddr); - printf("\t%u, %p, %p, %u, %#x, %#x, %u\n", sgisn_irq.irq_br_type, - sgisn_irq.irq_bridge, sgisn_irq.irq_io_info, sgisn_irq.irq_last, - sgisn_irq.irq_cookie, sgisn_irq.irq_flags, sgisn_irq.irq_refcnt); - - r = ia64_sal_entry(SAL_SGISN_INTERRUPT, 1 /*alloc*/, - sgisn_irq.irq_tgt_nasid, - (sgisn_irq.irq_bridge >> 24) & 15 - ia64_tpa((uintptr_t)&sgisn_irq), - paddr, - sgisn_irq.irq_tgt_nasid, - sgisn_irq.irq_tgt_slice); - if (r.status != 0) - return (ENXIO); - - goto out; - } - - bar = PCI_RID2BAR(rid); - if (bar < 0 || bar > PCIR_MAX_BAR_0) - return (EINVAL); - base = sgisn_dev.dev_bar[bar]; - if (base != paddr) - device_printf(dev, "PCI bus address %#lx mapped to CPU " - "address %#lx\n", paddr, base); - - /* I/O port space is presented as memory mapped I/O. */ - rman_set_bustag(res, IA64_BUS_SPACE_MEM); - vaddr = pmap_mapdev(base, rman_get_size(res)); - rman_set_bushandle(res, (bus_space_handle_t) vaddr); - if (type == SYS_RES_MEMORY) - rman_set_virtual(res, vaddr); - - out: - return (rman_activate_resource(res)); -#endif + int error; - return (EDOOFUS); + error = bus_activate_resource(dev, type, rid, res); + return (error); } static struct resource * From owner-svn-src-projects@FreeBSD.ORG Mon May 2 13:56:48 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7E7EA1065670; Mon, 2 May 2011 13:56:48 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 627B88FC17; Mon, 2 May 2011 13:56:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p42DumL4040820; Mon, 2 May 2011 13:56:48 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p42Dum3V040817; Mon, 2 May 2011 13:56:48 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105021356.p42Dum3V040817@svn.freebsd.org> From: Attilio Rao Date: Mon, 2 May 2011 13:56:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221322 - projects/largeSMP/sys/i386/xen X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 13:56:48 -0000 Author: attilio Date: Mon May 2 13:56:47 2011 New Revision: 221322 URL: http://svn.freebsd.org/changeset/base/221322 Log: - Merge a fix fixup for the last lazyfix removal - Sync xen with i386 about the ipi_send_cpu() usage Modified: projects/largeSMP/sys/i386/xen/mp_machdep.c projects/largeSMP/sys/i386/xen/pmap.c Modified: projects/largeSMP/sys/i386/xen/mp_machdep.c ============================================================================== --- projects/largeSMP/sys/i386/xen/mp_machdep.c Mon May 2 10:42:19 2011 (r221321) +++ projects/largeSMP/sys/i386/xen/mp_machdep.c Mon May 2 13:56:47 2011 (r221322) @@ -153,7 +153,6 @@ static cpumask_t hyperthreading_cpus_mas extern void Xhypervisor_callback(void); extern void failsafe_callback(void); -extern void pmap_lazyfix_action(void); struct cpu_group * cpu_topo(void) @@ -340,24 +339,16 @@ iv_invlcache(uintptr_t a, uintptr_t b) atomic_add_int(&smp_tlb_wait, 1); } -static void -iv_lazypmap(uintptr_t a, uintptr_t b) -{ - pmap_lazyfix_action(); - atomic_add_int(&smp_tlb_wait, 1); -} - /* * These start from "IPI offset" APIC_IPI_INTS */ -static call_data_func_t *ipi_vectors[6] = +static call_data_func_t *ipi_vectors[5] = { iv_rendezvous, iv_invltlb, iv_invlpg, iv_invlrng, iv_invlcache, - iv_lazypmap, }; /* @@ -957,6 +948,30 @@ start_ap(int apic_id) } /* + * send an IPI to a specific CPU. + */ +static void +ipi_send_cpu(int cpu, u_int ipi) +{ + u_int bitmap, old_pending, new_pending; + + if (IPI_IS_BITMAPED(ipi)) { + bitmap = 1 << ipi; + ipi = IPI_BITMAP_VECTOR; + do { + old_pending = cpu_ipi_pending[cpu]; + new_pending = old_pending | bitmap; + } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu], + old_pending, new_pending)); + if (!old_pending) + ipi_pcpu(cpu, RESCHEDULE_VECTOR); + } else { + KASSERT(call_data != NULL, ("call_data not set")); + ipi_pcpu(cpu, CALL_FUNCTION_VECTOR); + } +} + +/* * Flush the TLB on all other CPU's */ static void @@ -1098,14 +1113,6 @@ void ipi_selected(cpumask_t cpus, u_int ipi) { int cpu; - u_int bitmap = 0; - u_int old_pending; - u_int new_pending; - - if (IPI_IS_BITMAPED(ipi)) { - bitmap = 1 << ipi; - ipi = IPI_BITMAP_VECTOR; - } /* * IPI_STOP_HARD maps to a NMI and the trap handler needs a bit @@ -1115,23 +1122,11 @@ ipi_selected(cpumask_t cpus, u_int ipi) if (ipi == IPI_STOP_HARD) atomic_set_int(&ipi_nmi_pending, cpus); - CTR3(KTR_SMP, "%s: cpus: %x ipi: %x", __func__, cpus, ipi); while ((cpu = ffs(cpus)) != 0) { cpu--; cpus &= ~(1 << cpu); - - if (bitmap) { - do { - old_pending = cpu_ipi_pending[cpu]; - new_pending = old_pending | bitmap; - } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu], - old_pending, new_pending)); - if (!old_pending) - ipi_pcpu(cpu, RESCHEDULE_VECTOR); - } else { - KASSERT(call_data != NULL, ("call_data not set")); - ipi_pcpu(cpu, CALL_FUNCTION_VECTOR); - } + CTR3(KTR_SMP, "%s: cpu: %d ipi: %x", __func__, cpu, ipi); + ipi_send_cpu(cpu, ipi); } } @@ -1141,14 +1136,6 @@ ipi_selected(cpumask_t cpus, u_int ipi) void ipi_cpu(int cpu, u_int ipi) { - u_int bitmap = 0; - u_int old_pending; - u_int new_pending; - - if (IPI_IS_BITMAPED(ipi)) { - bitmap = 1 << ipi; - ipi = IPI_BITMAP_VECTOR; - } /* * IPI_STOP_HARD maps to a NMI and the trap handler needs a bit @@ -1159,19 +1146,7 @@ ipi_cpu(int cpu, u_int ipi) atomic_set_int(&ipi_nmi_pending, 1 << cpu); CTR3(KTR_SMP, "%s: cpu: %d ipi: %x", __func__, cpu, ipi); - - if (bitmap) { - do { - old_pending = cpu_ipi_pending[cpu]; - new_pending = old_pending | bitmap; - } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu], - old_pending, new_pending)); - if (!old_pending) - ipi_pcpu(cpu, RESCHEDULE_VECTOR); - } else { - KASSERT(call_data != NULL, ("call_data not set")); - ipi_pcpu(cpu, CALL_FUNCTION_VECTOR); - } + ipi_send_cpu(cpu, ipi); } /* Modified: projects/largeSMP/sys/i386/xen/pmap.c ============================================================================== --- projects/largeSMP/sys/i386/xen/pmap.c Mon May 2 10:42:19 2011 (r221321) +++ projects/largeSMP/sys/i386/xen/pmap.c Mon May 2 13:56:47 2011 (r221322) @@ -1706,7 +1706,6 @@ pmap_release(pmap_t pmap) mtx_lock(&createdelete_lock); #endif - pmap_lazyfix(pmap); mtx_lock_spin(&allpmaps_lock); LIST_REMOVE(pmap, pm_list); mtx_unlock_spin(&allpmaps_lock); From owner-svn-src-projects@FreeBSD.ORG Mon May 2 14:23:36 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B9DDB1065677; Mon, 2 May 2011 14:23:36 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A55CA8FC20; Mon, 2 May 2011 14:23:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p42ENanc041863; Mon, 2 May 2011 14:23:36 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p42ENaiI041835; Mon, 2 May 2011 14:23:36 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105021423.p42ENaiI041835@svn.freebsd.org> From: Attilio Rao Date: Mon, 2 May 2011 14:23:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221325 - in projects/largeSMP: contrib/openresolv contrib/top sbin/mount_nfs sbin/recoverdisk share/man/man4 share/misc share/mk sys/amd64/conf sys/amd64/pci sys/conf sys/dev/acpica sy... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 14:23:36 -0000 Author: attilio Date: Mon May 2 14:23:36 2011 New Revision: 221325 URL: http://svn.freebsd.org/changeset/base/221325 Log: MFC @ r221324 Modified: projects/largeSMP/contrib/openresolv/resolvconf.conf.5.in projects/largeSMP/sbin/mount_nfs/Makefile projects/largeSMP/sbin/recoverdisk/recoverdisk.1 projects/largeSMP/sbin/recoverdisk/recoverdisk.c projects/largeSMP/share/man/man4/vxge.4 projects/largeSMP/share/misc/bsd-family-tree projects/largeSMP/sys/amd64/conf/GENERIC projects/largeSMP/sys/amd64/pci/pci_bus.c projects/largeSMP/sys/conf/NOTES projects/largeSMP/sys/conf/files projects/largeSMP/sys/conf/kern.mk projects/largeSMP/sys/conf/options projects/largeSMP/sys/dev/acpica/acpi_pcib_acpi.c projects/largeSMP/sys/dev/pci/pci.c projects/largeSMP/sys/dev/pci/pci_pci.c projects/largeSMP/sys/dev/wpi/if_wpi.c projects/largeSMP/sys/fs/nfs/nfs_commonport.c projects/largeSMP/sys/i386/conf/GENERIC projects/largeSMP/sys/i386/pci/pci_bus.c projects/largeSMP/sys/mips/atheros/ar724x_pci.c projects/largeSMP/sys/mips/conf/PB92.hints projects/largeSMP/sys/nfs/nfssvc.h projects/largeSMP/sys/x86/x86/mptable_pci.c projects/largeSMP/sys/x86/x86/nexus.c projects/largeSMP/usr.bin/man/man.sh projects/largeSMP/usr.bin/nfsstat/nfsstat.1 projects/largeSMP/usr.bin/nfsstat/nfsstat.c Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/contrib/openresolv/resolvconf.conf.5.in ============================================================================== --- projects/largeSMP/contrib/openresolv/resolvconf.conf.5.in Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/contrib/openresolv/resolvconf.conf.5.in Mon May 2 14:23:36 2011 (r221325) @@ -43,7 +43,7 @@ Listed below are the standard .Nm variables that may be set. .Pp -After updaing this file, you may wish to run +After updating this file, you may wish to run .Nm resolvconf -u to apply the new configuration. .Sh RESOLVCONF OPTIONS Modified: projects/largeSMP/sbin/mount_nfs/Makefile ============================================================================== --- projects/largeSMP/sbin/mount_nfs/Makefile Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sbin/mount_nfs/Makefile Mon May 2 14:23:36 2011 (r221325) @@ -5,7 +5,7 @@ PROG= mount_nfs SRCS= mount_nfs.c getmntopts.c mounttab.c MAN= mount_nfs.8 -MLINKS= mount_nfs.8 mount_newnfs.8 +MLINKS= mount_nfs.8 mount_oldnfs.8 MOUNT= ${.CURDIR}/../mount UMNTALL= ${.CURDIR}/../../usr.sbin/rpc.umntall Modified: projects/largeSMP/sbin/recoverdisk/recoverdisk.1 ============================================================================== --- projects/largeSMP/sbin/recoverdisk/recoverdisk.1 Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sbin/recoverdisk/recoverdisk.1 Mon May 2 14:23:36 2011 (r221325) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 6, 2006 +.Dd May 1, 2011 .Dt RECOVERDISK 1 .Os .Sh NAME @@ -33,17 +33,20 @@ .Sh SYNOPSIS .Nm .Op Fl b Ar bigsize -.Op Fl r Ar rlist -.Op Fl s Ar snapshot -.Op Fl w Ar wlist -.Ar special -.Op Ar file +.Op Fl r Ar readlist +.Op Fl s Ar interval +.Op Fl w Ar writelist +.Ar source +.Op Ar destination .Sh DESCRIPTION The .Nm utility reads data from the -.Ar special +.Ar source file until all blocks could be successfully read. +If +.Ar destination +was specified all data is being written to that file. It starts reading in multiples of the sector size. Whenever a block fails, it is put to the end of the working queue and will be read again, possibly with a smaller read size. @@ -59,13 +62,13 @@ The options are as follows: The size of reads attempted first. The middle pass is roughly the logarithmic average of the bigsize and the sectorsize. -.It Fl r Ar rlist +.It Fl r Ar readlist Read the list of blocks and block sizes to read from the specified file. -.It Fl s Ar snapshot -How often we should update the worklist file while things go OK. -The default is 60 and the units is "progress messages" so if things +.It Fl s Ar interval +How often we should update the writelist file while things go OK. +The default is 60 and the unit is "progress messages" so if things go well, this is the same as once per minute. -.It Fl w Ar wlist +.It Fl w Ar writelist Write the list of remaining blocks to read to the specified file if .Nm is aborted via @@ -102,20 +105,19 @@ Percent complete. .Sh EXAMPLES .Bd -literal # recover data from failing hard drive ad3 -touch /data/lots_of_space -recoverdisk /dev/ad3 /data/lots_of_space +recoverdisk /dev/ad3 /data/disk.img # clone a hard disk recoverdisk /dev/ad3 /dev/ad4 # read an ISO image from a CD-ROM -touch /data/cd.iso; recoverdisk /dev/acd0 /data/cd.iso +recoverdisk /dev/cd0 /data/cd.iso # continue reading from a broken CD and update the existing worklist -recoverdisk -r worklist -w worklist /dev/acd0 /data/cd.iso +recoverdisk -r worklist -w worklist /dev/cd0 /data/cd.iso # recover a single file from the unreadable media -touch file.avi; recoverdisk /cdrom/file.avi file.avi +recoverdisk /cdrom/file.avi file.avi # If the disk hangs the system on read-errors try: recoverdisk -b 0 /dev/ad3 /somewhere @@ -133,7 +135,7 @@ utility first appeared in The original implementation was done by .An Poul-Henning Kamp Aq phk@FreeBSD.org with minor improvements from -.An Ulrich Sp\(:orlein Aq uspoerlein@gmail.com . +.An Ulrich Sp\(:orlein Aq uqs@FreeBSD.org . .Pp This manual page was written by .An Ulrich Sp\(:orlein . @@ -144,4 +146,13 @@ This is due to the DMA reads being split These reads then fail if the sectorsize is not a divisor of 128kB. When reading a full raw audio CD, this leads to roughly 700 error messages flying by. -This is harmless. +This is harmless and can be avoided by setting +.Fl b +to no more than 128kB. +.\".Pp +.\"When reading from optical media, a bug in the GEOM framework will +.\"prevent it from seeing that the media has been removed. +.\"The device can still be opened, but all reads will fail. +.\"This is usually harmless, but will send +.\".Nm +.\"into an infinite loop. Modified: projects/largeSMP/sbin/recoverdisk/recoverdisk.c ============================================================================== --- projects/largeSMP/sbin/recoverdisk/recoverdisk.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sbin/recoverdisk/recoverdisk.c Mon May 2 14:23:36 2011 (r221325) @@ -86,7 +86,7 @@ save_worklist(void) if (file == NULL) err(1, "Error opening file %s", wworklist); - TAILQ_FOREACH(llp, &lumps, list) + TAILQ_FOREACH(llp, &lumps, list) fprintf(file, "%jd %jd %d\n", (intmax_t)llp->start, (intmax_t)llp->len, llp->state); @@ -134,8 +134,8 @@ read_worklist(off_t t) static void usage(void) { - (void)fprintf(stderr, - "usage: recoverdisk [-r worklist] [-w worklist] source-drive [destination]\n"); + (void)fprintf(stderr, "usage: recoverdisk [-b bigsize] [-r readlist] " + "[-s interval] [-w writelist] source [destination]\n"); exit(1); } @@ -153,7 +153,7 @@ main(int argc, char * const argv[]) int fdr, fdw; off_t t, d, start, len; size_t i, j; - int error, flags, state; + int error, state; u_char *buf; u_int sectorsize; time_t t1, t2; @@ -196,7 +196,6 @@ main(int argc, char * const argv[]) error = fstat(fdr, &sb); if (error < 0) err(1, "fstat failed"); - flags = O_WRONLY; if (S_ISBLK(sb.st_mode) || S_ISCHR(sb.st_mode)) { error = ioctl(fdr, DIOCGSECTORSIZE, §orsize); if (error < 0) @@ -210,7 +209,6 @@ main(int argc, char * const argv[]) err(1, "DIOCGMEDIASIZE failed"); } else { t = sb.st_size; - flags |= O_CREAT | O_TRUNC; } if (bigsize < minsize) @@ -229,9 +227,12 @@ main(int argc, char * const argv[]) err(1, "Cannot allocate %zu bytes buffer", bigsize); if (argc > 1) { - fdw = open(argv[1], flags, DEFFILEMODE); + fdw = open(argv[1], O_WRONLY | O_CREAT, DEFFILEMODE); if (fdw < 0) err(1, "Cannot open write descriptor %s", argv[1]); + if (ftruncate(fdw, t) < 0) + err(1, "Cannot truncate output %s to %jd bytes", + argv[1], (intmax_t)t); } else fdw = -1; @@ -292,6 +293,10 @@ main(int argc, char * const argv[]) } printf("\n%jd %zu failed (%s)\n", lp->start, i, strerror(errno)); + if (errno == EINVAL) { + printf("read() size too big? Try with -b 131072"); + aborting = 1; + } if (errno == ENXIO) aborting = 1; new_lump(lp->start, i, lp->state + 1); Modified: projects/largeSMP/share/man/man4/vxge.4 ============================================================================== --- projects/largeSMP/share/man/man4/vxge.4 Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/share/man/man4/vxge.4 Mon May 2 14:23:36 2011 (r221325) @@ -49,13 +49,12 @@ The .Nm driver provides support for Neterion X3100 adapters. The driver supports TCP Segmentation Offload (TSO/LSO), -Large Receive Offlaod (LRO), Jumbo Frames, Receive Traffic Hash (RTH), +Large Receive Offload (LRO), Jumbo Frames, Receive Traffic Hash (RTH), VLAN, Promiscuous mode and Multi function mode. .Pp - The .Nm -driver supports following function modes: +driver supports the following function modes: .Bd -ragged -offset indent .Cd "SF1_VP17 - 1 function with 17 VPATHs" .Ed Modified: projects/largeSMP/share/misc/bsd-family-tree ============================================================================== --- projects/largeSMP/share/misc/bsd-family-tree Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/share/misc/bsd-family-tree Mon May 2 14:23:36 2011 (r221325) @@ -246,7 +246,7 @@ FreeBSD 5.2 | | | | | | | NetBSD 5.1 | | | FreeBSD FreeBSD | | | | | 8.2 7.4 | | | DragonFly 2.10.1 - | v | | | | + | v | | OpenBSD 4.9 | | | | | | FreeBSD 9 -current | NetBSD -current OpenBSD -current | | | | | | @@ -533,6 +533,7 @@ NetBSD 5.1 2010-11-19 [NBD] FreeBSD 7.4 2011-02-24 [FBD] FreeBSD 8.2 2011-02-24 [FBD] DragonFly 2.10.1 2011-04-26 [DFB] +OpenBSD 4.9 2011-05-01 [OBD] Bibliography ------------------------ Modified: projects/largeSMP/sys/amd64/conf/GENERIC ============================================================================== --- projects/largeSMP/sys/amd64/conf/GENERIC Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/amd64/conf/GENERIC Mon May 2 14:23:36 2011 (r221325) @@ -261,8 +261,16 @@ device ath_pci # Atheros pci/cardbus g device ath_hal # pci/cardbus chip support options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath +#device bwi # Broadcom BCM430x/BCM431x wireless NICs. +#device bwn # Broadcom BCM43xx wireless NICs. +device ipw # Intel 2100 wireless NICs. +device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. +device iwn # Intel 4965/1000/5000/6000 wireless NICs. +device malo # Marvell Libertas wireless NICs. +device mwl # Marvell 88W8363 802.11n wireless NICs. device ral # Ralink Technology RT2500 wireless NICs. device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. +device wpi # Intel 3945ABG wireless NICs. # Pseudo devices. device loop # Network loopback @@ -314,7 +322,9 @@ device rue # RealTek RTL8150 USB Ether device udav # Davicom DM9601E USB # USB Wireless device rum # Ralink Technology RT2501USB wireless NICs +device run # Ralink Technology RT2700/RT2800/RT3000 NICs. device uath # Atheros AR5523 wireless NICs +device upgt # Conexant/Intersil PrismGT wireless NICs. device ural # Ralink Technology RT2500USB wireless NICs device urtw # Realtek RTL8187B/L wireless NICs device zyd # ZyDAS zb1211/zb1211b wireless NICs Modified: projects/largeSMP/sys/amd64/pci/pci_bus.c ============================================================================== --- projects/largeSMP/sys/amd64/pci/pci_bus.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/amd64/pci/pci_bus.c Mon May 2 14:23:36 2011 (r221325) @@ -348,6 +348,7 @@ static device_method_t legacy_pcib_metho DEVMETHOD(bus_read_ivar, legacy_pcib_read_ivar), DEVMETHOD(bus_write_ivar, legacy_pcib_write_ivar), DEVMETHOD(bus_alloc_resource, legacy_pcib_alloc_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), Modified: projects/largeSMP/sys/conf/NOTES ============================================================================== --- projects/largeSMP/sys/conf/NOTES Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/conf/NOTES Mon May 2 14:23:36 2011 (r221325) @@ -1940,6 +1940,8 @@ device xmphy # XaQti XMAC II # lge: Support for PCI gigabit ethernet adapters based on the Level 1 # LXT1001 NetCellerator chipset. This includes the D-Link DGE-500SX, # SMC TigerCard 1000 (SMC9462SX), and some Addtron cards. +# malo: Marvell Libertas wireless NICs. +# mwl: Marvell 88W8363 802.11n wireless NICs. # msk: Support for gigabit ethernet adapters based on the Marvell/SysKonnect # Yukon II Gigabit controllers, including 88E8021, 88E8022, 88E8061, # 88E8062, 88E8035, 88E8036, 88E8038, 88E8050, 88E8052, 88E8053, @@ -2131,6 +2133,8 @@ options AH_RXCFG_SDMAMW_4BYTES device ath_rate_sample # SampleRate tx rate control for ath device bwi # Broadcom BCM430* BCM431* device bwn # Broadcom BCM43xx +device malo # Marvell Libertas wireless NICs. +device mwl # Marvell 88W8363 802.11n wireless NICs. device ral # Ralink Technology RT2500 wireless NICs. # Use "private" jumbo buffers allocated exclusively for the ti(4) driver. @@ -2727,6 +2731,9 @@ device run # Atheros AR5523 wireless driver device uath # +# Conexant/Intersil PrismGT wireless driver +device upgt +# # Ralink Technology RT2500USB wireless driver device ural # Modified: projects/largeSMP/sys/conf/files ============================================================================== --- projects/largeSMP/sys/conf/files Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/conf/files Mon May 2 14:23:36 2011 (r221325) @@ -1995,6 +1995,7 @@ dev/wi/if_wi.c optional wi dev/wi/if_wi_pccard.c optional wi pccard dev/wi/if_wi_pci.c optional wi pci dev/wl/if_wl.c optional wl isa +dev/wpi/if_wpi.c optional wpi pci wpifw.c optional wpifw \ compile-with "${AWK} -f $S/tools/fw_stub.awk wpi.fw:wpifw:153229 -mwpi -c${.TARGET}" \ no-implicit-rule before-depend local \ Modified: projects/largeSMP/sys/conf/kern.mk ============================================================================== --- projects/largeSMP/sys/conf/kern.mk Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/conf/kern.mk Mon May 2 14:23:36 2011 (r221325) @@ -3,24 +3,25 @@ # # Warning flags for compiling the kernel and components of the kernel. # -# Note that the newly added -Wcast-qual is responsible for generating +# Note that the newly added -Wcast-qual is responsible for generating # most of the remaining warnings. Warnings introduced with -Wall will # also pop up, but are easier to fix. CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \ -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \ - -Wundef -Wno-pointer-sign -fformat-extensions + -Wundef -Wno-pointer-sign -fformat-extensions \ + -Wmissing-include-dirs # # The following flags are next up for working on: -# -W +# -Wextra # -# On the i386, do not align the stack to 16-byte boundaries. Otherwise GCC -# 2.95 adds code to the entry and exit point of every function to align the +# On i386, do not align the stack to 16-byte boundaries. Otherwise GCC 2.95 +# and above adds code to the entry and exit point of every function to align the # stack to 16-byte boundaries -- thus wasting approximately 12 bytes of stack -# per function call. While the 16-byte alignment may benefit micro benchmarks, +# per function call. While the 16-byte alignment may benefit micro benchmarks, # it is probably an overall loss as it makes the code bigger (less efficient # use of code cache tag lines) and uses more stack (less efficient use of data -# cache tag lines). Explicitly prohibit the use of SSE and other SIMD +# cache tag lines). Explicitly prohibit the use of FPU, SSE and other SIMD # operations inside the kernel itself. These operations are exclusively # reserved for user applications. # @@ -35,6 +36,7 @@ INLINE_LIMIT?= 8000 .if ${MACHINE_CPUARCH} == "arm" INLINE_LIMIT?= 8000 .endif + # # For IA-64, we use r13 for the kernel globals pointer and we only use # a very small subset of float registers for integer divides. @@ -98,7 +100,7 @@ INLINE_LIMIT?= 8000 CFLAGS+= -ffreestanding # -# GCC SSP support. +# GCC SSP support # .if ${MK_SSP} != "no" && ${MACHINE_CPUARCH} != "ia64" && \ ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" @@ -106,9 +108,8 @@ CFLAGS+= -fstack-protector .endif # -# Enable CTF conversation on request. +# Enable CTF conversation on request # .if defined(WITH_CTF) .undef NO_CTF .endif - Modified: projects/largeSMP/sys/conf/options ============================================================================== --- projects/largeSMP/sys/conf/options Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/conf/options Mon May 2 14:23:36 2011 (r221325) @@ -775,6 +775,8 @@ ATH_ENABLE_11N opt_ah.h # options for the Atheros hal AH_SUPPORT_AR5416 opt_ah.h +# XXX For now, this breaks non-AR9130 chipsets, so only use it +# XXX when actually targetting AR9130. AH_SUPPORT_AR9130 opt_ah.h AH_DEBUG opt_ah.h @@ -791,6 +793,7 @@ AH_MAXCHAN opt_ah.h AH_RXCFG_SDMAMW_4BYTES opt_ah.h # AR5416 and later interrupt mitigation +# XXX do not use this for AR9130 AH_AR5416_INTERRUPT_MITIGATION opt_ah.h # options for the Broadcom BCM43xx driver (bwi) Modified: projects/largeSMP/sys/dev/acpica/acpi_pcib_acpi.c ============================================================================== --- projects/largeSMP/sys/dev/acpica/acpi_pcib_acpi.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/dev/acpica/acpi_pcib_acpi.c Mon May 2 14:23:36 2011 (r221325) @@ -100,6 +100,7 @@ static device_method_t acpi_pcib_acpi_me DEVMETHOD(bus_read_ivar, acpi_pcib_read_ivar), DEVMETHOD(bus_write_ivar, acpi_pcib_write_ivar), DEVMETHOD(bus_alloc_resource, acpi_pcib_acpi_alloc_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), Modified: projects/largeSMP/sys/dev/pci/pci.c ============================================================================== --- projects/largeSMP/sys/dev/pci/pci.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/dev/pci/pci.c Mon May 2 14:23:36 2011 (r221325) @@ -142,6 +142,7 @@ static device_method_t pci_methods[] = { DEVMETHOD(bus_get_resource, bus_generic_rl_get_resource), DEVMETHOD(bus_delete_resource, pci_delete_resource), DEVMETHOD(bus_alloc_resource, pci_alloc_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), DEVMETHOD(bus_release_resource, bus_generic_rl_release_resource), DEVMETHOD(bus_activate_resource, pci_activate_resource), DEVMETHOD(bus_deactivate_resource, pci_deactivate_resource), Modified: projects/largeSMP/sys/dev/pci/pci_pci.c ============================================================================== --- projects/largeSMP/sys/dev/pci/pci_pci.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/dev/pci/pci_pci.c Mon May 2 14:23:36 2011 (r221325) @@ -73,6 +73,7 @@ static device_method_t pcib_methods[] = DEVMETHOD(bus_read_ivar, pcib_read_ivar), DEVMETHOD(bus_write_ivar, pcib_write_ivar), DEVMETHOD(bus_alloc_resource, pcib_alloc_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), Modified: projects/largeSMP/sys/dev/wpi/if_wpi.c ============================================================================== --- projects/largeSMP/sys/dev/wpi/if_wpi.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/dev/wpi/if_wpi.c Mon May 2 14:23:36 2011 (r221325) @@ -2298,7 +2298,7 @@ wpi_mrr_setup(struct wpi_softc *sc) } /* setup MRR for control frames */ - mrr.which = htole32(WPI_MRR_CTL); + mrr.which = WPI_MRR_CTL; error = wpi_cmd(sc, WPI_CMD_MRR_SETUP, &mrr, sizeof mrr, 0); if (error != 0) { device_printf(sc->sc_dev, @@ -2307,7 +2307,7 @@ wpi_mrr_setup(struct wpi_softc *sc) } /* setup MRR for data frames */ - mrr.which = htole32(WPI_MRR_DATA); + mrr.which = WPI_MRR_DATA; error = wpi_cmd(sc, WPI_CMD_MRR_SETUP, &mrr, sizeof mrr, 0); if (error != 0) { device_printf(sc->sc_dev, Modified: projects/largeSMP/sys/fs/nfs/nfs_commonport.c ============================================================================== --- projects/largeSMP/sys/fs/nfs/nfs_commonport.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/fs/nfs/nfs_commonport.c Mon May 2 14:23:36 2011 (r221325) @@ -404,6 +404,8 @@ nfssvc_call(struct thread *p, struct nfs } else if (uap->flag & NFSSVC_GETSTATS) { error = copyout(&newnfsstats, CAST_USER_ADDR_T(uap->argp), sizeof (newnfsstats)); + if ((uap->flag & NFSSVC_ZEROSTATS) != 0 && error == 0) + bzero(&newnfsstats, sizeof(newnfsstats)); return (error); } else if (uap->flag & NFSSVC_NFSUSERDPORT) { u_short sockport; Modified: projects/largeSMP/sys/i386/conf/GENERIC ============================================================================== --- projects/largeSMP/sys/i386/conf/GENERIC Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/i386/conf/GENERIC Mon May 2 14:23:36 2011 (r221325) @@ -273,9 +273,17 @@ device ath_pci # Atheros pci/cardbus g device ath_hal # pci/cardbus chip support options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath +#device bwi # Broadcom BCM430x/BCM431x wireless NICs. +#device bwn # Broadcom BCM43xx wireless NICs. +device ipw # Intel 2100 wireless NICs. +device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. +device iwn # Intel 4965/1000/5000/6000 wireless NICs. +device malo # Marvell Libertas wireless NICs. +device mwl # Marvell 88W8363 802.11n wireless NICs. device ral # Ralink Technology RT2500 wireless NICs. device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. #device wl # Older non 802.11 Wavelan wireless NIC. +device wpi # Intel 3945ABG wireless NICs. # Pseudo devices. device loop # Network loopback @@ -327,7 +335,9 @@ device rue # RealTek RTL8150 USB Ether device udav # Davicom DM9601E USB # USB Wireless device rum # Ralink Technology RT2501USB wireless NICs +device run # Ralink Technology RT2700/RT2800/RT3000 NICs. device uath # Atheros AR5523 wireless NICs +device upgt # Conexant/Intersil PrismGT wireless NICs. device ural # Ralink Technology RT2500USB wireless NICs device urtw # Realtek RTL8187B/L wireless NICs device zyd # ZyDAS zb1211/zb1211b wireless NICs Modified: projects/largeSMP/sys/i386/pci/pci_bus.c ============================================================================== --- projects/largeSMP/sys/i386/pci/pci_bus.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/i386/pci/pci_bus.c Mon May 2 14:23:36 2011 (r221325) @@ -565,6 +565,7 @@ static device_method_t legacy_pcib_metho DEVMETHOD(bus_read_ivar, legacy_pcib_read_ivar), DEVMETHOD(bus_write_ivar, legacy_pcib_write_ivar), DEVMETHOD(bus_alloc_resource, legacy_pcib_alloc_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), Modified: projects/largeSMP/sys/mips/atheros/ar724x_pci.c ============================================================================== --- projects/largeSMP/sys/mips/atheros/ar724x_pci.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/mips/atheros/ar724x_pci.c Mon May 2 14:23:36 2011 (r221325) @@ -57,8 +57,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include /* XXX */ -#include /* XXX */ +#include #include @@ -113,7 +112,7 @@ static uint32_t ar724x_pci_read_config(device_t dev, u_int bus, u_int slot, u_int func, u_int reg, int bytes) { - uint32_t cmd, data, shift, mask; + uint32_t data, shift, mask; /* Register access is 32-bit aligned */ shift = (reg & 3) * 8; @@ -125,18 +124,9 @@ ar724x_pci_read_config(device_t dev, u_i dprintf("%s: tag (%x, %x, %x) reg %d(%d)\n", __func__, bus, slot, func, reg, bytes); - if ((bus == 0) && (slot == 0) && (func == 0)) { + if ((bus == 0) && (slot == 0) && (func == 0)) data = ATH_READ_REG(AR724X_PCI_CFG_BASE + (reg & ~3)); - /* - * WAR for BAR issue - We are unable to access the PCI device - * space if we set the BAR with proper base address. - */ - if (reg == PCIR_BAR(0) && bytes == 4) { - cmd = (ar71xx_soc == AR71XX_SOC_AR7240) ? - 0xffff : 0x1000ffff; - ar724x_pci_write(AR724X_PCI_CFG_BASE, reg, cmd, bytes); - } - } else + else data = -1; /* Get request bytes from 32-bit word */ @@ -158,14 +148,14 @@ ar724x_pci_write_config(device_t dev, u_ if ((bus != 0) || (slot != 0) || (func != 0)) return; - ar724x_pci_write(AR724X_PCI_CFG_BASE, reg, data, bytes); /* - * WAR for BAR issue - We are unable to access the PCI device space - * if we set the BAR with proper base address. - * Force a flush here (at register writing). + * WAR for BAR issue on AR7240 - We are unable to access the PCI device + * space if we set the BAR with proper base address. */ - if (reg == PCIR_BAR(0) && bytes == 4) - (void)ar724x_pci_read_config(dev, bus, slot, func, reg, bytes); + if (reg == PCIR_BAR(0) && bytes == 4 && ar71xx_soc == AR71XX_SOC_AR7240) + ar724x_pci_write(AR724X_PCI_CFG_BASE, reg, 0xffff, bytes); + else + ar724x_pci_write(AR724X_PCI_CFG_BASE, reg, data, bytes); } static void @@ -232,6 +222,9 @@ ar724x_pci_setup(device_t dev) else reg = 0x1ffc1; ATH_WRITE_REG(AR724X_PCI_APP, reg); + /* Flush write */ + (void) ATH_READ_REG(AR724X_PCI_APP); + DELAY(1000); reg = ATH_READ_REG(AR724X_PCI_RESET); @@ -457,10 +450,7 @@ ar724x_pci_activate_resource(device_t bu case SYS_RES_MEMORY: case SYS_RES_IOPORT: - /* XXX */ - //rman_set_bustag(r, ar71xx_bus_space_pcimem); - //rman_set_bustag(r, mips_bus_space_generic); - rman_set_bustag(r, ar71xx_bus_space_reversed); + rman_set_bustag(r, ar71xx_bus_space_pcimem); break; } } Modified: projects/largeSMP/sys/mips/conf/PB92.hints ============================================================================== --- projects/largeSMP/sys/mips/conf/PB92.hints Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/mips/conf/PB92.hints Mon May 2 14:23:36 2011 (r221325) @@ -30,7 +30,11 @@ hint.arge.0.at="nexus0" hint.arge.0.maddr=0x19000000 hint.arge.0.msize=0x1000 hint.arge.0.irq=2 -hint.arge.0.phymask=0x1 + +# AR8316 workaround for now +hint.arge.0.media=1000 +hint.arge.0.fduplex=1 +hint.arge.0.phymask=0x3 # GPIO hint.gpio.0.at="apb0" Modified: projects/largeSMP/sys/nfs/nfssvc.h ============================================================================== --- projects/largeSMP/sys/nfs/nfssvc.h Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/nfs/nfssvc.h Mon May 2 14:23:36 2011 (r221325) @@ -64,5 +64,6 @@ #define NFSSVC_CBADDSOCK 0x00200000 #define NFSSVC_GETSTATS 0x00400000 #define NFSSVC_BACKUPSTABLE 0x00800000 +#define NFSSVC_ZEROSTATS 0x01000000 /* modifier for GETSTATS */ #endif /* _NFS_NFSSVC_H */ Modified: projects/largeSMP/sys/x86/x86/mptable_pci.c ============================================================================== --- projects/largeSMP/sys/x86/x86/mptable_pci.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/x86/x86/mptable_pci.c Mon May 2 14:23:36 2011 (r221325) @@ -116,6 +116,7 @@ static device_method_t mptable_hostb_met DEVMETHOD(bus_read_ivar, legacy_pcib_read_ivar), DEVMETHOD(bus_write_ivar, legacy_pcib_write_ivar), DEVMETHOD(bus_alloc_resource, legacy_pcib_alloc_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), Modified: projects/largeSMP/sys/x86/x86/nexus.c ============================================================================== --- projects/largeSMP/sys/x86/x86/nexus.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/x86/x86/nexus.c Mon May 2 14:23:36 2011 (r221325) @@ -100,6 +100,8 @@ static device_t nexus_add_child(device_t int unit); static struct resource *nexus_alloc_resource(device_t, device_t, int, int *, u_long, u_long, u_long, u_int); +static int nexus_adjust_resource(device_t, device_t, int, struct resource *, + u_long, u_long); #ifdef SMP static int nexus_bind_intr(device_t, device_t, struct resource *, int); #endif @@ -144,6 +146,7 @@ static device_method_t nexus_methods[] = DEVMETHOD(bus_print_child, nexus_print_child), DEVMETHOD(bus_add_child, nexus_add_child), DEVMETHOD(bus_alloc_resource, nexus_alloc_resource), + DEVMETHOD(bus_adjust_resource, nexus_adjust_resource), DEVMETHOD(bus_release_resource, nexus_release_resource), DEVMETHOD(bus_activate_resource, nexus_activate_resource), DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource), @@ -332,6 +335,23 @@ nexus_add_child(device_t bus, u_int orde return(child); } +static struct rman * +nexus_rman(int type) +{ + switch (type) { + case SYS_RES_IRQ: + return (&irq_rman); + case SYS_RES_DRQ: + return (&drq_rman); + case SYS_RES_IOPORT: + return (&port_rman); + case SYS_RES_MEMORY: + return (&mem_rman); + default: + return (NULL); + } +} + /* * Allocate a resource on behalf of child. NB: child is usually going to be a * child of one of our descendants, not a direct child of nexus0. @@ -364,27 +384,9 @@ nexus_alloc_resource(device_t bus, devic } flags &= ~RF_ACTIVE; - - switch (type) { - case SYS_RES_IRQ: - rm = &irq_rman; - break; - - case SYS_RES_DRQ: - rm = &drq_rman; - break; - - case SYS_RES_IOPORT: - rm = &port_rman; - break; - - case SYS_RES_MEMORY: - rm = &mem_rman; - break; - - default: - return 0; - } + rm = nexus_rman(type); + if (rm == NULL) + return (NULL); rv = rman_reserve_resource(rm, start, end, count, flags, child); if (rv == 0) @@ -402,6 +404,20 @@ nexus_alloc_resource(device_t bus, devic } static int +nexus_adjust_resource(device_t bus, device_t child, int type, + struct resource *r, u_long start, u_long end) +{ + struct rman *rm; + + rm = nexus_rman(type); + if (rm == NULL) + return (ENXIO); + if (!rman_is_region_manager(r, rm)) + return (EINVAL); + return (rman_adjust_resource(r, start, end)); +} + +static int nexus_activate_resource(device_t bus, device_t child, int type, int rid, struct resource *r) { Modified: projects/largeSMP/usr.bin/man/man.sh ============================================================================== --- projects/largeSMP/usr.bin/man/man.sh Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/usr.bin/man/man.sh Mon May 2 14:23:36 2011 (r221325) @@ -889,16 +889,18 @@ do_whatis() { search_whatis whatis "$@" } -EQN=/usr/bin/eqn +# User's PATH setting decides on the groff-suite to pick up. +EQN=eqn +NROFF='groff -S -P-c -Wall -mtty-char -man' +PIC=pic +REFER=refer +TBL=tbl +TROFF='groff -S -P-c -man' +VGRIND=vgrind + COL=/usr/bin/col LOCALE=/usr/bin/locale -NROFF='/usr/bin/groff -S -Wall -mtty-char -man' -PIC=/usr/bin/pic SYSCTL=/sbin/sysctl -TBL=/usr/bin/tbl -TROFF='/usr/bin/groff -S -man' -REFER=/usr/bin/refer -VGRIND=/usr/bin/vgrind debug=0 man_default_sections='1:1aout:8:2:3:n:4:5:6:7:9:l' Modified: projects/largeSMP/usr.bin/nfsstat/nfsstat.1 ============================================================================== --- projects/largeSMP/usr.bin/nfsstat/nfsstat.1 Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/usr.bin/nfsstat/nfsstat.1 Mon May 2 14:23:36 2011 (r221325) @@ -28,7 +28,7 @@ .\" From: @(#)nfsstat.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd October 18, 2007 +.Dd May 1, 2011 .Dt NFSSTAT 1 .Os .Sh NAME @@ -78,7 +78,6 @@ activity for both the client and server second intervals. .It Fl z Reset statistics after displaying them. -(Not currently supported by the experimental nfs subsystem.) .It Fl e Gather statistics from the experimental nfs subsystem that includes support for NFSv4 instead of the regular nfs subsystem. Modified: projects/largeSMP/usr.bin/nfsstat/nfsstat.c ============================================================================== --- projects/largeSMP/usr.bin/nfsstat/nfsstat.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/usr.bin/nfsstat/nfsstat.c Mon May 2 14:23:36 2011 (r221325) @@ -85,6 +85,7 @@ static int zflag = 0; static int run_v4 = 0; static int printtitle = 1; static struct ext_nfsstats ext_nfsstats; +static int nfssvc_flag; void intpr(int, int); void printhdr(int, int); @@ -107,6 +108,7 @@ main(int argc, char **argv) char *memf, *nlistf; char errbuf[_POSIX2_LINE_MAX]; + nfssvc_flag = NFSSVC_GETSTATS; interval = 0; memf = nlistf = NULL; while ((ch = getopt(argc, argv, "cesWM:N:w:z")) != -1) @@ -135,6 +137,7 @@ main(int argc, char **argv) break; case 'z': zflag = 1; + nfssvc_flag |= NFSSVC_ZEROSTATS; break; case 'e': run_v4 = 1; @@ -161,7 +164,7 @@ main(int argc, char **argv) errx(1, "experimental client/server not loaded"); if (run_v4 != 0) { - if (nfssvc(NFSSVC_GETSTATS, &ext_nfsstats) < 0) + if (nfssvc(nfssvc_flag, &ext_nfsstats) < 0) err(1, "Can't get stats"); } else if (nlistf != NULL || memf != NULL) { deadkernel = 1; @@ -793,13 +796,13 @@ exp_sidewaysintpr(u_int interval, int cl int hdrcnt = 1; ext_nfsstatsp = &lastst; - if (nfssvc(NFSSVC_GETSTATS, ext_nfsstatsp) < 0) + if (nfssvc(nfssvc_flag, ext_nfsstatsp) < 0) err(1, "Can't get stats"); sleep(interval); for (;;) { ext_nfsstatsp = &nfsstats; - if (nfssvc(NFSSVC_GETSTATS, ext_nfsstatsp) < 0) + if (nfssvc(nfssvc_flag, ext_nfsstatsp) < 0) err(1, "Can't get stats"); if (--hdrcnt == 0) { From owner-svn-src-projects@FreeBSD.ORG Mon May 2 17:04:09 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E97CC106564A; Mon, 2 May 2011 17:04:09 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D92348FC13; Mon, 2 May 2011 17:04:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p42H49g8046665; Mon, 2 May 2011 17:04:09 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p42H49vg046663; Mon, 2 May 2011 17:04:09 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201105021704.p42H49vg046663@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 2 May 2011 17:04:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221330 - projects/altix/sys/ia64/ia64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 17:04:10 -0000 Author: marcel Date: Mon May 2 17:04:09 2011 New Revision: 221330 URL: http://svn.freebsd.org/changeset/base/221330 Log: As it happens, interrupts actually do work. The problem is that bge(4) in this case is simply not asserting an interrupt. I suspect that this is due to DMA not working. A non-DMA device that generates interrupts (A 3D graphics card, programmed to interrupt on DDC events in this particular case) proofs that interrupts work. With this out of the way, what's left to do is: 1. IPIs (fairly trivial) 2. DMA (rather involved) Modified: projects/altix/sys/ia64/ia64/interrupt.c Modified: projects/altix/sys/ia64/ia64/interrupt.c ============================================================================== --- projects/altix/sys/ia64/ia64/interrupt.c Mon May 2 16:51:02 2011 (r221329) +++ projects/altix/sys/ia64/ia64/interrupt.c Mon May 2 17:04:09 2011 (r221330) @@ -166,8 +166,6 @@ ia64_intr_eoi(void *arg) KASSERT(i != NULL, ("%s", __func__)); if (i->sapic != NULL) sapic_eoi(i->sapic, xiv); - else - printf("XXX-INTR: %s: XIV=%u\n", __func__, xiv); } static void @@ -181,8 +179,6 @@ ia64_intr_mask(void *arg) if (i->sapic != NULL) { sapic_mask(i->sapic, i->irq); sapic_eoi(i->sapic, xiv); - } else - printf("XXX-INTR: %s: XIV=%u\n", __func__, xiv); } static void @@ -195,8 +191,6 @@ ia64_intr_unmask(void *arg) KASSERT(i != NULL, ("%s", __func__)); if (i->sapic != NULL) sapic_unmask(i->sapic, i->irq); - else - printf("XXX-INTR: %s: XIV=%u\n", __func__, xiv); } static int @@ -423,10 +417,6 @@ ia64_ih_irq(struct thread *td, u_int xiv PCPU_INC(md.stats.pcs_nhwints); - if (bootverbose) - printf("INTR: ITC=%u, XIV=%u\n", (u_int)tf->tf_special.ifa, - xiv); - /* Find the interrupt thread for this XIV. */ i = ia64_intrs[xiv]; KASSERT(i != NULL, ("%s: unassigned XIV", __func__)); From owner-svn-src-projects@FreeBSD.ORG Mon May 2 17:13:41 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 23030106566B; Mon, 2 May 2011 17:13:41 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1233A8FC16; Mon, 2 May 2011 17:13:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p42HDeeD047024; Mon, 2 May 2011 17:13:40 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p42HDe3H047018; Mon, 2 May 2011 17:13:40 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105021713.p42HDe3H047018@svn.freebsd.org> From: Attilio Rao Date: Mon, 2 May 2011 17:13:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221332 - projects/largeSMP/lib/libmemstat X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 17:13:41 -0000 Author: attilio Date: Mon May 2 17:13:40 2011 New Revision: 221332 URL: http://svn.freebsd.org/changeset/base/221332 Log: Remove the redefinition of MEMSTAT_MAXCPU and just use MAXCPU for that. Reviewed by: sbruno Modified: projects/largeSMP/lib/libmemstat/memstat.c projects/largeSMP/lib/libmemstat/memstat.h projects/largeSMP/lib/libmemstat/memstat_internal.h projects/largeSMP/lib/libmemstat/memstat_malloc.c projects/largeSMP/lib/libmemstat/memstat_uma.c Modified: projects/largeSMP/lib/libmemstat/memstat.c ============================================================================== --- projects/largeSMP/lib/libmemstat/memstat.c Mon May 2 17:08:36 2011 (r221331) +++ projects/largeSMP/lib/libmemstat/memstat.c Mon May 2 17:13:40 2011 (r221332) @@ -193,7 +193,7 @@ _memstat_mt_reset_stats(struct memory_ty mtp->mt_zonefree = 0; mtp->mt_kegfree = 0; - for (i = 0; i < MEMSTAT_MAXCPU; i++) { + for (i = 0; i < MAXCPU; i++) { mtp->mt_percpu_alloc[i].mtp_memalloced = 0; mtp->mt_percpu_alloc[i].mtp_memfreed = 0; mtp->mt_percpu_alloc[i].mtp_numallocs = 0; Modified: projects/largeSMP/lib/libmemstat/memstat.h ============================================================================== --- projects/largeSMP/lib/libmemstat/memstat.h Mon May 2 17:08:36 2011 (r221331) +++ projects/largeSMP/lib/libmemstat/memstat.h Mon May 2 17:13:40 2011 (r221332) @@ -29,13 +29,6 @@ #ifndef _MEMSTAT_H_ #define _MEMSTAT_H_ -#include - -/* - * Number of CPU slots in library-internal data structures. - */ -#define MEMSTAT_MAXCPU MAXCPU - /* * Amount of caller data to maintain for each caller data slot. Applications * must not request more than this number of caller save data, or risk Modified: projects/largeSMP/lib/libmemstat/memstat_internal.h ============================================================================== --- projects/largeSMP/lib/libmemstat/memstat_internal.h Mon May 2 17:08:36 2011 (r221331) +++ projects/largeSMP/lib/libmemstat/memstat_internal.h Mon May 2 17:13:40 2011 (r221332) @@ -100,11 +100,11 @@ struct memory_type { uint64_t mtp_sizemask; /* Per-CPU mt_sizemask. */ void *mtp_caller_pointer[MEMSTAT_MAXCALLER]; uint64_t mtp_caller_uint64[MEMSTAT_MAXCALLER]; - } mt_percpu_alloc[MEMSTAT_MAXCPU]; + } mt_percpu_alloc[MAXCPU]; struct { uint64_t mtp_free; /* Per-CPU cache free items. */ - } mt_percpu_cache[MEMSTAT_MAXCPU]; + } mt_percpu_cache[MAXCPU]; LIST_ENTRY(memory_type) mt_list; /* List of types. */ }; Modified: projects/largeSMP/lib/libmemstat/memstat_malloc.c ============================================================================== --- projects/largeSMP/lib/libmemstat/memstat_malloc.c Mon May 2 17:08:36 2011 (r221331) +++ projects/largeSMP/lib/libmemstat/memstat_malloc.c Mon May 2 17:13:40 2011 (r221332) @@ -96,7 +96,7 @@ retry: return (-1); } - if (maxcpus > MEMSTAT_MAXCPU) { + if (maxcpus > MAXCPU) { list->mtl_error = MEMSTAT_ERROR_TOOMANYCPUS; return (-1); } @@ -160,7 +160,7 @@ retry: return (-1); } - if (mtshp->mtsh_maxcpus > MEMSTAT_MAXCPU) { + if (mtshp->mtsh_maxcpus > MAXCPU) { list->mtl_error = MEMSTAT_ERROR_TOOMANYCPUS; free(buffer); return (-1); @@ -295,7 +295,7 @@ memstat_kvm_malloc(struct memory_type_li void *kmemstatistics; int hint_dontsearch, j, mp_maxcpus, ret; char name[MEMTYPE_MAXNAME]; - struct malloc_type_stats mts[MEMSTAT_MAXCPU], *mtsp; + struct malloc_type_stats mts[MAXCPU], *mtsp; struct malloc_type_internal *mtip; struct malloc_type type, *typep; kvm_t *kvm; @@ -322,7 +322,7 @@ memstat_kvm_malloc(struct memory_type_li return (-1); } - if (mp_maxcpus > MEMSTAT_MAXCPU) { + if (mp_maxcpus > MAXCPU) { list->mtl_error = MEMSTAT_ERROR_TOOMANYCPUS; return (-1); } @@ -348,11 +348,6 @@ memstat_kvm_malloc(struct memory_type_li list->mtl_error = ret; return (-1); } - - /* - * Since our compile-time value for MAXCPU may differ from the - * kernel's, we populate our own array. - */ mtip = type.ks_handle; ret = kread(kvm, mtip->mti_stats, mts, mp_maxcpus * sizeof(struct malloc_type_stats), 0); Modified: projects/largeSMP/lib/libmemstat/memstat_uma.c ============================================================================== --- projects/largeSMP/lib/libmemstat/memstat_uma.c Mon May 2 17:08:36 2011 (r221331) +++ projects/largeSMP/lib/libmemstat/memstat_uma.c Mon May 2 17:13:40 2011 (r221332) @@ -27,6 +27,7 @@ */ #include +#include #include #define LIBMEMSTAT /* Cause vm_page.h not to include opt_vmpage.h */ @@ -104,7 +105,7 @@ retry: return (-1); } - if (maxcpus > MEMSTAT_MAXCPU) { + if (maxcpus > MAXCPU) { list->mtl_error = MEMSTAT_ERROR_TOOMANYCPUS; return (-1); } @@ -168,7 +169,7 @@ retry: return (-1); } - if (ushp->ush_maxcpus > MEMSTAT_MAXCPU) { + if (ushp->ush_maxcpus > MAXCPU) { list->mtl_error = MEMSTAT_ERROR_TOOMANYCPUS; free(buffer); return (-1); @@ -313,7 +314,7 @@ memstat_kvm_uma(struct memory_type_list struct uma_keg *kzp, kz; int hint_dontsearch, i, mp_maxid, ret; char name[MEMTYPE_MAXNAME]; - __cpumask_t all_cpus; + cpuset_t all_cpus; kvm_t *kvm; kvm = (kvm_t *)kvm_handle; @@ -407,7 +408,7 @@ memstat_kvm_uma(struct memory_type_list if (kz.uk_flags & UMA_ZFLAG_INTERNAL) goto skip_percpu; for (i = 0; i < mp_maxid + 1; i++) { - if ((all_cpus & (1 << i)) == 0) + if (!CPU_ISSET(i, &all_cpus)) continue; ucp = &ucp_array[i]; mtp->mt_numallocs += ucp->uc_allocs; From owner-svn-src-projects@FreeBSD.ORG Mon May 2 21:46:13 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A718B106564A; Mon, 2 May 2011 21:46:13 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7E29F8FC08; Mon, 2 May 2011 21:46:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p42LkDcl056016; Mon, 2 May 2011 21:46:13 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p42LkDS2056014; Mon, 2 May 2011 21:46:13 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201105022146.p42LkDS2056014@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 2 May 2011 21:46:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221349 - projects/altix/sys/ia64/ia64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 21:46:13 -0000 Author: marcel Date: Mon May 2 21:46:13 2011 New Revision: 221349 URL: http://svn.freebsd.org/changeset/base/221349 Log: Restore closing brace. Modified: projects/altix/sys/ia64/ia64/interrupt.c Modified: projects/altix/sys/ia64/ia64/interrupt.c ============================================================================== --- projects/altix/sys/ia64/ia64/interrupt.c Mon May 2 21:13:08 2011 (r221348) +++ projects/altix/sys/ia64/ia64/interrupt.c Mon May 2 21:46:13 2011 (r221349) @@ -179,6 +179,7 @@ ia64_intr_mask(void *arg) if (i->sapic != NULL) { sapic_mask(i->sapic, i->irq); sapic_eoi(i->sapic, xiv); + } } static void From owner-svn-src-projects@FreeBSD.ORG Mon May 2 22:03:32 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 58F0D1065673; Mon, 2 May 2011 22:03:32 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4476A8FC13; Mon, 2 May 2011 22:03:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p42M3Wil056584; Mon, 2 May 2011 22:03:32 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p42M3V1X056567; Mon, 2 May 2011 22:03:31 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105022203.p42M3V1X056567@svn.freebsd.org> From: Attilio Rao Date: Mon, 2 May 2011 22:03:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221350 - in projects/largeSMP: . contrib/llvm/include/llvm contrib/llvm/include/llvm-c contrib/llvm/include/llvm-c/Transforms contrib/llvm/include/llvm/ADT contrib/llvm/include/llvm/An... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 22:03:32 -0000 Author: attilio Date: Mon May 2 22:03:30 2011 New Revision: 221350 URL: http://svn.freebsd.org/changeset/base/221350 Log: MFC Added: projects/largeSMP/contrib/llvm/include/llvm-c/Disassembler.h - copied unchanged from r221349, head/contrib/llvm/include/llvm-c/Disassembler.h projects/largeSMP/contrib/llvm/include/llvm-c/Object.h - copied unchanged from r221349, head/contrib/llvm/include/llvm-c/Object.h projects/largeSMP/contrib/llvm/include/llvm/DebugInfoProbe.h - copied unchanged from r221349, head/contrib/llvm/include/llvm/DebugInfoProbe.h projects/largeSMP/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h - copied unchanged from r221349, head/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h projects/largeSMP/contrib/llvm/include/llvm/IntrinsicsPTX.td - copied unchanged from r221349, head/contrib/llvm/include/llvm/IntrinsicsPTX.td projects/largeSMP/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp - copied unchanged from r221349, head/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp - copied unchanged from r221349, head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h - copied unchanged from r221349, head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h projects/largeSMP/contrib/llvm/lib/CodeGen/InterferenceCache.cpp - copied unchanged from r221349, head/contrib/llvm/lib/CodeGen/InterferenceCache.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/InterferenceCache.h - copied unchanged from r221349, head/contrib/llvm/lib/CodeGen/InterferenceCache.h projects/largeSMP/contrib/llvm/lib/ExecutionEngine/MCJIT/Intercept.cpp - copied unchanged from r221349, head/contrib/llvm/lib/ExecutionEngine/MCJIT/Intercept.cpp projects/largeSMP/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.h - copied unchanged from r221349, head/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.h projects/largeSMP/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ - copied from r221349, head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ projects/largeSMP/contrib/llvm/lib/MC/ELFObjectWriter.h - copied unchanged from r221349, head/contrib/llvm/lib/MC/ELFObjectWriter.h projects/largeSMP/contrib/llvm/lib/MC/MCDisassembler/Disassembler.cpp - copied unchanged from r221349, head/contrib/llvm/lib/MC/MCDisassembler/Disassembler.cpp projects/largeSMP/contrib/llvm/lib/MC/MCDisassembler/Disassembler.h - copied unchanged from r221349, head/contrib/llvm/lib/MC/MCDisassembler/Disassembler.h projects/largeSMP/contrib/llvm/lib/MC/MCELF.cpp - copied unchanged from r221349, head/contrib/llvm/lib/MC/MCELF.cpp projects/largeSMP/contrib/llvm/lib/MC/MCELF.h - copied unchanged from r221349, head/contrib/llvm/lib/MC/MCELF.h projects/largeSMP/contrib/llvm/lib/MC/MCELFStreamer.h - copied unchanged from r221349, head/contrib/llvm/lib/MC/MCELFStreamer.h projects/largeSMP/contrib/llvm/lib/Object/MachOObjectFile.cpp - copied unchanged from r221349, head/contrib/llvm/lib/Object/MachOObjectFile.cpp projects/largeSMP/contrib/llvm/lib/Object/Object.cpp - copied unchanged from r221349, head/contrib/llvm/lib/Object/Object.cpp projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeSchedule3.td - copied unchanged from r221349, head/contrib/llvm/lib/Target/MBlaze/MBlazeSchedule3.td projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeSchedule5.td - copied unchanged from r221349, head/contrib/llvm/lib/Target/MBlaze/MBlazeSchedule5.td projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsExpandPseudo.cpp - copied unchanged from r221349, head/contrib/llvm/lib/Target/Mips/MipsExpandPseudo.cpp projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXIntrinsicInstrInfo.td - copied unchanged from r221349, head/contrib/llvm/lib/Target/PTX/PTXIntrinsicInstrInfo.td projects/largeSMP/contrib/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp - copied unchanged from r221349, head/contrib/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp projects/largeSMP/contrib/llvm/lib/VMCore/DebugInfoProbe.cpp - copied unchanged from r221349, head/contrib/llvm/lib/VMCore/DebugInfoProbe.cpp projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/AddressSpaces.h - copied unchanged from r221349, head/contrib/llvm/tools/clang/include/clang/Basic/AddressSpaces.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsPTX.def - copied unchanged from r221349, head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsPTX.def projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/ExceptionSpecificationType.h - copied unchanged from r221349, head/contrib/llvm/tools/clang/include/clang/Basic/ExceptionSpecificationType.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/ExpressionTraits.h - copied unchanged from r221349, head/contrib/llvm/tools/clang/include/clang/Basic/ExpressionTraits.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/OpenCL.h - copied unchanged from r221349, head/contrib/llvm/tools/clang/include/clang/Basic/OpenCL.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/VersionTuple.h - copied unchanged from r221349, head/contrib/llvm/tools/clang/include/clang/Basic/VersionTuple.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/LogDiagnosticPrinter.h - copied unchanged from r221349, head/contrib/llvm/tools/clang/include/clang/Frontend/LogDiagnosticPrinter.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Serialization/ChainedIncludesSource.h - copied unchanged from r221349, head/contrib/llvm/tools/clang/include/clang/Serialization/ChainedIncludesSource.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h - copied unchanged from r221349, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h - copied unchanged from r221349, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Tooling/ - copied from r221349, head/contrib/llvm/tools/clang/include/clang/Tooling/ projects/largeSMP/contrib/llvm/tools/clang/lib/AST/ExternalASTSource.cpp - copied unchanged from r221349, head/contrib/llvm/tools/clang/lib/AST/ExternalASTSource.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Basic/VersionTuple.cpp - copied unchanged from r221349, head/contrib/llvm/tools/clang/lib/Basic/VersionTuple.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp - copied unchanged from r221349, head/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp - copied unchanged from r221349, head/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp - copied unchanged from r221349, head/contrib/llvm/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Headers/mm3dnow.h - copied unchanged from r221349, head/contrib/llvm/tools/clang/lib/Headers/mm3dnow.h projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/DelayedDiagnostic.cpp - copied unchanged from r221349, head/contrib/llvm/tools/clang/lib/Sema/DelayedDiagnostic.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/Scope.cpp - copied unchanged from r221349, head/contrib/llvm/tools/clang/lib/Sema/Scope.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Serialization/ChainedIncludesSource.cpp - copied unchanged from r221349, head/contrib/llvm/tools/clang/lib/Serialization/ChainedIncludesSource.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IteratorsChecker.cpp - copied unchanged from r221349, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IteratorsChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp - copied unchanged from r221349, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp - copied unchanged from r221349, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Tooling/ - copied from r221349, head/contrib/llvm/tools/clang/lib/Tooling/ projects/largeSMP/lib/clang/include/clang/Basic/DiagnosticIndexName.inc - copied unchanged from r221349, head/lib/clang/include/clang/Basic/DiagnosticIndexName.inc projects/largeSMP/lib/clang/libllvminstrumentation/ - copied from r221349, head/lib/clang/libllvminstrumentation/ Deleted: projects/largeSMP/contrib/llvm/include/llvm/Analysis/LiveValues.h projects/largeSMP/contrib/llvm/lib/Analysis/LiveValues.cpp projects/largeSMP/contrib/llvm/lib/Target/PTX/Makefile projects/largeSMP/contrib/llvm/lib/Transforms/IPO/StructRetPromotion.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/GEPSplitter.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/SimplifyHalfPowrLibCalls.cpp projects/largeSMP/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/UninitializedValuesV2.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/DeclContextXML.def projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/DeclXML.def projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/DocumentXML.def projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/DocumentXML.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/StmtXML.def projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/TypeXML.def projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerV2.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Checker.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerVisitor.def projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerVisitor.h projects/largeSMP/contrib/llvm/tools/clang/lib/Analysis/UninitializedValuesV2.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/DeclXML.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/DocumentXML.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/StmtXML.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/TypeXML.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.h projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExperimentalChecks.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExperimentalChecks.h projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExprEngine.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/InternalChecks.h projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Checker.cpp Modified: projects/largeSMP/ObsoleteFiles.inc projects/largeSMP/contrib/llvm/include/llvm-c/EnhancedDisassembly.h projects/largeSMP/contrib/llvm/include/llvm-c/Transforms/Scalar.h projects/largeSMP/contrib/llvm/include/llvm-c/lto.h projects/largeSMP/contrib/llvm/include/llvm/ADT/APFloat.h projects/largeSMP/contrib/llvm/include/llvm/ADT/APInt.h projects/largeSMP/contrib/llvm/include/llvm/ADT/ArrayRef.h projects/largeSMP/contrib/llvm/include/llvm/ADT/DenseMap.h projects/largeSMP/contrib/llvm/include/llvm/ADT/DenseMapInfo.h projects/largeSMP/contrib/llvm/include/llvm/ADT/DepthFirstIterator.h projects/largeSMP/contrib/llvm/include/llvm/ADT/FoldingSet.h projects/largeSMP/contrib/llvm/include/llvm/ADT/ImmutableIntervalMap.h projects/largeSMP/contrib/llvm/include/llvm/ADT/IntervalMap.h projects/largeSMP/contrib/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h projects/largeSMP/contrib/llvm/include/llvm/ADT/PointerUnion.h projects/largeSMP/contrib/llvm/include/llvm/ADT/ScopedHashTable.h projects/largeSMP/contrib/llvm/include/llvm/ADT/SmallPtrSet.h projects/largeSMP/contrib/llvm/include/llvm/ADT/Statistic.h projects/largeSMP/contrib/llvm/include/llvm/ADT/StringExtras.h projects/largeSMP/contrib/llvm/include/llvm/ADT/StringMap.h projects/largeSMP/contrib/llvm/include/llvm/ADT/Triple.h projects/largeSMP/contrib/llvm/include/llvm/ADT/ilist.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/AliasSetTracker.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/CFGPrinter.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/DIBuilder.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/DebugInfo.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/IVUsers.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/InlineCost.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/Lint.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/Passes.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/PathProfileInfo.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/PostDominators.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/RegionInfo.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/RegionIterator.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/RegionPass.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h projects/largeSMP/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h projects/largeSMP/contrib/llvm/include/llvm/Bitcode/Archive.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/CalcSpillWeights.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/EdgeBundles.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/FastISel.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/FunctionLoweringInfo.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/JITCodeEmitter.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/LiveInterval.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/MachineCodeEmitter.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/MachineConstantPool.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/MachineInstr.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/PBQP/Graph.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/PBQP/Heuristics/Briggs.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/ProcessImplicitDefs.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/RegisterScavenging.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/RuntimeLibcalls.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/ScoreboardHazardRecognizer.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/SelectionDAGISel.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h projects/largeSMP/contrib/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h projects/largeSMP/contrib/llvm/include/llvm/CompilerDriver/CompilationGraph.h projects/largeSMP/contrib/llvm/include/llvm/CompilerDriver/Tool.h projects/largeSMP/contrib/llvm/include/llvm/Constant.h projects/largeSMP/contrib/llvm/include/llvm/Constants.h projects/largeSMP/contrib/llvm/include/llvm/DerivedTypes.h projects/largeSMP/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h projects/largeSMP/contrib/llvm/include/llvm/ExecutionEngine/JITMemoryManager.h projects/largeSMP/contrib/llvm/include/llvm/GlobalVariable.h projects/largeSMP/contrib/llvm/include/llvm/InitializePasses.h projects/largeSMP/contrib/llvm/include/llvm/InstrTypes.h projects/largeSMP/contrib/llvm/include/llvm/Instructions.h projects/largeSMP/contrib/llvm/include/llvm/Intrinsics.td projects/largeSMP/contrib/llvm/include/llvm/IntrinsicsARM.td projects/largeSMP/contrib/llvm/include/llvm/IntrinsicsX86.td projects/largeSMP/contrib/llvm/include/llvm/IntrinsicsXCore.td projects/largeSMP/contrib/llvm/include/llvm/LinkAllPasses.h projects/largeSMP/contrib/llvm/include/llvm/MC/MCAsmInfo.h projects/largeSMP/contrib/llvm/include/llvm/MC/MCAsmLayout.h projects/largeSMP/contrib/llvm/include/llvm/MC/MCAssembler.h projects/largeSMP/contrib/llvm/include/llvm/MC/MCContext.h projects/largeSMP/contrib/llvm/include/llvm/MC/MCDisassembler.h projects/largeSMP/contrib/llvm/include/llvm/MC/MCDwarf.h projects/largeSMP/contrib/llvm/include/llvm/MC/MCExpr.h projects/largeSMP/contrib/llvm/include/llvm/MC/MCInstPrinter.h projects/largeSMP/contrib/llvm/include/llvm/MC/MCObjectStreamer.h projects/largeSMP/contrib/llvm/include/llvm/MC/MCParser/AsmLexer.h projects/largeSMP/contrib/llvm/include/llvm/MC/MCSection.h projects/largeSMP/contrib/llvm/include/llvm/MC/MCSectionMachO.h projects/largeSMP/contrib/llvm/include/llvm/MC/MCStreamer.h projects/largeSMP/contrib/llvm/include/llvm/MC/MCSymbol.h projects/largeSMP/contrib/llvm/include/llvm/Metadata.h projects/largeSMP/contrib/llvm/include/llvm/Module.h projects/largeSMP/contrib/llvm/include/llvm/Object/MachOObject.h projects/largeSMP/contrib/llvm/include/llvm/Pass.h projects/largeSMP/contrib/llvm/include/llvm/PassAnalysisSupport.h projects/largeSMP/contrib/llvm/include/llvm/Support/Allocator.h projects/largeSMP/contrib/llvm/include/llvm/Support/CFG.h projects/largeSMP/contrib/llvm/include/llvm/Support/Casting.h projects/largeSMP/contrib/llvm/include/llvm/Support/CommandLine.h projects/largeSMP/contrib/llvm/include/llvm/Support/Compiler.h projects/largeSMP/contrib/llvm/include/llvm/Support/ConstantFolder.h projects/largeSMP/contrib/llvm/include/llvm/Support/CrashRecoveryContext.h projects/largeSMP/contrib/llvm/include/llvm/Support/DOTGraphTraits.h projects/largeSMP/contrib/llvm/include/llvm/Support/DebugLoc.h projects/largeSMP/contrib/llvm/include/llvm/Support/Dwarf.h projects/largeSMP/contrib/llvm/include/llvm/Support/ErrorHandling.h projects/largeSMP/contrib/llvm/include/llvm/Support/FileSystem.h projects/largeSMP/contrib/llvm/include/llvm/Support/FileUtilities.h projects/largeSMP/contrib/llvm/include/llvm/Support/GraphWriter.h projects/largeSMP/contrib/llvm/include/llvm/Support/IRBuilder.h projects/largeSMP/contrib/llvm/include/llvm/Support/Memory.h projects/largeSMP/contrib/llvm/include/llvm/Support/MemoryBuffer.h projects/largeSMP/contrib/llvm/include/llvm/Support/NoFolder.h projects/largeSMP/contrib/llvm/include/llvm/Support/PathV1.h projects/largeSMP/contrib/llvm/include/llvm/Support/PatternMatch.h projects/largeSMP/contrib/llvm/include/llvm/Support/PrettyStackTrace.h projects/largeSMP/contrib/llvm/include/llvm/Support/Program.h projects/largeSMP/contrib/llvm/include/llvm/Support/Regex.h projects/largeSMP/contrib/llvm/include/llvm/Support/Signals.h projects/largeSMP/contrib/llvm/include/llvm/Support/SourceMgr.h projects/largeSMP/contrib/llvm/include/llvm/Support/StandardPasses.h projects/largeSMP/contrib/llvm/include/llvm/Support/TimeValue.h projects/largeSMP/contrib/llvm/include/llvm/Support/system_error.h projects/largeSMP/contrib/llvm/include/llvm/Target/SubtargetFeature.h projects/largeSMP/contrib/llvm/include/llvm/Target/Target.td projects/largeSMP/contrib/llvm/include/llvm/Target/TargetAsmBackend.h projects/largeSMP/contrib/llvm/include/llvm/Target/TargetAsmInfo.h projects/largeSMP/contrib/llvm/include/llvm/Target/TargetData.h projects/largeSMP/contrib/llvm/include/llvm/Target/TargetInstrDesc.h projects/largeSMP/contrib/llvm/include/llvm/Target/TargetInstrInfo.h projects/largeSMP/contrib/llvm/include/llvm/Target/TargetInstrItineraries.h projects/largeSMP/contrib/llvm/include/llvm/Target/TargetLibraryInfo.h projects/largeSMP/contrib/llvm/include/llvm/Target/TargetLowering.h projects/largeSMP/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h projects/largeSMP/contrib/llvm/include/llvm/Target/TargetMachine.h projects/largeSMP/contrib/llvm/include/llvm/Target/TargetOptions.h projects/largeSMP/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h projects/largeSMP/contrib/llvm/include/llvm/Target/TargetRegistry.h projects/largeSMP/contrib/llvm/include/llvm/Target/TargetSelect.h projects/largeSMP/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td projects/largeSMP/contrib/llvm/include/llvm/Transforms/IPO.h projects/largeSMP/contrib/llvm/include/llvm/Transforms/Instrumentation.h projects/largeSMP/contrib/llvm/include/llvm/Transforms/Scalar.h projects/largeSMP/contrib/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h projects/largeSMP/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h projects/largeSMP/contrib/llvm/include/llvm/Transforms/Utils/Local.h projects/largeSMP/contrib/llvm/include/llvm/TypeSymbolTable.h projects/largeSMP/contrib/llvm/include/llvm/User.h projects/largeSMP/contrib/llvm/include/llvm/Value.h projects/largeSMP/contrib/llvm/lib/Analysis/AliasAnalysis.cpp projects/largeSMP/contrib/llvm/lib/Analysis/AliasSetTracker.cpp projects/largeSMP/contrib/llvm/lib/Analysis/Analysis.cpp projects/largeSMP/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp projects/largeSMP/contrib/llvm/lib/Analysis/CaptureTracking.cpp projects/largeSMP/contrib/llvm/lib/Analysis/ConstantFolding.cpp projects/largeSMP/contrib/llvm/lib/Analysis/DIBuilder.cpp projects/largeSMP/contrib/llvm/lib/Analysis/DebugInfo.cpp projects/largeSMP/contrib/llvm/lib/Analysis/IPA/GlobalsModRef.cpp projects/largeSMP/contrib/llvm/lib/Analysis/IVUsers.cpp projects/largeSMP/contrib/llvm/lib/Analysis/InlineCost.cpp projects/largeSMP/contrib/llvm/lib/Analysis/InstructionSimplify.cpp projects/largeSMP/contrib/llvm/lib/Analysis/LazyValueInfo.cpp projects/largeSMP/contrib/llvm/lib/Analysis/Lint.cpp projects/largeSMP/contrib/llvm/lib/Analysis/Loads.cpp projects/largeSMP/contrib/llvm/lib/Analysis/LoopPass.cpp projects/largeSMP/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp projects/largeSMP/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp projects/largeSMP/contrib/llvm/lib/Analysis/PHITransAddr.cpp projects/largeSMP/contrib/llvm/lib/Analysis/PathNumbering.cpp projects/largeSMP/contrib/llvm/lib/Analysis/PathProfileVerifier.cpp projects/largeSMP/contrib/llvm/lib/Analysis/PostDominators.cpp projects/largeSMP/contrib/llvm/lib/Analysis/ProfileEstimatorPass.cpp projects/largeSMP/contrib/llvm/lib/Analysis/ProfileInfo.cpp projects/largeSMP/contrib/llvm/lib/Analysis/ProfileInfoLoader.cpp projects/largeSMP/contrib/llvm/lib/Analysis/RegionInfo.cpp projects/largeSMP/contrib/llvm/lib/Analysis/RegionPrinter.cpp projects/largeSMP/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/largeSMP/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp projects/largeSMP/contrib/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp projects/largeSMP/contrib/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp projects/largeSMP/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/largeSMP/contrib/llvm/lib/Archive/ArchiveWriter.cpp projects/largeSMP/contrib/llvm/lib/AsmParser/LLParser.cpp projects/largeSMP/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp projects/largeSMP/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp projects/largeSMP/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp projects/largeSMP/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.h projects/largeSMP/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/Analysis.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.h projects/largeSMP/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h projects/largeSMP/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h projects/largeSMP/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfTableException.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/BranchFolding.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/CallingConvLower.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/CodePlacementOpt.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/DwarfEHPrepare.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/ELF.h projects/largeSMP/contrib/llvm/lib/CodeGen/ELFWriter.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/EdgeBundles.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/ExpandISelPseudos.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/IfConversion.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/InlineSpiller.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/LiveInterval.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/LiveIntervalUnion.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/LiveIntervalUnion.h projects/largeSMP/contrib/llvm/lib/CodeGen/LiveRangeEdit.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/LiveRangeEdit.h projects/largeSMP/contrib/llvm/lib/CodeGen/LiveVariables.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/MachineCSE.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/MachineInstr.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/MachineLICM.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/MachineSink.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/MachineVerifier.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/PHIElimination.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/Passes.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/PeepholeOptimizer.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/ProcessImplicitDefs.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/RegAllocBase.h projects/largeSMP/contrib/llvm/lib/CodeGen/RegAllocBasic.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/RegAllocFast.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/RegAllocLinearScan.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/RenderMachineFunction.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/ScheduleDAG.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/ShrinkWrapping.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.h projects/largeSMP/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SlotIndexes.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SpillPlacement.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SpillPlacement.h projects/largeSMP/contrib/llvm/lib/CodeGen/Spiller.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/Spiller.h projects/largeSMP/contrib/llvm/lib/CodeGen/SplitKit.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/SplitKit.h projects/largeSMP/contrib/llvm/lib/CodeGen/StackProtector.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/StrongPHIElimination.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/VirtRegMap.cpp projects/largeSMP/contrib/llvm/lib/CodeGen/VirtRegRewriter.cpp projects/largeSMP/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp projects/largeSMP/contrib/llvm/lib/ExecutionEngine/JIT/Intercept.cpp projects/largeSMP/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp projects/largeSMP/contrib/llvm/lib/ExecutionEngine/JIT/JIT.h projects/largeSMP/contrib/llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp projects/largeSMP/contrib/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp projects/largeSMP/contrib/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.h projects/largeSMP/contrib/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp projects/largeSMP/contrib/llvm/lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp projects/largeSMP/contrib/llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp projects/largeSMP/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp projects/largeSMP/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h projects/largeSMP/contrib/llvm/lib/Linker/LinkModules.cpp projects/largeSMP/contrib/llvm/lib/MC/ELFObjectWriter.cpp projects/largeSMP/contrib/llvm/lib/MC/MCAsmInfo.cpp projects/largeSMP/contrib/llvm/lib/MC/MCAsmInfoDarwin.cpp projects/largeSMP/contrib/llvm/lib/MC/MCAsmStreamer.cpp projects/largeSMP/contrib/llvm/lib/MC/MCAssembler.cpp projects/largeSMP/contrib/llvm/lib/MC/MCContext.cpp projects/largeSMP/contrib/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp projects/largeSMP/contrib/llvm/lib/MC/MCDisassembler/EDDisassembler.h projects/largeSMP/contrib/llvm/lib/MC/MCDisassembler/EDInfo.h projects/largeSMP/contrib/llvm/lib/MC/MCDisassembler/EDInst.cpp projects/largeSMP/contrib/llvm/lib/MC/MCDisassembler/EDOperand.cpp projects/largeSMP/contrib/llvm/lib/MC/MCDwarf.cpp projects/largeSMP/contrib/llvm/lib/MC/MCELFStreamer.cpp projects/largeSMP/contrib/llvm/lib/MC/MCExpr.cpp projects/largeSMP/contrib/llvm/lib/MC/MCInstPrinter.cpp projects/largeSMP/contrib/llvm/lib/MC/MCLoggingStreamer.cpp projects/largeSMP/contrib/llvm/lib/MC/MCMachOStreamer.cpp projects/largeSMP/contrib/llvm/lib/MC/MCNullStreamer.cpp projects/largeSMP/contrib/llvm/lib/MC/MCObjectStreamer.cpp projects/largeSMP/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp projects/largeSMP/contrib/llvm/lib/MC/MCParser/AsmParser.cpp projects/largeSMP/contrib/llvm/lib/MC/MCParser/DarwinAsmParser.cpp projects/largeSMP/contrib/llvm/lib/MC/MCSectionELF.cpp projects/largeSMP/contrib/llvm/lib/MC/MCSectionMachO.cpp projects/largeSMP/contrib/llvm/lib/MC/MCStreamer.cpp projects/largeSMP/contrib/llvm/lib/MC/MCSymbol.cpp projects/largeSMP/contrib/llvm/lib/MC/MachObjectWriter.cpp projects/largeSMP/contrib/llvm/lib/MC/WinCOFFObjectWriter.cpp projects/largeSMP/contrib/llvm/lib/Object/COFFObjectFile.cpp projects/largeSMP/contrib/llvm/lib/Object/ELFObjectFile.cpp projects/largeSMP/contrib/llvm/lib/Object/MachOObject.cpp projects/largeSMP/contrib/llvm/lib/Object/ObjectFile.cpp projects/largeSMP/contrib/llvm/lib/Support/APFloat.cpp projects/largeSMP/contrib/llvm/lib/Support/APInt.cpp projects/largeSMP/contrib/llvm/lib/Support/Allocator.cpp projects/largeSMP/contrib/llvm/lib/Support/CommandLine.cpp projects/largeSMP/contrib/llvm/lib/Support/CrashRecoveryContext.cpp projects/largeSMP/contrib/llvm/lib/Support/Dwarf.cpp projects/largeSMP/contrib/llvm/lib/Support/ErrorHandling.cpp projects/largeSMP/contrib/llvm/lib/Support/FileUtilities.cpp projects/largeSMP/contrib/llvm/lib/Support/FoldingSet.cpp projects/largeSMP/contrib/llvm/lib/Support/Host.cpp projects/largeSMP/contrib/llvm/lib/Support/MemoryBuffer.cpp projects/largeSMP/contrib/llvm/lib/Support/Path.cpp projects/largeSMP/contrib/llvm/lib/Support/PrettyStackTrace.cpp projects/largeSMP/contrib/llvm/lib/Support/Regex.cpp projects/largeSMP/contrib/llvm/lib/Support/Signals.cpp projects/largeSMP/contrib/llvm/lib/Support/SmallPtrSet.cpp projects/largeSMP/contrib/llvm/lib/Support/Statistic.cpp projects/largeSMP/contrib/llvm/lib/Support/StringMap.cpp projects/largeSMP/contrib/llvm/lib/Support/StringRef.cpp projects/largeSMP/contrib/llvm/lib/Support/Triple.cpp projects/largeSMP/contrib/llvm/lib/Support/Unix/Host.inc projects/largeSMP/contrib/llvm/lib/Support/Unix/Memory.inc projects/largeSMP/contrib/llvm/lib/Support/Unix/Path.inc projects/largeSMP/contrib/llvm/lib/Support/Unix/Program.inc projects/largeSMP/contrib/llvm/lib/Support/Unix/Signals.inc projects/largeSMP/contrib/llvm/lib/Support/Windows/DynamicLibrary.inc projects/largeSMP/contrib/llvm/lib/Support/Windows/Path.inc projects/largeSMP/contrib/llvm/lib/Support/Windows/PathV2.inc projects/largeSMP/contrib/llvm/lib/Support/raw_ostream.cpp projects/largeSMP/contrib/llvm/lib/Support/regcomp.c projects/largeSMP/contrib/llvm/lib/Target/ARM/ARM.td projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMAddressingModes.h projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMAsmBackend.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.h projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMBaseInfo.h projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMCallingConv.td projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMFrameLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMFrameLowering.h projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMHazardRecognizer.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMISelLowering.h projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMMCAsmInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMMCCodeEmitter.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMMCExpr.h projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMScheduleA9.td projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMSubtarget.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMSubtarget.h projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/ARMTargetObjectFile.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.h projects/largeSMP/contrib/llvm/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h projects/largeSMP/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.h projects/largeSMP/contrib/llvm/lib/Target/ARM/MLxExpansionPass.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/Thumb1FrameLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/Thumb1FrameLowering.h projects/largeSMP/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.h projects/largeSMP/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/Thumb2RegisterInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/ARM/Thumb2RegisterInfo.h projects/largeSMP/contrib/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp projects/largeSMP/contrib/llvm/lib/Target/Alpha/Alpha.td projects/largeSMP/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/Alpha/AlphaInstrInfo.td projects/largeSMP/contrib/llvm/lib/Target/Blackfin/BlackfinISelLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/CBackend/CBackend.cpp projects/largeSMP/contrib/llvm/lib/Target/CellSPU/SPU64InstrInfo.td projects/largeSMP/contrib/llvm/lib/Target/CellSPU/SPUAsmPrinter.cpp projects/largeSMP/contrib/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp projects/largeSMP/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.h projects/largeSMP/contrib/llvm/lib/Target/CellSPU/SPUInstrFormats.td projects/largeSMP/contrib/llvm/lib/Target/CellSPU/SPUInstrInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/CellSPU/SPUInstrInfo.td projects/largeSMP/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.h projects/largeSMP/contrib/llvm/lib/Target/CppBackend/CPPBackend.cpp projects/largeSMP/contrib/llvm/lib/Target/MBlaze/Disassembler/MBlazeDisassembler.cpp projects/largeSMP/contrib/llvm/lib/Target/MBlaze/InstPrinter/MBlazeInstPrinter.h projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlaze.td projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeAsmBackend.cpp projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeAsmPrinter.cpp projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeDelaySlotFiller.cpp projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeISelLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeInstrFPU.td projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeInstrFSL.td projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeInstrFormats.td projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.h projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.td projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.h projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.td projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeSchedule.td projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeSubtarget.cpp projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeSubtarget.h projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeTargetMachine.cpp projects/largeSMP/contrib/llvm/lib/Target/MBlaze/MBlazeTargetMachine.h projects/largeSMP/contrib/llvm/lib/Target/MSP430/InstPrinter/MSP430InstPrinter.h projects/largeSMP/contrib/llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp projects/largeSMP/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/Mips/Mips.h projects/largeSMP/contrib/llvm/lib/Target/Mips/Mips.td projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsCallingConv.td projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsFrameLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsFrameLowering.h projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsISelLowering.h projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsInstrInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsMCAsmInfo.h projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsSchedule.td projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsSubtarget.h projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsTargetMachine.h projects/largeSMP/contrib/llvm/lib/Target/Mips/MipsTargetObjectFile.h projects/largeSMP/contrib/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/PTX/PTX.h projects/largeSMP/contrib/llvm/lib/Target/PTX/PTX.td projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXAsmPrinter.cpp projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXFrameLowering.h projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXISelDAGToDAG.cpp projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXISelLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXISelLowering.h projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXInstrInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXInstrInfo.h projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXInstrInfo.td projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXMCAsmStreamer.cpp projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXMFInfoExtract.cpp projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXMachineFunctionInfo.h projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXRegisterInfo.td projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXSubtarget.cpp projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXSubtarget.h projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXTargetMachine.cpp projects/largeSMP/contrib/llvm/lib/Target/PTX/PTXTargetMachine.h projects/largeSMP/contrib/llvm/lib/Target/PTX/TargetInfo/PTXTargetInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.h projects/largeSMP/contrib/llvm/lib/Target/PowerPC/PPCAsmBackend.cpp projects/largeSMP/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp projects/largeSMP/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td projects/largeSMP/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td projects/largeSMP/contrib/llvm/lib/Target/PowerPC/PPCMCAsmInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.cpp projects/largeSMP/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.h projects/largeSMP/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp projects/largeSMP/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/SubtargetFeature.cpp projects/largeSMP/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/TargetData.cpp projects/largeSMP/contrib/llvm/lib/Target/TargetInstrInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/TargetLibraryInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp projects/largeSMP/contrib/llvm/lib/Target/TargetMachine.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c projects/largeSMP/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h projects/largeSMP/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h projects/largeSMP/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h projects/largeSMP/contrib/llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h projects/largeSMP/contrib/llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h projects/largeSMP/contrib/llvm/lib/Target/X86/X86.td projects/largeSMP/contrib/llvm/lib/Target/X86/X86AsmBackend.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86AsmPrinter.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86CallingConv.td projects/largeSMP/contrib/llvm/lib/Target/X86/X86CodeEmitter.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86FastISel.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86ISelLowering.h projects/largeSMP/contrib/llvm/lib/Target/X86/X86Instr3DNow.td projects/largeSMP/contrib/llvm/lib/Target/X86/X86InstrArithmetic.td projects/largeSMP/contrib/llvm/lib/Target/X86/X86InstrControl.td projects/largeSMP/contrib/llvm/lib/Target/X86/X86InstrFormats.td projects/largeSMP/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td projects/largeSMP/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86InstrInfo.h projects/largeSMP/contrib/llvm/lib/Target/X86/X86InstrInfo.td projects/largeSMP/contrib/llvm/lib/Target/X86/X86InstrSSE.td projects/largeSMP/contrib/llvm/lib/Target/X86/X86InstrSystem.td projects/largeSMP/contrib/llvm/lib/Target/X86/X86MCAsmInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86MCAsmInfo.h projects/largeSMP/contrib/llvm/lib/Target/X86/X86MCCodeEmitter.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86RegisterInfo.h projects/largeSMP/contrib/llvm/lib/Target/X86/X86RegisterInfo.td projects/largeSMP/contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86Subtarget.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86Subtarget.h projects/largeSMP/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86TargetObjectFile.cpp projects/largeSMP/contrib/llvm/lib/Target/X86/X86TargetObjectFile.h projects/largeSMP/contrib/llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp projects/largeSMP/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp projects/largeSMP/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td projects/largeSMP/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp projects/largeSMP/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.h projects/largeSMP/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp projects/largeSMP/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp projects/largeSMP/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp projects/largeSMP/contrib/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp projects/largeSMP/contrib/llvm/lib/Transforms/IPO/IPO.cpp projects/largeSMP/contrib/llvm/lib/Transforms/IPO/Inliner.cpp projects/largeSMP/contrib/llvm/lib/Transforms/IPO/Internalize.cpp projects/largeSMP/contrib/llvm/lib/Transforms/IPO/LowerSetJmp.cpp projects/largeSMP/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp projects/largeSMP/contrib/llvm/lib/Transforms/IPO/PartialInlining.cpp projects/largeSMP/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp projects/largeSMP/contrib/llvm/lib/Transforms/InstCombine/InstCombine.h projects/largeSMP/contrib/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp projects/largeSMP/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp projects/largeSMP/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp projects/largeSMP/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp projects/largeSMP/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp projects/largeSMP/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp projects/largeSMP/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp projects/largeSMP/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp projects/largeSMP/contrib/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp projects/largeSMP/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp projects/largeSMP/contrib/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp projects/largeSMP/contrib/llvm/lib/Transforms/InstCombine/InstCombineWorklist.h projects/largeSMP/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Instrumentation/Instrumentation.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Instrumentation/MaximumSpanningTree.h projects/largeSMP/contrib/llvm/lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Instrumentation/PathProfiling.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Instrumentation/ProfilingUtils.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Instrumentation/ProfilingUtils.h projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/DCE.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/GVN.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/LICM.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/Reg2Mem.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/Scalar.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Utils/CodeExtractor.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Utils/LCSSA.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Utils/Local.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Utils/LoopSimplify.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Utils/LowerSwitch.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp projects/largeSMP/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp projects/largeSMP/contrib/llvm/lib/VMCore/AsmWriter.cpp projects/largeSMP/contrib/llvm/lib/VMCore/AutoUpgrade.cpp projects/largeSMP/contrib/llvm/lib/VMCore/ConstantFold.cpp projects/largeSMP/contrib/llvm/lib/VMCore/Constants.cpp projects/largeSMP/contrib/llvm/lib/VMCore/ConstantsContext.h projects/largeSMP/contrib/llvm/lib/VMCore/Core.cpp projects/largeSMP/contrib/llvm/lib/VMCore/DebugLoc.cpp projects/largeSMP/contrib/llvm/lib/VMCore/Dominators.cpp projects/largeSMP/contrib/llvm/lib/VMCore/Function.cpp projects/largeSMP/contrib/llvm/lib/VMCore/IRBuilder.cpp projects/largeSMP/contrib/llvm/lib/VMCore/Instructions.cpp projects/largeSMP/contrib/llvm/lib/VMCore/LLVMContextImpl.h projects/largeSMP/contrib/llvm/lib/VMCore/Metadata.cpp projects/largeSMP/contrib/llvm/lib/VMCore/PassManager.cpp projects/largeSMP/contrib/llvm/lib/VMCore/PassRegistry.cpp projects/largeSMP/contrib/llvm/lib/VMCore/Type.cpp projects/largeSMP/contrib/llvm/lib/VMCore/TypesContext.h projects/largeSMP/contrib/llvm/lib/VMCore/Verifier.cpp projects/largeSMP/contrib/llvm/tools/clang/include/clang-c/Index.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/ASTDiagnostic.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/Attr.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/CharUnits.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/Decl.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/EvaluatedExprVisitor.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/Expr.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/ExprObjC.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/NestedNameSpecifier.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/PrettyPrinter.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/Stmt.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/StmtIterator.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/Type.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/CFGReachabilityAnalysis.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/UninitializedValues.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisContext.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisDiagnostic.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Analysis/CFG.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Analysis/DomainSpecific/CocoaConventions.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Analysis/ProgramPoint.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Analysis/Visitors/CFGStmtVisitor.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/Attr.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/AttrKinds.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/ConvertUTF.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticIDs.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/FileManager.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/PartialDiagnostic.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/TargetBuiltins.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/Version.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Driver/Arg.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Driver/Driver.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Driver/DriverDiagnostic.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Driver/OptParser.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/ASTConsumers.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/Analyses.def projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/AnalyzerOptions.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/ChainedDiagnosticClient.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticOptions.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/FrontendActions.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/FrontendDiagnostic.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/LangStandard.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/MultiplexConsumer.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/PreprocessorOptions.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Lex/DirectoryLookup.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Lex/HeaderMap.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Lex/LexDiagnostic.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Lex/Lexer.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Lex/MacroInfo.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Lex/MultipleIncludeOpt.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Lex/PTHLexer.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Lex/Pragma.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorLexer.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Parse/ParseDiagnostic.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Parse/Parser.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Rewrite/FrontendActions.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Rewrite/Rewriter.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Sema/DelayedDiagnostic.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Sema/IdentifierResolver.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Sema/Overload.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Sema/Ownership.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Sema/ParsedTemplate.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Sema/Scope.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Sema/Sema.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Sema/SemaDiagnostic.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Sema/Template.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Sema/TemplateDeduction.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/CheckerBase.td projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/LocalCheckers.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerProvider.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathDiagnosticClients.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/GRState.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ObjCMessage.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h projects/largeSMP/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h projects/largeSMP/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/DumpXML.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/InheritViz.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/ItaniumCXXABI.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/MicrosoftCXXABI.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/NestedNameSpecifier.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/Stmt.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/StmtDumper.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/StmtIterator.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/TemplateName.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/Type.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Analysis/AnalysisContext.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Analysis/CFGReachabilityAnalysis.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Analysis/CFGStmtMap.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Analysis/CocoaConventions.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Analysis/ReachableCode.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Analysis/UninitializedValues.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.h projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGCall.h projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGException.h projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGRTTI.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayout.h projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGVTT.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.h projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Driver/HostInfo.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Driver/OptTable.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Driver/ToolChains.h projects/largeSMP/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Driver/Tools.h projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/CacheTokens.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/DependencyFile.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/HeaderIncludeGen.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/MultiplexConsumer.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Headers/avxintrin.h projects/largeSMP/contrib/llvm/tools/clang/lib/Headers/emmintrin.h projects/largeSMP/contrib/llvm/tools/clang/lib/Headers/mm_malloc.h projects/largeSMP/contrib/llvm/tools/clang/lib/Headers/stddef.h projects/largeSMP/contrib/llvm/tools/clang/lib/Headers/stdint.h projects/largeSMP/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h projects/largeSMP/contrib/llvm/tools/clang/lib/Index/DeclReferenceMap.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Index/Entity.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Lex/HeaderMap.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Lex/PPExpressions.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Lex/PTHLexer.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Lex/PreprocessorLexer.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Parse/ParseAST.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Parse/ParsePragma.h projects/largeSMP/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Parse/RAIIObjectsForParser.h projects/largeSMP/contrib/llvm/tools/clang/lib/Rewrite/RewriteObjC.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Rewrite/Rewriter.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/AttributeList.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/CodeCompleteConsumer.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/IdentifierResolver.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/Sema.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaCXXCast.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/TargetAttributesSema.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/largeSMP/contrib/llvm/tools/clang/lib/Sema/TypeLocBuilder.h projects/largeSMP/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.h projects/largeSMP/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AdjustedReturnValueChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/Checkers.td projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ClangSACheckerProvider.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ClangSACheckers.h projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IdempotentOperationChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/OSAtomicChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AggExprVisitor.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicStore.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CFRefCount.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CXXExprEngine.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Environment.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/FlatStore.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp projects/largeSMP/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp projects/largeSMP/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp projects/largeSMP/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp projects/largeSMP/contrib/llvm/tools/clang/tools/driver/driver.cpp projects/largeSMP/contrib/llvm/utils/TableGen/ARMDecoderEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/AsmMatcherEmitter.h projects/largeSMP/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/AsmWriterEmitter.h projects/largeSMP/contrib/llvm/utils/TableGen/CallingConvEmitter.h projects/largeSMP/contrib/llvm/utils/TableGen/ClangASTNodesEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/ClangAttrEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/ClangDiagnosticsEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/ClangDiagnosticsEmitter.h projects/largeSMP/contrib/llvm/utils/TableGen/ClangSACheckersEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/CodeEmitterGen.cpp projects/largeSMP/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp projects/largeSMP/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.h projects/largeSMP/contrib/llvm/utils/TableGen/CodeGenInstruction.cpp projects/largeSMP/contrib/llvm/utils/TableGen/CodeGenInstruction.h projects/largeSMP/contrib/llvm/utils/TableGen/CodeGenRegisters.h projects/largeSMP/contrib/llvm/utils/TableGen/CodeGenTarget.cpp projects/largeSMP/contrib/llvm/utils/TableGen/CodeGenTarget.h projects/largeSMP/contrib/llvm/utils/TableGen/DAGISelEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/DAGISelEmitter.h projects/largeSMP/contrib/llvm/utils/TableGen/DAGISelMatcher.cpp projects/largeSMP/contrib/llvm/utils/TableGen/DAGISelMatcher.h projects/largeSMP/contrib/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp projects/largeSMP/contrib/llvm/utils/TableGen/DAGISelMatcherOpt.cpp projects/largeSMP/contrib/llvm/utils/TableGen/DisassemblerEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/EDEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/FastISelEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/InstrInfoEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/NeonEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/NeonEmitter.h projects/largeSMP/contrib/llvm/utils/TableGen/OptParserEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/Record.h projects/largeSMP/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/SubtargetEmitter.cpp projects/largeSMP/contrib/llvm/utils/TableGen/SubtargetEmitter.h projects/largeSMP/contrib/llvm/utils/TableGen/TGLexer.h projects/largeSMP/contrib/llvm/utils/TableGen/TGParser.cpp projects/largeSMP/contrib/llvm/utils/TableGen/TGValueTypes.cpp projects/largeSMP/contrib/llvm/utils/TableGen/TableGen.cpp projects/largeSMP/contrib/llvm/utils/TableGen/X86DisassemblerTables.cpp projects/largeSMP/contrib/llvm/utils/TableGen/X86DisassemblerTables.h projects/largeSMP/contrib/llvm/utils/TableGen/X86RecognizableInstr.cpp projects/largeSMP/contrib/llvm/utils/TableGen/X86RecognizableInstr.h projects/largeSMP/etc/mtree/BSD.include.dist projects/largeSMP/lib/clang/Makefile projects/largeSMP/lib/clang/clang.build.mk projects/largeSMP/lib/clang/include/Makefile projects/largeSMP/lib/clang/include/clang/Basic/Version.inc projects/largeSMP/lib/clang/include/llvm/Config/config.h projects/largeSMP/lib/clang/libclanganalysis/Makefile projects/largeSMP/lib/clang/libclangast/Makefile projects/largeSMP/lib/clang/libclangbasic/Makefile projects/largeSMP/lib/clang/libclangcodegen/Makefile projects/largeSMP/lib/clang/libclangfrontend/Makefile projects/largeSMP/lib/clang/libclangsema/Makefile projects/largeSMP/lib/clang/libclangserialization/Makefile projects/largeSMP/lib/clang/libclangstaticanalyzercheckers/Makefile projects/largeSMP/lib/clang/libclangstaticanalyzercore/Makefile projects/largeSMP/lib/clang/libllvmanalysis/Makefile projects/largeSMP/lib/clang/libllvmasmprinter/Makefile projects/largeSMP/lib/clang/libllvmcodegen/Makefile projects/largeSMP/lib/clang/libllvmcore/Makefile projects/largeSMP/lib/clang/libllvmipo/Makefile projects/largeSMP/lib/clang/libllvmmc/Makefile projects/largeSMP/lib/clang/libllvmmipscodegen/Makefile projects/largeSMP/lib/clang/libllvmscalaropts/Makefile projects/largeSMP/lib/clang/libllvmx86instprinter/Makefile projects/largeSMP/sys/boot/i386/boot2/Makefile projects/largeSMP/sys/dev/acpica/acpi_pcib_acpi.c projects/largeSMP/sys/dev/bge/if_bge.c projects/largeSMP/sys/dev/bxe/bxe_debug.h projects/largeSMP/sys/dev/bxe/if_bxe.h projects/largeSMP/sys/dev/cardbus/cardbus.c projects/largeSMP/sys/dev/coretemp/coretemp.c projects/largeSMP/sys/dev/mii/brgphy.c projects/largeSMP/sys/dev/mii/miidevs projects/largeSMP/sys/dev/puc/pucdata.c projects/largeSMP/sys/i386/conf/PAE projects/largeSMP/sys/ia64/include/vmparam.h projects/largeSMP/sys/netinet/sctputil.c projects/largeSMP/sys/netinet/sctputil.h projects/largeSMP/sys/netinet/tcp_input.c projects/largeSMP/sys/netinet/tcp_output.c projects/largeSMP/sys/netinet/tcp_timewait.c projects/largeSMP/sys/x86/x86/tsc.c projects/largeSMP/usr.bin/clang/clang/Makefile projects/largeSMP/usr.bin/clang/clang/clang.1 projects/largeSMP/usr.bin/clang/tblgen/tblgen.1 Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/ObsoleteFiles.inc ============================================================================== --- projects/largeSMP/ObsoleteFiles.inc Mon May 2 21:46:13 2011 (r221349) +++ projects/largeSMP/ObsoleteFiles.inc Mon May 2 22:03:30 2011 (r221350) @@ -38,6 +38,14 @@ # xargs -n1 | sort | uniq -d; # done +# 20110502: new clang import which bumps version from 2.9 to 3.0 +OLD_FILES+=usr/include/clang/2.9/emmintrin.h +OLD_FILES+=usr/include/clang/2.9/mm_malloc.h +OLD_FILES+=usr/include/clang/2.9/mmintrin.h +OLD_FILES+=usr/include/clang/2.9/pmmintrin.h +OLD_FILES+=usr/include/clang/2.9/tmmintrin.h +OLD_FILES+=usr/include/clang/2.9/xmmintrin.h +OLD_DIRS+=usr/include/clang/2.9 # 20110417: removal of Objective-C support OLD_FILES+=usr/include/objc/encoding.h OLD_FILES+=usr/include/objc/hash.h @@ -4874,9 +4882,7 @@ OLD_FILES+=usr/include/netns/spidp.h OLD_FILES+=usr/include/netns/spp_debug.h OLD_FILES+=usr/include/netns/spp_timer.h OLD_FILES+=usr/include/netns/spp_var.h -OLD_FILES+=usr/include/nfs/krpc.h OLD_FILES+=usr/include/nfs/nfs.h -OLD_FILES+=usr/include/nfs/nfsdiskless.h OLD_FILES+=usr/include/nfs/nfsm_subs.h OLD_FILES+=usr/include/nfs/nfsmount.h OLD_FILES+=usr/include/nfs/nfsnode.h Copied: projects/largeSMP/contrib/llvm/include/llvm-c/Disassembler.h (from r221349, head/contrib/llvm/include/llvm-c/Disassembler.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/contrib/llvm/include/llvm-c/Disassembler.h Mon May 2 22:03:30 2011 (r221350, copy of r221349, head/contrib/llvm/include/llvm-c/Disassembler.h) @@ -0,0 +1,149 @@ +/*===-- llvm-c/Disassembler.h - Disassembler Public C Interface ---*- C -*-===*\ +|* *| +|* The LLVM Compiler Infrastructure *| +|* *| +|* This file is distributed under the University of Illinois Open Source *| +|* License. See LICENSE.TXT for details. *| +|* *| +|*===----------------------------------------------------------------------===*| +|* *| +|* This header provides public interface to a disassembler library. *| +|* LLVM provides an implementation of this interface. *| +|* *| +\*===----------------------------------------------------------------------===*/ + +#ifndef LLVM_C_DISASSEMBLER_H +#define LLVM_C_DISASSEMBLER_H 1 + +#include +#include "llvm/Support/DataTypes.h" + +/** + * An opaque reference to a disassembler context. + */ +typedef void *LLVMDisasmContextRef; + +/** + * The type for the operand information call back function. This is called to + * get the symbolic information for an operand of an instruction. Typically + * this is from the relocation information, symbol table, etc. That block of + * information is saved when the disassembler context is created and passed to + * the call back in the DisInfo parameter. The instruction containing operand + * is at the PC parameter. For some instruction sets, there can be more than + * one operand with symbolic information. To determine the symbolic operand + * information for each operand, the bytes for the specific operand in the + * instruction are specified by the Offset parameter and its byte widith is the + * size parameter. For instructions sets with fixed widths and one symbolic + * operand per instruction, the Offset parameter will be zero and Size parameter + * will be the instruction width. The information is returned in TagBuf and is + * Triple specific with its specific information defined by the value of + * TagType for that Triple. If symbolic information is returned the function + * returns 1 else it returns 0. + */ +typedef int (*LLVMOpInfoCallback)(void *DisInfo, + uint64_t PC, + uint64_t Offset, + uint64_t Size, + int TagType, + void *TagBuf); + +/** + * The initial support in LLVM MC for the most general form of a relocatable + * expression is "AddSymbol - SubtractSymbol + Offset". For some Darwin targets + * this full form is encoded in the relocation information so that AddSymbol and + * SubtractSymbol can be link edited independent of each other. Many other + * platforms only allow a relocatable expression of the form AddSymbol + Offset + * to be encoded. + * + * The LLVMOpInfoCallback() for the TagType value of 1 uses the struct + * LLVMOpInfo1. The value of the relocatable expression for the operand, + * including any PC adjustment, is passed in to the call back in the Value + * field. The symbolic information about the operand is returned using all + * the fields of the structure with the Offset of the relocatable expression + * returned in the Value field. It is possible that some symbols in the + * relocatable expression were assembly temporary symbols, for example + * "Ldata - LpicBase + constant", and only the Values of the symbols without + * symbol names are present in the relocation information. The VariantKind + * type is one of the Target specific #defines below and is used to print + * operands like "_foo@GOT", ":lower16:_foo", etc. + */ +struct LLVMOpInfoSymbol1 { + uint64_t Present; /* 1 if this symbol is present */ + char *Name; /* symbol name if not NULL */ + uint64_t Value; /* symbol value if name is NULL */ +}; +struct LLVMOpInfo1 { + struct LLVMOpInfoSymbol1 AddSymbol; + struct LLVMOpInfoSymbol1 SubtractSymbol; + uint64_t Value; + uint64_t VariantKind; +}; + +/** + * The operand VariantKinds for symbolic disassembly. + */ +#define LLVMDisassembler_VariantKind_None 0 /* all targets */ + +/** + * The ARM target VariantKinds. + */ +#define LLVMDisassembler_VariantKind_ARM_HI16 1 /* :upper16: */ +#define LLVMDisassembler_VariantKind_ARM_LO16 2 /* :lower16: */ + +/** + * The type for the symbol lookup function. This may be called by the + * disassembler for such things like adding a comment for a PC plus a constant + * offset load instruction to use a symbol name instead of a load address value. + * It is passed the block information is saved when the disassembler context is + * created and a value of a symbol to look up. If no symbol is found NULL is + * to be returned. + */ +typedef const char *(*LLVMSymbolLookupCallback)(void *DisInfo, + uint64_t SymbolValue); + +#ifdef __cplusplus +extern "C" { +#endif /* !defined(__cplusplus) */ + +/** + * Create a disassembler for the TripleName. Symbolic disassembly is supported + * by passing a block of information in the DisInfo parameter and specifing the + * TagType and call back functions as described above. These can all be passed + * as NULL. If successful this returns a disassembler context if not it + * returns NULL. + */ +extern LLVMDisasmContextRef +LLVMCreateDisasm(const char *TripleName, + void *DisInfo, + int TagType, + LLVMOpInfoCallback GetOpInfo, + LLVMSymbolLookupCallback SymbolLookUp); + +/** + * Dispose of a disassembler context. + */ +extern void +LLVMDisasmDispose(LLVMDisasmContextRef DC); + +/** + * Disassmble a single instruction using the disassembler context specified in + * the parameter DC. The bytes of the instruction are specified in the parameter + * Bytes, and contains at least BytesSize number of bytes. The instruction is + * at the address specified by the PC parameter. If a valid instruction can be + * disassembled its string is returned indirectly in OutString which whos size + * is specified in the parameter OutStringSize. This function returns the + * number of bytes in the instruction or zero if there was no valid instruction. + */ +extern size_t +LLVMDisasmInstruction(LLVMDisasmContextRef DC, + uint8_t *Bytes, + uint64_t BytesSize, + uint64_t PC, + char *OutString, + size_t OutStringSize); + +#ifdef __cplusplus +} +#endif /* !defined(__cplusplus) */ + +#endif /* !defined(LLVM_C_DISASSEMBLER_H) */ Modified: projects/largeSMP/contrib/llvm/include/llvm-c/EnhancedDisassembly.h ============================================================================== --- projects/largeSMP/contrib/llvm/include/llvm-c/EnhancedDisassembly.h Mon May 2 21:46:13 2011 (r221349) +++ projects/largeSMP/contrib/llvm/include/llvm-c/EnhancedDisassembly.h Mon May 2 22:03:30 2011 (r221350) @@ -44,7 +44,7 @@ typedef int (*EDByteReaderCallback)(uint @param arg An anonymous argument for client use. @result 0 if the register could be read; -1 otherwise. */ -typedef int (*EDRegisterReaderCallback)(uint64_t *value, unsigned regID, +typedef int (*EDRegisterReaderCallback)(uint64_t *value, unsigned regID, void* arg); /*! @@ -83,7 +83,7 @@ typedef void *EDTokenRef; Encapsulates an operand of an instruction. */ typedef void *EDOperandRef; - + /*! @functiongroup Getting a disassembler */ @@ -91,7 +91,7 @@ typedef void *EDOperandRef; /*! @function EDGetDisassembler Gets the disassembler for a given target. - @param disassembler A pointer whose target will be filled in with the + @param disassembler A pointer whose target will be filled in with the disassembler. @param triple Identifies the target. Example: "x86_64-apple-darwin10" @param syntax The assembly syntax to use when decoding instructions. @@ -104,12 +104,12 @@ int EDGetDisassembler(EDDisassemblerRef /*! @functiongroup Generic architectural queries */ - + /*! @function EDGetRegisterName Gets the human-readable name for a given register. @param regName A pointer whose target will be pointed at the name of the - register. The name does not need to be deallocated and will be + register. The name does not need to be deallocated and will be @param disassembler The disassembler to query for the name. @param regID The register identifier, as returned by EDRegisterTokenValue. @result 0 on success; -1 otherwise. @@ -117,7 +117,7 @@ int EDGetDisassembler(EDDisassemblerRef int EDGetRegisterName(const char** regName, EDDisassemblerRef disassembler, unsigned regID); - + /*! @function EDRegisterIsStackPointer Determines if a register is one of the platform's stack-pointer registers. @@ -137,16 +137,16 @@ int EDRegisterIsStackPointer(EDDisassemb */ int EDRegisterIsProgramCounter(EDDisassemblerRef disassembler, unsigned regID); - + /*! @functiongroup Creating and querying instructions */ - + /*! @function EDCreateInst Gets a set of contiguous instructions from a disassembler. @param insts A pointer to an array that will be filled in with the - instructions. Must have at least count entries. Entries not filled in will + instructions. Must have at least count entries. Entries not filled in will be set to NULL. @param count The maximum number of instructions to fill in. @param disassembler The disassembler to use when decoding the instructions. @@ -197,7 +197,7 @@ int EDGetInstString(const char **buf, @result 0 on success; -1 otherwise. */ int EDInstID(unsigned *instID, EDInstRef inst); - + /*! @function EDInstIsBranch @param inst The instruction to be queried. @@ -217,7 +217,7 @@ int EDInstIsMove(EDInstRef inst); /*! @function EDBranchTargetID @param inst The instruction to be queried. - @result The ID of the branch target operand, suitable for use with + @result The ID of the branch target operand, suitable for use with EDCopyOperand. -1 if no such operand exists. */ int EDBranchTargetID(EDInstRef inst); @@ -225,7 +225,7 @@ int EDBranchTargetID(EDInstRef inst); /*! @function EDMoveSourceID @param inst The instruction to be queried. - @result The ID of the move source operand, suitable for use with + @result The ID of the move source operand, suitable for use with EDCopyOperand. -1 if no such operand exists. */ int EDMoveSourceID(EDInstRef inst); @@ -233,7 +233,7 @@ int EDMoveSourceID(EDInstRef inst); /*! @function EDMoveTargetID @param inst The instruction to be queried. - @result The ID of the move source operand, suitable for use with + @result The ID of the move source operand, suitable for use with EDCopyOperand. -1 if no such operand exists. */ int EDMoveTargetID(EDInstRef inst); @@ -241,7 +241,7 @@ int EDMoveTargetID(EDInstRef inst); /*! @functiongroup Creating and querying tokens */ - + /*! @function EDNumTokens @param inst The instruction to be queried. @@ -261,7 +261,7 @@ int EDNumTokens(EDInstRef inst); int EDGetToken(EDTokenRef *token, EDInstRef inst, int index); - + /*! @function EDGetTokenString Gets the disassembled text for a token. @@ -287,7 +287,7 @@ int EDOperandIndexForToken(EDTokenRef to @result 1 if the token is whitespace; 0 if not; -1 on error. */ int EDTokenIsWhitespace(EDTokenRef token); - + /*! @function EDTokenIsPunctuation @param token The token to be queried. @@ -335,18 +335,18 @@ int EDLiteralTokenAbsoluteValue(uint64_t /*! @function EDRegisterTokenValue - @param registerID A pointer whose target will be filled in with the LLVM + @param registerID A pointer whose target will be filled in with the LLVM register identifier for the token. @param token The token to be queried. @result 0 on success; -1 otherwise. */ int EDRegisterTokenValue(unsigned *registerID, EDTokenRef token); - + /*! @functiongroup Creating and querying operands */ - + /*! @function EDNumOperands @param inst The instruction to be queried. @@ -366,7 +366,7 @@ int EDNumOperands(EDInstRef inst); int EDGetOperand(EDOperandRef *operand, EDInstRef inst, int index); - + /*! @function EDOperandIsRegister @param operand The operand to be queried. @@ -391,13 +391,13 @@ int EDOperandIsMemory(EDOperandRef opera /*! @function EDRegisterOperandValue @param value A pointer whose target will be filled in with the LLVM register ID - of the register named by the operand. + of the register named by the operand. @param operand The operand to be queried. @result 0 on success; -1 otherwise. */ int EDRegisterOperandValue(unsigned *value, EDOperandRef operand); - + /*! @function EDImmediateOperandValue @param value A pointer whose target will be filled in with the value of the @@ -427,7 +427,7 @@ int EDEvaluateOperand(uint64_t *result, EDOperandRef operand, EDRegisterReaderCallback regReader, void *arg); - + #ifdef __BLOCKS__ /*! @@ -458,13 +458,13 @@ typedef int (^EDRegisterBlock_t)(uint64_ typedef int (^EDTokenVisitor_t)(EDTokenRef token); /*! @functiongroup Block-based interfaces */ - + /*! @function EDBlockCreateInsts Gets a set of contiguous instructions from a disassembler, using a block to read memory. @param insts A pointer to an array that will be filled in with the - instructions. Must have at least count entries. Entries not filled in will + instructions. Must have at least count entries. Entries not filled in will be set to NULL. @param count The maximum number of instructions to fill in. @param disassembler The disassembler to use when decoding the instructions. @@ -505,7 +505,7 @@ int EDBlockVisitTokens(EDInstRef inst, EDTokenVisitor_t visitor); #endif - + #ifdef __cplusplus } #endif Copied: projects/largeSMP/contrib/llvm/include/llvm-c/Object.h (from r221349, head/contrib/llvm/include/llvm-c/Object.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/contrib/llvm/include/llvm-c/Object.h Mon May 2 22:03:30 2011 (r221350, copy of r221349, head/contrib/llvm/include/llvm-c/Object.h) @@ -0,0 +1,77 @@ +/*===-- llvm-c/Object.h - Object Lib C Iface --------------------*- C++ -*-===*/ +/* */ +/* The LLVM Compiler Infrastructure */ +/* */ +/* This file is distributed under the University of Illinois Open Source */ +/* License. See LICENSE.TXT for details. */ +/* */ +/*===----------------------------------------------------------------------===*/ +/* */ +/* This header declares the C interface to libLLVMObject.a, which */ +/* implements object file reading and writing. */ +/* */ +/* Many exotic languages can interoperate with C code but have a harder time */ +/* with C++ due to name mangling. So in addition to C, this interface enables */ +/* tools written in such languages. */ +/* */ +/*===----------------------------------------------------------------------===*/ + +#ifndef LLVM_C_OBJECT_H +#define LLVM_C_OBJECT_H + +#include "llvm-c/Core.h" +#include "llvm/Config/llvm-config.h" + +#ifdef __cplusplus +#include "llvm/Object/ObjectFile.h" + +extern "C" { +#endif + + +typedef struct LLVMOpaqueObjectFile *LLVMObjectFileRef; + +typedef struct LLVMOpaqueSectionIterator *LLVMSectionIteratorRef; + +LLVMObjectFileRef LLVMCreateObjectFile(LLVMMemoryBufferRef MemBuf); +void LLVMDisposeObjectFile(LLVMObjectFileRef ObjectFile); + +LLVMSectionIteratorRef LLVMGetSections(LLVMObjectFileRef ObjectFile); +void LLVMDisposeSectionIterator(LLVMSectionIteratorRef SI); +LLVMBool LLVMIsSectionIteratorAtEnd(LLVMObjectFileRef ObjectFile, + LLVMSectionIteratorRef SI); +void LLVMMoveToNextSection(LLVMSectionIteratorRef SI); +const char *LLVMGetSectionName(LLVMSectionIteratorRef SI); +uint64_t LLVMGetSectionSize(LLVMSectionIteratorRef SI); +const char *LLVMGetSectionContents(LLVMSectionIteratorRef SI); + + +#ifdef __cplusplus +} + +namespace llvm { + namespace object { + inline ObjectFile *unwrap(LLVMObjectFileRef OF) { + return reinterpret_cast(OF); + } + + inline LLVMObjectFileRef wrap(const ObjectFile *OF) { + return reinterpret_cast(const_cast(OF)); + } + + inline ObjectFile::section_iterator *unwrap(LLVMSectionIteratorRef SI) { + return reinterpret_cast(SI); + } + + inline LLVMSectionIteratorRef + wrap(const ObjectFile::section_iterator *SI) { + return reinterpret_cast + (const_cast(SI)); + } + } +} + +#endif /* defined(__cplusplus) */ + +#endif + Modified: projects/largeSMP/contrib/llvm/include/llvm-c/Transforms/Scalar.h ============================================================================== --- projects/largeSMP/contrib/llvm/include/llvm-c/Transforms/Scalar.h Mon May 2 21:46:13 2011 (r221349) +++ projects/largeSMP/contrib/llvm/include/llvm-c/Transforms/Scalar.h Mon May 2 22:03:30 2011 (r221350) @@ -52,6 +52,9 @@ void LLVMAddLICMPass(LLVMPassManagerRef /** See llvm::createLoopDeletionPass function. */ void LLVMAddLoopDeletionPass(LLVMPassManagerRef PM); +/** See llvm::createLoopIdiomPass function */ +void LLVMAddLoopIdiomPass(LLVMPassManagerRef PM); + /** See llvm::createLoopRotatePass function. */ void LLVMAddLoopRotatePass(LLVMPassManagerRef PM); @@ -77,6 +80,9 @@ void LLVMAddSCCPPass(LLVMPassManagerRef void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM); /** See llvm::createScalarReplAggregatesPass function. */ +void LLVMAddScalarReplAggregatesPassSSA(LLVMPassManagerRef PM); + +/** See llvm::createScalarReplAggregatesPass function. */ void LLVMAddScalarReplAggregatesPassWithThreshold(LLVMPassManagerRef PM, int Threshold); @@ -95,6 +101,19 @@ void LLVMAddDemoteMemoryToRegisterPass(L /** See llvm::createVerifierPass function. */ void LLVMAddVerifierPass(LLVMPassManagerRef PM); +/** See llvm::createCorrelatedValuePropagationPass function */ +void LLVMAddCorrelatedValuePropagationPass(LLVMPassManagerRef PM); + +/** See llvm::createEarlyCSEPass function */ +void LLVMAddEarlyCSEPass(LLVMPassManagerRef PM); + +/** See llvm::createTypeBasedAliasAnalysisPass function */ +void LLVMAddTypeBasedAliasAnalysisPass(LLVMPassManagerRef PM); + +/** See llvm::createBasicAliasAnalysisPass function */ +void LLVMAddBasicAliasAnalysisPass(LLVMPassManagerRef PM); + + #ifdef __cplusplus } #endif /* defined(__cplusplus) */ Modified: projects/largeSMP/contrib/llvm/include/llvm-c/lto.h ============================================================================== --- projects/largeSMP/contrib/llvm/include/llvm-c/lto.h Mon May 2 21:46:13 2011 (r221349) +++ projects/largeSMP/contrib/llvm/include/llvm-c/lto.h Mon May 2 22:03:30 2011 (r221350) @@ -72,7 +72,7 @@ lto_get_version(void); /** - * Returns the last error string or NULL if last operation was sucessful. + * Returns the last error string or NULL if last operation was successful. */ extern const char* lto_get_error_message(void); @@ -127,7 +127,15 @@ lto_module_create_from_memory(const void * Returns NULL on error (check lto_get_error_message() for details). */ extern lto_module_t -lto_module_create_from_fd(int fd, const char *path, off_t size); +lto_module_create_from_fd(int fd, const char *path, size_t file_size); + +/** + * Loads an object file from disk. The seek point of fd is not preserved. + * Returns NULL on error (check lto_get_error_message() for details). + */ +extern lto_module_t +lto_module_create_from_fd_at_offset(int fd, const char *path, size_t file_size, + size_t map_size, off_t offset); /** @@ -255,7 +263,7 @@ lto_codegen_write_merged_modules(lto_cod /** * Generates code for all added modules into one native object file. - * On sucess returns a pointer to a generated mach-o/ELF buffer and + * On success returns a pointer to a generated mach-o/ELF buffer and * length set to the buffer size. The buffer is owned by the * lto_code_gen_t and will be freed when lto_codegen_dispose() * is called, or lto_codegen_compile() is called again. @@ -264,6 +272,13 @@ lto_codegen_write_merged_modules(lto_cod extern const void* lto_codegen_compile(lto_code_gen_t cg, size_t* length); +/** + * Generates code for all added modules into one native object file. + * The name of the file is written to name. Returns true on error. + */ +extern bool +lto_codegen_compile_to_file(lto_code_gen_t cg, const char** name); + /** * Sets options to help debug codegen bugs. Modified: projects/largeSMP/contrib/llvm/include/llvm/ADT/APFloat.h ============================================================================== --- projects/largeSMP/contrib/llvm/include/llvm/ADT/APFloat.h Mon May 2 21:46:13 2011 (r221349) +++ projects/largeSMP/contrib/llvm/include/llvm/ADT/APFloat.h Mon May 2 22:03:30 2011 (r221350) @@ -353,6 +353,10 @@ namespace llvm { unsigned FormatPrecision = 0, unsigned FormatMaxPadding = 3) const; + /// getExactInverse - If this value has an exact multiplicative inverse, + /// store it in inv and return true. + bool getExactInverse(APFloat *inv) const; + private: /* Trivial queries. */ Modified: projects/largeSMP/contrib/llvm/include/llvm/ADT/APInt.h ============================================================================== --- projects/largeSMP/contrib/llvm/include/llvm/ADT/APInt.h Mon May 2 21:46:13 2011 (r221349) +++ projects/largeSMP/contrib/llvm/include/llvm/ADT/APInt.h Mon May 2 22:03:30 2011 (r221350) @@ -818,6 +818,7 @@ public: APInt usub_ov(const APInt &RHS, bool &Overflow) const; APInt sdiv_ov(const APInt &RHS, bool &Overflow) const; APInt smul_ov(const APInt &RHS, bool &Overflow) const; + APInt umul_ov(const APInt &RHS, bool &Overflow) const; APInt sshl_ov(unsigned Amt, bool &Overflow) const; /// @returns the bit value at bitPosition @@ -1372,7 +1373,7 @@ public: /// Calculate the magic number for unsigned division by a constant. struct mu; - mu magicu() const; + mu magicu(unsigned LeadingZeros = 0) const; /// @} /// @name Building-block Operations for APInt and APFloat Modified: projects/largeSMP/contrib/llvm/include/llvm/ADT/ArrayRef.h ============================================================================== --- projects/largeSMP/contrib/llvm/include/llvm/ADT/ArrayRef.h Mon May 2 21:46:13 2011 (r221349) +++ projects/largeSMP/contrib/llvm/include/llvm/ADT/ArrayRef.h Mon May 2 22:03:30 2011 (r221350) @@ -22,8 +22,8 @@ namespace llvm { /// /// This class does not own the underlying data, it is expected to be used in /// situations where the data resides in some other buffer, whose lifetime - /// extends past that of the StringRef. For this reason, it is not in general - /// safe to store a ArrayRef. + /// extends past that of the ArrayRef. For this reason, it is not in general + /// safe to store an ArrayRef. /// /// This is intended to be trivially copyable, so it should be passed by /// value. @@ -79,6 +79,8 @@ namespace llvm { /// empty - Check if the array is empty. bool empty() const { return Length == 0; } + const T *data() const { return Data; } + /// size - Get the array size. size_t size() const { return Length; } @@ -94,10 +96,22 @@ namespace llvm { return Data[Length-1]; } + /// slice(n) - Chop off the first N elements of the array. + ArrayRef slice(unsigned N) { + assert(N <= size() && "Invalid specifier"); + return ArrayRef(data()+N, size()-N); + } + + /// slice(n, m) - Chop off the first N elements of the array, and keep M + /// elements in the array. + ArrayRef slice(unsigned N, unsigned M) { + assert(N+M <= size() && "Invalid specifier"); + return ArrayRef(data()+N, M); + } + /// @} /// @name Operator Overloads /// @{ - const T &operator[](size_t Index) const { assert(Index < Length && "Invalid index!"); return Data[Index]; @@ -106,7 +120,6 @@ namespace llvm { /// @} /// @name Expensive Operations /// @{ - std::vector vec() const { return std::vector(Data, Data+Length); } Modified: projects/largeSMP/contrib/llvm/include/llvm/ADT/DenseMap.h ============================================================================== --- projects/largeSMP/contrib/llvm/include/llvm/ADT/DenseMap.h Mon May 2 21:46:13 2011 (r221349) +++ projects/largeSMP/contrib/llvm/include/llvm/ADT/DenseMap.h Mon May 2 22:03:30 2011 (r221350) @@ -53,13 +53,13 @@ public: CopyFrom(other); } - explicit DenseMap(unsigned NumInitBuckets = 64) { + explicit DenseMap(unsigned NumInitBuckets = 0) { init(NumInitBuckets); } template DenseMap(const InputIt &I, const InputIt &E) { - init(64); + init(NextPowerOf2(std::distance(I, E))); insert(I, E); } @@ -72,7 +72,8 @@ public: P->first.~KeyT(); } #ifndef NDEBUG - memset(Buckets, 0x5a, sizeof(BucketT)*NumBuckets); + if (NumBuckets) + memset((void*)Buckets, 0x5a, sizeof(BucketT)*NumBuckets); #endif operator delete(Buckets); } @@ -98,7 +99,10 @@ public: unsigned size() const { return NumEntries; } /// Grow the densemap so that it has at least Size buckets. Does not shrink - void resize(size_t Size) { grow(Size); } + void resize(size_t Size) { + if (Size > NumBuckets) + grow(Size); + } void clear() { if (NumEntries == 0 && NumTombstones == 0) return; @@ -248,23 +252,29 @@ private: if (NumBuckets) { #ifndef NDEBUG - memset(Buckets, 0x5a, sizeof(BucketT)*NumBuckets); + memset((void*)Buckets, 0x5a, sizeof(BucketT)*NumBuckets); #endif operator delete(Buckets); } - Buckets = static_cast(operator new(sizeof(BucketT) * - other.NumBuckets)); + + NumBuckets = other.NumBuckets; + + if (NumBuckets == 0) { + Buckets = 0; + return; + } + + Buckets = static_cast(operator new(sizeof(BucketT) * NumBuckets)); if (isPodLike::value && isPodLike::value) - memcpy(Buckets, other.Buckets, other.NumBuckets * sizeof(BucketT)); + memcpy(Buckets, other.Buckets, NumBuckets * sizeof(BucketT)); else - for (size_t i = 0; i < other.NumBuckets; ++i) { + for (size_t i = 0; i < NumBuckets; ++i) { new (&Buckets[i].first) KeyT(other.Buckets[i].first); if (!KeyInfoT::isEqual(Buckets[i].first, getEmptyKey()) && !KeyInfoT::isEqual(Buckets[i].first, getTombstoneKey())) new (&Buckets[i].second) ValueT(other.Buckets[i].second); } - NumBuckets = other.NumBuckets; } BucketT *InsertIntoBucket(const KeyT &Key, const ValueT &Value, @@ -279,11 +289,14 @@ private: // table completely filled with tombstones, no lookup would ever succeed, // causing infinite loops in lookup. ++NumEntries; - if (NumEntries*4 >= NumBuckets*3 || - NumBuckets-(NumEntries+NumTombstones) < NumBuckets/8) { + if (NumEntries*4 >= NumBuckets*3) { this->grow(NumBuckets * 2); LookupBucketFor(Key, TheBucket); } + if (NumBuckets-(NumEntries+NumTombstones) < NumBuckets/8) { + this->grow(NumBuckets); + LookupBucketFor(Key, TheBucket); + } // If we are writing over a tombstone, remember this. if (!KeyInfoT::isEqual(TheBucket->first, getEmptyKey())) @@ -313,6 +326,11 @@ private: unsigned ProbeAmt = 1; BucketT *BucketsPtr = Buckets; + if (NumBuckets == 0) { + FoundBucket = 0; + return false; + } + // FoundTombstone - Keep track of whether we find a tombstone while probing. BucketT *FoundTombstone = 0; const KeyT EmptyKey = getEmptyKey(); @@ -354,6 +372,12 @@ private: NumEntries = 0; NumTombstones = 0; NumBuckets = InitBuckets; + + if (InitBuckets == 0) { + Buckets = 0; + return; + } + assert(InitBuckets && (InitBuckets & (InitBuckets-1)) == 0 && "# initial buckets must be a power of two!"); Buckets = static_cast(operator new(sizeof(BucketT)*InitBuckets)); @@ -367,6 +391,9 @@ private: unsigned OldNumBuckets = NumBuckets; BucketT *OldBuckets = Buckets; + if (NumBuckets < 64) + NumBuckets = 64; + // Double the number of buckets. while (NumBuckets < AtLeast) NumBuckets <<= 1; @@ -398,7 +425,8 @@ private: } #ifndef NDEBUG - memset(OldBuckets, 0x5a, sizeof(BucketT)*OldNumBuckets); + if (OldNumBuckets) + memset((void*)OldBuckets, 0x5a, sizeof(BucketT)*OldNumBuckets); #endif // Free the old table. operator delete(OldBuckets); @@ -431,13 +459,22 @@ private: } #ifndef NDEBUG - memset(OldBuckets, 0x5a, sizeof(BucketT)*OldNumBuckets); + memset((void*)OldBuckets, 0x5a, sizeof(BucketT)*OldNumBuckets); #endif // Free the old table. operator delete(OldBuckets); NumEntries = 0; } + +public: + /// Return the approximate size (in bytes) of the actual map. + /// This is just the raw memory used by DenseMap. + /// If entries are pointers to objects, the size of the referenced objects + /// are not included. + size_t getMemorySize() const { + return NumBuckets * sizeof(BucketT); + } }; template > { key ^= (key >> 31); return (unsigned)key; } - static bool isEqual(const Pair& LHS, const Pair& RHS) { return LHS == RHS; } + static bool isEqual(const Pair &LHS, const Pair &RHS) { + return FirstInfo::isEqual(LHS.first, RHS.first) && + SecondInfo::isEqual(LHS.second, RHS.second); + } }; } // end namespace llvm Modified: projects/largeSMP/contrib/llvm/include/llvm/ADT/DepthFirstIterator.h ============================================================================== --- projects/largeSMP/contrib/llvm/include/llvm/ADT/DepthFirstIterator.h Mon May 2 21:46:13 2011 (r221349) +++ projects/largeSMP/contrib/llvm/include/llvm/ADT/DepthFirstIterator.h Mon May 2 22:03:30 2011 (r221350) @@ -143,8 +143,7 @@ public: static inline _Self end(const GraphT& G, SetType &S) { return _Self(S); } inline bool operator==(const _Self& x) const { - return VisitStack.size() == x.VisitStack.size() && - VisitStack == x.VisitStack; + return VisitStack == x.VisitStack; } inline bool operator!=(const _Self& x) const { return !operator==(x); } Modified: projects/largeSMP/contrib/llvm/include/llvm/ADT/FoldingSet.h ============================================================================== --- projects/largeSMP/contrib/llvm/include/llvm/ADT/FoldingSet.h Mon May 2 21:46:13 2011 (r221349) +++ projects/largeSMP/contrib/llvm/include/llvm/ADT/FoldingSet.h Mon May 2 22:03:30 2011 (r221350) @@ -209,10 +209,10 @@ template struct FoldingSetTr /// for FoldingSetTrait implementations. /// template struct DefaultFoldingSetTrait { - static void Profile(const T& X, FoldingSetNodeID& ID) { + static void Profile(const T &X, FoldingSetNodeID &ID) { X.Profile(ID); } - static void Profile(T& X, FoldingSetNodeID& ID) { + static void Profile(T &X, FoldingSetNodeID &ID) { X.Profile(ID); } @@ -267,7 +267,7 @@ template struc /// is often much larger than necessary, and the possibility of heap /// allocation means it requires a non-trivial destructor call. class FoldingSetNodeIDRef { - const unsigned* Data; + const unsigned *Data; size_t Size; public: FoldingSetNodeIDRef() : Data(0), Size(0) {} @@ -310,9 +310,10 @@ public: void AddInteger(unsigned long long I); void AddBoolean(bool B) { AddInteger(B ? 1U : 0U); } void AddString(StringRef String); + void AddNodeID(const FoldingSetNodeID &ID); template - inline void Add(const T& x) { FoldingSetTrait::Profile(x, *this); } + inline void Add(const T &x) { FoldingSetTrait::Profile(x, *this); } /// clear - Clear the accumulated profile, allowing this FoldingSetNodeID /// object to be used to compute a new profile. @@ -548,7 +549,7 @@ public: return static_cast(NodePtr); } - inline FoldingSetIterator& operator++() { // Preincrement + inline FoldingSetIterator &operator++() { // Preincrement advance(); return *this; } @@ -596,10 +597,10 @@ public: FoldingSetBucketIterator(void **Bucket, bool) : FoldingSetBucketIteratorImpl(Bucket, true) {} - T& operator*() const { return *static_cast(Ptr); } - T* operator->() const { return static_cast(Ptr); } + T &operator*() const { return *static_cast(Ptr); } + T *operator->() const { return static_cast(Ptr); } - inline FoldingSetBucketIterator& operator++() { // Preincrement + inline FoldingSetBucketIterator &operator++() { // Preincrement advance(); return *this; } @@ -615,36 +616,36 @@ template class FoldingSetNodeWrapper : public FoldingSetNode { T data; public: - explicit FoldingSetNodeWrapper(const T& x) : data(x) {} + explicit FoldingSetNodeWrapper(const T &x) : data(x) {} virtual ~FoldingSetNodeWrapper() {} template - explicit FoldingSetNodeWrapper(const A1& a1) + explicit FoldingSetNodeWrapper(const A1 &a1) : data(a1) {} template - explicit FoldingSetNodeWrapper(const A1& a1, const A2& a2) + explicit FoldingSetNodeWrapper(const A1 &a1, const A2 &a2) : data(a1,a2) {} template - explicit FoldingSetNodeWrapper(const A1& a1, const A2& a2, const A3& a3) + explicit FoldingSetNodeWrapper(const A1 &a1, const A2 &a2, const A3 &a3) : data(a1,a2,a3) {} template - explicit FoldingSetNodeWrapper(const A1& a1, const A2& a2, const A3& a3, - const A4& a4) + explicit FoldingSetNodeWrapper(const A1 &a1, const A2 &a2, const A3 &a3, + const A4 &a4) : data(a1,a2,a3,a4) {} template - explicit FoldingSetNodeWrapper(const A1& a1, const A2& a2, const A3& a3, - const A4& a4, const A5& a5) + explicit FoldingSetNodeWrapper(const A1 &a1, const A2 &a2, const A3 &a3, + const A4 &a4, const A5 &a5) : data(a1,a2,a3,a4,a5) {} - void Profile(FoldingSetNodeID& ID) { FoldingSetTrait::Profile(data, ID); } + void Profile(FoldingSetNodeID &ID) { FoldingSetTrait::Profile(data, ID); } - T& getValue() { return data; } - const T& getValue() const { return data; } + T &getValue() { return data; } + const T &getValue() const { return data; } operator T&() { return data; } operator const T&() const { return data; } @@ -661,20 +662,22 @@ class FastFoldingSetNode : public Foldin protected: explicit FastFoldingSetNode(const FoldingSetNodeID &ID) : FastID(ID) {} public: - void Profile(FoldingSetNodeID& ID) const { ID = FastID; } + void Profile(FoldingSetNodeID &ID) const { + ID.AddNodeID(FastID); + } }; //===----------------------------------------------------------------------===// // Partial specializations of FoldingSetTrait. template struct FoldingSetTrait { - static inline void Profile(const T* X, FoldingSetNodeID& ID) { + static inline void Profile(const T *X, FoldingSetNodeID &ID) { ID.AddPointer(X); } }; template struct FoldingSetTrait { - static inline void Profile(const T* X, FoldingSetNodeID& ID) { + static inline void Profile(const T *X, FoldingSetNodeID &ID) { ID.AddPointer(X); } }; Modified: projects/largeSMP/contrib/llvm/include/llvm/ADT/ImmutableIntervalMap.h ============================================================================== --- projects/largeSMP/contrib/llvm/include/llvm/ADT/ImmutableIntervalMap.h Mon May 2 21:46:13 2011 (r221349) +++ projects/largeSMP/contrib/llvm/include/llvm/ADT/ImmutableIntervalMap.h Mon May 2 22:03:30 2011 (r221350) @@ -10,6 +10,10 @@ // This file defines the ImmutableIntervalMap class. // //===----------------------------------------------------------------------===// + +#ifndef LLVM_ADT_IMMUTABLE_INTERVAL_MAP_H +#define LLVM_ADT_IMMUTABLE_INTERVAL_MAP_H + #include "llvm/ADT/ImmutableMap.h" namespace llvm { @@ -240,3 +244,5 @@ private: }; } // end namespace llvm + +#endif Modified: projects/largeSMP/contrib/llvm/include/llvm/ADT/IntervalMap.h ============================================================================== --- projects/largeSMP/contrib/llvm/include/llvm/ADT/IntervalMap.h Mon May 2 21:46:13 2011 (r221349) +++ projects/largeSMP/contrib/llvm/include/llvm/ADT/IntervalMap.h Mon May 2 22:03:30 2011 (r221350) @@ -1328,6 +1328,10 @@ public: /// const_iterator - Create an iterator that isn't pointing anywhere. const_iterator() : map(0) {} *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue May 3 18:36:36 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8217E1065672; Tue, 3 May 2011 18:36:36 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 722628FC13; Tue, 3 May 2011 18:36:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p43IaaSZ006040; Tue, 3 May 2011 18:36:36 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p43Iaamp006038; Tue, 3 May 2011 18:36:36 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105031836.p43Iaamp006038@svn.freebsd.org> From: Attilio Rao Date: Tue, 3 May 2011 18:36:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221395 - projects/largeSMP/sys/sys X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 18:36:36 -0000 Author: attilio Date: Tue May 3 18:36:36 2011 New Revision: 221395 URL: http://svn.freebsd.org/changeset/base/221395 Log: Make CPU_MAXSETSIZE dependant by MAXCPU as well. Discussed with: jhb Modified: projects/largeSMP/sys/sys/cpuset.h Modified: projects/largeSMP/sys/sys/cpuset.h ============================================================================== --- projects/largeSMP/sys/sys/cpuset.h Tue May 3 18:23:11 2011 (r221394) +++ projects/largeSMP/sys/sys/cpuset.h Tue May 3 18:36:36 2011 (r221395) @@ -36,7 +36,7 @@ #define CPU_SETSIZE MAXCPU #endif -#define CPU_MAXSIZE 128 +#define CPU_MAXSIZE (4 * MAXCPU) #ifndef CPU_SETSIZE #define CPU_SETSIZE CPU_MAXSIZE From owner-svn-src-projects@FreeBSD.ORG Tue May 3 18:48:06 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DAD46106566C; Tue, 3 May 2011 18:48:06 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CAD5B8FC08; Tue, 3 May 2011 18:48:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p43Im6V8006598; Tue, 3 May 2011 18:48:06 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p43Im6At006596; Tue, 3 May 2011 18:48:06 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105031848.p43Im6At006596@svn.freebsd.org> From: Attilio Rao Date: Tue, 3 May 2011 18:48:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221396 - projects/largeSMP/sys/sys X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 18:48:06 -0000 Author: attilio Date: Tue May 3 18:48:06 2011 New Revision: 221396 URL: http://svn.freebsd.org/changeset/base/221396 Log: Add a comment explaining the discrepancy in size between kernel and userland of cpuset_t. Discussed with: jhb Modified: projects/largeSMP/sys/sys/cpuset.h Modified: projects/largeSMP/sys/sys/cpuset.h ============================================================================== --- projects/largeSMP/sys/sys/cpuset.h Tue May 3 18:36:36 2011 (r221395) +++ projects/largeSMP/sys/sys/cpuset.h Tue May 3 18:48:06 2011 (r221396) @@ -36,6 +36,10 @@ #define CPU_SETSIZE MAXCPU #endif +/* + * In userland a bigger cpuset structure is preferable in order to cope + * with kernel bumping of MAXCPU and still have a compatible layout. + */ #define CPU_MAXSIZE (4 * MAXCPU) #ifndef CPU_SETSIZE From owner-svn-src-projects@FreeBSD.ORG Tue May 3 18:57:47 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A18F61065704; Tue, 3 May 2011 18:57:47 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8DC428FC0A; Tue, 3 May 2011 18:57:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p43Ivld0007028; Tue, 3 May 2011 18:57:47 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p43IvlXA006995; Tue, 3 May 2011 18:57:47 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105031857.p43IvlXA006995@svn.freebsd.org> From: Attilio Rao Date: Tue, 3 May 2011 18:57:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221399 - in projects/largeSMP: bin/stty cddl/compat/opensolaris/misc contrib/bsnmp/snmp_mibII contrib/one-true-awk contrib/texinfo/makeinfo contrib/top etc lib/libstand sbin/geom/class... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 18:57:47 -0000 Author: attilio Date: Tue May 3 18:57:46 2011 New Revision: 221399 URL: http://svn.freebsd.org/changeset/base/221399 Log: MFC Modified: projects/largeSMP/bin/stty/stty.c projects/largeSMP/cddl/compat/opensolaris/misc/zmount.c projects/largeSMP/contrib/bsnmp/snmp_mibII/mibII_interfaces.c projects/largeSMP/contrib/one-true-awk/FIXES projects/largeSMP/contrib/one-true-awk/README projects/largeSMP/contrib/one-true-awk/b.c projects/largeSMP/contrib/one-true-awk/lib.c projects/largeSMP/contrib/one-true-awk/main.c projects/largeSMP/contrib/one-true-awk/makefile projects/largeSMP/contrib/one-true-awk/run.c projects/largeSMP/contrib/texinfo/makeinfo/sectioning.c projects/largeSMP/etc/newsyslog.conf projects/largeSMP/lib/libstand/__main.c projects/largeSMP/lib/libstand/bswap.c projects/largeSMP/lib/libstand/cd9660.c projects/largeSMP/lib/libstand/dosfs.c projects/largeSMP/lib/libstand/environment.c projects/largeSMP/lib/libstand/getopt.c projects/largeSMP/lib/libstand/net.c projects/largeSMP/lib/libstand/tftp.c projects/largeSMP/lib/libstand/udp.c projects/largeSMP/sbin/geom/class/part/geom_part.c projects/largeSMP/sbin/geom/class/part/gpart.8 projects/largeSMP/share/man/man4/sem.4 projects/largeSMP/sys/amd64/conf/DEFAULTS projects/largeSMP/sys/amd64/pci/pci_bus.c projects/largeSMP/sys/boot/ia64/common/exec.c projects/largeSMP/sys/cam/cam_xpt.c projects/largeSMP/sys/conf/makeLINT.mk projects/largeSMP/sys/conf/options projects/largeSMP/sys/dev/acpica/acpi_pcib_acpi.c projects/largeSMP/sys/dev/acpica/acpi_pcib_pci.c projects/largeSMP/sys/dev/bxe/if_bxe.c projects/largeSMP/sys/dev/pci/pci.c projects/largeSMP/sys/dev/pci/pci_pci.c projects/largeSMP/sys/dev/pci/pcib_private.h projects/largeSMP/sys/dev/sound/pcm/dsp.c projects/largeSMP/sys/dev/vxge/include/build-version.h projects/largeSMP/sys/dev/vxge/vxge.c projects/largeSMP/sys/dev/vxge/vxge.h projects/largeSMP/sys/i386/conf/DEFAULTS projects/largeSMP/sys/i386/pci/pci_bus.c projects/largeSMP/sys/kern/kern_jail.c projects/largeSMP/sys/kern/kern_racct.c projects/largeSMP/sys/kern/kern_rctl.c projects/largeSMP/sys/sparc64/pci/apb.c projects/largeSMP/sys/sparc64/pci/ofw_pcib.c projects/largeSMP/sys/sys/jail.h projects/largeSMP/sys/sys/rctl.h projects/largeSMP/sys/x86/pci/qpi.c projects/largeSMP/sys/x86/x86/mptable_pci.c projects/largeSMP/tools/tools/vxge/vxge_info.c projects/largeSMP/usr.bin/calendar/calendars/calendar.freebsd projects/largeSMP/usr.bin/login/login.c projects/largeSMP/usr.bin/rctl/rctl.8 projects/largeSMP/usr.sbin/makefs/cd9660/cd9660_eltorito.c Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/bin/stty/stty.c ============================================================================== --- projects/largeSMP/bin/stty/stty.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/bin/stty/stty.c Tue May 3 18:57:46 2011 (r221399) @@ -61,9 +61,11 @@ main(int argc, char *argv[]) struct info i; enum FMT fmt; int ch; + const char *file; fmt = NOTSET; i.fd = STDIN_FILENO; + file = "stdin"; opterr = 0; while (optind < argc && @@ -79,6 +81,7 @@ main(int argc, char *argv[]) case 'f': if ((i.fd = open(optarg, O_RDONLY | O_NONBLOCK)) < 0) err(1, "%s", optarg); + file = optarg; break; case 'g': fmt = GFLAG; @@ -92,7 +95,7 @@ args: argc -= optind; argv += optind; if (tcgetattr(i.fd, &i.t) < 0) - errx(1, "stdin isn't a terminal"); + errx(1, "%s isn't a terminal", file); if (ioctl(i.fd, TIOCGETD, &i.ldisc) < 0) err(1, "TIOCGETD"); if (ioctl(i.fd, TIOCGWINSZ, &i.win) < 0) Modified: projects/largeSMP/cddl/compat/opensolaris/misc/zmount.c ============================================================================== --- projects/largeSMP/cddl/compat/opensolaris/misc/zmount.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/cddl/compat/opensolaris/misc/zmount.c Tue May 3 18:57:46 2011 (r221399) @@ -98,8 +98,10 @@ zmount(const char *spec, const char *dir build_iovec(&iov, &iovlen, "fspath", __DECONST(char *, dir), (size_t)-1); build_iovec(&iov, &iovlen, "from", __DECONST(char *, spec), (size_t)-1); - for (p = optstr; p != NULL; strsep(&p, ",/ ")) - build_iovec(&iov, &iovlen, p, NULL, (size_t)-1); + for (p = optstr; p != NULL; strsep(&p, ",/ ")) { + if (*p != '\0') + build_iovec(&iov, &iovlen, p, NULL, (size_t)-1); + } rv = nmount(iov, iovlen, 0); free(optstr); return (rv); Modified: projects/largeSMP/contrib/bsnmp/snmp_mibII/mibII_interfaces.c ============================================================================== --- projects/largeSMP/contrib/bsnmp/snmp_mibII/mibII_interfaces.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/contrib/bsnmp/snmp_mibII/mibII_interfaces.c Tue May 3 18:57:46 2011 (r221399) @@ -289,8 +289,7 @@ op_ifentry(struct snmp_context *ctx, str * cable) and hence return 'dormant'. */ if (ifp->mib.ifmd_flags & IFF_RUNNING) { - if (ifp->mib.ifmd_data.ifi_link_state == - LINK_STATE_DOWN) + if (ifp->mib.ifmd_data.ifi_link_state != LINK_STATE_UP) value->v.integer = 5; /* state dormant */ else value->v.integer = 1; /* state up */ Modified: projects/largeSMP/contrib/one-true-awk/FIXES ============================================================================== --- projects/largeSMP/contrib/one-true-awk/FIXES Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/contrib/one-true-awk/FIXES Tue May 3 18:57:46 2011 (r221399) @@ -25,6 +25,32 @@ THIS SOFTWARE. This file lists all bug fixes, changes, etc., made since the AWK book was sent to the printers in August, 1987. +May 1, 2011: + after advice from todd miller, kevin lo, ruslan ermilov, + and arnold robbins, changed srand() to return the previous + seed (which is 1 on the first call of srand). the seed is + an Awkfloat internally though converted to unsigned int to + pass to the library srand(). thanks, everyone. + + fixed a subtle (and i hope low-probability) overflow error + in fldbld, by adding space for one extra \0. thanks to + robert bassett for spotting this one and providing a fix. + + removed the files related to compilation on windows. i no + longer have anything like a current windows environment, so + i can't test any of it. + +May 23, 2010: + fixed long-standing overflow bug in run.c; many thanks to + nelson beebe for spotting it and providing the fix. + + fixed bug that didn't parse -vd=1 properly; thanks to santiago + vila for spotting it. + +Feb 8, 2010: + i give up. replaced isblank with isspace in b.c; there are + no consistent header files. + Nov 26, 2009: fixed a long-standing issue with when FS takes effect. a change to FS is now noticed immediately for subsequent splits. Modified: projects/largeSMP/contrib/one-true-awk/README ============================================================================== --- projects/largeSMP/contrib/one-true-awk/README Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/contrib/one-true-awk/README Tue May 3 18:57:46 2011 (r221399) @@ -29,7 +29,7 @@ by Al Aho, Brian Kernighan, and Peter We Changes, mostly bug fixes and occasional enhancements, are listed in FIXES. If you distribute this code further, please please please distribute FIXES with it. If you find errors, please report them -to bwk@bell-labs.com. Thanks. +to bwk@cs.princeton.edu. Thanks. The program itself is created by make Modified: projects/largeSMP/contrib/one-true-awk/b.c ============================================================================== --- projects/largeSMP/contrib/one-true-awk/b.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/contrib/one-true-awk/b.c Tue May 3 18:57:46 2011 (r221399) @@ -752,7 +752,7 @@ Node *unary(Node *np) /* #define HAS_ISBLANK */ #ifndef HAS_ISBLANK -int (isblank)(int c) +int (xisblank)(int c) { return c==' ' || c=='\t'; } @@ -766,7 +766,11 @@ struct charclass { } charclasses[] = { { "alnum", 5, isalnum }, { "alpha", 5, isalpha }, +#ifndef HAS_ISBLANK + { "blank", 5, isspace }, /* was isblank */ +#else { "blank", 5, isblank }, +#endif { "cntrl", 5, iscntrl }, { "digit", 5, isdigit }, { "graph", 5, isgraph }, Modified: projects/largeSMP/contrib/one-true-awk/lib.c ============================================================================== --- projects/largeSMP/contrib/one-true-awk/lib.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/contrib/one-true-awk/lib.c Tue May 3 18:57:46 2011 (r221399) @@ -256,6 +256,7 @@ void fldbld(void) /* create fields from { /* this relies on having fields[] the same length as $0 */ /* the fields are all stored in this one array with \0's */ + /* possibly with a final trailing \0 not associated with any field */ char *r, *fr, sep; Cell *p; int i, j, n; @@ -268,7 +269,7 @@ void fldbld(void) /* create fields from n = strlen(r); if (n > fieldssize) { xfree(fields); - if ((fields = (char *) malloc(n+1)) == NULL) + if ((fields = (char *) malloc(n+2)) == NULL) /* possibly 2 final \0s */ FATAL("out of space for fields in fldbld %d", n); fieldssize = n; } Modified: projects/largeSMP/contrib/one-true-awk/main.c ============================================================================== --- projects/largeSMP/contrib/one-true-awk/main.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/contrib/one-true-awk/main.c Tue May 3 18:57:46 2011 (r221399) @@ -25,7 +25,7 @@ THIS SOFTWARE. #include __FBSDID("$FreeBSD$"); -const char *version = "version 20091126 (FreeBSD)"; +const char *version = "version 20110501 (FreeBSD)"; #define DEBUG #include @@ -41,6 +41,7 @@ extern char **environ; extern int nfields; int dbg = 0; +Awkfloat srand_seed = 1; char *cmdname; /* gets argv[0] for error messages */ extern FILE *yyin; /* lex input file */ char *lexprog; /* points to program argument if it exists */ @@ -71,6 +72,10 @@ int main(int argc, char *argv[]) exit(1); } signal(SIGFPE, fpecatch); + + srand_seed = 1; + srand(srand_seed); + yyin = NULL; symtab = makesymtab(NSYMTAB/NSYMTAB); while (argc > 1 && argv[1][0] == '-' && argv[1][1] != '\0') { @@ -120,14 +125,10 @@ int main(int argc, char *argv[]) WARNING("field separator FS is empty"); break; case 'v': /* -v a=1 to be done NOW. one -v for each */ - if (argv[1][2] != 0) { /* arg is -vsomething */ - if (argv[1][2] != 0) - setclvar(&argv[1][2]); - } else { /* arg is -v something */ - argc--; argv++; - if (argc > 1 && isclvar(argv[1])) - setclvar(argv[1]); - } + if (argv[1][2] == '\0' && --argc > 1 && isclvar((++argv)[1])) + setclvar(argv[1]); + else if (argv[1][2] != '\0') + setclvar(&argv[1][2]); break; case 'd': dbg = atoi(&argv[1][2]); Modified: projects/largeSMP/contrib/one-true-awk/makefile ============================================================================== --- projects/largeSMP/contrib/one-true-awk/makefile Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/contrib/one-true-awk/makefile Tue May 3 18:57:46 2011 (r221399) @@ -26,13 +26,12 @@ CFLAGS = -g CFLAGS = -O2 CFLAGS = -CC = gcc -Wall -g -Wwrite-strings -CC = gcc -fprofile-arcs -ftest-coverage # then gcov f1.c; cat f1.c.gcov CC = gcc -Wall -g CC = cc +CC = gcc -Wall -g -Wwrite-strings +CC = gcc -fprofile-arcs -ftest-coverage # then gcov f1.c; cat f1.c.gcov CC = gcc -O4 - YACC = bison -y YACC = yacc YFLAGS = -d @@ -40,13 +39,13 @@ YFLAGS = -d OFILES = b.o main.o parse.o proctab.o tran.o lib.o run.o lex.o SOURCE = awk.h ytab.c ytab.h proto.h awkgram.y lex.c b.c main.c \ - maketab.c parse.c lib.c run.c tran.c proctab.c missing95.c + maketab.c parse.c lib.c run.c tran.c proctab.c LISTING = awk.h proto.h awkgram.y lex.c b.c main.c maketab.c parse.c \ - lib.c run.c tran.c missing95.c + lib.c run.c tran.c -SHIP = README FIXES $(SOURCE) ytab[ch].bak makefile makefile.win \ - vcvars32.bat buildwin.bat awk.1 +SHIP = README FIXES $(SOURCE) ytab[ch].bak makefile \ + awk.1 a.out: ytab.o $(OFILES) $(CC) $(CFLAGS) ytab.o $(OFILES) $(ALLOC) -lm Modified: projects/largeSMP/contrib/one-true-awk/run.c ============================================================================== --- projects/largeSMP/contrib/one-true-awk/run.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/contrib/one-true-awk/run.c Tue May 3 18:57:46 2011 (r221399) @@ -69,6 +69,7 @@ void tempfree(Cell *p) { jmp_buf env; extern int pairstack[]; +extern Awkfloat srand_seed; Node *winner = NULL; /* root of parse tree */ Cell *tmps; /* free temporary cells for execution */ @@ -1469,6 +1470,7 @@ Cell *bltin(Node **a, int n) /* builtin Cell *x, *y; Awkfloat u; int t; + Awkfloat tmp; char *p, *buf; Node *nextarg; FILE *fp; @@ -1520,7 +1522,10 @@ Cell *bltin(Node **a, int n) /* builtin u = time((time_t *)0); else u = getfval(x); + tmp = u; srand((unsigned int) u); + u = srand_seed; + srand_seed = tmp; break; case FTOUPPER: case FTOLOWER: @@ -1890,9 +1895,10 @@ Cell *gsub(Node **a, int nnn) /* global adjbuf(&buf, &bufsz, 1+strlen(sptr)+pb-buf, 0, &pb, "gsub"); while ((*pb++ = *sptr++) != 0) ; - done: if (pb > buf + bufsz) - FATAL("gsub result2 %.30s too big; can't happen", buf); - *pb = '\0'; + done: if (pb < buf + bufsz) + *pb = '\0'; + else if (*(pb-1) != '\0') + FATAL("gsub result2 %.30s truncated; can't happen", buf); setsval(x, buf); /* BUG: should be able to avoid copy + free */ pfa->initstat = tempstat; } Modified: projects/largeSMP/contrib/texinfo/makeinfo/sectioning.c ============================================================================== --- projects/largeSMP/contrib/texinfo/makeinfo/sectioning.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/contrib/texinfo/makeinfo/sectioning.c Tue May 3 18:57:46 2011 (r221399) @@ -256,13 +256,13 @@ current_chapter_number (void) return xstrdup (""); else if (enum_marker == APPENDIX_MAGIC) { - char s[1]; + char s[2]; sprintf (s, "%c", numbers[0] + 64); return xstrdup (s); } else { - char s[5]; + char s[11]; sprintf (s, "%d", numbers[0]); return xstrdup (s); } Modified: projects/largeSMP/etc/newsyslog.conf ============================================================================== --- projects/largeSMP/etc/newsyslog.conf Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/etc/newsyslog.conf Tue May 3 18:57:46 2011 (r221399) @@ -8,7 +8,7 @@ # is no process which needs to be signalled when a given log file is # rotated, then the entry for that file should include the 'N' flag. # -# The 'flags' field is one or more of the letters: BCGJNUWZ or a '-'. +# The 'flags' field is one or more of the letters: BCDGJNUXZ or a '-'. # # Note: some sites will want to select more restrictive protections than the # defaults. In particular, it may be desirable to switch many of the 644 Modified: projects/largeSMP/lib/libstand/__main.c ============================================================================== --- projects/largeSMP/lib/libstand/__main.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/lib/libstand/__main.c Tue May 3 18:57:46 2011 (r221399) @@ -38,6 +38,6 @@ __FBSDID("$FreeBSD$"); void __main(void); void -__main() +__main(void) { } Modified: projects/largeSMP/lib/libstand/bswap.c ============================================================================== --- projects/largeSMP/lib/libstand/bswap.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/lib/libstand/bswap.c Tue May 3 18:57:46 2011 (r221399) @@ -16,9 +16,11 @@ static char *rcsid = "$NetBSD: bswap64.c #undef bswap32 #undef bswap64 +u_int32_t bswap32(u_int32_t x); +u_int64_t bswap64(u_int64_t x); + u_int32_t -bswap32(x) - u_int32_t x; +bswap32(u_int32_t x) { return ((x << 24) & 0xff000000 ) | ((x << 8) & 0x00ff0000 ) | @@ -27,8 +29,7 @@ bswap32(x) } u_int64_t -bswap64(x) - u_int64_t x; +bswap64(u_int64_t x) { u_int32_t *p = (u_int32_t*)&x; u_int32_t t; Modified: projects/largeSMP/lib/libstand/cd9660.c ============================================================================== --- projects/largeSMP/lib/libstand/cd9660.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/lib/libstand/cd9660.c Tue May 3 18:57:46 2011 (r221399) @@ -545,7 +545,7 @@ again: } static int -cd9660_write(struct open_file *f, void *start, size_t size, size_t *resid) +cd9660_write(struct open_file *f __unused, void *start __unused, size_t size __unused, size_t *resid __unused) { return EROFS; } Modified: projects/largeSMP/lib/libstand/dosfs.c ============================================================================== --- projects/largeSMP/lib/libstand/dosfs.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/lib/libstand/dosfs.c Tue May 3 18:57:46 2011 (r221399) @@ -358,7 +358,7 @@ dos_stat(struct open_file *fd, struct st static int dos_readdir(struct open_file *fd, struct dirent *d) { - DOS_FILE *f = (DOS_FILE *)fd->f_fsdata; + /* DOS_FILE *f = (DOS_FILE *)fd->f_fsdata; */ u_char fn[261]; DOS_DIR dd; size_t res; @@ -414,7 +414,7 @@ dos_readdir(struct open_file *fd, struct } } - d->d_fileno = dd.de.clus[1] << 8 + dd.de.clus[0]; + d->d_fileno = (dd.de.clus[1] << 8) + dd.de.clus[0]; d->d_reclen = sizeof(*d); d->d_type = (dd.de.attr & FA_DIR) ? DT_DIR : DT_REG; memcpy(d->d_name, fn, sizeof(d->d_name)); Modified: projects/largeSMP/lib/libstand/environment.c ============================================================================== --- projects/largeSMP/lib/libstand/environment.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/lib/libstand/environment.c Tue May 3 18:57:46 2011 (r221399) @@ -207,13 +207,14 @@ env_discard(struct env_var *ev) } int -env_noset(struct env_var *ev, int flags, const void *value) +env_noset(struct env_var *ev __unused, int flags __unused, + const void *value __unused) { return(EPERM); } int -env_nounset(struct env_var *ev) +env_nounset(struct env_var *ev __unused) { return(EPERM); } Modified: projects/largeSMP/lib/libstand/getopt.c ============================================================================== --- projects/largeSMP/lib/libstand/getopt.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/lib/libstand/getopt.c Tue May 3 18:57:46 2011 (r221399) @@ -52,10 +52,7 @@ char *optarg; /* argument associated wi * Parse argc/argv argument vector. */ int -getopt(nargc, nargv, ostr) - int nargc; - char * const *nargv; - const char *ostr; +getopt(int nargc, char * const *nargv, const char *ostr) { static char *place = EMSG; /* option letter processing */ char *oli; /* option letter list index */ Modified: projects/largeSMP/lib/libstand/net.c ============================================================================== --- projects/largeSMP/lib/libstand/net.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/lib/libstand/net.c Tue May 3 18:57:46 2011 (r221399) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include Modified: projects/largeSMP/lib/libstand/tftp.c ============================================================================== --- projects/largeSMP/lib/libstand/tftp.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/lib/libstand/tftp.c Tue May 3 18:57:46 2011 (r221399) @@ -110,11 +110,7 @@ static const int tftperrors[8] = { }; static ssize_t -recvtftp(d, pkt, len, tleft) - struct iodesc *d; - void *pkt; - ssize_t len; - time_t tleft; +recvtftp(struct iodesc *d, void *pkt, ssize_t len, time_t tleft) { struct tftphdr *t; @@ -152,14 +148,14 @@ recvtftp(d, pkt, len, tleft) printf("illegal tftp error %d\n", ntohs(t->th_code)); errno = EIO; } else { -#ifdef DEBUG +#ifdef TFTP_DEBUG printf("tftp-error %d\n", ntohs(t->th_code)); #endif errno = tftperrors[ntohs(t->th_code)]; } return (-1); default: -#ifdef DEBUG +#ifdef TFTP_DEBUG printf("tftp type %d not handled\n", ntohs(t->th_opcode)); #endif return (-1); @@ -168,8 +164,7 @@ recvtftp(d, pkt, len, tleft) /* send request, expect first block (or error) */ static int -tftp_makereq(h) - struct tftp_handle *h; +tftp_makereq(struct tftp_handle *h) { struct { u_char header[HEADER_SIZE]; @@ -212,8 +207,7 @@ tftp_makereq(h) /* ack block, expect next */ static int -tftp_getnextblock(h) - struct tftp_handle *h; +tftp_getnextblock(struct tftp_handle *h) { struct { u_char header[HEADER_SIZE]; @@ -246,9 +240,7 @@ tftp_getnextblock(h) } static int -tftp_open(path, f) - const char *path; - struct open_file *f; +tftp_open(const char *path, struct open_file *f) { struct tftp_handle *tftpfile; struct iodesc *io; @@ -287,11 +279,8 @@ tftp_open(path, f) } static int -tftp_read(f, addr, size, resid) - struct open_file *f; - void *addr; - size_t size; - size_t *resid; /* out */ +tftp_read(struct open_file *f, void *addr, size_t size, + size_t *resid /* out */) { struct tftp_handle *tftpfile; static int tc = 0; @@ -314,7 +303,7 @@ tftp_read(f, addr, size, resid) res = tftp_getnextblock(tftpfile); if (res) { /* no answer */ -#ifdef DEBUG +#ifdef TFTP_DEBUG printf("tftp: read error\n"); #endif return (res); @@ -330,7 +319,7 @@ tftp_read(f, addr, size, resid) inbuffer = tftpfile->validsize - offinblock; if (inbuffer < 0) { -#ifdef DEBUG +#ifdef TFTP_DEBUG printf("tftp: invalid offset %d\n", tftpfile->off); #endif @@ -347,7 +336,7 @@ tftp_read(f, addr, size, resid) if ((tftpfile->islastblock) && (count == inbuffer)) break; /* EOF */ } else { -#ifdef DEBUG +#ifdef TFTP_DEBUG printf("tftp: block %d not found\n", needblock); #endif return (EINVAL); @@ -361,8 +350,7 @@ tftp_read(f, addr, size, resid) } static int -tftp_close(f) - struct open_file *f; +tftp_close(struct open_file *f) { struct tftp_handle *tftpfile; tftpfile = (struct tftp_handle *) f->f_fsdata; @@ -377,19 +365,14 @@ tftp_close(f) } static int -tftp_write(f, start, size, resid) - struct open_file *f; - void *start; - size_t size; - size_t *resid; /* out */ +tftp_write(struct open_file *f __unused, void *start __unused, size_t size __unused, + size_t *resid /* out */ __unused) { return (EROFS); } static int -tftp_stat(f, sb) - struct open_file *f; - struct stat *sb; +tftp_stat(struct open_file *f, struct stat *sb) { struct tftp_handle *tftpfile; tftpfile = (struct tftp_handle *) f->f_fsdata; @@ -403,10 +386,7 @@ tftp_stat(f, sb) } static off_t -tftp_seek(f, offset, where) - struct open_file *f; - off_t offset; - int where; +tftp_seek(struct open_file *f, off_t offset, int where) { struct tftp_handle *tftpfile; tftpfile = (struct tftp_handle *) f->f_fsdata; Modified: projects/largeSMP/lib/libstand/udp.c ============================================================================== --- projects/largeSMP/lib/libstand/udp.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/lib/libstand/udp.c Tue May 3 18:57:46 2011 (r221399) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include Modified: projects/largeSMP/sbin/geom/class/part/geom_part.c ============================================================================== --- projects/largeSMP/sbin/geom/class/part/geom_part.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/sbin/geom/class/part/geom_part.c Tue May 3 18:57:46 2011 (r221399) @@ -93,6 +93,7 @@ static void gpart_restore(struct gctl_re struct g_command PUBSYM(class_commands)[] = { { "add", 0, gpart_issue, { + { 'a', "alignment", GPART_AUTOFILL, G_TYPE_STRING }, { 'b', "start", GPART_AUTOFILL, G_TYPE_STRING }, { 's', "size", GPART_AUTOFILL, G_TYPE_STRING }, { 't', "type", NULL, G_TYPE_STRING }, @@ -100,7 +101,8 @@ struct g_command PUBSYM(class_commands)[ { 'l', "label", G_VAL_OPTIONAL, G_TYPE_STRING }, { 'f', "flags", GPART_FLAGS, G_TYPE_STRING }, G_OPT_SENTINEL }, - "[-b start] [-s size] -t type [-i index] [-l label] [-f flags] geom" + "[-a alignment] [-b start] [-s size] -t type [-i index] " + "[-l label] [-f flags] geom" }, { "backup", 0, gpart_backup, G_NULL_OPTS, "geom" @@ -168,11 +170,12 @@ struct g_command PUBSYM(class_commands)[ "-a attrib -i index [-f flags] geom" }, { "resize", 0, gpart_issue, { + { 'a', "alignment", GPART_AUTOFILL, G_TYPE_STRING }, { 's', "size", GPART_AUTOFILL, G_TYPE_STRING }, { 'i', GPART_PARAM_INDEX, NULL, G_TYPE_NUMBER }, { 'f', "flags", GPART_FLAGS, G_TYPE_STRING }, G_OPT_SENTINEL }, - "[-s size] -i index [-f flags] geom" + "[-a alignment] [-s size] -i index [-f flags] geom" }, { "restore", 0, gpart_restore, { { 'F', "force", NULL, G_TYPE_BOOL }, @@ -298,6 +301,9 @@ fmtattrib(struct gprovider *pp) return (buf); } +#define ALIGNDOWN(d, a) (-(a) & (d)) +#define ALIGNUP(d, a) (-(-(a) & -(d))) + static int gpart_autofill_resize(struct gctl_req *req) { @@ -306,7 +312,7 @@ gpart_autofill_resize(struct gctl_req *r struct ggeom *gp; struct gprovider *pp; off_t last, size, start, new_size; - off_t lba, new_lba; + off_t lba, new_lba, alignment; const char *s; int error, idx; @@ -333,6 +339,19 @@ gpart_autofill_resize(struct gctl_req *r if (pp == NULL) errx(EXIT_FAILURE, "Provider for geom %s not found.", s); + s = gctl_get_ascii(req, "alignment"); + alignment = 1; + if (*s != '*') { + error = g_parse_lba(s, pp->lg_sectorsize, &alignment); + if (error) + errc(EXIT_FAILURE, error, "Invalid alignment param"); + if (alignment == 0) + errx(EXIT_FAILURE, "Invalid alignment param"); + } + error = gctl_delete_param(req, "alignment"); + if (error) + errc(EXIT_FAILURE, error, "internal error"); + s = gctl_get_ascii(req, "size"); if (*s == '*') new_size = 0; @@ -341,10 +360,14 @@ gpart_autofill_resize(struct gctl_req *r if (error) errc(EXIT_FAILURE, error, "Invalid size param"); /* no autofill necessary. */ - goto done; + if (alignment == 1) + goto done; + if (new_size > alignment) + new_size = ALIGNDOWN(new_size, alignment); } last = (off_t)strtoimax(find_geomcfg(gp, "last"), NULL, 0); + last = ALIGNDOWN(last, alignment); LIST_FOREACH(pp, &gp->lg_provider, lg_provider) { s = find_provcfg(pp, "index"); if (s == NULL) @@ -376,7 +399,7 @@ gpart_autofill_resize(struct gctl_req *r size = lba - start; pp = find_provider(gp, lba); if (pp == NULL) - new_size = last - start + 1; + new_size = ALIGNDOWN(last - start + 1, alignment); else { s = find_provcfg(pp, "start"); if (s == NULL) { @@ -389,6 +412,7 @@ gpart_autofill_resize(struct gctl_req *r * Is there any free space between current and * next providers? */ + new_lba = ALIGNUP(new_lba, alignment); if (new_lba > lba) new_size = new_lba - start; else { @@ -410,12 +434,12 @@ gpart_autofill(struct gctl_req *req) struct gclass *cp; struct ggeom *gp; struct gprovider *pp; - off_t first, last; - off_t size, start; - off_t lba, len; + off_t first, last, a_first; + off_t size, start, a_lba; + off_t lba, len, alignment; uintmax_t grade; const char *s; - int error, has_size, has_start; + int error, has_size, has_start, has_alignment; s = gctl_get_ascii(req, "verb"); if (strcmp(s, "resize") == 0) @@ -442,6 +466,20 @@ gpart_autofill(struct gctl_req *req) if (pp == NULL) errx(EXIT_FAILURE, "Provider for geom %s not found.", s); + s = gctl_get_ascii(req, "alignment"); + has_alignment = (*s == '*') ? 0 : 1; + alignment = 1; + if (has_alignment) { + error = g_parse_lba(s, pp->lg_sectorsize, &alignment); + if (error) + errc(EXIT_FAILURE, error, "Invalid alignment param"); + if (alignment == 0) + errx(EXIT_FAILURE, "Invalid alignment param"); + } + error = gctl_delete_param(req, "alignment"); + if (error) + errc(EXIT_FAILURE, error, "internal error"); + s = gctl_get_ascii(req, "size"); has_size = (*s == '*') ? 0 : 1; size = 0; @@ -449,6 +487,8 @@ gpart_autofill(struct gctl_req *req) error = g_parse_lba(s, pp->lg_sectorsize, &size); if (error) errc(EXIT_FAILURE, error, "Invalid size param"); + if (size > alignment) + size = ALIGNDOWN(size, alignment); } s = gctl_get_ascii(req, "start"); @@ -458,15 +498,18 @@ gpart_autofill(struct gctl_req *req) error = g_parse_lba(s, pp->lg_sectorsize, &start); if (error) errc(EXIT_FAILURE, error, "Invalid start param"); + start = ALIGNUP(start, alignment); } /* No autofill necessary. */ - if (has_size && has_start) + if (has_size && has_start && !has_alignment) goto done; first = (off_t)strtoimax(find_geomcfg(gp, "first"), NULL, 0); last = (off_t)strtoimax(find_geomcfg(gp, "last"), NULL, 0); grade = ~0ULL; + a_first = ALIGNUP(first, alignment); + last = ALIGNDOWN(last, alignment); while ((pp = find_provider(gp, first)) != NULL) { s = find_provcfg(pp, "start"); if (s == NULL) { @@ -475,23 +518,24 @@ gpart_autofill(struct gctl_req *req) } else lba = (off_t)strtoimax(s, NULL, 0); - if (first < lba) { + a_lba = ALIGNDOWN(lba, alignment); + if (first < a_lba && a_first < a_lba) { /* Free space [first, lba> */ - len = lba - first; + len = a_lba - a_first; if (has_size) { if (len >= size && (uintmax_t)(len - size) < grade) { - start = first; + start = a_first; grade = len - size; } } else if (has_start) { - if (start >= first && start < lba) { - size = lba - start; - grade = start - first; + if (start >= a_first && start < a_lba) { + size = a_lba - start; + grade = start - a_first; } } else { if (grade == ~0ULL || len > size) { - start = first; + start = a_first; size = len; grade = 0; } @@ -505,24 +549,25 @@ gpart_autofill(struct gctl_req *req) (off_t)strtoimax(s, NULL, 0) / pp->lg_sectorsize; } else first = (off_t)strtoimax(s, NULL, 0) + 1; + a_first = ALIGNUP(first, alignment); } - if (first <= last) { + if (a_first <= last) { /* Free space [first-last] */ - len = last - first + 1; + len = ALIGNDOWN(last - a_first + 1, alignment); if (has_size) { if (len >= size && (uintmax_t)(len - size) < grade) { - start = first; + start = a_first; grade = len - size; } } else if (has_start) { - if (start >= first && start <= last) { - size = last - start + 1; - grade = start - first; + if (start >= a_first && start <= last) { + size = ALIGNDOWN(last - start + 1, alignment); + grade = start - a_first; } } else { if (grade == ~0ULL || len > size) { - start = first; + start = a_first; size = len; grade = 0; } Modified: projects/largeSMP/sbin/geom/class/part/gpart.8 ============================================================================== --- projects/largeSMP/sbin/geom/class/part/gpart.8 Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/sbin/geom/class/part/gpart.8 Tue May 3 18:57:46 2011 (r221399) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 12, 2011 +.Dd May 03, 2011 .Dt GPART 8 .Os .Sh NAME @@ -91,6 +91,7 @@ utility: .Nm .Cm add .Fl t Ar type +.Op Fl a Ar alignment .Op Fl b Ar start .Op Fl s Ar size .Op Fl i Ar index @@ -148,6 +149,7 @@ utility: .Nm .Cm resize .Fl i Ar index +.Op Fl a Ar alignment .Op Fl s Ar size .Op Fl f Ar flags .Ar geom @@ -209,7 +211,17 @@ Partition types are discussed below in t .Sx "PARTITION TYPES" . .Pp Additional options include: -.Bl -tag -width 10n +.Bl -tag -width 12n +.It Fl a Ar alignment +If specified, then +.Nm +utility tries to align +.Ar start +offset and partition +.Ar size +to be multiple of +.Ar alignment +value. .It Fl i Ar index The index in the partition table at which the new partition is to be placed. @@ -416,7 +428,15 @@ to maximum available from given geom .Ar geom . .Pp Additional options include: -.Bl -tag -width 10n +.Bl -tag -width 12n +.It Fl a Ar alignment +If specified, then +.Nm +utility tries to align partition +.Ar size +to be multiple of +.Ar alignment +value. .It Fl f Ar flags Additional operational flags. See the section entitled @@ -834,6 +854,13 @@ partition that would contain UFS where t /sbin/gpart add -s 512M -t freebsd-ufs da0 .Ed .Pp +Create a 15GB-sized +.Cm freebsd-ufs +partition that would contain UFS and aligned on 4KB boundaries: +.Bd -literal -offset indent +/sbin/gpart add -s 15G -t freebsd-ufs -a 4k da0 +.Ed +.Pp After having created all required partitions, embed bootstrap code into them. .Bd -literal -offset indent /sbin/gpart bootcode -p /boot/boot1 da0 Modified: projects/largeSMP/share/man/man4/sem.4 ============================================================================== --- projects/largeSMP/share/man/man4/sem.4 Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/share/man/man4/sem.4 Tue May 3 18:57:46 2011 (r221399) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 11, 2006 +.Dd May 3, 2011 .Dt SEM 4 .Os .Sh NAME @@ -73,9 +73,5 @@ dynamic kernel module. .Sh HISTORY The .Nm -facility appeared as a kernel option in -.Fx 3.0 . -The -.Nm -kernel module appeared in +facility appeared in .Fx 5.0 . Modified: projects/largeSMP/sys/amd64/conf/DEFAULTS ============================================================================== --- projects/largeSMP/sys/amd64/conf/DEFAULTS Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/sys/amd64/conf/DEFAULTS Tue May 3 18:57:46 2011 (r221399) @@ -20,3 +20,5 @@ options GEOM_PART_BSD options GEOM_PART_EBR options GEOM_PART_EBR_COMPAT options GEOM_PART_MBR + +options NEW_PCIB Modified: projects/largeSMP/sys/amd64/pci/pci_bus.c ============================================================================== --- projects/largeSMP/sys/amd64/pci/pci_bus.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/sys/amd64/pci/pci_bus.c Tue May 3 18:57:46 2011 (r221399) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: projects/largeSMP/sys/boot/ia64/common/exec.c ============================================================================== --- projects/largeSMP/sys/boot/ia64/common/exec.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/sys/boot/ia64/common/exec.c Tue May 3 18:57:46 2011 (r221399) @@ -76,7 +76,7 @@ sz2shft(vm_offset_t ofs, vm_size_t sz) shft = 12; /* Start with 4K */ s = 1 << shft; - while (s < sz) { + while (s <= sz) { shft++; s <<= 1; } Modified: projects/largeSMP/sys/cam/cam_xpt.c ============================================================================== --- projects/largeSMP/sys/cam/cam_xpt.c Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/sys/cam/cam_xpt.c Tue May 3 18:57:46 2011 (r221399) @@ -3600,9 +3600,12 @@ xpt_path_legacy_ata_id(struct cam_path * } xpt_unlock_buses(); } - if (path->target != NULL) - return (bus_id * 2 + path->target->target_id); - else + if (path->target != NULL) { + if (path->target->target_id < 2) + return (bus_id * 2 + path->target->target_id); + else + return (-1); + } else return (bus_id * 2); } Modified: projects/largeSMP/sys/conf/makeLINT.mk ============================================================================== --- projects/largeSMP/sys/conf/makeLINT.mk Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/sys/conf/makeLINT.mk Tue May 3 18:57:46 2011 (r221399) @@ -16,6 +16,34 @@ LINT: ${NOTES} ../../conf/makeLINT.sed echo "include ${.TARGET}" > ${.TARGET}-VIMAGE echo "ident ${.TARGET}-VIMAGE" >> ${.TARGET}-VIMAGE echo "options VIMAGE" >> ${.TARGET}-VIMAGE + echo "include ${.TARGET}" > ${.TARGET}-NOINET + echo "ident ${.TARGET}-NOINET" >> ${.TARGET}-NOINET + echo 'makeoptions MKMODULESENV+="WITHOUT_INET_SUPPORT="' >> ${.TARGET}-NOINET + echo "nooptions INET" >> ${.TARGET}-NOINET + echo "nodevice gre" >> ${.TARGET}-NOINET + echo "include ${.TARGET}" > ${.TARGET}-NOINET6 + echo "ident ${.TARGET}-NOINET6" >> ${.TARGET}-NOINET6 + echo "nooptions INET6" >> ${.TARGET}-NOINET6 + echo "include ${.TARGET}" > ${.TARGET}-NOIP + echo "ident ${.TARGET}-NOIP" >> ${.TARGET}-NOIP + echo 'makeoptions MKMODULESENV+="WITHOUT_INET_SUPPORT="' >> ${.TARGET}-NOIP + echo 'makeoptions MKMODULESENV+="WITHOUT_INET6_SUPPORT="' >> ${.TARGET}-NOIP + echo "nooptions INET" >> ${.TARGET}-NOIP + echo "nooptions INET6" >> ${.TARGET}-NOIP + echo "nodevice age" >> ${.TARGET}-NOIP + echo "nodevice alc" >> ${.TARGET}-NOIP + echo "nodevice ale" >> ${.TARGET}-NOIP + echo "nodevice bxe" >> ${.TARGET}-NOIP + echo "nodevice em" >> ${.TARGET}-NOIP + echo "nodevice fxp" >> ${.TARGET}-NOIP + echo "nodevice igb" >> ${.TARGET}-NOIP + echo "nodevice jme" >> ${.TARGET}-NOIP + echo "nodevice msk" >> ${.TARGET}-NOIP + echo "nodevice mxge" >> ${.TARGET}-NOIP + echo "nodevice sge" >> ${.TARGET}-NOIP + echo "nodevice sk" >> ${.TARGET}-NOIP + echo "nodevice txp" >> ${.TARGET}-NOIP + echo "nodevice vxge" >> ${.TARGET}-NOIP .endif .if ${TARGET} == "powerpc" || ${TARGET} == "mips" echo "machine ${TARGET} ${TARGET_ARCH}" >> ${.TARGET} Modified: projects/largeSMP/sys/conf/options ============================================================================== --- projects/largeSMP/sys/conf/options Tue May 3 18:55:16 2011 (r221398) +++ projects/largeSMP/sys/conf/options Tue May 3 18:57:46 2011 (r221399) @@ -136,6 +136,7 @@ MFI_DEBUG opt_mfi.h MFI_DECODE_LOG opt_mfi.h MPROF_BUFFERS opt_mprof.h MPROF_HASH_SIZE opt_mprof.h +NEW_PCIB opt_global.h *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue May 3 20:47:16 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A3BD0106566C; Tue, 3 May 2011 20:47:16 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 933078FC12; Tue, 3 May 2011 20:47:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p43KlGIS012444; Tue, 3 May 2011 20:47:16 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p43KlGAW012427; Tue, 3 May 2011 20:47:16 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201105032047.p43KlGAW012427@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Tue, 3 May 2011 20:47:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221412 - in projects/pf/pf45: contrib/pf/pfctl sys/contrib/pf/net sys/sys X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 20:47:16 -0000 Author: bz Date: Tue May 3 20:47:16 2011 New Revision: 221412 URL: http://svn.freebsd.org/changeset/base/221412 Log: Another pass to cleanup most whitespace. Modified: projects/pf/pf45/contrib/pf/pfctl/parse.y projects/pf/pf45/contrib/pf/pfctl/pfctl.c projects/pf/pf45/contrib/pf/pfctl/pfctl.h projects/pf/pf45/contrib/pf/pfctl/pfctl_altq.c projects/pf/pf45/contrib/pf/pfctl/pfctl_parser.h projects/pf/pf45/contrib/pf/pfctl/pfctl_qstats.c projects/pf/pf45/contrib/pf/pfctl/pfctl_table.c projects/pf/pf45/sys/contrib/pf/net/if_pflog.c projects/pf/pf45/sys/contrib/pf/net/if_pflog.h projects/pf/pf45/sys/contrib/pf/net/if_pflow.h projects/pf/pf45/sys/contrib/pf/net/if_pfsync.c projects/pf/pf45/sys/contrib/pf/net/if_pfsync.h projects/pf/pf45/sys/contrib/pf/net/pf.c projects/pf/pf45/sys/contrib/pf/net/pf_if.c projects/pf/pf45/sys/contrib/pf/net/pf_ioctl.c projects/pf/pf45/sys/contrib/pf/net/pf_lb.c projects/pf/pf45/sys/contrib/pf/net/pf_norm.c projects/pf/pf45/sys/contrib/pf/net/pf_osfp.c projects/pf/pf45/sys/contrib/pf/net/pf_ruleset.c projects/pf/pf45/sys/contrib/pf/net/pf_table.c projects/pf/pf45/sys/contrib/pf/net/pfvar.h projects/pf/pf45/sys/sys/mbuf.h Modified: projects/pf/pf45/contrib/pf/pfctl/parse.y ============================================================================== --- projects/pf/pf45/contrib/pf/pfctl/parse.y Tue May 3 20:34:02 2011 (r221411) +++ projects/pf/pf45/contrib/pf/pfctl/parse.y Tue May 3 20:47:16 2011 (r221412) @@ -248,21 +248,21 @@ struct antispoof_opts { } antispoof_opts; struct scrub_opts { - int marker; + int marker; #define SOM_MINTTL 0x01 #define SOM_MAXMSS 0x02 #define SOM_FRAGCACHE 0x04 #define SOM_SETTOS 0x08 - int nodf; - int minttl; - int maxmss; - int settos; - int fragcache; - int randomid; - int reassemble_tcp; - char *match_tag; - u_int8_t match_tag_not; - u_int rtableid; + int nodf; + int minttl; + int maxmss; + int settos; + int fragcache; + int randomid; + int reassemble_tcp; + char *match_tag; + u_int8_t match_tag_not; + u_int rtableid; } scrub_opts; struct queue_opts { @@ -2371,9 +2371,9 @@ filter_opt : USER uids { #ifdef __FreeBSD__ filter_opts.divert.port = $2.a; if (!filter_opts.divert.port) { - yyerror("invalid divert port: %u", ntohs($2.a)); - YYERROR; - } + yyerror("invalid divert port: %u", ntohs($2.a)); + YYERROR; + } #endif } | DIVERTTO STRING PORT portplain { Modified: projects/pf/pf45/contrib/pf/pfctl/pfctl.c ============================================================================== --- projects/pf/pf45/contrib/pf/pfctl/pfctl.c Tue May 3 20:34:02 2011 (r221411) +++ projects/pf/pf45/contrib/pf/pfctl/pfctl.c Tue May 3 20:47:16 2011 (r221412) @@ -251,10 +251,10 @@ pfctl_enable(int dev, int opts) if (ioctl(dev, DIOCSTART)) { if (errno == EEXIST) errx(1, "pf already enabled"); - #ifdef __FreeBSD__ - else if (errno == ESRCH) - errx(1, "pfil registeration failed"); - #endif +#ifdef __FreeBSD__ + else if (errno == ESRCH) + errx(1, "pfil registeration failed"); +#endif else err(1, "DIOCSTART"); } @@ -1208,7 +1208,7 @@ pfctl_add_rule(struct pfctl *pf, struct r->anchor->ruleset.anchor = r->anchor; if (strlcpy(r->anchor->path, anchor_call, sizeof(rule->anchor->path)) >= sizeof(rule->anchor->path)) - errx(1, "pfctl_add_rule: strlcpy"); + errx(1, "pfctl_add_rule: strlcpy"); if ((p = strrchr(anchor_call, '/')) != NULL) { if (!strlen(p)) err(1, "pfctl_add_rule: bad anchor name %s", @@ -1217,7 +1217,7 @@ pfctl_add_rule(struct pfctl *pf, struct p = (char *)anchor_call; if (strlcpy(r->anchor->name, p, sizeof(rule->anchor->name)) >= sizeof(rule->anchor->name)) - errx(1, "pfctl_add_rule: strlcpy"); + errx(1, "pfctl_add_rule: strlcpy"); } if ((rule = calloc(1, sizeof(*rule))) == NULL) @@ -1242,7 +1242,7 @@ pfctl_ruleset_trans(struct pfctl *pf, ch return (1); } if (a == pf->astack[0] && ((altqsupport && - (pf->loadopt & PFCTL_FLAG_ALTQ) != 0))) { + (pf->loadopt & PFCTL_FLAG_ALTQ) != 0))) { if (pfctl_add_trans(pf->trans, PF_RULESET_ALTQ, path)) return (2); } @@ -2197,9 +2197,9 @@ main(int argc, char *argv[]) /* turn off options */ opts &= ~ (PF_OPT_DISABLE | PF_OPT_ENABLE); clearopt = showopt = debugopt = NULL; - #if defined(__FreeBSD__) && !defined(ENABLE_ALTQ) - altqsupport = 0; - #else +#if defined(__FreeBSD__) && !defined(ENABLE_ALTQ) + altqsupport = 0; +#else altqsupport = 1; #endif } Modified: projects/pf/pf45/contrib/pf/pfctl/pfctl.h ============================================================================== --- projects/pf/pf45/contrib/pf/pfctl/pfctl.h Tue May 3 20:34:02 2011 (r221411) +++ projects/pf/pf45/contrib/pf/pfctl/pfctl.h Tue May 3 20:47:16 2011 (r221412) @@ -89,7 +89,7 @@ FILE *pfctl_fopen(const char *, const ch #ifdef __FreeBSD__ extern int altqsupport; extern int dummynetsupport; - #define HTONL(x) (x) = htonl((__uint32_t)(x)) +#define HTONL(x) (x) = htonl((__uint32_t)(x)) #endif #ifndef DEFAULT_PRIORITY Modified: projects/pf/pf45/contrib/pf/pfctl/pfctl_altq.c ============================================================================== --- projects/pf/pf45/contrib/pf/pfctl/pfctl_altq.c Tue May 3 20:34:02 2011 (r221411) +++ projects/pf/pf45/contrib/pf/pfctl/pfctl_altq.c Tue May 3 20:47:16 2011 (r221412) @@ -194,8 +194,8 @@ print_queue(const struct pf_altq *a, uns unsigned int i; #ifdef __FreeBSD__ - if (a->local_flags & PFALTQ_FLAG_IF_REMOVED) - printf("INACTIVE "); + if (a->local_flags & PFALTQ_FLAG_IF_REMOVED) + printf("INACTIVE "); #endif printf("queue "); for (i = 0; i < level; ++i) Modified: projects/pf/pf45/contrib/pf/pfctl/pfctl_parser.h ============================================================================== --- projects/pf/pf45/contrib/pf/pfctl/pfctl_parser.h Tue May 3 20:34:02 2011 (r221411) +++ projects/pf/pf45/contrib/pf/pfctl/pfctl_parser.h Tue May 3 20:47:16 2011 (r221412) @@ -164,23 +164,23 @@ struct node_queue_opt { * Absolutely this is not correct location to define this. * Should we use an another sperate header file? */ -#define SIMPLEQ_HEAD STAILQ_HEAD -#define SIMPLEQ_HEAD_INITIALIZER STAILQ_HEAD_INITIALIZER -#define SIMPLEQ_ENTRY STAILQ_ENTRY -#define SIMPLEQ_FIRST STAILQ_FIRST -#define SIMPLEQ_END(head) NULL -#define SIMPLEQ_EMPTY STAILQ_EMPTY -#define SIMPLEQ_NEXT STAILQ_NEXT -/*#define SIMPLEQ_FOREACH STAILQ_FOREACH*/ -#define SIMPLEQ_FOREACH(var, head, field) \ - for((var) = SIMPLEQ_FIRST(head); \ - (var) != SIMPLEQ_END(head); \ - (var) = SIMPLEQ_NEXT(var, field)) -#define SIMPLEQ_INIT STAILQ_INIT -#define SIMPLEQ_INSERT_HEAD STAILQ_INSERT_HEAD -#define SIMPLEQ_INSERT_TAIL STAILQ_INSERT_TAIL -#define SIMPLEQ_INSERT_AFTER STAILQ_INSERT_AFTER -#define SIMPLEQ_REMOVE_HEAD STAILQ_REMOVE_HEAD +#define SIMPLEQ_HEAD STAILQ_HEAD +#define SIMPLEQ_HEAD_INITIALIZER STAILQ_HEAD_INITIALIZER +#define SIMPLEQ_ENTRY STAILQ_ENTRY +#define SIMPLEQ_FIRST STAILQ_FIRST +#define SIMPLEQ_END(head) NULL +#define SIMPLEQ_EMPTY STAILQ_EMPTY +#define SIMPLEQ_NEXT STAILQ_NEXT +/*#define SIMPLEQ_FOREACH STAILQ_FOREACH*/ +#define SIMPLEQ_FOREACH(var, head, field) \ + for((var) = SIMPLEQ_FIRST(head); \ + (var) != SIMPLEQ_END(head); \ + (var) = SIMPLEQ_NEXT(var, field)) +#define SIMPLEQ_INIT STAILQ_INIT +#define SIMPLEQ_INSERT_HEAD STAILQ_INSERT_HEAD +#define SIMPLEQ_INSERT_TAIL STAILQ_INSERT_TAIL +#define SIMPLEQ_INSERT_AFTER STAILQ_INSERT_AFTER +#define SIMPLEQ_REMOVE_HEAD STAILQ_REMOVE_HEAD #endif SIMPLEQ_HEAD(node_tinithead, node_tinit); struct node_tinit { /* table initializer */ Modified: projects/pf/pf45/contrib/pf/pfctl/pfctl_qstats.c ============================================================================== --- projects/pf/pf45/contrib/pf/pfctl/pfctl_qstats.c Tue May 3 20:34:02 2011 (r221411) +++ projects/pf/pf45/contrib/pf/pfctl/pfctl_qstats.c Tue May 3 20:47:16 2011 (r221412) @@ -73,7 +73,7 @@ void pfctl_insert_altq_node(struct pf struct pf_altq_node *pfctl_find_altq_node(struct pf_altq_node *, const char *, const char *); void pfctl_print_altq_node(int, const struct pf_altq_node *, - unsigned, int); + unsigned, int); void print_cbqstats(struct queue_stats); void print_priqstats(struct queue_stats); void print_hfscstats(struct queue_stats); @@ -185,17 +185,17 @@ pfctl_update_qstats(int dev, struct pf_a } } #ifdef __FreeBSD__ - else if (pa.altq.local_flags & PFALTQ_FLAG_IF_REMOVED) { - memset(&qstats.data, 0, sizeof(qstats.data)); - if ((node = pfctl_find_altq_node(*root, pa.altq.qname, - pa.altq.ifname)) != NULL) { - memcpy(&node->qstats.data, &qstats.data, - sizeof(qstats.data)); - update_avg(node); - } else { - pfctl_insert_altq_node(root, pa.altq, qstats); - } - } + else if (pa.altq.local_flags & PFALTQ_FLAG_IF_REMOVED) { + memset(&qstats.data, 0, sizeof(qstats.data)); + if ((node = pfctl_find_altq_node(*root, pa.altq.qname, + pa.altq.ifname)) != NULL) { + memcpy(&node->qstats.data, &qstats.data, + sizeof(qstats.data)); + update_avg(node); + } else { + pfctl_insert_altq_node(root, pa.altq, qstats); + } + } #endif } return (mnr); @@ -304,8 +304,8 @@ pfctl_print_altq_nodestat(int dev, const return; #ifdef __FreeBSD__ - if (a->altq.local_flags & PFALTQ_FLAG_IF_REMOVED) - return; + if (a->altq.local_flags & PFALTQ_FLAG_IF_REMOVED) + return; #endif switch (a->altq.scheduler) { case ALTQT_CBQ: Modified: projects/pf/pf45/contrib/pf/pfctl/pfctl_table.c ============================================================================== --- projects/pf/pf45/contrib/pf/pfctl/pfctl_table.c Tue May 3 20:34:02 2011 (r221411) +++ projects/pf/pf45/contrib/pf/pfctl/pfctl_table.c Tue May 3 20:47:16 2011 (r221412) @@ -278,7 +278,7 @@ pfctl_table(int argc, char *argv[], char PFRB_FOREACH(p, &b) { ((struct pfr_astats *)p)->pfras_a.pfra_fback = 0; if (time(NULL) - ((struct pfr_astats *)p)->pfras_tzero > - lifetime) + lifetime) if (pfr_buf_add(&b2, &((struct pfr_astats *)p)->pfras_a)) err(1, "duplicate buffer"); Modified: projects/pf/pf45/sys/contrib/pf/net/if_pflog.c ============================================================================== --- projects/pf/pf45/sys/contrib/pf/net/if_pflog.c Tue May 3 20:34:02 2011 (r221411) +++ projects/pf/pf45/sys/contrib/pf/net/if_pflog.c Tue May 3 20:47:16 2011 (r221412) @@ -2,7 +2,7 @@ /* * The authors of this code are John Ioannidis (ji@tla.org), * Angelos D. Keromytis (kermit@csd.uch.gr) and - * Niels Provos (provos@physnet.uni hamburg.de). + * Niels Provos (provos@physnet.uni-hamburg.de). * * This code was written by John Ioannidis for BSD/OS in Athens, Greece, * in November 1995. @@ -116,9 +116,9 @@ __FBSDID("$FreeBSD$"); void pflogattach(int); int pflogoutput(struct ifnet *, struct mbuf *, struct sockaddr *, #ifdef __FreeBSD__ - struct route *); + struct route *); #else - struct rtentry *); + struct rtentry *); #endif int pflogioctl(struct ifnet *, u_long, caddr_t); void pflogstart(struct ifnet *); Modified: projects/pf/pf45/sys/contrib/pf/net/if_pflog.h ============================================================================== --- projects/pf/pf45/sys/contrib/pf/net/if_pflog.h Tue May 3 20:34:02 2011 (r221411) +++ projects/pf/pf45/sys/contrib/pf/net/if_pflog.h Tue May 3 20:47:16 2011 (r221412) @@ -25,13 +25,13 @@ */ #ifndef _NET_IF_PFLOG_H_ -#define _NET_IF_PFLOG_H_ +#define _NET_IF_PFLOG_H_ #define PFLOGIFS_MAX 16 struct pflog_softc { #ifdef __FreeBSD__ - struct ifnet *sc_ifp; /* the interface pointer */ + struct ifnet *sc_ifp;i /* the interface pointer */ #else struct ifnet sc_if; /* the interface */ #endif @@ -39,7 +39,7 @@ struct pflog_softc { LIST_ENTRY(pflog_softc) sc_list; }; -#define PFLOG_RULESET_NAME_SIZE 16 +#define PFLOG_RULESET_NAME_SIZE 16 struct pfloghdr { u_int8_t length; @@ -58,9 +58,9 @@ struct pfloghdr { u_int8_t pad[3]; }; -#define PFLOG_HDRLEN sizeof(struct pfloghdr) +#define PFLOG_HDRLEN sizeof(struct pfloghdr) /* minus pad, also used as a signature */ -#define PFLOG_REAL_HDRLEN offsetof(struct pfloghdr, pad) +#define PFLOG_REAL_HDRLEN offsetof(struct pfloghdr, pad) /* XXX remove later when old format logs are no longer needed */ struct old_pfloghdr { @@ -71,25 +71,25 @@ struct old_pfloghdr { u_short action; u_short dir; }; -#define OLD_PFLOG_HDRLEN sizeof(struct old_pfloghdr) +#define OLD_PFLOG_HDRLEN sizeof(struct old_pfloghdr) #ifdef _KERNEL #ifdef __FreeBSD__ - struct pf_rule; - struct pf_ruleset; - struct pfi_kif; - struct pf_pdesc; - +struct pf_rule; +struct pf_ruleset; +struct pfi_kif; +struct pf_pdesc; + #if 0 typedef int pflog_packet_t(struct pfi_kif *, struct mbuf *, sa_family_t, u_int8_t, u_int8_t, struct pf_rule *, struct pf_rule *, struct pf_ruleset *, struct pf_pdesc *); extern pflog_packet_t *pflog_packet_ptr; #endif -#define PFLOG_PACKET(i,x,a,b,c,d,e,f,g,h) do { \ - if (pflog_packet_ptr != NULL) \ - pflog_packet_ptr(i,a,b,c,d,e,f,g,h); \ - } while (0) +#define PFLOG_PACKET(i,x,a,b,c,d,e,f,g,h) do { \ + if (pflog_packet_ptr != NULL) \ + pflog_packet_ptr(i,a,b,c,d,e,f,g,h); \ +} while (0) #else /* ! __FreeBSD__ */ #if NPFLOG > 0 #define PFLOG_PACKET(i,x,a,b,c,d,e,f,g,h) pflog_packet(i,a,b,c,d,e,f,g,h) Modified: projects/pf/pf45/sys/contrib/pf/net/if_pflow.h ============================================================================== --- projects/pf/pf45/sys/contrib/pf/net/if_pflow.h Tue May 3 20:34:02 2011 (r221411) +++ projects/pf/pf45/sys/contrib/pf/net/if_pflow.h Tue May 3 20:47:16 2011 (r221412) @@ -20,16 +20,16 @@ */ #ifndef _NET_IF_PFLOW_H_ -#define _NET_IF_PFLOW_H_ +#define _NET_IF_PFLOW_H_ -#define PFLOW_ID_LEN sizeof(u_int64_t) +#define PFLOW_ID_LEN sizeof(u_int64_t) -#define PFLOW_MAXFLOWS 30 -#define PFLOW_VERSION 5 -#define PFLOW_ENGINE_TYPE 42 -#define PFLOW_ENGINE_ID 42 -#define PFLOW_MAXBYTES 0xffffffff -#define PFLOW_TIMEOUT 30 +#define PFLOW_MAXFLOWS 30 +#define PFLOW_VERSION 5 +#define PFLOW_ENGINE_TYPE 42 +#define PFLOW_ENGINE_ID 42 +#define PFLOW_MAXBYTES 0xffffffff +#define PFLOW_TIMEOUT 30 struct pflow_flow { u_int32_t src_ip; @@ -96,7 +96,7 @@ struct pflow_header { u_int8_t reserved2; } __packed; -#define PFLOW_HDRLEN sizeof(struct pflow_header) +#define PFLOW_HDRLEN sizeof(struct pflow_header) struct pflowstats { u_int64_t pflow_flows; @@ -113,9 +113,9 @@ struct pflowreq { struct in_addr receiver_ip; u_int16_t receiver_port; u_int16_t addrmask; -#define PFLOW_MASK_SRCIP 0x01 -#define PFLOW_MASK_DSTIP 0x02 -#define PFLOW_MASK_DSTPRT 0x04 +#define PFLOW_MASK_SRCIP 0x01 +#define PFLOW_MASK_DSTIP 0x02 +#define PFLOW_MASK_DSTPRT 0x04 }; #ifdef _KERNEL Modified: projects/pf/pf45/sys/contrib/pf/net/if_pfsync.c ============================================================================== --- projects/pf/pf45/sys/contrib/pf/net/if_pfsync.c Tue May 3 20:34:02 2011 (r221411) +++ projects/pf/pf45/sys/contrib/pf/net/if_pfsync.c Tue May 3 20:47:16 2011 (r221412) @@ -3380,9 +3380,9 @@ vnet_pfsync_uninit(const void *unused) } /* Define startup order. */ -#define PFSYNC_SYSINIT_ORDER SI_SUB_PROTO_BEGIN -#define PFSYNC_MODEVENT_ORDER (SI_ORDER_FIRST) /* On boot slot in here. */ -#define PFSYNC_VNET_ORDER (PFSYNC_MODEVENT_ORDER + 2) /* Later still. */ +#define PFSYNC_SYSINIT_ORDER SI_SUB_PROTO_BEGIN +#define PFSYNC_MODEVENT_ORDER (SI_ORDER_FIRST) /* On boot slot in here. */ +#define PFSYNC_VNET_ORDER (PFSYNC_MODEVENT_ORDER + 2) /* Later still. */ /* * Starting up. Modified: projects/pf/pf45/sys/contrib/pf/net/if_pfsync.h ============================================================================== --- projects/pf/pf45/sys/contrib/pf/net/if_pfsync.h Tue May 3 20:34:02 2011 (r221411) +++ projects/pf/pf45/sys/contrib/pf/net/if_pfsync.h Tue May 3 20:47:16 2011 (r221412) @@ -43,27 +43,27 @@ */ #ifndef _NET_IF_PFSYNC_H_ -#define _NET_IF_PFSYNC_H_ +#define _NET_IF_PFSYNC_H_ -#define PFSYNC_VERSION 5 -#define PFSYNC_DFLTTL 255 +#define PFSYNC_VERSION 5 +#define PFSYNC_DFLTTL 255 -#define PFSYNC_ACT_CLR 0 /* clear all states */ -#define PFSYNC_ACT_INS 1 /* insert state */ -#define PFSYNC_ACT_INS_ACK 2 /* ack of insterted state */ -#define PFSYNC_ACT_UPD 3 /* update state */ -#define PFSYNC_ACT_UPD_C 4 /* "compressed" update state */ -#define PFSYNC_ACT_UPD_REQ 5 /* request "uncompressed" state */ -#define PFSYNC_ACT_DEL 6 /* delete state */ -#define PFSYNC_ACT_DEL_C 7 /* "compressed" delete state */ -#define PFSYNC_ACT_INS_F 8 /* insert fragment */ -#define PFSYNC_ACT_DEL_F 9 /* delete fragments */ -#define PFSYNC_ACT_BUS 10 /* bulk update status */ -#define PFSYNC_ACT_TDB 11 /* TDB replay counter update */ -#define PFSYNC_ACT_EOF 12 /* end of frame */ -#define PFSYNC_ACT_MAX 13 +#define PFSYNC_ACT_CLR 0 /* clear all states */ +#define PFSYNC_ACT_INS 1 /* insert state */ +#define PFSYNC_ACT_INS_ACK 2 /* ack of insterted state */ +#define PFSYNC_ACT_UPD 3 /* update state */ +#define PFSYNC_ACT_UPD_C 4 /* "compressed" update state */ +#define PFSYNC_ACT_UPD_REQ 5 /* request "uncompressed" state */ +#define PFSYNC_ACT_DEL 6 /* delete state */ +#define PFSYNC_ACT_DEL_C 7 /* "compressed" delete state */ +#define PFSYNC_ACT_INS_F 8 /* insert fragment */ +#define PFSYNC_ACT_DEL_F 9 /* delete fragments */ +#define PFSYNC_ACT_BUS 10 /* bulk update status */ +#define PFSYNC_ACT_TDB 11 /* TDB replay counter update */ +#define PFSYNC_ACT_EOF 12 /* end of frame */ +#define PFSYNC_ACT_MAX 13 -#define PFSYNC_ACTIONS "CLR ST", \ +#define PFSYNC_ACTIONS "CLR ST", \ "INS ST", \ "INS ST ACK", \ "UPD ST", \ @@ -77,7 +77,7 @@ "TDB UPD", \ "EOF" -#define PFSYNC_HMAC_LEN 20 +#define PFSYNC_HMAC_LEN 20 /* * A pfsync frame is built from a header followed by several sections which @@ -196,8 +196,8 @@ struct pfsync_bus { u_int32_t creatorid; u_int32_t endtime; u_int8_t status; -#define PFSYNC_BUS_START 1 -#define PFSYNC_BUS_END 2 +#define PFSYNC_BUS_START 1 +#define PFSYNC_BUS_END 2 u_int8_t _pad[3]; } __packed; @@ -223,7 +223,7 @@ struct pfsync_eof { u_int8_t hmac[PFSYNC_HMAC_LEN]; } __packed; -#define PFSYNC_HDRLEN sizeof(struct pfsync_header) +#define PFSYNC_HDRLEN sizeof(struct pfsync_header) @@ -269,8 +269,8 @@ struct pfsyncreq { }; #ifdef __FreeBSD__ -#define SIOCSETPFSYNC _IOW('i', 247, struct ifreq) -#define SIOCGETPFSYNC _IOWR('i', 248, struct ifreq) +#define SIOCSETPFSYNC _IOW('i', 247, struct ifreq) +#define SIOCGETPFSYNC _IOWR('i', 248, struct ifreq) #endif #ifdef _KERNEL @@ -278,15 +278,15 @@ struct pfsyncreq { /* * this shows where a pf state is with respect to the syncing. */ -#define PFSYNC_S_INS 0x00 -#define PFSYNC_S_IACK 0x01 -#define PFSYNC_S_UPD 0x02 -#define PFSYNC_S_UPD_C 0x03 -#define PFSYNC_S_DEL 0x04 -#define PFSYNC_S_COUNT 0x05 +#define PFSYNC_S_INS 0x00 +#define PFSYNC_S_IACK 0x01 +#define PFSYNC_S_UPD 0x02 +#define PFSYNC_S_UPD_C 0x03 +#define PFSYNC_S_DEL 0x04 +#define PFSYNC_S_COUNT 0x05 -#define PFSYNC_S_DEFER 0xfe -#define PFSYNC_S_NONE 0xff +#define PFSYNC_S_DEFER 0xfe +#define PFSYNC_S_NONE 0xff #ifdef __FreeBSD__ void pfsync_input(struct mbuf *, __unused int); Modified: projects/pf/pf45/sys/contrib/pf/net/pf.c ============================================================================== --- projects/pf/pf45/sys/contrib/pf/net/pf.c Tue May 3 20:34:02 2011 (r221411) +++ projects/pf/pf45/sys/contrib/pf/net/pf.c Tue May 3 20:47:16 2011 (r221412) @@ -876,7 +876,7 @@ int pf_state_key_attach(struct pf_state_key *sk, struct pf_state *s, int idx) { struct pf_state_item *si; - struct pf_state_key *cur; + struct pf_state_key *cur; struct pf_state *olds = NULL; #ifdef __FreeBSD__ @@ -1419,7 +1419,7 @@ pf_state_expires(const struct pf_state * return (time_second); if (state->timeout == PFTM_UNTIL_PACKET) return (0); -#ifdef __FreeBSD__ +#ifdef __FreeBSD__ KASSERT(state->timeout != PFTM_UNLINKED, ("pf_state_expires: timeout == PFTM_UNLINKED")); KASSERT((state->timeout < PFTM_MAX), @@ -2999,7 +2999,7 @@ pf_socket_lookup(int direction, struct p #ifdef INET case AF_INET: #ifdef __FreeBSD__ - INP_INFO_RLOCK(pi); /* XXX LOR */ + INP_INFO_RLOCK(pi); /* XXX LOR */ inp = in_pcblookup_hash(pi, saddr->v4, sport, daddr->v4, dport, 0, NULL); if (inp == NULL) { @@ -6007,7 +6007,7 @@ pf_route(struct mbuf **m, struct pf_rule * XXX: in_delayed_cksum assumes HBO for ip->ip_len (at least) */ NTOHS(ip->ip_len); - NTOHS(ip->ip_off); /* XXX: needed? */ + NTOHS(ip->ip_off); /* XXX: needed? */ in_delayed_cksum(m0); HTONS(ip->ip_len); HTONS(ip->ip_off); @@ -6380,7 +6380,7 @@ pf_check_proto_cksum(struct mbuf *m, int if (m->m_pkthdr.csum_flags & CSUM_PSEUDO_HDR) { sum = m->m_pkthdr.csum_data; } else { - ip = mtod(m, struct ip *); + ip = mtod(m, struct ip *); sum = in_pseudo(ip->ip_src.s_addr, ip->ip_dst.s_addr, htonl((u_short)len + m->m_pkthdr.csum_data + IPPROTO_UDP)); Modified: projects/pf/pf45/sys/contrib/pf/net/pf_if.c ============================================================================== --- projects/pf/pf45/sys/contrib/pf/net/pf_if.c Tue May 3 20:34:02 2011 (r221411) +++ projects/pf/pf45/sys/contrib/pf/net/pf_if.c Tue May 3 20:47:16 2011 (r221412) @@ -35,7 +35,7 @@ #if defined(__FreeBSD__) #include "opt_inet.h" #include "opt_inet6.h" - + #include __FBSDID("$FreeBSD$"); #endif @@ -118,12 +118,12 @@ int pfi_if_compare(struct pfi_kif *, s int pfi_skip_if(const char *, struct pfi_kif *); int pfi_unmask(void *); #ifdef __FreeBSD__ -void pfi_attach_ifnet_event(void * __unused, struct ifnet *); -void pfi_detach_ifnet_event(void * __unused, struct ifnet *); -void pfi_attach_group_event(void *, struct ifg_group *); -void pfi_change_group_event(void *, char *); -void pfi_detach_group_event(void *, struct ifg_group *); -void pfi_ifaddr_event(void * __unused, struct ifnet *); +void pfi_attach_ifnet_event(void * __unused, struct ifnet *); +void pfi_detach_ifnet_event(void * __unused, struct ifnet *); +void pfi_attach_group_event(void *, struct ifg_group *); +void pfi_change_group_event(void *, char *); +void pfi_detach_group_event(void *, struct ifg_group *); +void pfi_ifaddr_event(void * __unused, struct ifnet *); #endif RB_PROTOTYPE(pfi_ifhead, pfi_kif, pfik_tree, pfi_if_compare); @@ -160,61 +160,61 @@ pfi_initialize(void) if ((pfi_all = pfi_kif_get(IFG_ALL)) == NULL) #endif panic("pfi_kif_get for pfi_all failed"); - #ifdef __FreeBSD__ - struct ifg_group *ifg; - struct ifnet *ifp; - - IFNET_RLOCK(); - TAILQ_FOREACH(ifg, &V_ifg_head, ifg_next) - pfi_attach_ifgroup(ifg); - TAILQ_FOREACH(ifp, &V_ifnet, if_link) - pfi_attach_ifnet(ifp); - IFNET_RUNLOCK(); - - pfi_attach_cookie = EVENTHANDLER_REGISTER(ifnet_arrival_event, - pfi_attach_ifnet_event, NULL, EVENTHANDLER_PRI_ANY); - pfi_detach_cookie = EVENTHANDLER_REGISTER(ifnet_departure_event, - pfi_detach_ifnet_event, NULL, EVENTHANDLER_PRI_ANY); - pfi_attach_group_cookie = EVENTHANDLER_REGISTER(group_attach_event, - pfi_attach_group_event, curvnet, EVENTHANDLER_PRI_ANY); - pfi_change_group_cookie = EVENTHANDLER_REGISTER(group_change_event, - pfi_change_group_event, curvnet, EVENTHANDLER_PRI_ANY); - pfi_detach_group_cookie = EVENTHANDLER_REGISTER(group_detach_event, - pfi_detach_group_event, curvnet, EVENTHANDLER_PRI_ANY); - pfi_ifaddr_event_cookie = EVENTHANDLER_REGISTER(ifaddr_event, - pfi_ifaddr_event, NULL, EVENTHANDLER_PRI_ANY); - #endif - } - - #ifdef __FreeBSD__ - void - pfi_cleanup(void) - { - struct pfi_kif *p; - - PF_UNLOCK(); - EVENTHANDLER_DEREGISTER(ifnet_arrival_event, pfi_attach_cookie); - EVENTHANDLER_DEREGISTER(ifnet_departure_event, pfi_detach_cookie); - EVENTHANDLER_DEREGISTER(group_attach_event, pfi_attach_group_cookie); - EVENTHANDLER_DEREGISTER(group_change_event, pfi_change_group_cookie); - EVENTHANDLER_DEREGISTER(group_detach_event, pfi_detach_group_cookie); - EVENTHANDLER_DEREGISTER(ifaddr_event, pfi_ifaddr_event_cookie); - PF_LOCK(); - - V_pfi_all = NULL; - while ((p = RB_MIN(pfi_ifhead, &V_pfi_ifs))) { - if (p->pfik_rules || p->pfik_states) { - printf("pfi_cleanup: dangling refs for %s\n", - p->pfik_name); - } - - RB_REMOVE(pfi_ifhead, &V_pfi_ifs, p); - free(p, PFI_MTYPE); - } - - free(V_pfi_buffer, PFI_MTYPE); - } - #endif +#ifdef __FreeBSD__ + struct ifg_group *ifg; + struct ifnet *ifp; + + IFNET_RLOCK(); + TAILQ_FOREACH(ifg, &V_ifg_head, ifg_next) + pfi_attach_ifgroup(ifg); + TAILQ_FOREACH(ifp, &V_ifnet, if_link) + pfi_attach_ifnet(ifp); + IFNET_RUNLOCK(); + + pfi_attach_cookie = EVENTHANDLER_REGISTER(ifnet_arrival_event, + pfi_attach_ifnet_event, NULL, EVENTHANDLER_PRI_ANY); + pfi_detach_cookie = EVENTHANDLER_REGISTER(ifnet_departure_event, + pfi_detach_ifnet_event, NULL, EVENTHANDLER_PRI_ANY); + pfi_attach_group_cookie = EVENTHANDLER_REGISTER(group_attach_event, + pfi_attach_group_event, curvnet, EVENTHANDLER_PRI_ANY); + pfi_change_group_cookie = EVENTHANDLER_REGISTER(group_change_event, + pfi_change_group_event, curvnet, EVENTHANDLER_PRI_ANY); + pfi_detach_group_cookie = EVENTHANDLER_REGISTER(group_detach_event, + pfi_detach_group_event, curvnet, EVENTHANDLER_PRI_ANY); + pfi_ifaddr_event_cookie = EVENTHANDLER_REGISTER(ifaddr_event, + pfi_ifaddr_event, NULL, EVENTHANDLER_PRI_ANY); +#endif +} + +#ifdef __FreeBSD__ +void +pfi_cleanup(void) +{ + struct pfi_kif *p; + + PF_UNLOCK(); + EVENTHANDLER_DEREGISTER(ifnet_arrival_event, pfi_attach_cookie); + EVENTHANDLER_DEREGISTER(ifnet_departure_event, pfi_detach_cookie); + EVENTHANDLER_DEREGISTER(group_attach_event, pfi_attach_group_cookie); + EVENTHANDLER_DEREGISTER(group_change_event, pfi_change_group_cookie); + EVENTHANDLER_DEREGISTER(group_detach_event, pfi_detach_group_cookie); + EVENTHANDLER_DEREGISTER(ifaddr_event, pfi_ifaddr_event_cookie); + PF_LOCK(); + + V_pfi_all = NULL; + while ((p = RB_MIN(pfi_ifhead, &V_pfi_ifs))) { + if (p->pfik_rules || p->pfik_states) { + printf("pfi_cleanup: dangling refs for %s\n", + p->pfik_name); + } + + RB_REMOVE(pfi_ifhead, &V_pfi_ifs, p); + free(p, PFI_MTYPE); + } + + free(V_pfi_buffer, PFI_MTYPE); +} +#endif struct pfi_kif * pfi_kif_get(const char *kif_name) @@ -232,24 +232,24 @@ pfi_kif_get(const char *kif_name) return (kif); /* create new one */ - #ifdef __FreeBSD__ - if ((kif = malloc(sizeof(*kif), PFI_MTYPE, M_NOWAIT | M_ZERO)) == NULL) - #else +#ifdef __FreeBSD__ + if ((kif = malloc(sizeof(*kif), PFI_MTYPE, M_NOWAIT | M_ZERO)) == NULL) +#else if ((kif = malloc(sizeof(*kif), PFI_MTYPE, M_DONTWAIT|M_ZERO)) == NULL) #endif return (NULL); strlcpy(kif->pfik_name, kif_name, sizeof(kif->pfik_name)); - #ifdef __FreeBSD__ - /* - * It seems that the value of time_second is in unintialzied state - * when pf sets interface statistics clear time in boot phase if pf - * was statically linked to kernel. Instead of setting the bogus - * time value have pfi_get_ifaces handle this case. In - * pfi_get_ifaces it uses boottime.tv_sec if it sees the time is 0. - */ - kif->pfik_tzero = time_second > 1 ? time_second : 0; - #else +#ifdef __FreeBSD__ + /* + * It seems that the value of time_second is in unintialzied state + * when pf sets interface statistics clear time in boot phase if pf + * was statically linked to kernel. Instead of setting the bogus + * time value have pfi_get_ifaces handle this case. In + * pfi_get_ifaces it uses boottime.tv_sec if it sees the time is 0. + */ + kif->pfik_tzero = time_second > 1 ? time_second : 0; +#else kif->pfik_tzero = time_second; #endif TAILQ_INIT(&kif->pfik_dynaddrs); @@ -668,17 +668,17 @@ pfi_instance_add(struct ifnet *ifp, int if (af != AF_INET && af != AF_INET6) continue; #ifdef __FreeBSD__ - /* - * XXX: For point-to-point interfaces, (ifname:0) and IPv4, - * jump over addresses without a proper route to work - * around a problem with ppp not fully removing the - * address used during IPCP. - */ - if ((ifp->if_flags & IFF_POINTOPOINT) && - !(ia->ifa_flags & IFA_ROUTE) && - (flags & PFI_AFLAG_NOALIAS) && (af == AF_INET)) - continue; - #endif + /* + * XXX: For point-to-point interfaces, (ifname:0) and IPv4, + * jump over addresses without a proper route to work + * around a problem with ppp not fully removing the + * address used during IPCP. + */ + if ((ifp->if_flags & IFF_POINTOPOINT) && + !(ia->ifa_flags & IFA_ROUTE) && + (flags & PFI_AFLAG_NOALIAS) && (af == AF_INET)) + continue; +#endif if ((flags & PFI_AFLAG_BROADCAST) && af == AF_INET6) continue; if ((flags & PFI_AFLAG_BROADCAST) && @@ -745,9 +745,9 @@ pfi_address_add(struct sockaddr *sa, int return; } p = malloc(new_max * sizeof(*V_pfi_buffer), PFI_MTYPE, - #ifdef __FreeBSD__ - M_NOWAIT); - #else +#ifdef __FreeBSD__ + M_NOWAIT); +#else M_DONTWAIT); #endif if (p == NULL) { @@ -915,9 +915,9 @@ pfi_get_ifaces(const char *name, struct { struct pfi_kif *p, *nextp; int s, n = 0; - #ifdef __FreeBSD__ - int error; - #endif +#ifdef __FreeBSD__ + int error; +#endif s = splsoftnet(); #ifdef __FreeBSD__ @@ -933,10 +933,10 @@ pfi_get_ifaces(const char *name, struct if (!p->pfik_tzero) p->pfik_tzero = time_second; pfi_kif_ref(p, PFI_KIF_REF_RULE); - #ifdef __FreeBSD__ - PF_COPYOUT(p, buf++, sizeof(*buf), error); - if (error) { - #else +#ifdef __FreeBSD__ + PF_COPYOUT(p, buf++, sizeof(*buf), error); + if (error) { +#else if (copyout(p, buf++, sizeof(*buf))) { #endif pfi_kif_unref(p, PFI_KIF_REF_RULE); @@ -1035,71 +1035,77 @@ pfi_unmask(void *addr) return (b); } - #ifdef __FreeBSD__ - void - pfi_attach_ifnet_event(void *arg __unused, struct ifnet *ifp) - { +#ifdef __FreeBSD__ +void +pfi_attach_ifnet_event(void *arg __unused, struct ifnet *ifp) +{ + CURVNET_SET(ifp->if_vnet); - PF_LOCK(); - pfi_attach_ifnet(ifp); - #ifdef ALTQ - pf_altq_ifnet_event(ifp, 0); - #endif - PF_UNLOCK(); + PF_LOCK(); + pfi_attach_ifnet(ifp); +#ifdef ALTQ + pf_altq_ifnet_event(ifp, 0); +#endif + PF_UNLOCK(); CURVNET_RESTORE(); - } - - void - pfi_detach_ifnet_event(void *arg __unused, struct ifnet *ifp) - { +} + +void +pfi_detach_ifnet_event(void *arg __unused, struct ifnet *ifp) +{ + CURVNET_SET(ifp->if_vnet); - PF_LOCK(); - pfi_detach_ifnet(ifp); - #ifdef ALTQ - pf_altq_ifnet_event(ifp, 1); - #endif - PF_UNLOCK(); + PF_LOCK(); + pfi_detach_ifnet(ifp); +#ifdef ALTQ + pf_altq_ifnet_event(ifp, 1); +#endif + PF_UNLOCK(); CURVNET_RESTORE(); - } - - void - pfi_attach_group_event(void *arg , struct ifg_group *ifg) - { +} + +void +pfi_attach_group_event(void *arg , struct ifg_group *ifg) +{ + CURVNET_SET((struct vnet *)arg); - PF_LOCK(); - pfi_attach_ifgroup(ifg); - PF_UNLOCK(); + PF_LOCK(); + pfi_attach_ifgroup(ifg); + PF_UNLOCK(); CURVNET_RESTORE(); - } - - void - pfi_change_group_event(void *arg, char *gname) - { +} + +void +pfi_change_group_event(void *arg, char *gname) +{ + CURVNET_SET((struct vnet *)arg); - PF_LOCK(); - pfi_group_change(gname); - PF_UNLOCK(); + PF_LOCK(); + pfi_group_change(gname); + PF_UNLOCK(); CURVNET_RESTORE(); - } +} + +void +pfi_detach_group_event(void *arg, struct ifg_group *ifg) +{ - void - pfi_detach_group_event(void *arg, struct ifg_group *ifg) - { CURVNET_SET((struct vnet *)arg); - PF_LOCK(); - pfi_detach_ifgroup(ifg); - PF_UNLOCK(); + PF_LOCK(); + pfi_detach_ifgroup(ifg); + PF_UNLOCK(); CURVNET_RESTORE(); - } - - void - pfi_ifaddr_event(void *arg __unused, struct ifnet *ifp) - { +} + +void +pfi_ifaddr_event(void *arg __unused, struct ifnet *ifp) +{ + CURVNET_SET(ifp->if_vnet); - PF_LOCK(); - if (ifp && ifp->if_pf_kif) - pfi_kifaddr_update(ifp->if_pf_kif); - PF_UNLOCK(); + PF_LOCK(); + if (ifp && ifp->if_pf_kif) + pfi_kifaddr_update(ifp->if_pf_kif); + PF_UNLOCK(); CURVNET_RESTORE(); - } - #endif /* __FreeBSD__ */ +} +#endif /* __FreeBSD__ */ Modified: projects/pf/pf45/sys/contrib/pf/net/pf_ioctl.c ============================================================================== --- projects/pf/pf45/sys/contrib/pf/net/pf_ioctl.c Tue May 3 20:34:02 2011 (r221411) +++ projects/pf/pf45/sys/contrib/pf/net/pf_ioctl.c Tue May 3 20:47:16 2011 (r221412) @@ -45,21 +45,21 @@ __FBSDID("$FreeBSD$"); #include "opt_pf.h" #ifdef DEV_BPF -#define NBPFILTER DEV_BPF +#define NBPFILTER DEV_BPF #else -#define NBPFILTER 0 +#define NBPFILTER 0 #endif #ifdef DEV_PFLOG -#define NPFLOG DEV_PFLOG +#define NPFLOG DEV_PFLOG #else -#define NPFLOG 0 +#define NPFLOG 0 #endif #ifdef DEV_PFSYNC -#define NPFSYNC DEV_PFSYNC +#define NPFSYNC DEV_PFSYNC #else -#define NPFSYNC 0 +#define NPFSYNC 0 #endif #else @@ -140,9 +140,9 @@ __FBSDID("$FreeBSD$"); #endif /* __FreeBSD__ */ #ifdef __FreeBSD__ -void init_zone_var(void); -void cleanup_pf_zone(void); -int pfattach(void); +void init_zone_var(void); +void cleanup_pf_zone(void); +int pfattach(void); #else void pfattach(int); void pf_thread_create(void *); @@ -184,7 +184,7 @@ VNET_DEFINE(struct sx, pf_consistency_ #ifdef ALTQ static VNET_DEFINE(int, pf_altq_running); -#define V_pf_altq_running VNET(pf_altq_running) +#define V_pf_altq_running VNET(pf_altq_running) #endif TAILQ_HEAD(pf_tags, pf_tagname); @@ -195,10 +195,10 @@ VNET_DEFINE(struct pf_tags, pf_tags); VNET_DEFINE(struct pf_tags, pf_qids); #else /* !__FreeBSD__ */ -struct pf_rule pf_default_rule; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue May 3 21:20:27 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 095BA106566B; Tue, 3 May 2011 21:20:27 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E91178FC0C; Tue, 3 May 2011 21:20:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p43LKQke013518; Tue, 3 May 2011 21:20:26 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p43LKQI1013498; Tue, 3 May 2011 21:20:26 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201105032120.p43LKQI1013498@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Tue, 3 May 2011 21:20:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221413 - in projects/pf/pf45: . bin/sh bin/stty cddl/compat/opensolaris/misc contrib/bsnmp/snmp_mibII contrib/gcc contrib/less contrib/llvm/include/llvm contrib/llvm/include/llvm-c con... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 21:20:27 -0000 Author: bz Date: Tue May 3 21:20:24 2011 New Revision: 221413 URL: http://svn.freebsd.org/changeset/base/221413 Log: IFC @221412 Then try to cleanup the merge disaster. Love p4. Added: projects/pf/pf45/contrib/gcc/ChangeLog.gcc43 - copied unchanged from r221412, head/contrib/gcc/ChangeLog.gcc43 projects/pf/pf45/contrib/llvm/include/llvm-c/Disassembler.h - copied unchanged from r221412, head/contrib/llvm/include/llvm-c/Disassembler.h projects/pf/pf45/contrib/llvm/include/llvm-c/Object.h - copied unchanged from r221412, head/contrib/llvm/include/llvm-c/Object.h projects/pf/pf45/contrib/llvm/include/llvm/DebugInfoProbe.h - copied unchanged from r221412, head/contrib/llvm/include/llvm/DebugInfoProbe.h projects/pf/pf45/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h - copied unchanged from r221412, head/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h projects/pf/pf45/contrib/llvm/include/llvm/IntrinsicsPTX.td - copied unchanged from r221412, head/contrib/llvm/include/llvm/IntrinsicsPTX.td projects/pf/pf45/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp - copied unchanged from r221412, head/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp - copied unchanged from r221412, head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h - copied unchanged from r221412, head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h projects/pf/pf45/contrib/llvm/lib/CodeGen/InterferenceCache.cpp - copied unchanged from r221412, head/contrib/llvm/lib/CodeGen/InterferenceCache.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/InterferenceCache.h - copied unchanged from r221412, head/contrib/llvm/lib/CodeGen/InterferenceCache.h projects/pf/pf45/contrib/llvm/lib/ExecutionEngine/MCJIT/Intercept.cpp - copied unchanged from r221412, head/contrib/llvm/lib/ExecutionEngine/MCJIT/Intercept.cpp projects/pf/pf45/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.h - copied unchanged from r221412, head/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.h projects/pf/pf45/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ - copied from r221412, head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ projects/pf/pf45/contrib/llvm/lib/MC/ELFObjectWriter.h - copied unchanged from r221412, head/contrib/llvm/lib/MC/ELFObjectWriter.h projects/pf/pf45/contrib/llvm/lib/MC/MCDisassembler/Disassembler.cpp - copied unchanged from r221412, head/contrib/llvm/lib/MC/MCDisassembler/Disassembler.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCDisassembler/Disassembler.h - copied unchanged from r221412, head/contrib/llvm/lib/MC/MCDisassembler/Disassembler.h projects/pf/pf45/contrib/llvm/lib/MC/MCELF.cpp - copied unchanged from r221412, head/contrib/llvm/lib/MC/MCELF.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCELF.h - copied unchanged from r221412, head/contrib/llvm/lib/MC/MCELF.h projects/pf/pf45/contrib/llvm/lib/MC/MCELFStreamer.h - copied unchanged from r221412, head/contrib/llvm/lib/MC/MCELFStreamer.h projects/pf/pf45/contrib/llvm/lib/Object/MachOObjectFile.cpp - copied unchanged from r221412, head/contrib/llvm/lib/Object/MachOObjectFile.cpp projects/pf/pf45/contrib/llvm/lib/Object/Object.cpp - copied unchanged from r221412, head/contrib/llvm/lib/Object/Object.cpp projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeSchedule3.td - copied unchanged from r221412, head/contrib/llvm/lib/Target/MBlaze/MBlazeSchedule3.td projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeSchedule5.td - copied unchanged from r221412, head/contrib/llvm/lib/Target/MBlaze/MBlazeSchedule5.td projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsExpandPseudo.cpp - copied unchanged from r221412, head/contrib/llvm/lib/Target/Mips/MipsExpandPseudo.cpp projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXIntrinsicInstrInfo.td - copied unchanged from r221412, head/contrib/llvm/lib/Target/PTX/PTXIntrinsicInstrInfo.td projects/pf/pf45/contrib/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp - copied unchanged from r221412, head/contrib/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/DebugInfoProbe.cpp - copied unchanged from r221412, head/contrib/llvm/lib/VMCore/DebugInfoProbe.cpp projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/AddressSpaces.h - copied unchanged from r221412, head/contrib/llvm/tools/clang/include/clang/Basic/AddressSpaces.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsPTX.def - copied unchanged from r221412, head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsPTX.def projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/ExceptionSpecificationType.h - copied unchanged from r221412, head/contrib/llvm/tools/clang/include/clang/Basic/ExceptionSpecificationType.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/ExpressionTraits.h - copied unchanged from r221412, head/contrib/llvm/tools/clang/include/clang/Basic/ExpressionTraits.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/OpenCL.h - copied unchanged from r221412, head/contrib/llvm/tools/clang/include/clang/Basic/OpenCL.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/VersionTuple.h - copied unchanged from r221412, head/contrib/llvm/tools/clang/include/clang/Basic/VersionTuple.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/LogDiagnosticPrinter.h - copied unchanged from r221412, head/contrib/llvm/tools/clang/include/clang/Frontend/LogDiagnosticPrinter.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Serialization/ChainedIncludesSource.h - copied unchanged from r221412, head/contrib/llvm/tools/clang/include/clang/Serialization/ChainedIncludesSource.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h - copied unchanged from r221412, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h - copied unchanged from r221412, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Tooling/ - copied from r221412, head/contrib/llvm/tools/clang/include/clang/Tooling/ projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/ExternalASTSource.cpp - copied unchanged from r221412, head/contrib/llvm/tools/clang/lib/AST/ExternalASTSource.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Basic/VersionTuple.cpp - copied unchanged from r221412, head/contrib/llvm/tools/clang/lib/Basic/VersionTuple.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp - copied unchanged from r221412, head/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp - copied unchanged from r221412, head/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp - copied unchanged from r221412, head/contrib/llvm/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Headers/mm3dnow.h - copied unchanged from r221412, head/contrib/llvm/tools/clang/lib/Headers/mm3dnow.h projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/DelayedDiagnostic.cpp - copied unchanged from r221412, head/contrib/llvm/tools/clang/lib/Sema/DelayedDiagnostic.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/Scope.cpp - copied unchanged from r221412, head/contrib/llvm/tools/clang/lib/Sema/Scope.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Serialization/ChainedIncludesSource.cpp - copied unchanged from r221412, head/contrib/llvm/tools/clang/lib/Serialization/ChainedIncludesSource.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IteratorsChecker.cpp - copied unchanged from r221412, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IteratorsChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp - copied unchanged from r221412, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp - copied unchanged from r221412, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Tooling/ - copied from r221412, head/contrib/llvm/tools/clang/lib/Tooling/ projects/pf/pf45/lib/clang/include/clang/Basic/DiagnosticIndexName.inc - copied unchanged from r221412, head/lib/clang/include/clang/Basic/DiagnosticIndexName.inc projects/pf/pf45/lib/clang/libllvminstrumentation/ - copied from r221412, head/lib/clang/libllvminstrumentation/ projects/pf/pf45/lib/msun/ld128/e_rem_pio2l.h - copied unchanged from r221412, head/lib/msun/ld128/e_rem_pio2l.h projects/pf/pf45/lib/msun/ld80/e_rem_pio2l.h - copied unchanged from r221412, head/lib/msun/ld80/e_rem_pio2l.h projects/pf/pf45/share/man/man4/vxge.4 - copied unchanged from r221412, head/share/man/man4/vxge.4 projects/pf/pf45/share/man/man9/bus_adjust_resource.9 - copied unchanged from r221412, head/share/man/man9/bus_adjust_resource.9 projects/pf/pf45/share/man/man9/unr.9 - copied unchanged from r221412, head/share/man/man9/unr.9 projects/pf/pf45/sys/dev/ath/ath_hal/ar9001/ar9130.ini - copied unchanged from r221412, head/sys/dev/ath/ath_hal/ar9001/ar9130.ini projects/pf/pf45/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c - copied unchanged from r221412, head/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c projects/pf/pf45/sys/dev/ath/ath_hal/ar9001/ar9130_eeprom.c - copied unchanged from r221412, head/sys/dev/ath/ath_hal/ar9001/ar9130_eeprom.c projects/pf/pf45/sys/dev/ath/ath_hal/ar9001/ar9130_eeprom.h - copied unchanged from r221412, head/sys/dev/ath/ath_hal/ar9001/ar9130_eeprom.h projects/pf/pf45/sys/dev/ath/ath_hal/ar9001/ar9130_phy.c - copied unchanged from r221412, head/sys/dev/ath/ath_hal/ar9001/ar9130_phy.c projects/pf/pf45/sys/dev/ath/ath_hal/ar9001/ar9130_phy.h - copied unchanged from r221412, head/sys/dev/ath/ath_hal/ar9001/ar9130_phy.h projects/pf/pf45/sys/dev/ath/ath_hal/ar9001/ar9130reg.h - copied unchanged from r221412, head/sys/dev/ath/ath_hal/ar9001/ar9130reg.h projects/pf/pf45/sys/dev/vxge/ - copied from r221412, head/sys/dev/vxge/ projects/pf/pf45/sys/ia64/ia64/mp_locore.S - copied unchanged from r221412, head/sys/ia64/ia64/mp_locore.S projects/pf/pf45/sys/mips/atheros/ar724x_pci.c - copied unchanged from r221412, head/sys/mips/atheros/ar724x_pci.c projects/pf/pf45/sys/modules/vxge/ - copied from r221412, head/sys/modules/vxge/ projects/pf/pf45/sys/nfs/bootp_subr.c - copied unchanged from r221412, head/sys/nfs/bootp_subr.c projects/pf/pf45/sys/nfs/krpc.h - copied unchanged from r221412, head/sys/nfs/krpc.h projects/pf/pf45/sys/nfs/krpc_subr.c - copied unchanged from r221412, head/sys/nfs/krpc_subr.c projects/pf/pf45/sys/nfs/nfs_diskless.c - copied unchanged from r221412, head/sys/nfs/nfs_diskless.c projects/pf/pf45/sys/nfs/nfsdiskless.h - copied unchanged from r221412, head/sys/nfs/nfsdiskless.h projects/pf/pf45/sys/sys/_callout.h - copied unchanged from r221412, head/sys/sys/_callout.h projects/pf/pf45/tools/build/options/WITHOUT_INET - copied unchanged from r221412, head/tools/build/options/WITHOUT_INET projects/pf/pf45/tools/build/options/WITHOUT_INET_SUPPORT - copied unchanged from r221412, head/tools/build/options/WITHOUT_INET_SUPPORT projects/pf/pf45/tools/regression/bin/sh/execution/bg1.0 - copied unchanged from r221412, head/tools/regression/bin/sh/execution/bg1.0 projects/pf/pf45/tools/regression/bin/sh/execution/bg2.0 - copied unchanged from r221412, head/tools/regression/bin/sh/execution/bg2.0 projects/pf/pf45/tools/regression/bin/sh/execution/bg3.0 - copied unchanged from r221412, head/tools/regression/bin/sh/execution/bg3.0 projects/pf/pf45/tools/tools/vxge/ - copied from r221412, head/tools/tools/vxge/ Deleted: projects/pf/pf45/contrib/less/COPYING projects/pf/pf45/contrib/llvm/include/llvm/Analysis/LiveValues.h projects/pf/pf45/contrib/llvm/lib/Analysis/LiveValues.cpp projects/pf/pf45/contrib/llvm/lib/Target/PTX/Makefile projects/pf/pf45/contrib/llvm/lib/Transforms/IPO/StructRetPromotion.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/GEPSplitter.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/SimplifyHalfPowrLibCalls.cpp projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/UninitializedValuesV2.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/DeclContextXML.def projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/DeclXML.def projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/DocumentXML.def projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/DocumentXML.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/StmtXML.def projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/TypeXML.def projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerV2.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Checker.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerVisitor.def projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerVisitor.h projects/pf/pf45/contrib/llvm/tools/clang/lib/Analysis/UninitializedValuesV2.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/DeclXML.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/DocumentXML.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/StmtXML.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/TypeXML.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.h projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExperimentalChecks.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExperimentalChecks.h projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExprEngine.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/InternalChecks.h projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Checker.cpp projects/pf/pf45/contrib/tcsh/nls/pl/ projects/pf/pf45/share/man/man9/alloc_unr.9 projects/pf/pf45/sys/fs/nfsclient/nfsargs.h projects/pf/pf45/sys/fs/nfsclient/nfsdiskless.h projects/pf/pf45/sys/nfsclient/bootp_subr.c projects/pf/pf45/sys/nfsclient/krpc.h projects/pf/pf45/sys/nfsclient/krpc_subr.c projects/pf/pf45/sys/nfsclient/nfs_diskless.c projects/pf/pf45/sys/nfsclient/nfsdiskless.h Modified: projects/pf/pf45/Makefile projects/pf/pf45/ObsoleteFiles.inc projects/pf/pf45/UPDATING projects/pf/pf45/bin/sh/eval.c projects/pf/pf45/bin/sh/options.c projects/pf/pf45/bin/stty/stty.c projects/pf/pf45/cddl/compat/opensolaris/misc/zmount.c projects/pf/pf45/contrib/bsnmp/snmp_mibII/mibII_interfaces.c projects/pf/pf45/contrib/less/README projects/pf/pf45/contrib/llvm/include/llvm-c/EnhancedDisassembly.h projects/pf/pf45/contrib/llvm/include/llvm-c/Transforms/Scalar.h projects/pf/pf45/contrib/llvm/include/llvm-c/lto.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/APFloat.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/APInt.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/ArrayRef.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/DenseMap.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/DenseMapInfo.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/DepthFirstIterator.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/FoldingSet.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/ImmutableIntervalMap.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/IntervalMap.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/PointerUnion.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/ScopedHashTable.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/SmallPtrSet.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/Statistic.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/StringExtras.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/StringMap.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/Triple.h projects/pf/pf45/contrib/llvm/include/llvm/ADT/ilist.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/AliasSetTracker.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/CFGPrinter.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/DIBuilder.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/DebugInfo.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/IVUsers.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/InlineCost.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/Lint.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/Passes.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/PathProfileInfo.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/PostDominators.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/RegionInfo.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/RegionIterator.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/RegionPass.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h projects/pf/pf45/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h projects/pf/pf45/contrib/llvm/include/llvm/Bitcode/Archive.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/CalcSpillWeights.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/EdgeBundles.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/FastISel.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/FunctionLoweringInfo.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/JITCodeEmitter.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/LiveInterval.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/MachineCodeEmitter.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/MachineConstantPool.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/MachineInstr.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/PBQP/Graph.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/PBQP/Heuristics/Briggs.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/ProcessImplicitDefs.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/RegisterScavenging.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/RuntimeLibcalls.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/ScoreboardHazardRecognizer.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/SelectionDAGISel.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h projects/pf/pf45/contrib/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h projects/pf/pf45/contrib/llvm/include/llvm/CompilerDriver/CompilationGraph.h projects/pf/pf45/contrib/llvm/include/llvm/CompilerDriver/Tool.h projects/pf/pf45/contrib/llvm/include/llvm/Constant.h projects/pf/pf45/contrib/llvm/include/llvm/Constants.h projects/pf/pf45/contrib/llvm/include/llvm/DerivedTypes.h projects/pf/pf45/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h projects/pf/pf45/contrib/llvm/include/llvm/ExecutionEngine/JITMemoryManager.h projects/pf/pf45/contrib/llvm/include/llvm/GlobalVariable.h projects/pf/pf45/contrib/llvm/include/llvm/InitializePasses.h projects/pf/pf45/contrib/llvm/include/llvm/InstrTypes.h projects/pf/pf45/contrib/llvm/include/llvm/Instructions.h projects/pf/pf45/contrib/llvm/include/llvm/Intrinsics.td projects/pf/pf45/contrib/llvm/include/llvm/IntrinsicsARM.td projects/pf/pf45/contrib/llvm/include/llvm/IntrinsicsX86.td projects/pf/pf45/contrib/llvm/include/llvm/IntrinsicsXCore.td projects/pf/pf45/contrib/llvm/include/llvm/LinkAllPasses.h projects/pf/pf45/contrib/llvm/include/llvm/MC/MCAsmInfo.h projects/pf/pf45/contrib/llvm/include/llvm/MC/MCAsmLayout.h projects/pf/pf45/contrib/llvm/include/llvm/MC/MCAssembler.h projects/pf/pf45/contrib/llvm/include/llvm/MC/MCContext.h projects/pf/pf45/contrib/llvm/include/llvm/MC/MCDisassembler.h projects/pf/pf45/contrib/llvm/include/llvm/MC/MCDwarf.h projects/pf/pf45/contrib/llvm/include/llvm/MC/MCExpr.h projects/pf/pf45/contrib/llvm/include/llvm/MC/MCInstPrinter.h projects/pf/pf45/contrib/llvm/include/llvm/MC/MCObjectStreamer.h projects/pf/pf45/contrib/llvm/include/llvm/MC/MCParser/AsmLexer.h projects/pf/pf45/contrib/llvm/include/llvm/MC/MCSection.h projects/pf/pf45/contrib/llvm/include/llvm/MC/MCSectionMachO.h projects/pf/pf45/contrib/llvm/include/llvm/MC/MCStreamer.h projects/pf/pf45/contrib/llvm/include/llvm/MC/MCSymbol.h projects/pf/pf45/contrib/llvm/include/llvm/Metadata.h projects/pf/pf45/contrib/llvm/include/llvm/Module.h projects/pf/pf45/contrib/llvm/include/llvm/Object/MachOObject.h projects/pf/pf45/contrib/llvm/include/llvm/Pass.h projects/pf/pf45/contrib/llvm/include/llvm/PassAnalysisSupport.h projects/pf/pf45/contrib/llvm/include/llvm/Support/Allocator.h projects/pf/pf45/contrib/llvm/include/llvm/Support/CFG.h projects/pf/pf45/contrib/llvm/include/llvm/Support/Casting.h projects/pf/pf45/contrib/llvm/include/llvm/Support/CommandLine.h projects/pf/pf45/contrib/llvm/include/llvm/Support/Compiler.h projects/pf/pf45/contrib/llvm/include/llvm/Support/ConstantFolder.h projects/pf/pf45/contrib/llvm/include/llvm/Support/CrashRecoveryContext.h projects/pf/pf45/contrib/llvm/include/llvm/Support/DOTGraphTraits.h projects/pf/pf45/contrib/llvm/include/llvm/Support/DebugLoc.h projects/pf/pf45/contrib/llvm/include/llvm/Support/Dwarf.h projects/pf/pf45/contrib/llvm/include/llvm/Support/ErrorHandling.h projects/pf/pf45/contrib/llvm/include/llvm/Support/FileSystem.h projects/pf/pf45/contrib/llvm/include/llvm/Support/FileUtilities.h projects/pf/pf45/contrib/llvm/include/llvm/Support/GraphWriter.h projects/pf/pf45/contrib/llvm/include/llvm/Support/IRBuilder.h projects/pf/pf45/contrib/llvm/include/llvm/Support/Memory.h projects/pf/pf45/contrib/llvm/include/llvm/Support/MemoryBuffer.h projects/pf/pf45/contrib/llvm/include/llvm/Support/NoFolder.h projects/pf/pf45/contrib/llvm/include/llvm/Support/PathV1.h projects/pf/pf45/contrib/llvm/include/llvm/Support/PatternMatch.h projects/pf/pf45/contrib/llvm/include/llvm/Support/PrettyStackTrace.h projects/pf/pf45/contrib/llvm/include/llvm/Support/Program.h projects/pf/pf45/contrib/llvm/include/llvm/Support/Regex.h projects/pf/pf45/contrib/llvm/include/llvm/Support/Signals.h projects/pf/pf45/contrib/llvm/include/llvm/Support/SourceMgr.h projects/pf/pf45/contrib/llvm/include/llvm/Support/StandardPasses.h projects/pf/pf45/contrib/llvm/include/llvm/Support/TimeValue.h projects/pf/pf45/contrib/llvm/include/llvm/Support/system_error.h projects/pf/pf45/contrib/llvm/include/llvm/Target/SubtargetFeature.h projects/pf/pf45/contrib/llvm/include/llvm/Target/Target.td projects/pf/pf45/contrib/llvm/include/llvm/Target/TargetAsmBackend.h projects/pf/pf45/contrib/llvm/include/llvm/Target/TargetAsmInfo.h projects/pf/pf45/contrib/llvm/include/llvm/Target/TargetData.h projects/pf/pf45/contrib/llvm/include/llvm/Target/TargetInstrDesc.h projects/pf/pf45/contrib/llvm/include/llvm/Target/TargetInstrInfo.h projects/pf/pf45/contrib/llvm/include/llvm/Target/TargetInstrItineraries.h projects/pf/pf45/contrib/llvm/include/llvm/Target/TargetLibraryInfo.h projects/pf/pf45/contrib/llvm/include/llvm/Target/TargetLowering.h projects/pf/pf45/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h projects/pf/pf45/contrib/llvm/include/llvm/Target/TargetMachine.h projects/pf/pf45/contrib/llvm/include/llvm/Target/TargetOptions.h projects/pf/pf45/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h projects/pf/pf45/contrib/llvm/include/llvm/Target/TargetRegistry.h projects/pf/pf45/contrib/llvm/include/llvm/Target/TargetSelect.h projects/pf/pf45/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td projects/pf/pf45/contrib/llvm/include/llvm/Transforms/IPO.h projects/pf/pf45/contrib/llvm/include/llvm/Transforms/Instrumentation.h projects/pf/pf45/contrib/llvm/include/llvm/Transforms/Scalar.h projects/pf/pf45/contrib/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h projects/pf/pf45/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h projects/pf/pf45/contrib/llvm/include/llvm/Transforms/Utils/Local.h projects/pf/pf45/contrib/llvm/include/llvm/TypeSymbolTable.h projects/pf/pf45/contrib/llvm/include/llvm/User.h projects/pf/pf45/contrib/llvm/include/llvm/Value.h projects/pf/pf45/contrib/llvm/lib/Analysis/AliasAnalysis.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/AliasSetTracker.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/Analysis.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/CaptureTracking.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/ConstantFolding.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/DIBuilder.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/DebugInfo.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/IPA/GlobalsModRef.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/IVUsers.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/InlineCost.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/InstructionSimplify.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/LazyValueInfo.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/Lint.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/Loads.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/LoopPass.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/PHITransAddr.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/PathNumbering.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/PathProfileVerifier.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/PostDominators.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/ProfileEstimatorPass.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/ProfileInfo.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/ProfileInfoLoader.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/RegionInfo.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/RegionPrinter.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp projects/pf/pf45/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/pf/pf45/contrib/llvm/lib/Archive/ArchiveWriter.cpp projects/pf/pf45/contrib/llvm/lib/AsmParser/LLParser.cpp projects/pf/pf45/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp projects/pf/pf45/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp projects/pf/pf45/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp projects/pf/pf45/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.h projects/pf/pf45/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/Analysis.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.h projects/pf/pf45/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h projects/pf/pf45/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h projects/pf/pf45/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfTableException.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/BranchFolding.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/CallingConvLower.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/CodePlacementOpt.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/DwarfEHPrepare.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/ELF.h projects/pf/pf45/contrib/llvm/lib/CodeGen/ELFWriter.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/EdgeBundles.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/ExpandISelPseudos.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/IfConversion.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/InlineSpiller.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/LiveInterval.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/LiveIntervalUnion.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/LiveIntervalUnion.h projects/pf/pf45/contrib/llvm/lib/CodeGen/LiveRangeEdit.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/LiveRangeEdit.h projects/pf/pf45/contrib/llvm/lib/CodeGen/LiveVariables.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/MachineCSE.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/MachineInstr.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/MachineLICM.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/MachineSink.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/MachineVerifier.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/PHIElimination.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/Passes.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/PeepholeOptimizer.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/ProcessImplicitDefs.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/RegAllocBase.h projects/pf/pf45/contrib/llvm/lib/CodeGen/RegAllocBasic.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/RegAllocFast.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/RegAllocLinearScan.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/RenderMachineFunction.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/ScheduleDAG.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/ShrinkWrapping.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.h projects/pf/pf45/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SlotIndexes.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SpillPlacement.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SpillPlacement.h projects/pf/pf45/contrib/llvm/lib/CodeGen/Spiller.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/Spiller.h projects/pf/pf45/contrib/llvm/lib/CodeGen/SplitKit.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/SplitKit.h projects/pf/pf45/contrib/llvm/lib/CodeGen/StackProtector.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/StrongPHIElimination.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/VirtRegMap.cpp projects/pf/pf45/contrib/llvm/lib/CodeGen/VirtRegRewriter.cpp projects/pf/pf45/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp projects/pf/pf45/contrib/llvm/lib/ExecutionEngine/JIT/Intercept.cpp projects/pf/pf45/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp projects/pf/pf45/contrib/llvm/lib/ExecutionEngine/JIT/JIT.h projects/pf/pf45/contrib/llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp projects/pf/pf45/contrib/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp projects/pf/pf45/contrib/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.h projects/pf/pf45/contrib/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp projects/pf/pf45/contrib/llvm/lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp projects/pf/pf45/contrib/llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp projects/pf/pf45/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp projects/pf/pf45/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h projects/pf/pf45/contrib/llvm/lib/Linker/LinkModules.cpp projects/pf/pf45/contrib/llvm/lib/MC/ELFObjectWriter.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCAsmInfo.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCAsmInfoDarwin.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCAsmStreamer.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCAssembler.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCContext.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCDisassembler/EDDisassembler.h projects/pf/pf45/contrib/llvm/lib/MC/MCDisassembler/EDInfo.h projects/pf/pf45/contrib/llvm/lib/MC/MCDisassembler/EDInst.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCDisassembler/EDOperand.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCDwarf.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCELFStreamer.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCExpr.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCInstPrinter.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCLoggingStreamer.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCMachOStreamer.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCNullStreamer.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCObjectStreamer.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCParser/AsmParser.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCParser/DarwinAsmParser.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCSectionELF.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCSectionMachO.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCStreamer.cpp projects/pf/pf45/contrib/llvm/lib/MC/MCSymbol.cpp projects/pf/pf45/contrib/llvm/lib/MC/MachObjectWriter.cpp projects/pf/pf45/contrib/llvm/lib/MC/WinCOFFObjectWriter.cpp projects/pf/pf45/contrib/llvm/lib/Object/COFFObjectFile.cpp projects/pf/pf45/contrib/llvm/lib/Object/ELFObjectFile.cpp projects/pf/pf45/contrib/llvm/lib/Object/MachOObject.cpp projects/pf/pf45/contrib/llvm/lib/Object/ObjectFile.cpp projects/pf/pf45/contrib/llvm/lib/Support/APFloat.cpp projects/pf/pf45/contrib/llvm/lib/Support/APInt.cpp projects/pf/pf45/contrib/llvm/lib/Support/Allocator.cpp projects/pf/pf45/contrib/llvm/lib/Support/CommandLine.cpp projects/pf/pf45/contrib/llvm/lib/Support/CrashRecoveryContext.cpp projects/pf/pf45/contrib/llvm/lib/Support/Dwarf.cpp projects/pf/pf45/contrib/llvm/lib/Support/ErrorHandling.cpp projects/pf/pf45/contrib/llvm/lib/Support/FileUtilities.cpp projects/pf/pf45/contrib/llvm/lib/Support/FoldingSet.cpp projects/pf/pf45/contrib/llvm/lib/Support/Host.cpp projects/pf/pf45/contrib/llvm/lib/Support/MemoryBuffer.cpp projects/pf/pf45/contrib/llvm/lib/Support/Path.cpp projects/pf/pf45/contrib/llvm/lib/Support/PrettyStackTrace.cpp projects/pf/pf45/contrib/llvm/lib/Support/Regex.cpp projects/pf/pf45/contrib/llvm/lib/Support/Signals.cpp projects/pf/pf45/contrib/llvm/lib/Support/SmallPtrSet.cpp projects/pf/pf45/contrib/llvm/lib/Support/Statistic.cpp projects/pf/pf45/contrib/llvm/lib/Support/StringMap.cpp projects/pf/pf45/contrib/llvm/lib/Support/StringRef.cpp projects/pf/pf45/contrib/llvm/lib/Support/Triple.cpp projects/pf/pf45/contrib/llvm/lib/Support/Unix/Host.inc projects/pf/pf45/contrib/llvm/lib/Support/Unix/Memory.inc projects/pf/pf45/contrib/llvm/lib/Support/Unix/Path.inc projects/pf/pf45/contrib/llvm/lib/Support/Unix/Program.inc projects/pf/pf45/contrib/llvm/lib/Support/Unix/Signals.inc projects/pf/pf45/contrib/llvm/lib/Support/Windows/DynamicLibrary.inc projects/pf/pf45/contrib/llvm/lib/Support/Windows/Path.inc projects/pf/pf45/contrib/llvm/lib/Support/Windows/PathV2.inc projects/pf/pf45/contrib/llvm/lib/Support/raw_ostream.cpp projects/pf/pf45/contrib/llvm/lib/Support/regcomp.c projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARM.td projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMAddressingModes.h projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMAsmBackend.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.h projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMBaseInfo.h projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMCallingConv.td projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMFrameLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMFrameLowering.h projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMHazardRecognizer.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMISelLowering.h projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMMCAsmInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMMCCodeEmitter.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMMCExpr.h projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMScheduleA9.td projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMSubtarget.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMSubtarget.h projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/ARMTargetObjectFile.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.h projects/pf/pf45/contrib/llvm/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h projects/pf/pf45/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.h projects/pf/pf45/contrib/llvm/lib/Target/ARM/MLxExpansionPass.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/Thumb1FrameLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/Thumb1FrameLowering.h projects/pf/pf45/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.h projects/pf/pf45/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/Thumb2RegisterInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/ARM/Thumb2RegisterInfo.h projects/pf/pf45/contrib/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp projects/pf/pf45/contrib/llvm/lib/Target/Alpha/Alpha.td projects/pf/pf45/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/Alpha/AlphaInstrInfo.td projects/pf/pf45/contrib/llvm/lib/Target/Blackfin/BlackfinISelLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/CBackend/CBackend.cpp projects/pf/pf45/contrib/llvm/lib/Target/CellSPU/SPU64InstrInfo.td projects/pf/pf45/contrib/llvm/lib/Target/CellSPU/SPUAsmPrinter.cpp projects/pf/pf45/contrib/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp projects/pf/pf45/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.h projects/pf/pf45/contrib/llvm/lib/Target/CellSPU/SPUInstrFormats.td projects/pf/pf45/contrib/llvm/lib/Target/CellSPU/SPUInstrInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/CellSPU/SPUInstrInfo.td projects/pf/pf45/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.h projects/pf/pf45/contrib/llvm/lib/Target/CppBackend/CPPBackend.cpp projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/Disassembler/MBlazeDisassembler.cpp projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/InstPrinter/MBlazeInstPrinter.h projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlaze.td projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeAsmBackend.cpp projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeAsmPrinter.cpp projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeDelaySlotFiller.cpp projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeISelLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeInstrFPU.td projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeInstrFSL.td projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeInstrFormats.td projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.h projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.td projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.h projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.td projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeSchedule.td projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeSubtarget.cpp projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeSubtarget.h projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeTargetMachine.cpp projects/pf/pf45/contrib/llvm/lib/Target/MBlaze/MBlazeTargetMachine.h projects/pf/pf45/contrib/llvm/lib/Target/MSP430/InstPrinter/MSP430InstPrinter.h projects/pf/pf45/contrib/llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp projects/pf/pf45/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/Mips/Mips.h projects/pf/pf45/contrib/llvm/lib/Target/Mips/Mips.td projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsCallingConv.td projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsFrameLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsFrameLowering.h projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsISelLowering.h projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsInstrInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsMCAsmInfo.h projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsSchedule.td projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsSubtarget.h projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsTargetMachine.h projects/pf/pf45/contrib/llvm/lib/Target/Mips/MipsTargetObjectFile.h projects/pf/pf45/contrib/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTX.h projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTX.td projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXAsmPrinter.cpp projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXFrameLowering.h projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXISelDAGToDAG.cpp projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXISelLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXISelLowering.h projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXInstrInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXInstrInfo.h projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXInstrInfo.td projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXMCAsmStreamer.cpp projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXMFInfoExtract.cpp projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXMachineFunctionInfo.h projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXRegisterInfo.td projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXSubtarget.cpp projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXSubtarget.h projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXTargetMachine.cpp projects/pf/pf45/contrib/llvm/lib/Target/PTX/PTXTargetMachine.h projects/pf/pf45/contrib/llvm/lib/Target/PTX/TargetInfo/PTXTargetInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.h projects/pf/pf45/contrib/llvm/lib/Target/PowerPC/PPCAsmBackend.cpp projects/pf/pf45/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp projects/pf/pf45/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td projects/pf/pf45/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td projects/pf/pf45/contrib/llvm/lib/Target/PowerPC/PPCMCAsmInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.cpp projects/pf/pf45/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.h projects/pf/pf45/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp projects/pf/pf45/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/SubtargetFeature.cpp projects/pf/pf45/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/TargetData.cpp projects/pf/pf45/contrib/llvm/lib/Target/TargetInstrInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/TargetLibraryInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp projects/pf/pf45/contrib/llvm/lib/Target/TargetMachine.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c projects/pf/pf45/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h projects/pf/pf45/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h projects/pf/pf45/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h projects/pf/pf45/contrib/llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h projects/pf/pf45/contrib/llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h projects/pf/pf45/contrib/llvm/lib/Target/X86/X86.td projects/pf/pf45/contrib/llvm/lib/Target/X86/X86AsmBackend.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86AsmPrinter.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86CallingConv.td projects/pf/pf45/contrib/llvm/lib/Target/X86/X86CodeEmitter.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86FastISel.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86ISelLowering.h projects/pf/pf45/contrib/llvm/lib/Target/X86/X86Instr3DNow.td projects/pf/pf45/contrib/llvm/lib/Target/X86/X86InstrArithmetic.td projects/pf/pf45/contrib/llvm/lib/Target/X86/X86InstrControl.td projects/pf/pf45/contrib/llvm/lib/Target/X86/X86InstrFormats.td projects/pf/pf45/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td projects/pf/pf45/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86InstrInfo.h projects/pf/pf45/contrib/llvm/lib/Target/X86/X86InstrInfo.td projects/pf/pf45/contrib/llvm/lib/Target/X86/X86InstrSSE.td projects/pf/pf45/contrib/llvm/lib/Target/X86/X86InstrSystem.td projects/pf/pf45/contrib/llvm/lib/Target/X86/X86MCAsmInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86MCAsmInfo.h projects/pf/pf45/contrib/llvm/lib/Target/X86/X86MCCodeEmitter.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86RegisterInfo.h projects/pf/pf45/contrib/llvm/lib/Target/X86/X86RegisterInfo.td projects/pf/pf45/contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86Subtarget.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86Subtarget.h projects/pf/pf45/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86TargetObjectFile.cpp projects/pf/pf45/contrib/llvm/lib/Target/X86/X86TargetObjectFile.h projects/pf/pf45/contrib/llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp projects/pf/pf45/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp projects/pf/pf45/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td projects/pf/pf45/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp projects/pf/pf45/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.h projects/pf/pf45/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/IPO/IPO.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/IPO/Inliner.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/IPO/Internalize.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/IPO/LowerSetJmp.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/IPO/PartialInlining.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/InstCombine/InstCombine.h projects/pf/pf45/contrib/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/InstCombine/InstCombineWorklist.h projects/pf/pf45/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Instrumentation/Instrumentation.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Instrumentation/MaximumSpanningTree.h projects/pf/pf45/contrib/llvm/lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Instrumentation/PathProfiling.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Instrumentation/ProfilingUtils.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Instrumentation/ProfilingUtils.h projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/DCE.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/GVN.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/LICM.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/Reg2Mem.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/Scalar.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Utils/CodeExtractor.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Utils/LCSSA.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Utils/Local.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Utils/LoopSimplify.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Utils/LowerSwitch.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp projects/pf/pf45/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/AsmWriter.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/AutoUpgrade.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/ConstantFold.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/Constants.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/ConstantsContext.h projects/pf/pf45/contrib/llvm/lib/VMCore/Core.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/DebugLoc.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/Dominators.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/Function.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/IRBuilder.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/Instructions.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/LLVMContextImpl.h projects/pf/pf45/contrib/llvm/lib/VMCore/Metadata.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/PassManager.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/PassRegistry.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/Type.cpp projects/pf/pf45/contrib/llvm/lib/VMCore/TypesContext.h projects/pf/pf45/contrib/llvm/lib/VMCore/Verifier.cpp projects/pf/pf45/contrib/llvm/tools/clang/include/clang-c/Index.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/ASTDiagnostic.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/Attr.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/CharUnits.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/Decl.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/EvaluatedExprVisitor.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/Expr.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/ExprObjC.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/NestedNameSpecifier.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/PrettyPrinter.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/Stmt.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/StmtIterator.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/Type.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/CFGReachabilityAnalysis.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/UninitializedValues.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisContext.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisDiagnostic.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Analysis/CFG.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Analysis/DomainSpecific/CocoaConventions.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Analysis/ProgramPoint.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Analysis/Visitors/CFGStmtVisitor.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/Attr.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/AttrKinds.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/ConvertUTF.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticIDs.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/FileManager.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/PartialDiagnostic.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/TargetBuiltins.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/Version.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Driver/Arg.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Driver/Driver.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Driver/DriverDiagnostic.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Driver/OptParser.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/ASTConsumers.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/Analyses.def projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/AnalyzerOptions.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/ChainedDiagnosticClient.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticOptions.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/FrontendActions.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/FrontendDiagnostic.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/LangStandard.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/MultiplexConsumer.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/PreprocessorOptions.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Lex/DirectoryLookup.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Lex/HeaderMap.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Lex/LexDiagnostic.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Lex/Lexer.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Lex/MacroInfo.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Lex/MultipleIncludeOpt.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Lex/PTHLexer.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Lex/Pragma.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorLexer.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Parse/ParseDiagnostic.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Parse/Parser.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Rewrite/FrontendActions.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Rewrite/Rewriter.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Sema/DelayedDiagnostic.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Sema/IdentifierResolver.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Sema/Overload.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Sema/Ownership.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Sema/ParsedTemplate.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Sema/Scope.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Sema/Sema.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Sema/SemaDiagnostic.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Sema/Template.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Sema/TemplateDeduction.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/CheckerBase.td projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/LocalCheckers.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerProvider.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathDiagnosticClients.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/GRState.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ObjCMessage.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/DumpXML.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/InheritViz.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/ItaniumCXXABI.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/MicrosoftCXXABI.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/NestedNameSpecifier.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/Stmt.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/StmtDumper.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/StmtIterator.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/TemplateName.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/Type.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Analysis/AnalysisContext.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Analysis/CFGReachabilityAnalysis.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Analysis/CFGStmtMap.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Analysis/CocoaConventions.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Analysis/ReachableCode.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Analysis/UninitializedValues.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.h projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGCall.h projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGException.h projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGRTTI.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayout.h projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGVTT.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.h projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Driver/HostInfo.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Driver/OptTable.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Driver/ToolChains.h projects/pf/pf45/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Driver/Tools.h projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/CacheTokens.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/DependencyFile.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/HeaderIncludeGen.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/MultiplexConsumer.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Headers/avxintrin.h projects/pf/pf45/contrib/llvm/tools/clang/lib/Headers/emmintrin.h projects/pf/pf45/contrib/llvm/tools/clang/lib/Headers/mm_malloc.h projects/pf/pf45/contrib/llvm/tools/clang/lib/Headers/stddef.h projects/pf/pf45/contrib/llvm/tools/clang/lib/Headers/stdint.h projects/pf/pf45/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h projects/pf/pf45/contrib/llvm/tools/clang/lib/Index/DeclReferenceMap.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Index/Entity.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Lex/HeaderMap.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Lex/PPExpressions.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Lex/PTHLexer.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Lex/PreprocessorLexer.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Parse/ParseAST.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Parse/ParsePragma.h projects/pf/pf45/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Parse/RAIIObjectsForParser.h projects/pf/pf45/contrib/llvm/tools/clang/lib/Rewrite/RewriteObjC.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Rewrite/Rewriter.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/AttributeList.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/CodeCompleteConsumer.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/IdentifierResolver.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/Sema.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaCXXCast.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/TargetAttributesSema.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/pf/pf45/contrib/llvm/tools/clang/lib/Sema/TypeLocBuilder.h projects/pf/pf45/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.h projects/pf/pf45/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AdjustedReturnValueChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/Checkers.td projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ClangSACheckerProvider.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ClangSACheckers.h projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IdempotentOperationChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/OSAtomicChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AggExprVisitor.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicStore.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CFRefCount.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CXXExprEngine.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Environment.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/FlatStore.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp projects/pf/pf45/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp projects/pf/pf45/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp projects/pf/pf45/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp projects/pf/pf45/contrib/llvm/tools/clang/tools/driver/driver.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/ARMDecoderEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/AsmMatcherEmitter.h projects/pf/pf45/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/AsmWriterEmitter.h projects/pf/pf45/contrib/llvm/utils/TableGen/CallingConvEmitter.h projects/pf/pf45/contrib/llvm/utils/TableGen/ClangASTNodesEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/ClangAttrEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/ClangDiagnosticsEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/ClangDiagnosticsEmitter.h projects/pf/pf45/contrib/llvm/utils/TableGen/ClangSACheckersEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/CodeEmitterGen.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.h projects/pf/pf45/contrib/llvm/utils/TableGen/CodeGenInstruction.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/CodeGenInstruction.h projects/pf/pf45/contrib/llvm/utils/TableGen/CodeGenRegisters.h projects/pf/pf45/contrib/llvm/utils/TableGen/CodeGenTarget.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/CodeGenTarget.h projects/pf/pf45/contrib/llvm/utils/TableGen/DAGISelEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/DAGISelEmitter.h projects/pf/pf45/contrib/llvm/utils/TableGen/DAGISelMatcher.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/DAGISelMatcher.h projects/pf/pf45/contrib/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/DAGISelMatcherOpt.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/DisassemblerEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/EDEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/FastISelEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/InstrInfoEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/NeonEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/NeonEmitter.h projects/pf/pf45/contrib/llvm/utils/TableGen/OptParserEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/Record.h projects/pf/pf45/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/SubtargetEmitter.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/SubtargetEmitter.h projects/pf/pf45/contrib/llvm/utils/TableGen/TGLexer.h projects/pf/pf45/contrib/llvm/utils/TableGen/TGParser.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/TGValueTypes.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/TableGen.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/X86DisassemblerTables.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/X86DisassemblerTables.h projects/pf/pf45/contrib/llvm/utils/TableGen/X86RecognizableInstr.cpp projects/pf/pf45/contrib/llvm/utils/TableGen/X86RecognizableInstr.h projects/pf/pf45/contrib/one-true-awk/FIXES projects/pf/pf45/contrib/one-true-awk/README projects/pf/pf45/contrib/one-true-awk/b.c projects/pf/pf45/contrib/one-true-awk/lib.c projects/pf/pf45/contrib/one-true-awk/main.c projects/pf/pf45/contrib/one-true-awk/makefile projects/pf/pf45/contrib/one-true-awk/run.c projects/pf/pf45/contrib/openresolv/resolvconf.conf.5.in projects/pf/pf45/contrib/tcsh/nls/Makefile projects/pf/pf45/contrib/texinfo/makeinfo/sectioning.c projects/pf/pf45/contrib/tzdata/africa projects/pf/pf45/contrib/tzdata/europe projects/pf/pf45/contrib/tzdata/southamerica projects/pf/pf45/etc/defaults/rc.conf projects/pf/pf45/etc/mtree/BSD.include.dist projects/pf/pf45/etc/newsyslog.conf projects/pf/pf45/etc/rc projects/pf/pf45/etc/rc.d/mountd projects/pf/pf45/etc/rc.d/nfsclient projects/pf/pf45/etc/rc.d/nfsd projects/pf/pf45/etc/rc.d/tmp projects/pf/pf45/lib/clang/Makefile projects/pf/pf45/lib/clang/clang.build.mk projects/pf/pf45/lib/clang/include/Makefile projects/pf/pf45/lib/clang/include/clang/Basic/Version.inc projects/pf/pf45/lib/clang/include/llvm/Config/config.h projects/pf/pf45/lib/clang/libclanganalysis/Makefile projects/pf/pf45/lib/clang/libclangast/Makefile projects/pf/pf45/lib/clang/libclangbasic/Makefile projects/pf/pf45/lib/clang/libclangcodegen/Makefile projects/pf/pf45/lib/clang/libclangfrontend/Makefile projects/pf/pf45/lib/clang/libclangsema/Makefile projects/pf/pf45/lib/clang/libclangserialization/Makefile projects/pf/pf45/lib/clang/libclangstaticanalyzercheckers/Makefile projects/pf/pf45/lib/clang/libclangstaticanalyzercore/Makefile projects/pf/pf45/lib/clang/libllvmanalysis/Makefile projects/pf/pf45/lib/clang/libllvmasmprinter/Makefile projects/pf/pf45/lib/clang/libllvmcodegen/Makefile projects/pf/pf45/lib/clang/libllvmcore/Makefile projects/pf/pf45/lib/clang/libllvmipo/Makefile projects/pf/pf45/lib/clang/libllvmmc/Makefile projects/pf/pf45/lib/clang/libllvmmipscodegen/Makefile projects/pf/pf45/lib/clang/libllvmscalaropts/Makefile projects/pf/pf45/lib/clang/libllvmx86instprinter/Makefile projects/pf/pf45/lib/libc/string/ffs.3 projects/pf/pf45/lib/libcrypt/Makefile projects/pf/pf45/lib/libstand/__main.c projects/pf/pf45/lib/libstand/bswap.c projects/pf/pf45/lib/libstand/cd9660.c projects/pf/pf45/lib/libstand/dosfs.c projects/pf/pf45/lib/libstand/environment.c projects/pf/pf45/lib/libstand/getopt.c projects/pf/pf45/lib/libstand/net.c projects/pf/pf45/lib/libstand/tftp.c projects/pf/pf45/lib/libstand/udp.c projects/pf/pf45/lib/msun/src/s_cosl.c projects/pf/pf45/lib/msun/src/s_sinl.c projects/pf/pf45/lib/msun/src/s_tanl.c projects/pf/pf45/sbin/fsck_ffs/ea.c projects/pf/pf45/sbin/fsck_ffs/fsck.h projects/pf/pf45/sbin/fsck_ffs/fsck_ffs.8 projects/pf/pf45/sbin/fsck_ffs/fsutil.c projects/pf/pf45/sbin/fsck_ffs/inode.c projects/pf/pf45/sbin/fsck_ffs/main.c projects/pf/pf45/sbin/fsck_ffs/pass2.c projects/pf/pf45/sbin/fsck_ffs/pass5.c projects/pf/pf45/sbin/fsck_ffs/suj.c projects/pf/pf45/sbin/fsck_ffs/utilities.c projects/pf/pf45/sbin/geom/class/part/geom_part.c projects/pf/pf45/sbin/geom/class/part/gpart.8 projects/pf/pf45/sbin/hastctl/hastctl.c projects/pf/pf45/sbin/hastd/control.c projects/pf/pf45/sbin/hastd/control.h projects/pf/pf45/sbin/hastd/hast_proto.c projects/pf/pf45/sbin/hastd/hastd.c projects/pf/pf45/sbin/mdconfig/mdconfig.8 projects/pf/pf45/sbin/mdconfig/mdconfig.c projects/pf/pf45/sbin/mount/mount.8 projects/pf/pf45/sbin/mount/mount.c projects/pf/pf45/sbin/mount_nfs/Makefile projects/pf/pf45/sbin/mount_nfs/mount_nfs.8 projects/pf/pf45/sbin/mount_nfs/mount_nfs.c projects/pf/pf45/sbin/newfs/mkfs.c projects/pf/pf45/sbin/recoverdisk/recoverdisk.1 projects/pf/pf45/sbin/recoverdisk/recoverdisk.c projects/pf/pf45/share/man/man4/sem.4 projects/pf/pf45/share/man/man5/rc.conf.5 projects/pf/pf45/share/man/man5/src.conf.5 projects/pf/pf45/share/man/man9/Makefile projects/pf/pf45/share/man/man9/bus_alloc_resource.9 projects/pf/pf45/share/man/man9/make_dev.9 projects/pf/pf45/share/man/man9/rman.9 projects/pf/pf45/share/man/man9/taskqueue.9 projects/pf/pf45/share/misc/bsd-family-tree projects/pf/pf45/share/mk/bsd.own.mk projects/pf/pf45/sys/amd64/amd64/genassym.c projects/pf/pf45/sys/amd64/amd64/identcpu.c projects/pf/pf45/sys/amd64/amd64/minidump_machdep.c projects/pf/pf45/sys/amd64/conf/DEFAULTS projects/pf/pf45/sys/amd64/conf/GENERIC projects/pf/pf45/sys/amd64/include/specialreg.h projects/pf/pf45/sys/amd64/pci/pci_bus.c projects/pf/pf45/sys/arm/arm/dump_machdep.c projects/pf/pf45/sys/arm/arm/minidump_machdep.c projects/pf/pf45/sys/arm/arm/nexus.c projects/pf/pf45/sys/arm/at91/at91_wdt.c projects/pf/pf45/sys/arm/conf/CAMBRIA projects/pf/pf45/sys/arm/conf/CRB projects/pf/pf45/sys/arm/conf/EP80219 projects/pf/pf45/sys/arm/conf/IQ31244 projects/pf/pf45/sys/boot/i386/boot2/Makefile projects/pf/pf45/sys/boot/i386/common/drv.c projects/pf/pf45/sys/boot/i386/zfsboot/Makefile projects/pf/pf45/sys/boot/i386/zfsboot/zfsldr.S projects/pf/pf45/sys/boot/ia64/common/copy.c projects/pf/pf45/sys/boot/ia64/common/exec.c projects/pf/pf45/sys/boot/ia64/efi/efimd.c projects/pf/pf45/sys/cam/ata/ata_da.c projects/pf/pf45/sys/cam/cam_xpt.c projects/pf/pf45/sys/cam/cam_xpt.h projects/pf/pf45/sys/cddl/compat/opensolaris/sys/systm.h projects/pf/pf45/sys/cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S projects/pf/pf45/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c projects/pf/pf45/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/pf/pf45/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/pf/pf45/sys/conf/NOTES projects/pf/pf45/sys/conf/files projects/pf/pf45/sys/conf/files.ia64 projects/pf/pf45/sys/conf/kern.mk projects/pf/pf45/sys/conf/kern.pre.mk projects/pf/pf45/sys/conf/ldscript.ia64 projects/pf/pf45/sys/conf/makeLINT.mk projects/pf/pf45/sys/conf/options projects/pf/pf45/sys/contrib/pf/net/if_pflog.c projects/pf/pf45/sys/contrib/pf/net/pf.c projects/pf/pf45/sys/contrib/pf/net/pf_ioctl.c projects/pf/pf45/sys/ddb/db_command.c projects/pf/pf45/sys/ddb/db_ps.c projects/pf/pf45/sys/dev/acpica/acpi_pcib_acpi.c projects/pf/pf45/sys/dev/acpica/acpi_pcib_pci.c projects/pf/pf45/sys/dev/ae/if_ae.c projects/pf/pf45/sys/dev/age/if_age.c projects/pf/pf45/sys/dev/alc/if_alc.c projects/pf/pf45/sys/dev/ale/if_ale.c projects/pf/pf45/sys/dev/ath/ath_hal/ah.c projects/pf/pf45/sys/dev/ath/ath_hal/ah_devid.h projects/pf/pf45/sys/dev/ath/ath_hal/ah_eeprom_v14.c projects/pf/pf45/sys/dev/ath/ath_hal/ar5416/ar2133.c projects/pf/pf45/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c projects/pf/pf45/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/pf/pf45/sys/dev/ath/ath_hal/ar5416/ar5416_power.c projects/pf/pf45/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c projects/pf/pf45/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/pf/pf45/sys/dev/ath/if_ath.c projects/pf/pf45/sys/dev/ath/if_ath_ahb.c projects/pf/pf45/sys/dev/bce/if_bce.c projects/pf/pf45/sys/dev/bfe/if_bfe.c projects/pf/pf45/sys/dev/bge/if_bge.c projects/pf/pf45/sys/dev/bxe/bxe_debug.h projects/pf/pf45/sys/dev/bxe/if_bxe.c projects/pf/pf45/sys/dev/bxe/if_bxe.h projects/pf/pf45/sys/dev/cardbus/cardbus.c projects/pf/pf45/sys/dev/coretemp/coretemp.c projects/pf/pf45/sys/dev/dc/dcphy.c projects/pf/pf45/sys/dev/dc/pnphy.c projects/pf/pf45/sys/dev/e1000/if_igb.h projects/pf/pf45/sys/dev/ed/if_ed_pccard.c projects/pf/pf45/sys/dev/et/if_et.c projects/pf/pf45/sys/dev/fdt/fdtbus.c projects/pf/pf45/sys/dev/fxp/if_fxp.c projects/pf/pf45/sys/dev/hme/if_hme.c projects/pf/pf45/sys/dev/ichwd/ichwd.c projects/pf/pf45/sys/dev/ichwd/ichwd.h projects/pf/pf45/sys/dev/ixgbe/ixgbe.c projects/pf/pf45/sys/dev/ixgbe/ixgbe.h projects/pf/pf45/sys/dev/jme/if_jme.c projects/pf/pf45/sys/dev/lge/if_lge.c projects/pf/pf45/sys/dev/md/md.c projects/pf/pf45/sys/dev/mii/acphy.c projects/pf/pf45/sys/dev/mii/amphy.c projects/pf/pf45/sys/dev/mii/atphy.c projects/pf/pf45/sys/dev/mii/axphy.c projects/pf/pf45/sys/dev/mii/bmtphy.c projects/pf/pf45/sys/dev/mii/brgphy.c projects/pf/pf45/sys/dev/mii/ciphy.c projects/pf/pf45/sys/dev/mii/e1000phy.c projects/pf/pf45/sys/dev/mii/exphy.c projects/pf/pf45/sys/dev/mii/gentbi.c projects/pf/pf45/sys/dev/mii/icsphy.c projects/pf/pf45/sys/dev/mii/inphy.c projects/pf/pf45/sys/dev/mii/ip1000phy.c projects/pf/pf45/sys/dev/mii/jmphy.c projects/pf/pf45/sys/dev/mii/lxtphy.c projects/pf/pf45/sys/dev/mii/mii.c projects/pf/pf45/sys/dev/mii/mii.h projects/pf/pf45/sys/dev/mii/mii_physubr.c projects/pf/pf45/sys/dev/mii/miidevs projects/pf/pf45/sys/dev/mii/miivar.h projects/pf/pf45/sys/dev/mii/mlphy.c projects/pf/pf45/sys/dev/mii/nsgphy.c projects/pf/pf45/sys/dev/mii/nsphy.c projects/pf/pf45/sys/dev/mii/nsphyter.c projects/pf/pf45/sys/dev/mii/pnaphy.c projects/pf/pf45/sys/dev/mii/qsphy.c projects/pf/pf45/sys/dev/mii/rdcphy.c projects/pf/pf45/sys/dev/mii/rgephy.c projects/pf/pf45/sys/dev/mii/rlphy.c projects/pf/pf45/sys/dev/mii/rlswitch.c projects/pf/pf45/sys/dev/mii/ruephy.c projects/pf/pf45/sys/dev/mii/smcphy.c projects/pf/pf45/sys/dev/mii/tdkphy.c projects/pf/pf45/sys/dev/mii/tlphy.c projects/pf/pf45/sys/dev/mii/truephy.c projects/pf/pf45/sys/dev/mii/ukphy.c projects/pf/pf45/sys/dev/mii/xmphy.c projects/pf/pf45/sys/dev/msk/if_msk.c projects/pf/pf45/sys/dev/nfe/if_nfe.c projects/pf/pf45/sys/dev/nge/if_nge.c projects/pf/pf45/sys/dev/nve/if_nve.c projects/pf/pf45/sys/dev/pci/pci.c projects/pf/pf45/sys/dev/pci/pci_pci.c projects/pf/pf45/sys/dev/pci/pcib_private.h projects/pf/pf45/sys/dev/pcn/if_pcn.c projects/pf/pf45/sys/dev/puc/pucdata.c projects/pf/pf45/sys/dev/sf/if_sf.c projects/pf/pf45/sys/dev/sge/if_sge.c projects/pf/pf45/sys/dev/sis/if_sis.c projects/pf/pf45/sys/dev/sound/pcm/dsp.c projects/pf/pf45/sys/dev/ste/if_ste.c projects/pf/pf45/sys/dev/tx/if_tx.c projects/pf/pf45/sys/dev/usb/controller/ehci.c projects/pf/pf45/sys/dev/usb/net/if_aue.c projects/pf/pf45/sys/dev/usb/net/if_axe.c projects/pf/pf45/sys/dev/usb/net/if_cdcereg.h projects/pf/pf45/sys/dev/usb/net/if_mos.c projects/pf/pf45/sys/dev/usb/net/if_rue.c projects/pf/pf45/sys/dev/usb/net/if_udav.c projects/pf/pf45/sys/dev/usb/wlan/if_rum.c projects/pf/pf45/sys/dev/vr/if_vr.c projects/pf/pf45/sys/dev/vte/if_vte.c projects/pf/pf45/sys/dev/watchdog/watchdog.c projects/pf/pf45/sys/dev/wb/if_wb.c projects/pf/pf45/sys/dev/wpi/if_wpi.c projects/pf/pf45/sys/dev/xen/netfront/netfront.c projects/pf/pf45/sys/fs/ext2fs/ext2_alloc.c projects/pf/pf45/sys/fs/ext2fs/ext2_balloc.c projects/pf/pf45/sys/fs/ext2fs/ext2_dinode.h projects/pf/pf45/sys/fs/ext2fs/ext2_dir.h projects/pf/pf45/sys/fs/ext2fs/ext2_extern.h projects/pf/pf45/sys/fs/ext2fs/ext2_inode.c projects/pf/pf45/sys/fs/ext2fs/ext2_lookup.c projects/pf/pf45/sys/fs/ext2fs/ext2_readwrite.c projects/pf/pf45/sys/fs/ext2fs/ext2_vfsops.c projects/pf/pf45/sys/fs/ext2fs/ext2_vnops.c projects/pf/pf45/sys/fs/ext2fs/ext2fs.h projects/pf/pf45/sys/fs/ext2fs/inode.h projects/pf/pf45/sys/fs/nfs/nfs_commonport.c projects/pf/pf45/sys/fs/nfs/nfs_var.h projects/pf/pf45/sys/fs/nfs/nfsport.h projects/pf/pf45/sys/fs/nfsclient/nfs.h projects/pf/pf45/sys/fs/nfsclient/nfs_clvfsops.c projects/pf/pf45/sys/geom/concat/g_concat.c projects/pf/pf45/sys/geom/geom.h projects/pf/pf45/sys/geom/geom_dev.c projects/pf/pf45/sys/geom/geom_subr.c projects/pf/pf45/sys/geom/journal/g_journal.c projects/pf/pf45/sys/geom/mirror/g_mirror.c projects/pf/pf45/sys/geom/raid3/g_raid3.c projects/pf/pf45/sys/geom/shsec/g_shsec.c projects/pf/pf45/sys/geom/stripe/g_stripe.c projects/pf/pf45/sys/geom/virstor/g_virstor.c projects/pf/pf45/sys/i386/conf/DEFAULTS projects/pf/pf45/sys/i386/conf/GENERIC projects/pf/pf45/sys/i386/conf/PAE projects/pf/pf45/sys/i386/conf/XBOX projects/pf/pf45/sys/i386/i386/genassym.c projects/pf/pf45/sys/i386/i386/identcpu.c projects/pf/pf45/sys/i386/i386/minidump_machdep.c projects/pf/pf45/sys/i386/include/specialreg.h projects/pf/pf45/sys/i386/pci/pci_bus.c projects/pf/pf45/sys/ia64/conf/GENERIC projects/pf/pf45/sys/ia64/ia64/dump_machdep.c projects/pf/pf45/sys/ia64/ia64/efi.c projects/pf/pf45/sys/ia64/ia64/exception.S projects/pf/pf45/sys/ia64/ia64/genassym.c projects/pf/pf45/sys/ia64/ia64/locore.S projects/pf/pf45/sys/ia64/ia64/machdep.c projects/pf/pf45/sys/ia64/ia64/mp_machdep.c projects/pf/pf45/sys/ia64/ia64/nexus.c projects/pf/pf45/sys/ia64/ia64/pmap.c projects/pf/pf45/sys/ia64/ia64/sal.c projects/pf/pf45/sys/ia64/include/ia64_cpu.h projects/pf/pf45/sys/ia64/include/pmap.h projects/pf/pf45/sys/ia64/include/smp.h projects/pf/pf45/sys/ia64/include/vmparam.h projects/pf/pf45/sys/kern/bus_if.m projects/pf/pf45/sys/kern/kern_conf.c projects/pf/pf45/sys/kern/kern_intr.c projects/pf/pf45/sys/kern/kern_jail.c projects/pf/pf45/sys/kern/kern_shutdown.c projects/pf/pf45/sys/kern/sched_4bsd.c projects/pf/pf45/sys/kern/subr_bus.c projects/pf/pf45/sys/kern/subr_rman.c projects/pf/pf45/sys/kern/subr_taskqueue.c projects/pf/pf45/sys/kern/vfs_subr.c projects/pf/pf45/sys/mips/atheros/apb.c projects/pf/pf45/sys/mips/atheros/ar71xx_chip.c projects/pf/pf45/sys/mips/atheros/ar71xx_cpudef.h projects/pf/pf45/sys/mips/atheros/ar71xx_pci.c projects/pf/pf45/sys/mips/atheros/ar724x_chip.c projects/pf/pf45/sys/mips/atheros/ar724xreg.h projects/pf/pf45/sys/mips/atheros/ar91xx_chip.c projects/pf/pf45/sys/mips/atheros/files.ar71xx projects/pf/pf45/sys/mips/atheros/if_arge.c projects/pf/pf45/sys/mips/cavium/octe/octe.c projects/pf/pf45/sys/mips/conf/AR71XX projects/pf/pf45/sys/mips/conf/AR91XX_BASE projects/pf/pf45/sys/mips/conf/OCTEON1 projects/pf/pf45/sys/mips/conf/std.SWARM projects/pf/pf45/sys/mips/idt/if_kr.c projects/pf/pf45/sys/mips/mips/dump_machdep.c projects/pf/pf45/sys/mips/mips/mainbus.c projects/pf/pf45/sys/mips/mips/nexus.c projects/pf/pf45/sys/mips/rmi/xlr_pci.c projects/pf/pf45/sys/modules/Makefile projects/pf/pf45/sys/modules/ath/Makefile projects/pf/pf45/sys/modules/cam/Makefile projects/pf/pf45/sys/modules/ext2fs/Makefile projects/pf/pf45/sys/modules/if_carp/Makefile projects/pf/pf45/sys/modules/mii/Makefile projects/pf/pf45/sys/modules/nfscl/Makefile projects/pf/pf45/sys/modules/nfsclient/Makefile projects/pf/pf45/sys/net/if_enc.c projects/pf/pf45/sys/net/if_lagg.c projects/pf/pf45/sys/net80211/ieee80211_output.c projects/pf/pf45/sys/netinet/in_pcb.c projects/pf/pf45/sys/netinet/in_proto.c projects/pf/pf45/sys/netinet/ip_carp.c projects/pf/pf45/sys/netinet/ip_icmp.c projects/pf/pf45/sys/netinet/ip_input.c projects/pf/pf45/sys/netinet/raw_ip.c projects/pf/pf45/sys/netinet/sctp_asconf.c projects/pf/pf45/sys/netinet/sctp_auth.c projects/pf/pf45/sys/netinet/sctp_bsd_addr.c projects/pf/pf45/sys/netinet/sctp_input.c projects/pf/pf45/sys/netinet/sctp_output.c projects/pf/pf45/sys/netinet/sctp_pcb.c projects/pf/pf45/sys/netinet/sctp_sysctl.c projects/pf/pf45/sys/netinet/sctp_usrreq.c projects/pf/pf45/sys/netinet/sctp_var.h projects/pf/pf45/sys/netinet/sctputil.c projects/pf/pf45/sys/netinet/sctputil.h projects/pf/pf45/sys/netinet/tcp_input.c projects/pf/pf45/sys/netinet/tcp_output.c projects/pf/pf45/sys/netinet/tcp_subr.c projects/pf/pf45/sys/netinet/tcp_syncache.c projects/pf/pf45/sys/netinet/tcp_timer.c projects/pf/pf45/sys/netinet/tcp_timewait.c projects/pf/pf45/sys/netinet/tcp_usrreq.c projects/pf/pf45/sys/netinet/tcp_var.h projects/pf/pf45/sys/netinet/udp_usrreq.c projects/pf/pf45/sys/netinet6/in6.h projects/pf/pf45/sys/netinet6/in6_pcb.c projects/pf/pf45/sys/netinet6/ip6_ipsec.c projects/pf/pf45/sys/netinet6/sctp6_usrreq.c projects/pf/pf45/sys/netinet6/udp6_usrreq.c projects/pf/pf45/sys/netipsec/ipsec_input.c projects/pf/pf45/sys/netipsec/ipsec_output.c projects/pf/pf45/sys/netipsec/key.c projects/pf/pf45/sys/netipsec/xform_ah.c projects/pf/pf45/sys/netipsec/xform_esp.c projects/pf/pf45/sys/netipsec/xform_ipcomp.c projects/pf/pf45/sys/netipsec/xform_ipip.c projects/pf/pf45/sys/nfs/nfssvc.h projects/pf/pf45/sys/nfsclient/nfs_vfsops.c projects/pf/pf45/sys/nfsclient/nfsargs.h projects/pf/pf45/sys/ofed/include/linux/file.h projects/pf/pf45/sys/ofed/include/linux/workqueue.h projects/pf/pf45/sys/pc98/conf/GENERIC projects/pf/pf45/sys/powerpc/conf/GENERIC projects/pf/pf45/sys/powerpc/conf/GENERIC64 projects/pf/pf45/sys/powerpc/powerpc/dump_machdep.c projects/pf/pf45/sys/rpc/clnt.h projects/pf/pf45/sys/rpc/clnt_rc.c projects/pf/pf45/sys/rpc/clnt_vc.c projects/pf/pf45/sys/rpc/rpcb_clnt.c projects/pf/pf45/sys/sparc64/conf/GENERIC projects/pf/pf45/sys/sparc64/pci/apb.c projects/pf/pf45/sys/sparc64/pci/ofw_pcib.c projects/pf/pf45/sys/sun4v/conf/GENERIC projects/pf/pf45/sys/sys/bus.h projects/pf/pf45/sys/sys/callout.h projects/pf/pf45/sys/sys/conf.h projects/pf/pf45/sys/sys/jail.h projects/pf/pf45/sys/sys/rctl.h projects/pf/pf45/sys/sys/rman.h projects/pf/pf45/sys/sys/taskqueue.h projects/pf/pf45/sys/sys/watchdog.h projects/pf/pf45/sys/ufs/ffs/ffs_vnops.c projects/pf/pf45/sys/vm/swap_pager.c projects/pf/pf45/sys/x86/cpufreq/powernow.c projects/pf/pf45/sys/x86/pci/qpi.c projects/pf/pf45/sys/x86/x86/dump_machdep.c projects/pf/pf45/sys/x86/x86/mptable_pci.c projects/pf/pf45/sys/x86/x86/nexus.c projects/pf/pf45/sys/x86/x86/tsc.c projects/pf/pf45/tools/tools/README projects/pf/pf45/usr.bin/calendar/calendars/calendar.freebsd projects/pf/pf45/usr.bin/clang/clang/Makefile projects/pf/pf45/usr.bin/clang/clang/clang.1 projects/pf/pf45/usr.bin/clang/tblgen/tblgen.1 projects/pf/pf45/usr.bin/login/login.c projects/pf/pf45/usr.bin/man/man.sh projects/pf/pf45/usr.bin/nfsstat/nfsstat.1 projects/pf/pf45/usr.bin/nfsstat/nfsstat.c projects/pf/pf45/usr.bin/printf/printf.1 projects/pf/pf45/usr.bin/rlogin/Makefile projects/pf/pf45/usr.bin/rlogin/rlogin.c projects/pf/pf45/usr.sbin/makefs/cd9660/cd9660_eltorito.c projects/pf/pf45/usr.sbin/mfiutil/mfi_patrol.c projects/pf/pf45/usr.sbin/mfiutil/mfi_show.c projects/pf/pf45/usr.sbin/mfiutil/mfiutil.8 projects/pf/pf45/usr.sbin/mfiutil/mfiutil.c Directory Properties: projects/pf/pf45/ (props changed) projects/pf/pf45/cddl/contrib/opensolaris/ (props changed) projects/pf/pf45/contrib/bind9/ (props changed) projects/pf/pf45/contrib/binutils/ (props changed) projects/pf/pf45/contrib/bzip2/ (props changed) projects/pf/pf45/contrib/dialog/ (props changed) projects/pf/pf45/contrib/ee/ (props changed) projects/pf/pf45/contrib/expat/ (props changed) projects/pf/pf45/contrib/file/ (props changed) projects/pf/pf45/contrib/gcc/ (props changed) projects/pf/pf45/contrib/gdb/ (props changed) projects/pf/pf45/contrib/gdtoa/ (props changed) projects/pf/pf45/contrib/gnu-sort/ (props changed) projects/pf/pf45/contrib/groff/ (props changed) projects/pf/pf45/contrib/less/ (props changed) projects/pf/pf45/contrib/libpcap/ (props changed) projects/pf/pf45/contrib/libstdc++/ (props changed) projects/pf/pf45/contrib/llvm/ (props changed) projects/pf/pf45/contrib/llvm/tools/clang/ (props changed) projects/pf/pf45/contrib/ncurses/ (props changed) projects/pf/pf45/contrib/netcat/ (props changed) projects/pf/pf45/contrib/ntp/ (props changed) projects/pf/pf45/contrib/one-true-awk/ (props changed) projects/pf/pf45/contrib/openbsm/ (props changed) projects/pf/pf45/contrib/openpam/ (props changed) projects/pf/pf45/contrib/pf/ (props changed) projects/pf/pf45/contrib/sendmail/ (props changed) projects/pf/pf45/contrib/tcpdump/ (props changed) projects/pf/pf45/contrib/tcsh/ (props changed) projects/pf/pf45/contrib/top/ (props changed) projects/pf/pf45/contrib/top/install-sh (props changed) projects/pf/pf45/contrib/tzcode/stdtime/ (props changed) projects/pf/pf45/contrib/tzcode/zic/ (props changed) projects/pf/pf45/contrib/tzdata/ (props changed) projects/pf/pf45/contrib/wpa/ (props changed) projects/pf/pf45/contrib/xz/ (props changed) projects/pf/pf45/crypto/openssh/ (props changed) projects/pf/pf45/crypto/openssl/ (props changed) projects/pf/pf45/etc/rc.d/opensm (props changed) projects/pf/pf45/gnu/lib/ (props changed) projects/pf/pf45/gnu/usr.bin/binutils/ (props changed) projects/pf/pf45/gnu/usr.bin/cc/cc_tools/ (props changed) projects/pf/pf45/gnu/usr.bin/gdb/ (props changed) projects/pf/pf45/lib/libc/ (props changed) projects/pf/pf45/lib/libc/stdtime/ (props changed) projects/pf/pf45/lib/libutil/ (props changed) projects/pf/pf45/lib/libz/ (props changed) projects/pf/pf45/sbin/ (props changed) projects/pf/pf45/sbin/ipfw/ (props changed) projects/pf/pf45/share/mk/bsd.arch.inc.mk (props changed) projects/pf/pf45/share/zoneinfo/ (props changed) projects/pf/pf45/sys/ (props changed) projects/pf/pf45/sys/amd64/include/xen/ (props changed) projects/pf/pf45/sys/boot/ (props changed) projects/pf/pf45/sys/boot/i386/efi/ (props changed) projects/pf/pf45/sys/boot/ia64/efi/ (props changed) projects/pf/pf45/sys/boot/ia64/ski/ (props changed) projects/pf/pf45/sys/boot/powerpc/boot1.chrp/ (props changed) projects/pf/pf45/sys/boot/powerpc/ofw/ (props changed) projects/pf/pf45/sys/cddl/contrib/opensolaris/ (props changed) projects/pf/pf45/sys/conf/ (props changed) projects/pf/pf45/sys/contrib/dev/acpica/ (props changed) projects/pf/pf45/sys/contrib/octeon-sdk/ (props changed) projects/pf/pf45/sys/contrib/pf/ (props changed) projects/pf/pf45/sys/contrib/x86emu/ (props changed) projects/pf/pf45/tools/build/options/makeman (props changed) projects/pf/pf45/usr.bin/calendar/ (props changed) projects/pf/pf45/usr.bin/csup/ (props changed) projects/pf/pf45/usr.bin/procstat/ (props changed) projects/pf/pf45/usr.sbin/ndiscvt/ (props changed) projects/pf/pf45/usr.sbin/zic/ (props changed) Modified: projects/pf/pf45/Makefile ============================================================================== --- projects/pf/pf45/Makefile Tue May 3 20:47:16 2011 (r221412) +++ projects/pf/pf45/Makefile Tue May 3 21:20:24 2011 (r221413) @@ -325,7 +325,7 @@ toolchains: .if make(universe) || make(universe_kernels) || make(tinderbox) || make(targets) TARGETS?=amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v TARGET_ARCHES_arm?= arm armeb -TARGET_ARCHES_mips?= mipsel mipseb mips64el mips64eb +TARGET_ARCHES_mips?= mipsel mipseb mips64el mips64eb mipsn32eb TARGET_ARCHES_powerpc?= powerpc powerpc64 TARGET_ARCHES_pc98?= i386 TARGET_ARCHES_sun4v?= sparc64 Modified: projects/pf/pf45/ObsoleteFiles.inc ============================================================================== --- projects/pf/pf45/ObsoleteFiles.inc Tue May 3 20:47:16 2011 (r221412) +++ projects/pf/pf45/ObsoleteFiles.inc Tue May 3 21:20:24 2011 (r221413) @@ -38,6 +38,14 @@ # xargs -n1 | sort | uniq -d; # done +# 20110502: new clang import which bumps version from 2.9 to 3.0 +OLD_FILES+=usr/include/clang/2.9/emmintrin.h +OLD_FILES+=usr/include/clang/2.9/mm_malloc.h +OLD_FILES+=usr/include/clang/2.9/mmintrin.h +OLD_FILES+=usr/include/clang/2.9/pmmintrin.h +OLD_FILES+=usr/include/clang/2.9/tmmintrin.h +OLD_FILES+=usr/include/clang/2.9/xmmintrin.h +OLD_DIRS+=usr/include/clang/2.9 # 20110417: removal of Objective-C support OLD_FILES+=usr/include/objc/encoding.h OLD_FILES+=usr/include/objc/hash.h @@ -4874,9 +4882,7 @@ OLD_FILES+=usr/include/netns/spidp.h OLD_FILES+=usr/include/netns/spp_debug.h OLD_FILES+=usr/include/netns/spp_timer.h OLD_FILES+=usr/include/netns/spp_var.h -OLD_FILES+=usr/include/nfs/krpc.h OLD_FILES+=usr/include/nfs/nfs.h -OLD_FILES+=usr/include/nfs/nfsdiskless.h OLD_FILES+=usr/include/nfs/nfsm_subs.h OLD_FILES+=usr/include/nfs/nfsmount.h OLD_FILES+=usr/include/nfs/nfsnode.h Modified: projects/pf/pf45/UPDATING ============================================================================== --- projects/pf/pf45/UPDATING Tue May 3 20:47:16 2011 (r221412) +++ projects/pf/pf45/UPDATING Tue May 3 21:20:24 2011 (r221413) @@ -22,6 +22,28 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20110430: + Users of the Atheros AR71xx SoC code now need to add 'device ar71xx_pci' + into their kernel configurations along with 'device pci'. + +20110427: + The default NFS client is now the new NFS client, so fstype "newnfs" + is now "nfs" and the regular/old NFS client is now fstype "oldnfs". + Although mounts via fstype "nfs" will usually work without userland + changes, it is recommended that the mount(8) and mount_nfs(8) + commands be rebuilt from sources and that a link to mount_nfs called + mount_oldnfs be created. The new client is compiled into the + kernel with "options NFSCL" and this is needed for diskless root + file systems. The GENERIC kernel configs have been changed to use + NFSCL and NFSD (the new server) instead of NFSCLIENT and NFSSERVER. + To use the regular/old client, you can "mount -t oldnfs ...". For + a diskless root file system, you must also include a line like: + + vfs.root.mountfrom="oldnfs:" + + in the boot/loader.conf on the root fs on the NFS server to make + a diskless root fs use the old client. + 20110424: The GENERIC kernels for all architectures now default to the new CAM-based ATA stack. It means that all legacy ATA drivers were @@ -30,7 +52,20 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. them respectively (adX -> adaY, acdX -> cdY, afdX -> daY, astX -> saY, where 'Y's are the sequential numbers starting from zero for each type in order of detection, unless configured otherwise with tunables, - see cam(4)). + see cam(4)). There will be symbolic links created in /dev/ to map + old adX devices to the respective adaY. They should provide basic + compatibility for file systems mounting in most cases, but they do + not support old user-level APIs and do not have respective providers + in GEOM. Consider using updated management tools with new device names. + + It is possible to load devices ahci, ata, siis and mvs as modules, + but option ATA_CAM should remain in kernel configuration to make ata + module work as CAM driver supporting legacy ATA controllers. Device ata + still can be used in modular fashion (atacore + ...). Modules atadisk + and atapi* are not used and won't affect operation in ATA_CAM mode. + Note that to use CAM-based ATA kernel should include CAM devices + scbus, pass, da (or explicitly ada), cd and optionally others. All of + them are parts of the cam module. ataraid(4) functionality is now supported by the RAID GEOM class. To use it you can load geom_raid kernel module and use graid(8) tool @@ -49,7 +84,6 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. device atapicd # ATAPI CDROM drives device atapifd # ATAPI floppy drives device atapist # ATAPI tape drives - options ATA_STATIC_ID # Static device numbering 20110423: The default NFS server has been changed to the new server, which Modified: projects/pf/pf45/bin/sh/eval.c ============================================================================== --- projects/pf/pf45/bin/sh/eval.c Tue May 3 20:47:16 2011 (r221412) +++ projects/pf/pf45/bin/sh/eval.c Tue May 3 21:20:24 2011 (r221413) @@ -420,7 +420,8 @@ evalsubshell(union node *n, int flags) INTOFF; exitstatus = waitforjob(jp, (int *)NULL); INTON; - } + } else + exitstatus = 0; } @@ -559,7 +560,8 @@ evalpipe(union node *n) exitstatus = waitforjob(jp, (int *)NULL); TRACE(("evalpipe: job done exit status %d\n", exitstatus)); INTON; - } + } else + exitstatus = 0; } @@ -1056,7 +1058,8 @@ parent: /* parent process gets here (if backcmd->fd = pip[0]; close(pip[1]); backcmd->jp = jp; - } + } else + exitstatus = 0; out: if (lastarg) Modified: projects/pf/pf45/bin/sh/options.c ============================================================================== --- projects/pf/pf45/bin/sh/options.c Tue May 3 20:47:16 2011 (r221412) +++ projects/pf/pf45/bin/sh/options.c Tue May 3 21:20:24 2011 (r221413) @@ -198,13 +198,8 @@ options(int cmdline) minus_o(*argptr, val); if (*argptr) argptr++; - } else { - if (c == 'p' && !val && privileged) { - (void) setuid(getuid()); - (void) setgid(getgid()); - } + } else setoption(c, val); - } } } return; @@ -271,10 +266,6 @@ minus_o(char *name, int val) } else { for (i = 0; i < NOPTS; i++) if (equal(name, optlist[i].name)) { - if (!val && privileged && equal(name, "privileged")) { - (void) setuid(getuid()); - (void) setgid(getgid()); - } setoption(optlist[i].letter, val); return; } @@ -288,6 +279,12 @@ setoption(int flag, int val) { int i; + if (flag == 'p' && !val && privileged) { + if (setgid(getgid()) == -1) + error("setgid"); + if (setuid(getuid()) == -1) + error("setuid"); + } for (i = 0; i < NOPTS; i++) if (optlist[i].letter == flag) { optlist[i].val = val; Modified: projects/pf/pf45/bin/stty/stty.c ============================================================================== --- projects/pf/pf45/bin/stty/stty.c Tue May 3 20:47:16 2011 (r221412) +++ projects/pf/pf45/bin/stty/stty.c Tue May 3 21:20:24 2011 (r221413) @@ -61,9 +61,11 @@ main(int argc, char *argv[]) struct info i; enum FMT fmt; int ch; + const char *file; fmt = NOTSET; i.fd = STDIN_FILENO; + file = "stdin"; opterr = 0; while (optind < argc && @@ -79,6 +81,7 @@ main(int argc, char *argv[]) case 'f': if ((i.fd = open(optarg, O_RDONLY | O_NONBLOCK)) < 0) err(1, "%s", optarg); + file = optarg; break; case 'g': fmt = GFLAG; @@ -92,7 +95,7 @@ args: argc -= optind; argv += optind; if (tcgetattr(i.fd, &i.t) < 0) - errx(1, "stdin isn't a terminal"); + errx(1, "%s isn't a terminal", file); if (ioctl(i.fd, TIOCGETD, &i.ldisc) < 0) err(1, "TIOCGETD"); if (ioctl(i.fd, TIOCGWINSZ, &i.win) < 0) Modified: projects/pf/pf45/cddl/compat/opensolaris/misc/zmount.c ============================================================================== --- projects/pf/pf45/cddl/compat/opensolaris/misc/zmount.c Tue May 3 20:47:16 2011 (r221412) +++ projects/pf/pf45/cddl/compat/opensolaris/misc/zmount.c Tue May 3 21:20:24 2011 (r221413) @@ -98,8 +98,10 @@ zmount(const char *spec, const char *dir build_iovec(&iov, &iovlen, "fspath", __DECONST(char *, dir), (size_t)-1); build_iovec(&iov, &iovlen, "from", __DECONST(char *, spec), (size_t)-1); - for (p = optstr; p != NULL; strsep(&p, ",/ ")) - build_iovec(&iov, &iovlen, p, NULL, (size_t)-1); + for (p = optstr; p != NULL; strsep(&p, ",/ ")) { + if (*p != '\0') + build_iovec(&iov, &iovlen, p, NULL, (size_t)-1); + } rv = nmount(iov, iovlen, 0); free(optstr); return (rv); Modified: projects/pf/pf45/contrib/bsnmp/snmp_mibII/mibII_interfaces.c ============================================================================== --- projects/pf/pf45/contrib/bsnmp/snmp_mibII/mibII_interfaces.c Tue May 3 20:47:16 2011 (r221412) +++ projects/pf/pf45/contrib/bsnmp/snmp_mibII/mibII_interfaces.c Tue May 3 21:20:24 2011 (r221413) @@ -289,8 +289,7 @@ op_ifentry(struct snmp_context *ctx, str * cable) and hence return 'dormant'. */ if (ifp->mib.ifmd_flags & IFF_RUNNING) { - if (ifp->mib.ifmd_data.ifi_link_state == - LINK_STATE_DOWN) + if (ifp->mib.ifmd_data.ifi_link_state != LINK_STATE_UP) value->v.integer = 5; /* state dormant */ else value->v.integer = 1; /* state up */ Copied: projects/pf/pf45/contrib/gcc/ChangeLog.gcc43 (from r221412, head/contrib/gcc/ChangeLog.gcc43) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/gcc/ChangeLog.gcc43 Tue May 3 21:20:24 2011 (r221413, copy of r221412, head/contrib/gcc/ChangeLog.gcc43) @@ -0,0 +1,163 @@ +2007-05-01 Dwarakanath Rajagopal (r124339) + + * config/i386/i386.c (override_options): Accept k8-sse3, opteron-sse3 + and athlon64-sse3 as improved versions of k8, opteron and athlon64 + with SSE3 instruction set support. + * doc/invoke.texi: Likewise. + +2007-04-07 H.J. Lu (r123639) + + * config/i386/i386.c (ix86_handle_option): Handle SSSE3. + +2007-02-08 Harsha Jagasia (r121726) + + * config/i386/xmmintrin.h: Make inclusion of emmintrin.h + conditional to __SSE2__. + (Entries below should have been added to first ChangeLog + entry for amdfam10 dated 2007-02-05) + * config/i386/emmintrin.h: Generate #error if __SSE2__ is not + defined. + * config/i386/pmmintrin.h: Generate #error if __SSE3__ is not + defined. + * config/i386/tmmintrin.h: Generate #error if __SSSE3__ is not + defined. + +2007-02-07 Jakub Jelinek (r121687) + + * config/i386/i386.c (override_options): Set PTA_SSSE3 for core2. + +2007-01-17 Eric Christopher (r120846) + + * config.gcc: Support core2 processor. + +2006-12-02 H.J. Lu (r119454 - partial) + + PR target/30040 + * config/i386/driver-i386.c (bit_SSSE3): New. + +2006-11-18 Vladimir Makarov (r118973) + + * doc/invoke.texi (core2): Add item. + + * config/i386/i386.h (TARGET_CORE2, TARGET_CPU_DEFAULT_core2): New + macros. + (TARGET_CPU_CPP_BUILTINS): Add code for core2. + (TARGET_CPU_DEFAULT_generic): Change value. + (TARGET_CPU_DEFAULT_NAMES): Add core2. + (processor_type): Add new constant PROCESSOR_CORE2. + + * config/i386/i386.md (cpu): Add core2. + + * config/i386/i386.c (core2_cost): New initialized variable. + (m_CORE2): New macro. + (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen, + x86_deep_branch, x86_partial_reg_stall, x86_use_simode_fiop, + x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8, + x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves, + x86_partial_reg_dependency, x86_memory_mismatch_stall, + x86_accumulate_outgoing_args, x86_prologue_using_move, + x86_epilogue_using_move, x86_arch_always_fancy_math_387, + x86_sse_partial_reg_dependency, x86_rep_movl_optimal, + x86_use_incdec, x86_four_jump_limit, x86_schedule, + x86_pad_returns): Add m_CORE2. + (override_options): Add entries for Core2. + (ix86_issue_rate): Add case for Core2. + +2006-10-27 Vladimir Makarov (r118090) + + * config/i386/i386.h (TARGET_GEODE): + (TARGET_CPU_CPP_BUILTINS): Add code for geode. + (TARGET_CPU_DEFAULT_geode): New macro. + (TARGET_CPU_DEFAULT_k6, TARGET_CPU_DEFAULT_k6_2, + TARGET_CPU_DEFAULT_k6_3, TARGET_CPU_DEFAULT_athlon, + TARGET_CPU_DEFAULT_athlon_sse, TARGET_CPU_DEFAULT_k8, + TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_prescott, + TARGET_CPU_DEFAULT_nocona, TARGET_CPU_DEFAULT_generic): Increase + the macro values. + (TARGET_CPU_DEFAULT_NAMES): Add geode. + (processor_type): Add PROCESSOR_GEODE. + + * config/i386/i386.md: Include geode.md. + (cpu): Add geode. + + * config/i386/i386.c (geode_cost): New initialized global + variable. + (m_GEODE, m_K6_GEODE): New macros. + (x86_use_leave, x86_push_memory, x86_deep_branch, x86_use_sahf, + x86_use_himode_fiop, x86_promote_QImode, x86_add_esp_4, + x86_add_esp_8, x86_rep_movl_optimal, x86_ext_80387_constants, + x86_schedule): Use m_K6_GEODE instead of m_K6. + (x86_movx, x86_cmove): Set up m_GEODE. + (x86_integer_DFmode_moves): Clear m_GEODE. + (processor_target_table): Add entry for geode. + (processor_alias_table): Ditto. + + * config/i386/geode.md: New file. + + * doc/invoke.texi: Add entry about geode processor. + +2006-10-22 H.J. Lu (r117958) + + * config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers. + (x86_64-*-*): Likewise. + + * config/i386/i386.c (pta_flags): Add PTA_SSSE3. + (override_options): Check SSSE3. + (ix86_builtins): Add IX86_BUILTIN_PHADDW, IX86_BUILTIN_PHADDD, + IX86_BUILTIN_PHADDSW, IX86_BUILTIN_PHSUBW, IX86_BUILTIN_PHSUBD, + IX86_BUILTIN_PHSUBSW, IX86_BUILTIN_PMADDUBSW, + IX86_BUILTIN_PMULHRSW, IX86_BUILTIN_PSHUFB, + IX86_BUILTIN_PSIGNB, IX86_BUILTIN_PSIGNW, IX86_BUILTIN_PSIGND, + IX86_BUILTIN_PALIGNR, IX86_BUILTIN_PABSB, IX86_BUILTIN_PABSW, + IX86_BUILTIN_PABSD, IX86_BUILTIN_PHADDW128, + IX86_BUILTIN_PHADDD128, IX86_BUILTIN_PHADDSW128, + IX86_BUILTIN_PHSUBW128, IX86_BUILTIN_PHSUBD128, + IX86_BUILTIN_PHSUBSW128, IX86_BUILTIN_PMADDUBSW128, + IX86_BUILTIN_PMULHRSW128, IX86_BUILTIN_PSHUFB128, + IX86_BUILTIN_PSIGNB128, IX86_BUILTIN_PSIGNW128, + IX86_BUILTIN_PSIGND128, IX86_BUILTIN_PALIGNR128, + IX86_BUILTIN_PABSB128, IX86_BUILTIN_PABSW128 and + IX86_BUILTIN_PABSD128. + (bdesc_2arg): Add SSSE3. + (bdesc_1arg): Likewise. + (ix86_init_mmx_sse_builtins): Support SSSE3. + (ix86_expand_builtin): Likewise. + * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Likewise. + + * config/i386/i386.md (UNSPEC_PSHUFB): New. + (UNSPEC_PSIGN): Likewise. + (UNSPEC_PALIGNR): Likewise. + Include mmx.md before sse.md. + + * config/i386/i386.opt: Add -mssse3. + + * config/i386/sse.md (ssse3_phaddwv8hi3): New pattern for SSSE3. + (ssse3_phaddwv4hi3): Likewise. + (ssse3_phadddv4si3): Likewise. + (ssse3_phadddv2si3): Likewise. + (ssse3_phaddswv8hi3): Likewise. + (ssse3_phaddswv4hi3): Likewise. + (ssse3_phsubwv8hi3): Likewise. + (ssse3_phsubwv4hi3): Likewise. + (ssse3_phsubdv4si3): Likewise. + (ssse3_phsubdv2si3): Likewise. + (ssse3_phsubswv8hi3): Likewise. + (ssse3_phsubswv4hi3): Likewise. + (ssse3_pmaddubswv8hi3): Likewise. + (ssse3_pmaddubswv4hi3): Likewise. + (ssse3_pmulhrswv8hi3): Likewise. + (ssse3_pmulhrswv4hi3): Likewise. + (ssse3_pshufbv16qi3): Likewise. + (ssse3_pshufbv8qi3): Likewise. + (ssse3_psign3): Likewise. + (ssse3_psign3): Likewise. + (ssse3_palignrti): Likewise. + (ssse3_palignrdi): Likewise. + (abs2): Likewise. + (abs2): Likewise. + + * config/i386/tmmintrin.h: New file. + + * doc/extend.texi: Document SSSE3 built-in functions. + + * doc/invoke.texi: Document -mssse3/-mno-ssse3 switches. Modified: projects/pf/pf45/contrib/less/README ============================================================================== --- projects/pf/pf45/contrib/less/README Tue May 3 20:47:16 2011 (r221412) +++ projects/pf/pf45/contrib/less/README Tue May 3 21:20:24 2011 (r221413) @@ -1,3 +1,11 @@ +************************************************************************** +************************************************************************** +** ** +** The FreeBSD Project has chosen to redistribute and modify Less under ** +** the 'Less License' (as described in the 'LICENSE' file). ** +** ** +************************************************************************** +************************************************************************** Less, version 436 Copied: projects/pf/pf45/contrib/llvm/include/llvm-c/Disassembler.h (from r221412, head/contrib/llvm/include/llvm-c/Disassembler.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/llvm/include/llvm-c/Disassembler.h Tue May 3 21:20:24 2011 (r221413, copy of r221412, head/contrib/llvm/include/llvm-c/Disassembler.h) @@ -0,0 +1,149 @@ +/*===-- llvm-c/Disassembler.h - Disassembler Public C Interface ---*- C -*-===*\ +|* *| +|* The LLVM Compiler Infrastructure *| +|* *| +|* This file is distributed under the University of Illinois Open Source *| +|* License. See LICENSE.TXT for details. *| +|* *| +|*===----------------------------------------------------------------------===*| +|* *| +|* This header provides public interface to a disassembler library. *| +|* LLVM provides an implementation of this interface. *| +|* *| +\*===----------------------------------------------------------------------===*/ + +#ifndef LLVM_C_DISASSEMBLER_H +#define LLVM_C_DISASSEMBLER_H 1 + +#include +#include "llvm/Support/DataTypes.h" + +/** + * An opaque reference to a disassembler context. + */ +typedef void *LLVMDisasmContextRef; + +/** + * The type for the operand information call back function. This is called to + * get the symbolic information for an operand of an instruction. Typically + * this is from the relocation information, symbol table, etc. That block of + * information is saved when the disassembler context is created and passed to + * the call back in the DisInfo parameter. The instruction containing operand + * is at the PC parameter. For some instruction sets, there can be more than + * one operand with symbolic information. To determine the symbolic operand + * information for each operand, the bytes for the specific operand in the + * instruction are specified by the Offset parameter and its byte widith is the + * size parameter. For instructions sets with fixed widths and one symbolic + * operand per instruction, the Offset parameter will be zero and Size parameter + * will be the instruction width. The information is returned in TagBuf and is + * Triple specific with its specific information defined by the value of + * TagType for that Triple. If symbolic information is returned the function + * returns 1 else it returns 0. + */ +typedef int (*LLVMOpInfoCallback)(void *DisInfo, + uint64_t PC, + uint64_t Offset, + uint64_t Size, + int TagType, + void *TagBuf); + +/** + * The initial support in LLVM MC for the most general form of a relocatable + * expression is "AddSymbol - SubtractSymbol + Offset". For some Darwin targets + * this full form is encoded in the relocation information so that AddSymbol and + * SubtractSymbol can be link edited independent of each other. Many other + * platforms only allow a relocatable expression of the form AddSymbol + Offset + * to be encoded. + * + * The LLVMOpInfoCallback() for the TagType value of 1 uses the struct + * LLVMOpInfo1. The value of the relocatable expression for the operand, + * including any PC adjustment, is passed in to the call back in the Value + * field. The symbolic information about the operand is returned using all + * the fields of the structure with the Offset of the relocatable expression + * returned in the Value field. It is possible that some symbols in the + * relocatable expression were assembly temporary symbols, for example + * "Ldata - LpicBase + constant", and only the Values of the symbols without + * symbol names are present in the relocation information. The VariantKind + * type is one of the Target specific #defines below and is used to print + * operands like "_foo@GOT", ":lower16:_foo", etc. + */ +struct LLVMOpInfoSymbol1 { + uint64_t Present; /* 1 if this symbol is present */ + char *Name; /* symbol name if not NULL */ + uint64_t Value; /* symbol value if name is NULL */ +}; +struct LLVMOpInfo1 { + struct LLVMOpInfoSymbol1 AddSymbol; + struct LLVMOpInfoSymbol1 SubtractSymbol; + uint64_t Value; + uint64_t VariantKind; +}; + +/** + * The operand VariantKinds for symbolic disassembly. + */ +#define LLVMDisassembler_VariantKind_None 0 /* all targets */ + +/** + * The ARM target VariantKinds. + */ +#define LLVMDisassembler_VariantKind_ARM_HI16 1 /* :upper16: */ +#define LLVMDisassembler_VariantKind_ARM_LO16 2 /* :lower16: */ + +/** + * The type for the symbol lookup function. This may be called by the + * disassembler for such things like adding a comment for a PC plus a constant + * offset load instruction to use a symbol name instead of a load address value. + * It is passed the block information is saved when the disassembler context is + * created and a value of a symbol to look up. If no symbol is found NULL is + * to be returned. + */ +typedef const char *(*LLVMSymbolLookupCallback)(void *DisInfo, + uint64_t SymbolValue); + +#ifdef __cplusplus +extern "C" { +#endif /* !defined(__cplusplus) */ + +/** + * Create a disassembler for the TripleName. Symbolic disassembly is supported + * by passing a block of information in the DisInfo parameter and specifing the + * TagType and call back functions as described above. These can all be passed + * as NULL. If successful this returns a disassembler context if not it + * returns NULL. + */ +extern LLVMDisasmContextRef +LLVMCreateDisasm(const char *TripleName, + void *DisInfo, + int TagType, + LLVMOpInfoCallback GetOpInfo, + LLVMSymbolLookupCallback SymbolLookUp); + +/** + * Dispose of a disassembler context. + */ +extern void +LLVMDisasmDispose(LLVMDisasmContextRef DC); + +/** + * Disassmble a single instruction using the disassembler context specified in + * the parameter DC. The bytes of the instruction are specified in the parameter + * Bytes, and contains at least BytesSize number of bytes. The instruction is + * at the address specified by the PC parameter. If a valid instruction can be + * disassembled its string is returned indirectly in OutString which whos size + * is specified in the parameter OutStringSize. This function returns the + * number of bytes in the instruction or zero if there was no valid instruction. + */ +extern size_t +LLVMDisasmInstruction(LLVMDisasmContextRef DC, + uint8_t *Bytes, + uint64_t BytesSize, + uint64_t PC, + char *OutString, + size_t OutStringSize); + +#ifdef __cplusplus +} +#endif /* !defined(__cplusplus) */ + +#endif /* !defined(LLVM_C_DISASSEMBLER_H) */ Modified: projects/pf/pf45/contrib/llvm/include/llvm-c/EnhancedDisassembly.h ============================================================================== --- projects/pf/pf45/contrib/llvm/include/llvm-c/EnhancedDisassembly.h Tue May 3 20:47:16 2011 (r221412) +++ projects/pf/pf45/contrib/llvm/include/llvm-c/EnhancedDisassembly.h Tue May 3 21:20:24 2011 (r221413) @@ -44,7 +44,7 @@ typedef int (*EDByteReaderCallback)(uint @param arg An anonymous argument for client use. @result 0 if the register could be read; -1 otherwise. */ -typedef int (*EDRegisterReaderCallback)(uint64_t *value, unsigned regID, +typedef int (*EDRegisterReaderCallback)(uint64_t *value, unsigned regID, void* arg); /*! @@ -83,7 +83,7 @@ typedef void *EDTokenRef; Encapsulates an operand of an instruction. */ typedef void *EDOperandRef; - + /*! @functiongroup Getting a disassembler */ @@ -91,7 +91,7 @@ typedef void *EDOperandRef; /*! @function EDGetDisassembler Gets the disassembler for a given target. - @param disassembler A pointer whose target will be filled in with the + @param disassembler A pointer whose target will be filled in with the disassembler. @param triple Identifies the target. Example: "x86_64-apple-darwin10" @param syntax The assembly syntax to use when decoding instructions. @@ -104,12 +104,12 @@ int EDGetDisassembler(EDDisassemblerRef /*! @functiongroup Generic architectural queries */ - + /*! @function EDGetRegisterName Gets the human-readable name for a given register. @param regName A pointer whose target will be pointed at the name of the - register. The name does not need to be deallocated and will be + register. The name does not need to be deallocated and will be @param disassembler The disassembler to query for the name. @param regID The register identifier, as returned by EDRegisterTokenValue. @result 0 on success; -1 otherwise. @@ -117,7 +117,7 @@ int EDGetDisassembler(EDDisassemblerRef int EDGetRegisterName(const char** regName, EDDisassemblerRef disassembler, unsigned regID); - + /*! @function EDRegisterIsStackPointer Determines if a register is one of the platform's stack-pointer registers. @@ -137,16 +137,16 @@ int EDRegisterIsStackPointer(EDDisassemb */ int EDRegisterIsProgramCounter(EDDisassemblerRef disassembler, unsigned regID); - + /*! @functiongroup Creating and querying instructions */ - + /*! @function EDCreateInst Gets a set of contiguous instructions from a disassembler. @param insts A pointer to an array that will be filled in with the - instructions. Must have at least count entries. Entries not filled in will + instructions. Must have at least count entries. Entries not filled in will be set to NULL. @param count The maximum number of instructions to fill in. @param disassembler The disassembler to use when decoding the instructions. @@ -197,7 +197,7 @@ int EDGetInstString(const char **buf, @result 0 on success; -1 otherwise. */ int EDInstID(unsigned *instID, EDInstRef inst); - + /*! @function EDInstIsBranch @param inst The instruction to be queried. @@ -217,7 +217,7 @@ int EDInstIsMove(EDInstRef inst); /*! @function EDBranchTargetID @param inst The instruction to be queried. - @result The ID of the branch target operand, suitable for use with + @result The ID of the branch target operand, suitable for use with EDCopyOperand. -1 if no such operand exists. */ int EDBranchTargetID(EDInstRef inst); @@ -225,7 +225,7 @@ int EDBranchTargetID(EDInstRef inst); /*! @function EDMoveSourceID @param inst The instruction to be queried. - @result The ID of the move source operand, suitable for use with + @result The ID of the move source operand, suitable for use with EDCopyOperand. -1 if no such operand exists. */ int EDMoveSourceID(EDInstRef inst); @@ -233,7 +233,7 @@ int EDMoveSourceID(EDInstRef inst); /*! @function EDMoveTargetID @param inst The instruction to be queried. - @result The ID of the move source operand, suitable for use with + @result The ID of the move source operand, suitable for use with EDCopyOperand. -1 if no such operand exists. */ int EDMoveTargetID(EDInstRef inst); @@ -241,7 +241,7 @@ int EDMoveTargetID(EDInstRef inst); /*! @functiongroup Creating and querying tokens */ - + /*! @function EDNumTokens @param inst The instruction to be queried. @@ -261,7 +261,7 @@ int EDNumTokens(EDInstRef inst); int EDGetToken(EDTokenRef *token, EDInstRef inst, int index); - + /*! @function EDGetTokenString Gets the disassembled text for a token. @@ -287,7 +287,7 @@ int EDOperandIndexForToken(EDTokenRef to @result 1 if the token is whitespace; 0 if not; -1 on error. */ int EDTokenIsWhitespace(EDTokenRef token); - + /*! @function EDTokenIsPunctuation @param token The token to be queried. @@ -335,18 +335,18 @@ int EDLiteralTokenAbsoluteValue(uint64_t /*! @function EDRegisterTokenValue - @param registerID A pointer whose target will be filled in with the LLVM + @param registerID A pointer whose target will be filled in with the LLVM register identifier for the token. @param token The token to be queried. @result 0 on success; -1 otherwise. */ int EDRegisterTokenValue(unsigned *registerID, EDTokenRef token); - + /*! @functiongroup Creating and querying operands */ - + /*! @function EDNumOperands @param inst The instruction to be queried. @@ -366,7 +366,7 @@ int EDNumOperands(EDInstRef inst); int EDGetOperand(EDOperandRef *operand, EDInstRef inst, int index); - + /*! @function EDOperandIsRegister @param operand The operand to be queried. @@ -391,13 +391,13 @@ int EDOperandIsMemory(EDOperandRef opera /*! @function EDRegisterOperandValue @param value A pointer whose target will be filled in with the LLVM register ID - of the register named by the operand. + of the register named by the operand. @param operand The operand to be queried. @result 0 on success; -1 otherwise. */ int EDRegisterOperandValue(unsigned *value, EDOperandRef operand); - + /*! @function EDImmediateOperandValue @param value A pointer whose target will be filled in with the value of the @@ -427,7 +427,7 @@ int EDEvaluateOperand(uint64_t *result, EDOperandRef operand, EDRegisterReaderCallback regReader, void *arg); - + #ifdef __BLOCKS__ /*! @@ -458,13 +458,13 @@ typedef int (^EDRegisterBlock_t)(uint64_ typedef int (^EDTokenVisitor_t)(EDTokenRef token); /*! @functiongroup Block-based interfaces */ - + /*! @function EDBlockCreateInsts Gets a set of contiguous instructions from a disassembler, using a block to read memory. @param insts A pointer to an array that will be filled in with the - instructions. Must have at least count entries. Entries not filled in will + instructions. Must have at least count entries. Entries not filled in will be set to NULL. @param count The maximum number of instructions to fill in. @param disassembler The disassembler to use when decoding the instructions. @@ -505,7 +505,7 @@ int EDBlockVisitTokens(EDInstRef inst, EDTokenVisitor_t visitor); #endif - + #ifdef __cplusplus } #endif Copied: projects/pf/pf45/contrib/llvm/include/llvm-c/Object.h (from r221412, head/contrib/llvm/include/llvm-c/Object.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/llvm/include/llvm-c/Object.h Tue May 3 21:20:24 2011 (r221413, copy of r221412, head/contrib/llvm/include/llvm-c/Object.h) @@ -0,0 +1,77 @@ +/*===-- llvm-c/Object.h - Object Lib C Iface --------------------*- C++ -*-===*/ +/* */ +/* The LLVM Compiler Infrastructure */ +/* */ +/* This file is distributed under the University of Illinois Open Source */ +/* License. See LICENSE.TXT for details. */ +/* */ +/*===----------------------------------------------------------------------===*/ +/* */ +/* This header declares the C interface to libLLVMObject.a, which */ +/* implements object file reading and writing. */ +/* */ +/* Many exotic languages can interoperate with C code but have a harder time */ +/* with C++ due to name mangling. So in addition to C, this interface enables */ +/* tools written in such languages. */ +/* */ +/*===----------------------------------------------------------------------===*/ + +#ifndef LLVM_C_OBJECT_H +#define LLVM_C_OBJECT_H + +#include "llvm-c/Core.h" +#include "llvm/Config/llvm-config.h" + +#ifdef __cplusplus +#include "llvm/Object/ObjectFile.h" + +extern "C" { +#endif + + +typedef struct LLVMOpaqueObjectFile *LLVMObjectFileRef; + +typedef struct LLVMOpaqueSectionIterator *LLVMSectionIteratorRef; + +LLVMObjectFileRef LLVMCreateObjectFile(LLVMMemoryBufferRef MemBuf); +void LLVMDisposeObjectFile(LLVMObjectFileRef ObjectFile); + +LLVMSectionIteratorRef LLVMGetSections(LLVMObjectFileRef ObjectFile); +void LLVMDisposeSectionIterator(LLVMSectionIteratorRef SI); +LLVMBool LLVMIsSectionIteratorAtEnd(LLVMObjectFileRef ObjectFile, + LLVMSectionIteratorRef SI); +void LLVMMoveToNextSection(LLVMSectionIteratorRef SI); +const char *LLVMGetSectionName(LLVMSectionIteratorRef SI); +uint64_t LLVMGetSectionSize(LLVMSectionIteratorRef SI); +const char *LLVMGetSectionContents(LLVMSectionIteratorRef SI); + + +#ifdef __cplusplus +} + +namespace llvm { + namespace object { + inline ObjectFile *unwrap(LLVMObjectFileRef OF) { + return reinterpret_cast(OF); + } + + inline LLVMObjectFileRef wrap(const ObjectFile *OF) { + return reinterpret_cast(const_cast(OF)); + } + + inline ObjectFile::section_iterator *unwrap(LLVMSectionIteratorRef SI) { + return reinterpret_cast(SI); + } + + inline LLVMSectionIteratorRef + wrap(const ObjectFile::section_iterator *SI) { + return reinterpret_cast + (const_cast(SI)); + } + } +} + +#endif /* defined(__cplusplus) */ + +#endif + Modified: projects/pf/pf45/contrib/llvm/include/llvm-c/Transforms/Scalar.h ============================================================================== --- projects/pf/pf45/contrib/llvm/include/llvm-c/Transforms/Scalar.h Tue May 3 20:47:16 2011 (r221412) +++ projects/pf/pf45/contrib/llvm/include/llvm-c/Transforms/Scalar.h Tue May 3 21:20:24 2011 (r221413) @@ -52,6 +52,9 @@ void LLVMAddLICMPass(LLVMPassManagerRef /** See llvm::createLoopDeletionPass function. */ void LLVMAddLoopDeletionPass(LLVMPassManagerRef PM); +/** See llvm::createLoopIdiomPass function */ +void LLVMAddLoopIdiomPass(LLVMPassManagerRef PM); + /** See llvm::createLoopRotatePass function. */ void LLVMAddLoopRotatePass(LLVMPassManagerRef PM); @@ -77,6 +80,9 @@ void LLVMAddSCCPPass(LLVMPassManagerRef void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM); /** See llvm::createScalarReplAggregatesPass function. */ +void LLVMAddScalarReplAggregatesPassSSA(LLVMPassManagerRef PM); + +/** See llvm::createScalarReplAggregatesPass function. */ void LLVMAddScalarReplAggregatesPassWithThreshold(LLVMPassManagerRef PM, int Threshold); @@ -95,6 +101,19 @@ void LLVMAddDemoteMemoryToRegisterPass(L /** See llvm::createVerifierPass function. */ void LLVMAddVerifierPass(LLVMPassManagerRef PM); +/** See llvm::createCorrelatedValuePropagationPass function */ +void LLVMAddCorrelatedValuePropagationPass(LLVMPassManagerRef PM); + +/** See llvm::createEarlyCSEPass function */ +void LLVMAddEarlyCSEPass(LLVMPassManagerRef PM); + +/** See llvm::createTypeBasedAliasAnalysisPass function */ +void LLVMAddTypeBasedAliasAnalysisPass(LLVMPassManagerRef PM); + +/** See llvm::createBasicAliasAnalysisPass function */ +void LLVMAddBasicAliasAnalysisPass(LLVMPassManagerRef PM); + + #ifdef __cplusplus } #endif /* defined(__cplusplus) */ Modified: projects/pf/pf45/contrib/llvm/include/llvm-c/lto.h ============================================================================== --- projects/pf/pf45/contrib/llvm/include/llvm-c/lto.h Tue May 3 20:47:16 2011 (r221412) +++ projects/pf/pf45/contrib/llvm/include/llvm-c/lto.h Tue May 3 21:20:24 2011 (r221413) @@ -72,7 +72,7 @@ lto_get_version(void); /** - * Returns the last error string or NULL if last operation was sucessful. + * Returns the last error string or NULL if last operation was successful. */ extern const char* lto_get_error_message(void); @@ -127,7 +127,15 @@ lto_module_create_from_memory(const void * Returns NULL on error (check lto_get_error_message() for details). */ extern lto_module_t -lto_module_create_from_fd(int fd, const char *path, off_t size); +lto_module_create_from_fd(int fd, const char *path, size_t file_size); + +/** + * Loads an object file from disk. The seek point of fd is not preserved. + * Returns NULL on error (check lto_get_error_message() for details). + */ +extern lto_module_t +lto_module_create_from_fd_at_offset(int fd, const char *path, size_t file_size, + size_t map_size, off_t offset); /** @@ -255,7 +263,7 @@ lto_codegen_write_merged_modules(lto_cod /** * Generates code for all added modules into one native object file. - * On sucess returns a pointer to a generated mach-o/ELF buffer and + * On success returns a pointer to a generated mach-o/ELF buffer and * length set to the buffer size. The buffer is owned by the * lto_code_gen_t and will be freed when lto_codegen_dispose() * is called, or lto_codegen_compile() is called again. @@ -264,6 +272,13 @@ lto_codegen_write_merged_modules(lto_cod extern const void* lto_codegen_compile(lto_code_gen_t cg, size_t* length); +/** + * Generates code for all added modules into one native object file. + * The name of the file is written to name. Returns true on error. + */ +extern bool +lto_codegen_compile_to_file(lto_code_gen_t cg, const char** name); + /** * Sets options to help debug codegen bugs. Modified: projects/pf/pf45/contrib/llvm/include/llvm/ADT/APFloat.h ============================================================================== --- projects/pf/pf45/contrib/llvm/include/llvm/ADT/APFloat.h Tue May 3 20:47:16 2011 (r221412) +++ projects/pf/pf45/contrib/llvm/include/llvm/ADT/APFloat.h Tue May 3 21:20:24 2011 (r221413) @@ -353,6 +353,10 @@ namespace llvm { unsigned FormatPrecision = 0, unsigned FormatMaxPadding = 3) const; + /// getExactInverse - If this value has an exact multiplicative inverse, + /// store it in inv and return true. + bool getExactInverse(APFloat *inv) const; + private: /* Trivial queries. */ Modified: projects/pf/pf45/contrib/llvm/include/llvm/ADT/APInt.h ============================================================================== --- projects/pf/pf45/contrib/llvm/include/llvm/ADT/APInt.h Tue May 3 20:47:16 2011 (r221412) +++ projects/pf/pf45/contrib/llvm/include/llvm/ADT/APInt.h Tue May 3 21:20:24 2011 (r221413) @@ -818,6 +818,7 @@ public: APInt usub_ov(const APInt &RHS, bool &Overflow) const; APInt sdiv_ov(const APInt &RHS, bool &Overflow) const; APInt smul_ov(const APInt &RHS, bool &Overflow) const; + APInt umul_ov(const APInt &RHS, bool &Overflow) const; APInt sshl_ov(unsigned Amt, bool &Overflow) const; /// @returns the bit value at bitPosition @@ -1372,7 +1373,7 @@ public: /// Calculate the magic number for unsigned division by a constant. struct mu; - mu magicu() const; + mu magicu(unsigned LeadingZeros = 0) const; /// @} /// @name Building-block Operations for APInt and APFloat Modified: projects/pf/pf45/contrib/llvm/include/llvm/ADT/ArrayRef.h ============================================================================== --- projects/pf/pf45/contrib/llvm/include/llvm/ADT/ArrayRef.h Tue May 3 20:47:16 2011 (r221412) +++ projects/pf/pf45/contrib/llvm/include/llvm/ADT/ArrayRef.h Tue May 3 21:20:24 2011 (r221413) @@ -22,8 +22,8 @@ namespace llvm { /// /// This class does not own the underlying data, it is expected to be used in /// situations where the data resides in some other buffer, whose lifetime - /// extends past that of the StringRef. For this reason, it is not in general - /// safe to store a ArrayRef. + /// extends past that of the ArrayRef. For this reason, it is not in general + /// safe to store an ArrayRef. /// /// This is intended to be trivially copyable, so it should be passed by /// value. @@ -79,6 +79,8 @@ namespace llvm { /// empty - Check if the array is empty. bool empty() const { return Length == 0; } *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed May 4 00:43:06 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A9377106566C; Wed, 4 May 2011 00:43:06 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 952738FC08; Wed, 4 May 2011 00:43:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p440h6E2022937; Wed, 4 May 2011 00:43:06 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p440h6IL022918; Wed, 4 May 2011 00:43:06 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201105040043.p440h6IL022918@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Wed, 4 May 2011 00:43:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221414 - in projects/pf/pf45: contrib/dialog contrib/dialog/po contrib/dialog/samples etc/periodic/daily etc/rc.d lib/libc/sys lib/libcrypt lib/libedit lib/libmd share/examples/kld/fir... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 00:43:06 -0000 Author: bz Date: Wed May 4 00:43:06 2011 New Revision: 221414 URL: http://svn.freebsd.org/changeset/base/221414 Log: Cleanup some of the previously merged but not really tracked files to reduce diffs to head. Reflect properties from head on the (locally) added files. Added: projects/pf/pf45/contrib/dialog/argv.c projects/pf/pf45/contrib/dialog/po/sl.po projects/pf/pf45/contrib/dialog/prgbox.c projects/pf/pf45/contrib/dialog/rename.sh (contents, props changed) projects/pf/pf45/contrib/dialog/samples/msgbox-utf8 (contents, props changed) projects/pf/pf45/contrib/dialog/samples/pause-both (contents, props changed) projects/pf/pf45/contrib/dialog/samples/pause-extra (contents, props changed) projects/pf/pf45/contrib/dialog/samples/prgbox (contents, props changed) projects/pf/pf45/contrib/dialog/samples/prgbox2 (contents, props changed) projects/pf/pf45/contrib/dialog/samples/programbox (contents, props changed) projects/pf/pf45/contrib/dialog/samples/programbox2 (contents, props changed) projects/pf/pf45/contrib/dialog/samples/shortlist (contents, props changed) projects/pf/pf45/contrib/dialog/samples/textbox-both (contents, props changed) projects/pf/pf45/contrib/dialog/samples/textbox-help (contents, props changed) projects/pf/pf45/etc/periodic/daily/220.backup-pkgdb (contents, props changed) projects/pf/pf45/etc/rc.d/rctl (contents, props changed) projects/pf/pf45/lib/libc/sys/posix_fallocate.2 (contents, props changed) projects/pf/pf45/lib/libcrypt/crypt-sha256.c (contents, props changed) projects/pf/pf45/lib/libcrypt/crypt-sha512.c (contents, props changed) projects/pf/pf45/lib/libedit/chartype.h (contents, props changed) projects/pf/pf45/lib/libedit/histedit.h (contents, props changed) projects/pf/pf45/lib/libedit/readline.c (contents, props changed) projects/pf/pf45/lib/libmd/sha512.3 (contents, props changed) projects/pf/pf45/lib/libmd/sha512.h (contents, props changed) projects/pf/pf45/lib/libmd/sha512c.c (contents, props changed) projects/pf/pf45/share/examples/kld/firmware/fwimage/firmware.img.uu (contents, props changed) projects/pf/pf45/share/man/man4/nvram2env.4 (contents, props changed) projects/pf/pf45/share/man/man5/rctl.conf.5 (contents, props changed) projects/pf/pf45/sys/arm/mv/orion/files.ts7800 (contents, props changed) projects/pf/pf45/sys/arm/mv/orion/std.ts7800 (contents, props changed) projects/pf/pf45/sys/boot/fdt/dts/ts7800.dts (contents, props changed) projects/pf/pf45/sys/kern/kern_racct.c (contents, props changed) projects/pf/pf45/sys/kern/kern_rctl.c (contents, props changed) projects/pf/pf45/tools/regression/bin/sh/builtins/case4.0 (contents, props changed) projects/pf/pf45/tools/regression/bin/sh/execution/fork3.0 (contents, props changed) projects/pf/pf45/tools/regression/bin/sh/execution/redir6.0 (contents, props changed) projects/pf/pf45/tools/regression/bin/sh/execution/redir7.0 (contents, props changed) projects/pf/pf45/tools/regression/bin/sh/expansion/length4.0 (contents, props changed) projects/pf/pf45/tools/regression/bin/sh/expansion/length5.0 (contents, props changed) projects/pf/pf45/tools/regression/bin/sh/expansion/length6.0 (contents, props changed) projects/pf/pf45/usr.sbin/bsdinstall/scripts/mirrorselect (contents, props changed) Added: projects/pf/pf45/contrib/dialog/argv.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/dialog/argv.c Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,128 @@ +/* + * $Id: argv.c,v 1.1 2011/03/02 09:56:39 tom Exp $ + * + * argv - Reusable functions for argv-parsing. + * + * Copyright 2011 Thomas E. Dickey + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License, version 2.1 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to + * Free Software Foundation, Inc. + * 51 Franklin St., Fifth Floor + * Boston, MA 02110, USA. + */ + +#include +#include + +/* + * Convert a string to an argv[], returning a char** index (which must be + * freed by the caller). The string is modified (replacing gaps between + * tokens with nulls). + */ +char ** +dlg_string_to_argv(char *blob) +{ + size_t n; + int pass; + size_t length = strlen(blob); + char **result = 0; + + for (pass = 0; pass < 2; ++pass) { + bool inparm = FALSE; + bool quoted = FALSE; + char *param = blob; + size_t count = 0; + + for (n = 0; n < length; ++n) { + if (quoted && blob[n] == '"') { + quoted = FALSE; + } else if (blob[n] == '"') { + quoted = TRUE; + if (!inparm) { + if (pass) + result[count] = param; + ++count; + inparm = TRUE; + } + } else if (blob[n] == '\\') { + if (quoted && !isspace(UCH(blob[n + 1]))) { + if (!inparm) { + if (pass) + result[count] = param; + ++count; + inparm = TRUE; + } + if (pass) { + *param++ = blob[n]; + *param++ = blob[n + 1]; + } + } + ++n; + } else if (!quoted && isspace(UCH(blob[n]))) { + inparm = FALSE; + if (pass) { + *param++ = '\0'; + } + } else { + if (!inparm) { + if (pass) + result[count] = param; + ++count; + inparm = TRUE; + } + if (pass) { + *param++ = blob[n]; + } + } + } + + if (!pass) { + if (count) { + result = dlg_calloc(char *, count + 1); + assert_ptr(result, "string_to_argv"); + } else { + break; /* no tokens found */ + } + } else { + *param = '\0'; + } + } + return result; +} + +/* + * Count the entries in an argv list. + */ +int +dlg_count_argv(char **argv) +{ + int result = 0; + + if (argv != 0) { + while (argv[result] != 0) + ++result; + } + return result; +} + +int +dlg_eat_argv(int *argcp, char ***argvp, int start, int count) +{ + int k; + + *argcp -= count; + for (k = start; k <= *argcp; k++) + (*argvp)[k] = (*argvp)[k + count]; + (*argvp)[*argcp] = 0; + return TRUE; +} Added: projects/pf/pf45/contrib/dialog/po/sl.po ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/dialog/po/sl.po Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,112 @@ +# Slovenian translation for dialog. +# Copyright (C) 2003-2007, 2008 Thomas Dickey +# This file is distributed under the same license as the dialog package. +# Klemen Košir , 2011. +msgid "" +msgstr "" +"Project-Id-Version: dialog 1.1.20080819\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-06-18 18:26-0400\n" +"PO-Revision-Date: 2011-02-12 20:17+0100\n" +"Last-Translator: Klemen Košir \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Slovenian\n" +"X-Poedit-Country: SLOVENIA\n" + +#: buttons.c:385 +msgid "Yes" +msgstr "Da" + +#: buttons.c:393 +msgid "No" +msgstr "Ne" + +#: buttons.c:401 +msgid "OK" +msgstr "V redu" + +#: buttons.c:409 +msgid "Cancel" +msgstr "Prekliči" + +#: buttons.c:417 +msgid "EXIT" +msgstr "IZHOD" + +#: buttons.c:425 +msgid "Extra" +msgstr "Dodatno" + +#: buttons.c:433 +msgid "Help" +msgstr "Pomoč" + +#. Headline "Month" +#: calendar.c:273 +msgid "Month" +msgstr "Mesec" + +#. Headline "Year" +#: calendar.c:293 +msgid "Year" +msgstr "Leto" + +#: dialog.c:741 +msgid "Rename" +msgstr "Preimenuj" + +#: fselect.c:550 +msgid "Directories" +msgstr "Imeniki" + +#: fselect.c:551 +msgid "Files" +msgstr "Datoteke" + +#: mixedgauge.c:58 +msgid "Succeeded" +msgstr "Uspelo" + +#: mixedgauge.c:61 +msgid "Failed" +msgstr "Spodletelo" + +#: mixedgauge.c:64 +msgid "Passed" +msgstr "Prestalo" + +#: mixedgauge.c:67 +msgid "Completed" +msgstr "Končano" + +#: mixedgauge.c:70 +msgid "Checked" +msgstr "Preverjeno" + +#: mixedgauge.c:73 +msgid "Done" +msgstr "Opravljeno" + +#: mixedgauge.c:76 +msgid "Skipped" +msgstr "Preskočeno" + +#: mixedgauge.c:79 +msgid "In Progress" +msgstr "V teku" + +#: mixedgauge.c:85 +msgid "N/A" +msgstr "N/A" + +#: mixedgauge.c:193 +msgid "Overall Progress" +msgstr "Skupni napredek" + +#: textbox.c:489 +msgid "Search" +msgstr "Iskanje" Added: projects/pf/pf45/contrib/dialog/prgbox.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/dialog/prgbox.c Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,110 @@ +/* + * $Id: prgbox.c,v 1.6 2011/03/02 09:59:26 tom Exp $ + * + * prgbox.c -- implements the prg box + * + * Copyright 2011 Thomas E. Dickey + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to + * Free Software Foundation, Inc. + * 51 Franklin St., Fifth Floor + * Boston, MA 02110, USA. + */ + +#include + +/* + * Open a pipe which ties stderr and stdout together. + */ +static FILE * +dlg_popen(const char *command, const char *type) +{ + FILE *result = 0; + int fd[2]; + int pid; + const char *argv[4]; + + if ((*type == 'r' || *type != 'w') && pipe(fd) == 0) { + switch (pid = fork()) { + case -1: /* Error. */ + (void) close(fd[0]); + (void) close(fd[1]); + break; + case 0: /* child. */ + if (*type == 'r') { + if (fd[1] != STDOUT_FILENO) { + (void) dup2(fd[1], STDOUT_FILENO); + (void) close(fd[1]); + } + (void) dup2(STDOUT_FILENO, STDERR_FILENO); + (void) close(fd[0]); + } else { + if (fd[0] != STDIN_FILENO) { + (void) dup2(fd[0], STDIN_FILENO); + (void) close(fd[0]); + } + (void) close(fd[1]); + (void) close(STDERR_FILENO); + } + /* + * Bourne shell needs "-c" option to force it to use only the + * given command. Also, it needs the command to be parsed into + * tokens. + */ + argv[0] = "sh"; + argv[1] = "-c"; + argv[2] = command; + argv[3] = NULL; + execvp("sh", (char **)argv); + _exit(127); + /* NOTREACHED */ + default: /* parent */ + if (*type == 'r') { + result = fdopen(fd[0], type); + (void) close(fd[1]); + } else { + result = fdopen(fd[1], type); + (void) close(fd[0]); + } + break; + } + } + + return result; +} + +/* + * Display text from a pipe in a scrolling window. + */ +int +dialog_prgbox(const char *title, + const char *cprompt, + const char *command, + int height, + int width, + int pauseopt) +{ + int code; + FILE *fp; + + fp = dlg_popen(command, "r"); + if (fp == NULL) + dlg_exiterr("pipe open failed: %s", command); + + code = dlg_progressbox(title, cprompt, height, width, pauseopt, fp); + + pclose(fp); + + return code; +} Added: projects/pf/pf45/contrib/dialog/rename.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/dialog/rename.sh Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,59 @@ +#! /bin/sh +# $Id: rename.sh,v 1.3 2011/01/06 10:51:02 tom Exp $ +############################################################################## +# Copyright (c) 2011 Thomas E. Dickey # +# # +# Permission is hereby granted, free of charge, to any person obtaining a # +# copy of this software and associated documentation files (the "Software"), # +# to deal in the Software without restriction, including without limitation # +# the rights to use, copy, modify, merge, publish, distribute, distribute # +# with modifications, sublicense, and/or sell copies of the Software, and to # +# permit persons to whom the Software is furnished to do so, subject to the # +# following conditions: # +# # +# The above copyright notice and this permission notice shall be included in # +# all copies or substantial portions of the Software. # +# # +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # +# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # +# DEALINGS IN THE SOFTWARE. # +# # +# Except as contained in this notice, the name(s) of the above copyright # +# holders shall not be used in advertising or otherwise to promote the sale, # +# use or other dealings in this Software without prior written # +# authorization. # +############################################################################## +# install-helper for dialog's manpages, e.g., as "cdialog". +# +# $1 = input file +# $2 = output file +# $3 = actual program name that dialog is installed as +# $4 = actual name that header/library are installed as +# $5+ = install program and possible options + +LANG=C; export LANG +LC_ALL=C; export LC_ALL +LC_CTYPE=C; export LC_CTYPE +LANGUAGE=C; export LANGUAGE + +SOURCE=$1; shift +TARGET=$1; shift +BINARY=$1; shift +PACKAGE=$1; shift + +CHR_LEAD=`echo "$BINARY" | sed -e 's/^\(.\).*/\1/'` +CHR_TAIL=`echo "$BINARY" | sed -e 's/^.//'` +ONE_CAPS=`echo $CHR_LEAD | tr '[a-z]' '[A-Z]'`$CHR_TAIL +ALL_CAPS=`echo "$BINARY" | tr '[a-z]' '[A-Z]'` + +sed -e "s,^\.ds p dialog\>,.ds p $BINARY," \ + -e "s,^\.ds l dialog\>,.ds l $PACKAGE," \ + -e "s,^\.ds L Dialog\>,.ds L $ONE_CAPS," \ + -e "s,^\.ds D DIALOG\>,.ds D $ALL_CAPS," \ + <$SOURCE >source.tmp +"$@" source.tmp $TARGET +rm -f source.tmp Added: projects/pf/pf45/contrib/dialog/samples/msgbox-utf8 ============================================================================== Binary file. No diff available. Added: projects/pf/pf45/contrib/dialog/samples/pause-both ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/dialog/samples/pause-both Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,14 @@ +#!/bin/sh +# $Id: pause-both,v 1.1 2011/01/18 09:49:24 tom Exp $ + +. ./setup-vars + +$DIALOG --title "PAUSE" \ + --help-button \ + --extra-button "$@" \ + --pause "Hi, this is a pause widget" 20 70 10 + +retval=$? +echo return $retval + +. ./report-button Added: projects/pf/pf45/contrib/dialog/samples/pause-extra ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/dialog/samples/pause-extra Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,13 @@ +#!/bin/sh +# $Id: pause-extra,v 1.1 2011/01/18 09:49:07 tom Exp $ + +. ./setup-vars + +$DIALOG --title "PAUSE" \ + --extra-button "$@" \ + --pause "Hi, this is a pause widget" 20 70 10 + +retval=$? +echo return $retval + +. ./report-button Added: projects/pf/pf45/contrib/dialog/samples/prgbox ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/dialog/samples/prgbox Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,6 @@ +#!/bin/sh +# $Id: prgbox,v 1.1 2011/03/02 00:10:54 tom Exp $ + +. ./setup-vars + +$DIALOG --title "PRGBOX" "$@" --prgbox "./shortlist" 20 70 Added: projects/pf/pf45/contrib/dialog/samples/prgbox2 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/dialog/samples/prgbox2 Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,6 @@ +#!/bin/sh +# $Id: prgbox2,v 1.1 2011/03/02 01:25:54 tom Exp $ + +. ./setup-vars + +$DIALOG --title "PRGBOX" "$@" --prgbox "./shortlist 3" 20 70 Added: projects/pf/pf45/contrib/dialog/samples/programbox ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/dialog/samples/programbox Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,19 @@ +#!/bin/sh +# $Id: programbox,v 1.1 2011/03/02 01:17:28 tom Exp $ + +. ./setup-vars + +. ./setup-tempfile + +ls -1 >$tempfile +( +while true +do +read text +test -z "$text" && break +ls -ld "$text" +sleep 0.1 +done <$tempfile +) | + +$DIALOG --title "PROGRAMBOX" "$@" --programbox 20 70 Added: projects/pf/pf45/contrib/dialog/samples/programbox2 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/dialog/samples/programbox2 Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,19 @@ +#!/bin/sh +# $Id: programbox2,v 1.1 2011/03/02 01:25:31 tom Exp $ + +. ./setup-vars + +. ./setup-tempfile + +ls -1 >$tempfile +( +while true +do +read text +test -z "$text" && break +ls -ld "$text" +sleep 0.1 +done <$tempfile +) | + +$DIALOG --title "PROGRAMBOX" "$@" --programbox "ProgramBox" 20 70 Added: projects/pf/pf45/contrib/dialog/samples/shortlist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/dialog/samples/shortlist Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,19 @@ +#!/bin/sh +# $Id: shortlist,v 1.2 2011/03/02 00:11:50 tom Exp $ +# make a short listing, which writes to both stdout and stderr. + +if test $# != 0 +then + count=$1 +else + count=10 +fi + +while test $count != 0 +do + echo "** $count -- `date`" + w >&2 + sleep 1 + count=`expr $count - 1 2>/dev/null` + test -z "$count" && count=0 +done Added: projects/pf/pf45/contrib/dialog/samples/textbox-both ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/dialog/samples/textbox-both Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,21 @@ +#!/bin/sh +# $Id: textbox-both,v 1.1 2011/01/18 09:59:47 tom Exp $ + +. ./setup-vars + +. ./setup-tempfile + +TEXT=/usr/share/common-licenses/GPL +test -f $TEXT || TEXT=../COPYING + +cat textbox.txt | expand > $tempfile +cat $TEXT | expand >> $tempfile + +$DIALOG --clear --title "TEXT BOX" \ + --help-button \ + --extra-button "$@" \ + --textbox "$tempfile" 22 77 + +retval=$? + +. ./report-button Added: projects/pf/pf45/contrib/dialog/samples/textbox-help ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/contrib/dialog/samples/textbox-help Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,20 @@ +#!/bin/sh +# $Id: textbox-help,v 1.1 2011/01/18 09:59:20 tom Exp $ + +. ./setup-vars + +. ./setup-tempfile + +TEXT=/usr/share/common-licenses/GPL +test -f $TEXT || TEXT=../COPYING + +cat textbox.txt | expand > $tempfile +cat $TEXT | expand >> $tempfile + +$DIALOG --clear --title "TEXT BOX" \ + --help-button "$@" \ + --textbox "$tempfile" 22 77 + +retval=$? + +. ./report-button Added: projects/pf/pf45/etc/periodic/daily/220.backup-pkgdb ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/etc/periodic/daily/220.backup-pkgdb Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,50 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +rc=0 + +case "$daily_backup_pkgdb_enable" in + [Yy][Ee][Ss]) + bak="${daily_backup_pkgdb_dir:-/var/backups}" + bak_file="${bak}/pkgdb.bak.tbz" + + pkg_dbdir=`make -f/usr/share/mk/bsd.port.mk -V PKG_DBDIR 2>/dev/null` + + if [ ! -d "$bak" ] + then + install -d -o root -g wheel -m 750 $bak || { + echo '$daily_backup_pkgdb_enable is enabled but' \ + "$daily_backup_pkgdb_dbdir doesn't exist" ; + exit 2 ; } + fi + + echo '' + echo 'Backing up package db directory:' + + new_bak_file=`mktemp ${bak_file}-XXXXX` + + if tar -cjf "${new_bak_file}" "$pkg_dbdir"; then + chmod 644 "${new_bak_file}" + + if [ -e "${bak_file}.2" -a -e "${bak_file}" ]; then + unlink "${bak_file}.2" + mv "${bak_file}" "${bak_file}.2" + fi + [ -e "${bak_file}" ] && mv "${bak_file}" "${bak_file}.2" + mv "${new_bak_file}" "${bak_file}" + else + rc=3 + fi ;; +esac + +exit $rc Added: projects/pf/pf45/etc/rc.d/rctl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/etc/rc.d/rctl Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,39 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: rctl +# BEFORE: LOGIN +# KEYWORD: nojail + +. /etc/rc.subr + +name="rctl" +start_cmd="rctl_start" +stop_cmd="rctl_stop" + +rctl_start() +{ + if [ -f /etc/rctl.conf ]; then + while read var comments + do + case ${var} in + \#*|'') + ;; + *) + rctl -a "${var}" + ;; + esac + done < /etc/rctl.conf + fi +} + +rctl_stop() +{ + + rctl -r : +} + +load_rc_config $name +run_rc_command "$1" Added: projects/pf/pf45/lib/libc/sys/posix_fallocate.2 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/lib/libc/sys/posix_fallocate.2 Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,146 @@ +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)open.2 8.2 (Berkeley) 11/16/93 +.\" $FreeBSD$ +.\" +.Dd April 13, 2011 +.Dt POSIX_FALLOCATE 2 +.Os +.Sh NAME +.Nm posix_fallocate +.Nd pre-allocate storage for a range in a file +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In fcntl.h +.Ft int +.Fn posix_fallocate "int fd" "off_t offset" "off_t len" +.Sh DESCRIPTION +Required storage for the range +.Fa offset +to +.Fa offset + +.Fa len +in the file referenced by +.Fa fd +is guarateed to be allocated upon successful return. +That is, if +.Fn posix_fallocate +returns successfully, subsequent writes to the specified file data +will not fail due to lack of free space on the file system storage +media. +Any existing file data in the specified range is unmodified. +If +.Fa offset + +.Fa len +is beyond the current file size, then +.Fn posix_fallocate +will adjust the file size to +.Fa offset + +.Fa len . +Otherwise, the file size will not be changed. +.Pp +Space allocated by +.Fn posix_fallocate +will be freed by a successful call to +.Xr creat 2 +or +.Xr open 2 +that truncates the size of the file. +Space allocated via +.Fn posix_fallocate +may be freed by a successful call to +.Xr ftruncate 2 +that reduces the file size to a size smaller than +.Fa offset + +.Fa len . +.Pp +.Sh RETURN VALUES +If successful, +.Fn posix_fallocate +returns zero. +It returns -1 on failure, and sets +.Va errno +to indicate the error. +.Sh ERRORS +Possible failure conditions: +.Bl -tag -width Er +.It Bq Er EBADF +The +.Fa fd +argument is not a valid file descriptor. +.It Bq Er EBADF +The +.Fa fd +argument references a file that was opened without write permission. +.It Bq Er EFBIG +The value of +.Fa offset + +.Fa len +is greater than the maximum file size. +.It Bq Er EINTR +A signal was caught during execution. +.It Bq Er EINVAL +The +.Fa len +argument was zero or the +.Fa offset +argument was less than zero. +.It Bq Er EIO +An I/O error occurred while reading from or writing to a file system. +.It Bq Er ENODEV +The +.Fa fd +argument does not refer to a regular file. +.It Bq Er ENOSPC +There is insufficient free space remaining on the file system storage +media. +.It Bq Er ESPIPE +The +.Fa fd +argument is associated with a pipe or FIFO. +.El +.Sh SEE ALSO +.Xr creat 2 , +.Xr ftruncate 2 , +.Xr open 2 , +.Xr unlink 2 +.Sh STANDARDS +The +.Fn posix_fallocate +system call conforms to +.St -p1003.1-2004 . +.Sh HISTORY +The +.Fn posix_fallocate +function appeared in +.Fx 9.0 . +.Sh AUTHORS +.Fn posix_fallocate +and this manual page were initially written by +.An Matthew Fleming Aq mdf@FreeBSD.org . Added: projects/pf/pf45/lib/libcrypt/crypt-sha256.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/lib/libcrypt/crypt-sha256.c Wed May 4 00:43:06 2011 (r221414) @@ -0,0 +1,477 @@ +/* + * Copyright (c) 2011 The FreeBSD Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* Based on: + * SHA256-based Unix crypt implementation. Released into the Public Domain by + * Ulrich Drepper . */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "crypt.h" + +/* Define our magic string to mark salt for SHA256 "encryption" replacement. */ +static const char sha256_salt_prefix[] = "$5$"; + +/* Prefix for optional rounds specification. */ +static const char sha256_rounds_prefix[] = "rounds="; + +/* Maximum salt string length. */ +#define SALT_LEN_MAX 16 +/* Default number of rounds if not explicitly specified. */ +#define ROUNDS_DEFAULT 5000 +/* Minimum number of rounds. */ +#define ROUNDS_MIN 1000 +/* Maximum number of rounds. */ +#define ROUNDS_MAX 999999999 + +static char * +sha256_crypt_r(const char *key, const char *salt, char *buffer, int buflen) +{ + u_long srounds; + int n; + uint8_t alt_result[32], temp_result[32]; + SHA256_CTX ctx, alt_ctx; + size_t salt_len, key_len, cnt, rounds; + char *cp, *copied_key, *copied_salt, *p_bytes, *s_bytes, *endp; + const char *num; + bool rounds_custom; + + copied_key = NULL; + copied_salt = NULL; + + /* Default number of rounds. */ + rounds = ROUNDS_DEFAULT; + rounds_custom = false; + + /* Find beginning of salt string. The prefix should normally always + * be present. Just in case it is not. */ + if (strncmp(sha256_salt_prefix, salt, sizeof(sha256_salt_prefix) - 1) == 0) + /* Skip salt prefix. */ + salt += sizeof(sha256_salt_prefix) - 1; + + if (strncmp(salt, sha256_rounds_prefix, sizeof(sha256_rounds_prefix) - 1) + == 0) { + num = salt + sizeof(sha256_rounds_prefix) - 1; + srounds = strtoul(num, &endp, 10); + + if (*endp == '$') { + salt = endp + 1; + rounds = MAX(ROUNDS_MIN, MIN(srounds, ROUNDS_MAX)); + rounds_custom = true; + } + } + + salt_len = MIN(strcspn(salt, "$"), SALT_LEN_MAX); + key_len = strlen(key); + + /* Prepare for the real work. */ + SHA256_Init(&ctx); + + /* Add the key string. */ + SHA256_Update(&ctx, key, key_len); + + /* The last part is the salt string. This must be at most 8 + * characters and it ends at the first `$' character (for + * compatibility with existing implementations). */ + SHA256_Update(&ctx, salt, salt_len); + + /* Compute alternate SHA256 sum with input KEY, SALT, and KEY. The + * final result will be added to the first context. */ + SHA256_Init(&alt_ctx); + + /* Add key. */ + SHA256_Update(&alt_ctx, key, key_len); + + /* Add salt. */ + SHA256_Update(&alt_ctx, salt, salt_len); + + /* Add key again. */ + SHA256_Update(&alt_ctx, key, key_len); + + /* Now get result of this (32 bytes) and add it to the other context. */ + SHA256_Final(alt_result, &alt_ctx); + + /* Add for any character in the key one byte of the alternate sum. */ + for (cnt = key_len; cnt > 32; cnt -= 32) + SHA256_Update(&ctx, alt_result, 32); + SHA256_Update(&ctx, alt_result, cnt); + + /* Take the binary representation of the length of the key and for + * every 1 add the alternate sum, for every 0 the key. */ + for (cnt = key_len; cnt > 0; cnt >>= 1) + if ((cnt & 1) != 0) + SHA256_Update(&ctx, alt_result, 32); + else + SHA256_Update(&ctx, key, key_len); + + /* Create intermediate result. */ + SHA256_Final(alt_result, &ctx); + + /* Start computation of P byte sequence. */ + SHA256_Init(&alt_ctx); + + /* For every character in the password add the entire password. */ + for (cnt = 0; cnt < key_len; ++cnt) + SHA256_Update(&alt_ctx, key, key_len); + + /* Finish the digest. */ + SHA256_Final(temp_result, &alt_ctx); + + /* Create byte sequence P. */ + cp = p_bytes = alloca(key_len); + for (cnt = key_len; cnt >= 32; cnt -= 32) { + memcpy(cp, temp_result, 32); + cp += 32; + } + memcpy(cp, temp_result, cnt); + + /* Start computation of S byte sequence. */ + SHA256_Init(&alt_ctx); + + /* For every character in the password add the entire password. */ + for (cnt = 0; cnt < 16 + alt_result[0]; ++cnt) + SHA256_Update(&alt_ctx, salt, salt_len); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed May 4 01:07:33 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F423D106564A; Wed, 4 May 2011 01:07:32 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E2A928FC0A; Wed, 4 May 2011 01:07:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p4417WHm023791; Wed, 4 May 2011 01:07:32 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4417Wbr023787; Wed, 4 May 2011 01:07:32 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201105040107.p4417Wbr023787@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Wed, 4 May 2011 01:07:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221415 - in projects/pf/pf45: sys/arm/conf sys/mips/conf usr.bin/rctl X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 01:07:33 -0000 Author: bz Date: Wed May 4 01:07:32 2011 New Revision: 221415 URL: http://svn.freebsd.org/changeset/base/221415 Log: Cleanup some of the previously merged but not really tracked files to reduce diffs to head. Reflect properties from head on the (locally) added files. Added: projects/pf/pf45/sys/arm/conf/TS7800 (contents, props changed) projects/pf/pf45/sys/mips/conf/PB92 (contents, props changed) projects/pf/pf45/sys/mips/conf/PB92.hints (contents, props changed) Modified: projects/pf/pf45/usr.bin/rctl/rctl.8 Added: projects/pf/pf45/sys/arm/conf/TS7800 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/sys/arm/conf/TS7800 Wed May 4 01:07:32 2011 (r221415) @@ -0,0 +1,80 @@ +# +# Custom kernel for the TS-7800 board. +# +# $FreeBSD$ +# + +ident TS7800 +include "../mv/orion/std.ts7800" + +options SOC_MV_ORION +makeoptions MODULES_OVERRIDE="" + +#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +makeoptions WERROR="-Werror" + +options SCHED_4BSD #4BSD scheduler +options INET #InterNETworking +options INET6 #IPv6 communications protocols +options FFS #Berkeley Fast Filesystem +options SOFTUPDATES # Enable FFS soft updates support +options NFSCLIENT #Network Filesystem Client +options NFSLOCKD #Network Lock Manager +options NFS_ROOT #NFS usable as /, requires NFSCLIENT +options BOOTP +options BOOTP_NFSROOT +options BOOTP_NFSV3 +options BOOTP_WIRED_TO=mge0 + +options SYSVSHM #SYSV-style shared memory +options SYSVMSG #SYSV-style message queues +options SYSVSEM #SYSV-style semaphores +options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions +options MUTEX_NOINLINE +options RWLOCK_NOINLINE +options NO_FFS_SNAPSHOT +options NO_SWAPPING + +# Debugging +options ALT_BREAK_TO_DEBUGGER +options DDB +options KDB +options GDB # Support remote GDB. + +device mvs +device pci + +# Pseudo devices +device md +device loop +device pty +device random + +# Serial ports +device uart + +# Networking +device ether +device mge # Marvell Gigabit Ethernet controller +device mii +device e1000phy +device bpf +options HZ=1000 + +# USB +device usb +device ehci +device umass +device scbus +device pass +device da + +# SATA +device ata +options ATA_CAM + +# Flattened Device Tree +options FDT +options FDT_DTB_STATIC +makeoptions FDT_DTS_FILE=ts7800.dts + Added: projects/pf/pf45/sys/mips/conf/PB92 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/sys/mips/conf/PB92 Wed May 4 01:07:32 2011 (r221415) @@ -0,0 +1,100 @@ +# +# PB92 -- Kernel configuration file for FreeBSD/mips for Atheros PB92 reference +# board (AR7242) +# +# $FreeBSD$ +# + +ident PB92 +makeoptions KERNLOADADDR=0x80050000 +options HZ=1000 + +hints "PB92.hints" +include "../atheros/std.ar71xx" + +makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +makeoptions MODULES_OVERRIDE="" + +options DDB +options KDB + +options SCHED_4BSD #4BSD scheduler +options INET #InterNETworking +options INET6 +options NFSCLIENT #Network Filesystem Client +options PSEUDOFS #Pseudo-filesystem framework +options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions +options ALQ + +# options NFS_LEGACYRPC +#options NFS_DEBUG + +# Debugging for use in -current +options DEADLKRES +options INVARIANTS +options INVARIANT_SUPPORT +options WITNESS +options WITNESS_SKIPSPIN +options FFS #Berkeley Fast Filesystem +#options SOFTUPDATES #Enable FFS soft updates support +#options UFS_ACL #Support for access control lists +#options UFS_DIRHASH #Improve performance on big directories + +options MD_ROOT +options MD_ROOT_SIZE=5120 +device geom_uzip +options GEOM_UZIP +options ROOTDEVNAME=\"ufs:/dev/md0.uzip\" + +device pci +device ar724x_pci + +# Wireless NIC cards +options IEEE80211_DEBUG +options IEEE80211_SUPPORT_MESH +options IEEE80211_SUPPORT_TDMA +device wlan # 802.11 support +device wlan_wep # 802.11 WEP support +device wlan_ccmp # 802.11 CCMP support +device wlan_tkip # 802.11 TKIP support +device wlan_xauth # 802.11 hostap support + +device ath # Atheros pci/cardbus NIC's +device ath_pci # PCI/PCIe bus glue +options ATH_DEBUG +options ATH_ENABLE_11N +options ATH_DIAGAPI + +device ath_hal +options AH_SUPPORT_AR5416 +options AH_DEBUG +options AH_DEBUG_ALQ + +device ath_rate_sample + +device mii +device arge + +device usb +options USB_EHCI_BIG_ENDIAN_DESC # handle big-endian byte order +options USB_DEBUG +options USB_HOST_ALIGN=32 +device ehci + +device gpio +device gpioled + +device spibus +device ar71xx_spi +device mx25l + +device ar71xx_wdog + +device uart + +device loop +device ether +device md +device bpf +device random +device if_bridge Added: projects/pf/pf45/sys/mips/conf/PB92.hints ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pf/pf45/sys/mips/conf/PB92.hints Wed May 4 01:07:32 2011 (r221415) @@ -0,0 +1,69 @@ +# $FreeBSD$ +hint.apb.0.at="nexus0" +hint.apb.0.irq=4 + +# uart0 +hint.uart.0.at="apb0" +# see atheros/uart_cpu_ar71xx.c why +3 +hint.uart.0.maddr=0x18020003 +hint.uart.0.msize=0x18 +hint.uart.0.irq=3 + +# ohci +#hint.ohci.0.at="apb0" +#hint.ohci.0.maddr=0x1b000000 +#hint.ohci.0.msize=0x01000000 +#hint.ohci.0.irq=1 + +#ehci - note the 0x100 offset for the AR913x/AR724x +hint.ehci.0.at="nexus0" +hint.ehci.0.maddr=0x1b000100 +hint.ehci.0.msize=0x00ffff00 +hint.ehci.0.irq=1 + +# pci +hint.pcib.0.at="nexus0" +hint.pcib.0.irq=0 + +# arge0 +hint.arge.0.at="nexus0" +hint.arge.0.maddr=0x19000000 +hint.arge.0.msize=0x1000 +hint.arge.0.irq=2 + +# AR8316 workaround for now +hint.arge.0.media=1000 +hint.arge.0.fduplex=1 +hint.arge.0.phymask=0x3 + +# GPIO +hint.gpio.0.at="apb0" +hint.gpio.0.maddr=0x18040000 +hint.gpio.0.msize=0x1000 +hint.gpio.0.irq=2 + +# Signal leds +hint.gpioled.0.at="gpiobus0" +hint.gpioled.0.name="sig1" +hint.gpioled.0.pins=0x0001 # pin 0 +hint.gpioled.1.at="gpiobus0" +hint.gpioled.1.name="sig2" +hint.gpioled.1.pins=0x0002 # pin 1 +hint.gpioled.2.at="gpiobus0" +hint.gpioled.2.name="sig3" +hint.gpioled.2.pins=0x0800 # pin 11 +hint.gpioled.3.at="gpiobus0" +hint.gpioled.3.name="sig4" +hint.gpioled.3.pins=0x0080 # pin 7 + +# SPI controller/bus +hint.spi.0.at="nexus0" +hint.spi.0.maddr=0x1f000000 +hint.spi.0.msize=0x10 + +# SPI flash +hint.mx25l.0.at="spibus0" +hint.mx25l.0.cs=0 + +# Watchdog +hint.ar71xx_wdog.0.at="nexus0" Modified: projects/pf/pf45/usr.bin/rctl/rctl.8 ============================================================================== --- projects/pf/pf45/usr.bin/rctl/rctl.8 Wed May 4 00:43:06 2011 (r221414) +++ projects/pf/pf45/usr.bin/rctl/rctl.8 Wed May 4 01:07:32 2011 (r221415) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 14, 2011 +.Dd May 3, 2011 .Dt RCTL 8 .Os .Sh NAME @@ -90,7 +90,7 @@ Subject defines the kind of entity the r It can be either process, user, login class, or jail. .Pp Subject ID identifies the subject. It can be user name, -numerical user ID, login class name, jail name, or numerical jail ID. +numerical user ID, login class name, or jail name. .Pp Resource identifies the resource the rule controls. .Pp @@ -177,9 +177,9 @@ Prevent user "joe" from allocating more .Pp Remove all RCTL rules. .Pp -.Dl rctl -hu jail:5 +.Dl rctl -hu jail:www .Pp -Display resource usage information for jail with JID 5. +Display resource usage information for jail named "www". .Pp .Dl rctl -l process:512 .Pp From owner-svn-src-projects@FreeBSD.ORG Wed May 4 14:55:58 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4D052106566C; Wed, 4 May 2011 14:55:58 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3DBC28FC14; Wed, 4 May 2011 14:55:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p44Etw6R055387; Wed, 4 May 2011 14:55:58 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p44EtwhM055385; Wed, 4 May 2011 14:55:58 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105041455.p44EtwhM055385@svn.freebsd.org> From: Attilio Rao Date: Wed, 4 May 2011 14:55:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221443 - projects/largeSMP/sys/sys X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 14:55:58 -0000 Author: attilio Date: Wed May 4 14:55:57 2011 New Revision: 221443 URL: http://svn.freebsd.org/changeset/base/221443 Log: Revert comment introduction. It seems I'm the only one who didn't know of the size mismatch. Modified: projects/largeSMP/sys/sys/cpuset.h Modified: projects/largeSMP/sys/sys/cpuset.h ============================================================================== --- projects/largeSMP/sys/sys/cpuset.h Wed May 4 14:52:17 2011 (r221442) +++ projects/largeSMP/sys/sys/cpuset.h Wed May 4 14:55:57 2011 (r221443) @@ -36,10 +36,6 @@ #define CPU_SETSIZE MAXCPU #endif -/* - * In userland a bigger cpuset structure is preferable in order to cope - * with kernel bumping of MAXCPU and still have a compatible layout. - */ #define CPU_MAXSIZE (4 * MAXCPU) #ifndef CPU_SETSIZE From owner-svn-src-projects@FreeBSD.ORG Wed May 4 15:45:24 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 584091065672; Wed, 4 May 2011 15:45:24 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4437F8FC08; Wed, 4 May 2011 15:45:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p44FjOtA056869; Wed, 4 May 2011 15:45:24 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p44FjOMg056866; Wed, 4 May 2011 15:45:24 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105041545.p44FjOMg056866@svn.freebsd.org> From: Attilio Rao Date: Wed, 4 May 2011 15:45:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221444 - in projects/largeSMP: contrib/top crypto/openssh crypto/openssh/openbsd-compat etc/periodic/daily etc/rc.d lib/libc/string release sbin/mount_nfs secure/lib/libssh secure/usr.... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 15:45:24 -0000 Author: attilio Date: Wed May 4 15:45:23 2011 New Revision: 221444 URL: http://svn.freebsd.org/changeset/base/221444 Log: MFC Added: projects/largeSMP/crypto/openssh/audit-linux.c - copied unchanged from r221443, head/crypto/openssh/audit-linux.c projects/largeSMP/crypto/openssh/bufec.c - copied unchanged from r221443, head/crypto/openssh/bufec.c projects/largeSMP/crypto/openssh/kexecdh.c - copied unchanged from r221443, head/crypto/openssh/kexecdh.c projects/largeSMP/crypto/openssh/kexecdhc.c - copied unchanged from r221443, head/crypto/openssh/kexecdhc.c projects/largeSMP/crypto/openssh/kexecdhs.c - copied unchanged from r221443, head/crypto/openssh/kexecdhs.c projects/largeSMP/crypto/openssh/openbsd-compat/charclass.h - copied unchanged from r221443, head/crypto/openssh/openbsd-compat/charclass.h projects/largeSMP/crypto/openssh/openbsd-compat/timingsafe_bcmp.c - copied unchanged from r221443, head/crypto/openssh/openbsd-compat/timingsafe_bcmp.c projects/largeSMP/crypto/openssh/ssh-ecdsa.c - copied unchanged from r221443, head/crypto/openssh/ssh-ecdsa.c projects/largeSMP/sys/compat/linux/linux_videodev2.h - copied unchanged from r221443, head/sys/compat/linux/linux_videodev2.h projects/largeSMP/sys/compat/linux/linux_videodev2_compat.h - copied unchanged from r221443, head/sys/compat/linux/linux_videodev2_compat.h projects/largeSMP/tools/regression/security/cap_test/ - copied from r221443, head/tools/regression/security/cap_test/ Modified: projects/largeSMP/crypto/openssh/ChangeLog projects/largeSMP/crypto/openssh/LICENCE projects/largeSMP/crypto/openssh/PROTOCOL projects/largeSMP/crypto/openssh/PROTOCOL.agent projects/largeSMP/crypto/openssh/PROTOCOL.certkeys projects/largeSMP/crypto/openssh/PROTOCOL.mux projects/largeSMP/crypto/openssh/README projects/largeSMP/crypto/openssh/atomicio.c projects/largeSMP/crypto/openssh/atomicio.h projects/largeSMP/crypto/openssh/audit-bsm.c projects/largeSMP/crypto/openssh/audit.c projects/largeSMP/crypto/openssh/audit.h projects/largeSMP/crypto/openssh/auth-options.c projects/largeSMP/crypto/openssh/auth-rsa.c projects/largeSMP/crypto/openssh/auth.c projects/largeSMP/crypto/openssh/auth1.c projects/largeSMP/crypto/openssh/auth2-jpake.c projects/largeSMP/crypto/openssh/auth2-pubkey.c projects/largeSMP/crypto/openssh/auth2.c projects/largeSMP/crypto/openssh/authfd.c projects/largeSMP/crypto/openssh/authfile.c projects/largeSMP/crypto/openssh/bufaux.c projects/largeSMP/crypto/openssh/buffer.h projects/largeSMP/crypto/openssh/canohost.c projects/largeSMP/crypto/openssh/channels.c projects/largeSMP/crypto/openssh/cipher-3des1.c projects/largeSMP/crypto/openssh/cipher-acss.c projects/largeSMP/crypto/openssh/cipher-aes.c projects/largeSMP/crypto/openssh/cipher-bf1.c projects/largeSMP/crypto/openssh/cipher-ctr.c projects/largeSMP/crypto/openssh/clientloop.c projects/largeSMP/crypto/openssh/compress.c projects/largeSMP/crypto/openssh/config.h projects/largeSMP/crypto/openssh/config.h.in projects/largeSMP/crypto/openssh/defines.h projects/largeSMP/crypto/openssh/dns.c projects/largeSMP/crypto/openssh/entropy.c projects/largeSMP/crypto/openssh/hostfile.c projects/largeSMP/crypto/openssh/hostfile.h projects/largeSMP/crypto/openssh/includes.h projects/largeSMP/crypto/openssh/jpake.c projects/largeSMP/crypto/openssh/kex.c projects/largeSMP/crypto/openssh/kex.h projects/largeSMP/crypto/openssh/kexdhc.c projects/largeSMP/crypto/openssh/kexdhs.c projects/largeSMP/crypto/openssh/kexgexc.c projects/largeSMP/crypto/openssh/kexgexs.c projects/largeSMP/crypto/openssh/key.c projects/largeSMP/crypto/openssh/key.h projects/largeSMP/crypto/openssh/loginrec.c projects/largeSMP/crypto/openssh/loginrec.h projects/largeSMP/crypto/openssh/misc.c projects/largeSMP/crypto/openssh/misc.h projects/largeSMP/crypto/openssh/moduli.c projects/largeSMP/crypto/openssh/monitor.c projects/largeSMP/crypto/openssh/monitor_wrap.c projects/largeSMP/crypto/openssh/mux.c projects/largeSMP/crypto/openssh/myproposal.h projects/largeSMP/crypto/openssh/openbsd-compat/bindresvport.c projects/largeSMP/crypto/openssh/openbsd-compat/bsd-misc.c projects/largeSMP/crypto/openssh/openbsd-compat/bsd-misc.h projects/largeSMP/crypto/openssh/openbsd-compat/glob.c projects/largeSMP/crypto/openssh/openbsd-compat/glob.h projects/largeSMP/crypto/openssh/openbsd-compat/openbsd-compat.h projects/largeSMP/crypto/openssh/openbsd-compat/openssl-compat.c projects/largeSMP/crypto/openssh/openbsd-compat/openssl-compat.h projects/largeSMP/crypto/openssh/openbsd-compat/port-linux.c projects/largeSMP/crypto/openssh/openbsd-compat/port-linux.h projects/largeSMP/crypto/openssh/openbsd-compat/port-solaris.c projects/largeSMP/crypto/openssh/openbsd-compat/port-solaris.h projects/largeSMP/crypto/openssh/packet.c projects/largeSMP/crypto/openssh/packet.h projects/largeSMP/crypto/openssh/pathnames.h projects/largeSMP/crypto/openssh/platform.c projects/largeSMP/crypto/openssh/platform.h projects/largeSMP/crypto/openssh/readconf.c projects/largeSMP/crypto/openssh/readconf.h projects/largeSMP/crypto/openssh/readpass.c projects/largeSMP/crypto/openssh/schnorr.c projects/largeSMP/crypto/openssh/scp.1 projects/largeSMP/crypto/openssh/scp.c projects/largeSMP/crypto/openssh/servconf.c projects/largeSMP/crypto/openssh/servconf.h projects/largeSMP/crypto/openssh/session.c projects/largeSMP/crypto/openssh/sftp-client.c projects/largeSMP/crypto/openssh/sftp-client.h projects/largeSMP/crypto/openssh/sftp-server.c projects/largeSMP/crypto/openssh/sftp.1 projects/largeSMP/crypto/openssh/sftp.c projects/largeSMP/crypto/openssh/ssh-add.1 projects/largeSMP/crypto/openssh/ssh-add.c projects/largeSMP/crypto/openssh/ssh-agent.1 projects/largeSMP/crypto/openssh/ssh-agent.c projects/largeSMP/crypto/openssh/ssh-dss.c projects/largeSMP/crypto/openssh/ssh-keygen.1 projects/largeSMP/crypto/openssh/ssh-keygen.c projects/largeSMP/crypto/openssh/ssh-keyscan.1 projects/largeSMP/crypto/openssh/ssh-keyscan.c projects/largeSMP/crypto/openssh/ssh-keysign.8 projects/largeSMP/crypto/openssh/ssh-keysign.c projects/largeSMP/crypto/openssh/ssh-rsa.c projects/largeSMP/crypto/openssh/ssh.1 projects/largeSMP/crypto/openssh/ssh.c projects/largeSMP/crypto/openssh/ssh2.h projects/largeSMP/crypto/openssh/ssh_config projects/largeSMP/crypto/openssh/ssh_config.5 projects/largeSMP/crypto/openssh/ssh_namespace.h projects/largeSMP/crypto/openssh/sshconnect.c projects/largeSMP/crypto/openssh/sshconnect.h projects/largeSMP/crypto/openssh/sshconnect2.c projects/largeSMP/crypto/openssh/sshd.8 projects/largeSMP/crypto/openssh/sshd.c projects/largeSMP/crypto/openssh/sshd_config projects/largeSMP/crypto/openssh/sshd_config.5 projects/largeSMP/crypto/openssh/sshlogin.c projects/largeSMP/crypto/openssh/uuencode.c projects/largeSMP/crypto/openssh/uuencode.h projects/largeSMP/crypto/openssh/version.h projects/largeSMP/etc/periodic/daily/450.status-security projects/largeSMP/etc/periodic/daily/800.scrub-zfs projects/largeSMP/etc/rc.d/sshd projects/largeSMP/lib/libc/string/ffs.3 projects/largeSMP/release/generate-release.sh projects/largeSMP/sbin/mount_nfs/mount_nfs.8 projects/largeSMP/secure/lib/libssh/Makefile projects/largeSMP/secure/usr.sbin/sshd/Makefile projects/largeSMP/share/man/man9/make_dev.9 projects/largeSMP/sys/cddl/compat/opensolaris/sys/systm.h projects/largeSMP/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/largeSMP/sys/compat/linux/linux_ioctl.c projects/largeSMP/sys/compat/linux/linux_ioctl.h projects/largeSMP/sys/compat/linux/linux_videodev.h projects/largeSMP/sys/dev/ae/if_ae.c projects/largeSMP/sys/dev/age/if_age.c projects/largeSMP/sys/dev/alc/if_alc.c projects/largeSMP/sys/dev/ale/if_ale.c projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c projects/largeSMP/sys/dev/bce/if_bce.c projects/largeSMP/sys/dev/bfe/if_bfe.c projects/largeSMP/sys/dev/bge/if_bge.c projects/largeSMP/sys/dev/dc/dcphy.c projects/largeSMP/sys/dev/dc/pnphy.c projects/largeSMP/sys/dev/ed/if_ed_pccard.c projects/largeSMP/sys/dev/et/if_et.c projects/largeSMP/sys/dev/fxp/if_fxp.c projects/largeSMP/sys/dev/hme/if_hme.c projects/largeSMP/sys/dev/jme/if_jme.c projects/largeSMP/sys/dev/lge/if_lge.c projects/largeSMP/sys/dev/mii/acphy.c projects/largeSMP/sys/dev/mii/amphy.c projects/largeSMP/sys/dev/mii/atphy.c projects/largeSMP/sys/dev/mii/axphy.c projects/largeSMP/sys/dev/mii/bmtphy.c projects/largeSMP/sys/dev/mii/brgphy.c projects/largeSMP/sys/dev/mii/ciphy.c projects/largeSMP/sys/dev/mii/e1000phy.c projects/largeSMP/sys/dev/mii/exphy.c projects/largeSMP/sys/dev/mii/gentbi.c projects/largeSMP/sys/dev/mii/icsphy.c projects/largeSMP/sys/dev/mii/inphy.c projects/largeSMP/sys/dev/mii/ip1000phy.c projects/largeSMP/sys/dev/mii/jmphy.c projects/largeSMP/sys/dev/mii/lxtphy.c projects/largeSMP/sys/dev/mii/mii.c projects/largeSMP/sys/dev/mii/mii.h projects/largeSMP/sys/dev/mii/mii_physubr.c projects/largeSMP/sys/dev/mii/miidevs projects/largeSMP/sys/dev/mii/miivar.h projects/largeSMP/sys/dev/mii/mlphy.c projects/largeSMP/sys/dev/mii/nsgphy.c projects/largeSMP/sys/dev/mii/nsphy.c projects/largeSMP/sys/dev/mii/nsphyter.c projects/largeSMP/sys/dev/mii/pnaphy.c projects/largeSMP/sys/dev/mii/qsphy.c projects/largeSMP/sys/dev/mii/rdcphy.c projects/largeSMP/sys/dev/mii/rgephy.c projects/largeSMP/sys/dev/mii/rlphy.c projects/largeSMP/sys/dev/mii/rlswitch.c projects/largeSMP/sys/dev/mii/ruephy.c projects/largeSMP/sys/dev/mii/smcphy.c projects/largeSMP/sys/dev/mii/tdkphy.c projects/largeSMP/sys/dev/mii/tlphy.c projects/largeSMP/sys/dev/mii/truephy.c projects/largeSMP/sys/dev/mii/ukphy.c projects/largeSMP/sys/dev/mii/xmphy.c projects/largeSMP/sys/dev/nfe/if_nfe.c projects/largeSMP/sys/dev/nge/if_nge.c projects/largeSMP/sys/dev/nve/if_nve.c projects/largeSMP/sys/dev/pcn/if_pcn.c projects/largeSMP/sys/dev/sf/if_sf.c projects/largeSMP/sys/dev/sge/if_sge.c projects/largeSMP/sys/dev/sis/if_sis.c projects/largeSMP/sys/dev/ste/if_ste.c projects/largeSMP/sys/dev/tx/if_tx.c projects/largeSMP/sys/dev/usb/net/if_aue.c projects/largeSMP/sys/dev/usb/net/if_axe.c projects/largeSMP/sys/dev/usb/net/if_rue.c projects/largeSMP/sys/dev/usb/net/if_udav.c projects/largeSMP/sys/dev/vr/if_vr.c projects/largeSMP/sys/dev/vte/if_vte.c projects/largeSMP/sys/dev/wb/if_wb.c projects/largeSMP/sys/fs/nfs/nfs_commonport.c projects/largeSMP/sys/fs/nfsclient/nfs_clsubs.c projects/largeSMP/sys/fs/nfsclient/nfs_clvfsops.c projects/largeSMP/sys/fs/nfsclient/nfs_clvnops.c projects/largeSMP/sys/geom/geom_dev.c projects/largeSMP/sys/geom/label/g_label.c projects/largeSMP/sys/kern/kern_conf.c projects/largeSMP/sys/mips/atheros/if_arge.c projects/largeSMP/sys/mips/cavium/octe/octe.c projects/largeSMP/sys/mips/idt/if_kr.c projects/largeSMP/sys/modules/mii/Makefile projects/largeSMP/sys/net80211/ieee80211_adhoc.c projects/largeSMP/sys/net80211/ieee80211_hostap.c projects/largeSMP/sys/net80211/ieee80211_input.h projects/largeSMP/sys/net80211/ieee80211_mesh.c projects/largeSMP/sys/net80211/ieee80211_sta.c projects/largeSMP/sys/net80211/ieee80211_wds.c projects/largeSMP/sys/netinet/sctp_asconf.c projects/largeSMP/sys/netinet/sctp_auth.c projects/largeSMP/sys/netinet/sctputil.c projects/largeSMP/sys/netinet6/sctp6_usrreq.c projects/largeSMP/sys/nfs/nfs_diskless.c projects/largeSMP/sys/nfs/nfssvc.h projects/largeSMP/sys/nfsclient/nfs_vfsops.c projects/largeSMP/sys/nfsclient/nfs_vnops.c projects/largeSMP/sys/nfsclient/nfsargs.h projects/largeSMP/sys/sys/conf.h projects/largeSMP/usr.bin/nfsstat/nfsstat.c Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/crypto/openssh/ChangeLog ============================================================================== --- projects/largeSMP/crypto/openssh/ChangeLog Wed May 4 14:55:57 2011 (r221443) +++ projects/largeSMP/crypto/openssh/ChangeLog Wed May 4 15:45:23 2011 (r221444) @@ -1,3 +1,742 @@ +20110403 + - (djm) [README contrib/caldera/openssh.spec contrib/redhat/openssh.spec] + [contrib/suse/openssh.spec] Prepare for 5.8p2 release. + - Release 5.8p2 + +20110329 + - (djm) [entropy.c] closefrom() before running ssh-rand-helper; leftover fds + noticed by tmraz AT redhat.com + +20110221 + - (dtucker) [contrib/cygwin/ssh-host-config] From Corinna: revamp of the + Cygwin-specific service installer script ssh-host-config. The actual + functionality is the same, the revisited version is just more + exact when it comes to check for problems which disallow to run + certain aspects of the script. So, part of this script and the also + rearranged service helper script library "csih" is to check if all + the tools required to run the script are available on the system. + The new script also is more thorough to inform the user why the + script failed. Patch from vinschen at redhat com. + +20110206 + - (dtucker) [openbsd-compat/port-linux.c] Bug #1851: fix syntax error in + selinux code. Patch from Leonardo Chiquitto + - (dtucker) [contrib/cygwin/ssh-{host,user}-config] Add ECDSA key + generation and simplify. Patch from Corinna Vinschen. + +20110204 + - OpenBSD CVS Sync + - djm@cvs.openbsd.org 2011/01/31 21:42:15 + [PROTOCOL.mux] + cut'n'pasto; from bert.wesarg AT googlemail.com + - djm@cvs.openbsd.org 2011/02/04 00:44:21 + [key.c] + fix uninitialised nonce variable; reported by Mateusz Kocielski + - djm@cvs.openbsd.org 2011/02/04 00:44:43 + [version.h] + openssh-5.8 + - (djm) [README contrib/caldera/openssh.spec contrib/redhat/openssh.spec] + [contrib/suse/openssh.spec] update versions in docs and spec files. + - Release OpenSSH 5.8p1 + +20110128 + - (djm) [openbsd-compat/port-linux.c] Check whether SELinux is enabled + before attempting setfscreatecon(). Check whether matchpathcon() + succeeded before using its result. Patch from cjwatson AT debian.org; + bz#1851 + +20110125 + - (djm) [configure.ac Makefile.in ssh.c openbsd-compat/port-linux.c + openbsd-compat/port-linux.h] Move SELinux-specific code from ssh.c to + port-linux.c to avoid compilation errors. Add -lselinux to ssh when + building with SELinux support to avoid linking failure; report from + amk AT spamfence.net; ok dtucker + +20110122 + - (dtucker) [configure.ac openbsd-compat/openssl-compat.{c,h}] Add + RSA_get_default_method() for the benefit of openssl versions that don't + have it (at least openssl-engine-0.9.6b). Found and tested by Kevin Brott, + ok djm@. + - OpenBSD CVS Sync + - djm@cvs.openbsd.org 2011/01/22 09:18:53 + [version.h] + crank to OpenSSH-5.7 + - (djm) [README contrib/caldera/openssh.spec contrib/redhat/openssh.spec] + [contrib/suse/openssh.spec] update versions in docs and spec files. + - (djm) Release 5.7p1 + +20110119 + - (tim) [contrib/caldera/openssh.spec] Use CFLAGS from Makefile instead + of RPM so build completes. Signatures were changed to .asc since 4.1p1. + - (djm) [configure.ac] Disable ECC on OpenSSL <0.9.8g. Releases prior to + 0.9.8 lacked it, and 0.9.8a through 0.9.8d have proven buggy in pre- + release testing (random crashes and failure to load ECC keys). + ok dtucker@ + +20110117 + - (djm) [regress/Makefile] use $TEST_SSH_KEYGEN instead of the one in + $PATH, fix cleanup of droppings; reported by openssh AT + roumenpetrov.info; ok dtucker@ + - (djm) [regress/agent-ptrace.sh] Fix false failure on OS X by adding + its unique snowflake of a gdb error to the ones we look for. + - (djm) [regress/agent-getpeereid.sh] leave stdout attached when running + ssh-add to avoid $SUDO failures on Linux + - (dtucker) [openbsd-compat/port-linux.c] Bug #1838: Add support for the new + Linux OOM-killer magic values that changed in 2.6.36 kernels, with fallback + to the old values. Feedback from vapier at gentoo org and djm, ok djm. + - (djm) [configure.ac regress/agent-getpeereid.sh regress/multiplex.sh] + [regress/sftp-glob.sh regress/test-exec.sh] Rework how feature tests are + disabled on platforms that do not support them; add a "config_defined()" + shell function that greps for defines in config.h and use them to decide + on feature tests. + Convert a couple of existing grep's over config.h to use the new function + Add a define "FILESYSTEM_NO_BACKSLASH" for filesystem that can't represent + backslash characters in filenames, enable it for Cygwin and use it to turn + of tests for quotes backslashes in sftp-glob.sh. + based on discussion with vinschen AT redhat.com and dtucker@; ok dtucker@ + - (tim) [regress/agent-getpeereid.sh] shell portability fix. + - (dtucker) [openbsd-compat/port-linux.c] Fix minor bug caught by -Werror on + the tinderbox. + - (dtucker) [LICENCE Makefile.in audit-bsm.c audit-linux.c audit.c audit.h + configure.ac defines.h loginrec.c] Bug #1402: add linux audit subsystem + support, based on patches from Tomas Mraz and jchadima at redhat. + +20110116 + - (dtucker) [Makefile.in configure.ac regress/kextype.sh] Skip sha256-based + on configurations that don't have it. + - OpenBSD CVS Sync + - djm@cvs.openbsd.org 2011/01/16 11:50:05 + [clientloop.c] + Use atomicio when flushing protocol 1 std{out,err} buffers at + session close. This was a latent bug exposed by setting a SIGCHLD + handler and spotted by kevin.brott AT gmail.com; ok dtucker@ + - djm@cvs.openbsd.org 2011/01/16 11:50:36 + [sshconnect.c] + reset the SIGPIPE handler when forking to execute child processes; + ok dtucker@ + - djm@cvs.openbsd.org 2011/01/16 12:05:59 + [clientloop.c] + a couple more tweaks to the post-close protocol 1 stderr/stdout flush: + now that we use atomicio(), convert them from while loops to if statements + add test and cast to compile cleanly with -Wsigned + +20110114 + - OpenBSD CVS Sync + - djm@cvs.openbsd.org 2011/01/13 21:54:53 + [mux.c] + correct error messages; patch from bert.wesarg AT googlemail.com + - djm@cvs.openbsd.org 2011/01/13 21:55:25 + [PROTOCOL.mux] + correct protocol names and add a couple of missing protocol number + defines; patch from bert.wesarg AT googlemail.com + - (djm) [Makefile.in] Use shell test to disable ecdsa key generating in + host-key-force target rather than a substitution that is replaced with a + comment so that the Makefile.in is still a syntactically valid Makefile + (useful to run the distprep target) + - (tim) [regress/cert-hostkey.sh] Typo. Missing $ on variable name. + - (tim) [regress/cert-hostkey.sh] Add missing TEST_SSH_ECC guard around some + ecdsa bits. + +20110113 + - (djm) [misc.c] include time.h for nanosleep() prototype + - (tim) [Makefile.in] test the ECC bits if we have the capability. ok djm + - (tim) [Makefile.in configure.ac opensshd.init.in] Add support for generating + ecdsa keys. ok djm. + - (djm) [entropy.c] cast OPENSSL_VERSION_NUMBER to u_long to avoid + gcc warning on platforms where it defaults to int + - (djm) [regress/Makefile] add a few more generated files to the clean + target + - (djm) [myproposal.h] Fix reversed OPENSSL_VERSION_NUMBER test and bad + #define that was causing diffie-hellman-group-exchange-sha256 to be + incorrectly disabled + - (djm) [regress/kextype.sh] Testing diffie-hellman-group-exchange-sha256 + should not depend on ECC support + +20110112 + - OpenBSD CVS Sync + - nicm@cvs.openbsd.org 2010/10/08 21:48:42 + [openbsd-compat/glob.c] + Extend GLOB_LIMIT to cover readdir and stat and bump the malloc limit + from ARG_MAX to 64K. + Fixes glob-using programs (notably ftp) able to be triggered to hit + resource limits. + Idea from a similar NetBSD change, original problem reported by jasper@. + ok millert tedu jasper + - djm@cvs.openbsd.org 2011/01/12 01:53:14 + avoid some integer overflows mostly with GLOB_APPEND and GLOB_DOOFFS + and sanity check arguments (these will be unnecessary when we switch + struct glob members from being type into to size_t in the future); + "looks ok" tedu@ feedback guenther@ + - (djm) [configure.ac] Turn on -Wno-unused-result for gcc >= 4.4 to avoid + silly warnings on write() calls we don't care succeed or not. + - (djm) [configure.ac] Fix broken test for gcc >= 4.4 with per-compiler + flag tests that don't depend on gcc version at all; suggested by and + ok dtucker@ + +20110111 + - (tim) [regress/host-expand.sh] Fix for building outside of read only + source tree. + - (djm) [platform.c] Some missing includes that show up under -Werror + - OpenBSD CVS Sync + - djm@cvs.openbsd.org 2011/01/08 10:51:51 + [clientloop.c] + use host and not options.hostname, as the latter may have unescaped + substitution characters + - djm@cvs.openbsd.org 2011/01/11 06:06:09 + [sshlogin.c] + fd leak on error paths; from zinovik@ + NB. Id sync only; we use loginrec.c that was also audited and fixed + recently + - djm@cvs.openbsd.org 2011/01/11 06:13:10 + [clientloop.c ssh-keygen.c sshd.c] + some unsigned long long casts that make things a bit easier for + portable without resorting to dropping PRIu64 formats everywhere + +20110109 + - (djm) [Makefile.in] list ssh_host_ecdsa key in PATHSUBS; spotted by + openssh AT roumenpetrov.info + +20110108 + - (djm) [regress/keytype.sh] s/echo -n/echon/ to repair failing regress + test on OSX and others. Reported by imorgan AT nas.nasa.gov + +20110107 + - (djm) [regress/cert-hostkey.sh regress/cert-userkey.sh] fix shell test + for no-ECC case. Patch from cristian.ionescu-idbohrn AT axis.com + - djm@cvs.openbsd.org 2011/01/06 22:23:53 + [ssh.c] + unbreak %n expansion in LocalCommand; patch from bert.wesarg AT + googlemail.com; ok markus@ + - djm@cvs.openbsd.org 2011/01/06 22:23:02 + [clientloop.c] + when exiting due to ServerAliveTimeout, mention the hostname that caused + it (useful with backgrounded controlmaster) + - djm@cvs.openbsd.org 2011/01/06 22:46:21 + [regress/Makefile regress/host-expand.sh] + regress test for LocalCommand %n expansion from bert.wesarg AT + googlemail.com; ok markus@ + - djm@cvs.openbsd.org 2011/01/06 23:01:35 + [sshconnect.c] + reset SIGCHLD handler to SIG_DFL when execuring LocalCommand; + ok markus@ + +20110106 + - (djm) OpenBSD CVS Sync + - markus@cvs.openbsd.org 2010/12/08 22:46:03 + [scp.1 scp.c] + add a new -3 option to scp: Copies between two remote hosts are + transferred through the local host. Without this option the data + is copied directly between the two remote hosts. ok djm@ (bugzilla #1837) + - jmc@cvs.openbsd.org 2010/12/09 14:13:33 + [scp.1 scp.c] + scp.1: grammer fix + scp.c: add -3 to usage() + - markus@cvs.openbsd.org 2010/12/14 11:59:06 + [sshconnect.c] + don't mention key type in key-changed-warning, since we also print + this warning if a new key type appears. ok djm@ + - djm@cvs.openbsd.org 2010/12/15 00:49:27 + [readpass.c] + fix ControlMaster=ask regression + reset SIGCHLD handler before fork (and restore it after) so we don't miss + the the askpass child's exit status. Correct test for exit status/signal to + account for waitpid() failure; with claudio@ ok claudio@ markus@ + - djm@cvs.openbsd.org 2010/12/24 21:41:48 + [auth-options.c] + don't send the actual forced command in a debug message; ok markus deraadt + - otto@cvs.openbsd.org 2011/01/04 20:44:13 + [ssh-keyscan.c] + handle ecdsa-sha2 with various key lengths; hint and ok djm@ + +20110104 + - (djm) [configure.ac Makefile.in] Use mandoc as preferred manpage + formatter if it is present, followed by nroff and groff respectively. + Fixes distprep target on OpenBSD (which has bumped groff/nroff to ports + in favour of mandoc). feedback and ok tim + +20110103 + - (djm) [Makefile.in] revert local hack I didn't intend to commit + +20110102 + - (djm) [loginrec.c] Fix some fd leaks on error paths. ok dtucker + - (djm) [configure.ac] Check whether libdes is needed when building + with Heimdal krb5 support. On OpenBSD this library no longer exists, + so linking it unconditionally causes a build failure; ok dtucker + +20101226 + - (dtucker) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/12/08 04:02:47 + [ssh_config.5 sshd_config.5] + explain that IPQoS arguments are separated by whitespace; iirc requested + by jmc@ a while back + +20101205 + - (dtucker) openbsd-compat/openssl-compat.c] remove sleep leftover from + debugging. Spotted by djm. + - (dtucker) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/12/03 23:49:26 + [schnorr.c] + check that g^x^q === 1 mod p; recommended by JPAKE author Feng Hao + (this code is still disabled, but apprently people are treating it as + a reference implementation) + - djm@cvs.openbsd.org 2010/12/03 23:55:27 + [auth-rsa.c] + move check for revoked keys to run earlier (in auth_rsa_key_allowed) + bz#1829; patch from ldv AT altlinux.org; ok markus@ + - djm@cvs.openbsd.org 2010/12/04 00:18:01 + [sftp-server.c sftp.1 sftp-client.h sftp.c PROTOCOL sftp-client.c] + add a protocol extension to support a hard link operation. It is + available through the "ln" command in the client. The old "ln" + behaviour of creating a symlink is available using its "-s" option + or through the preexisting "symlink" command; based on a patch from + miklos AT szeredi.hu in bz#1555; ok markus@ + - djm@cvs.openbsd.org 2010/12/04 13:31:37 + [hostfile.c] + fix fd leak; spotted and ok dtucker + - djm@cvs.openbsd.org 2010/12/04 00:21:19 + [regress/sftp-cmds.sh] + adjust for hard-link support + - (dtucker) [regress/Makefile] Id sync. + +20101204 + - (djm) [openbsd-compat/bindresvport.c] Use arc4random_uniform(range) + instead of (arc4random() % range) + - (dtucker) [configure.ac moduli.c openbsd-compat/openssl-compat.{c,h}] Add + shims for the new, non-deprecated OpenSSL key generation functions for + platforms that don't have the new interfaces. + +20101201 + - OpenBSD CVS Sync + - deraadt@cvs.openbsd.org 2010/11/20 05:12:38 + [auth2-pubkey.c] + clean up cases of ;; + - djm@cvs.openbsd.org 2010/11/21 01:01:13 + [clientloop.c misc.c misc.h ssh-agent.1 ssh-agent.c] + honour $TMPDIR for client xauth and ssh-agent temporary directories; + feedback and ok markus@ + - djm@cvs.openbsd.org 2010/11/21 10:57:07 + [authfile.c] + Refactor internals of private key loading and saving to work on memory + buffers rather than directly on files. This will make a few things + easier to do in the future; ok markus@ + - djm@cvs.openbsd.org 2010/11/23 02:35:50 + [auth.c] + use strict_modes already passed as function argument over referencing + global options.strict_modes + - djm@cvs.openbsd.org 2010/11/23 23:57:24 + [clientloop.c] + avoid NULL deref on receiving a channel request on an unknown or invalid + channel; report bz#1842 from jchadima AT redhat.com; ok dtucker@ + - djm@cvs.openbsd.org 2010/11/24 01:24:14 + [channels.c] + remove a debug() that pollutes stderr on client connecting to a server + in debug mode (channel_close_fds is called transitively from the session + code post-fork); bz#1719, ok dtucker + - djm@cvs.openbsd.org 2010/11/25 04:10:09 + [session.c] + replace close() loop for fds 3->64 with closefrom(); + ok markus deraadt dtucker + - djm@cvs.openbsd.org 2010/11/26 05:52:49 + [scp.c] + Pass through ssh command-line flags and options when doing remote-remote + transfers, e.g. to enable agent forwarding which is particularly useful + in this case; bz#1837 ok dtucker@ + - markus@cvs.openbsd.org 2010/11/29 18:57:04 + [authfile.c] + correctly load comment for encrypted rsa1 keys; + report/fix Joachim Schipper; ok djm@ + - djm@cvs.openbsd.org 2010/11/29 23:45:51 + [auth.c hostfile.c hostfile.h ssh.c ssh_config.5 sshconnect.c] + [sshconnect.h sshconnect2.c] + automatically order the hostkeys requested by the client based on + which hostkeys are already recorded in known_hosts. This avoids + hostkey warnings when connecting to servers with new ECDSA keys + that are preferred by default; with markus@ + +20101124 + - (dtucker) [platform.c session.c] Move the getluid call out of session.c and + into the platform-specific code Only affects SCO, tested by and ok tim@. + - (djm) [loginrec.c] Relax permission requirement on btmp logs to allow + group read/write. ok dtucker@ + - (dtucker) [packet.c] Remove redundant local declaration of "int tos". + - (djm) [defines.h] Add IP DSCP defines + +20101122 + - (dtucker) Bug #1840: fix warning when configuring --with-ssl-engine, patch + from vapier at gentoo org. + +20101120 + - OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/11/05 02:46:47 + [packet.c] + whitespace KNF + - djm@cvs.openbsd.org 2010/11/10 01:33:07 + [kexdhc.c kexdhs.c kexgexc.c kexgexs.c key.c moduli.c] + use only libcrypto APIs that are retained with OPENSSL_NO_DEPRECATED. + these have been around for years by this time. ok markus + - djm@cvs.openbsd.org 2010/11/13 23:27:51 + [clientloop.c misc.c misc.h packet.c packet.h readconf.c readconf.h] + [servconf.c servconf.h session.c ssh.c ssh_config.5 sshd_config.5] + allow ssh and sshd to set arbitrary TOS/DSCP/QoS values instead of + hardcoding lowdelay/throughput. + + bz#1733 patch from philipp AT redfish-solutions.com; ok markus@ deraadt@ + - jmc@cvs.openbsd.org 2010/11/15 07:40:14 + [ssh_config.5] + libary -> library; + - jmc@cvs.openbsd.org 2010/11/18 15:01:00 + [scp.1 sftp.1 ssh.1 sshd_config.5] + add IPQoS to the various -o lists, and zap some trailing whitespace; + +20101111 + - (djm) [servconf.c ssh-add.c ssh-keygen.c] don't look for ECDSA keys on + platforms that don't support ECC. Fixes some spurious warnings reported + by tim@ + +20101109 + - (tim) [regress/kextype.sh] Not all platforms have time in /usr/bin. + Feedback from dtucker@ + - (tim) [configure.ac openbsd-compat/bsd-misc.h openbsd-compat/bsd-misc.c] Add + support for platforms missing isblank(). ok djm@ + +20101108 + - (tim) [regress/Makefile] Fixes to allow building/testing outside source + tree. + - (tim) [regress/kextype.sh] Shell portability fix. + +20101107 + - (dtucker) [platform.c] includes.h instead of defines.h so that we get + the correct typedefs. + +20101105 + - (djm) [loginrec.c loginrec.h] Use correct uid_t/pid_t types instead of + int. Should fix bz#1817 cleanly; ok dtucker@ + - OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/09/22 12:26:05 + [regress/Makefile regress/kextype.sh] + regress test for each of the key exchange algorithms that we support + - djm@cvs.openbsd.org 2010/10/28 11:22:09 + [authfile.c key.c key.h ssh-keygen.c] + fix a possible NULL deref on loading a corrupt ECDH key + + store ECDH group information in private keys files as "named groups" + rather than as a set of explicit group parameters (by setting + the OPENSSL_EC_NAMED_CURVE flag). This makes for shorter key files and + retrieves the group's OpenSSL NID that we need for various things. + - jmc@cvs.openbsd.org 2010/10/28 18:33:28 + [scp.1 ssh-add.1 ssh-keygen.1 ssh.1 ssh_config.5 sshd.8 sshd_config.5] + knock out some "-*- nroff -*-" lines; + - djm@cvs.openbsd.org 2010/11/04 02:45:34 + [sftp-server.c] + umask should be parsed as octal. reported by candland AT xmission.com; + ok markus@ + - (dtucker) [configure.ac platform.{c,h} session.c + openbsd-compat/port-solaris.{c,h}] Bug #1824: Add Solaris Project support. + Patch from cory.erickson at csu mnscu edu with a bit of rework from me. + ok djm@ + - (dtucker) [platform.c platform.h session.c] Add a platform hook to run + after the user's groups are established and move the selinux calls into it. + - (dtucker) [platform.c session.c] Move the AIX setpcred+chroot hack into + platform.c + - (dtucker) [platform.c session.c] Move the BSDI setpgrp into platform.c. + - (dtucker) [platform.c] Only call setpgrp on BSDI if running as root to + retain previous behavior. + - (dtucker) [platform.c session.c] Move the PAM credential establishment for + the LOGIN_CAP case into platform.c. + - (dtucker) platform.c session.c] Move the USE_LIBIAF fragment into + platform.c + - (dtucker) [platform.c session.c] Move aix_usrinfo frament into platform.c. + - (dtucker) [platform.c session.c] Move irix setusercontext fragment into + platform.c. + - (dtucker) [platform.c session.c] Move PAM credential establishment for the + non-LOGIN_CAP case into platform.c. + - (dtucker) [platform.c platform.h session.c] Move the Cygwin special-case + check into platform.c + - (dtucker) [regress/keytype.sh] Import new test. + - (dtucker) [Makefile configure.ac regress/Makefile regress/keytype.sh] + Import recent changes to regress/Makefile, pass a flag to enable ECC tests + from configure through to regress/Makefile and use it in the tests. + - (dtucker) [regress/kextype.sh] Add missing "test". + - (dtucker) [regress/kextype.sh] Make sha256 test depend on ECC. This is not + strictly correct since while ECC requires sha256 the reverse is not true + however it does prevent spurious test failures. + - (dtucker) [platform.c] Need servconf.h and extern options. + +20101025 + - (tim) [openbsd-compat/glob.h] Remove sys/cdefs.h include that came with + 1.12 to unbreak Solaris build. + ok djm@ + - (dtucker) [defines.h] Use SIZE_T_MAX for SIZE_MAX for platforms that have a + native one. + +20101024 + - (dtucker) [includes.h] Add missing ifdef GLOB_HAS_GL_STATV to fix build. + - (dtucker) [regress/cert-hostkey.sh] Disable ECC-based tests on platforms + which don't have ECC support in libcrypto. + - (dtucker) [regress/cert-userkey.sh] Disable ECC-based tests on platforms + which don't have ECC support in libcrypto. + - (dtucker) [defines.h] Add SIZE_MAX for the benefit of platforms that don't + have it. + - (dtucker) OpenBSD CVS Sync + - sthen@cvs.openbsd.org 2010/10/23 22:06:12 + [sftp.c] + escape '[' in filename tab-completion; fix a type while there. + ok djm@ + +20101021 + - OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2010/10/12 02:22:24 + [mux.c] + Typo in confirmation message. bz#1827, patch from imorgan at + nas nasa gov + - djm@cvs.openbsd.org 2010/08/31 12:24:09 + [regress/cert-hostkey.sh regress/cert-userkey.sh] + tests for ECDSA certificates + +20101011 + - (djm) [canohost.c] Zero a4 instead of addr to better match type. + bz#1825, reported by foo AT mailinator.com + - (djm) [sshconnect.c] Need signal.h for prototype for kill(2) + +20101011 + - (djm) [configure.ac] Use = instead of == in shell tests. Patch from + dr AT vasco.com + +20101007 + - (djm) [ssh-agent.c] Fix type for curve name. + - (djm) OpenBSD CVS Sync + - matthew@cvs.openbsd.org 2010/09/24 13:33:00 + [misc.c misc.h configure.ac openbsd-compat/openbsd-compat.h] + [openbsd-compat/timingsafe_bcmp.c] + Add timingsafe_bcmp(3) to libc, mention that it's already in the + kernel in kern(9), and remove it from OpenSSH. + ok deraadt@, djm@ + NB. re-added under openbsd-compat/ for portable OpenSSH + - djm@cvs.openbsd.org 2010/09/25 09:30:16 + [sftp.c configure.ac openbsd-compat/glob.c openbsd-compat/glob.h] + make use of new glob(3) GLOB_KEEPSTAT extension to save extra server + rountrips to fetch per-file stat(2) information. + NB. update openbsd-compat/ glob(3) implementation from OpenBSD libc to + match. + - djm@cvs.openbsd.org 2010/09/26 22:26:33 + [sftp.c] + when performing an "ls" in columnated (short) mode, only call + ioctl(TIOCGWINSZ) once to get the window width instead of per- + filename + - djm@cvs.openbsd.org 2010/09/30 11:04:51 + [servconf.c] + prevent free() of string in .rodata when overriding AuthorizedKeys in + a Match block; patch from rein AT basefarm.no + - djm@cvs.openbsd.org 2010/10/01 23:05:32 + [cipher-3des1.c cipher-bf1.c cipher-ctr.c openbsd-compat/openssl-compat.h] + adapt to API changes in openssl-1.0.0a + NB. contains compat code to select correct API for older OpenSSL + - djm@cvs.openbsd.org 2010/10/05 05:13:18 + [sftp.c sshconnect.c] + use default shell /bin/sh if $SHELL is ""; ok markus@ + - djm@cvs.openbsd.org 2010/10/06 06:39:28 + [clientloop.c ssh.c sshconnect.c sshconnect.h] + kill proxy command on fatal() (we already kill it on clean exit); + ok markus@ + - djm@cvs.openbsd.org 2010/10/06 21:10:21 + [sshconnect.c] + swapped args to kill(2) + - (djm) [openbsd-compat/glob.c] restore ARG_MAX compat code. + - (djm) [cipher-acss.c] Add missing header. + - (djm) [openbsd-compat/Makefile.in] Actually link timingsafe_bcmp + +20100924 + - (djm) OpenBSD CVS Sync + - naddy@cvs.openbsd.org 2010/09/10 15:19:29 + [ssh-keygen.1] + * mention ECDSA in more places + * less repetition in FILES section + * SSHv1 keys are still encrypted with 3DES + help and ok jmc@ + - djm@cvs.openbsd.org 2010/09/11 21:44:20 + [ssh.1] + mention RFC 5656 for ECC stuff + - jmc@cvs.openbsd.org 2010/09/19 21:30:05 + [sftp.1] + more wacky macro fixing; + - djm@cvs.openbsd.org 2010/09/20 04:41:47 + [ssh.c] + install a SIGCHLD handler to reap expiried child process; ok markus@ + - djm@cvs.openbsd.org 2010/09/20 04:50:53 + [jpake.c schnorr.c] + check that received values are smaller than the group size in the + disabled and unfinished J-PAKE code. + avoids catastrophic security failure found by Sebastien Martini + - djm@cvs.openbsd.org 2010/09/20 04:54:07 + [jpake.c] + missing #include + - djm@cvs.openbsd.org 2010/09/20 07:19:27 + [mux.c] + "atomically" create the listening mux socket by binding it on a temorary + name and then linking it into position after listen() has succeeded. + this allows the mux clients to determine that the server socket is + either ready or stale without races. stale server sockets are now + automatically removed + ok deraadt + - djm@cvs.openbsd.org 2010/09/22 05:01:30 + [kex.c kex.h kexecdh.c kexecdhc.c kexecdhs.c readconf.c readconf.h] + [servconf.c servconf.h ssh_config.5 sshconnect2.c sshd.c sshd_config.5] + add a KexAlgorithms knob to the client and server configuration to allow + selection of which key exchange methods are used by ssh(1) and sshd(8) + and their order of preference. + ok markus@ + - jmc@cvs.openbsd.org 2010/09/22 08:30:08 + [ssh.1 ssh_config.5] + ssh.1: add kexalgorithms to the -o list + ssh_config.5: format the kexalgorithms in a more consistent + (prettier!) way + ok djm + - djm@cvs.openbsd.org 2010/09/22 22:58:51 + [atomicio.c atomicio.h misc.c misc.h scp.c sftp-client.c] + [sftp-client.h sftp.1 sftp.c] + add an option per-read/write callback to atomicio + + factor out bandwidth limiting code from scp(1) into a generic bandwidth + limiter that can be attached using the atomicio callback mechanism + + add a bandwidth limit option to sftp(1) using the above + "very nice" markus@ + - jmc@cvs.openbsd.org 2010/09/23 13:34:43 + [sftp.c] + add [-l limit] to usage(); + - jmc@cvs.openbsd.org 2010/09/23 13:36:46 + [scp.1 sftp.1] + add KexAlgorithms to the -o list; + +20100910 + - (dtucker) [openbsd-compat/port-linux.c] Check is_selinux_enabled for exact + return code since it can apparently return -1 under some conditions. From + openssh bugs werbittewas de, ok djm@ + - OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/08/31 12:33:38 + [ssh-add.c ssh-agent.c ssh-keygen.c ssh-keysign.c ssh.c sshd.c] + reintroduce commit from tedu@, which I pulled out for release + engineering: + OpenSSL_add_all_algorithms is the name of the function we have a + man page for, so use that. ok djm + - jmc@cvs.openbsd.org 2010/08/31 17:40:54 + [ssh-agent.1] + fix some macro abuse; + - jmc@cvs.openbsd.org 2010/08/31 21:14:58 + [ssh.1] + small text tweak to accommodate previous; + - naddy@cvs.openbsd.org 2010/09/01 15:21:35 + [servconf.c] + pick up ECDSA host key by default; ok djm@ + - markus@cvs.openbsd.org 2010/09/02 16:07:25 + [ssh-keygen.c] + permit -b 256, 384 or 521 as key size for ECDSA; ok djm@ + - markus@cvs.openbsd.org 2010/09/02 16:08:39 + [ssh.c] + unbreak ControlPersist=yes for ControlMaster=yes; ok djm@ + - naddy@cvs.openbsd.org 2010/09/02 17:21:50 + [ssh-keygen.c] + Switch ECDSA default key size to 256 bits, which according to RFC5656 + should still be better than our current RSA-2048 default. + ok djm@, markus@ + - jmc@cvs.openbsd.org 2010/09/03 11:09:29 + [scp.1] + add an EXIT STATUS section for /usr/bin; + - jmc@cvs.openbsd.org 2010/09/04 09:38:34 + [ssh-add.1 ssh.1] + two more EXIT STATUS sections; + - naddy@cvs.openbsd.org 2010/09/06 17:10:19 + [sshd_config] + add ssh_host_ecdsa_key to /etc; from Mattieu Baptiste + + ok deraadt@ + - djm@cvs.openbsd.org 2010/09/08 03:54:36 + [authfile.c] + typo + - deraadt@cvs.openbsd.org 2010/09/08 04:13:31 + [compress.c] + work around name-space collisions some buggy compilers (looking at you + gcc, at least in earlier versions, but this does not forgive your current + transgressions) seen between zlib and openssl + ok djm + - djm@cvs.openbsd.org 2010/09/09 10:45:45 + [kex.c kex.h kexecdh.c key.c key.h monitor.c ssh-ecdsa.c] + ECDH/ECDSA compliance fix: these methods vary the hash function they use + (SHA256/384/512) depending on the length of the curve in use. The previous + code incorrectly used SHA256 in all cases. + + This fix will cause authentication failure when using 384 or 521-bit curve + keys if one peer hasn't been upgraded and the other has. (256-bit curve + keys work ok). In particular you may need to specify HostkeyAlgorithms + when connecting to a server that has not been upgraded from an upgraded + client. + + ok naddy@ + - (djm) [authfd.c authfile.c bufec.c buffer.h configure.ac kex.h kexecdh.c] + [kexecdhc.c kexecdhs.c key.c key.h myproposal.h packet.c readconf.c] + [ssh-agent.c ssh-ecdsa.c ssh-keygen.c ssh.c] Disable ECDH and ECDSA on + platforms that don't have the requisite OpenSSL support. ok dtucker@ + - (dtucker) [kex.h key.c packet.h ssh-agent.c ssh.c] A few more ECC ifdefs + for missing headers and compiler warnings. + +20100831 + - OpenBSD CVS Sync + - jmc@cvs.openbsd.org 2010/08/08 19:36:30 + [ssh-keysign.8 ssh.1 sshd.8] + use the same template for all FILES sections; i.e. -compact/.Pp where we + have multiple items, and .Pa for path names; + - tedu@cvs.openbsd.org 2010/08/12 23:34:39 + [ssh-add.c ssh-agent.c ssh-keygen.c ssh-keysign.c ssh.c sshd.c] + OpenSSL_add_all_algorithms is the name of the function we have a man page + for, so use that. ok djm + - djm@cvs.openbsd.org 2010/08/16 04:06:06 + [ssh-add.c ssh-agent.c ssh-keygen.c ssh-keysign.c ssh.c sshd.c] + backout previous temporarily; discussed with deraadt@ + - djm@cvs.openbsd.org 2010/08/31 09:58:37 + [auth-options.c auth1.c auth2.c bufaux.c buffer.h kex.c key.c packet.c] + [packet.h ssh-dss.c ssh-rsa.c] + Add buffer_get_cstring() and related functions that verify that the + string extracted from the buffer contains no embedded \0 characters* + This prevents random (possibly malicious) crap from being appended to + strings where it would not be noticed if the string is used with + a string(3) function. + + Use the new API in a few sensitive places. + + * actually, we allow a single one at the end of the string for now because + we don't know how many deployed implementations get this wrong, but don't + count on this to remain indefinitely. + - djm@cvs.openbsd.org 2010/08/31 11:54:45 + [PROTOCOL PROTOCOL.agent PROTOCOL.certkeys auth2-jpake.c authfd.c] + [authfile.c buffer.h dns.c kex.c kex.h key.c key.h monitor.c] + [monitor_wrap.c myproposal.h packet.c packet.h pathnames.h readconf.c] + [ssh-add.1 ssh-add.c ssh-agent.1 ssh-agent.c ssh-keygen.1 ssh-keygen.c] + [ssh-keyscan.1 ssh-keyscan.c ssh-keysign.8 ssh.1 ssh.c ssh2.h] + [ssh_config.5 sshconnect.c sshconnect2.c sshd.8 sshd.c sshd_config.5] + [uuencode.c uuencode.h bufec.c kexecdh.c kexecdhc.c kexecdhs.c ssh-ecdsa.c] + Implement Elliptic Curve Cryptography modes for key exchange (ECDH) and + host/user keys (ECDSA) as specified by RFC5656. ECDH and ECDSA offer + better performance than plain DH and DSA at the same equivalent symmetric + key length, as well as much shorter keys. + + Only the mandatory sections of RFC5656 are implemented, specifically the + three REQUIRED curves nistp256, nistp384 and nistp521 and only ECDH and + ECDSA. Point compression (optional in RFC5656 is NOT implemented). + + Certificate host and user keys using the new ECDSA key types are supported. + + Note that this code has not been tested for interoperability and may be + subject to change. + + feedback and ok markus@ + - (djm) [Makefile.in] Add new ECC files + - (djm) [bufec.c kexecdh.c kexecdhc.c kexecdhs.c ssh-ecdsa.c] include + includes.h + +20100827 + - (dtucker) [contrib/redhat/sshd.init] Bug #1810: initlog is deprecated, + remove. Patch from martynas at venck us + 20100823 - (djm) Release OpenSSH-5.6p1 @@ -517,2746 +1256,3 @@ ok markus@ -20100410 - - (dtucker) [configure.ac] Put the check for the existence of getaddrinfo - back so we disable the IPv6 tests if we don't have it. - -20100409 - - (dtucker) [contrib/cygwin/Makefile] Don't overwrite files with the wrong - ones. Based on a patch from Roumen Petrov. - - (dtucker) [configure.ac] Bug #1744: use pkg-config for libedit flags if we - have it and the path is not provided to --with-libedit. Based on a patch - from Iain Morgan. - - (dtucker) [configure.ac defines.h loginrec.c logintest.c] Bug #1732: enable - utmpx support on FreeBSD where possible. Patch from Ed Schouten, ok djm@ - -20100326 - - (djm) [openbsd-compat/bsd-arc4random.c] Fix preprocessor detection - for arc4random_buf() and arc4random_uniform(); from Josh Gilkerson - - (dtucker) [configure.ac] Bug #1741: Add section for Haiku, patch originally - by Ingo Weinhold via Scott McCreary, ok djm@ - - (djm) OpenBSD CVS Sync - - djm@cvs.openbsd.org 2010/03/25 23:38:28 - [servconf.c] - from portable: getcwd(NULL, 0) doesn't work on all platforms, so - use a stack buffer; ok dtucker@ - - djm@cvs.openbsd.org 2010/03/26 00:26:58 - [ssh.1] - mention that -S none disables connection sharing; from Colin Watson - - (djm) [session.c] Allow ChrootDirectory to work on SELinux platforms - - set up SELinux execution context before chroot() call. From Russell - Coker via Colin watson; bz#1726 ok dtucker@ - - (djm) [channels.c] Check for EPFNOSUPPORT as a socket() errno; bz#1721 - ok dtucker@ - - (dtucker) Bug #1725: explicitly link libX11 into gnome-ssh-askpass2 using - pkg-config, patch from Colin Watson. Needed for newer linkers (ie gold). - - (djm) [contrib/ssh-copy-id] Don't blow up when the agent has no keys; - bz#1723 patch from Adeodato Simóvia Colin Watson; ok dtucker@ - - (dtucker) OpenBSD CVS Sync - - dtucker@cvs.openbsd.org 2010/03/26 01:06:13 - [ssh_config.5] - Reformat default value of PreferredAuthentications entry (current - formatting implies ", " is acceptable as a separator, which it's not. - ok djm@ - -20100324 - - (dtucker) [contrib/cygwin/ssh-host-config] Mount the Windows directory - containing the services file explicitely case-insensitive. This allows to - tweak the Windows services file reliably. Patch from vinschen at redhat. - -20100321 - - (djm) OpenBSD CVS Sync - - jmc@cvs.openbsd.org 2010/03/08 09:41:27 - [ssh-keygen.1] - sort the list of constraints (to -O); ok djm - - jmc@cvs.openbsd.org 2010/03/10 07:40:35 - [ssh-keygen.1] - typos; from Ross Richardson - closes prs 6334 and 6335 - - djm@cvs.openbsd.org 2010/03/10 23:27:17 - [auth2-pubkey.c] - correct certificate logging and make it more consistent between - authorized_keys and TrustedCAKeys; ok markus@ - - djm@cvs.openbsd.org 2010/03/12 01:06:25 - [servconf.c] - unbreak AuthorizedKeys option with a $HOME-relative path; reported by - vinschen AT redhat.com, ok dtucker@ - - markus@cvs.openbsd.org 2010/03/12 11:37:40 - [servconf.c] - do not prepend AuthorizedKeysFile with getcwd(), unbreaks relative paths - free() (not xfree()) the buffer returned by getcwd() - - djm@cvs.openbsd.org 2010/03/13 21:10:38 - [clientloop.c] - protocol conformance fix: send language tag when disconnecting normally; - spotted by 1.41421 AT gmail.com, ok markus@ deraadt@ - - djm@cvs.openbsd.org 2010/03/13 21:45:46 - [ssh-keygen.1] - Certificates are named *-cert.pub, not *_cert.pub; committing a diff - from stevesk@ ok me - - jmc@cvs.openbsd.org 2010/03/13 23:38:13 - [ssh-keygen.1] - fix a formatting error (args need quoted); noted by stevesk - - stevesk@cvs.openbsd.org 2010/03/15 19:40:02 - [key.c key.h ssh-keygen.c] - also print certificate type (user or host) for ssh-keygen -L - ok djm kettenis - - stevesk@cvs.openbsd.org 2010/03/16 15:46:52 - [auth-options.c] - spelling in error message. ok djm kettenis - - djm@cvs.openbsd.org 2010/03/16 16:36:49 - [version.h] - crank version to openssh-5.5 since we have a few fixes since 5.4; - requested deraadt@ kettenis@ - - (djm) [README contrib/caldera/openssh.spec contrib/redhat/openssh.spec] - [contrib/suse/openssh.spec] Crank version numbers - -20100314 - - (djm) [ssh-pkcs11-helper.c] Move #ifdef to after #defines to fix - compilation failure when !HAVE_DLOPEN. Reported by felix-mindrot - AT fefe.de - - (djm) [Makefile.in] Respecify -lssh after -lopenbsd-compat for - ssh-pkcs11-helper to repair static builds (we do the same for - ssh-keyscan). Reported by felix-mindrot AT fefe.de - -20100312 - - (tim) [Makefile.in] Now that scard is gone, no need to make $(datadir) - - (tim) [Makefile.in] Add missing $(EXEEXT) to install targets. - Patch from Corinna Vinschen. - - (tim) [contrib/cygwin/Makefile] Fix list of documentation files to install - on a Cygwin installation. Patch from Corinna Vinschen. - -20100311 - - (tim) [contrib/suse/openssh.spec] crank version number here too. - report by imorgan AT nas.nasa.gov - -20100309 - - (dtucker) [configure.ac] Use a proper AC_CHECK_DECL for BROKEN_GETADDRINFO - so setting it in CFLAGS correctly skips IPv6 tests. - -20100428 - - (djm) OpenBSD CVS Sync - - djm@cvs.openbsd.org 2010/03/07 22:16:01 - [ssh-keygen.c] - make internal strptime string match strftime format; - suggested by vinschen AT redhat.com and markus@ - - djm@cvs.openbsd.org 2010/03/08 00:28:55 - [ssh-keygen.1] - document permit-agent-forwarding certificate constraint; patch from - stevesk@ - - djm@cvs.openbsd.org 2010/03/07 22:01:32 - [version.h] - openssh-5.4 - - (djm) [README contrib/caldera/openssh.spec contrib/redhat/openssh.spec] - crank version numbers - - (djm) Release OpenSSH-5.4p1 - -20100307 - - (dtucker) [auth.c] Bug #1710: call setauthdb on AIX before getpwuid so that - it gets the passwd struct from the LAM that knows about the user which is - not necessarily the default. Patch from Alexandre Letourneau. - - (dtucker) [session.c] Bug #1567: move setpcred call to before chroot and - do not set real uid, since that's needed for the chroot, and will be set - by permanently_set_uid. - - (dtucker) [session.c] Also initialize creds to NULL for handing to - setpcred. - - (dtucker) OpenBSD CVS Sync - - dtucker@cvs.openbsd.org 2010/03/07 11:57:13 - [auth-rhosts.c monitor.c monitor_wrap.c session.c auth-options.c sshd.c] - Hold authentication debug messages until after successful authentication. - Fixes an info leak of environment variables specified in authorized_keys, - reported by Jacob Appelbaum. ok djm@ - -20100305 - - OpenBSD CVS Sync - - jmc@cvs.openbsd.org 2010/03/04 12:51:25 - [ssh.1 sshd_config.5] - tweak previous; - - djm@cvs.openbsd.org 2010/03/04 20:35:08 - [ssh-keygen.1 ssh-keygen.c] - Add a -L flag to print the contents of a certificate; ok markus@ - - jmc@cvs.openbsd.org 2010/03/04 22:52:40 - [ssh-keygen.1] - fix Bk/Ek; - - djm@cvs.openbsd.org 2010/03/04 23:17:25 - [sshd_config.5] - missing word; spotted by jmc@ - - djm@cvs.openbsd.org 2010/03/04 23:19:29 - [ssh.1 sshd.8] - move section on CA and revoked keys from ssh.1 to sshd.8's known hosts - format section and rework it a bit; requested by jmc@ - - djm@cvs.openbsd.org 2010/03/04 23:27:25 - [auth-options.c ssh-keygen.c] - "force-command" is not spelled "forced-command"; spotted by - imorgan AT nas.nasa.gov - - djm@cvs.openbsd.org 2010/03/05 02:58:11 - [auth.c] - make the warning for a revoked key louder and more noticable - - jmc@cvs.openbsd.org 2010/03/05 06:50:35 - [ssh.1 sshd.8] - tweak previous; - - jmc@cvs.openbsd.org 2010/03/05 08:31:20 - [ssh.1] - document certificate authentication; help/ok djm - - djm@cvs.openbsd.org 2010/03/05 10:28:21 - [ssh-add.1 ssh.1 ssh_config.5] - mention loading of certificate files from [private]-cert.pub when - they are present; feedback and ok jmc@ - - (tim) [ssh-pkcs11.c] Fix "non-constant initializer" errors in older - compilers. OK djm@ - - (djm) [ssh-rand-helper.c] declare optind, avoiding compilation failure - on some platforms - - (djm) [configure.ac] set -fno-strict-aliasing for gcc4; ok dtucker@ - -20100304 - - (djm) [ssh-keygen.c] Use correct local variable, instead of - maybe-undefined global "optarg" - - (djm) [contrib/redhat/openssh.spec] Replace obsolete BuildPreReq - on XFree86-devel with neutral /usr/include/X11/Xlib.h; - imorgan AT nas.nasa.gov in bz#1731 - - (djm) [.cvsignore] Ignore ssh-pkcs11-helper - - (djm) [regress/Makefile] Cleanup sshd_proxy_orig - - OpenBSD CVS Sync - - djm@cvs.openbsd.org 2010/03/03 01:44:36 - [auth-options.c key.c] - reject strings with embedded ASCII nul chars in certificate key IDs, - principal names and constraints - - djm@cvs.openbsd.org 2010/03/03 22:49:50 - [sshd.8] - the authorized_keys option for CA keys is "cert-authority", not - "from=cert-authority". spotted by imorgan AT nas.nasa.gov - - djm@cvs.openbsd.org 2010/03/03 22:50:40 - [PROTOCOL.certkeys] - s/similar same/similar/; from imorgan AT nas.nasa.gov - - djm@cvs.openbsd.org 2010/03/04 01:44:57 - [key.c] - use buffer_get_string_ptr_ret() where we are checking the return - value explicitly instead of the fatal()-causing buffer_get_string_ptr() - - djm@cvs.openbsd.org 2010/03/04 10:36:03 - [auth-rh-rsa.c auth-rsa.c auth.c auth.h auth2-hostbased.c auth2-pubkey.c] - [authfile.c authfile.h hostfile.c hostfile.h servconf.c servconf.h] - [ssh-keygen.c ssh.1 sshconnect.c sshd_config.5] - Add a TrustedUserCAKeys option to sshd_config to specify CA keys that - are trusted to authenticate users (in addition than doing it per-user - in authorized_keys). - - Add a RevokedKeys option to sshd_config and a @revoked marker to - known_hosts to allow keys to me revoked and banned for user or host - authentication. - - feedback and ok markus@ - - djm@cvs.openbsd.org 2010/03/03 00:47:23 - [regress/cert-hostkey.sh regress/cert-userkey.sh] - add an extra test to ensure that authentication with the wrong - certificate fails as it should (and it does) - - djm@cvs.openbsd.org 2010/03/04 10:38:23 - [regress/cert-hostkey.sh regress/cert-userkey.sh] - additional regression tests for revoked keys and TrustedUserCAKeys - -20100303 - - (djm) [PROTOCOL.certkeys] Add RCS Ident - - OpenBSD CVS Sync - - jmc@cvs.openbsd.org 2010/02/26 22:09:28 - [ssh-keygen.1 ssh.1 sshd.8] - tweak previous; - - otto@cvs.openbsd.org 2010/03/01 11:07:06 - [ssh-add.c] - zap what seems to be a left-over debug message; ok markus@ - - djm@cvs.openbsd.org 2010/03/02 23:20:57 - [ssh-keygen.c] - POSIX strptime is stricter than OpenBSD's so do a little dance to - appease it. - - (djm) [regress/cert-userkey.sh] s/echo -n/echon/ here too - -20100302 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed May 4 20:29:41 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 162D4106566C; Wed, 4 May 2011 20:29:41 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EC9348FC1B; Wed, 4 May 2011 20:29:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p44KTeMq066222; Wed, 4 May 2011 20:29:40 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p44KTe2j066216; Wed, 4 May 2011 20:29:40 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105042029.p44KTe2j066216@svn.freebsd.org> From: Attilio Rao Date: Wed, 4 May 2011 20:29:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221459 - in projects/largeSMP/sys: amd64/amd64 amd64/include i386/i386 i386/include i386/xen X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 20:29:41 -0000 Author: attilio Date: Wed May 4 20:29:40 2011 New Revision: 221459 URL: http://svn.freebsd.org/changeset/base/221459 Log: Revert md_assert_preempt() introduction. Discussed with: jeff, jhb Modified: projects/largeSMP/sys/amd64/amd64/mp_machdep.c projects/largeSMP/sys/amd64/include/smp.h projects/largeSMP/sys/i386/i386/mp_machdep.c projects/largeSMP/sys/i386/include/smp.h projects/largeSMP/sys/i386/xen/mp_machdep.c Modified: projects/largeSMP/sys/amd64/amd64/mp_machdep.c ============================================================================== --- projects/largeSMP/sys/amd64/amd64/mp_machdep.c Wed May 4 20:28:45 2011 (r221458) +++ projects/largeSMP/sys/amd64/amd64/mp_machdep.c Wed May 4 20:29:40 2011 (r221459) @@ -1428,22 +1428,6 @@ cpususpend_handler(void) intr_restore(rf); } -void -md_assert_nopreempt(void) -{ -#ifdef INVARIANTS - struct thread *td; - register_t rflags; - - td = curthread; - rflags = read_rflags(); - - if ((rflags & PSL_I) != 0 && td->td_critnest <= 0) - panic("Preemption still allowed, thread %s\n", - (td->td_pinned <= 0) ? "not pinned" : "pinned"); -#endif -} - /* * This is called once the rest of the system is up and running and we're * ready to let the AP's out of the pen. Modified: projects/largeSMP/sys/amd64/include/smp.h ============================================================================== --- projects/largeSMP/sys/amd64/include/smp.h Wed May 4 20:28:45 2011 (r221458) +++ projects/largeSMP/sys/amd64/include/smp.h Wed May 4 20:29:40 2011 (r221459) @@ -64,7 +64,6 @@ void ipi_bitmap_handler(struct trapfram void ipi_cpu(int cpu, u_int ipi); int ipi_nmi_handler(void); void ipi_selected(cpumask_t cpus, u_int ipi); -void md_assert_nopreempt(void); u_int mp_bootaddress(u_int); int mp_grab_cpu_hlt(void); void smp_cache_flush(void); Modified: projects/largeSMP/sys/i386/i386/mp_machdep.c ============================================================================== --- projects/largeSMP/sys/i386/i386/mp_machdep.c Wed May 4 20:28:45 2011 (r221458) +++ projects/largeSMP/sys/i386/i386/mp_machdep.c Wed May 4 20:29:40 2011 (r221459) @@ -1486,22 +1486,6 @@ cpustop_handler(void) } } -void -md_assert_nopreempt(void) -{ -#ifdef INVARIANTS - struct thread *td; - register_t rflags; - - td = curthread; - rflags = read_rflags(); - - if ((rflags & PSL_I) != 0 && td->td_critnest <= 0) - panic("Preemption still allowed, thread %s\n", - (td->td_pinned <= 0) ? "not pinned" : "pinned"); -#endif -} - /* * This is called once the rest of the system is up and running and we're * ready to let the AP's out of the pen. Modified: projects/largeSMP/sys/i386/include/smp.h ============================================================================== --- projects/largeSMP/sys/i386/include/smp.h Wed May 4 20:28:45 2011 (r221458) +++ projects/largeSMP/sys/i386/include/smp.h Wed May 4 20:29:40 2011 (r221459) @@ -65,7 +65,6 @@ void ipi_bitmap_handler(struct trapfram void ipi_cpu(int cpu, u_int ipi); int ipi_nmi_handler(void); void ipi_selected(cpumask_t cpus, u_int ipi); -void md_assert_nopreempt(void); u_int mp_bootaddress(u_int); int mp_grab_cpu_hlt(void); void smp_cache_flush(void); Modified: projects/largeSMP/sys/i386/xen/mp_machdep.c ============================================================================== --- projects/largeSMP/sys/i386/xen/mp_machdep.c Wed May 4 20:28:45 2011 (r221458) +++ projects/largeSMP/sys/i386/xen/mp_machdep.c Wed May 4 20:29:40 2011 (r221459) @@ -1216,22 +1216,6 @@ cpustop_handler(void) } } -void -md_assert_nopreempt(void) -{ -#ifdef INVARIANTS - struct thread *td; - register_t rflags; - - td = curthread; - rflags = read_rflags(); - - if ((rflags & PSL_I) != 0 && td->td_critnest <= 0) - panic("Preemption still allowed, thread %s\n", - (td->td_pinned <= 0) ? "not pinned" : "pinned"); -#endif -} - /* * This is called once the rest of the system is up and running and we're * ready to let the AP's out of the pen. From owner-svn-src-projects@FreeBSD.ORG Thu May 5 03:57:44 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 32B4F106566C; Thu, 5 May 2011 03:57:44 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 219EB8FC15; Thu, 5 May 2011 03:57:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p453viuM080680; Thu, 5 May 2011 03:57:44 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p453viAv080678; Thu, 5 May 2011 03:57:44 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201105050357.p453viAv080678@svn.freebsd.org> From: Marcel Moolenaar Date: Thu, 5 May 2011 03:57:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221481 - projects/altix/sys/ia64/ia64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 03:57:44 -0000 Author: marcel Date: Thu May 5 03:57:43 2011 New Revision: 221481 URL: http://svn.freebsd.org/changeset/base/221481 Log: Implement ipi_send() for Altix. This is quick-n-dirty, but works. We have SMP up and running. I haven't had a chance to test whether ptc.g works properly (given that the SHub has a register for it), but that's easily found out. Modified: projects/altix/sys/ia64/ia64/mp_machdep.c Modified: projects/altix/sys/ia64/ia64/mp_machdep.c ============================================================================== --- projects/altix/sys/ia64/ia64/mp_machdep.c Thu May 5 03:42:04 2011 (r221480) +++ projects/altix/sys/ia64/ia64/mp_machdep.c Thu May 5 03:57:43 2011 (r221481) @@ -497,14 +497,25 @@ ipi_all_but_self(int ipi) void ipi_send(struct pcpu *cpu, int xiv) { + uint64_t *ipip; + uint64_t ipi; u_int sapic_id; KASSERT(xiv != 0, ("ipi_send")); sapic_id = IA64_LID_GET_SAPIC_ID(cpu->pc_md.lid); +#if 0 + ipip = &(ia64_pib->ib_ipi[sapic_id][0]); + ipi = xiv; +#else + ipip = (void *)(IA64_PHYS_TO_RR6(0x800000000UL) | + ((u_long)cpu->pc_md.sgisn_nasid << 38) | 0x110000380UL); + ipi = 0x80000001fdc00000UL | ((u_long)xiv << 52) | (sapic_id << 4); +#endif + ia64_mf(); - ia64_st8(&(ia64_pib->ib_ipi[sapic_id][0]), xiv); + ia64_st8(ipip, ipi); ia64_mf_a(); CTR3(KTR_SMP, "ipi_send(%p, %d): cpuid=%d", cpu, xiv, PCPU_GET(cpuid)); } From owner-svn-src-projects@FreeBSD.ORG Thu May 5 03:58:24 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3D89A1065673; Thu, 5 May 2011 03:58:24 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2C7AB8FC12; Thu, 5 May 2011 03:58:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p453wO5e080740; Thu, 5 May 2011 03:58:24 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p453wOLc080738; Thu, 5 May 2011 03:58:24 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201105050358.p453wOLc080738@svn.freebsd.org> From: Marcel Moolenaar Date: Thu, 5 May 2011 03:58:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221482 - projects/altix/sys/ia64/conf X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 03:58:24 -0000 Author: marcel Date: Thu May 5 03:58:23 2011 New Revision: 221482 URL: http://svn.freebsd.org/changeset/base/221482 Log: Enable SMP by default and remove commented-out options. Modified: projects/altix/sys/ia64/conf/ALTIX Modified: projects/altix/sys/ia64/conf/ALTIX ============================================================================== --- projects/altix/sys/ia64/conf/ALTIX Thu May 5 03:57:43 2011 (r221481) +++ projects/altix/sys/ia64/conf/ALTIX Thu May 5 03:58:23 2011 (r221482) @@ -26,12 +26,10 @@ device tun device uart device vlan -#options ACPI_DEBUG options ALT_BREAK_TO_DEBUGGER options CD9660 options DDB options DEADLKRES -#options EXCEPTION_TRACING options FFS options GDB options INET @@ -53,7 +51,7 @@ options PROCFS options PSEUDOFS options SCHED_ULE options SCSI_DELAY=3000 -#options SMP +options SMP options SOFTUPDATES options SYSVMSG options SYSVSEM From owner-svn-src-projects@FreeBSD.ORG Thu May 5 14:05:30 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6700C1065792; Thu, 5 May 2011 14:05:30 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4F44C8FC0C; Thu, 5 May 2011 14:05:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p45E5UNW002624; Thu, 5 May 2011 14:05:30 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p45E5TuI002595; Thu, 5 May 2011 14:05:29 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105051405.p45E5TuI002595@svn.freebsd.org> From: Attilio Rao Date: Thu, 5 May 2011 14:05:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221495 - in projects/largeSMP: . bin/sh contrib/top crypto/openssh etc/periodic/daily lib/libarchive lib/libcrypt release release/amd64 release/i386 release/pc98 release/powerpc releas... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 14:05:30 -0000 Author: attilio Date: Thu May 5 14:05:29 2011 New Revision: 221495 URL: http://svn.freebsd.org/changeset/base/221495 Log: MFC Added: projects/largeSMP/release/pc98/mkisoimages.sh - copied unchanged from r221493, head/release/pc98/mkisoimages.sh projects/largeSMP/release/powerpc/generate-hfs.sh - copied unchanged from r221493, head/release/powerpc/generate-hfs.sh projects/largeSMP/release/powerpc/hfs-boot.bz2.uu - copied unchanged from r221493, head/release/powerpc/hfs-boot.bz2.uu projects/largeSMP/release/sun4v/mkisoimages.sh - copied unchanged from r221493, head/release/sun4v/mkisoimages.sh projects/largeSMP/tools/regression/bin/sh/errors/bad-parm-exp6.2 - copied unchanged from r221493, head/tools/regression/bin/sh/errors/bad-parm-exp6.2 projects/largeSMP/tools/regression/bin/sh/errors/bad-parm-exp6.2.stderr - copied unchanged from r221493, head/tools/regression/bin/sh/errors/bad-parm-exp6.2.stderr projects/largeSMP/tools/regression/bin/sh/expansion/set-u3.0 - copied unchanged from r221493, head/tools/regression/bin/sh/expansion/set-u3.0 Deleted: projects/largeSMP/release/powerpc/hfs.map Modified: projects/largeSMP/Makefile.inc1 projects/largeSMP/bin/sh/arith_yacc.c projects/largeSMP/bin/sh/parser.c projects/largeSMP/crypto/openssh/ChangeLog projects/largeSMP/crypto/openssh/defines.h projects/largeSMP/etc/periodic/daily/220.backup-pkgdb projects/largeSMP/lib/libarchive/Makefile projects/largeSMP/lib/libarchive/archive_hash.h projects/largeSMP/lib/libarchive/config_freebsd.h projects/largeSMP/lib/libcrypt/crypt-sha256.c projects/largeSMP/lib/libcrypt/crypt-sha512.c projects/largeSMP/lib/libcrypt/crypt.c projects/largeSMP/lib/libcrypt/crypt.h projects/largeSMP/release/Makefile.sysinstall projects/largeSMP/release/amd64/mkisoimages.sh projects/largeSMP/release/i386/mkisoimages.sh projects/largeSMP/release/powerpc/mkisoimages.sh projects/largeSMP/share/man/man9/bus_adjust_resource.9 projects/largeSMP/share/man/man9/make_dev.9 projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar2133.c projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/largeSMP/sys/dev/bge/if_bge.c projects/largeSMP/sys/dev/bge/if_bgereg.h projects/largeSMP/sys/dev/cxgbe/offload.h projects/largeSMP/sys/dev/cxgbe/t4_ioctl.h projects/largeSMP/sys/dev/cxgbe/t4_main.c projects/largeSMP/sys/dev/cxgbe/t4_sge.c projects/largeSMP/sys/dev/mii/brgphy.c projects/largeSMP/sys/fs/nfs/nfsproto.h projects/largeSMP/sys/fs/nfsclient/nfs_clport.c projects/largeSMP/sys/geom/cache/g_cache.c projects/largeSMP/sys/geom/concat/g_concat.c projects/largeSMP/sys/geom/eli/g_eli.c projects/largeSMP/sys/geom/journal/g_journal.c projects/largeSMP/sys/geom/mountver/g_mountver.c projects/largeSMP/sys/geom/multipath/g_multipath.c projects/largeSMP/sys/geom/sched/g_sched.c projects/largeSMP/sys/geom/shsec/g_shsec.c projects/largeSMP/sys/geom/stripe/g_stripe.c projects/largeSMP/sys/mips/conf/PB92 projects/largeSMP/sys/mips/conf/PB92.hints projects/largeSMP/sys/modules/cxgbe/if_cxgbe/Makefile projects/largeSMP/sys/netinet/sctp.h projects/largeSMP/sys/netinet/sctp_cc_functions.c projects/largeSMP/sys/netinet/sctp_sysctl.h projects/largeSMP/sys/netinet/sctp_usrreq.c projects/largeSMP/sys/nfs/nfs_nfssvc.c projects/largeSMP/sys/sys/stddef.h projects/largeSMP/usr.bin/nfsstat/nfsstat.1 projects/largeSMP/usr.bin/nfsstat/nfsstat.c projects/largeSMP/usr.sbin/bluetooth/bthidd/hid.c projects/largeSMP/usr.sbin/makefs/cd9660/cd9660_eltorito.c Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/Makefile.inc1 ============================================================================== --- projects/largeSMP/Makefile.inc1 Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/Makefile.inc1 Thu May 5 14:05:29 2011 (r221495) @@ -868,7 +868,7 @@ reinstallkernel reinstallkernel.debug: i false .endif @echo "--------------------------------------------------------------" - @echo ">>> Installing kernel ${KERNCONF}" + @echo ">>> Installing kernel ${INSTALLKERNEL}" @echo "--------------------------------------------------------------" cd ${KRNLOBJDIR}/${INSTALLKERNEL}; \ ${CROSSENV} PATH=${TMPPATH} \ Modified: projects/largeSMP/bin/sh/arith_yacc.c ============================================================================== --- projects/largeSMP/bin/sh/arith_yacc.c Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/bin/sh/arith_yacc.c Thu May 5 14:05:29 2011 (r221495) @@ -97,6 +97,8 @@ static arith_t arith_lookupvarint(char * arith_t result; str = lookupvar(varname); + if (uflag && str == NULL) + yyerror("variable not set"); if (str == NULL || *str == '\0') str = "0"; errno = 0; Modified: projects/largeSMP/bin/sh/parser.c ============================================================================== --- projects/largeSMP/bin/sh/parser.c Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/bin/sh/parser.c Thu May 5 14:05:29 2011 (r221495) @@ -1569,6 +1569,8 @@ varname: } } } else if (subtype != VSERROR) { + if (subtype == VSLENGTH && c != '}') + subtype = VSERROR; pungetc(); } STPUTC('=', out); Modified: projects/largeSMP/crypto/openssh/ChangeLog ============================================================================== --- projects/largeSMP/crypto/openssh/ChangeLog Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/crypto/openssh/ChangeLog Thu May 5 14:05:29 2011 (r221495) @@ -1,6 +1,7 @@ 20110403 - (djm) [README contrib/caldera/openssh.spec contrib/redhat/openssh.spec] [contrib/suse/openssh.spec] Prepare for 5.8p2 release. + - (djm) [version.h] crank version - Release 5.8p2 20110329 Modified: projects/largeSMP/crypto/openssh/defines.h ============================================================================== --- projects/largeSMP/crypto/openssh/defines.h Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/crypto/openssh/defines.h Thu May 5 14:05:29 2011 (r221495) @@ -25,7 +25,7 @@ #ifndef _DEFINES_H #define _DEFINES_H -/* $Id: defines.h,v 1.164 2011/01/17 10:15:31 dtucker Exp $ */ +/* $Id: defines.h,v 1.165 2011/05/05 01:19:15 djm Exp $ */ /* Constants */ @@ -45,6 +45,7 @@ enum /* * Definitions for IP type of service (ip_tos) */ +#include #include #ifndef IPTOS_LOWDELAY # define IPTOS_LOWDELAY 0x10 @@ -57,7 +58,6 @@ enum /* * Definitions for DiffServ Codepoints as per RFC2474 */ -#include #ifndef IPTOS_DSCP_AF11 # define IPTOS_DSCP_AF11 0x28 # define IPTOS_DSCP_AF12 0x30 Modified: projects/largeSMP/etc/periodic/daily/220.backup-pkgdb ============================================================================== --- projects/largeSMP/etc/periodic/daily/220.backup-pkgdb Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/etc/periodic/daily/220.backup-pkgdb Thu May 5 14:05:29 2011 (r221495) @@ -18,7 +18,8 @@ case "$daily_backup_pkgdb_enable" in bak="${daily_backup_pkgdb_dir:-/var/backups}" bak_file="${bak}/pkgdb.bak.tbz" - pkg_dbdir=`make -f/usr/share/mk/bsd.port.mk -V PKG_DBDIR 2>/dev/null` + pkg_dbdir=`make -f/usr/share/mk/bsd.port.mk -V PKG_DBDIR 2>/dev/null` || + pkg_dbdir=/var/db/pkg if [ ! -d "$bak" ] then @@ -33,7 +34,7 @@ case "$daily_backup_pkgdb_enable" in new_bak_file=`mktemp ${bak_file}-XXXXX` - if tar -cjf "${new_bak_file}" "$pkg_dbdir"; then + if tar -cjHf "${new_bak_file}" "$pkg_dbdir" 2>/dev/null; then chmod 644 "${new_bak_file}" if [ -e "${bak_file}.2" -a -e "${bak_file}" ]; then Modified: projects/largeSMP/lib/libarchive/Makefile ============================================================================== --- projects/largeSMP/lib/libarchive/Makefile Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/lib/libarchive/Makefile Thu May 5 14:05:29 2011 (r221495) @@ -2,8 +2,8 @@ .include LIB= archive -DPADD= ${LIBZ} ${LIBMD} -LDADD= -lz -lmd +DPADD= ${LIBZ} +LDADD= -lz DPADD+= ${LIBBZ2} LDADD+= -lbz2 @@ -24,6 +24,9 @@ CFLAGS+= -I${.OBJDIR} CFLAGS+= -DWITH_OPENSSL DPADD+= ${LIBCRYPTO} LDADD+= -lcrypto +.else +DPADD+= ${LIBMD} +LDADD+= -lmd .endif # Headers to be installed in /usr/include Modified: projects/largeSMP/lib/libarchive/archive_hash.h ============================================================================== --- projects/largeSMP/lib/libarchive/archive_hash.h Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/lib/libarchive/archive_hash.h Thu May 5 14:05:29 2011 (r221495) @@ -41,11 +41,11 @@ * - OpenBSD 4.4 and earlier have SHA2 in libc with _ after algorithm name * * DragonFly and FreeBSD (XXX not used yet): - * - MD5 and SHA1 in libmd: without _ after algorithm name - * - SHA256: with _ after algorithm name + * - MD5 in libmd: without _ after algorithm name + * - SHA{1,256,512} in libmd: with _ after algorithm name (conflicts w/OpenSSL!) * * OpenSSL: - * - MD5, SHA1 and SHA2 in libcrypto: with _ after algorithm name + * - MD5, SHA1, SHA2, SHA{256,384,512} in libcrypto: with _ after algorithm name */ #if defined(HAVE_MD5_H) && defined(HAVE_MD5INIT) Modified: projects/largeSMP/lib/libarchive/config_freebsd.h ============================================================================== --- projects/largeSMP/lib/libarchive/config_freebsd.h Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/lib/libarchive/config_freebsd.h Thu May 5 14:05:29 2011 (r221495) @@ -47,8 +47,24 @@ #define HAVE_OPENSSL_MD5_H 1 #define HAVE_OPENSSL_RIPEMD_H 1 #define HAVE_OPENSSL_SHA_H 1 +#define HAVE_OPENSSL_SHA256_INIT 1 +#define HAVE_OPENSSL_SHA384_INIT 1 +#define HAVE_OPENSSL_SHA512_INIT 1 +#define HAVE_SHA256 1 #define HAVE_SHA384 1 #define HAVE_SHA512 1 +#else +#define HAVE_MD5_H 1 +#define HAVE_MD5INIT 1 +#define HAVE_SHA_H 1 +#define HAVE_SHA1 1 +#define HAVE_SHA1_INIT 1 +#define HAVE_SHA256 1 +#define HAVE_SHA256_H 1 +#define HAVE_SHA256_INIT 1 +#define HAVE_SHA512 1 +#define HAVE_SHA512_H 1 +#define HAVE_SHA512_INIT 1 #endif #define HAVE_BSDXML_H 1 @@ -88,7 +104,6 @@ #define HAVE_LUTIMES 1 #define HAVE_MALLOC 1 #define HAVE_MD5 1 -#define HAVE_MD5_H 1 #define HAVE_MEMMOVE 1 #define HAVE_MKDIR 1 #define HAVE_MKFIFO 1 @@ -101,10 +116,6 @@ #define HAVE_RMD160 1 #define HAVE_SELECT 1 #define HAVE_SETENV 1 -#define HAVE_SHA_H 1 -#define HAVE_SHA1 1 -#define HAVE_SHA256 1 -#define HAVE_SHA256_H 1 #define HAVE_SIGNAL_H 1 #define HAVE_STDINT_H 1 #define HAVE_STDLIB_H 1 Modified: projects/largeSMP/lib/libcrypt/crypt-sha256.c ============================================================================== --- projects/largeSMP/lib/libcrypt/crypt-sha256.c Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/lib/libcrypt/crypt-sha256.c Thu May 5 14:05:29 2011 (r221495) @@ -60,7 +60,7 @@ static const char sha256_rounds_prefix[] #define ROUNDS_MAX 999999999 static char * -sha256_crypt_r(const char *key, const char *salt, char *buffer, int buflen) +crypt_sha256_r(const char *key, const char *salt, char *buffer, int buflen) { u_long srounds; int n; @@ -268,12 +268,12 @@ sha256_crypt_r(const char *key, const ch /* This entry point is equivalent to crypt(3). */ char * -sha256_crypt(const char *key, const char *salt) +crypt_sha256(const char *key, const char *salt) { /* We don't want to have an arbitrary limit in the size of the * password. We can compute an upper bound for the size of the * result in advance and so we can prepare the buffer we pass to - * `sha256_crypt_r'. */ + * `crypt_sha256_r'. */ static char *buffer; static int buflen; int needed; @@ -293,7 +293,7 @@ sha256_crypt(const char *key, const char buflen = needed; } - return sha256_crypt_r(key, salt, buffer, buflen); + return crypt_sha256_r(key, salt, buffer, buflen); } #ifdef TEST @@ -459,7 +459,7 @@ main(void) } for (cnt = 0; cnt < ntests2; ++cnt) { - char *cp = sha256_crypt(tests2[cnt].input, tests2[cnt].salt); + char *cp = crypt_sha256(tests2[cnt].input, tests2[cnt].salt); if (strcmp(cp, tests2[cnt].expected) != 0) { printf("test %d: expected \"%s\", got \"%s\"\n", Modified: projects/largeSMP/lib/libcrypt/crypt-sha512.c ============================================================================== --- projects/largeSMP/lib/libcrypt/crypt-sha512.c Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/lib/libcrypt/crypt-sha512.c Thu May 5 14:05:29 2011 (r221495) @@ -60,7 +60,7 @@ static const char sha512_rounds_prefix[] #define ROUNDS_MAX 999999999 static char * -sha512_crypt_r(const char *key, const char *salt, char *buffer, int buflen) +crypt_sha512_r(const char *key, const char *salt, char *buffer, int buflen) { u_long srounds; int n; @@ -280,12 +280,12 @@ sha512_crypt_r(const char *key, const ch /* This entry point is equivalent to crypt(3). */ char * -sha512_crypt(const char *key, const char *salt) +crypt_sha512(const char *key, const char *salt) { /* We don't want to have an arbitrary limit in the size of the * password. We can compute an upper bound for the size of the * result in advance and so we can prepare the buffer we pass to - * `sha512_crypt_r'. */ + * `crypt_sha512_r'. */ static char *buffer; static int buflen; int needed; @@ -305,7 +305,7 @@ sha512_crypt(const char *key, const char buflen = needed; } - return sha512_crypt_r(key, salt, buffer, buflen); + return crypt_sha512_r(key, salt, buffer, buflen); } #ifdef TEST @@ -482,7 +482,7 @@ main(void) } for (cnt = 0; cnt < ntests2; ++cnt) { - char *cp = sha512_crypt(tests2[cnt].input, tests2[cnt].salt); + char *cp = crypt_sha512(tests2[cnt].input, tests2[cnt].salt); if (strcmp(cp, tests2[cnt].expected) != 0) { printf("test %d: expected \"%s\", got \"%s\"\n", Modified: projects/largeSMP/lib/libcrypt/crypt.c ============================================================================== --- projects/largeSMP/lib/libcrypt/crypt.c Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/lib/libcrypt/crypt.c Thu May 5 14:05:29 2011 (r221495) @@ -64,12 +64,12 @@ static const struct { }, { "sha256", - sha256_crypt, + crypt_sha256, "$5$" }, { "sha512", - sha512_crypt, + crypt_sha512, "$6$" }, { Modified: projects/largeSMP/lib/libcrypt/crypt.h ============================================================================== --- projects/largeSMP/lib/libcrypt/crypt.h Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/lib/libcrypt/crypt.h Thu May 5 14:05:29 2011 (r221495) @@ -36,8 +36,8 @@ char *crypt_des(const char *pw, const ch char *crypt_md5(const char *pw, const char *salt); char *crypt_nthash(const char *pw, const char *salt); char *crypt_blowfish(const char *pw, const char *salt); -char *sha256_crypt (const char *pw, const char *salt); -char *sha512_crypt (const char *pw, const char *salt); +char *crypt_sha256 (const char *pw, const char *salt); +char *crypt_sha512 (const char *pw, const char *salt); extern void _crypt_to64(char *s, u_long v, int n); extern void b64_from_24bit(uint8_t B2, uint8_t B1, uint8_t B0, int n, int *buflen, char **cp); Modified: projects/largeSMP/release/Makefile.sysinstall ============================================================================== --- projects/largeSMP/release/Makefile.sysinstall Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/release/Makefile.sysinstall Thu May 5 14:05:29 2011 (r221495) @@ -1136,35 +1136,35 @@ CD_DVD1_PKGS= ${CD_PACKAGE_TREE}/dvd1 .endif iso.1: -.if exists(${.CURDIR}/${TARGET_CPUARCH}/mkisoimages.sh) +.if exists(${.CURDIR}/${TARGET}/mkisoimages.sh) @echo "Creating ISO images..." .if defined(CD_BOOT) - @sh ${.CURDIR}/${TARGET_CPUARCH}/mkisoimages.sh ${BOOTABLE} \ + @sh ${.CURDIR}/${TARGET}/mkisoimages.sh ${BOOTABLE} \ FreeBSD_bootonly \ ${CD}/FreeBSD-${BUILDNAME}-${TARGET}-bootonly.iso ${CD_BOOT} .endif - @sh ${.CURDIR}/${TARGET_CPUARCH}/mkisoimages.sh ${BOOTABLE} \ + @sh ${.CURDIR}/${TARGET}/mkisoimages.sh ${BOOTABLE} \ FreeBSD_Install \ ${CD}/FreeBSD-${BUILDNAME}-${TARGET}-disc1.iso ${CD_DISC1} \ ${CD_DISC1_PKGS} - @sh ${.CURDIR}/${TARGET_CPUARCH}/mkisoimages.sh \ + @sh ${.CURDIR}/${TARGET}/mkisoimages.sh \ FreeBSD_Packages \ ${CD}/FreeBSD-${BUILDNAME}-${TARGET}-disc2.iso ${CD_DISC2} \ ${CD_DISC2_PKGS} .if defined(MAKE_DVD) - @sh ${.CURDIR}/${TARGET_CPUARCH}/mkisoimages.sh ${BOOTABLE} \ + @sh ${.CURDIR}/${TARGET}/mkisoimages.sh ${BOOTABLE} \ FreeBSD_Install \ ${CD}/FreeBSD-${BUILDNAME}-${TARGET}-dvd1.iso ${CD_DVD1} \ ${CD_DVD1_PKGS} .endif .if !defined(NODOC) - @sh ${.CURDIR}/${TARGET_CPUARCH}/mkisoimages.sh \ + @sh ${.CURDIR}/${TARGET}/mkisoimages.sh \ FreeBSD_Documentation \ ${CD}/FreeBSD-${BUILDNAME}-${TARGET}-disc3.iso ${CD_DOCS} \ ${CD_DOCS_PKGS} .endif .if defined(SEPARATE_LIVEFS) - @sh ${.CURDIR}/${TARGET_CPUARCH}/mkisoimages.sh ${BOOTABLE} \ + @sh ${.CURDIR}/${TARGET}/mkisoimages.sh ${BOOTABLE} \ FreeBSD_LiveFS \ ${CD}/FreeBSD-${BUILDNAME}-${TARGET}-livefs.iso ${CD_LIVEFS} .endif @@ -1173,7 +1173,7 @@ iso.1: @(cd ${CD} && sha256 *.iso > FreeBSD-${BUILDNAME}-${TARGET}-iso.CHECKSUM.SHA256) touch ${.TARGET} .else - @echo "Do not know how to create an ISO for ${TARGET_CPUARCH}." + @echo "Do not know how to create an ISO for ${TARGET}." .endif # Modified: projects/largeSMP/release/amd64/mkisoimages.sh ============================================================================== --- projects/largeSMP/release/amd64/mkisoimages.sh Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/release/amd64/mkisoimages.sh Thu May 5 14:05:29 2011 (r221495) @@ -26,7 +26,7 @@ publisher="The FreeBSD Project. http://www.freebsd.org/" if [ "x$1" = "x-b" ]; then # This is highly x86-centric and will be used directly below. - bootable="-b boot/cdboot -no-emul-boot" + bootable="-o bootimage=i386;$4/boot/cdboot -o no-emul-boot" shift else bootable="" @@ -37,24 +37,9 @@ if [ $# -lt 3 ]; then exit 1 fi -type mkisofs 2>&1 | grep " is " >/dev/null -if [ $? -ne 0 ]; then - echo The cdrtools port is not installed. Trying to get it now. - if [ -f /usr/ports/sysutils/cdrtools/Makefile ]; then - cd /usr/ports/sysutils/cdrtools && make install BATCH=yes && make clean - else - if ! pkg_add -r cdrtools; then - echo "Could not get it via pkg_add - please go install this" - echo "from the ports collection and run this script again." - exit 2 - fi - fi -fi - LABEL=$1; shift NAME=$1; shift -echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > $1/etc/fstab -mkisofs $bootable -r -J -V $LABEL -publisher "$publisher" -o $NAME $* +echo "/dev/iso9660/`echo $LABEL | tr '[:lower:]' '[:upper:]'` / cd9660 ro 0 0" > $1/etc/fstab +makefs -t cd9660 $bootable -o rockridge -o label=$LABEL $NAME $* rm $1/etc/fstab - Modified: projects/largeSMP/release/i386/mkisoimages.sh ============================================================================== --- projects/largeSMP/release/i386/mkisoimages.sh Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/release/i386/mkisoimages.sh Thu May 5 14:05:29 2011 (r221495) @@ -24,40 +24,22 @@ # into base-bits-dir as part of making the image. publisher="The FreeBSD Project. http://www.freebsd.org/" - if [ "x$1" = "x-b" ]; then - bootable="-b boot/cdboot -no-emul-boot" - shift -elif [ "x$1" = "x-G" ]; then - bootable="-G /R/cdrom/bootonly/boot/cdboot" + # This is highly x86-centric and will be used directly below. + bootable="-o bootimage=i386;$4/boot/cdboot -o no-emul-boot" shift else bootable="" fi if [ $# -lt 3 ]; then - echo Usage: $0 '[-bG] image-label image-name base-bits-dir [extra-bits-dir]' + echo Usage: $0 '[-b] image-label image-name base-bits-dir [extra-bits-dir]' exit 1 fi -type mkisofs 2>&1 | grep " is " >/dev/null -if [ $? -ne 0 ]; then - echo The cdrtools port is not installed. Trying to get it now. - if [ -f /usr/ports/sysutils/cdrtools/Makefile ]; then - cd /usr/ports/sysutils/cdrtools && make install BATCH=yes && make clean - else - if ! pkg_add -r cdrtools; then - echo "Could not get it via pkg_add - please go install this" - echo "from the ports collection and run this script again." - exit 2 - fi - fi -fi - LABEL=$1; shift NAME=$1; shift -echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > $1/etc/fstab -mkisofs $bootable -r -J -V $LABEL -publisher "$publisher" -o $NAME $* +echo "/dev/iso9660/`echo $LABEL | tr '[:lower:]' '[:upper:]'` / cd9660 ro 0 0" > $1/etc/fstab +makefs -t cd9660 $bootable -o rockridge -o label=$LABEL $NAME $* rm $1/etc/fstab - Copied: projects/largeSMP/release/pc98/mkisoimages.sh (from r221493, head/release/pc98/mkisoimages.sh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/release/pc98/mkisoimages.sh Thu May 5 14:05:29 2011 (r221495, copy of r221493, head/release/pc98/mkisoimages.sh) @@ -0,0 +1,45 @@ +#!/bin/sh +# +# Module: mkisoimages.sh +# Author: Jordan K Hubbard +# Date: 22 June 2001 +# +# $FreeBSD$ +# +# This script is used by release/Makefile to build the (optional) ISO images +# for a FreeBSD release. It is considered architecture dependent since each +# platform has a slightly unique way of making bootable CDs. This script +# is also allowed to generate any number of images since that is more of +# publishing decision than anything else. +# +# Usage: +# +# mkisoimages.sh [-b] image-label image-name base-bits-dir [extra-bits-dir] +# +# Where -b is passed if the ISO image should be made "bootable" by +# whatever standards this architecture supports (may be unsupported), +# image-label is the ISO image label, image-name is the filename of the +# resulting ISO image, base-bits-dir contains the image contents and +# extra-bits-dir, if provided, contains additional files to be merged +# into base-bits-dir as part of making the image. + +publisher="The FreeBSD Project. http://www.freebsd.org/" +if [ "x$1" = "x-b" ]; then + # This is highly x86-centric and will be used directly below. + bootable="-o generic-bootimage=$4/boot/cdboot" + shift +else + bootable="" +fi + +if [ $# -lt 3 ]; then + echo Usage: $0 '[-b] image-label image-name base-bits-dir [extra-bits-dir]' + exit 1 +fi + +LABEL=$1; shift +NAME=$1; shift + +echo "/dev/iso9660/`echo $LABEL | tr '[:lower:]' '[:upper:]'` / cd9660 ro 0 0" > $1/etc/fstab +makefs -t cd9660 $bootable -o rockridge -o label=$LABEL $NAME $* +rm $1/etc/fstab Copied: projects/largeSMP/release/powerpc/generate-hfs.sh (from r221493, head/release/powerpc/generate-hfs.sh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/release/powerpc/generate-hfs.sh Thu May 5 14:05:29 2011 (r221495, copy of r221493, head/release/powerpc/generate-hfs.sh) @@ -0,0 +1,64 @@ +#!/bin/sh + +# This script generates the dummy HFS filesystem used for the PowerPC boot +# blocks. It uses hfsutils (emulators/hfsutils) to generate a template +# filesystem with the relevant interesting files. These are then found by +# grep, and the offsets written to a Makefile snippet. +# +# Because of licensing concerns, and because it is overkill, we do not +# distribute hfsutils as a build tool. If you need to regenerate the HFS +# template (e.g. because the boot block or the CHRP script have grown), +# you must install it from ports. + +# $FreeBSD$ + +HFS_SIZE=400 #Size in 2048-byte blocks of the produced image +LOADER_SIZE=300k + +# Generate 800K HFS image +OUTPUT_FILE=hfs-boot + +dd if=/dev/zero of=$OUTPUT_FILE bs=2048 count=$HFS_SIZE +hformat -l "FreeBSD Install" $OUTPUT_FILE +hmount $OUTPUT_FILE + +# Create and bless a directory for the boot loader +hmkdir ppc +hattrib -b ppc +hcd ppc + +# Make the CHRP boot script, which gets loader from the ISO9660 partition +cat > bootinfo.txt << EOF + +FreeBSD/powerpc bootloader +FreeBSD + $FreeBSD: head/sys/boot/powerpc/boot1.chrp/bootinfo.txt 184490 2008-10 +-31 00:52:31Z nwhitehorn $ + + +MacRISC MacRISC3 MacRISC4 + + +" screen" output +boot &device;:,\ppc\loader &device;:0 + + +EOF +echo 'Loader START' | dd of=loader.tmp cbs=$LOADER_SIZE count=1 conv=block + +hcopy bootinfo.txt :bootinfo.txt +hcopy loader.tmp :loader +hattrib -c chrp -t tbxi bootinfo.txt +humount + +rm bootinfo.txt +rm loader.tmp + +bzip2 $OUTPUT_FILE +echo 'HFS boot filesystem created by generate-hfs.sh' > $OUTPUT_FILE.bz2.uu +echo 'DO NOT EDIT' >> $OUTPUT_FILE.bz2.uu +echo '$FreeBSD$' >> $OUTPUT_FILE.bz2.uu + +uuencode $OUTPUT_FILE.bz2 $OUTPUT_FILE.bz2 >> $OUTPUT_FILE.bz2.uu +rm $OUTPUT_FILE.bz2 + Copied: projects/largeSMP/release/powerpc/hfs-boot.bz2.uu (from r221493, head/release/powerpc/hfs-boot.bz2.uu) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/release/powerpc/hfs-boot.bz2.uu Thu May 5 14:05:29 2011 (r221495, copy of r221493, head/release/powerpc/hfs-boot.bz2.uu) @@ -0,0 +1,23 @@ +HFS boot filesystem created by generate-hfs.sh +DO NOT EDIT +$FreeBSD$ +begin 644 hfs-boot.bz2 +M0EIH.3%!62936=#$Y.(``"___?_O_G)7!_Y]OW??5#]U_^!`0`,@1`!!``!@ +M(0!`3,`"L"4.2U"2(H9%/:*>TFDVU3RGZID'J&C3U,@T-&@`/1!H>IZC1D#( +M`D24TTRFC1D]*;$@!IZ@Q!IH-````#0&33":?J@<:&AH:`:`Q`T!D``&F@`: +M`9````PDI1J>0Q,H/1J&@```!D-`````T-``#SZHHR(+Y*Y9J*Z:4KK=T]W@ +M4RV\LG/;0XDPC7^`9DO3/3&*].462T,NO#AA9C,O\0!)^Q@@S6";2`!);?8(B6BR1(-7Q*8?>>HPQSBQE>M$A9K6FFW<:#6[D931J%U.F8*`0 +MD(,M80A(0;]K'X'SI]G(C)Y).AK_/0)D(2$$]JB$]]F').M4RF8O%[IHK[0O +MMQ?'>O[U8EM;>U",KY^*%FO9C05_435?.4*F[6AIL%&9C<9W&& +M[ZMP(TG!'*4Z>@6TM)0BS.D._O,WR9OJ728V48I;DD=8QGBE7J-&L^?=0JEF +MV2`B/)/D\)83IS@32(;!P,152U()0VGQH>2F$UC:M!D5`F#1W$\:KKDR[TQB +MN;N5B1;P!7:AG#1BP2%-Q$7I6QE,Y?NHIK_LR+HA]22HW0.8(^G4/X`Z@!Z6 +8#PQ(0))/`A(0.'VUG_\7&1 | grep " is " >/dev/null -if [ $? -ne 0 ]; then - echo The cdrtools port is not installed. Trying to get it now. - if [ -f /usr/ports/sysutils/cdrtools/Makefile ]; then - cd /usr/ports/sysutils/cdrtools && make install BATCH=yes && make clean - else - if ! pkg_add -r cdrtools; then - echo "Could not get it via pkg_add - please go install this" - echo "from the ports collection and run this script again." - exit 2 - fi - fi -fi - LABEL=$1; shift NAME=$1; shift -echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > $1/etc/fstab -mkisofs $bootable -l -r -part -no-desktop -V $LABEL -o $NAME $* +echo "/dev/iso9660/`echo $LABEL | tr '[:lower:]' '[:upper:]'` / cd9660 ro 0 0" > $1/etc/fstab +makefs -t cd9660 $bootable -o rockridge -o label=$LABEL $NAME $* rm $1/etc/fstab - +rm /tmp/hfs-boot-block Copied: projects/largeSMP/release/sun4v/mkisoimages.sh (from r221493, head/release/sun4v/mkisoimages.sh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/release/sun4v/mkisoimages.sh Thu May 5 14:05:29 2011 (r221495, copy of r221493, head/release/sun4v/mkisoimages.sh) @@ -0,0 +1,72 @@ +#!/bin/sh +# +# Module: mkisoimages.sh +# Author: Jordan K Hubbard +# Date: 22 June 2001 +# +# $FreeBSD$ +# +# This script is used by release/Makefile to build the (optional) ISO images +# for a FreeBSD release. It is considered architecture dependent since each +# platform has a slightly unique way of making bootable CDs. This script +# is also allowed to generate any number of images since that is more of +# publishing decision than anything else. +# +# Usage: +# +# mkisoimages.sh [-b] image-label image-name base-bits-dir [extra-bits-dir] +# +# Where -b is passed if the ISO image should be made "bootable" by +# whatever standards this architecture supports (may be unsupported), +# image-label is the ISO image label, image-name is the filename of the +# resulting ISO image, base-bits-dir contains the image contents and +# extra-bits-dir, if provided, contains additional files to be merged +# into base-bits-dir as part of making the image. + +publisher="The FreeBSD Project. http://www.freebsd.org/" +IMG=/tmp/bootfs +MNT=/mnt + +if [ "x$1" = "x-b" ]; then + dd if=/dev/zero of=${IMG} bs=512 count=1024 + MD=`mdconfig -a -t vnode -f ${IMG}` + sunlabel -w -B -b $4/boot/boot1 ${MD} auto + newfs -O1 -o space -m 0 /dev/${MD} + mount /dev/${MD} ${MNT} + mkdir ${MNT}/boot + cp $4/boot/loader ${MNT}/boot + umount ${MNT} + mdconfig -d -u ${MD#md} + bootable="-B ,,,,${IMG}" + shift +else + bootable="" +fi + +if [ $# -lt 3 ]; then + echo Usage: $0 '[-b] image-label image-name base-bits-dir [extra-bits-dir]' + rm -f ${IMG} + exit 1 +fi + +type mkisofs 2>&1 | grep " is " >/dev/null +if [ $? -ne 0 ]; then + echo The cdrtools port is not installed. Trying to get it now. + if [ -f /usr/ports/sysutils/cdrtools/Makefile ]; then + cd /usr/ports/sysutils/cdrtools && make install BATCH=yes && make clean + else + if ! pkg_add -r cdrtools; then + echo "Could not get it via pkg_add - please go install this" + echo "from the ports collection and run this script again." + exit 2 + fi + fi +fi + +LABEL=$1; shift +NAME=$1; shift + +echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > $1/etc/fstab +mkisofs $bootable -r -J -V $LABEL -publisher "$publisher" -o $NAME $* +rm $1/etc/fstab +rm -f ${IMG} Modified: projects/largeSMP/share/man/man9/bus_adjust_resource.9 ============================================================================== --- projects/largeSMP/share/man/man9/bus_adjust_resource.9 Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/share/man/man9/bus_adjust_resource.9 Thu May 5 14:05:29 2011 (r221495) @@ -93,7 +93,7 @@ Grow an existing memory resource by 4096 error = bus_adjust_resource(dev, SYS_RES_MEMORY, res, rman_get_start(res), rman_get_end(res) + 0x1000); -.Ed +.Ed .Sh SEE ALSO .Xr bus_alloc_resource 9 , .Xr bus_release_resource 9 , Modified: projects/largeSMP/share/man/man9/make_dev.9 ============================================================================== --- projects/largeSMP/share/man/man9/make_dev.9 Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/share/man/man9/make_dev.9 Thu May 5 14:05:29 2011 (r221495) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 03, 2011 +.Dd May 3, 2011 .Dt MAKE_DEV 9 .Os .Sh NAME @@ -84,15 +84,15 @@ The device will be owned by .Va uid , with the group ownership as .Va gid . -The name is the expansion of -.Va fmt +The name is the expansion of +.Va fmt and following arguments as .Xr printf 9 would print it. The name determines its path under .Pa /dev -or other -.Xr devfs 5 +or other +.Xr devfs 5 mount point and may contain slash .Ql / characters to denote subdirectories. @@ -152,9 +152,9 @@ created device will be never destroyed return an error if the device name is invalid or already exists .El .Pp -Only +Only .Dv MAKEDEV_NOWAIT , -.Dv MAKEDEV_WAITOK +.Dv MAKEDEV_WAITOK and .Dv MAKEDEV_CHECKNAME values are accepted for the @@ -307,7 +307,8 @@ The .Fn d_close driver method cannot call .Fn destroy_dev -directly. Doing so causes deadlock when +directly. +Doing so causes deadlock when .Fn destroy_dev waits for all threads to leave the driver methods. Also, because @@ -321,7 +322,8 @@ The device driver may call the .Fn destroy_dev_drain function to wait until all devices that have supplied .Fa csw -as cdevsw, are destroyed. This is useful when driver knows that +as cdevsw, are destroyed. +This is useful when driver knows that .Fn destroy_dev_sched is called for all instantiated devices, but need to postpone module unload until @@ -370,9 +372,9 @@ flag was specified and the provided devi .Pp .Sh SEE ALSO .Xr devctl 4 , +.Xr devfs 5 , .Xr destroy_dev_drain 9 , -.Xr dev_clone 9 , -.Xr devfs 5 +.Xr dev_clone 9 .Sh HISTORY The .Fn make_dev Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar2133.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar2133.c Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar2133.c Thu May 5 14:05:29 2011 (r221495) @@ -165,7 +165,7 @@ ar2133SetChannel(struct ath_hal *ah, con } } else if ((freq % 20) == 0 && freq >= 5120) { channelSel = ath_hal_reverseBits(((freq - 4800) / 20 << 2), 8); - if (AR_SREV_SOWL_10_OR_LATER(ah)) + if (AR_SREV_HOWL(ah) || AR_SREV_SOWL_10_OR_LATER(ah)) aModeRefSel = ath_hal_reverseBits(3, 2); else aModeRefSel = ath_hal_reverseBits(1, 2); Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c Thu May 5 14:05:29 2011 (r221495) @@ -620,9 +620,9 @@ ar5416LoadNF(struct ath_hal *ah, const s HALDEBUG(ah, HAL_DEBUG_NFCAL, "CCA: "); for (i = 0; i < AR5416_NUM_NF_READINGS; i ++) { - /* Don't write to EXT radio CCA registers */ + /* Don't write to EXT radio CCA registers unless in HT/40 mode */ /* XXX this check should really be cleaner! */ - if (i >= 3 && !IEEE80211_IS_CHAN_HT40(chan)) + if (i > 2 && !IEEE80211_IS_CHAN_HT40(chan)) continue; if (chainmask & (1 << i)) { @@ -670,6 +670,12 @@ ar5416LoadNF(struct ath_hal *ah, const s * of next noise floor calibration the baseband does. */ for (i = 0; i < AR5416_NUM_NF_READINGS; i ++) + + /* Don't write to EXT radio CCA registers unless in HT/40 mode */ + /* XXX this check should really be cleaner! */ + if (i > 2 && !IEEE80211_IS_CHAN_HT40(chan)) + continue; + if (chainmask & (1 << i)) { val = OS_REG_READ(ah, ar5416_cca_regs[i]); val &= 0xFFFFFE00; @@ -701,10 +707,12 @@ ar5416InitNfHistBuff(struct ar5212NfCalH * Update the noise floor buffer as a ring buffer */ static void -ar5416UpdateNFHistBuff(struct ar5212NfCalHist *h, int16_t *nfarray) +ar5416UpdateNFHistBuff(struct ath_hal *ah, struct ar5212NfCalHist *h, + int16_t *nfarray) { int i; + /* XXX TODO: don't record nfarray[] entries for inactive chains */ for (i = 0; i < AR5416_NUM_NF_READINGS; i ++) { h[i].nfCalBuffer[h[i].currIndex] = nfarray[i]; @@ -814,7 +822,7 @@ ar5416GetNf(struct ath_hal *ah, struct i } ichan->privFlags |= CHANNEL_MIMO_NF_VALID; - ar5416UpdateNFHistBuff(AH5416(ah)->ah_cal.nfCalHist, nfarray); + ar5416UpdateNFHistBuff(ah, AH5416(ah)->ah_cal.nfCalHist, nfarray); ichan->rawNoiseFloor = nf; } return nf; Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c Thu May 5 14:05:29 2011 (r221495) @@ -251,7 +251,12 @@ ar5416Reset(struct ath_hal *ah, HAL_OPMO OS_REG_WRITE(ah, AR_BSSMSKU, LE_READ_2(ahp->ah_bssidmask + 4)); /* Restore previous led state */ - OS_REG_WRITE(ah, AR_MAC_LED, OS_REG_READ(ah, AR_MAC_LED) | saveLedState); + if (AR_SREV_HOWL(ah)) + OS_REG_WRITE(ah, AR_MAC_LED, + AR_MAC_LED_ASSOC_ACTIVE | AR_CFG_SCLK_32KHZ); + else + OS_REG_WRITE(ah, AR_MAC_LED, OS_REG_READ(ah, AR_MAC_LED) | + saveLedState); /* Restore previous antenna */ OS_REG_WRITE(ah, AR_DEF_ANTENNA, saveDefAntenna); @@ -332,6 +337,19 @@ ar5416Reset(struct ath_hal *ah, HAL_OPMO if (bChannelChange && !IEEE80211_IS_CHAN_DFS(chan)) chan->ic_state &= ~IEEE80211_CHANSTATE_CWINT; + if (AR_SREV_HOWL(ah)) { + /* + * Enable the MBSSID block-ack fix for HOWL. + * This feature is only supported on Howl 1.4, but it is safe to + * set bit 22 of STA_ID1 on other Howl revisions (1.1, 1.2, 1.3), + * since bit 22 is unused in those Howl revisions. + */ + unsigned int reg; + reg = (OS_REG_READ(ah, AR_STA_ID1) | (1<<22)); + OS_REG_WRITE(ah,AR_STA_ID1, reg); + ath_hal_printf(ah, "MBSSID Set bit 22 of AR_STA_ID 0x%x\n", reg); + } + HALDEBUG(ah, HAL_DEBUG_RESET, "%s: done\n", __func__); OS_MARK(ah, AH_MARK_RESET_DONE, 0); @@ -1205,7 +1223,11 @@ ar5416SetReset(struct ath_hal *ah, int t #endif /* AH_SUPPORT_AR9130 */ OS_REG_WRITE(ah, AR_RTC_RC, rst_flags); - OS_DELAY(50); + + if (AR_SREV_HOWL(ah)) + OS_DELAY(10000); + else + OS_DELAY(100); /* * Clear resets and force wakeup Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416reg.h ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Thu May 5 13:55:43 2011 (r221494) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Thu May 5 14:05:29 2011 (r221495) @@ -199,6 +199,12 @@ #define AR_RXCFG_DMASZ_512B 7 /* MAC Led registers */ +#define AR_CFG_SCLK_RATE_IND 0x00000003 /* sleep clock indication */ +#define AR_CFG_SCLK_RATE_IND_S 0 +#define AR_CFG_SCLK_32MHZ 0x00000000 /* Sleep clock rate */ +#define AR_CFG_SCLK_4MHZ 0x00000001 /* Sleep clock rate */ +#define AR_CFG_SCLK_1MHZ 0x00000002 /* Sleep clock rate */ +#define AR_CFG_SCLK_32KHZ 0x00000003 /* Sleep clock rate */ #define AR_MAC_LED_BLINK_SLOW 0x00000008 /* LED slowest blink rate mode */ #define AR_MAC_LED_BLINK_THRESH_SEL 0x00000070 /* LED blink threshold select */ #define AR_MAC_LED_MODE 0x00000380 /* LED mode select */ @@ -619,56 +625,83 @@ #define AR_XSREV_REVISION_KITE_11 1 /* Kite 1.1 */ #define AR_XSREV_REVISION_KITE_12 2 /* Kite 1.2 */ +/* Owl (AR5416) */ #define AR_SREV_OWL(_ah) \ ((AH_PRIVATE((_ah))->ah_macVersion == AR_XSREV_VERSION_OWL_PCI) || \ (AH_PRIVATE((_ah))->ah_macVersion == AR_XSREV_VERSION_OWL_PCIE)) #define AR_SREV_OWL_20_OR_LATER(_ah) \ - ((AR_SREV_OWL(_ah) && AH_PRIVATE((_ah))->ah_macRev >= AR_XSREV_REVISION_OWL_20) || \ - AH_PRIVATE((_ah))->ah_macVersion >= AR_XSREV_VERSION_HOWL) + ((AR_SREV_OWL(_ah) && \ + AH_PRIVATE((_ah))->ah_macRev >= AR_XSREV_REVISION_OWL_20) || \ + AH_PRIVATE((_ah))->ah_macVersion >= AR_XSREV_VERSION_HOWL) + #define AR_SREV_OWL_22_OR_LATER(_ah) \ - ((AR_SREV_OWL(_ah) && AH_PRIVATE((_ah))->ah_macRev >= AR_XSREV_REVISION_OWL_22) || \ - AH_PRIVATE((_ah))->ah_macVersion >= AR_XSREV_VERSION_HOWL) + ((AR_SREV_OWL(_ah) && \ + AH_PRIVATE((_ah))->ah_macRev >= AR_XSREV_REVISION_OWL_22) || \ + AH_PRIVATE((_ah))->ah_macVersion >= AR_XSREV_VERSION_HOWL) + +/* Howl (AR9130) */ #define AR_SREV_HOWL(_ah) \ (AH_PRIVATE((_ah))->ah_macVersion == AR_XSREV_VERSION_HOWL) + #define AR_SREV_9100(_ah) AR_SREV_HOWL(_ah) +/* Sowl (AR9160) */ + #define AR_SREV_SOWL(_ah) \ (AH_PRIVATE((_ah))->ah_macVersion == AR_XSREV_VERSION_SOWL) + #define AR_SREV_SOWL_10_OR_LATER(_ah) \ (AH_PRIVATE((_ah))->ah_macVersion >= AR_XSREV_VERSION_SOWL) + #define AR_SREV_SOWL_11(_ah) \ (AR_SREV_SOWL(_ah) && \ AH_PRIVATE((_ah))->ah_macRev == AR_XSREV_REVISION_SOWL_11) +/* Merlin (AR9280) */ + #define AR_SREV_MERLIN(_ah) \ (AH_PRIVATE((_ah))->ah_macVersion == AR_XSREV_VERSION_MERLIN) + #define AR_SREV_MERLIN_10_OR_LATER(_ah) \ (AH_PRIVATE((_ah))->ah_macVersion >= AR_XSREV_VERSION_MERLIN) + #define AR_SREV_MERLIN_20(_ah) \ (AR_SREV_MERLIN(_ah) && \ AH_PRIVATE((_ah))->ah_macRev == AR_XSREV_REVISION_MERLIN_20) + #define AR_SREV_MERLIN_20_OR_LATER(_ah) \ - (AR_SREV_MERLIN_20(_ah) || \ - AH_PRIVATE((_ah))->ah_macVersion >= AR_XSREV_VERSION_MERLIN) + ((AH_PRIVATE((_ah))->ah_macVersion > AR_XSREV_VERSION_MERLIN) || \ + (AR_SREV_MERLIN((_ah)) && \ + AH_PRIVATE((_ah))->ah_macRev >= AR_XSREV_REVISION_MERLIN_20)) + +/* Kite (AR9285) */ #define AR_SREV_KITE(_ah) \ (AH_PRIVATE((_ah))->ah_macVersion == AR_XSREV_VERSION_KITE) + #define AR_SREV_KITE_10_OR_LATER(_ah) \ (AH_PRIVATE((_ah))->ah_macVersion >= AR_XSREV_VERSION_KITE) + #define AR_SREV_KITE_11(_ah) \ (AR_SREV_KITE(ah) && \ AH_PRIVATE((_ah))->ah_macRev == AR_XSREV_REVISION_KITE_11) + #define AR_SREV_KITE_11_OR_LATER(_ah) \ - (AR_SREV_KITE_11(_ah) || \ - AH_PRIVATE((_ah))->ah_macRev >= AR_XSREV_REVISION_KITE_11) + ((AH_PRIVATE((_ah))->ah_macVersion > AR_XSREV_VERSION_KITE) || \ + (AR_SREV_KITE((_ah)) && \ + AH_PRIVATE((_ah))->ah_macRev >= AR_XSREV_REVISION_KITE_11)) + #define AR_SREV_KITE_12(_ah) \ (AR_SREV_KITE(ah) && \ AH_PRIVATE((_ah))->ah_macRev == AR_XSREV_REVISION_KITE_12) + #define AR_SREV_KITE_12_OR_LATER(_ah) \ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu May 5 14:39:14 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A173F1065673; Thu, 5 May 2011 14:39:14 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 88A3C8FC1B; Thu, 5 May 2011 14:39:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p45EdEbk003779; Thu, 5 May 2011 14:39:14 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p45EdEgC003770; Thu, 5 May 2011 14:39:14 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105051439.p45EdEgC003770@svn.freebsd.org> From: Attilio Rao Date: Thu, 5 May 2011 14:39:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221499 - in projects/largeSMP: gnu/usr.bin/gdb/kgdb lib/libmemstat sys/amd64/acpica sys/amd64/amd64 sys/amd64/include sys/arm/arm sys/arm/include sys/cddl/dev/cyclic/i386 sys/cddl/dev/... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 14:39:14 -0000 Author: attilio Date: Thu May 5 14:39:14 2011 New Revision: 221499 URL: http://svn.freebsd.org/changeset/base/221499 Log: Commit the support for removing cpumask_t and replacing it directly with cpuset_t objects. That is going to offer the underlying support for a simple bump of MAXCPU and then support for number of cpus > 32 (as it is today). Right now, cpumask_t is an int, 32 bits on all our supported architecture. cpumask_t on the other side is implemented as an array of longs, and easilly extendible by definition. The architectures touched by this commit are the following: - amd64 - i386 - pc98 - arm - ia64 - XEN while the others are still missing. Userland is believed to be fully converted with the changes contained here. Some technical notes: - This commit may be considered an ABI nop for all the architectures different from amd64 and ia64 (and sparc64 in the future) - per-cpu members, which are now converted to cpuset_t, needs to be accessed avoiding migration, because the size of cpuset_t should be considered unknown - size of cpuset_t objects is different from kernel and userland (this is primirally done in order to leave some more space in userland to cope with KBI extensions). If you need to access kernel cpuset_t from the userland please refer to example in this patch on how to do that correctly (kgdb may be a good source, for example). - Support for other architectures is going to be added soon - Only MAXCPU for amd64 is bumped now The patch has been tested by sbruno and Nicholas Esborn on opteron 4 x 12 pack CPUs. More testing on big SMP is expected to came soon. pluknet tested the patch with his 8-ways on both amd64 and i386. Tested by: pluknet, sbruno, gianni, Nicholas Esborn Reviewed by: jeff, jhb, sbruno Added: projects/largeSMP/sys/sys/_cpuset.h (contents, props changed) Modified: projects/largeSMP/gnu/usr.bin/gdb/kgdb/kthr.c projects/largeSMP/lib/libmemstat/memstat_uma.c projects/largeSMP/sys/amd64/acpica/acpi_wakeup.c projects/largeSMP/sys/amd64/amd64/intr_machdep.c projects/largeSMP/sys/amd64/amd64/mp_machdep.c projects/largeSMP/sys/amd64/amd64/pmap.c projects/largeSMP/sys/amd64/amd64/vm_machdep.c projects/largeSMP/sys/amd64/include/_types.h projects/largeSMP/sys/amd64/include/param.h projects/largeSMP/sys/amd64/include/pmap.h projects/largeSMP/sys/amd64/include/smp.h projects/largeSMP/sys/arm/arm/pmap.c projects/largeSMP/sys/arm/include/_types.h projects/largeSMP/sys/arm/include/pmap.h projects/largeSMP/sys/cddl/dev/cyclic/i386/cyclic_machdep.c projects/largeSMP/sys/cddl/dev/dtrace/amd64/dtrace_subr.c projects/largeSMP/sys/cddl/dev/dtrace/i386/dtrace_subr.c projects/largeSMP/sys/dev/hwpmc/hwpmc_mod.c projects/largeSMP/sys/dev/xen/control/control.c projects/largeSMP/sys/geom/eli/g_eli.c projects/largeSMP/sys/i386/i386/intr_machdep.c projects/largeSMP/sys/i386/i386/mp_machdep.c projects/largeSMP/sys/i386/i386/pmap.c projects/largeSMP/sys/i386/i386/vm_machdep.c projects/largeSMP/sys/i386/include/_types.h projects/largeSMP/sys/i386/include/pmap.h projects/largeSMP/sys/i386/include/sf_buf.h projects/largeSMP/sys/i386/include/smp.h projects/largeSMP/sys/i386/xen/mp_machdep.c projects/largeSMP/sys/i386/xen/pmap.c projects/largeSMP/sys/ia64/ia64/mp_machdep.c projects/largeSMP/sys/ia64/include/_types.h projects/largeSMP/sys/ia64/include/smp.h projects/largeSMP/sys/kern/kern_cpuset.c projects/largeSMP/sys/kern/kern_pmc.c projects/largeSMP/sys/kern/kern_rmlock.c projects/largeSMP/sys/kern/sched_4bsd.c projects/largeSMP/sys/kern/sched_ule.c projects/largeSMP/sys/kern/subr_kdb.c projects/largeSMP/sys/kern/subr_pcpu.c projects/largeSMP/sys/kern/subr_smp.c projects/largeSMP/sys/ofed/include/linux/list.h projects/largeSMP/sys/sys/_rmlock.h projects/largeSMP/sys/sys/cpuset.h projects/largeSMP/sys/sys/pcpu.h projects/largeSMP/sys/sys/pmckern.h projects/largeSMP/sys/sys/smp.h projects/largeSMP/sys/sys/types.h projects/largeSMP/sys/x86/x86/local_apic.c projects/largeSMP/usr.sbin/pmccontrol/pmccontrol.c Modified: projects/largeSMP/gnu/usr.bin/gdb/kgdb/kthr.c ============================================================================== --- projects/largeSMP/gnu/usr.bin/gdb/kgdb/kthr.c Thu May 5 14:19:37 2011 (r221498) +++ projects/largeSMP/gnu/usr.bin/gdb/kgdb/kthr.c Thu May 5 14:39:14 2011 (r221499) @@ -28,6 +28,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include @@ -37,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -48,7 +50,7 @@ static CORE_ADDR dumppcb; static int dumptid; static CORE_ADDR stoppcbs; -static __cpumask_t stopped_cpus; +static cpuset_t stopped_cpus; static struct kthr *first; struct kthr *curkthr; @@ -76,6 +78,7 @@ kgdb_thr_init(void) { struct proc p; struct thread td; + long cpusetsize; struct kthr *kt; CORE_ADDR addr; uintptr_t paddr; @@ -102,10 +105,11 @@ kgdb_thr_init(void) dumptid = -1; addr = kgdb_lookup("stopped_cpus"); - if (addr != 0) - kvm_read(kvm, addr, &stopped_cpus, sizeof(stopped_cpus)); - else - stopped_cpus = 0; + CPU_ZERO(&stopped_cpus); + cpusetsize = sysconf(_SC_CPUSET_SIZE); + if (cpusetsize != -1 && (u_long)cpusetsize <= sizeof(cpuset_t) && + addr != 0) + kvm_read(kvm, addr, &stopped_cpus, cpusetsize); stoppcbs = kgdb_lookup("stoppcbs"); @@ -126,8 +130,8 @@ kgdb_thr_init(void) kt->kaddr = addr; if (td.td_tid == dumptid) kt->pcb = dumppcb; - else if (td.td_state == TDS_RUNNING && ((1 << td.td_oncpu) & stopped_cpus) - && stoppcbs != 0) + else if (td.td_state == TDS_RUNNING && stoppcbs != 0 && + CPU_ISSET(td.td_oncpu, &stopped_cpus)) kt->pcb = (uintptr_t) stoppcbs + sizeof(struct pcb) * td.td_oncpu; else kt->pcb = (uintptr_t)td.td_pcb; Modified: projects/largeSMP/lib/libmemstat/memstat_uma.c ============================================================================== --- projects/largeSMP/lib/libmemstat/memstat_uma.c Thu May 5 14:19:37 2011 (r221498) +++ projects/largeSMP/lib/libmemstat/memstat_uma.c Thu May 5 14:39:14 2011 (r221499) @@ -45,6 +45,7 @@ #include #include #include +#include #include "memstat.h" #include "memstat_internal.h" @@ -315,6 +316,7 @@ memstat_kvm_uma(struct memory_type_list int hint_dontsearch, i, mp_maxid, ret; char name[MEMTYPE_MAXNAME]; cpuset_t all_cpus; + long cpusetsize; kvm_t *kvm; kvm = (kvm_t *)kvm_handle; @@ -338,7 +340,13 @@ memstat_kvm_uma(struct memory_type_list list->mtl_error = ret; return (-1); } - ret = kread_symbol(kvm, X_ALL_CPUS, &all_cpus, sizeof(all_cpus), 0); + cpusetsize = sysconf(_SC_CPUSET_SIZE); + if (cpusetsize == -1 || (u_long)cpusetsize > sizeof(cpuset_t)) { + list->mtl_error = MEMSTAT_ERROR_KVM_NOSYMBOL; + return (-1); + } + CPU_ZERO(&all_cpus); + ret = kread_symbol(kvm, X_ALL_CPUS, &all_cpus, cpusetsize, 0); if (ret != 0) { list->mtl_error = ret; return (-1); Modified: projects/largeSMP/sys/amd64/acpica/acpi_wakeup.c ============================================================================== --- projects/largeSMP/sys/amd64/acpica/acpi_wakeup.c Thu May 5 14:19:37 2011 (r221498) +++ projects/largeSMP/sys/amd64/acpica/acpi_wakeup.c Thu May 5 14:39:14 2011 (r221499) @@ -78,7 +78,7 @@ static void acpi_stop_beep(void *); #ifdef SMP static int acpi_wakeup_ap(struct acpi_softc *, int); -static void acpi_wakeup_cpus(struct acpi_softc *, cpumask_t); +static void acpi_wakeup_cpus(struct acpi_softc *, const cpuset_t *); #endif #define WAKECODE_VADDR(sc) ((sc)->acpi_wakeaddr + (3 * PAGE_SIZE)) @@ -173,7 +173,7 @@ acpi_wakeup_ap(struct acpi_softc *sc, in #define BIOS_WARM (0x0a) static void -acpi_wakeup_cpus(struct acpi_softc *sc, cpumask_t wakeup_cpus) +acpi_wakeup_cpus(struct acpi_softc *sc, const cpuset_t *wakeup_cpus) { uint32_t mpbioswarmvec; int cpu; @@ -192,7 +192,7 @@ acpi_wakeup_cpus(struct acpi_softc *sc, /* Wake up each AP. */ for (cpu = 1; cpu < mp_ncpus; cpu++) { - if ((wakeup_cpus & (1 << cpu)) == 0) + if (!CPU_ISSET(cpu, wakeup_cpus)) continue; if (acpi_wakeup_ap(sc, cpu) == 0) { /* restore the warmstart vector */ @@ -214,7 +214,7 @@ int acpi_sleep_machdep(struct acpi_softc *sc, int state) { #ifdef SMP - cpumask_t wakeup_cpus; + cpuset_t wakeup_cpus; #endif register_t cr3, rf; ACPI_STATUS status; @@ -244,10 +244,9 @@ acpi_sleep_machdep(struct acpi_softc *sc if (savectx(susppcbs[0])) { #ifdef SMP - if (wakeup_cpus != 0 && suspend_cpus(wakeup_cpus) == 0) { - device_printf(sc->acpi_dev, - "Failed to suspend APs: CPU mask = 0x%jx\n", - (uintmax_t)(wakeup_cpus & ~stopped_cpus)); + if (!CPU_EMPTY(&wakeup_cpus) && + suspend_cpus(wakeup_cpus) == 0) { + device_printf(sc->acpi_dev, "Failed to suspend APs\n"); goto out; } #endif @@ -282,8 +281,8 @@ acpi_sleep_machdep(struct acpi_softc *sc PCPU_SET(switchtime, 0); PCPU_SET(switchticks, ticks); #ifdef SMP - if (wakeup_cpus != 0) - acpi_wakeup_cpus(sc, wakeup_cpus); + if (!CPU_EMPTY(&wakeup_cpus)) + acpi_wakeup_cpus(sc, &wakeup_cpus); #endif acpi_resync_clock(sc); ret = 0; @@ -291,7 +290,7 @@ acpi_sleep_machdep(struct acpi_softc *sc out: #ifdef SMP - if (wakeup_cpus != 0) + if (!CPU_EMPTY(&wakeup_cpus)) restart_cpus(wakeup_cpus); #endif Modified: projects/largeSMP/sys/amd64/amd64/intr_machdep.c ============================================================================== --- projects/largeSMP/sys/amd64/amd64/intr_machdep.c Thu May 5 14:19:37 2011 (r221498) +++ projects/largeSMP/sys/amd64/amd64/intr_machdep.c Thu May 5 14:39:14 2011 (r221499) @@ -443,8 +443,7 @@ DB_SHOW_COMMAND(irqs, db_show_irqs) * allocate CPUs round-robin. */ -/* The BSP is always a valid target. */ -static cpumask_t intr_cpus = (1 << 0); +static cpuset_t intr_cpus; static int current_cpu; /* @@ -466,7 +465,7 @@ intr_next_cpu(void) current_cpu++; if (current_cpu > mp_maxid) current_cpu = 0; - } while (!(intr_cpus & (1 << current_cpu))); + } while (!CPU_ISSET(current_cpu, &intr_cpus)); mtx_unlock_spin(&icu_lock); return (apic_id); } @@ -497,7 +496,7 @@ intr_add_cpu(u_int cpu) printf("INTR: Adding local APIC %d as a target\n", cpu_apic_ids[cpu]); - intr_cpus |= (1 << cpu); + CPU_SET(cpu, &intr_cpus); } /* @@ -510,6 +509,9 @@ intr_shuffle_irqs(void *arg __unused) struct intsrc *isrc; int i; + /* The BSP is always a valid target. */ + CPU_SETOF(0, &intr_cpus); + /* Don't bother on UP. */ if (mp_ncpus == 1) return; Modified: projects/largeSMP/sys/amd64/amd64/mp_machdep.c ============================================================================== --- projects/largeSMP/sys/amd64/amd64/mp_machdep.c Thu May 5 14:19:37 2011 (r221498) +++ projects/largeSMP/sys/amd64/amd64/mp_machdep.c Thu May 5 14:39:14 2011 (r221499) @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #ifdef GPROF #include #endif @@ -125,7 +126,7 @@ extern inthand_t IDTVEC(fast_syscall), I * Local data and functions. */ -static volatile cpumask_t ipi_nmi_pending; +static volatile cpuset_t ipi_nmi_pending; /* used to hold the AP's until we are ready to release them */ static struct mtx ap_boot_mtx; @@ -161,7 +162,7 @@ static void release_aps(void *dummy); static int hlt_logical_cpus; static u_int hyperthreading_cpus; /* logical cpus sharing L1 cache */ -static cpumask_t hyperthreading_cpus_mask; +static cpuset_t hyperthreading_cpus_mask; static int hyperthreading_allowed = 1; static struct sysctl_ctx_list logical_cpu_clist; static u_int bootMP_size; @@ -311,7 +312,7 @@ topo_probe(void) if (cpu_topo_probed) return; - logical_cpus_mask = 0; + CPU_ZERO(&logical_cpus_mask); if (mp_ncpus <= 1) cpu_cores = cpu_logical = 1; else if (cpu_vendor_id == CPU_VENDOR_AMD) @@ -455,7 +456,7 @@ cpu_mp_probe(void) * Always record BSP in CPU map so that the mbuf init code works * correctly. */ - all_cpus = 1; + CPU_SETOF(0, &all_cpus); if (mp_ncpus == 0) { /* * No CPUs were found, so this must be a UP system. Setup @@ -582,6 +583,7 @@ cpu_mp_announce(void) void init_secondary(void) { + cpuset_t tcpuset, tallcpus; struct pcpu *pc; struct nmi_pcpu *np; u_int64_t msr, cr0; @@ -713,19 +715,22 @@ init_secondary(void) CTR1(KTR_SMP, "SMP: AP CPU #%d Launched", PCPU_GET(cpuid)); printf("SMP: AP CPU #%d Launched!\n", PCPU_GET(cpuid)); + tcpuset = PCPU_GET(cpumask); /* Determine if we are a logical CPU. */ /* XXX Calculation depends on cpu_logical being a power of 2, e.g. 2 */ if (cpu_logical > 1 && PCPU_GET(apic_id) % cpu_logical != 0) - logical_cpus_mask |= PCPU_GET(cpumask); - + CPU_OR(&logical_cpus_mask, &tcpuset); + /* Determine if we are a hyperthread. */ if (hyperthreading_cpus > 1 && PCPU_GET(apic_id) % hyperthreading_cpus != 0) - hyperthreading_cpus_mask |= PCPU_GET(cpumask); + CPU_OR(&hyperthreading_cpus_mask, &tcpuset); /* Build our map of 'other' CPUs. */ - PCPU_SET(other_cpus, all_cpus & ~PCPU_GET(cpumask)); + tallcpus = all_cpus; + CPU_NAND(&tallcpus, &tcpuset); + PCPU_SET(other_cpus, tallcpus); if (bootverbose) lapic_dump("AP"); @@ -868,6 +873,7 @@ assign_cpu_ids(void) static int start_all_aps(void) { + cpuset_t tallcpus, tcpuset; vm_offset_t va = boot_address + KERNBASE; u_int64_t *pt4, *pt3, *pt2; u_int32_t mpbioswarmvec; @@ -932,11 +938,14 @@ start_all_aps(void) panic("AP #%d (PHY# %d) failed!", cpu, apic_id); } - all_cpus |= (1 << cpu); /* record AP in CPU map */ + CPU_SET(cpu, &all_cpus); /* record AP in CPU map */ } /* build our map of 'other' CPUs */ - PCPU_SET(other_cpus, all_cpus & ~PCPU_GET(cpumask)); + tallcpus = all_cpus; + tcpuset = PCPU_GET(cpumask); + CPU_NAND(&tallcpus, &tcpuset); + PCPU_SET(other_cpus, tallcpus); /* restore the warmstart vector */ *(u_int32_t *) WARMBOOT_OFF = mpbioswarmvec; @@ -1065,6 +1074,30 @@ SYSCTL_UINT(_debug_xhits, OID_AUTO, ipi_ #endif /* COUNT_XINVLTLB_HITS */ /* + * Send an IPI to specified CPU handling the bitmap logic. + */ +static void +ipi_send_cpu(int cpu, u_int ipi) +{ + u_int bitmap, old_pending, new_pending; + + KASSERT(cpu_apic_ids[cpu] != -1, ("IPI to non-existent CPU %d", cpu)); + + if (IPI_IS_BITMAPED(ipi)) { + bitmap = 1 << ipi; + ipi = IPI_BITMAP_VECTOR; + do { + old_pending = cpu_ipi_pending[cpu]; + new_pending = old_pending | bitmap; + } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu], + old_pending, new_pending)); + if (old_pending) + return; + } + lapic_ipi_vectored(ipi, cpu_apic_ids[cpu]); +} + +/* * Flush the TLB on all other CPU's */ static void @@ -1088,28 +1121,19 @@ smp_tlb_shootdown(u_int vector, vm_offse } static void -smp_targeted_tlb_shootdown(cpumask_t mask, u_int vector, vm_offset_t addr1, vm_offset_t addr2) +smp_targeted_tlb_shootdown(cpuset_t mask, u_int vector, vm_offset_t addr1, vm_offset_t addr2) { - int ncpu, othercpus; + int cpu, ncpu, othercpus; othercpus = mp_ncpus - 1; - if (mask == (cpumask_t)-1) { - ncpu = othercpus; - if (ncpu < 1) + if (CPU_ISFULLSET(&mask)) { + if (othercpus < 1) return; } else { - mask &= ~PCPU_GET(cpumask); - if (mask == 0) - return; - ncpu = bitcount32(mask); - if (ncpu > othercpus) { - /* XXX this should be a panic offence */ - printf("SMP: tlb shootdown to %d other cpus (only have %d)\n", - ncpu, othercpus); - ncpu = othercpus; - } - /* XXX should be a panic, implied by mask == 0 above */ - if (ncpu < 1) + sched_pin(); + CPU_NAND(&mask, PCPU_PTR(cpumask)); + sched_unpin(); + if (CPU_EMPTY(&mask)) return; } if (!(read_rflags() & PSL_I)) @@ -1118,39 +1142,25 @@ smp_targeted_tlb_shootdown(cpumask_t mas smp_tlb_addr1 = addr1; smp_tlb_addr2 = addr2; atomic_store_rel_int(&smp_tlb_wait, 0); - if (mask == (cpumask_t)-1) + if (CPU_ISFULLSET(&mask)) { + ncpu = othercpus; ipi_all_but_self(vector); - else - ipi_selected(mask, vector); + } else { + ncpu = 0; + while ((cpu = cpusetobj_ffs(&mask)) != 0) { + cpu--; + CPU_CLR(cpu, &mask); + CTR3(KTR_SMP, "%s: cpu: %d ipi: %x", __func__, + cpu, vector); + ipi_send_cpu(cpu, vector); + ncpu++; + } + } while (smp_tlb_wait < ncpu) ia32_pause(); mtx_unlock_spin(&smp_ipi_mtx); } -/* - * Send an IPI to specified CPU handling the bitmap logic. - */ -static void -ipi_send_cpu(int cpu, u_int ipi) -{ - u_int bitmap, old_pending, new_pending; - - KASSERT(cpu_apic_ids[cpu] != -1, ("IPI to non-existent CPU %d", cpu)); - - if (IPI_IS_BITMAPED(ipi)) { - bitmap = 1 << ipi; - ipi = IPI_BITMAP_VECTOR; - do { - old_pending = cpu_ipi_pending[cpu]; - new_pending = old_pending | bitmap; - } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu], - old_pending, new_pending)); - if (old_pending) - return; - } - lapic_ipi_vectored(ipi, cpu_apic_ids[cpu]); -} - void smp_cache_flush(void) { @@ -1197,7 +1207,7 @@ smp_invlpg_range(vm_offset_t addr1, vm_o } void -smp_masked_invltlb(cpumask_t mask) +smp_masked_invltlb(cpuset_t mask) { if (smp_started) { @@ -1209,7 +1219,7 @@ smp_masked_invltlb(cpumask_t mask) } void -smp_masked_invlpg(cpumask_t mask, vm_offset_t addr) +smp_masked_invlpg(cpuset_t mask, vm_offset_t addr) { if (smp_started) { @@ -1221,7 +1231,7 @@ smp_masked_invlpg(cpumask_t mask, vm_off } void -smp_masked_invlpg_range(cpumask_t mask, vm_offset_t addr1, vm_offset_t addr2) +smp_masked_invlpg_range(cpuset_t mask, vm_offset_t addr1, vm_offset_t addr2) { if (smp_started) { @@ -1274,7 +1284,7 @@ ipi_bitmap_handler(struct trapframe fram * send an IPI to a set of cpus. */ void -ipi_selected(cpumask_t cpus, u_int ipi) +ipi_selected(cpuset_t cpus, u_int ipi) { int cpu; @@ -1284,12 +1294,12 @@ ipi_selected(cpumask_t cpus, u_int ipi) * Set the mask of receiving CPUs for this purpose. */ if (ipi == IPI_STOP_HARD) - atomic_set_int(&ipi_nmi_pending, cpus); + CPU_OR_ATOMIC(&ipi_nmi_pending, &cpus); - CTR3(KTR_SMP, "%s: cpus: %x ipi: %x", __func__, cpus, ipi); - while ((cpu = ffs(cpus)) != 0) { + while ((cpu = cpusetobj_ffs(&cpus)) != 0) { cpu--; - cpus &= ~(1 << cpu); + CPU_CLR(cpu, &cpus); + CTR3(KTR_SMP, "%s: cpu: %d ipi: %x", __func__, cpu, ipi); ipi_send_cpu(cpu, ipi); } } @@ -1307,7 +1317,7 @@ ipi_cpu(int cpu, u_int ipi) * Set the mask of receiving CPUs for this purpose. */ if (ipi == IPI_STOP_HARD) - atomic_set_int(&ipi_nmi_pending, 1 << cpu); + CPU_SET_ATOMIC(cpu, &ipi_nmi_pending); CTR3(KTR_SMP, "%s: cpu: %d ipi: %x", __func__, cpu, ipi); ipi_send_cpu(cpu, ipi); @@ -1320,8 +1330,10 @@ void ipi_all_but_self(u_int ipi) { + sched_pin(); if (IPI_IS_BITMAPED(ipi)) { ipi_selected(PCPU_GET(other_cpus), ipi); + sched_unpin(); return; } @@ -1331,7 +1343,8 @@ ipi_all_but_self(u_int ipi) * Set the mask of receiving CPUs for this purpose. */ if (ipi == IPI_STOP_HARD) - atomic_set_int(&ipi_nmi_pending, PCPU_GET(other_cpus)); + CPU_OR_ATOMIC(&ipi_nmi_pending, PCPU_PTR(other_cpus)); + sched_unpin(); CTR2(KTR_SMP, "%s: ipi: %x", __func__, ipi); lapic_ipi_vectored(ipi, APIC_IPI_DEST_OTHERS); @@ -1340,7 +1353,7 @@ ipi_all_but_self(u_int ipi) int ipi_nmi_handler() { - cpumask_t cpumask; + cpuset_t cpumask; /* * As long as there is not a simple way to know about a NMI's @@ -1348,11 +1361,13 @@ ipi_nmi_handler() * the global pending bitword an IPI_STOP_HARD has been issued * and should be handled. */ + sched_pin(); cpumask = PCPU_GET(cpumask); - if ((ipi_nmi_pending & cpumask) == 0) + sched_unpin(); + if (!CPU_OVERLAP(&ipi_nmi_pending, &cpumask)) return (1); - atomic_clear_int(&ipi_nmi_pending, cpumask); + CPU_NAND_ATOMIC(&ipi_nmi_pending, &cpumask); cpustop_handler(); return (0); } @@ -1364,23 +1379,25 @@ ipi_nmi_handler() void cpustop_handler(void) { - cpumask_t cpumask; + cpuset_t cpumask; u_int cpu; + sched_pin(); cpu = PCPU_GET(cpuid); cpumask = PCPU_GET(cpumask); + sched_unpin(); savectx(&stoppcbs[cpu]); /* Indicate that we are stopped */ - atomic_set_int(&stopped_cpus, cpumask); + CPU_OR_ATOMIC(&stopped_cpus, &cpumask); /* Wait for restart */ - while (!(started_cpus & cpumask)) + while (!CPU_OVERLAP(&started_cpus, &cpumask)) ia32_pause(); - atomic_clear_int(&started_cpus, cpumask); - atomic_clear_int(&stopped_cpus, cpumask); + CPU_NAND_ATOMIC(&started_cpus, &cpumask); + CPU_NAND_ATOMIC(&stopped_cpus, &cpumask); if (cpu == 0 && cpustop_restartfunc != NULL) { cpustop_restartfunc(); @@ -1395,7 +1412,7 @@ cpustop_handler(void) void cpususpend_handler(void) { - cpumask_t cpumask; + cpuset_t cpumask; register_t cr3, rf; u_int cpu; @@ -1407,7 +1424,7 @@ cpususpend_handler(void) if (savectx(susppcbs[cpu])) { wbinvd(); - atomic_set_int(&stopped_cpus, cpumask); + CPU_OR_ATOMIC(&stopped_cpus, &cpumask); } else { pmap_init_pat(); PCPU_SET(switchtime, 0); @@ -1415,11 +1432,11 @@ cpususpend_handler(void) } /* Wait for resume */ - while (!(started_cpus & cpumask)) + while (!CPU_OVERLAP(&started_cpus, &cpumask)) ia32_pause(); - atomic_clear_int(&started_cpus, cpumask); - atomic_clear_int(&stopped_cpus, cpumask); + CPU_NAND_ATOMIC(&started_cpus, &cpumask); + CPU_NAND_ATOMIC(&stopped_cpus, &cpumask); /* Restore CR3 and enable interrupts */ load_cr3(cr3); @@ -1447,30 +1464,30 @@ SYSINIT(start_aps, SI_SUB_SMP, SI_ORDER_ static int sysctl_hlt_cpus(SYSCTL_HANDLER_ARGS) { - cpumask_t mask; + cpuset_t mask; int error; mask = hlt_cpus_mask; - error = sysctl_handle_int(oidp, &mask, 0, req); + error = sysctl_handle_opaque(oidp, &mask, sizeof(mask), req); if (error || !req->newptr) return (error); - if (logical_cpus_mask != 0 && - (mask & logical_cpus_mask) == logical_cpus_mask) + if (!CPU_EMPTY(&logical_cpus_mask) && + CPU_SUBSET(&mask, &logical_cpus_mask)) hlt_logical_cpus = 1; else hlt_logical_cpus = 0; if (! hyperthreading_allowed) - mask |= hyperthreading_cpus_mask; + CPU_OR(&mask, &hyperthreading_cpus_mask); - if ((mask & all_cpus) == all_cpus) - mask &= ~(1<<0); + if (CPU_SUBSET(&mask, &all_cpus)) + CPU_CLR(0, &mask); hlt_cpus_mask = mask; return (error); } -SYSCTL_PROC(_machdep, OID_AUTO, hlt_cpus, CTLTYPE_INT|CTLFLAG_RW, - 0, 0, sysctl_hlt_cpus, "IU", +SYSCTL_PROC(_machdep, OID_AUTO, hlt_cpus, + CTLTYPE_STRUCT | CTLFLAG_RW | CTLFLAG_MPSAFE, 0, 0, sysctl_hlt_cpus, "S", "Bitmap of CPUs to halt. 101 (binary) will halt CPUs 0 and 2."); static int @@ -1484,15 +1501,15 @@ sysctl_hlt_logical_cpus(SYSCTL_HANDLER_A return (error); if (disable) - hlt_cpus_mask |= logical_cpus_mask; + CPU_OR(&hlt_cpus_mask, &logical_cpus_mask); else - hlt_cpus_mask &= ~logical_cpus_mask; + CPU_NAND(&hlt_cpus_mask, &logical_cpus_mask); if (! hyperthreading_allowed) - hlt_cpus_mask |= hyperthreading_cpus_mask; + CPU_OR(&hlt_cpus_mask, &hyperthreading_cpus_mask); - if ((hlt_cpus_mask & all_cpus) == all_cpus) - hlt_cpus_mask &= ~(1<<0); + if (CPU_SUBSET(&hlt_cpus_mask, &all_cpus)) + CPU_CLR(0, &hlt_cpus_mask); hlt_logical_cpus = disable; return (error); @@ -1519,18 +1536,18 @@ sysctl_hyperthreading_allowed(SYSCTL_HAN #endif if (allowed) - hlt_cpus_mask &= ~hyperthreading_cpus_mask; + CPU_NAND(&hlt_cpus_mask, &hyperthreading_cpus_mask); else - hlt_cpus_mask |= hyperthreading_cpus_mask; + CPU_OR(&hlt_cpus_mask, &hyperthreading_cpus_mask); - if (logical_cpus_mask != 0 && - (hlt_cpus_mask & logical_cpus_mask) == logical_cpus_mask) + if (!CPU_EMPTY(&logical_cpus_mask) && + CPU_SUBSET(&hlt_cpus_mask, &logical_cpus_mask)) hlt_logical_cpus = 1; else hlt_logical_cpus = 0; - if ((hlt_cpus_mask & all_cpus) == all_cpus) - hlt_cpus_mask &= ~(1<<0); + if (CPU_SUBSET(&hlt_cpus_mask, &all_cpus)) + CPU_CLR(0, &hlt_cpus_mask); hyperthreading_allowed = allowed; return (error); @@ -1540,7 +1557,7 @@ static void cpu_hlt_setup(void *dummy __unused) { - if (logical_cpus_mask != 0) { + if (!CPU_EMPTY(&logical_cpus_mask)) { TUNABLE_INT_FETCH("machdep.hlt_logical_cpus", &hlt_logical_cpus); sysctl_ctx_init(&logical_cpu_clist); @@ -1554,20 +1571,21 @@ cpu_hlt_setup(void *dummy __unused) &logical_cpus_mask, 0, ""); if (hlt_logical_cpus) - hlt_cpus_mask |= logical_cpus_mask; + CPU_OR(&hlt_cpus_mask, &logical_cpus_mask); /* * If necessary for security purposes, force * hyperthreading off, regardless of the value * of hlt_logical_cpus. */ - if (hyperthreading_cpus_mask) { + if (!CPU_EMPTY(&hyperthreading_cpus_mask)) { SYSCTL_ADD_PROC(&logical_cpu_clist, SYSCTL_STATIC_CHILDREN(_machdep), OID_AUTO, "hyperthreading_allowed", CTLTYPE_INT|CTLFLAG_RW, 0, 0, sysctl_hyperthreading_allowed, "IU", ""); if (! hyperthreading_allowed) - hlt_cpus_mask |= hyperthreading_cpus_mask; + CPU_OR(&hlt_cpus_mask, + &hyperthreading_cpus_mask); } } } @@ -1576,7 +1594,7 @@ SYSINIT(cpu_hlt, SI_SUB_SMP, SI_ORDER_AN int mp_grab_cpu_hlt(void) { - cpumask_t mask; + cpuset_t mask; #ifdef MP_WATCHDOG u_int cpuid; #endif @@ -1589,7 +1607,7 @@ mp_grab_cpu_hlt(void) #endif retval = 0; - while (mask & hlt_cpus_mask) { + while (CPU_OVERLAP(&mask, &hlt_cpus_mask)) { retval = 1; __asm __volatile("sti; hlt" : : : "memory"); } Modified: projects/largeSMP/sys/amd64/amd64/pmap.c ============================================================================== --- projects/largeSMP/sys/amd64/amd64/pmap.c Thu May 5 14:19:37 2011 (r221498) +++ projects/largeSMP/sys/amd64/amd64/pmap.c Thu May 5 14:39:14 2011 (r221499) @@ -123,6 +123,8 @@ __FBSDID("$FreeBSD$"); #include #ifdef SMP #include +#else +#include #endif #include @@ -581,7 +583,7 @@ pmap_bootstrap(vm_paddr_t *firstaddr) PMAP_LOCK_INIT(kernel_pmap); kernel_pmap->pm_pml4 = (pdp_entry_t *)PHYS_TO_DMAP(KPML4phys); kernel_pmap->pm_root = NULL; - kernel_pmap->pm_active = -1; /* don't allow deactivation */ + CPU_FILL(&kernel_pmap->pm_active); /* don't allow deactivation */ TAILQ_INIT(&kernel_pmap->pm_pvchunk); /* @@ -923,19 +925,20 @@ pmap_update_pde_invalidate(vm_offset_t v void pmap_invalidate_page(pmap_t pmap, vm_offset_t va) { - cpumask_t cpumask, other_cpus; + cpuset_t cpumask, other_cpus; sched_pin(); - if (pmap == kernel_pmap || pmap->pm_active == all_cpus) { + if (pmap == kernel_pmap || !CPU_CMP(&pmap->pm_active, &all_cpus)) { invlpg(va); smp_invlpg(va); } else { cpumask = PCPU_GET(cpumask); other_cpus = PCPU_GET(other_cpus); - if (pmap->pm_active & cpumask) + if (CPU_OVERLAP(&pmap->pm_active, &cpumask)) invlpg(va); - if (pmap->pm_active & other_cpus) - smp_masked_invlpg(pmap->pm_active & other_cpus, va); + CPU_AND(&other_cpus, &pmap->pm_active); + if (!CPU_EMPTY(&other_cpus)) + smp_masked_invlpg(other_cpus, va); } sched_unpin(); } @@ -943,23 +946,23 @@ pmap_invalidate_page(pmap_t pmap, vm_off void pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) { - cpumask_t cpumask, other_cpus; + cpuset_t cpumask, other_cpus; vm_offset_t addr; sched_pin(); - if (pmap == kernel_pmap || pmap->pm_active == all_cpus) { + if (pmap == kernel_pmap || !CPU_CMP(&pmap->pm_active, &all_cpus)) { for (addr = sva; addr < eva; addr += PAGE_SIZE) invlpg(addr); smp_invlpg_range(sva, eva); } else { cpumask = PCPU_GET(cpumask); other_cpus = PCPU_GET(other_cpus); - if (pmap->pm_active & cpumask) + if (CPU_OVERLAP(&pmap->pm_active, &cpumask)) for (addr = sva; addr < eva; addr += PAGE_SIZE) invlpg(addr); - if (pmap->pm_active & other_cpus) - smp_masked_invlpg_range(pmap->pm_active & other_cpus, - sva, eva); + CPU_AND(&other_cpus, &pmap->pm_active); + if (!CPU_EMPTY(&other_cpus)) + smp_masked_invlpg_range(other_cpus, sva, eva); } sched_unpin(); } @@ -967,19 +970,20 @@ pmap_invalidate_range(pmap_t pmap, vm_of void pmap_invalidate_all(pmap_t pmap) { - cpumask_t cpumask, other_cpus; + cpuset_t cpumask, other_cpus; sched_pin(); - if (pmap == kernel_pmap || pmap->pm_active == all_cpus) { + if (pmap == kernel_pmap || !CPU_CMP(&pmap->pm_active, &all_cpus)) { invltlb(); smp_invltlb(); } else { cpumask = PCPU_GET(cpumask); other_cpus = PCPU_GET(other_cpus); - if (pmap->pm_active & cpumask) + if (CPU_OVERLAP(&pmap->pm_active, &cpumask)) invltlb(); - if (pmap->pm_active & other_cpus) - smp_masked_invltlb(pmap->pm_active & other_cpus); + CPU_AND(&other_cpus, &pmap->pm_active); + if (!CPU_EMPTY(&other_cpus)) + smp_masked_invltlb(other_cpus); } sched_unpin(); } @@ -995,8 +999,8 @@ pmap_invalidate_cache(void) } struct pde_action { - cpumask_t store; /* processor that updates the PDE */ - cpumask_t invalidate; /* processors that invalidate their TLB */ + cpuset_t store; /* processor that updates the PDE */ + cpuset_t invalidate; /* processors that invalidate their TLB */ vm_offset_t va; pd_entry_t *pde; pd_entry_t newpde; @@ -1007,8 +1011,12 @@ pmap_update_pde_action(void *arg) { struct pde_action *act = arg; - if (act->store == PCPU_GET(cpumask)) + sched_pin(); + if (!CPU_CMP(&act->store, PCPU_PTR(cpumask))) { + sched_unpin(); pde_store(act->pde, act->newpde); + } else + sched_unpin(); } static void @@ -1016,8 +1024,12 @@ pmap_update_pde_teardown(void *arg) { struct pde_action *act = arg; - if ((act->invalidate & PCPU_GET(cpumask)) != 0) + sched_pin(); + if (CPU_OVERLAP(&act->invalidate, PCPU_PTR(cpumask))) { + sched_unpin(); pmap_update_pde_invalidate(act->va, act->newpde); + } else + sched_unpin(); } /* @@ -1032,26 +1044,28 @@ static void pmap_update_pde(pmap_t pmap, vm_offset_t va, pd_entry_t *pde, pd_entry_t newpde) { struct pde_action act; - cpumask_t active, cpumask; + cpuset_t active, cpumask, other_cpus; sched_pin(); cpumask = PCPU_GET(cpumask); + other_cpus = PCPU_GET(other_cpus); if (pmap == kernel_pmap) active = all_cpus; else active = pmap->pm_active; - if ((active & PCPU_GET(other_cpus)) != 0) { + if (CPU_OVERLAP(&active, &other_cpus)) { act.store = cpumask; act.invalidate = active; act.va = va; act.pde = pde; act.newpde = newpde; - smp_rendezvous_cpus(cpumask | active, + CPU_OR(&cpumask, &active); + smp_rendezvous_cpus(cpumask, smp_no_rendevous_barrier, pmap_update_pde_action, pmap_update_pde_teardown, &act); } else { pde_store(pde, newpde); - if ((active & cpumask) != 0) + if (CPU_OVERLAP(&active, &cpumask)) pmap_update_pde_invalidate(va, newpde); } sched_unpin(); @@ -1065,7 +1079,7 @@ PMAP_INLINE void pmap_invalidate_page(pmap_t pmap, vm_offset_t va) { - if (pmap == kernel_pmap || pmap->pm_active) + if (pmap == kernel_pmap || !CPU_EMPTY(&pmap->pm_active)) invlpg(va); } @@ -1074,7 +1088,7 @@ pmap_invalidate_range(pmap_t pmap, vm_of { vm_offset_t addr; - if (pmap == kernel_pmap || pmap->pm_active) + if (pmap == kernel_pmap || !CPU_EMPTY(&pmap->pm_active)) for (addr = sva; addr < eva; addr += PAGE_SIZE) invlpg(addr); } @@ -1083,7 +1097,7 @@ PMAP_INLINE void pmap_invalidate_all(pmap_t pmap) { - if (pmap == kernel_pmap || pmap->pm_active) + if (pmap == kernel_pmap || !CPU_EMPTY(&pmap->pm_active)) invltlb(); } @@ -1099,7 +1113,7 @@ pmap_update_pde(pmap_t pmap, vm_offset_t { pde_store(pde, newpde); - if (pmap == kernel_pmap || pmap->pm_active) + if (pmap == kernel_pmap || !CPU_EMPTY(&pmap->pm_active)) pmap_update_pde_invalidate(va, newpde); } #endif /* !SMP */ @@ -1607,7 +1621,7 @@ pmap_pinit0(pmap_t pmap) PMAP_LOCK_INIT(pmap); pmap->pm_pml4 = (pml4_entry_t *)PHYS_TO_DMAP(KPML4phys); pmap->pm_root = NULL; - pmap->pm_active = 0; + CPU_ZERO(&pmap->pm_active); PCPU_SET(curpmap, pmap); TAILQ_INIT(&pmap->pm_pvchunk); bzero(&pmap->pm_stats, sizeof pmap->pm_stats); @@ -1649,7 +1663,7 @@ pmap_pinit(pmap_t pmap) pmap->pm_pml4[PML4PML4I] = VM_PAGE_TO_PHYS(pml4pg) | PG_V | PG_RW | PG_A | PG_M; pmap->pm_root = NULL; - pmap->pm_active = 0; + CPU_ZERO(&pmap->pm_active); TAILQ_INIT(&pmap->pm_pvchunk); bzero(&pmap->pm_stats, sizeof pmap->pm_stats); @@ -5087,11 +5101,11 @@ pmap_activate(struct thread *td) pmap = vmspace_pmap(td->td_proc->p_vmspace); oldpmap = PCPU_GET(curpmap); #ifdef SMP - atomic_clear_int(&oldpmap->pm_active, PCPU_GET(cpumask)); - atomic_set_int(&pmap->pm_active, PCPU_GET(cpumask)); + CPU_NAND_ATOMIC(&oldpmap->pm_active, PCPU_PTR(cpumask)); + CPU_OR_ATOMIC(&pmap->pm_active, PCPU_PTR(cpumask)); #else - oldpmap->pm_active &= ~PCPU_GET(cpumask); - pmap->pm_active |= PCPU_GET(cpumask); + CPU_NAND(&oldpmap->pm_active, PCPU_PTR(cpumask)); + CPU_OR(&pmap->pm_active, PCPU_PTR(cpumask)); #endif cr3 = DMAP_TO_PHYS((vm_offset_t)pmap->pm_pml4); td->td_pcb->pcb_cr3 = cr3; Modified: projects/largeSMP/sys/amd64/amd64/vm_machdep.c ============================================================================== --- projects/largeSMP/sys/amd64/amd64/vm_machdep.c Thu May 5 14:19:37 2011 (r221498) +++ projects/largeSMP/sys/amd64/amd64/vm_machdep.c Thu May 5 14:39:14 2011 (r221499) @@ -59,6 +59,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -70,6 +71,7 @@ __FBSDID("$FreeBSD$"); #include *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu May 5 16:22:57 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 432F11065674; Thu, 5 May 2011 16:22:57 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id A2F438FC15; Thu, 5 May 2011 16:22:56 +0000 (UTC) Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua [10.1.1.148]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id p45GMq4s046441 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 5 May 2011 19:22:52 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4) with ESMTP id p45GMqlL077922; Thu, 5 May 2011 19:22:52 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4/Submit) id p45GMqhV077921; Thu, 5 May 2011 19:22:52 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 5 May 2011 19:22:52 +0300 From: Kostik Belousov To: mdf@freebsd.org Message-ID: <20110505162252.GX48734@deviant.kiev.zoral.com.ua> References: <201105051439.p45EdEgC003770@svn.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="xFQBzfy8IMmn3THN" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-3.4 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00, DNS_FROM_OPENWHOIS autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: Attilio Rao , svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r221499 - in projects/largeSMP: gnu/usr.bin/gdb/kgdb lib/libmemstat sys/amd64/acpica sys/amd64/amd64 sys/amd64/include sys/arm/arm sys/arm/include sys/cddl/dev/cyclic/i386 sys/cddl/dev/... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 16:22:57 -0000 --xFQBzfy8IMmn3THN Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, May 05, 2011 at 08:56:31AM -0700, mdf@freebsd.org wrote: > On Thu, May 5, 2011 at 7:39 AM, Attilio Rao wrote: > > Author: attilio > > Date: Thu May =9A5 14:39:14 2011 > > New Revision: 221499 > > URL: http://svn.freebsd.org/changeset/base/221499 > > > > Log: > > =9ACommit the support for removing cpumask_t and replacing it directly = with > > =9Acpuset_t objects. >=20 > I suppose it's a bit of a bikeshed issue, but I found a few of the > names a little confusing. I'd prefer: >=20 > s/CPU_OVERLAP/CPU_INTERSECT > s/CPU_NAND/CPU_CLRSET (to mirror CPU_CLR) or CPU_SUBTRACT or CPU_DIFFEREN= CE >=20 > Possibly also s/CPU_OR/CPU_SETSET or CPU_UNION. In general I found > the naming a bit confusing since it seemed that, though these are > declared as a set of cpus (cpuset_t) the operation names aren't > set-type operations, like UNION, INTERSECT, DIFFERENCE, etc. >=20 > It looks like the names have been around for a while, but I suspect > they don't see much use until this branch. There is a set of operations on the signal masks that are very similar to the cpuset_t, and at least nand operation is named consistently between them. --xFQBzfy8IMmn3THN Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (FreeBSD) iEYEARECAAYFAk3CztwACgkQC3+MBN1Mb4j1vgCg8yD8v7zc6LpNy608QlggCJzD gk4AoOgvgOGBmEhxZ/y/e0GoLsd6ZZQT =wQKx -----END PGP SIGNATURE----- --xFQBzfy8IMmn3THN-- From owner-svn-src-projects@FreeBSD.ORG Thu May 5 16:23:05 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BEFD71065688; Thu, 5 May 2011 16:23:04 +0000 (UTC) (envelope-from mdf356@gmail.com) Received: from mail-ww0-f50.google.com (mail-ww0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id 103BE8FC14; Thu, 5 May 2011 16:23:02 +0000 (UTC) Received: by wwc33 with SMTP id 33so2409464wwc.31 for ; Thu, 05 May 2011 09:23:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=xDGbYDk9u8yr5y/tV9FMqluDo3ugcFZ+YsNiRwSq0sA=; b=Y65MVE+fa3A0AyX/iGNHo569EKeL71wHIdmA4iKaQNXfiIyR4/nhva4TmomR+zMAmX 3b0f7+l4gaPPrTZz4yMEw2pc7l19VSchatqdhHf6naXXG9AB1SJQnjSWFRsK9GMzqiAO FuW8kfCItrhlleGE9EX88v2/gj3x67NQUHwlI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=WyboTtzgh1FeV6gYyvq5aFb+PFn5pMybOp/6kmiD+0b06QgsQXMHg+4EZX/YsDAQtF AsilcAL20rtx6kd+LYW2euP2uxa6vFbrxNd/kXxojnD3FMM36+pwwLyye10l5iw1YiAZ G5B5teRb7z2eoV/v16Ijhcyw/dTtuUerfwp5k= MIME-Version: 1.0 Received: by 10.216.67.199 with SMTP id j49mr6579897wed.59.1304610991536; Thu, 05 May 2011 08:56:31 -0700 (PDT) Sender: mdf356@gmail.com Received: by 10.216.172.196 with HTTP; Thu, 5 May 2011 08:56:31 -0700 (PDT) In-Reply-To: <201105051439.p45EdEgC003770@svn.freebsd.org> References: <201105051439.p45EdEgC003770@svn.freebsd.org> Date: Thu, 5 May 2011 08:56:31 -0700 X-Google-Sender-Auth: LFoSOdFDa6XhmsN7f7uF0Ubj1vc Message-ID: From: mdf@FreeBSD.org To: Attilio Rao Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r221499 - in projects/largeSMP: gnu/usr.bin/gdb/kgdb lib/libmemstat sys/amd64/acpica sys/amd64/amd64 sys/amd64/include sys/arm/arm sys/arm/include sys/cddl/dev/cyclic/i386 sys/cddl/dev/... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 16:23:05 -0000 On Thu, May 5, 2011 at 7:39 AM, Attilio Rao wrote: > Author: attilio > Date: Thu May =A05 14:39:14 2011 > New Revision: 221499 > URL: http://svn.freebsd.org/changeset/base/221499 > > Log: > =A0Commit the support for removing cpumask_t and replacing it directly wi= th > =A0cpuset_t objects. I suppose it's a bit of a bikeshed issue, but I found a few of the names a little confusing. I'd prefer: s/CPU_OVERLAP/CPU_INTERSECT s/CPU_NAND/CPU_CLRSET (to mirror CPU_CLR) or CPU_SUBTRACT or CPU_DIFFERENCE Possibly also s/CPU_OR/CPU_SETSET or CPU_UNION. In general I found the naming a bit confusing since it seemed that, though these are declared as a set of cpus (cpuset_t) the operation names aren't set-type operations, like UNION, INTERSECT, DIFFERENCE, etc. It looks like the names have been around for a while, but I suspect they don't see much use until this branch. Thanks, matthew From owner-svn-src-projects@FreeBSD.ORG Thu May 5 16:30:02 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC8D5106564A; Thu, 5 May 2011 16:30:01 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-vx0-f182.google.com (mail-vx0-f182.google.com [209.85.220.182]) by mx1.freebsd.org (Postfix) with ESMTP id 78DAF8FC15; Thu, 5 May 2011 16:30:01 +0000 (UTC) Received: by vxc34 with SMTP id 34so3327371vxc.13 for ; Thu, 05 May 2011 09:30:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=TlAp2NQkthntPyqXU957Q9Nio6cFUJzZMZezlcN7HAQ=; b=AIu/yT3dpIgQx4TEwsIdVnpxGk/RaI1JVeCwVPhEWJjzZftDJVlTFp4nLkNH5Ot4tM UnhY5n+52o6gm5xp1y+T2zB7RNrm8Q6DMghXyIHazdtNID1SBJ3iOy4DPje3kIgwMiag WwfOyu+0Q2ybxHPP+ZBUzZC0yRp/Ka0jtRcp4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=kC8OZUlqkG/AA8YEBc5NZB3Zml7qqdHHXgcId5DNo6Krvl4QaQSj/H8O15VGWFqlzG /6XO6TElrqnCagMSNaS4sCCuNTWlWoC0vHARddeE2Z4I0tmEHao0KLfxaovVAFJ6DAES H2QedZg7zuZQSjoYmkrXcRxwxOg0sUOK9Wk5I= MIME-Version: 1.0 Received: by 10.220.18.74 with SMTP id v10mr658885vca.62.1304611149874; Thu, 05 May 2011 08:59:09 -0700 (PDT) Sender: asmrookie@gmail.com Received: by 10.220.201.3 with HTTP; Thu, 5 May 2011 08:59:09 -0700 (PDT) In-Reply-To: References: <201105051439.p45EdEgC003770@svn.freebsd.org> Date: Thu, 5 May 2011 11:59:09 -0400 X-Google-Sender-Auth: c7q6yuR67rhm0TKzrPN2IPRyyVw Message-ID: From: Attilio Rao To: mdf@freebsd.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r221499 - in projects/largeSMP: gnu/usr.bin/gdb/kgdb lib/libmemstat sys/amd64/acpica sys/amd64/amd64 sys/amd64/include sys/arm/arm sys/arm/include sys/cddl/dev/cyclic/i386 sys/cddl/dev/... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 16:30:02 -0000 2011/5/5 : > On Thu, May 5, 2011 at 7:39 AM, Attilio Rao wrote: >> Author: attilio >> Date: Thu May =C2=A05 14:39:14 2011 >> New Revision: 221499 >> URL: http://svn.freebsd.org/changeset/base/221499 >> >> Log: >> =C2=A0Commit the support for removing cpumask_t and replacing it directl= y with >> =C2=A0cpuset_t objects. > > I suppose it's a bit of a bikeshed issue, but I found a few of the > names a little confusing. =C2=A0I'd prefer: > > s/CPU_OVERLAP/CPU_INTERSECT > s/CPU_NAND/CPU_CLRSET (to mirror CPU_CLR) or CPU_SUBTRACT or CPU_DIFFEREN= CE > > Possibly also s/CPU_OR/CPU_SETSET or CPU_UNION. =C2=A0In general I found > the naming a bit confusing since it seemed that, though these are > declared as a set of cpus (cpuset_t) the operation names aren't > set-type operations, like UNION, INTERSECT, DIFFERENCE, etc. > > It looks like the names have been around for a while, but I suspect > they don't see much use until this branch. I really don't want to mix style changes with functionality, maybe we can tweak names later, I'm not against it. Attilio --=20 Peace can only be achieved by understanding - A. Einstein From owner-svn-src-projects@FreeBSD.ORG Thu May 5 19:35:12 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9EADD106564A; Thu, 5 May 2011 19:35:12 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8D8108FC14; Thu, 5 May 2011 19:35:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p45JZCet013063; Thu, 5 May 2011 19:35:12 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p45JZC5n013061; Thu, 5 May 2011 19:35:12 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105051935.p45JZC5n013061@svn.freebsd.org> From: Attilio Rao Date: Thu, 5 May 2011 19:35:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221511 - projects/largeSMP/sys/sys X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 19:35:12 -0000 Author: attilio Date: Thu May 5 19:35:12 2011 New Revision: 221511 URL: http://svn.freebsd.org/changeset/base/221511 Log: Revert this, as in userland MAXCPU is always 1. Reported by: marcel Modified: projects/largeSMP/sys/sys/_cpuset.h Modified: projects/largeSMP/sys/sys/_cpuset.h ============================================================================== --- projects/largeSMP/sys/sys/_cpuset.h Thu May 5 19:17:55 2011 (r221510) +++ projects/largeSMP/sys/sys/_cpuset.h Thu May 5 19:35:12 2011 (r221511) @@ -36,7 +36,7 @@ #define CPU_SETSIZE MAXCPU #endif -#define CPU_MAXSIZE (4 * MAXCPU) +#define CPU_MAXSIZE 128 #ifndef CPU_SETSIZE #define CPU_SETSIZE CPU_MAXSIZE From owner-svn-src-projects@FreeBSD.ORG Fri May 6 03:44:50 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 489AF106566B; Fri, 6 May 2011 03:44:50 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 33AA28FC08; Fri, 6 May 2011 03:44:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p463ioXW031120; Fri, 6 May 2011 03:44:50 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p463in5T031097; Fri, 6 May 2011 03:44:49 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201105060344.p463in5T031097@svn.freebsd.org> From: Marcel Moolenaar Date: Fri, 6 May 2011 03:44:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221520 - in projects/altix: lib/libstand sys/amd64/conf sys/amd64/pci sys/boot/i386/boot2 sys/boot/ia64/common sys/cam sys/cddl/compat/opensolaris/sys sys/cddl/contrib/opensolaris/uts/... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 03:44:50 -0000 Author: marcel Date: Fri May 6 03:44:49 2011 New Revision: 221520 URL: http://svn.freebsd.org/changeset/base/221520 Log: Merge svn+ssh://svn.freebsd.org/base/head@221517 Added: projects/altix/sys/compat/linux/linux_videodev2.h - copied unchanged from r221517, head/sys/compat/linux/linux_videodev2.h projects/altix/sys/compat/linux/linux_videodev2_compat.h - copied unchanged from r221517, head/sys/compat/linux/linux_videodev2_compat.h projects/altix/sys/sys/_stdint.h - copied unchanged from r221517, head/sys/sys/_stdint.h Modified: projects/altix/lib/libstand/__main.c projects/altix/lib/libstand/bswap.c projects/altix/lib/libstand/cd9660.c projects/altix/lib/libstand/dosfs.c projects/altix/lib/libstand/environment.c projects/altix/lib/libstand/getopt.c projects/altix/lib/libstand/net.c projects/altix/lib/libstand/tftp.c projects/altix/lib/libstand/udp.c projects/altix/sys/amd64/conf/DEFAULTS projects/altix/sys/amd64/conf/GENERIC projects/altix/sys/amd64/pci/pci_bus.c projects/altix/sys/boot/i386/boot2/Makefile projects/altix/sys/boot/ia64/common/exec.c projects/altix/sys/cam/cam_xpt.c projects/altix/sys/cddl/compat/opensolaris/sys/systm.h projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/altix/sys/compat/linux/linux_ioctl.c projects/altix/sys/compat/linux/linux_ioctl.h projects/altix/sys/compat/linux/linux_videodev.h projects/altix/sys/conf/NOTES projects/altix/sys/conf/files projects/altix/sys/conf/kern.mk projects/altix/sys/conf/makeLINT.mk projects/altix/sys/conf/options projects/altix/sys/dev/acpica/acpi_pcib_acpi.c projects/altix/sys/dev/acpica/acpi_pcib_pci.c projects/altix/sys/dev/ae/if_ae.c projects/altix/sys/dev/age/if_age.c projects/altix/sys/dev/ahci/ahci.c projects/altix/sys/dev/alc/if_alc.c projects/altix/sys/dev/ale/if_ale.c projects/altix/sys/dev/ath/ath_hal/ar5416/ar2133.c projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/altix/sys/dev/bce/if_bce.c projects/altix/sys/dev/bfe/if_bfe.c projects/altix/sys/dev/bge/if_bge.c projects/altix/sys/dev/bge/if_bgereg.h projects/altix/sys/dev/bxe/bxe_debug.h projects/altix/sys/dev/bxe/if_bxe.c projects/altix/sys/dev/bxe/if_bxe.h projects/altix/sys/dev/cardbus/cardbus.c projects/altix/sys/dev/coretemp/coretemp.c projects/altix/sys/dev/cxgbe/offload.h projects/altix/sys/dev/cxgbe/t4_ioctl.h projects/altix/sys/dev/cxgbe/t4_main.c projects/altix/sys/dev/cxgbe/t4_sge.c projects/altix/sys/dev/dc/dcphy.c projects/altix/sys/dev/dc/pnphy.c projects/altix/sys/dev/e1000/if_em.c projects/altix/sys/dev/ed/if_ed_pccard.c projects/altix/sys/dev/et/if_et.c projects/altix/sys/dev/fxp/if_fxp.c projects/altix/sys/dev/hme/if_hme.c projects/altix/sys/dev/jme/if_jme.c projects/altix/sys/dev/lge/if_lge.c projects/altix/sys/dev/mii/acphy.c projects/altix/sys/dev/mii/amphy.c projects/altix/sys/dev/mii/atphy.c projects/altix/sys/dev/mii/axphy.c projects/altix/sys/dev/mii/bmtphy.c projects/altix/sys/dev/mii/brgphy.c projects/altix/sys/dev/mii/ciphy.c projects/altix/sys/dev/mii/e1000phy.c projects/altix/sys/dev/mii/exphy.c projects/altix/sys/dev/mii/gentbi.c projects/altix/sys/dev/mii/icsphy.c projects/altix/sys/dev/mii/inphy.c projects/altix/sys/dev/mii/ip1000phy.c projects/altix/sys/dev/mii/jmphy.c projects/altix/sys/dev/mii/lxtphy.c projects/altix/sys/dev/mii/mii.c projects/altix/sys/dev/mii/mii.h projects/altix/sys/dev/mii/mii_physubr.c projects/altix/sys/dev/mii/miidevs projects/altix/sys/dev/mii/miivar.h projects/altix/sys/dev/mii/mlphy.c projects/altix/sys/dev/mii/nsgphy.c projects/altix/sys/dev/mii/nsphy.c projects/altix/sys/dev/mii/nsphyter.c projects/altix/sys/dev/mii/pnaphy.c projects/altix/sys/dev/mii/qsphy.c projects/altix/sys/dev/mii/rdcphy.c projects/altix/sys/dev/mii/rgephy.c projects/altix/sys/dev/mii/rlphy.c projects/altix/sys/dev/mii/rlswitch.c projects/altix/sys/dev/mii/ruephy.c projects/altix/sys/dev/mii/smcphy.c projects/altix/sys/dev/mii/tdkphy.c projects/altix/sys/dev/mii/tlphy.c projects/altix/sys/dev/mii/truephy.c projects/altix/sys/dev/mii/ukphy.c projects/altix/sys/dev/mii/xmphy.c projects/altix/sys/dev/nfe/if_nfe.c projects/altix/sys/dev/nge/if_nge.c projects/altix/sys/dev/nve/if_nve.c projects/altix/sys/dev/pci/pci.c projects/altix/sys/dev/pci/pci_pci.c projects/altix/sys/dev/pci/pcib_private.h projects/altix/sys/dev/pcn/if_pcn.c projects/altix/sys/dev/puc/pucdata.c projects/altix/sys/dev/sf/if_sf.c projects/altix/sys/dev/sge/if_sge.c projects/altix/sys/dev/sis/if_sis.c projects/altix/sys/dev/sound/pcm/dsp.c projects/altix/sys/dev/ste/if_ste.c projects/altix/sys/dev/tx/if_tx.c projects/altix/sys/dev/usb/net/if_aue.c projects/altix/sys/dev/usb/net/if_axe.c projects/altix/sys/dev/usb/net/if_rue.c projects/altix/sys/dev/usb/net/if_udav.c projects/altix/sys/dev/vr/if_vr.c projects/altix/sys/dev/vte/if_vte.c projects/altix/sys/dev/vxge/include/build-version.h projects/altix/sys/dev/vxge/vxge.c projects/altix/sys/dev/vxge/vxge.h projects/altix/sys/dev/wb/if_wb.c projects/altix/sys/dev/wpi/if_wpi.c projects/altix/sys/fs/nfs/nfs_commonport.c projects/altix/sys/fs/nfs/nfsproto.h projects/altix/sys/fs/nfsclient/nfs_clport.c projects/altix/sys/fs/nfsclient/nfs_clsubs.c projects/altix/sys/fs/nfsclient/nfs_clvfsops.c projects/altix/sys/fs/nfsclient/nfs_clvnops.c projects/altix/sys/fs/nfsserver/nfs_nfsdport.c projects/altix/sys/geom/cache/g_cache.c projects/altix/sys/geom/concat/g_concat.c projects/altix/sys/geom/eli/g_eli.c projects/altix/sys/geom/geom_dev.c projects/altix/sys/geom/geom_map.c projects/altix/sys/geom/journal/g_journal.c projects/altix/sys/geom/label/g_label.c projects/altix/sys/geom/mountver/g_mountver.c projects/altix/sys/geom/multipath/g_multipath.c projects/altix/sys/geom/sched/g_sched.c projects/altix/sys/geom/shsec/g_shsec.c projects/altix/sys/geom/stripe/g_stripe.c projects/altix/sys/i386/conf/DEFAULTS projects/altix/sys/i386/conf/GENERIC projects/altix/sys/i386/conf/PAE projects/altix/sys/i386/pci/pci_bus.c projects/altix/sys/ia64/include/vmparam.h projects/altix/sys/kern/kern_conf.c projects/altix/sys/kern/kern_jail.c projects/altix/sys/kern/kern_racct.c projects/altix/sys/kern/kern_rctl.c projects/altix/sys/mips/atheros/ar724x_pci.c projects/altix/sys/mips/atheros/if_arge.c projects/altix/sys/mips/cavium/octe/octe.c projects/altix/sys/mips/conf/PB92 projects/altix/sys/mips/conf/PB92.hints projects/altix/sys/mips/idt/if_kr.c projects/altix/sys/modules/cxgbe/if_cxgbe/Makefile projects/altix/sys/modules/mii/Makefile projects/altix/sys/net80211/ieee80211_adhoc.c projects/altix/sys/net80211/ieee80211_hostap.c projects/altix/sys/net80211/ieee80211_input.h projects/altix/sys/net80211/ieee80211_mesh.c projects/altix/sys/net80211/ieee80211_sta.c projects/altix/sys/net80211/ieee80211_wds.c projects/altix/sys/netinet/sctp.h projects/altix/sys/netinet/sctp_asconf.c projects/altix/sys/netinet/sctp_auth.c projects/altix/sys/netinet/sctp_cc_functions.c projects/altix/sys/netinet/sctp_sysctl.h projects/altix/sys/netinet/sctp_usrreq.c projects/altix/sys/netinet/sctputil.c projects/altix/sys/netinet/sctputil.h projects/altix/sys/netinet/tcp_input.c projects/altix/sys/netinet/tcp_output.c projects/altix/sys/netinet/tcp_timewait.c projects/altix/sys/netinet6/sctp6_usrreq.c projects/altix/sys/nfs/nfs_diskless.c projects/altix/sys/nfs/nfs_nfssvc.c projects/altix/sys/nfs/nfssvc.h projects/altix/sys/nfsclient/nfs_vfsops.c projects/altix/sys/nfsclient/nfs_vnops.c projects/altix/sys/nfsclient/nfsargs.h projects/altix/sys/sparc64/pci/apb.c projects/altix/sys/sparc64/pci/ofw_pcib.c projects/altix/sys/sys/conf.h projects/altix/sys/sys/jail.h projects/altix/sys/sys/rctl.h projects/altix/sys/sys/stddef.h projects/altix/sys/sys/stdint.h projects/altix/sys/sys/types.h projects/altix/sys/ufs/ffs/ffs_vnops.c projects/altix/sys/x86/pci/qpi.c projects/altix/sys/x86/x86/local_apic.c projects/altix/sys/x86/x86/mptable_pci.c projects/altix/sys/x86/x86/nexus.c projects/altix/sys/x86/x86/tsc.c Directory Properties: projects/altix/lib/libstand/ (props changed) projects/altix/sys/ (props changed) projects/altix/sys/amd64/include/xen/ (props changed) projects/altix/sys/boot/i386/efi/ (props changed) projects/altix/sys/boot/ia64/efi/ (props changed) projects/altix/sys/boot/ia64/ski/ (props changed) projects/altix/sys/boot/powerpc/boot1.chrp/ (props changed) projects/altix/sys/boot/powerpc/ofw/ (props changed) projects/altix/sys/cddl/contrib/opensolaris/ (props changed) projects/altix/sys/conf/ (props changed) projects/altix/sys/contrib/dev/acpica/ (props changed) projects/altix/sys/contrib/octeon-sdk/ (props changed) projects/altix/sys/contrib/pf/ (props changed) projects/altix/sys/contrib/x86emu/ (props changed) projects/altix/sys/kern/subr_busdma.c (props changed) Modified: projects/altix/lib/libstand/__main.c ============================================================================== --- projects/altix/lib/libstand/__main.c Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/lib/libstand/__main.c Fri May 6 03:44:49 2011 (r221520) @@ -38,6 +38,6 @@ __FBSDID("$FreeBSD$"); void __main(void); void -__main() +__main(void) { } Modified: projects/altix/lib/libstand/bswap.c ============================================================================== --- projects/altix/lib/libstand/bswap.c Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/lib/libstand/bswap.c Fri May 6 03:44:49 2011 (r221520) @@ -16,9 +16,11 @@ static char *rcsid = "$NetBSD: bswap64.c #undef bswap32 #undef bswap64 +u_int32_t bswap32(u_int32_t x); +u_int64_t bswap64(u_int64_t x); + u_int32_t -bswap32(x) - u_int32_t x; +bswap32(u_int32_t x) { return ((x << 24) & 0xff000000 ) | ((x << 8) & 0x00ff0000 ) | @@ -27,8 +29,7 @@ bswap32(x) } u_int64_t -bswap64(x) - u_int64_t x; +bswap64(u_int64_t x) { u_int32_t *p = (u_int32_t*)&x; u_int32_t t; Modified: projects/altix/lib/libstand/cd9660.c ============================================================================== --- projects/altix/lib/libstand/cd9660.c Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/lib/libstand/cd9660.c Fri May 6 03:44:49 2011 (r221520) @@ -545,7 +545,7 @@ again: } static int -cd9660_write(struct open_file *f, void *start, size_t size, size_t *resid) +cd9660_write(struct open_file *f __unused, void *start __unused, size_t size __unused, size_t *resid __unused) { return EROFS; } Modified: projects/altix/lib/libstand/dosfs.c ============================================================================== --- projects/altix/lib/libstand/dosfs.c Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/lib/libstand/dosfs.c Fri May 6 03:44:49 2011 (r221520) @@ -358,7 +358,7 @@ dos_stat(struct open_file *fd, struct st static int dos_readdir(struct open_file *fd, struct dirent *d) { - DOS_FILE *f = (DOS_FILE *)fd->f_fsdata; + /* DOS_FILE *f = (DOS_FILE *)fd->f_fsdata; */ u_char fn[261]; DOS_DIR dd; size_t res; @@ -414,7 +414,7 @@ dos_readdir(struct open_file *fd, struct } } - d->d_fileno = dd.de.clus[1] << 8 + dd.de.clus[0]; + d->d_fileno = (dd.de.clus[1] << 8) + dd.de.clus[0]; d->d_reclen = sizeof(*d); d->d_type = (dd.de.attr & FA_DIR) ? DT_DIR : DT_REG; memcpy(d->d_name, fn, sizeof(d->d_name)); Modified: projects/altix/lib/libstand/environment.c ============================================================================== --- projects/altix/lib/libstand/environment.c Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/lib/libstand/environment.c Fri May 6 03:44:49 2011 (r221520) @@ -207,13 +207,14 @@ env_discard(struct env_var *ev) } int -env_noset(struct env_var *ev, int flags, const void *value) +env_noset(struct env_var *ev __unused, int flags __unused, + const void *value __unused) { return(EPERM); } int -env_nounset(struct env_var *ev) +env_nounset(struct env_var *ev __unused) { return(EPERM); } Modified: projects/altix/lib/libstand/getopt.c ============================================================================== --- projects/altix/lib/libstand/getopt.c Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/lib/libstand/getopt.c Fri May 6 03:44:49 2011 (r221520) @@ -52,10 +52,7 @@ char *optarg; /* argument associated wi * Parse argc/argv argument vector. */ int -getopt(nargc, nargv, ostr) - int nargc; - char * const *nargv; - const char *ostr; +getopt(int nargc, char * const *nargv, const char *ostr) { static char *place = EMSG; /* option letter processing */ char *oli; /* option letter list index */ Modified: projects/altix/lib/libstand/net.c ============================================================================== --- projects/altix/lib/libstand/net.c Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/lib/libstand/net.c Fri May 6 03:44:49 2011 (r221520) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include Modified: projects/altix/lib/libstand/tftp.c ============================================================================== --- projects/altix/lib/libstand/tftp.c Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/lib/libstand/tftp.c Fri May 6 03:44:49 2011 (r221520) @@ -110,11 +110,7 @@ static const int tftperrors[8] = { }; static ssize_t -recvtftp(d, pkt, len, tleft) - struct iodesc *d; - void *pkt; - ssize_t len; - time_t tleft; +recvtftp(struct iodesc *d, void *pkt, ssize_t len, time_t tleft) { struct tftphdr *t; @@ -152,14 +148,14 @@ recvtftp(d, pkt, len, tleft) printf("illegal tftp error %d\n", ntohs(t->th_code)); errno = EIO; } else { -#ifdef DEBUG +#ifdef TFTP_DEBUG printf("tftp-error %d\n", ntohs(t->th_code)); #endif errno = tftperrors[ntohs(t->th_code)]; } return (-1); default: -#ifdef DEBUG +#ifdef TFTP_DEBUG printf("tftp type %d not handled\n", ntohs(t->th_opcode)); #endif return (-1); @@ -168,8 +164,7 @@ recvtftp(d, pkt, len, tleft) /* send request, expect first block (or error) */ static int -tftp_makereq(h) - struct tftp_handle *h; +tftp_makereq(struct tftp_handle *h) { struct { u_char header[HEADER_SIZE]; @@ -212,8 +207,7 @@ tftp_makereq(h) /* ack block, expect next */ static int -tftp_getnextblock(h) - struct tftp_handle *h; +tftp_getnextblock(struct tftp_handle *h) { struct { u_char header[HEADER_SIZE]; @@ -246,9 +240,7 @@ tftp_getnextblock(h) } static int -tftp_open(path, f) - const char *path; - struct open_file *f; +tftp_open(const char *path, struct open_file *f) { struct tftp_handle *tftpfile; struct iodesc *io; @@ -287,11 +279,8 @@ tftp_open(path, f) } static int -tftp_read(f, addr, size, resid) - struct open_file *f; - void *addr; - size_t size; - size_t *resid; /* out */ +tftp_read(struct open_file *f, void *addr, size_t size, + size_t *resid /* out */) { struct tftp_handle *tftpfile; static int tc = 0; @@ -314,7 +303,7 @@ tftp_read(f, addr, size, resid) res = tftp_getnextblock(tftpfile); if (res) { /* no answer */ -#ifdef DEBUG +#ifdef TFTP_DEBUG printf("tftp: read error\n"); #endif return (res); @@ -330,7 +319,7 @@ tftp_read(f, addr, size, resid) inbuffer = tftpfile->validsize - offinblock; if (inbuffer < 0) { -#ifdef DEBUG +#ifdef TFTP_DEBUG printf("tftp: invalid offset %d\n", tftpfile->off); #endif @@ -347,7 +336,7 @@ tftp_read(f, addr, size, resid) if ((tftpfile->islastblock) && (count == inbuffer)) break; /* EOF */ } else { -#ifdef DEBUG +#ifdef TFTP_DEBUG printf("tftp: block %d not found\n", needblock); #endif return (EINVAL); @@ -361,8 +350,7 @@ tftp_read(f, addr, size, resid) } static int -tftp_close(f) - struct open_file *f; +tftp_close(struct open_file *f) { struct tftp_handle *tftpfile; tftpfile = (struct tftp_handle *) f->f_fsdata; @@ -377,19 +365,14 @@ tftp_close(f) } static int -tftp_write(f, start, size, resid) - struct open_file *f; - void *start; - size_t size; - size_t *resid; /* out */ +tftp_write(struct open_file *f __unused, void *start __unused, size_t size __unused, + size_t *resid /* out */ __unused) { return (EROFS); } static int -tftp_stat(f, sb) - struct open_file *f; - struct stat *sb; +tftp_stat(struct open_file *f, struct stat *sb) { struct tftp_handle *tftpfile; tftpfile = (struct tftp_handle *) f->f_fsdata; @@ -403,10 +386,7 @@ tftp_stat(f, sb) } static off_t -tftp_seek(f, offset, where) - struct open_file *f; - off_t offset; - int where; +tftp_seek(struct open_file *f, off_t offset, int where) { struct tftp_handle *tftpfile; tftpfile = (struct tftp_handle *) f->f_fsdata; Modified: projects/altix/lib/libstand/udp.c ============================================================================== --- projects/altix/lib/libstand/udp.c Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/lib/libstand/udp.c Fri May 6 03:44:49 2011 (r221520) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include Modified: projects/altix/sys/amd64/conf/DEFAULTS ============================================================================== --- projects/altix/sys/amd64/conf/DEFAULTS Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/sys/amd64/conf/DEFAULTS Fri May 6 03:44:49 2011 (r221520) @@ -20,3 +20,5 @@ options GEOM_PART_BSD options GEOM_PART_EBR options GEOM_PART_EBR_COMPAT options GEOM_PART_MBR + +options NEW_PCIB Modified: projects/altix/sys/amd64/conf/GENERIC ============================================================================== --- projects/altix/sys/amd64/conf/GENERIC Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/sys/amd64/conf/GENERIC Fri May 6 03:44:49 2011 (r221520) @@ -261,8 +261,16 @@ device ath_pci # Atheros pci/cardbus g device ath_hal # pci/cardbus chip support options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath +#device bwi # Broadcom BCM430x/BCM431x wireless NICs. +#device bwn # Broadcom BCM43xx wireless NICs. +device ipw # Intel 2100 wireless NICs. +device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. +device iwn # Intel 4965/1000/5000/6000 wireless NICs. +device malo # Marvell Libertas wireless NICs. +device mwl # Marvell 88W8363 802.11n wireless NICs. device ral # Ralink Technology RT2500 wireless NICs. device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. +device wpi # Intel 3945ABG wireless NICs. # Pseudo devices. device loop # Network loopback @@ -314,7 +322,9 @@ device rue # RealTek RTL8150 USB Ether device udav # Davicom DM9601E USB # USB Wireless device rum # Ralink Technology RT2501USB wireless NICs +device run # Ralink Technology RT2700/RT2800/RT3000 NICs. device uath # Atheros AR5523 wireless NICs +device upgt # Conexant/Intersil PrismGT wireless NICs. device ural # Ralink Technology RT2500USB wireless NICs device urtw # Realtek RTL8187B/L wireless NICs device zyd # ZyDAS zb1211/zb1211b wireless NICs Modified: projects/altix/sys/amd64/pci/pci_bus.c ============================================================================== --- projects/altix/sys/amd64/pci/pci_bus.c Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/sys/amd64/pci/pci_bus.c Fri May 6 03:44:49 2011 (r221520) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -348,6 +349,7 @@ static device_method_t legacy_pcib_metho DEVMETHOD(bus_read_ivar, legacy_pcib_read_ivar), DEVMETHOD(bus_write_ivar, legacy_pcib_write_ivar), DEVMETHOD(bus_alloc_resource, legacy_pcib_alloc_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), Modified: projects/altix/sys/boot/i386/boot2/Makefile ============================================================================== --- projects/altix/sys/boot/i386/boot2/Makefile Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/sys/boot/i386/boot2/Makefile Fri May 6 03:44:49 2011 (r221520) @@ -2,9 +2,6 @@ .include -# XXX: clang can compile the boot code just fine, but boot2 gets too big -CC:=${CC:C/^(.*\/)?clang$/gcc/1} - FILES= boot boot1 boot2 NM?= nm @@ -45,6 +42,13 @@ CFLAGS= -Os \ -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \ -Winline --param max-inline-insns-single=100 +.if ${CC:T:Mclang} == "clang" +CFLAGS+= -mllvm -stack-alignment=8 -mllvm -inline-threshold=3 \ + -mllvm -enable-load-pre=false +# XXX: clang integrated-as doesn't grok .codeNN directives yet +CFLAGS+= ${.IMPSRC:T:Mboot1.S:C/^.+$/-no-integrated-as/} +.endif + LDFLAGS=-static -N --gc-sections # Pick up ../Makefile.inc early. Modified: projects/altix/sys/boot/ia64/common/exec.c ============================================================================== --- projects/altix/sys/boot/ia64/common/exec.c Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/sys/boot/ia64/common/exec.c Fri May 6 03:44:49 2011 (r221520) @@ -76,7 +76,7 @@ sz2shft(vm_offset_t ofs, vm_size_t sz) shft = 12; /* Start with 4K */ s = 1 << shft; - while (s < sz) { + while (s <= sz) { shft++; s <<= 1; } Modified: projects/altix/sys/cam/cam_xpt.c ============================================================================== --- projects/altix/sys/cam/cam_xpt.c Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/sys/cam/cam_xpt.c Fri May 6 03:44:49 2011 (r221520) @@ -3600,9 +3600,12 @@ xpt_path_legacy_ata_id(struct cam_path * } xpt_unlock_buses(); } - if (path->target != NULL) - return (bus_id * 2 + path->target->target_id); - else + if (path->target != NULL) { + if (path->target->target_id < 2) + return (bus_id * 2 + path->target->target_id); + else + return (-1); + } else return (bus_id * 2); } Modified: projects/altix/sys/cddl/compat/opensolaris/sys/systm.h ============================================================================== --- projects/altix/sys/cddl/compat/opensolaris/sys/systm.h Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/sys/cddl/compat/opensolaris/sys/systm.h Fri May 6 03:44:49 2011 (r221520) @@ -42,9 +42,6 @@ #define delay(x) pause("soldelay", (x)) -#define xcopyin(u, k, s) copyin(u, k, s) -#define xcopyout(k, u, s) copyout(k, u, s) - #endif /* _KERNEL */ #endif /* _OPENSOLARIS_SYS_SYSTM_H_ */ Modified: projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Fri May 6 03:44:49 2011 (r221520) @@ -4068,9 +4068,9 @@ zfs_ioc_userspace_many(zfs_cmd_t *zc) buf, &zc->zc_nvlist_dst_size); if (error == 0) { - error = xcopyout(buf, + error = ddi_copyout(buf, (void *)(uintptr_t)zc->zc_nvlist_dst, - zc->zc_nvlist_dst_size); + zc->zc_nvlist_dst_size, zc->zc_iflags); } kmem_free(buf, bufsize); zfsvfs_rele(zfsvfs, FTAG); Modified: projects/altix/sys/compat/linux/linux_ioctl.c ============================================================================== --- projects/altix/sys/compat/linux/linux_ioctl.c Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/sys/compat/linux/linux_ioctl.c Fri May 6 03:44:49 2011 (r221520) @@ -57,8 +57,12 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include +#include +#include +#include #include #include @@ -83,8 +87,14 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include + CTASSERT(LINUX_IFNAMSIZ == IFNAMSIZ); +FEATURE(linuxulator_v4l, "V4L ioctl wrapper support in the linuxulator"); +FEATURE(linuxulator_v4l2, "V4L2 ioctl wrapper support in the linuxulator"); + static linux_ioctl_function_t linux_ioctl_cdrom; static linux_ioctl_function_t linux_ioctl_vfat; static linux_ioctl_function_t linux_ioctl_console; @@ -97,6 +107,7 @@ static linux_ioctl_function_t linux_ioct static linux_ioctl_function_t linux_ioctl_drm; static linux_ioctl_function_t linux_ioctl_sg; static linux_ioctl_function_t linux_ioctl_v4l; +static linux_ioctl_function_t linux_ioctl_v4l2; static linux_ioctl_function_t linux_ioctl_special; static linux_ioctl_function_t linux_ioctl_fbsd_usb; @@ -124,6 +135,8 @@ static struct linux_ioctl_handler sg_han { linux_ioctl_sg, LINUX_IOCTL_SG_MIN, LINUX_IOCTL_SG_MAX }; static struct linux_ioctl_handler video_handler = { linux_ioctl_v4l, LINUX_IOCTL_VIDEO_MIN, LINUX_IOCTL_VIDEO_MAX }; +static struct linux_ioctl_handler video2_handler = +{ linux_ioctl_v4l2, LINUX_IOCTL_VIDEO2_MIN, LINUX_IOCTL_VIDEO2_MAX }; static struct linux_ioctl_handler fbsd_usb = { linux_ioctl_fbsd_usb, FBSD_LUSB_MIN, FBSD_LUSB_MAX }; @@ -139,6 +152,7 @@ DATA_SET(linux_ioctl_handler_set, privat DATA_SET(linux_ioctl_handler_set, drm_handler); DATA_SET(linux_ioctl_handler_set, sg_handler); DATA_SET(linux_ioctl_handler_set, video_handler); +DATA_SET(linux_ioctl_handler_set, video2_handler); DATA_SET(linux_ioctl_handler_set, fbsd_usb); struct handler_element @@ -2988,6 +3002,302 @@ linux_ioctl_special(struct thread *td, s return (error); } +static int +linux_to_bsd_v4l2_standard(struct l_v4l2_standard *lvstd, struct v4l2_standard *vstd) +{ + vstd->index = lvstd->index; + vstd->id = lvstd->id; + memcpy(&vstd->name, &lvstd->name, sizeof(*lvstd) - offsetof(struct l_v4l2_standard, name)); + return (0); +} + +static int +bsd_to_linux_v4l2_standard(struct v4l2_standard *vstd, struct l_v4l2_standard *lvstd) +{ + lvstd->index = vstd->index; + lvstd->id = vstd->id; + memcpy(&lvstd->name, &vstd->name, sizeof(*lvstd) - offsetof(struct l_v4l2_standard, name)); + return (0); +} + +static int +linux_to_bsd_v4l2_buffer(struct l_v4l2_buffer *lvb, struct v4l2_buffer *vb) +{ + vb->index = lvb->index; + vb->type = lvb->type; + vb->bytesused = lvb->bytesused; + vb->flags = lvb->flags; + vb->field = lvb->field; + vb->timestamp.tv_sec = lvb->timestamp.tv_sec; + vb->timestamp.tv_usec = lvb->timestamp.tv_usec; + memcpy(&vb->timecode, &lvb->timecode, sizeof (lvb->timecode)); + vb->sequence = lvb->sequence; + vb->memory = lvb->memory; + if (lvb->memory == V4L2_MEMORY_USERPTR) + /* possible pointer size conversion */ + vb->m.userptr = (unsigned long)PTRIN(lvb->m.userptr); + else + vb->m.offset = lvb->m.offset; + vb->length = lvb->length; + vb->input = lvb->input; + vb->reserved = lvb->reserved; + return (0); +} + +static int +bsd_to_linux_v4l2_buffer(struct v4l2_buffer *vb, struct l_v4l2_buffer *lvb) +{ + lvb->index = vb->index; + lvb->type = vb->type; + lvb->bytesused = vb->bytesused; + lvb->flags = vb->flags; + lvb->field = vb->field; + lvb->timestamp.tv_sec = vb->timestamp.tv_sec; + lvb->timestamp.tv_usec = vb->timestamp.tv_usec; + memcpy(&lvb->timecode, &vb->timecode, sizeof (vb->timecode)); + lvb->sequence = vb->sequence; + lvb->memory = vb->memory; + if (vb->memory == V4L2_MEMORY_USERPTR) + /* possible pointer size conversion */ + lvb->m.userptr = PTROUT(vb->m.userptr); + else + lvb->m.offset = vb->m.offset; + lvb->length = vb->length; + lvb->input = vb->input; + lvb->reserved = vb->reserved; + return (0); +} + +static int +linux_to_bsd_v4l2_format(struct l_v4l2_format *lvf, struct v4l2_format *vf) +{ + vf->type = lvf->type; + if (lvf->type == V4L2_BUF_TYPE_VIDEO_OVERLAY +#ifdef V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY + || lvf->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY +#endif + ) + /* + * XXX TODO - needs 32 -> 64 bit conversion: + * (unused by webcams?) + */ + return EINVAL; + memcpy(&vf->fmt, &lvf->fmt, sizeof(vf->fmt)); + return 0; +} + +static int +bsd_to_linux_v4l2_format(struct v4l2_format *vf, struct l_v4l2_format *lvf) +{ + lvf->type = vf->type; + if (vf->type == V4L2_BUF_TYPE_VIDEO_OVERLAY +#ifdef V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY + || vf->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY +#endif + ) + /* + * XXX TODO - needs 32 -> 64 bit conversion: + * (unused by webcams?) + */ + return EINVAL; + memcpy(&lvf->fmt, &vf->fmt, sizeof(vf->fmt)); + return 0; +} +static int +linux_ioctl_v4l2(struct thread *td, struct linux_ioctl_args *args) +{ + struct file *fp; + int error; + struct v4l2_format vformat; + struct l_v4l2_format l_vformat; + struct v4l2_standard vstd; + struct l_v4l2_standard l_vstd; + struct l_v4l2_buffer l_vbuf; + struct v4l2_buffer vbuf; + struct v4l2_input vinp; + + switch (args->cmd & 0xffff) { + case LINUX_VIDIOC_RESERVED: + case LINUX_VIDIOC_LOG_STATUS: + if ((args->cmd & IOC_DIRMASK) != LINUX_IOC_VOID) + return ENOIOCTL; + args->cmd = (args->cmd & 0xffff) | IOC_VOID; + break; + + case LINUX_VIDIOC_OVERLAY: + case LINUX_VIDIOC_STREAMON: + case LINUX_VIDIOC_STREAMOFF: + case LINUX_VIDIOC_S_STD: + case LINUX_VIDIOC_S_TUNER: + case LINUX_VIDIOC_S_AUDIO: + case LINUX_VIDIOC_S_AUDOUT: + case LINUX_VIDIOC_S_MODULATOR: + case LINUX_VIDIOC_S_FREQUENCY: + case LINUX_VIDIOC_S_CROP: + case LINUX_VIDIOC_S_JPEGCOMP: + case LINUX_VIDIOC_S_PRIORITY: + case LINUX_VIDIOC_DBG_S_REGISTER: + case LINUX_VIDIOC_S_HW_FREQ_SEEK: + case LINUX_VIDIOC_SUBSCRIBE_EVENT: + case LINUX_VIDIOC_UNSUBSCRIBE_EVENT: + args->cmd = (args->cmd & ~IOC_DIRMASK) | IOC_IN; + break; + + case LINUX_VIDIOC_QUERYCAP: + case LINUX_VIDIOC_G_STD: + case LINUX_VIDIOC_G_AUDIO: + case LINUX_VIDIOC_G_INPUT: + case LINUX_VIDIOC_G_OUTPUT: + case LINUX_VIDIOC_G_AUDOUT: + case LINUX_VIDIOC_G_JPEGCOMP: + case LINUX_VIDIOC_QUERYSTD: + case LINUX_VIDIOC_G_PRIORITY: + case LINUX_VIDIOC_QUERY_DV_PRESET: + args->cmd = (args->cmd & ~IOC_DIRMASK) | IOC_OUT; + break; + + case LINUX_VIDIOC_ENUM_FMT: + case LINUX_VIDIOC_REQBUFS: + case LINUX_VIDIOC_G_PARM: + case LINUX_VIDIOC_S_PARM: + case LINUX_VIDIOC_G_CTRL: + case LINUX_VIDIOC_S_CTRL: + case LINUX_VIDIOC_G_TUNER: + case LINUX_VIDIOC_QUERYCTRL: + case LINUX_VIDIOC_QUERYMENU: + case LINUX_VIDIOC_S_INPUT: + case LINUX_VIDIOC_S_OUTPUT: + case LINUX_VIDIOC_ENUMOUTPUT: + case LINUX_VIDIOC_G_MODULATOR: + case LINUX_VIDIOC_G_FREQUENCY: + case LINUX_VIDIOC_CROPCAP: + case LINUX_VIDIOC_G_CROP: + case LINUX_VIDIOC_ENUMAUDIO: + case LINUX_VIDIOC_ENUMAUDOUT: + case LINUX_VIDIOC_G_SLICED_VBI_CAP: +#ifdef VIDIOC_ENUM_FRAMESIZES + case LINUX_VIDIOC_ENUM_FRAMESIZES: + case LINUX_VIDIOC_ENUM_FRAMEINTERVALS: + case LINUX_VIDIOC_ENCODER_CMD: + case LINUX_VIDIOC_TRY_ENCODER_CMD: +#endif + case LINUX_VIDIOC_DBG_G_REGISTER: + case LINUX_VIDIOC_DBG_G_CHIP_IDENT: + case LINUX_VIDIOC_ENUM_DV_PRESETS: + case LINUX_VIDIOC_S_DV_PRESET: + case LINUX_VIDIOC_G_DV_PRESET: + case LINUX_VIDIOC_S_DV_TIMINGS: + case LINUX_VIDIOC_G_DV_TIMINGS: + args->cmd = (args->cmd & ~IOC_DIRMASK) | IOC_INOUT; + break; + + case LINUX_VIDIOC_G_FMT: + case LINUX_VIDIOC_S_FMT: + case LINUX_VIDIOC_TRY_FMT: + error = copyin((void *)args->arg, &l_vformat, sizeof(l_vformat)); + if (error) + return (error); + if ((error = fget(td, args->fd, &fp)) != 0) + return (error); + if (linux_to_bsd_v4l2_format(&l_vformat, &vformat) != 0) + error = EINVAL; + else if ((args->cmd & 0xffff) == LINUX_VIDIOC_G_FMT) + error = fo_ioctl(fp, VIDIOC_G_FMT, &vformat, + td->td_ucred, td); + else if ((args->cmd & 0xffff) == LINUX_VIDIOC_S_FMT) + error = fo_ioctl(fp, VIDIOC_S_FMT, &vformat, + td->td_ucred, td); + else + error = fo_ioctl(fp, VIDIOC_TRY_FMT, &vformat, + td->td_ucred, td); + bsd_to_linux_v4l2_format(&vformat, &l_vformat); + copyout(&l_vformat, (void *)args->arg, sizeof(l_vformat)); + fdrop(fp, td); + return (error); + + case LINUX_VIDIOC_ENUMSTD: + error = copyin((void *)args->arg, &l_vstd, sizeof(l_vstd)); + if (error) + return (error); + linux_to_bsd_v4l2_standard(&l_vstd, &vstd); + if ((error = fget(td, args->fd, &fp)) != 0) + return (error); + error = fo_ioctl(fp, VIDIOC_ENUMSTD, (caddr_t)&vstd, + td->td_ucred, td); + if (error) { + fdrop(fp, td); + return (error); + } + bsd_to_linux_v4l2_standard(&vstd, &l_vstd); + error = copyout(&l_vstd, (void *)args->arg, sizeof(l_vstd)); + fdrop(fp, td); + return (error); + + case LINUX_VIDIOC_ENUMINPUT: + /* + * The Linux struct l_v4l2_input differs only in size, + * it has no padding at the end. + */ + error = copyin((void *)args->arg, &vinp, + sizeof(struct l_v4l2_input)); + if (error != 0) + return (error); + if ((error = fget(td, args->fd, &fp)) != 0) + return (error); + error = fo_ioctl(fp, VIDIOC_ENUMINPUT, (caddr_t)&vinp, + td->td_ucred, td); + if (error) { + fdrop(fp, td); + return (error); + } + error = copyout(&vinp, (void *)args->arg, + sizeof(struct l_v4l2_input)); + fdrop(fp, td); + return (error); + + case LINUX_VIDIOC_QUERYBUF: + case LINUX_VIDIOC_QBUF: + case LINUX_VIDIOC_DQBUF: + error = copyin((void *)args->arg, &l_vbuf, sizeof(l_vbuf)); + if (error) + return (error); + if ((error = fget(td, args->fd, &fp)) != 0) + return (error); + linux_to_bsd_v4l2_buffer(&l_vbuf, &vbuf); + if ((args->cmd & 0xffff) == LINUX_VIDIOC_QUERYBUF) + error = fo_ioctl(fp, VIDIOC_QUERYBUF, &vbuf, + td->td_ucred, td); + else if ((args->cmd & 0xffff) == LINUX_VIDIOC_QBUF) + error = fo_ioctl(fp, VIDIOC_QBUF, &vbuf, + td->td_ucred, td); + else + error = fo_ioctl(fp, VIDIOC_DQBUF, &vbuf, + td->td_ucred, td); + bsd_to_linux_v4l2_buffer(&vbuf, &l_vbuf); + copyout(&l_vbuf, (void *)args->arg, sizeof(l_vbuf)); + fdrop(fp, td); + return (error); + + /* + * XXX TODO - these need 32 -> 64 bit conversion: + * (are any of them needed for webcams?) + */ + case LINUX_VIDIOC_G_FBUF: + case LINUX_VIDIOC_S_FBUF: + + case LINUX_VIDIOC_G_EXT_CTRLS: + case LINUX_VIDIOC_S_EXT_CTRLS: + case LINUX_VIDIOC_TRY_EXT_CTRLS: + + case LINUX_VIDIOC_DQEVENT: + + default: return (ENOIOCTL); + } + + error = ioctl(td, (struct ioctl_args *)args); + return (error); +} + /* * Support for emulators/linux-libusb. This port uses FBSD_LUSB* macros * instead of USB* ones. This lets us to provide correct values for cmd. Modified: projects/altix/sys/compat/linux/linux_ioctl.h ============================================================================== --- projects/altix/sys/compat/linux/linux_ioctl.h Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/sys/compat/linux/linux_ioctl.h Fri May 6 03:44:49 2011 (r221520) @@ -32,6 +32,17 @@ #define _LINUX_IOCTL_H_ /* + * ioctl + * + * XXX comments in Linux' indicate these + * could be arch-dependant... + */ +#define LINUX_IOC_VOID 0 +#define LINUX_IOC_IN 0x40000000 +#define LINUX_IOC_OUT 0x80000000 +#define LINUX_IOC_INOUT (LINUX_IOC_IN|LINUX_IOC_OUT) + +/* * disk */ #define LINUX_BLKROSET 0x125d @@ -612,6 +623,92 @@ int linux_ifname(struct ifnet *, char #define LINUX_IOCTL_VIDEO_MIN LINUX_VIDIOCGCAP #define LINUX_IOCTL_VIDEO_MAX LINUX_VIDIOCSVBIFMT +/* videodev2 aka V4L2 */ + +#define LINUX_VIDIOC_QUERYCAP 0x5600 /* 0x80685600 */ +#define LINUX_VIDIOC_RESERVED 0x5601 /* 0x00005601 */ +#define LINUX_VIDIOC_ENUM_FMT 0x5602 /* 0xc0405602 */ +#define LINUX_VIDIOC_G_FMT 0x5604 /* 0xc0cc5604 */ +#define LINUX_VIDIOC_S_FMT 0x5605 /* 0xc0cc5605 */ +#define LINUX_VIDIOC_REQBUFS 0x5608 /* 0xc0145608 */ +#define LINUX_VIDIOC_QUERYBUF 0x5609 /* 0xc0445609 */ +#define LINUX_VIDIOC_G_FBUF 0x560a /* 0x802c560a */ +#define LINUX_VIDIOC_S_FBUF 0x560b /* 0x402c560b */ +#define LINUX_VIDIOC_OVERLAY 0x560e /* 0x4004560e */ +#define LINUX_VIDIOC_QBUF 0x560f /* 0xc044560f */ +#define LINUX_VIDIOC_DQBUF 0x5611 /* 0xc0445611 */ +#define LINUX_VIDIOC_STREAMON 0x5612 /* 0x40045612 */ +#define LINUX_VIDIOC_STREAMOFF 0x5613 /* 0x40045613 */ +#define LINUX_VIDIOC_G_PARM 0x5615 /* 0xc0cc5615 */ +#define LINUX_VIDIOC_S_PARM 0x5616 /* 0xc0cc5616 */ +#define LINUX_VIDIOC_G_STD 0x5617 /* 0x80085617 */ +#define LINUX_VIDIOC_S_STD 0x5618 /* 0x40085618 */ +#define LINUX_VIDIOC_ENUMSTD 0x5619 /* 0xc0405619 */ +#define LINUX_VIDIOC_ENUMINPUT 0x561a /* 0xc04c561a */ +#define LINUX_VIDIOC_G_CTRL 0x561b /* 0xc008561b */ +#define LINUX_VIDIOC_S_CTRL 0x561c /* 0xc008561c */ +#define LINUX_VIDIOC_G_TUNER 0x561d /* 0xc054561d */ +#define LINUX_VIDIOC_S_TUNER 0x561e /* 0x4054561e */ +#define LINUX_VIDIOC_G_AUDIO 0x5621 /* 0x80345621 */ +#define LINUX_VIDIOC_S_AUDIO 0x5622 /* 0x40345622 */ +#define LINUX_VIDIOC_QUERYCTRL 0x5624 /* 0xc0445624 */ +#define LINUX_VIDIOC_QUERYMENU 0x5625 /* 0xc02c5625 */ +#define LINUX_VIDIOC_G_INPUT 0x5626 /* 0x80045626 */ +#define LINUX_VIDIOC_S_INPUT 0x5627 /* 0xc0045627 */ +#define LINUX_VIDIOC_G_OUTPUT 0x562e /* 0x8004562e */ +#define LINUX_VIDIOC_S_OUTPUT 0x562f /* 0xc004562f */ +#define LINUX_VIDIOC_ENUMOUTPUT 0x5630 /* 0xc0485630 */ +#define LINUX_VIDIOC_G_AUDOUT 0x5631 /* 0x80345631 */ +#define LINUX_VIDIOC_S_AUDOUT 0x5632 /* 0x40345632 */ +#define LINUX_VIDIOC_G_MODULATOR 0x5636 /* 0xc0445636 */ +#define LINUX_VIDIOC_S_MODULATOR 0x5637 /* 0x40445637 */ +#define LINUX_VIDIOC_G_FREQUENCY 0x5638 /* 0xc02c5638 */ +#define LINUX_VIDIOC_S_FREQUENCY 0x5639 /* 0x402c5639 */ +#define LINUX_VIDIOC_CROPCAP 0x563a /* 0xc02c563a */ +#define LINUX_VIDIOC_G_CROP 0x563b /* 0xc014563b */ +#define LINUX_VIDIOC_S_CROP 0x563c /* 0x4014563c */ +#define LINUX_VIDIOC_G_JPEGCOMP 0x563d /* 0x808c563d */ +#define LINUX_VIDIOC_S_JPEGCOMP 0x563e /* 0x408c563e */ +#define LINUX_VIDIOC_QUERYSTD 0x563f /* 0x8008563f */ +#define LINUX_VIDIOC_TRY_FMT 0x5640 /* 0xc0cc5640 */ +#define LINUX_VIDIOC_ENUMAUDIO 0x5641 /* 0xc0345641 */ +#define LINUX_VIDIOC_ENUMAUDOUT 0x5642 /* 0xc0345642 */ +#define LINUX_VIDIOC_G_PRIORITY 0x5643 /* 0x80045643 */ +#define LINUX_VIDIOC_S_PRIORITY 0x5644 /* 0x40045644 */ +#define LINUX_VIDIOC_G_SLICED_VBI_CAP 0x5645 /* 0xc0745645 */ +#define LINUX_VIDIOC_LOG_STATUS 0x5646 /* 0x00005646 */ +#define LINUX_VIDIOC_G_EXT_CTRLS 0x5647 /* 0xc0185647 */ +#define LINUX_VIDIOC_S_EXT_CTRLS 0x5648 /* 0xc0185648 */ +#define LINUX_VIDIOC_TRY_EXT_CTRLS 0x5649 /* 0xc0185649 */ +#define LINUX_VIDIOC_ENUM_FRAMESIZES 0x564a /* 0xc02c564a */ +#define LINUX_VIDIOC_ENUM_FRAMEINTERVALS 0x564b /* 0xc034564b */ +#define LINUX_VIDIOC_G_ENC_INDEX 0x564c /* 0x8818564c */ +#define LINUX_VIDIOC_ENCODER_CMD 0x564d /* 0xc028564d */ +#define LINUX_VIDIOC_TRY_ENCODER_CMD 0x564e /* 0xc028564e */ +#define LINUX_VIDIOC_DBG_S_REGISTER 0x564f /* 0x4038564f */ +#define LINUX_VIDIOC_DBG_G_REGISTER 0x5650 /* 0xc0385650 */ +#define LINUX_VIDIOC_DBG_G_CHIP_IDENT 0x5651 /* 0xc02c5651 */ +#define LINUX_VIDIOC_S_HW_FREQ_SEEK 0x5652 /* 0x40305652 */ +#define LINUX_VIDIOC_ENUM_DV_PRESETS 0x5653 /* 0xc0405653 */ +#define LINUX_VIDIOC_S_DV_PRESET 0x5654 /* 0xc0145654 */ +#define LINUX_VIDIOC_G_DV_PRESET 0x5655 /* 0xc0145655 */ +#define LINUX_VIDIOC_QUERY_DV_PRESET 0x5656 /* 0x80145656 */ +#define LINUX_VIDIOC_S_DV_TIMINGS 0x5657 /* 0xc0845657 */ +#define LINUX_VIDIOC_G_DV_TIMINGS 0x5658 /* 0xc0845658 */ +#define LINUX_VIDIOC_DQEVENT 0x5659 /* 0x80785659 */ +#define LINUX_VIDIOC_SUBSCRIBE_EVENT 0x565a /* 0x4020565a */ +#define LINUX_VIDIOC_UNSUBSCRIBE_EVENT 0x565b /* 0x4020565b */ + +#define LINUX_VIDIOC_OVERLAY_OLD 0x560e /* 0xc004560e */ +#define LINUX_VIDIOC_S_PARM_OLD 0x5616 /* 0x40cc5616 */ +#define LINUX_VIDIOC_S_CTRL_OLD 0x561c /* 0x4008561c */ +#define LINUX_VIDIOC_G_AUDIO_OLD 0x5621 /* 0xc0345621 */ +#define LINUX_VIDIOC_G_AUDOUT_OLD 0x5631 /* 0xc0345631 */ +#define LINUX_VIDIOC_CROPCAP_OLD 0x563a /* 0x802c563a */ + +#define LINUX_IOCTL_VIDEO2_MIN LINUX_VIDIOC_QUERYCAP +#define LINUX_IOCTL_VIDEO2_MAX LINUX_VIDIOC_UNSUBSCRIBE_EVENT + /* * Our libusb(8) calls emulated within linux(4). */ Modified: projects/altix/sys/compat/linux/linux_videodev.h ============================================================================== --- projects/altix/sys/compat/linux/linux_videodev.h Fri May 6 03:26:24 2011 (r221519) +++ projects/altix/sys/compat/linux/linux_videodev.h Fri May 6 03:44:49 2011 (r221520) @@ -1,8 +1,8 @@ /* * This header comes from linux, but it has no license. The author * (Alan Cox @ Redhat) gave explicit permissions to use it in FreeBSD. - * The freeBSD vendor branch for v4l gives a more detailed description - * about this. + * The FreeBSD vendor branch for v4l gives a more detailed description + * about this in the README. * * $FreeBSD$ */ Copied: projects/altix/sys/compat/linux/linux_videodev2.h (from r221517, head/sys/compat/linux/linux_videodev2.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/altix/sys/compat/linux/linux_videodev2.h Fri May 6 03:44:49 2011 (r221520, copy of r221517, head/sys/compat/linux/linux_videodev2.h) @@ -0,0 +1,1179 @@ +/* + * This header comes from linux, but it has no license. The author + * (Bill Dirks) gave explicit permissions to use it in FreeBSD. + * The FreeBSD vendor branch for v4l gives a more detailed description + * about this in the README. + * + * $FreeBSD$ + */ + +#ifndef __LINUX_VIDEODEV2_H +#define __LINUX_VIDEODEV2_H +/* + * Video for Linux Two + * + * Header file for v4l or V4L2 drivers and applications, for + * Linux kernels 2.2.x or 2.4.x. + * + * See http://bytesex.org/v4l/ for API specs and other + * v4l2 documentation. + * + * Author: Bill Dirks + * Justin Schoeman + * et al. + */ +#ifdef __FreeBSD__ +#define __user +typedef uint64_t __u64; +typedef int64_t __s64; +#else +#ifdef __KERNEL__ +#include /* need struct timeval */ +#include +#include +#include +#endif +#include /* need __user */ +#endif + + +#define OBSOLETE_OWNER 1 /* It will be removed for 2.6.17 */ +#define HAVE_V4L2 1 + +/* + * Common stuff for both V4L1 and V4L2 + * Moved from videodev.h + */ + +#define VIDEO_MAX_FRAME 32 + +#define VID_TYPE_CAPTURE 1 /* Can capture */ +#define VID_TYPE_TUNER 2 /* Can tune */ +#define VID_TYPE_TELETEXT 4 /* Does teletext */ +#define VID_TYPE_OVERLAY 8 /* Overlay onto frame buffer */ +#define VID_TYPE_CHROMAKEY 16 /* Overlay by chromakey */ +#define VID_TYPE_CLIPPING 32 /* Can clip */ +#define VID_TYPE_FRAMERAM 64 /* Uses the frame buffer memory */ +#define VID_TYPE_SCALES 128 /* Scalable */ +#define VID_TYPE_MONOCHROME 256 /* Monochrome only */ +#define VID_TYPE_SUBCAPTURE 512 /* Can capture subareas of the image */ +#define VID_TYPE_MPEG_DECODER 1024 /* Can decode MPEG streams */ +#define VID_TYPE_MPEG_ENCODER 2048 /* Can encode MPEG streams */ +#define VID_TYPE_MJPEG_DECODER 4096 /* Can decode MJPEG streams */ +#define VID_TYPE_MJPEG_ENCODER 8192 /* Can encode MJPEG streams */ + +#ifdef __KERNEL__ + +/* Minor device allocation */ +#define MINOR_VFL_TYPE_GRABBER_MIN 0 +#define MINOR_VFL_TYPE_GRABBER_MAX 63 +#define MINOR_VFL_TYPE_RADIO_MIN 64 +#define MINOR_VFL_TYPE_RADIO_MAX 127 +#define MINOR_VFL_TYPE_VTX_MIN 192 +#define MINOR_VFL_TYPE_VTX_MAX 223 +#define MINOR_VFL_TYPE_VBI_MIN 224 +#define MINOR_VFL_TYPE_VBI_MAX 255 + +#define VFL_TYPE_GRABBER 0 +#define VFL_TYPE_VBI 1 +#define VFL_TYPE_RADIO 2 +#define VFL_TYPE_VTX 3 + +struct video_device +{ + /* device info */ + struct device *dev; + char name[32]; + int type; /* v4l1 */ + int type2; /* v4l2 */ + int hardware; + int minor; + + /* device ops + callbacks */ + const struct file_operations *fops; + void (*release)(struct video_device *vfd); + + +#if OBSOLETE_OWNER /* to be removed in 2.6.15 */ + /* obsolete -- fops->owner is used instead */ + struct module *owner; + /* dev->driver_data will be used instead some day. + * Use the video_{get|set}_drvdata() helper functions, + * so the switch over will be transparent for you. + * Or use {pci|usb}_{get|set}_drvdata() directly. */ + void *priv; +#endif + + /* for videodev.c intenal usage -- please don't touch */ + int users; /* video_exclusive_{open|close} ... */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Fri May 6 15:31:28 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 52B021065700; Fri, 6 May 2011 15:31:28 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 43CA58FC23; Fri, 6 May 2011 15:31:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p46FVSjQ054034; Fri, 6 May 2011 15:31:28 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p46FVSd9054032; Fri, 6 May 2011 15:31:28 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105061531.p46FVSd9054032@svn.freebsd.org> From: Attilio Rao Date: Fri, 6 May 2011 15:31:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221534 - projects/largeSMP/usr.sbin/pmccontrol X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 15:31:28 -0000 Author: attilio Date: Fri May 6 15:31:27 2011 New Revision: 221534 URL: http://svn.freebsd.org/changeset/base/221534 Log: Fix breakage. Reported by: sbruno Modified: projects/largeSMP/usr.sbin/pmccontrol/pmccontrol.c Modified: projects/largeSMP/usr.sbin/pmccontrol/pmccontrol.c ============================================================================== --- projects/largeSMP/usr.sbin/pmccontrol/pmccontrol.c Fri May 6 14:21:46 2011 (r221533) +++ projects/largeSMP/usr.sbin/pmccontrol/pmccontrol.c Fri May 6 15:31:27 2011 (r221534) @@ -28,7 +28,7 @@ #include __FBSDID("$FreeBSD$"); -#include +#include #include #include #include From owner-svn-src-projects@FreeBSD.ORG Fri May 6 21:53:30 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 49619106564A; Fri, 6 May 2011 21:53:30 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 36B7A8FC0C; Fri, 6 May 2011 21:53:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p46LrUOn067737; Fri, 6 May 2011 21:53:30 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p46LrU0Y067729; Fri, 6 May 2011 21:53:30 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105062153.p46LrU0Y067729@svn.freebsd.org> From: Attilio Rao Date: Fri, 6 May 2011 21:53:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221554 - in projects/largeSMP/sys/sparc64: include sparc64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 21:53:30 -0000 Author: attilio Date: Fri May 6 21:53:29 2011 New Revision: 221554 URL: http://svn.freebsd.org/changeset/base/221554 Log: Add sparc64 support. Compiled (and helped) by: pluknet Modified: projects/largeSMP/sys/sparc64/include/_types.h projects/largeSMP/sys/sparc64/include/pmap.h projects/largeSMP/sys/sparc64/include/smp.h projects/largeSMP/sys/sparc64/sparc64/intr_machdep.c projects/largeSMP/sys/sparc64/sparc64/mp_machdep.c projects/largeSMP/sys/sparc64/sparc64/pmap.c projects/largeSMP/sys/sparc64/sparc64/tlb.c Modified: projects/largeSMP/sys/sparc64/include/_types.h ============================================================================== --- projects/largeSMP/sys/sparc64/include/_types.h Fri May 6 21:09:33 2011 (r221553) +++ projects/largeSMP/sys/sparc64/include/_types.h Fri May 6 21:53:29 2011 (r221554) @@ -55,7 +55,6 @@ typedef unsigned long __uint64_t; * Standard type definitions. */ typedef __int32_t __clock_t; /* clock()... */ -typedef unsigned int __cpumask_t; typedef __int64_t __critical_t; typedef double __double_t; typedef float __float_t; Modified: projects/largeSMP/sys/sparc64/include/pmap.h ============================================================================== --- projects/largeSMP/sys/sparc64/include/pmap.h Fri May 6 21:09:33 2011 (r221553) +++ projects/largeSMP/sys/sparc64/include/pmap.h Fri May 6 21:53:29 2011 (r221554) @@ -40,6 +40,7 @@ #define _MACHINE_PMAP_H_ #include +#include #include #include #include @@ -61,7 +62,7 @@ struct pmap { struct mtx pm_mtx; struct tte *pm_tsb; vm_object_t pm_tsb_obj; - cpumask_t pm_active; + cpuset_t pm_active; u_int pm_context[MAXCPU]; struct pmap_statistics pm_stats; }; Modified: projects/largeSMP/sys/sparc64/include/smp.h ============================================================================== --- projects/largeSMP/sys/sparc64/include/smp.h Fri May 6 21:09:33 2011 (r221553) +++ projects/largeSMP/sys/sparc64/include/smp.h Fri May 6 21:53:29 2011 (r221554) @@ -38,6 +38,7 @@ #ifndef LOCORE +#include #include #include @@ -76,17 +77,17 @@ struct cpu_start_args { }; struct ipi_cache_args { - cpumask_t ica_mask; + cpuset_t ica_mask; vm_paddr_t ica_pa; }; struct ipi_rd_args { - cpumask_t ira_mask; + cpuset_t ira_mask; register_t *ira_val; }; struct ipi_tlb_args { - cpumask_t ita_mask; + cpuset_t ita_mask; struct pmap *ita_pmap; u_long ita_start; u_long ita_end; @@ -100,7 +101,7 @@ extern struct pcb stoppcbs[]; void cpu_mp_bootstrap(struct pcpu *pc); void cpu_mp_shutdown(void); -typedef void cpu_ipi_selected_t(u_int, u_long, u_long, u_long); +typedef void cpu_ipi_selected_t(cpuset_t, u_long, u_long, u_long); extern cpu_ipi_selected_t *cpu_ipi_selected; typedef void cpu_ipi_single_t(u_int, u_long, u_long, u_long); extern cpu_ipi_single_t *cpu_ipi_single; @@ -140,7 +141,7 @@ ipi_all_but_self(u_int ipi) } static __inline void -ipi_selected(u_int cpus, u_int ipi) +ipi_selected(cpuset_t cpus, u_int ipi) { cpu_ipi_selected(cpus, 0, (u_long)tl_ipi_level, ipi); @@ -197,7 +198,8 @@ ipi_rd(u_int cpu, void *func, u_long *va sched_pin(); ira = &ipi_rd_args; mtx_lock_spin(&ipi_mtx); - ira->ira_mask = 1 << cpu | PCPU_GET(cpumask); + ira->ira_mask = PCPU_GET(cpumask); + CPU_SET(cpu, &ira->ira_mask); ira->ira_val = val; cpu_ipi_single(cpu, 0, (u_long)func, (u_long)ira); return (&ira->ira_mask); @@ -207,18 +209,21 @@ static __inline void * ipi_tlb_context_demap(struct pmap *pm) { struct ipi_tlb_args *ita; - cpumask_t cpus; + cpuset_t cpus; if (smp_cpus == 1) return (NULL); sched_pin(); - if ((cpus = (pm->pm_active & PCPU_GET(other_cpus))) == 0) { + cpus = pm->pm_active; + CPU_AND(&cpus, PCPU_PTR(other_cpus)); + if (CPU_EMPTY(&cpus)) { sched_unpin(); return (NULL); } ita = &ipi_tlb_args; mtx_lock_spin(&ipi_mtx); - ita->ita_mask = cpus | PCPU_GET(cpumask); + CPU_OR(&cpus, PCPU_PTR(cpumask)); + ita->ita_mask = cpus; ita->ita_pmap = pm; cpu_ipi_selected(cpus, 0, (u_long)tl_ipi_tlb_context_demap, (u_long)ita); @@ -229,18 +234,21 @@ static __inline void * ipi_tlb_page_demap(struct pmap *pm, vm_offset_t va) { struct ipi_tlb_args *ita; - cpumask_t cpus; + cpuset_t cpus; if (smp_cpus == 1) return (NULL); sched_pin(); - if ((cpus = (pm->pm_active & PCPU_GET(other_cpus))) == 0) { + cpus = pm->pm_active; + CPU_AND(&cpus, PCPU_PTR(other_cpus)); + if (CPU_EMPTY(&cpus)) { sched_unpin(); return (NULL); } ita = &ipi_tlb_args; mtx_lock_spin(&ipi_mtx); - ita->ita_mask = cpus | PCPU_GET(cpumask); + CPU_OR(&cpus, PCPU_PTR(cpumask)); + ita->ita_mask = cpus; ita->ita_pmap = pm; ita->ita_va = va; cpu_ipi_selected(cpus, 0, (u_long)tl_ipi_tlb_page_demap, (u_long)ita); @@ -251,18 +259,21 @@ static __inline void * ipi_tlb_range_demap(struct pmap *pm, vm_offset_t start, vm_offset_t end) { struct ipi_tlb_args *ita; - cpumask_t cpus; + cpuset_t cpus; if (smp_cpus == 1) return (NULL); sched_pin(); - if ((cpus = (pm->pm_active & PCPU_GET(other_cpus))) == 0) { + cpus = pm->pm_active; + CPU_AND(&cpus, PCPU_PTR(other_cpus)); + if (CPU_EMPTY(&cpus)) { sched_unpin(); return (NULL); } ita = &ipi_tlb_args; mtx_lock_spin(&ipi_mtx); - ita->ita_mask = cpus | PCPU_GET(cpumask); + CPU_OR(&cpus, PCPU_PTR(cpumask)); + ita->ita_mask = cpus; ita->ita_pmap = pm; ita->ita_start = start; ita->ita_end = end; @@ -274,11 +285,11 @@ ipi_tlb_range_demap(struct pmap *pm, vm_ static __inline void ipi_wait(void *cookie) { - volatile cpumask_t *mask; + volatile cpuset_t *mask; if ((mask = cookie) != NULL) { - atomic_clear_int(mask, PCPU_GET(cpumask)); - while (*mask != 0) + CPU_NAND_ATOMIC(mask, PCPU_PTR(cpumask)); + while (!CPU_EMPTY(mask)) ; mtx_unlock_spin(&ipi_mtx); sched_unpin(); Modified: projects/largeSMP/sys/sparc64/sparc64/intr_machdep.c ============================================================================== --- projects/largeSMP/sys/sparc64/sparc64/intr_machdep.c Fri May 6 21:09:33 2011 (r221553) +++ projects/largeSMP/sys/sparc64/sparc64/intr_machdep.c Fri May 6 21:53:29 2011 (r221554) @@ -445,8 +445,7 @@ intr_describe(int vec, void *ih, const c * allocate CPUs round-robin. */ -/* The BSP is always a valid target. */ -static cpumask_t intr_cpus = (1 << 0); +static cpuset_t intr_cpus; static int current_cpu; static void @@ -468,7 +467,7 @@ intr_assign_next_cpu(struct intr_vector current_cpu++; if (current_cpu > mp_maxid) current_cpu = 0; - } while (!(intr_cpus & (1 << current_cpu))); + } while (!CPU_ISSET(current_cpu, &intr_cpus)); } /* Attempt to bind the specified IRQ to the specified CPU. */ @@ -504,7 +503,7 @@ intr_add_cpu(u_int cpu) if (bootverbose) printf("INTR: Adding CPU %d as a target\n", cpu); - intr_cpus |= (1 << cpu); + CPU_SET(cpu, &intr_cpus); } /* @@ -518,6 +517,9 @@ intr_shuffle_irqs(void *arg __unused) struct intr_vector *iv; int i; + /* The BSP is always a valid target. */ + CPU_SETOF(0, &intr_cpus); + /* Don't bother on UP. */ if (mp_ncpus == 1) return; Modified: projects/largeSMP/sys/sparc64/sparc64/mp_machdep.c ============================================================================== --- projects/largeSMP/sys/sparc64/sparc64/mp_machdep.c Fri May 6 21:09:33 2011 (r221553) +++ projects/largeSMP/sys/sparc64/sparc64/mp_machdep.c Fri May 6 21:53:29 2011 (r221554) @@ -121,7 +121,7 @@ cpu_ipi_single_t *cpu_ipi_single; static vm_offset_t mp_tramp; static u_int cpuid_to_mid[MAXCPU]; static int isjbus; -static volatile cpumask_t shutdown_cpus; +static volatile cpuset_t shutdown_cpus; static void ap_count(phandle_t node, u_int mid, u_int cpu_impl); static void ap_start(phandle_t node, u_int mid, u_int cpu_impl); @@ -228,7 +228,7 @@ void cpu_mp_setmaxid() { - all_cpus = 1 << curcpu; + CPU_SETOF(curcpu, &all_cpus); mp_ncpus = 1; mp_maxid = 0; @@ -283,6 +283,7 @@ sun4u_startcpu(phandle_t cpu, void *func void cpu_mp_start(void) { + cpuset_t ocpus; mtx_init(&ipi_mtx, "ipi", NULL, MTX_SPIN); @@ -299,7 +300,9 @@ cpu_mp_start(void) KASSERT(!isjbus || mp_ncpus <= IDR_JALAPENO_MAX_BN_PAIRS, ("%s: can only IPI a maximum of %d JBus-CPUs", __func__, IDR_JALAPENO_MAX_BN_PAIRS)); - PCPU_SET(other_cpus, all_cpus & ~(1 << curcpu)); + ocpus = all_cpus; + CPU_CLR(curcpu, &ocpus); + PCPU_SET(other_cpus, ocpus); smp_active = 1; } @@ -357,7 +360,7 @@ ap_start(phandle_t node, u_int mid, u_in cache_init(pc); - all_cpus |= 1 << cpuid; + CPU_SET(cpuid, &all_cpus); intr_add_cpu(cpuid); } @@ -421,6 +424,7 @@ cpu_mp_unleash(void *v) void cpu_mp_bootstrap(struct pcpu *pc) { + cpuset_t ocpus; volatile struct cpu_start_args *csa; csa = &cpu_start_args; @@ -465,7 +469,9 @@ cpu_mp_bootstrap(struct pcpu *pc) smp_cpus++; KASSERT(curthread != NULL, ("%s: curthread", __func__)); - PCPU_SET(other_cpus, all_cpus & ~(1 << curcpu)); + ocpus = all_cpus; + CPU_CLR(curcpu, &all_cpus); + PCPU_SET(other_cpus, ocpus); printf("SMP: AP CPU #%d Launched!\n", curcpu); csa->csa_count--; @@ -484,14 +490,22 @@ cpu_mp_bootstrap(struct pcpu *pc) void cpu_mp_shutdown(void) { + cpuset_t cpus; int i; critical_enter(); shutdown_cpus = PCPU_GET(other_cpus); - if (stopped_cpus != PCPU_GET(other_cpus)) /* XXX */ - stop_cpus(stopped_cpus ^ PCPU_GET(other_cpus)); + cpus = shutdown_cpus; + + /* XXX: Stopp all the CPUs which aren't already. */ + if (CPU_CMP(&stopped_cpus, &cpus)) { + + /* pc_other_cpus is just a flat "on" mask without curcpu. */ + CPU_NAND(&cpus, &stopped_cpus); + stop_cpus(cpus); + } i = 0; - while (shutdown_cpus != 0) { + while (!CPU_EMPTY(&shutdown_cpus)) { if (i++ > 100000) { printf("timeout shutting down CPUs.\n"); break; @@ -509,20 +523,24 @@ cpu_ipi_ast(struct trapframe *tf) static void cpu_ipi_stop(struct trapframe *tf) { + cpuset_t tcmask; CTR2(KTR_SMP, "%s: stopped %d", __func__, curcpu); + sched_pin(); savectx(&stoppcbs[curcpu]); - atomic_set_acq_int(&stopped_cpus, PCPU_GET(cpumask)); - while ((started_cpus & PCPU_GET(cpumask)) == 0) { - if ((shutdown_cpus & PCPU_GET(cpumask)) != 0) { - atomic_clear_int(&shutdown_cpus, PCPU_GET(cpumask)); + tcmask = PCPU_GET(cpumask); + CPU_OR_ATOMIC(&stopped_cpus, &tcmask); + while (!CPU_OVERLAP(&started_cpus, &tcmask)) { + if (CPU_OVERLAP(&shutdown_cpus, &tcmask)) { + CPU_OR_ATOMIC(&shutdown_cpus, &tcmask); (void)intr_disable(); for (;;) ; } } - atomic_clear_rel_int(&started_cpus, PCPU_GET(cpumask)); - atomic_clear_rel_int(&stopped_cpus, PCPU_GET(cpumask)); + CPU_NAND_ATOMIC(&started_cpus, &tcmask); + CPU_NAND_ATOMIC(&stopped_cpus, &tcmask); + sched_unpin(); CTR2(KTR_SMP, "%s: restarted %d", __func__, curcpu); } @@ -551,13 +569,13 @@ cpu_ipi_hardclock(struct trapframe *tf) } static void -spitfire_ipi_selected(u_int cpus, u_long d0, u_long d1, u_long d2) +spitfire_ipi_selected(cpuset_t cpus, u_long d0, u_long d1, u_long d2) { u_int cpu; - while (cpus) { - cpu = ffs(cpus) - 1; - cpus &= ~(1 << cpu); + while (CPU_EMPTY(&cpus)) { + cpu = cpusetobj_ffs(&cpus) - 1; + CPU_CLR(cpu, &cpus); spitfire_ipi_single(cpu, d0, d1, d2); } } @@ -657,20 +675,21 @@ cheetah_ipi_single(u_int cpu, u_long d0, } static void -cheetah_ipi_selected(u_int cpus, u_long d0, u_long d1, u_long d2) +cheetah_ipi_selected(cpuset_t cpus, u_long d0, u_long d1, u_long d2) { + char pbuf[CPUSETBUFSIZ]; register_t s; u_long ids; u_int bnp; u_int cpu; int i; - KASSERT((cpus & (1 << curcpu)) == 0, - ("%s: CPU can't IPI itself", __func__)); + KASSERT(!CPU_ISSET(curcpu, &cpus), ("%s: CPU can't IPI itself", + __func__)); KASSERT((ldxa(0, ASI_INTR_DISPATCH_STATUS) & IDR_CHEETAH_ALL_BUSY) == 0, ("%s: outstanding dispatch", __func__)); - if (cpus == 0) + if (CPU_EMPTY(&cpus)) return; ids = 0; for (i = 0; i < IPI_RETRIES * mp_ncpus; i++) { @@ -681,7 +700,7 @@ cheetah_ipi_selected(u_int cpus, u_long membar(Sync); bnp = 0; for (cpu = 0; cpu < mp_ncpus; cpu++) { - if ((cpus & (1 << cpu)) != 0) { + if (CPU_ISSET(cpu, &cpus)) { stxa(AA_INTR_SEND | (cpuid_to_mid[cpu] << IDC_ITID_SHIFT) | bnp << IDC_BN_SHIFT, ASI_SDB_INTR_W, 0); @@ -698,9 +717,9 @@ cheetah_ipi_selected(u_int cpus, u_long return; bnp = 0; for (cpu = 0; cpu < mp_ncpus; cpu++) { - if ((cpus & (1 << cpu)) != 0) { + if (CPU_ISSET(cpu, &cpus)) { if ((ids & (IDR_NACK << (2 * bnp))) == 0) - cpus &= ~(1 << cpu); + CPU_CLR(cpu, &cpus); bnp++; } } @@ -709,7 +728,7 @@ cheetah_ipi_selected(u_int cpus, u_long * CPUs we actually haven't tried to send an IPI to, * but which apparently can be safely ignored. */ - if (cpus == 0) + if (CPU_EMPTY(&cpus)) return; /* * Leave interrupts enabled for a bit before retrying @@ -719,11 +738,11 @@ cheetah_ipi_selected(u_int cpus, u_long DELAY(2 * mp_ncpus); } if (kdb_active != 0 || panicstr != NULL) - printf("%s: couldn't send IPI (cpus=0x%u ids=0x%lu)\n", - __func__, cpus, ids); + printf("%s: couldn't send IPI (cpus=%s ids=0x%lu)\n", + __func__, cpusetobj_strprint(pbuf, &cpus), ids); else - panic("%s: couldn't send IPI (cpus=0x%u ids=0x%lu)", - __func__, cpus, ids); + panic("%s: couldn't send IPI (cpus=%s ids=0x%lu)", + __func__, cpusetobj_strprint(pbuf, &cpus), ids); } static void @@ -772,19 +791,20 @@ jalapeno_ipi_single(u_int cpu, u_long d0 } static void -jalapeno_ipi_selected(u_int cpus, u_long d0, u_long d1, u_long d2) +jalapeno_ipi_selected(cpuset_t cpus, u_long d0, u_long d1, u_long d2) { + char pbuf[CPUSETBUFSIZ]; register_t s; u_long ids; u_int cpu; int i; - KASSERT((cpus & (1 << curcpu)) == 0, - ("%s: CPU can't IPI itself", __func__)); + KASSERT(!CPU_ISSET(curcpu, &cpus), ("%s: CPU can't IPI itself", + __func__)); KASSERT((ldxa(0, ASI_INTR_DISPATCH_STATUS) & IDR_CHEETAH_ALL_BUSY) == 0, ("%s: outstanding dispatch", __func__)); - if (cpus == 0) + if (CPU_EMPTY(&cpus)) return; ids = 0; for (i = 0; i < IPI_RETRIES * mp_ncpus; i++) { @@ -794,7 +814,7 @@ jalapeno_ipi_selected(u_int cpus, u_long stxa(AA_SDB_INTR_D2, ASI_SDB_INTR_W, d2); membar(Sync); for (cpu = 0; cpu < mp_ncpus; cpu++) { - if ((cpus & (1 << cpu)) != 0) { + if (CPU_ISSET(cpu, &cpus)) { stxa(AA_INTR_SEND | (cpuid_to_mid[cpu] << IDC_ITID_SHIFT), ASI_SDB_INTR_W, 0); membar(Sync); @@ -808,10 +828,10 @@ jalapeno_ipi_selected(u_int cpus, u_long (IDR_CHEETAH_ALL_BUSY | IDR_CHEETAH_ALL_NACK)) == 0) return; for (cpu = 0; cpu < mp_ncpus; cpu++) - if ((cpus & (1 << cpu)) != 0) + if (CPU_ISSET(cpu, &cpus)) if ((ids & (IDR_NACK << (2 * cpuid_to_mid[cpu]))) == 0) - cpus &= ~(1 << cpu); + CPU_CLR(cpu, &cpus); /* * Leave interrupts enabled for a bit before retrying * in order to avoid deadlocks if the other CPUs are @@ -820,9 +840,9 @@ jalapeno_ipi_selected(u_int cpus, u_long DELAY(2 * mp_ncpus); } if (kdb_active != 0 || panicstr != NULL) - printf("%s: couldn't send IPI (cpus=0x%u ids=0x%lu)\n", - __func__, cpus, ids); + printf("%s: couldn't send IPI (cpus=%s ids=0x%lu)\n", + __func__, cpusetobj_strprint(pbuf, &cpus), ids); else - panic("%s: couldn't send IPI (cpus=0x%u ids=0x%lu)", - __func__, cpus, ids); + panic("%s: couldn't send IPI (cpus=%s ids=0x%lu)", + __func__, cpusetobj_strprint(pbuf, &cpus), ids); } Modified: projects/largeSMP/sys/sparc64/sparc64/pmap.c ============================================================================== --- projects/largeSMP/sys/sparc64/sparc64/pmap.c Fri May 6 21:09:33 2011 (r221553) +++ projects/largeSMP/sys/sparc64/sparc64/pmap.c Fri May 6 21:53:29 2011 (r221554) @@ -664,7 +664,7 @@ pmap_bootstrap(u_int cpu_impl) pm = kernel_pmap; for (i = 0; i < MAXCPU; i++) pm->pm_context[i] = TLB_CTX_KERNEL; - pm->pm_active = ~0; + CPU_ZERO(&pm->pm_active); /* * Flush all non-locked TLB entries possibly left over by the @@ -1189,7 +1189,7 @@ pmap_pinit0(pmap_t pm) PMAP_LOCK_INIT(pm); for (i = 0; i < MAXCPU; i++) pm->pm_context[i] = TLB_CTX_KERNEL; - pm->pm_active = 0; + CPU_ZERO(&pm->pm_active); pm->pm_tsb = NULL; pm->pm_tsb_obj = NULL; bzero(&pm->pm_stats, sizeof(pm->pm_stats)); @@ -1229,7 +1229,7 @@ pmap_pinit(pmap_t pm) mtx_lock_spin(&sched_lock); for (i = 0; i < MAXCPU; i++) pm->pm_context[i] = -1; - pm->pm_active = 0; + CPU_ZERO(&pm->pm_active); mtx_unlock_spin(&sched_lock); VM_OBJECT_LOCK(pm->pm_tsb_obj); @@ -2230,7 +2230,7 @@ pmap_activate(struct thread *td) PCPU_SET(tlb_ctx, context + 1); pm->pm_context[curcpu] = context; - pm->pm_active |= PCPU_GET(cpumask); + CPU_OR(&pm->pm_active, PCPU_PTR(cpumask)); PCPU_SET(pmap, pm); stxa(AA_DMMU_TSB, ASI_DMMU, pm->pm_tsb); Modified: projects/largeSMP/sys/sparc64/sparc64/tlb.c ============================================================================== --- projects/largeSMP/sys/sparc64/sparc64/tlb.c Fri May 6 21:09:33 2011 (r221553) +++ projects/largeSMP/sys/sparc64/sparc64/tlb.c Fri May 6 21:53:29 2011 (r221554) @@ -80,7 +80,7 @@ tlb_context_demap(struct pmap *pm) PMAP_STATS_INC(tlb_ncontext_demap); cookie = ipi_tlb_context_demap(pm); s = intr_disable(); - if (pm->pm_active & PCPU_GET(cpumask)) { + if (CPU_OVERLAP(&pm->pm_active, PCPU_PTR(cpumask))) { KASSERT(pm->pm_context[curcpu] != -1, ("tlb_context_demap: inactive pmap?")); stxa(TLB_DEMAP_PRIMARY | TLB_DEMAP_CONTEXT, ASI_DMMU_DEMAP, 0); @@ -101,7 +101,7 @@ tlb_page_demap(struct pmap *pm, vm_offse PMAP_STATS_INC(tlb_npage_demap); cookie = ipi_tlb_page_demap(pm, va); s = intr_disable(); - if (pm->pm_active & PCPU_GET(cpumask)) { + if (CPU_OVERLAP(&pm->pm_active, PCPU_PTR(cpumask))) { KASSERT(pm->pm_context[curcpu] != -1, ("tlb_page_demap: inactive pmap?")); if (pm == kernel_pmap) @@ -128,7 +128,7 @@ tlb_range_demap(struct pmap *pm, vm_offs PMAP_STATS_INC(tlb_nrange_demap); cookie = ipi_tlb_range_demap(pm, start, end); s = intr_disable(); - if (pm->pm_active & PCPU_GET(cpumask)) { + if (CPU_OVERLAP(&pm->pm_active, PCPU_PTR(cpumask))) { KASSERT(pm->pm_context[curcpu] != -1, ("tlb_range_demap: inactive pmap?")); if (pm == kernel_pmap) From owner-svn-src-projects@FreeBSD.ORG Fri May 6 22:45:34 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4AE7D1065693; Fri, 6 May 2011 22:45:34 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 36CA38FC1B; Fri, 6 May 2011 22:45:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p46MjYuN069827; Fri, 6 May 2011 22:45:34 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p46MjXoc069800; Fri, 6 May 2011 22:45:33 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105062245.p46MjXoc069800@svn.freebsd.org> From: Attilio Rao Date: Fri, 6 May 2011 22:45:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221562 - in projects/largeSMP: bin/sh contrib/llvm/lib/Support/Unix contrib/one-true-awk contrib/top lib/libc/net lib/libutil release release/amd64 release/i386 release/ia64 release/pc... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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 May 2011 22:45:34 -0000 Author: attilio Date: Fri May 6 22:45:33 2011 New Revision: 221562 URL: http://svn.freebsd.org/changeset/base/221562 Log: MFC Deleted: projects/largeSMP/contrib/one-true-awk/proctab.c projects/largeSMP/sys/nfsclient/nfs_kdtrace.h projects/largeSMP/tools/build/options/WITH_GPIO Modified: projects/largeSMP/bin/sh/mksyntax.c projects/largeSMP/bin/sh/parser.c projects/largeSMP/bin/sh/parser.h projects/largeSMP/bin/sh/sh.1 projects/largeSMP/contrib/llvm/lib/Support/Unix/Host.inc projects/largeSMP/contrib/one-true-awk/FIXES projects/largeSMP/contrib/one-true-awk/main.c projects/largeSMP/lib/libc/net/sctp_sys_calls.c projects/largeSMP/lib/libutil/libutil.h projects/largeSMP/release/amd64/mkisoimages.sh projects/largeSMP/release/generate-release.sh projects/largeSMP/release/i386/mkisoimages.sh projects/largeSMP/release/ia64/mkisoimages.sh projects/largeSMP/release/pc98/mkisoimages.sh projects/largeSMP/release/powerpc/mkisoimages.sh projects/largeSMP/share/man/man4/Makefile projects/largeSMP/share/man/man9/Makefile projects/largeSMP/sys/amd64/amd64/mp_machdep.c projects/largeSMP/sys/amd64/include/specialreg.h projects/largeSMP/sys/boot/i386/boot2/Makefile projects/largeSMP/sys/dev/ahci/ahci.c projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416.h projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c projects/largeSMP/sys/dev/bm/if_bm.c projects/largeSMP/sys/dev/coretemp/coretemp.c projects/largeSMP/sys/dev/cxgbe/t4_main.c projects/largeSMP/sys/dev/e1000/if_em.c projects/largeSMP/sys/dev/xl/if_xl.c projects/largeSMP/sys/fs/nfs/nfs.h projects/largeSMP/sys/fs/nfsclient/nfs_clvfsops.c projects/largeSMP/sys/fs/nfsserver/nfs_nfsdport.c projects/largeSMP/sys/geom/geom_map.c projects/largeSMP/sys/i386/i386/mp_machdep.c projects/largeSMP/sys/i386/include/specialreg.h projects/largeSMP/sys/ia64/isa/isa.c projects/largeSMP/sys/isa/isa_common.c projects/largeSMP/sys/isa/isa_common.h projects/largeSMP/sys/mips/atheros/ar71xx_gpio.c projects/largeSMP/sys/mips/atheros/ar71xx_gpiovar.h projects/largeSMP/sys/mips/atheros/ar724xreg.h projects/largeSMP/sys/mips/atheros/ar91xxreg.h projects/largeSMP/sys/net/if_tun.c projects/largeSMP/sys/netinet/ipfw/ip_dn_glue.c projects/largeSMP/sys/netinet/ipfw/ip_dummynet.c projects/largeSMP/sys/netinet/sctp_auth.h projects/largeSMP/sys/nfsclient/nfs_bio.c projects/largeSMP/sys/nfsclient/nfs_kdtrace.c projects/largeSMP/sys/nfsclient/nfs_subs.c projects/largeSMP/sys/nfsclient/nfs_vnops.c projects/largeSMP/sys/powerpc/conf/GENERIC projects/largeSMP/sys/powerpc/mpc85xx/isa.c projects/largeSMP/sys/powerpc/powermac/macio.c projects/largeSMP/sys/powerpc/powermac/maciovar.h projects/largeSMP/sys/sparc64/isa/isa.c projects/largeSMP/sys/sys/stdint.h projects/largeSMP/sys/sys/types.h projects/largeSMP/sys/x86/isa/isa.c projects/largeSMP/sys/x86/x86/local_apic.c projects/largeSMP/tools/build/options/WITHOUT_ACCT projects/largeSMP/tools/build/options/WITHOUT_FDT projects/largeSMP/tools/build/options/WITHOUT_FLOPPY projects/largeSMP/usr.sbin/makefs/cd9660/cd9660_eltorito.c Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/bin/sh/mksyntax.c ============================================================================== --- projects/largeSMP/bin/sh/mksyntax.c Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/bin/sh/mksyntax.c Fri May 6 22:45:33 2011 (r221562) @@ -64,6 +64,7 @@ struct synclass synclass[] = { { "CWORD", "character is nothing special" }, { "CNL", "newline character" }, { "CBACK", "a backslash character" }, + { "CSBACK", "a backslash character in single quotes" }, { "CSQUOTE", "single quote" }, { "CDQUOTE", "double quote" }, { "CENDQUOTE", "a terminating quote" }, @@ -224,6 +225,7 @@ main(int argc __unused, char **argv __un init(); fputs("\n/* syntax table used when in single quotes */\n", cfile); add("\n", "CNL"); + add("\\", "CSBACK"); add("'", "CENDQUOTE"); /* ':/' for tilde expansion, '-' for [a\-x] pattern ranges */ add("!*?[=~:/-", "CCTL"); Modified: projects/largeSMP/bin/sh/parser.c ============================================================================== --- projects/largeSMP/bin/sh/parser.c Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/bin/sh/parser.c Fri May 6 22:45:33 2011 (r221562) @@ -1127,6 +1127,127 @@ done: /* + * Called to parse a backslash escape sequence inside $'...'. + * The backslash has already been read. + */ +static char * +readcstyleesc(char *out) +{ + int c, v, i, n; + + c = pgetc(); + switch (c) { + case '\0': + synerror("Unterminated quoted string"); + case '\n': + plinno++; + if (doprompt) + setprompt(2); + else + setprompt(0); + return out; + case '\\': + case '\'': + case '"': + v = c; + break; + case 'a': v = '\a'; break; + case 'b': v = '\b'; break; + case 'e': v = '\033'; break; + case 'f': v = '\f'; break; + case 'n': v = '\n'; break; + case 'r': v = '\r'; break; + case 't': v = '\t'; break; + case 'v': v = '\v'; break; + case 'x': + v = 0; + for (;;) { + c = pgetc(); + if (c >= '0' && c <= '9') + v = (v << 4) + c - '0'; + else if (c >= 'A' && c <= 'F') + v = (v << 4) + c - 'A' + 10; + else if (c >= 'a' && c <= 'f') + v = (v << 4) + c - 'a' + 10; + else + break; + } + pungetc(); + break; + case '0': case '1': case '2': case '3': + case '4': case '5': case '6': case '7': + v = c - '0'; + c = pgetc(); + if (c >= '0' && c <= '7') { + v <<= 3; + v += c - '0'; + c = pgetc(); + if (c >= '0' && c <= '7') { + v <<= 3; + v += c - '0'; + } else + pungetc(); + } else + pungetc(); + break; + case 'c': + c = pgetc(); + if (c < 0x3f || c > 0x7a || c == 0x60) + synerror("Bad escape sequence"); + if (c == '\\' && pgetc() != '\\') + synerror("Bad escape sequence"); + if (c == '?') + v = 127; + else + v = c & 0x1f; + break; + case 'u': + case 'U': + n = c == 'U' ? 8 : 4; + v = 0; + for (i = 0; i < n; i++) { + c = pgetc(); + if (c >= '0' && c <= '9') + v = (v << 4) + c - '0'; + else if (c >= 'A' && c <= 'F') + v = (v << 4) + c - 'A' + 10; + else if (c >= 'a' && c <= 'f') + v = (v << 4) + c - 'a' + 10; + else + synerror("Bad escape sequence"); + } + if (v == 0 || (v >= 0xd800 && v <= 0xdfff)) + synerror("Bad escape sequence"); + /* We really need iconv here. */ + if (v > 127) + v = '?'; + break; + default: + synerror("Bad escape sequence"); + } + v = (char)v; + /* + * We can't handle NUL bytes. + * POSIX says we should skip till the closing quote. + */ + if (v == '\0') { + while ((c = pgetc()) != '\'') { + if (c == '\\') + c = pgetc(); + if (c == PEOF) + synerror("Unterminated quoted string"); + } + pungetc(); + return out; + } + if (SQSYNTAX[v] == CCTL) + USTPUTC(CTLESC, out); + USTPUTC(v, out); + return out; +} + + +/* * If eofmark is NULL, read a word or a redirection symbol. If eofmark * is not NULL, read a here document. In the latter case, eofmark is the * word which marks the end of the document and striptabs is true if @@ -1158,6 +1279,7 @@ readtoken1(int firstc, char const *initi struct tokenstate state_static[MAXNEST_static]; int maxnest = MAXNEST_static; struct tokenstate *state = state_static; + int sqiscstyle = 0; startlinno = plinno; quotef = 0; @@ -1188,6 +1310,12 @@ readtoken1(int firstc, char const *initi setprompt(0); c = pgetc(); goto loop; /* continue outer loop */ + case CSBACK: + if (sqiscstyle) { + out = readcstyleesc(out); + break; + } + /* FALLTHROUGH */ case CWORD: USTPUTC(c, out); break; @@ -1232,6 +1360,7 @@ readtoken1(int firstc, char const *initi case CSQUOTE: USTPUTC(CTLQUOTEMARK, out); state[level].syntax = SQSYNTAX; + sqiscstyle = 0; break; case CDQUOTE: USTPUTC(CTLQUOTEMARK, out); @@ -1450,11 +1579,7 @@ parsesub: { int c1; c = pgetc(); - if (c != '(' && c != '{' && (is_eof(c) || !is_name(c)) && - !is_special(c)) { - USTPUTC('$', out); - pungetc(); - } else if (c == '(') { /* $(command) or $((arith)) */ + if (c == '(') { /* $(command) or $((arith)) */ if (pgetc() == '(') { PARSEARITH(); } else { @@ -1465,7 +1590,7 @@ parsesub: { state[level].syntax == DQSYNTAX || state[level].syntax == ARISYNTAX); } - } else { + } else if (c == '{' || is_name(c) || is_special(c)) { USTPUTC(CTLVAR, out); typeloc = out - stackblock(); USTPUTC(VSNORMAL, out); @@ -1612,6 +1737,14 @@ varname: newvarnest++; } } + } else if (c == '\'' && state[level].syntax == BASESYNTAX) { + /* $'cstylequotes' */ + USTPUTC(CTLQUOTEMARK, out); + state[level].syntax = SQSYNTAX; + sqiscstyle = 1; + } else { + USTPUTC('$', out); + pungetc(); } goto parsesub_return; } Modified: projects/largeSMP/bin/sh/parser.h ============================================================================== --- projects/largeSMP/bin/sh/parser.h Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/bin/sh/parser.h Fri May 6 22:45:33 2011 (r221562) @@ -34,16 +34,16 @@ */ /* control characters in argument strings */ -#define CTLESC '\201' -#define CTLVAR '\202' -#define CTLENDVAR '\203' -#define CTLBACKQ '\204' +#define CTLESC '\300' +#define CTLVAR '\301' +#define CTLENDVAR '\371' +#define CTLBACKQ '\372' #define CTLQUOTE 01 /* ored with CTLBACKQ code if in quotes */ /* CTLBACKQ | CTLQUOTE == '\205' */ -#define CTLARI '\206' -#define CTLENDARI '\207' -#define CTLQUOTEMARK '\210' -#define CTLQUOTEEND '\211' /* only for ${v+-...} */ +#define CTLARI '\374' +#define CTLENDARI '\375' +#define CTLQUOTEMARK '\376' +#define CTLQUOTEEND '\377' /* only for ${v+-...} */ /* variable substitution byte (follows CTLVAR) */ #define VSTYPE 0x0f /* type of variable substitution */ Modified: projects/largeSMP/bin/sh/sh.1 ============================================================================== --- projects/largeSMP/bin/sh/sh.1 Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/bin/sh/sh.1 Fri May 6 22:45:33 2011 (r221562) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd March 20, 2011 +.Dd May 5, 2011 .Dt SH 1 .Os .Sh NAME @@ -396,13 +396,82 @@ Quoting is used to remove the special me or words to the shell, such as operators, whitespace, keywords, or alias names. .Pp -There are three types of quoting: matched single quotes, +There are four types of quoting: matched single quotes, +dollar-single quotes, matched double quotes, and backslash. .Bl -tag -width indent .It Single Quotes Enclosing characters in single quotes preserves the literal meaning of all the characters (except single quotes, making it impossible to put single-quotes in a single-quoted string). +.It Dollar-Single Quotes +Enclosing characters between +.Li $' +and +.Li ' +preserves the literal meaning of all characters +except backslashes and single quotes. +A backslash introduces a C-style escape sequence: +.Bl -tag -width xUnnnnnnnn +.It \ea +Alert (ring the terminal bell) +.It \eb +Backspace +.It \ec Ns Ar c +The control character denoted by +.Li ^ Ns Ar c +in +.Xr stty 1 . +If +.Ar c +is a backslash, it must be doubled. +.It \ee +The ESC character +.Tn ( ASCII +0x1b) +.It \ef +Formfeed +.It \en +Newline +.It \er +Carriage return +.It \et +Horizontal tab +.It \ev +Vertical tab +.It \e\e +Literal backslash +.It \e\&' +Literal single-quote +.It \e\&" +Literal double-quote +.It \e Ns Ar nnn +The byte whose octal value is +.Ar nnn +(one to three digits) +.It \ex Ns Ar nn +The byte whose hexadecimal value is +.Ar nn +(one or more digits only the last two of which are used) +.It \eu Ns Ar nnnn +The Unicode code point +.Ar nnnn +(four hexadecimal digits) +.It \eU Ns Ar nnnnnnnn +The Unicode code point +.Ar nnnnnnnn +(eight hexadecimal digits) +.El +.Pp +The sequences for Unicode code points currently only provide useful results +for values below 128. +They reject code point 0 and UTF-16 surrogates. +.Pp +If an escape sequence would produce a byte with value 0, +that byte and the rest of the string until the matching single-quote +are ignored. +.Pp +Any other string starting with a backslash is an error. .It Double Quotes Enclosing characters within double quotes preserves the literal meaning of all characters except dollar sign Modified: projects/largeSMP/contrib/llvm/lib/Support/Unix/Host.inc ============================================================================== --- projects/largeSMP/contrib/llvm/lib/Support/Unix/Host.inc Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/contrib/llvm/lib/Support/Unix/Host.inc Fri May 6 22:45:33 2011 (r221562) @@ -35,6 +35,9 @@ static std::string getOSVersion() { } std::string sys::getHostTriple() { +#ifdef __FreeBSD__ + return LLVM_HOSTTRIPLE; +#else // FIXME: Derive directly instead of relying on the autoconf generated // variable. @@ -91,4 +94,5 @@ std::string sys::getHostTriple() { } return Triple; +#endif } Modified: projects/largeSMP/contrib/one-true-awk/FIXES ============================================================================== --- projects/largeSMP/contrib/one-true-awk/FIXES Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/contrib/one-true-awk/FIXES Fri May 6 22:45:33 2011 (r221562) @@ -25,6 +25,11 @@ THIS SOFTWARE. This file lists all bug fixes, changes, etc., made since the AWK book was sent to the printers in August, 1987. +May 6, 2011: + added #ifdef for isblank. + now allows -ffoo as well as -f foo arguments. + (thanks, ruslan) + May 1, 2011: after advice from todd miller, kevin lo, ruslan ermilov, and arnold robbins, changed srand() to return the previous Modified: projects/largeSMP/contrib/one-true-awk/main.c ============================================================================== --- projects/largeSMP/contrib/one-true-awk/main.c Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/contrib/one-true-awk/main.c Fri May 6 22:45:33 2011 (r221562) @@ -25,7 +25,7 @@ THIS SOFTWARE. #include __FBSDID("$FreeBSD$"); -const char *version = "version 20110501 (FreeBSD)"; +const char *version = "version 20110506 (FreeBSD)"; #define DEBUG #include @@ -95,7 +95,7 @@ int main(int argc, char *argv[]) safe = 1; break; case 'f': /* next argument is program filename */ - if (argv[1][2] != 0) { /* arg is -fsomething */ + if (argv[1][2] != 0) { /* arg is -fsomething */ if (npfile >= MAX_PFILE - 1) FATAL("too many -f options"); pfile[npfile++] = &argv[1][2]; Modified: projects/largeSMP/lib/libc/net/sctp_sys_calls.c ============================================================================== --- projects/largeSMP/lib/libc/net/sctp_sys_calls.c Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/lib/libc/net/sctp_sys_calls.c Fri May 6 22:45:33 2011 (r221562) @@ -1,33 +1,35 @@ -/* $KAME: sctp_sys_calls.c,v 1.9 2004/08/17 06:08:53 itojun Exp $ */ - -/* - * Copyright (C) 2002-2007 Cisco Systems Inc, - * All rights reserved. +/*- + * Copyright (c) 2001-2007, by Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2008-2011, by Randall Stewart. All rights reserved. + * Copyright (c) 2008-2011, by Michael Tuexen. All rights reserved. * * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the project nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. + * modification, are permitted provided that the following conditions are met: + * + * a) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * b) Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the distribution. + * + * c) Neither the name of Cisco Systems, Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. */ + #include __FBSDID("$FreeBSD$"); #include @@ -58,7 +60,6 @@ __FBSDID("$FreeBSD$"); #define SCTP_CONTROL_VEC_SIZE_SND 8192 #define SCTP_CONTROL_VEC_SIZE_RCV 16384 #define SCTP_STACK_BUF_SIZE 2048 -#define SCTP_SMALL_IOVEC_SIZE 2 #ifdef SCTP_DEBUG_PRINT_ADDRESS @@ -398,6 +399,9 @@ sctp_opt_info(int sd, sctp_assoc_t id, i case SCTP_LOCAL_AUTH_CHUNKS: ((struct sctp_authchunks *)arg)->gauth_assoc_id = id; break; + case SCTP_TIMEOUTS: + ((struct sctp_timeouts *)arg)->stimo_assoc_id = id; + break; default: break; } @@ -551,11 +555,10 @@ sctp_sendmsg(int s, return (syscall(SYS_sctp_generic_sendmsg, s, data, len, to, tolen, &sinfo, 0)); #else - ssize_t sz; struct msghdr msg; struct sctp_sndrcvinfo *s_info; - struct iovec iov[SCTP_SMALL_IOVEC_SIZE]; + struct iovec iov; char controlVector[SCTP_CONTROL_VEC_SIZE_RCV]; struct cmsghdr *cmsg; struct sockaddr *who = NULL; @@ -564,20 +567,8 @@ sctp_sendmsg(int s, struct sockaddr_in6 in6; } addr; -/* - fprintf(io, "sctp_sendmsg(sd:%d, data:%x, len:%d, to:%x, tolen:%d, ppid:%x, flags:%x str:%d ttl:%d ctx:%x\n", - s, - (u_int)data, - (int)len, - (u_int)to, - (int)tolen, - ppid, flags, - (int)stream_no, - (int)timetolive, - (u_int)context); - fflush(io); -*/ - if ((tolen > 0) && ((to == NULL) || (tolen < sizeof(struct sockaddr)))) { + if ((tolen > 0) && + ((to == NULL) || (tolen < sizeof(struct sockaddr)))) { errno = EINVAL; return -1; } @@ -587,7 +578,8 @@ sctp_sendmsg(int s, errno = EINVAL; return -1; } - if ((to->sa_len > 0) && (to->sa_len != sizeof(struct sockaddr_in))) { + if ((to->sa_len > 0) && + (to->sa_len != sizeof(struct sockaddr_in))) { errno = EINVAL; return -1; } @@ -598,7 +590,8 @@ sctp_sendmsg(int s, errno = EINVAL; return -1; } - if ((to->sa_len > 0) && (to->sa_len != sizeof(struct sockaddr_in6))) { + if ((to->sa_len > 0) && + (to->sa_len != sizeof(struct sockaddr_in6))) { errno = EINVAL; return -1; } @@ -610,10 +603,8 @@ sctp_sendmsg(int s, } who = (struct sockaddr *)&addr; } - iov[0].iov_base = (char *)data; - iov[0].iov_len = len; - iov[1].iov_base = NULL; - iov[1].iov_len = 0; + iov.iov_base = (char *)data; + iov.iov_len = len; if (who) { msg.msg_name = (caddr_t)who; @@ -622,7 +613,7 @@ sctp_sendmsg(int s, msg.msg_name = (caddr_t)NULL; msg.msg_namelen = 0; } - msg.msg_iov = iov; + msg.msg_iov = &iov; msg.msg_iovlen = 1; msg.msg_control = (caddr_t)controlVector; @@ -681,7 +672,7 @@ sctp_send(int sd, const void *data, size #else ssize_t sz; struct msghdr msg; - struct iovec iov[SCTP_SMALL_IOVEC_SIZE]; + struct iovec iov; struct sctp_sndrcvinfo *s_info; char controlVector[SCTP_CONTROL_VEC_SIZE_SND]; struct cmsghdr *cmsg; @@ -690,14 +681,12 @@ sctp_send(int sd, const void *data, size errno = EINVAL; return (-1); } - iov[0].iov_base = (char *)data; - iov[0].iov_len = len; - iov[1].iov_base = NULL; - iov[1].iov_len = 0; + iov.iov_base = (char *)data; + iov.iov_len = len; msg.msg_name = 0; msg.msg_namelen = 0; - msg.msg_iov = iov; + msg.msg_iov = &iov; msg.msg_iovlen = 1; msg.msg_control = (caddr_t)controlVector; @@ -736,7 +725,7 @@ sctp_sendx(int sd, const void *msg, size return (-1); } #ifdef SYS_sctp_generic_sendmsg - if (addrcnt < SCTP_SMALL_IOVEC_SIZE) { + if (addrcnt == 1) { socklen_t l; /* @@ -846,18 +835,18 @@ sctp_recvmsg(int s, int *msg_flags) { #ifdef SYS_sctp_generic_recvmsg - struct iovec iov[SCTP_SMALL_IOVEC_SIZE]; + struct iovec iov; - iov[0].iov_base = dbuf; - iov[0].iov_len = len; + iov.iov_base = dbuf; + iov.iov_len = len; return (syscall(SYS_sctp_generic_recvmsg, s, - iov, 1, from, fromlen, sinfo, msg_flags)); + &iov, 1, from, fromlen, sinfo, msg_flags)); #else struct sctp_sndrcvinfo *s_info; ssize_t sz; int sinfo_found = 0; struct msghdr msg; - struct iovec iov[SCTP_SMALL_IOVEC_SIZE]; + struct iovec iov; char controlVector[SCTP_CONTROL_VEC_SIZE_RCV]; struct cmsghdr *cmsg; @@ -866,30 +855,28 @@ sctp_recvmsg(int s, return (-1); } msg.msg_flags = 0; - iov[0].iov_base = dbuf; - iov[0].iov_len = len; - iov[1].iov_base = NULL; - iov[1].iov_len = 0; + iov.iov_base = dbuf; + iov.iov_len = len; msg.msg_name = (caddr_t)from; if (fromlen == NULL) msg.msg_namelen = 0; else msg.msg_namelen = *fromlen; - msg.msg_iov = iov; + msg.msg_iov = &iov; msg.msg_iovlen = 1; msg.msg_control = (caddr_t)controlVector; msg.msg_controllen = sizeof(controlVector); errno = 0; sz = recvmsg(s, &msg, *msg_flags); - if (sz <= 0) + *msg_flags = msg.msg_flags; + if (sz <= 0) { return (sz); - + } s_info = NULL; len = sz; - *msg_flags = msg.msg_flags; - if (sinfo) + if (sinfo) { sinfo->sinfo_assoc_id = 0; - + } if ((msg.msg_controllen) && sinfo) { /* * parse through and see if we find the sctp_sndrcvinfo (if @@ -940,7 +927,7 @@ int sctp_peeloff(int sd, sctp_assoc_t assoc_id) { struct sctp_peeloff_opt peeloff; - int error; + int result; socklen_t optlen; /* set in the socket option params */ @@ -948,10 +935,9 @@ sctp_peeloff(int sd, sctp_assoc_t assoc_ peeloff.s = sd; peeloff.assoc_id = assoc_id; optlen = sizeof(peeloff); - error = getsockopt(sd, IPPROTO_SCTP, SCTP_PEELOFF, (void *)&peeloff, - &optlen); - if (error) { - errno = error; + result = getsockopt(sd, IPPROTO_SCTP, SCTP_PEELOFF, (void *)&peeloff, &optlen); + + if (result < 0) { return (-1); } else { return (peeloff.new_sd); @@ -984,4 +970,3 @@ sctp_peeloff(int sd, sctp_assoc_t assoc_ #undef SCTP_CONTROL_VEC_SIZE_SND #undef SCTP_CONTROL_VEC_SIZE_RCV #undef SCTP_STACK_BUF_SIZE -#undef SCTP_SMALL_IOVEC_SIZE Modified: projects/largeSMP/lib/libutil/libutil.h ============================================================================== --- projects/largeSMP/lib/libutil/libutil.h Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/lib/libutil/libutil.h Fri May 6 22:45:33 2011 (r221562) @@ -41,22 +41,13 @@ #include #include +#include #ifndef _GID_T_DECLARED typedef __gid_t gid_t; #define _GID_T_DECLARED #endif -#ifndef _INT64_T_DECLARED -typedef __int64_t int64_t; -#define _INT64_T_DECLARED -#endif - -#ifndef _UINT64_T_DECLARED -typedef __uint64_t uint64_t; -#define _UINT64_T_DECLARED -#endif - #ifndef _PID_T_DECLARED typedef __pid_t pid_t; #define _PID_T_DECLARED Modified: projects/largeSMP/release/amd64/mkisoimages.sh ============================================================================== --- projects/largeSMP/release/amd64/mkisoimages.sh Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/release/amd64/mkisoimages.sh Fri May 6 22:45:33 2011 (r221562) @@ -23,7 +23,6 @@ # extra-bits-dir, if provided, contains additional files to be merged # into base-bits-dir as part of making the image. -publisher="The FreeBSD Project. http://www.freebsd.org/" if [ "x$1" = "x-b" ]; then # This is highly x86-centric and will be used directly below. bootable="-o bootimage=i386;$4/boot/cdboot -o no-emul-boot" Modified: projects/largeSMP/release/generate-release.sh ============================================================================== --- projects/largeSMP/release/generate-release.sh Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/release/generate-release.sh Fri May 6 22:45:33 2011 (r221562) @@ -21,7 +21,9 @@ # mkdir -p $2/usr/src -svn co ${SVNROOT:-svn://svn.freebsd.org/base}/$1 $2/usr/src || exit 1 +set -e # Everything must succeed + +svn co ${SVNROOT:-svn://svn.freebsd.org/base}/$1 $2/usr/src if [ ! -z $CVSUP_HOST ]; then cat > $2/docports-supfile << EOF *default host=$CVSUP_HOST @@ -35,32 +37,33 @@ if [ ! -z $CVSUP_HOST ]; then EOF elif [ ! -z $CVSROOT ]; then cd $2/usr - cvs -R ${CVSARGS} -d ${CVSROOT} co -P -r ${CVS_TAG:-HEAD} ports || exit 1 - cvs -R ${CVSARGS} -d ${CVSROOT} co -P -r ${CVS_TAG:-HEAD} doc || exit 1 + cvs -R ${CVSARGS} -d ${CVSROOT} co -P -r ${CVS_TAG:-HEAD} ports + cvs -R ${CVSARGS} -d ${CVSROOT} co -P -r ${CVS_TAG:-HEAD} doc fi cd $2/usr/src -make $MAKE_FLAGS buildworld || exit 1 -make installworld distribution DESTDIR=$2 || exit 1 +make $MAKE_FLAGS buildworld +make installworld distribution DESTDIR=$2 mount -t devfs devfs $2/dev +trap "umount $2/dev" EXIT # Clean up devfs mount on exit if [ ! -z $CVSUP_HOST ]; then cp /etc/resolv.conf $2/etc/resolv.conf # Checkout ports and doc trees - chroot $2 /usr/bin/csup /docports-supfile || exit 1 + chroot $2 /usr/bin/csup /docports-supfile fi if [ -d $2/usr/doc ]; then cp /etc/resolv.conf $2/etc/resolv.conf # Build ports to build the docs, then build the docs - chroot $2 /bin/sh -c 'pkg_add -r docproj || (cd /usr/ports/textproc/docproj && make install clean BATCH=yes WITHOUT_X11=yes JADETEX=no WITHOUT_PYTHON=yes)' || exit 1 - chroot $2 /bin/sh -c "cd /usr/doc && make $MAKE_FLAGS 'FORMATS=html html-split txt' URLS_ABSOLUTE=YES" || exit 1 + chroot $2 /bin/sh -c 'pkg_add -r docproj || (cd /usr/ports/textproc/docproj && make install clean BATCH=yes WITHOUT_X11=yes JADETEX=no WITHOUT_PYTHON=yes)' + chroot $2 make -C /usr/doc $MAKE_FLAGS 'FORMATS=html html-split txt' URLS_ABSOLUTE=YES fi -chroot $2 /bin/sh -c "cd /usr/src && make $MAKE_FLAGS buildworld buildkernel" || exit 1 -chroot $2 /bin/sh -c "cd /usr/src/release && make obj" || exit 1 -chroot $2 /bin/sh -c "cd /usr/src/release && make release" || exit 1 -chroot $2 /bin/sh -c "cd /usr/src/release && make install DESTDIR=/R" || exit 1 +chroot $2 make -C /usr/src $MAKE_FLAGS buildworld buildkernel +chroot $2 make -C /usr/src/release obj +chroot $2 make -C /usr/src/release release +chroot $2 make -C /usr/src/release install DESTDIR=/R Modified: projects/largeSMP/release/i386/mkisoimages.sh ============================================================================== --- projects/largeSMP/release/i386/mkisoimages.sh Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/release/i386/mkisoimages.sh Fri May 6 22:45:33 2011 (r221562) @@ -23,7 +23,6 @@ # extra-bits-dir, if provided, contains additional files to be merged # into base-bits-dir as part of making the image. -publisher="The FreeBSD Project. http://www.freebsd.org/" if [ "x$1" = "x-b" ]; then # This is highly x86-centric and will be used directly below. bootable="-o bootimage=i386;$4/boot/cdboot -o no-emul-boot" Modified: projects/largeSMP/release/ia64/mkisoimages.sh ============================================================================== --- projects/largeSMP/release/ia64/mkisoimages.sh Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/release/ia64/mkisoimages.sh Fri May 6 22:45:33 2011 (r221562) @@ -41,27 +41,6 @@ LABEL=$1; shift NAME=$1; shift BASE=$1; shift -MKISOFS=mkisofs -MKISOFS_PKG=cdrtools -MKISOFS_PORT=/usr/ports/sysutils/${MKISOFS_PKG} - -if ! which ${MKISOFS} > /dev/null; then - echo -n "${MKISOFS}(8) does not exist: " - if [ -f ${MKISOFS_PORT}/Makefile ]; then - echo building the port... - if ! (cd ${MKISOFS_PORT} && make install BATCH=yes && make clean); then - echo "error: cannot build ${MKISOFS}(8). Bailing out..." - exit 2 - fi - else - echo fetching the package... - if ! pkg_add -r ${MKISOFS_PKG}; then - echo "error: cannot fetch ${MKISOFS}(8). Bailing out..." - exit 2 - fi - fi -fi - EFIPART=efipart.sys # To create a bootable CD under EFI, the boot image should be an EFI @@ -84,15 +63,13 @@ if [ $bootable = yes ]; then mv $MNT/boot/loader.efi $MNT/efi/boot/bootia64.efi umount $MNT mdconfig -d -u $md - BOOTOPTS="-b $EFIPART -no-emul-boot" + BOOTOPTS="-b bootimage=i386;$EFIPART -o no-emul-boot" else BOOTOPTS="" fi -publisher="The FreeBSD Project. http://www.freebsd.org/" - echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > $1/etc/fstab -$MKISOFS $BOOTOPTS -r -J -V $LABEL -publisher "$publisher" -o $NAME $BASE $* +makefs -t cd9660 $BOOTOPTS -o rockridge -o label=$LABEL $NAME $BASE $* rm -f $BASE/$EFIPART rm $1/etc/fstab exit 0 Modified: projects/largeSMP/release/pc98/mkisoimages.sh ============================================================================== --- projects/largeSMP/release/pc98/mkisoimages.sh Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/release/pc98/mkisoimages.sh Fri May 6 22:45:33 2011 (r221562) @@ -23,7 +23,6 @@ # extra-bits-dir, if provided, contains additional files to be merged # into base-bits-dir as part of making the image. -publisher="The FreeBSD Project. http://www.freebsd.org/" if [ "x$1" = "x-b" ]; then # This is highly x86-centric and will be used directly below. bootable="-o generic-bootimage=$4/boot/cdboot" Modified: projects/largeSMP/release/powerpc/mkisoimages.sh ============================================================================== --- projects/largeSMP/release/powerpc/mkisoimages.sh Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/release/powerpc/mkisoimages.sh Fri May 6 22:45:33 2011 (r221562) @@ -23,13 +23,11 @@ # extra-bits-dir, if provided, contains additional files to be merged # into base-bits-dir as part of making the image. -publisher="The FreeBSD Project. http://www.freebsd.org/" if [ "x$1" = "x-b" ]; then uudecode -o /tmp/hfs-boot-block.bz2 `dirname $0`/hfs-boot.bz2.uu bzip2 -d /tmp/hfs-boot-block.bz2 OFFSET=$(hd /tmp/hfs-boot-block | grep 'Loader START' | cut -f 1 -d ' ') OFFSET=0x$(echo 0x$OFFSET | awk '{printf("%x\n",$1/512);}') - echo dd if=$4/boot/loader of=/tmp/hfs-boot-block seek=$OFFSET conv=notrunc dd if=$4/boot/loader of=/tmp/hfs-boot-block seek=$OFFSET conv=notrunc bootable="-o bootimage=macppc;/tmp/hfs-boot-block -o no-emul-boot" Modified: projects/largeSMP/share/man/man4/Makefile ============================================================================== --- projects/largeSMP/share/man/man4/Makefile Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/share/man/man4/Makefile Fri May 6 22:45:33 2011 (r221562) @@ -134,6 +134,7 @@ MAN= aac.4 \ geom.4 \ geom_fox.4 \ geom_linux_lvm.4 \ + geom_map.4 \ geom_uzip.4 \ gif.4 \ gpib.4 \ Modified: projects/largeSMP/share/man/man9/Makefile ============================================================================== --- projects/largeSMP/share/man/man9/Makefile Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/share/man/man9/Makefile Fri May 6 22:45:33 2011 (r221562) @@ -781,6 +781,7 @@ MLINKS+=make_dev.9 destroy_dev.9 \ make_dev.9 destroy_dev_sched_cb.9 \ make_dev.9 dev_depends.9 \ make_dev.9 make_dev_alias.9 \ + make_dev.9 make_dev_alias_p.9 \ make_dev.9 make_dev_cred.9 \ make_dev.9 make_dev_credf.9 \ make_dev.9 make_dev_p.9 Modified: projects/largeSMP/sys/amd64/amd64/mp_machdep.c ============================================================================== --- projects/largeSMP/sys/amd64/amd64/mp_machdep.c Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/sys/amd64/amd64/mp_machdep.c Fri May 6 22:45:33 2011 (r221562) @@ -177,11 +177,34 @@ mem_range_AP_init(void) static void topo_probe_amd(void) { + int core_id_bits; + int id; /* AMD processors do not support HTT. */ - cpu_cores = (amd_feature2 & AMDID2_CMP) != 0 ? - (cpu_procinfo2 & AMDID_CMP_CORES) + 1 : 1; cpu_logical = 1; + + if ((amd_feature2 & AMDID2_CMP) == 0) { + cpu_cores = 1; + return; + } + + core_id_bits = (cpu_procinfo2 & AMDID_COREID_SIZE) >> + AMDID_COREID_SIZE_SHIFT; + if (core_id_bits == 0) { + cpu_cores = (cpu_procinfo2 & AMDID_CMP_CORES) + 1; + return; + } + + /* Fam 10h and newer should get here. */ + for (id = 0; id <= MAX_APIC_ID; id++) { + /* Check logical CPU availability. */ + if (!cpu_info[id].cpu_present || cpu_info[id].cpu_disabled) + continue; + /* Check if logical CPU has the same package ID. */ + if ((id >> core_id_bits) != (boot_cpu_id >> core_id_bits)) + continue; + cpu_cores++; + } } /* Modified: projects/largeSMP/sys/amd64/include/specialreg.h ============================================================================== --- projects/largeSMP/sys/amd64/include/specialreg.h Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/sys/amd64/include/specialreg.h Fri May 6 22:45:33 2011 (r221562) @@ -228,6 +228,8 @@ * AMD extended function 8000_0008h ecx info */ #define AMDID_CMP_CORES 0x000000ff +#define AMDID_COREID_SIZE 0x0000f000 +#define AMDID_COREID_SIZE_SHIFT 12 /* * CPUID manufacturers identifiers Modified: projects/largeSMP/sys/boot/i386/boot2/Makefile ============================================================================== --- projects/largeSMP/sys/boot/i386/boot2/Makefile Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/sys/boot/i386/boot2/Makefile Fri May 6 22:45:33 2011 (r221562) @@ -43,7 +43,8 @@ CFLAGS= -Os \ -Winline --param max-inline-insns-single=100 .if ${CC:T:Mclang} == "clang" -CFLAGS+= -mllvm -stack-alignment=8 -mllvm -inline-threshold=3 +CFLAGS+= -mllvm -stack-alignment=8 -mllvm -inline-threshold=3 \ + -mllvm -enable-load-pre=false # XXX: clang integrated-as doesn't grok .codeNN directives yet CFLAGS+= ${.IMPSRC:T:Mboot1.S:C/^.+$/-no-integrated-as/} .endif Modified: projects/largeSMP/sys/dev/ahci/ahci.c ============================================================================== --- projects/largeSMP/sys/dev/ahci/ahci.c Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/sys/dev/ahci/ahci.c Fri May 6 22:45:33 2011 (r221562) @@ -184,6 +184,7 @@ static struct { {0x91201b4b, 0x00, "Marvell 88SE912x", AHCI_Q_EDGEIS|AHCI_Q_NOBSYRES}, {0x91231b4b, 0x11, "Marvell 88SE912x", AHCI_Q_NOBSYRES}, {0x91231b4b, 0x00, "Marvell 88SE912x", AHCI_Q_EDGEIS|AHCI_Q_SATA2|AHCI_Q_NOBSYRES}, + {0x91821b4b, 0x00, "Marvell 88SE9182", AHCI_Q_NOBSYRES}, {0x06201103, 0x00, "HighPoint RocketRAID 620", AHCI_Q_NOBSYRES}, {0x06201b4b, 0x00, "HighPoint RocketRAID 620", AHCI_Q_NOBSYRES}, {0x06221103, 0x00, "HighPoint RocketRAID 622", AHCI_Q_NOBSYRES}, Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416.h ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416.h Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416.h Fri May 6 22:45:33 2011 (r221562) @@ -199,6 +199,7 @@ extern HAL_STATUS ar5416GetCapability(st extern HAL_BOOL ar5416GetDiagState(struct ath_hal *ah, int request, const void *args, uint32_t argsize, void **result, uint32_t *resultsize); +extern HAL_BOOL ar5416SetRifsDelay(struct ath_hal *ah, HAL_BOOL enable); extern HAL_BOOL ar5416SetPowerMode(struct ath_hal *ah, HAL_POWER_MODE mode, int setChip); Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c Fri May 6 22:45:33 2011 (r221562) @@ -368,6 +368,25 @@ typedef struct { uint8_t qcu_complete_state; } hal_mac_hang_check_t; +HAL_BOOL +ar5416SetRifsDelay(struct ath_hal *ah, HAL_BOOL enable) +{ + uint32_t val; + + /* Only support disabling RIFS delay for now */ + HALASSERT(enable == AH_FALSE); + + if (enable == AH_TRUE) + return AH_FALSE; + + /* Change RIFS init delay to 0 */ + val = OS_REG_READ(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS); + val &= ~AR_PHY_RIFS_INIT_DELAY; + OS_REG_WRITE(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS, val); + + return AH_TRUE; +} + static HAL_BOOL ar5416CompareDbgHang(struct ath_hal *ah, const mac_dbg_regs_t *regs, const hal_mac_hang_check_t *check) Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c Fri May 6 22:45:13 2011 (r221561) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c Fri May 6 22:45:33 2011 (r221562) @@ -2520,11 +2520,8 @@ ar5416OverrideIni(struct ath_hal *ah, co * Disable RIFS search on some chips to avoid baseband * hang issues. */ - if (AR_SREV_HOWL(ah) || AR_SREV_SOWL(ah)) { - val = OS_REG_READ(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS); - val &= ~AR_PHY_RIFS_INIT_DELAY; - OS_REG_WRITE(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS, val); - } + if (AR_SREV_HOWL(ah) || AR_SREV_SOWL(ah)) + (void) ar5416SetRifsDelay(ah, AH_FALSE); } struct ini { Modified: projects/largeSMP/sys/dev/bm/if_bm.c ============================================================================== --- projects/largeSMP/sys/dev/bm/if_bm.c Fri May 6 22:45:13 2011 (r221561) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sat May 7 23:34:14 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BE7291065672; Sat, 7 May 2011 23:34:14 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AC70B8FC12; Sat, 7 May 2011 23:34:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p47NYEoE019604; Sat, 7 May 2011 23:34:14 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p47NYEEZ019588; Sat, 7 May 2011 23:34:14 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105072334.p47NYEEZ019588@svn.freebsd.org> From: Attilio Rao Date: Sat, 7 May 2011 23:34:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221613 - in projects/largeSMP: bin/sh contrib/top lib/libdwarf lib/libelf share/man/man5 share/mk sys/boot/common sys/cam/scsi sys/dev/ath/ath_hal sys/dev/ath/ath_hal/ar5416 sys/dev/at... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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: Sat, 07 May 2011 23:34:14 -0000 Author: attilio Date: Sat May 7 23:34:14 2011 New Revision: 221613 URL: http://svn.freebsd.org/changeset/base/221613 Log: MFC Added: projects/largeSMP/lib/libdwarf/dwarf_func.c - copied unchanged from r221612, head/lib/libdwarf/dwarf_func.c projects/largeSMP/tools/regression/bin/sh/expansion/length7.0 - copied unchanged from r221612, head/tools/regression/bin/sh/expansion/length7.0 projects/largeSMP/tools/regression/bin/sh/expansion/length8.0 - copied unchanged from r221612, head/tools/regression/bin/sh/expansion/length8.0 Modified: projects/largeSMP/bin/sh/expand.c projects/largeSMP/bin/sh/main.c projects/largeSMP/bin/sh/var.c projects/largeSMP/bin/sh/var.h projects/largeSMP/lib/libdwarf/Makefile projects/largeSMP/lib/libdwarf/_libdwarf.h projects/largeSMP/lib/libdwarf/dwarf_init.c projects/largeSMP/lib/libdwarf/libdwarf.h projects/largeSMP/lib/libelf/Makefile projects/largeSMP/lib/libelf/elf_data.c projects/largeSMP/lib/libelf/elf_getdata.3 projects/largeSMP/lib/libelf/libelf_data.c projects/largeSMP/share/man/man5/ar.5 projects/largeSMP/sys/boot/common/interp.c projects/largeSMP/sys/cam/scsi/scsi_cd.c projects/largeSMP/sys/dev/ath/ath_hal/ah.c projects/largeSMP/sys/dev/ath/ath_hal/ah.h projects/largeSMP/sys/dev/ath/ath_hal/ah_debug.h projects/largeSMP/sys/dev/ath/ath_hal/ah_internal.h projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416desc.h projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416phy.h projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/largeSMP/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c projects/largeSMP/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9280_olc.c projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9285_reset.c projects/largeSMP/sys/dev/usb/usbdevs projects/largeSMP/sys/dev/xl/if_xl.c projects/largeSMP/sys/dev/xl/if_xlreg.h projects/largeSMP/sys/i386/i386/machdep.c projects/largeSMP/sys/ia64/ia64/pmap.c projects/largeSMP/sys/kern/kern_environment.c projects/largeSMP/sys/sys/elf_common.h projects/largeSMP/usr.sbin/usbdump/usbdump.c Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/bin/sh/expand.c ============================================================================== --- projects/largeSMP/bin/sh/expand.c Sat May 7 22:20:01 2011 (r221612) +++ projects/largeSMP/bin/sh/expand.c Sat May 7 23:34:14 2011 (r221613) @@ -665,6 +665,7 @@ evalvar(char *p, int flag) int special; int startloc; int varlen; + int varlenb; int easy; int quotes = flag & (EXP_FULL | EXP_CASE | EXP_REDIR); @@ -712,8 +713,15 @@ again: /* jump here after setting a vari if (special) { varvalue(var, varflags & VSQUOTE, subtype, flag); if (subtype == VSLENGTH) { - varlen = expdest - stackblock() - startloc; - STADJUST(-varlen, expdest); + varlenb = expdest - stackblock() - startloc; + varlen = varlenb; + if (localeisutf8) { + val = stackblock() + startloc; + for (;val != expdest; val++) + if ((*val & 0xC0) == 0x80) + varlen--; + } + STADJUST(-varlenb, expdest); } } else { char const *syntax = (varflags & VSQUOTE) ? DQSYNTAX @@ -721,7 +729,9 @@ again: /* jump here after setting a vari if (subtype == VSLENGTH) { for (;*val; val++) - varlen++; + if (!localeisutf8 || + (*val & 0xC0) != 0x80) + varlen++; } else { if (quotes) Modified: projects/largeSMP/bin/sh/main.c ============================================================================== --- projects/largeSMP/bin/sh/main.c Sat May 7 22:20:01 2011 (r221612) +++ projects/largeSMP/bin/sh/main.c Sat May 7 23:34:14 2011 (r221613) @@ -76,6 +76,7 @@ __FBSDID("$FreeBSD$"); int rootpid; int rootshell; struct jmploc main_handler; +int localeisutf8; static void read_profile(const char *); static char *find_dot_file(char *); @@ -96,6 +97,7 @@ main(int argc, char *argv[]) char *shinit; (void) setlocale(LC_ALL, ""); + updatecharset(); state = 0; if (setjmp(main_handler.loc)) { switch (exception) { Modified: projects/largeSMP/bin/sh/var.c ============================================================================== --- projects/largeSMP/bin/sh/var.c Sat May 7 22:20:01 2011 (r221612) +++ projects/largeSMP/bin/sh/var.c Sat May 7 23:34:14 2011 (r221613) @@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$"); */ #include +#include #include "shell.h" #include "output.h" @@ -361,6 +362,7 @@ setvareq(char *s, int flags) if ((vp->flags & VEXPORT) && localevar(s)) { change_env(s, 1); (void) setlocale(LC_ALL, ""); + updatecharset(); } INTON; return; @@ -379,6 +381,7 @@ setvareq(char *s, int flags) if ((vp->flags & VEXPORT) && localevar(s)) { change_env(s, 1); (void) setlocale(LC_ALL, ""); + updatecharset(); } INTON; } @@ -480,6 +483,7 @@ bltinsetlocale(void) if (loc != NULL) { setlocale(LC_ALL, loc); INTON; + updatecharset(); return; } locdef = bltinlookup("LANG", 0); @@ -491,6 +495,7 @@ bltinsetlocale(void) setlocale(locale_categories[i], loc); } INTON; + updatecharset(); } /* @@ -505,12 +510,24 @@ bltinunsetlocale(void) for (lp = cmdenviron ; lp ; lp = lp->next) { if (localevar(lp->text)) { setlocale(LC_ALL, ""); + updatecharset(); return; } } INTON; } +/* + * Update the localeisutf8 flag. + */ +void +updatecharset(void) +{ + char *charset; + + charset = nl_langinfo(CODESET); + localeisutf8 = !strcmp(charset, "UTF-8"); +} /* * Generate a list of exported variables. This routine is used to construct @@ -656,6 +673,7 @@ exportcmd(int argc, char **argv) if ((vp->flags & VEXPORT) && localevar(vp->text)) { change_env(vp->text, 1); (void) setlocale(LC_ALL, ""); + updatecharset(); } goto found; } @@ -850,6 +868,7 @@ unsetvar(const char *s) if ((vp->flags & VEXPORT) && localevar(vp->text)) { change_env(s, 0); setlocale(LC_ALL, ""); + updatecharset(); } vp->flags &= ~VEXPORT; vp->flags |= VUNSET; Modified: projects/largeSMP/bin/sh/var.h ============================================================================== --- projects/largeSMP/bin/sh/var.h Sat May 7 22:20:01 2011 (r221612) +++ projects/largeSMP/bin/sh/var.h Sat May 7 23:34:14 2011 (r221613) @@ -81,6 +81,8 @@ extern struct var vhistsize; extern struct var vterm; #endif +extern int localeisutf8; + /* * The following macros access the values of the above variables. * They have to skip over the name. They return the null string @@ -112,6 +114,7 @@ char *lookupvar(const char *); char *bltinlookup(const char *, int); void bltinsetlocale(void); void bltinunsetlocale(void); +void updatecharset(void); char **environment(void); int showvarscmd(int, char **); int exportcmd(int, char **); Modified: projects/largeSMP/lib/libdwarf/Makefile ============================================================================== --- projects/largeSMP/lib/libdwarf/Makefile Sat May 7 22:20:01 2011 (r221612) +++ projects/largeSMP/lib/libdwarf/Makefile Sat May 7 23:34:14 2011 (r221613) @@ -14,6 +14,7 @@ SRCS= \ dwarf_errno.c \ dwarf_finish.c \ dwarf_form.c \ + dwarf_func.c \ dwarf_init.c \ dwarf_loc.c Modified: projects/largeSMP/lib/libdwarf/_libdwarf.h ============================================================================== --- projects/largeSMP/lib/libdwarf/_libdwarf.h Sat May 7 22:20:01 2011 (r221612) +++ projects/largeSMP/lib/libdwarf/_libdwarf.h Sat May 7 23:34:14 2011 (r221613) @@ -163,6 +163,37 @@ struct _Dwarf_Debug { dbg_cu; /* List of compilation units. */ Dwarf_CU dbg_cu_current; /* Ptr to the current compilation unit. */ + + STAILQ_HEAD(, _Dwarf_Func) dbg_func; /* List of functions */ +}; + +struct _Dwarf_Func { + Dwarf_Die func_die; + const char *func_name; + Dwarf_Addr func_low_pc; + Dwarf_Addr func_high_pc; + int func_is_inlined; + /* inlined instance */ + STAILQ_HEAD(, _Dwarf_Inlined_Func) func_inlined_instances; + STAILQ_ENTRY(_Dwarf_Func) func_next; }; +struct _Dwarf_Inlined_Func { + struct _Dwarf_Func *ifunc_origin; + Dwarf_Die ifunc_abstract; + Dwarf_Die ifunc_concrete; + Dwarf_Addr ifunc_low_pc; + Dwarf_Addr ifunc_high_pc; + STAILQ_ENTRY(_Dwarf_Inlined_Func) ifunc_next; +}; + +void dwarf_build_function_table(Dwarf_Debug dbg); + +#ifdef DWARF_DEBUG +#include +#define DWARF_ASSERT(x) assert(x) +#else +#define DWARF_ASSERT(x) +#endif + #endif /* !__LIBDWARF_H_ */ Copied: projects/largeSMP/lib/libdwarf/dwarf_func.c (from r221612, head/lib/libdwarf/dwarf_func.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/lib/libdwarf/dwarf_func.c Sat May 7 23:34:14 2011 (r221613, copy of r221612, head/lib/libdwarf/dwarf_func.c) @@ -0,0 +1,227 @@ +/*- + * Copyright (c) 2008-2009, 2011, Juniper Networks, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + * + * JNPR: dwarf_func.c 336441 2009-10-17 09:19:54Z deo + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include <_libdwarf.h> + +static void +dwarf_add_function(Dwarf_Debug dbg, Dwarf_Func func) +{ + + STAILQ_INSERT_TAIL(&dbg->dbg_func, func, func_next); +} + +int +dwarf_function_get_addr_range(Dwarf_Func f, Dwarf_Addr *low_pc, + Dwarf_Addr *high_pc) +{ + + *low_pc = f->func_low_pc; + *high_pc = f->func_high_pc; + return 0; +} + +int +dwarf_inlined_function_get_addr_range(Dwarf_Inlined_Func f, Dwarf_Addr *low_pc, + Dwarf_Addr *high_pc) +{ + + *low_pc = f->ifunc_low_pc; + *high_pc = f->ifunc_high_pc; + return 0; +} + +int +dwarf_function_is_inlined(Dwarf_Func f) +{ + + if (f->func_is_inlined == DW_INL_inlined || + f->func_is_inlined == DW_INL_declared_inlined) + return 1; + else + return 0; +} + +Dwarf_Func +dwarf_find_function_by_name(Dwarf_Debug dbg, const char *name) +{ + /* XXX: replace with a fast version */ + + Dwarf_Func func; + STAILQ_FOREACH(func, &dbg->dbg_func, func_next) { + if (strcmp(name, func->func_name) == 0) + return func; + } + return NULL; +} + +Dwarf_Func +dwarf_find_function_by_offset(Dwarf_Debug dbg, Dwarf_Off off) +{ + + Dwarf_Func func; + Dwarf_Die die; + /* printf("look for %llx\n", off); */ + STAILQ_FOREACH(func, &dbg->dbg_func, func_next) { + die = func->func_die; + if ((off_t)die->die_offset == off) { + return func; + } + } + return NULL; +} + +void +dwarf_build_function_table(Dwarf_Debug dbg) +{ + Dwarf_CU cu; + Dwarf_AttrValue av; + Dwarf_Die die, origin_die; + Dwarf_Func func, origin_func; + Dwarf_Inlined_Func ifunc; + unsigned long long offset; + const char *name; + Dwarf_Error error; + + /* + * find out all the functions + */ + STAILQ_FOREACH(cu, &dbg->dbg_cu, cu_next) { + STAILQ_FOREACH(die, &cu->cu_die, die_next) { + if (die->die_a->a_tag == DW_TAG_subprogram) { + /* + * Some function has multiple entries, i.e. + * if a function is inlined, it has many + * abstract/concrete instances, the abstract + * instances are with DW_TAG_subprogram. + */ + dwarf_attrval_string(die, DW_AT_name, &name, + &error); + func = dwarf_find_function_by_name(dbg, name); + if (func == NULL) { + func = malloc( + sizeof(struct _Dwarf_Func)); + DWARF_ASSERT(func); + + func->func_die = die; + func->func_name = name; + STAILQ_INIT( + &func->func_inlined_instances); + + dwarf_add_function(dbg, func); + STAILQ_FOREACH(av, &die->die_attrval, + av_next) { + switch (av->av_attrib) { + case DW_AT_low_pc: + func->func_low_pc = + av->u[0].u64; + break; + case DW_AT_high_pc: + func->func_high_pc = + av->u[0].u64; + break; + case DW_AT_inline: + func->func_is_inlined = + av->u[0].u64; + break; + } + } + } + } + } + } + + /* + * Now check the concrete inlined instances. + */ + STAILQ_FOREACH(cu, &dbg->dbg_cu, cu_next) { + STAILQ_FOREACH(die, &cu->cu_die, die_next) { + if (die->die_a->a_tag == DW_TAG_inlined_subroutine) { + ifunc = malloc( + sizeof(struct _Dwarf_Inlined_Func)); + DWARF_ASSERT(ifunc); + STAILQ_FOREACH(av, &die->die_attrval, av_next) { + switch (av->av_attrib) { + case DW_AT_abstract_origin: + offset = av->u[0].u64 + + die->die_cu->cu_offset; + origin_die = dwarf_die_find( + die, offset); + DWARF_ASSERT(origin_die != 0); + + /* + * the abstract origin must + * have been merged with + * another die + */ + dwarf_attrval_string( + origin_die, DW_AT_name, + &name, &error); + origin_func = + dwarf_find_function_by_name + (dbg, name); + DWARF_ASSERT(origin_func != 0); + + STAILQ_INSERT_TAIL( + &origin_func-> + func_inlined_instances, + ifunc, ifunc_next); + + break; + case DW_AT_low_pc: + ifunc->ifunc_low_pc = + av->u[0].u64; + break; + case DW_AT_high_pc: + ifunc->ifunc_high_pc = + av->u[0].u64; + break; + } + } + } + } + } +} + +void +dwarf_function_iterate_inlined_instance(Dwarf_Func func, + Dwarf_Inlined_Callback f, void *data) +{ + Dwarf_Inlined_Func ifunc; + + if (!dwarf_function_is_inlined(func)) + return; + STAILQ_FOREACH(ifunc, &func->func_inlined_instances, ifunc_next) { + f(ifunc, data); + } +} Modified: projects/largeSMP/lib/libdwarf/dwarf_init.c ============================================================================== --- projects/largeSMP/lib/libdwarf/dwarf_init.c Sat May 7 22:20:01 2011 (r221612) +++ projects/largeSMP/lib/libdwarf/dwarf_init.c Sat May 7 23:34:14 2011 (r221613) @@ -578,6 +578,9 @@ dwarf_init_info(Dwarf_Debug dbg, Dwarf_E offset = next_offset; } + /* Build the function table. */ + dwarf_build_function_table(dbg); + return ret; } @@ -686,6 +689,7 @@ dwarf_elf_init(Elf *elf, int mode, Dwarf dbg->dbg_mode = mode; STAILQ_INIT(&dbg->dbg_cu); + STAILQ_INIT(&dbg->dbg_func); *ret_dbg = dbg; Modified: projects/largeSMP/lib/libdwarf/libdwarf.h ============================================================================== --- projects/largeSMP/lib/libdwarf/libdwarf.h Sat May 7 22:20:01 2011 (r221612) +++ projects/largeSMP/lib/libdwarf/libdwarf.h Sat May 7 23:34:14 2011 (r221613) @@ -51,6 +51,7 @@ typedef struct _Dwarf_Debug *Dwarf_Debug typedef struct _Dwarf_Die *Dwarf_Die; typedef struct _Dwarf_Fde *Dwarf_Fde; typedef struct _Dwarf_Func *Dwarf_Func; +typedef struct _Dwarf_Inlined_Func *Dwarf_Inlined_Func; typedef struct _Dwarf_Global *Dwarf_Global; typedef struct _Dwarf_Line *Dwarf_Line; typedef struct _Dwarf_Type *Dwarf_Type; @@ -71,6 +72,9 @@ typedef struct { Dwarf_Loc *ld_s; } Dwarf_Locdesc; +/* receiver function for dwarf_function_iterate_inlined_instance() API */ +typedef void (*Dwarf_Inlined_Callback)(Dwarf_Inlined_Func, void *); + /* * Error numbers which are specific to this implementation. */ @@ -157,6 +161,16 @@ void dwarf_dump_strtab(Dwarf_Debug); void dwarf_dump_symtab(Dwarf_Debug); void dwarf_dump_raw(Dwarf_Debug); void dwarf_dump_tree(Dwarf_Debug); +Dwarf_Func dwarf_find_function_by_offset(Dwarf_Debug dbg, Dwarf_Off off); +Dwarf_Func dwarf_find_function_by_name(Dwarf_Debug dbg, const char *name); +int dwarf_function_get_addr_range(Dwarf_Func f, + Dwarf_Addr *low_pc, Dwarf_Addr *high_pc); +int dwarf_function_is_inlined(Dwarf_Func f); +void dwarf_function_iterate_inlined_instance(Dwarf_Func func, + Dwarf_Inlined_Callback f, void *data); +int dwarf_inlined_function_get_addr_range(Dwarf_Inlined_Func f, + Dwarf_Addr *low_pc, Dwarf_Addr *high_pc); + __END_DECLS #endif /* !_LIBDWARF_H_ */ Modified: projects/largeSMP/lib/libelf/Makefile ============================================================================== --- projects/largeSMP/lib/libelf/Makefile Sat May 7 22:20:01 2011 (r221612) +++ projects/largeSMP/lib/libelf/Makefile Sat May 7 23:34:14 2011 (r221613) @@ -57,7 +57,7 @@ INCS= libelf.h gelf.h GENSRCS= libelf_fsize.c libelf_msize.c libelf_convert.c CLEANFILES= ${GENSRCS} -CFLAGS+= -I. -I${.CURDIR} +CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../../sys SHLIB_MAJOR= 1 Modified: projects/largeSMP/lib/libelf/elf_data.c ============================================================================== --- projects/largeSMP/lib/libelf/elf_data.c Sat May 7 22:20:01 2011 (r221612) +++ projects/largeSMP/lib/libelf/elf_data.c Sat May 7 23:34:14 2011 (r221613) @@ -225,7 +225,8 @@ elf_rawdata(Elf_Scn *s, Elf_Data *d) if ((d = _libelf_allocate_data(s)) == NULL) return (NULL); - d->d_buf = sh_type == SHT_NOBITS ? NULL : e->e_rawfile + sh_offset; + d->d_buf = (sh_type == SHT_NOBITS || sh_size == 0) ? NULL : + e->e_rawfile + sh_offset; d->d_off = 0; d->d_align = sh_align; d->d_size = sh_size; Modified: projects/largeSMP/lib/libelf/elf_getdata.3 ============================================================================== --- projects/largeSMP/lib/libelf/elf_getdata.3 Sat May 7 22:20:01 2011 (r221612) +++ projects/largeSMP/lib/libelf/elf_getdata.3 Sat May 7 23:34:14 2011 (r221613) @@ -1,4 +1,4 @@ -.\" Copyright (c) 2006,2008,2010 Joseph Koshy. All rights reserved. +.\" Copyright (c) 2006,2008,2010-2011 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 30, 2010 +.Dd January 26, 2011 .Dt ELF_GETDATA 3 .Os .Sh NAME @@ -142,9 +142,10 @@ always returns .Vt Elf_Data structures of type .Dv ELF_T_BYTE . -.Ss Special handling of SHT_NOBITS sections +.Ss Special handling of zero-sized and SHT_NOBITS sections For sections of type -.Dv SHT_NOBITS , +.Dv SHT_NOBITS, +and for zero-sized sections, the functions .Fn elf_getdata and Modified: projects/largeSMP/lib/libelf/libelf_data.c ============================================================================== --- projects/largeSMP/lib/libelf/libelf_data.c Sat May 7 22:20:01 2011 (r221612) +++ projects/largeSMP/lib/libelf/libelf_data.c Sat May 7 23:34:14 2011 (r221613) @@ -84,6 +84,8 @@ _libelf_xlate_shtype(uint32_t sht) case SHT_SUNW_dof: return (ELF_T_BYTE); #endif + case SHT_MIPS_DWARF: + /* FALLTHROUGH */ case SHT_AMD64_UNWIND: /* == SHT_IA_64_UNWIND */ return (ELF_T_BYTE); default: Modified: projects/largeSMP/share/man/man5/ar.5 ============================================================================== --- projects/largeSMP/share/man/man5/ar.5 Sat May 7 22:20:01 2011 (r221612) +++ projects/largeSMP/share/man/man5/ar.5 Sat May 7 23:34:14 2011 (r221613) @@ -1,4 +1,4 @@ -.\" Copyright (c) 2007 Joseph Koshy. All rights reserved. +.\" Copyright (c) 2010 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -9,226 +9,319 @@ .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" -.\" This software is provided by Joseph Koshy ``as is'' and -.\" any express or implied warranties, including, but not limited to, the -.\" implied warranties of merchantability and fitness for a particular purpose -.\" are disclaimed. in no event shall Joseph Koshy be liable -.\" for any direct, indirect, incidental, special, exemplary, or consequential -.\" damages (including, but not limited to, procurement of substitute goods -.\" or services; loss of use, data, or profits; or business interruption) -.\" however caused and on any theory of liability, whether in contract, strict -.\" liability, or tort (including negligence or otherwise) arising in any way -.\" out of the use of this software, even if advised of the possibility of -.\" such damage. +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" -.Dd September 7, 2007 -.Dt AR 5 +.Dd November 28, 2010 .Os +.Dt AR 5 .Sh NAME .Nm ar -.Nd format of archives managed by ar(1) and ranlib(1) +.Nd archive file format for +.Xr ar 1 +and +.Xr ranlib 1 .Sh SYNOPSIS .In ar.h .Sh DESCRIPTION -An archive managed by the +.Xr ar 1 +archives are created and managed by the .Xr ar 1 and .Xr ranlib 1 -utilities is a single file that stores the individual members of the -archive along with metadata for each member. -There are two major variants of the +utilities. +These archives are typically used during program development to +hold libraries of program objects. +An +.Xr ar 1 +archive is contained in a single operating system file. +.Pp +This manual page documents two variants of the .Xr ar 1 -archive format, the BSD variant and the SVR4/GNU variant. -Both variants are described by this manual page. +archive format: the BSD archive format, and the SVR4/GNU archive +format. .Pp -The header file +In both variants the archive file starts with an identifying byte +sequence of the seven ASCII characters +.Sq Li "!" +followed by a ASCII linefeed character +.Po +see the constant +.Dq ARMAG +in the header file .In ar.h -defines constants and structures used to describe the layout -of these archives. -.Ss Archive Layout -.Xr ar 1 -archives start with a string of magic bytes -.Qq !\en -(constant -.Dv ARMAG -in header -.In ar.h ) . -The content of the archive follows the magic bytes. -Each member stored in the archive is preceded by a fixed size -archive header that stores file permissions, last modification -time, the owner, and the group of the archived file. -.Pp -Archive headers start at an even byte offset in the archive -file. -If the length of the preceding archive member was odd, then an extra -newline character -.Dq "\en" -is used as padding. -.Pp -The archive header comprises six fixed-size ASCII strings followed -by a two character trailer (see -.Vt "struct ar_hdr" -in header file -.In ar.h Ns ): -.Bd -literal -struct ar_hdr { - char ar_name[16]; /* name */ - char ar_date[12]; /* modification time */ - char ar_uid[6]; /* user id */ - char ar_gid[6]; /* group id */ - char ar_mode[8]; /* octal file permissions */ - char ar_size[10]; /* size in bytes */ - char ar_fmag[2]; /* consistency check */ -}; -.Ed -.Pp -Unused characters in the header are filled with space (ASCII 20H) -characters. -Each field of the header abuts the next without additional padding. -.Pp -The members of the archive header are as follows: -.Bl -tag -width "Va ar_name" -compact -.It Va ar_date -This field holds the decimal representation of the -modification time, in seconds since the epoch, of the archive -member. -.It Va ar_fmag -This trailer field holds the two characters -.Qq `\en -(constant -.Dv ARFMAG -defined in header file -.In ar.h Ns ), -and is used for consistency checks. -.It Va ar_gid -This field holds the decimal representation of the numeric -user id of the creator of the member. -.It Va ar_mode -This field holds octal representation of the file permissions -for the member. -.It Va ar_name -This field holds the name of an archive member. -The usage of this field depends on the format variant: -.Bl -tag -width "SVR4/GNU" -compact -.It BSD -In the BSD variant, names that are shorter than 16 characters and -without embedded spaces are stored directly in this field. -If a name has an embedded space, or if it is longer than 16 -characters, then the string -.Qq "#1/" -followed by the decimal representation of the length of the file name -is placed in this field. -The actual file name is stored immediately after the archive header. -The content of the archive member follows the file name. +.Pc . +.Pp +Archive members follow the initial identifying byte sequence. +Each archive member is prefixed by a fixed size header describing the +file attributes associated with the member. +.Ss "Archive Headers" +An archive header describes the file attributes for the archive member that +follows it. The -.Va ar_size -field of the header (see below) will then hold the sum of the size of -the file name and the size of the member. -.It SVR4/GNU -In the SVR4/GNU variant, names up to 15 characters in length are -stored directly in this field, and are terminated by a -.Qq / -(ASCII 2FH) character. -Names larger than 15 characters in length are stored in a special -archive string table member (see -.Sx "Archive String Table" -below), and the -.Va ar_name -field holds the string -.Qq "/" -followed by the decimal representation of the offset in the archive -string table of the actual name. +.Xr ar 5 +format only supports a limited number of attributes: the file name, +the file creation time stamp, the uid and gid of the creator, the file +mode and the file size. +.Pp +Archive headers are placed at an even byte offset in the archive file. +If the data for an archive member ends at an odd byte offset, then a +padding byte with value 0x0A is used to position the next archive +header on an even byte offset. +.Pp +An archive header comprises the following fixed sized fields: +.Bl -tag -width "Li ar_name" +.It Ar ar_name +(16 bytes) The file name of the archive member. +The format of this field varies between the BSD and SVR4/GNU formats and +is described in more detail in the section +.Sx "Representing File Names" +below. +.It Ar ar_date +(12 bytes) The file modification time for the member in seconds since the +epoch, encoded as a decimal number. +.It Ar ar_uid +(6 bytes) The uid associated with the archive member, encoded as a +decimal number. +.It Ar ar_gid +(6 bytes) The gid associated with the archive member, encoded as a +decimal number. +.It Ar ar_mode +(8 bytes) The file mode for the archive member, encoded as an octal +number. +.It Ar ar_size +(10 bytes) In the SVR4/GNU archive format this field holds the size in +bytes of the archive member, encoded as a decimal number. +In the BSD archive format, for short file names, this field +holds the size in bytes of the archive member, encoded as a decimal +number. +For long file names +.Po +see +.Sx "Representing File Names" +below +.Pc , +the field contains the combined size of the +archive member and its file name, encoded as a decimal number. +.It Ar ar_fmag +(2 bytes) This field holds 2 bytes with values 0x96 and 0x0A +respectively, marking the end of the header. +.El +.Pp +Unused bytes in the fields of an archive header are set to the value +0x20. +.Ss "Representing File Names" +The BSD and SVR4/GNU variants use different schemes for encoding file +names for members. +.Bl -tag -width "SVR4/GNU" +.It "BSD" +File names that are upto 16 bytes long and which do not contain +embedded spaces are stored directly in the +.Ar ar_name +field of the archive header. +File names that are either longer than 16 bytes or which contain +embedded spaces are stored immediately after the archive header +and the +.Ar ar_name +field of the archive header is set to the string +.Dq "#1/" +followed by a decimal representation of the number of bytes needed for +the file name. +In addition, the +.Ar ar_size +field of the archive header is set to the decimal representation of +the combined sizes of the archive member and the file name. +The file contents of the member follows the file name without further +padding. +.Pp +As an example, if the file name for a member was +.Dq "A B" +and its contents was the string +.Dq "C D" , +then the +.Ar ar_name +field of the header would contain +.Dq Li "#1/3" , +the +.Ar ar_size +field of the header would contain +.Dq Li 6 , +and the bytes immediately following the header would be 0x41, 0x20, +0x42, 0x43, 0x20 and 0x44 +.Po +ASCII +.Dq "A BC D" +.Pc . +.It "SVR4/GNU" +File names that are upto 15 characters long are stored directly in the +.Ar ar_name +field of the header, terminated by a +.Dq Li / +character. +.Pp +If the file name is larger than would fit in space for the +.Ar ar_name +field, then the actual file name is kept in the archive +string table +.Po +see +.Sx "Archive String Tables" +below +.Pc , +and the decimal offset of the file name in the string table is stored +in the +.Ar ar_name +field, prefixed by a +.Dq Li / +character. +.Pp +As an example, if the real file name has been stored at offset 768 in +the archive string table, the +.Ar ar_name +field of the header will contain the string +.Dq /768 . .El -.It Va ar_size -In the SVR4/GNU variant, this field holds the decimal representation -of actual size in bytes of the archived file. -In the BSD variant, for member names that use the -.Va ar_name -field directly, this field holds the decimal representation of the -actual size in bytes of the archived member. -For member names that use the extension mechanism described above, the -field will hold the sum of the sizes, in bytes, of the filename and the -archive member. -.It Va ar_uid -This field holds the decimal representation of the numeric -group id of the creator of the member. +.Ss "Special Archive Members" +The following archive members are special. +.Bl -tag -width indent +.It Dq Li / +In the SVR4/GNU variant of the archive format, the archive member with +name +.Dq Li / +denotes an archive symbol table. +If present, this member will be the very first member in the +archive. +.It Dq Li // +In the SVR4/GNU variant of the archive format, the archive member with +name +.Dq Li // +denotes the archive string table. +This special member is used to hold filenames that do not fit in the +file name field of the header +.Po +see +.Sx "Representing File Names" +above +.Pc . +If present, this member immediately follows the archive symbol table +if an archive symbol table is present, or is the first member otherwise. +.It Dq Li "__.SYMDEF" +This special member contains the archive symbol table in the BSD +variant of the archive format. +If present, this member will be the very first member in the +archive. .El -.Ss Archive Symbol Table -An archive may additionally contain an archive symbol table -used by the link editor, -.Xr ld 1 . -This symbol table has the member name -.Qq __.SYMDEF -in the BSD variant of the archive format, and the name -.Qq / -in the SVR4/GNU variant. +.Ss "Archive String Tables" +An archive string table is used in the SVR4/GNU archive format to hold +file names that are too large to fit into the constraints of the +.Ar ar_name +field of the archive header. +An archive string table contains a sequence of file names. +Each file name in the archive string table is terminated by the +byte sequence 0x2F, 0x0A +.Po +the ASCII string +.Dq "/\en" +.Pc . +No padding is used to separate adjacent file names. +.Ss "Archive Symbol Tables" +Archive symbol tables are used to speed up link editing by providing a +mapping between the program symbols defined in the archive +and the corresponding archive members. +Archive symbol tables are managed by the +.Xr ranlib 1 +utility. .Pp -The format of the symbol table depends on the format variant: -.Bl -tag -width "SVR4/GNU" -compact +The format of archive symbol tables is as follows: +.Bl -tag -width "SVR4/GNU" .It BSD -In the BSD variant, the symbol table has 4 parts encoded in -a machine dependent manner: -.Bl -enum -compact -.It -The first part is a binary value containing size in bytes of the -second part encoded as a C -.Dq long . -.It -The second part is a list of -.Vt struct ranlib -structures (see -.In ranlib.h Ns ). -Each ranlib structure describes one symbol and comprises of -two C -.Dq long -values. -The first -.Dq long -is a zero-based offset into the string table in the fourth part -for the symbol's name. -The second -.Dq long -is an offset from the beginning of the archive to the start -of the archive header for the member that defines the symbol. -.It -The third part is a binary value denoting the length of the -string table contained in the fourth part. -.It -The fourth part is a string table containing NUL-terminated -strings. +In the BSD archive format, the archive symbol table comprises +of two parts: a part containing an array of +.Vt "struct ranlib" +descriptors, followed by a part containing a symbol string table. +The sizes and layout of the structures that make up a BSD format +archive symbol table are machine dependent. +.Pp +The part containing +.Vt "struct ranlib" +descriptors begins with a field containing the size in bytes of the +array of +.Vt "struct ranlib" +descriptors encoded as a C +.Vt long +value. +.Pp +The array of +.Vt "struct ranlib" +descriptors follows the size field. +Each +.Vt "struct ranlib" +descriptor describes one symbol. *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***