From owner-svn-src-projects@FreeBSD.ORG  Sun Nov  1 16:54:22 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 1D1EB1065692;
	Sun,  1 Nov 2009 16:54:22 +0000 (UTC)
	(envelope-from nwhitehorn@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 0694C8FC25;
	Sun,  1 Nov 2009 16:54:22 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA1GsMjL028428;
	Sun, 1 Nov 2009 16:54:22 GMT
	(envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA1GsLA0028395;
	Sun, 1 Nov 2009 16:54:21 GMT
	(envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <200911011654.nA1GsLA0028395@svn.freebsd.org>
From: Nathan Whitehorn <nwhitehorn@FreeBSD.org>
Date: Sun, 1 Nov 2009 16:54:21 +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: r198753 - in projects/ppc64: . bin/sh contrib/ncurses
	contrib/ncurses/ncurses/base gnu/lib/libgcov lib/libbluetooth
	lib/libc/gen lib/libc/sys lib/libpmc lib/libstand
	lib/libthr/arch/ia6...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 01 Nov 2009 16:54:22 -0000

Author: nwhitehorn
Date: Sun Nov  1 16:54:20 2009
New Revision: 198753
URL: http://svn.freebsd.org/changeset/base/198753

Log:
  IFC @ 198752 to pick up 32-bit PPC bug fixes.

Added:
  projects/ppc64/lib/libc/sys/pselect.2
     - copied unchanged from r198752, head/lib/libc/sys/pselect.2
  projects/ppc64/lib/libthr/arch/ia64/ia64/_umtx_op_err.S
     - copied unchanged from r198752, head/lib/libthr/arch/ia64/ia64/_umtx_op_err.S
  projects/ppc64/sys/contrib/dev/iwn/iwlwifi-4965-228.57.2.23.fw.uu
     - copied unchanged from r198752, head/sys/contrib/dev/iwn/iwlwifi-4965-228.57.2.23.fw.uu
  projects/ppc64/sys/contrib/dev/iwn/iwlwifi-5000-5.4.A.11.fw.uu
     - copied unchanged from r198752, head/sys/contrib/dev/iwn/iwlwifi-5000-5.4.A.11.fw.uu
  projects/ppc64/sys/contrib/dev/iwn/iwlwifi-5150-8.24.2.2.fw.uu
     - copied unchanged from r198752, head/sys/contrib/dev/iwn/iwlwifi-5150-8.24.2.2.fw.uu
  projects/ppc64/sys/ia64/ia64/highfp.c
     - copied unchanged from r198752, head/sys/ia64/ia64/highfp.c
  projects/ppc64/sys/modules/iwnfw/Makefile.inc
     - copied unchanged from r198752, head/sys/modules/iwnfw/Makefile.inc
  projects/ppc64/sys/modules/iwnfw/iwn4965/
     - copied from r198752, head/sys/modules/iwnfw/iwn4965/
  projects/ppc64/sys/modules/iwnfw/iwn5000/
     - copied from r198752, head/sys/modules/iwnfw/iwn5000/
  projects/ppc64/sys/modules/iwnfw/iwn5150/
     - copied from r198752, head/sys/modules/iwnfw/iwn5150/
  projects/ppc64/tools/regression/bin/sh/expansion/question1.0
     - copied unchanged from r198752, head/tools/regression/bin/sh/expansion/question1.0
  projects/ppc64/tools/regression/bin/sh/expansion/set-u1.0
     - copied unchanged from r198752, head/tools/regression/bin/sh/expansion/set-u1.0
  projects/ppc64/tools/regression/bin/sh/expansion/set-u2.0
     - copied unchanged from r198752, head/tools/regression/bin/sh/expansion/set-u2.0
Deleted:
  projects/ppc64/lib/libc/gen/pselect.3
  projects/ppc64/lib/libc/gen/pselect.c
  projects/ppc64/sys/contrib/dev/iwn/iwlwifi-4965-4.44.17.fw.uu
Modified:
  projects/ppc64/   (props changed)
  projects/ppc64/Makefile.inc1
  projects/ppc64/ObsoleteFiles.inc
  projects/ppc64/UPDATING
  projects/ppc64/bin/sh/expand.c
  projects/ppc64/bin/sh/sh.1
  projects/ppc64/contrib/ncurses/   (props changed)
  projects/ppc64/contrib/ncurses/ncurses/base/lib_getch.c
  projects/ppc64/gnu/lib/libgcov/Makefile
  projects/ppc64/lib/libbluetooth/bluetooth.3
  projects/ppc64/lib/libbluetooth/bluetooth.h
  projects/ppc64/lib/libc/gen/Makefile.inc
  projects/ppc64/lib/libc/gen/Symbol.map
  projects/ppc64/lib/libc/sys/Makefile.inc
  projects/ppc64/lib/libc/sys/Symbol.map
  projects/ppc64/lib/libpmc/libpmc.c
  projects/ppc64/lib/libstand/open.c
  projects/ppc64/lib/libthr/arch/ia64/Makefile.inc
  projects/ppc64/lib/libthr/arch/ia64/include/pthread_md.h
  projects/ppc64/lib/libthr/thread/thr_syscalls.c
  projects/ppc64/sbin/camcontrol/camcontrol.c
  projects/ppc64/sbin/ddb/ddb_capture.c
  projects/ppc64/sbin/geom/class/part/Makefile
  projects/ppc64/sbin/geom/class/part/geom_part.c
  projects/ppc64/sbin/mknod/mknod.8
  projects/ppc64/sbin/mount_nfs/mount_nfs.c
  projects/ppc64/share/man/man4/acpi_hp.4
  projects/ppc64/share/man/man4/acpi_wmi.4
  projects/ppc64/share/man/man4/atapicam.4
  projects/ppc64/share/man/man4/bge.4
  projects/ppc64/share/man/man4/iwn.4
  projects/ppc64/share/man/man4/iwnfw.4
  projects/ppc64/share/man/man4/msk.4
  projects/ppc64/share/man/man4/umass.4
  projects/ppc64/share/man/man5/regdomain.5
  projects/ppc64/share/man/man9/Makefile
  projects/ppc64/share/man/man9/get_cyclecount.9
  projects/ppc64/share/zoneinfo/   (props changed)
  projects/ppc64/share/zoneinfo/southamerica
  projects/ppc64/sys/   (props changed)
  projects/ppc64/sys/amd64/amd64/machdep.c
  projects/ppc64/sys/amd64/ia32/ia32_signal.c
  projects/ppc64/sys/amd64/linux32/linux32_machdep.c
  projects/ppc64/sys/amd64/linux32/linux32_sysvec.c
  projects/ppc64/sys/arm/arm/machdep.c
  projects/ppc64/sys/arm/mv/mv_sata.c
  projects/ppc64/sys/boot/common/commands.c
  projects/ppc64/sys/cam/ata/ata_da.c
  projects/ppc64/sys/cam/ata/ata_pmp.c
  projects/ppc64/sys/cam/ata/ata_xpt.c
  projects/ppc64/sys/cam/cam.h
  projects/ppc64/sys/cam/cam_ccb.h
  projects/ppc64/sys/cam/cam_periph.h
  projects/ppc64/sys/cam/cam_xpt.c
  projects/ppc64/sys/cam/cam_xpt_internal.h
  projects/ppc64/sys/cam/scsi/scsi_da.c
  projects/ppc64/sys/cam/scsi/scsi_sg.c
  projects/ppc64/sys/cam/scsi/scsi_xpt.c
  projects/ppc64/sys/cddl/compat/opensolaris/sys/vnode.h
  projects/ppc64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  projects/ppc64/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h
  projects/ppc64/sys/compat/freebsd32/freebsd32_misc.c
  projects/ppc64/sys/compat/freebsd32/freebsd32_proto.h
  projects/ppc64/sys/compat/freebsd32/freebsd32_syscall.h
  projects/ppc64/sys/compat/freebsd32/freebsd32_syscalls.c
  projects/ppc64/sys/compat/freebsd32/freebsd32_sysent.c
  projects/ppc64/sys/compat/freebsd32/syscalls.master
  projects/ppc64/sys/compat/linux/linux_socket.c
  projects/ppc64/sys/conf/NOTES
  projects/ppc64/sys/conf/files
  projects/ppc64/sys/conf/files.ia64
  projects/ppc64/sys/contrib/dev/iwn/LICENSE
  projects/ppc64/sys/dev/aac/aac.c
  projects/ppc64/sys/dev/aac/aac_cam.c
  projects/ppc64/sys/dev/aac/aacreg.h
  projects/ppc64/sys/dev/aac/aacvar.h
  projects/ppc64/sys/dev/acpi_support/acpi_aiboost.c
  projects/ppc64/sys/dev/aic7xxx/aic79xx_pci.c
  projects/ppc64/sys/dev/amr/amr.c
  projects/ppc64/sys/dev/ata/ata-all.c
  projects/ppc64/sys/dev/ata/ata-all.h
  projects/ppc64/sys/dev/ata/ata-disk.c
  projects/ppc64/sys/dev/ata/ata-dma.c
  projects/ppc64/sys/dev/ata/ata-lowlevel.c
  projects/ppc64/sys/dev/ata/ata-pci.c
  projects/ppc64/sys/dev/ata/ata-pci.h
  projects/ppc64/sys/dev/ata/ata-queue.c
  projects/ppc64/sys/dev/ata/ata-raid.c
  projects/ppc64/sys/dev/ata/ata-sata.c
  projects/ppc64/sys/dev/ata/atapi-cam.c
  projects/ppc64/sys/dev/ata/atapi-cd.c
  projects/ppc64/sys/dev/ata/chipsets/ata-adaptec.c
  projects/ppc64/sys/dev/ata/chipsets/ata-ahci.c
  projects/ppc64/sys/dev/ata/chipsets/ata-intel.c
  projects/ppc64/sys/dev/ata/chipsets/ata-marvell.c
  projects/ppc64/sys/dev/ata/chipsets/ata-nvidia.c
  projects/ppc64/sys/dev/ata/chipsets/ata-promise.c
  projects/ppc64/sys/dev/ata/chipsets/ata-serverworks.c
  projects/ppc64/sys/dev/ata/chipsets/ata-siliconimage.c
  projects/ppc64/sys/dev/ata/chipsets/ata-via.c
  projects/ppc64/sys/dev/drm/drmP.h
  projects/ppc64/sys/dev/drm/drm_scatter.c
  projects/ppc64/sys/dev/drm/r600_blit.c
  projects/ppc64/sys/dev/drm/radeon_cp.c
  projects/ppc64/sys/dev/fdc/fdc.c
  projects/ppc64/sys/dev/hwpmc/hwpmc_core.c
  projects/ppc64/sys/dev/iwn/if_iwn.c
  projects/ppc64/sys/dev/iwn/if_iwnreg.h
  projects/ppc64/sys/dev/iwn/if_iwnvar.h
  projects/ppc64/sys/dev/msk/if_msk.c
  projects/ppc64/sys/dev/msk/if_mskreg.h
  projects/ppc64/sys/dev/pci/pci.c
  projects/ppc64/sys/dev/sym/sym_hipd.c
  projects/ppc64/sys/dev/xen/xenpci/   (props changed)
  projects/ppc64/sys/fs/smbfs/smbfs_vfsops.c
  projects/ppc64/sys/fs/tmpfs/tmpfs_subr.c
  projects/ppc64/sys/i386/bios/apm.c
  projects/ppc64/sys/i386/i386/machdep.c
  projects/ppc64/sys/i386/linux/linux_machdep.c
  projects/ppc64/sys/i386/linux/linux_sysvec.c
  projects/ppc64/sys/ia64/conf/GENERIC
  projects/ppc64/sys/ia64/ia64/interrupt.c
  projects/ppc64/sys/ia64/ia64/machdep.c
  projects/ppc64/sys/ia64/ia64/trap.c
  projects/ppc64/sys/ia64/ia64/vm_machdep.c
  projects/ppc64/sys/ia64/include/md_var.h
  projects/ppc64/sys/ia64/include/param.h
  projects/ppc64/sys/ia64/include/proc.h
  projects/ppc64/sys/kern/init_sysent.c
  projects/ppc64/sys/kern/kern_context.c
  projects/ppc64/sys/kern/kern_cpuset.c
  projects/ppc64/sys/kern/kern_sig.c
  projects/ppc64/sys/kern/kern_thread.c
  projects/ppc64/sys/kern/subr_trap.c
  projects/ppc64/sys/kern/sys_generic.c
  projects/ppc64/sys/kern/sys_process.c
  projects/ppc64/sys/kern/syscalls.c
  projects/ppc64/sys/kern/syscalls.master
  projects/ppc64/sys/kern/systrace_args.c
  projects/ppc64/sys/kern/sysv_shm.c
  projects/ppc64/sys/kern/uipc_syscalls.c
  projects/ppc64/sys/mips/mips/pm_machdep.c
  projects/ppc64/sys/modules/iwnfw/Makefile
  projects/ppc64/sys/net80211/ieee80211_hwmp.c
  projects/ppc64/sys/netgraph/NOTES
  projects/ppc64/sys/netinet/ip_input.c
  projects/ppc64/sys/netinet/libalias/alias.c
  projects/ppc64/sys/netinet/sctp_cc_functions.c
  projects/ppc64/sys/netinet/sctp_output.c
  projects/ppc64/sys/pc98/pc98/machdep.c
  projects/ppc64/sys/powerpc/aim/copyinout.c
  projects/ppc64/sys/powerpc/aim/machdep.c
  projects/ppc64/sys/powerpc/aim/swtch.S
  projects/ppc64/sys/powerpc/booke/machdep.c
  projects/ppc64/sys/powerpc/include/hid.h
  projects/ppc64/sys/powerpc/powermac/hrowpic.c
  projects/ppc64/sys/powerpc/powerpc/cpu.c
  projects/ppc64/sys/powerpc/powerpc/stack_machdep.c
  projects/ppc64/sys/sparc64/include/in_cksum.h
  projects/ppc64/sys/sparc64/sparc64/machdep.c
  projects/ppc64/sys/sun4v/sun4v/machdep.c
  projects/ppc64/sys/sys/aac_ioctl.h
  projects/ppc64/sys/sys/ata.h
  projects/ppc64/sys/sys/conf.h
  projects/ppc64/sys/sys/signalvar.h
  projects/ppc64/sys/sys/syscall.h
  projects/ppc64/sys/sys/syscall.mk
  projects/ppc64/sys/sys/syscallsubr.h
  projects/ppc64/sys/sys/sysproto.h
  projects/ppc64/sys/sys/time.h
  projects/ppc64/sys/tools/fw_stub.awk
  projects/ppc64/sys/vm/vm_fault.c
  projects/ppc64/sys/vm/vm_map.c
  projects/ppc64/usr.bin/bsdiff/bsdiff/bsdiff.1
  projects/ppc64/usr.bin/bsdiff/bspatch/bspatch.1
  projects/ppc64/usr.bin/logger/logger.c
  projects/ppc64/usr.bin/vmstat/vmstat.c
  projects/ppc64/usr.sbin/crashinfo/crashinfo.sh
  projects/ppc64/usr.sbin/mfiutil/mfiutil.8   (props changed)
  projects/ppc64/usr.sbin/sysinstall/cdrom.c
  projects/ppc64/usr.sbin/usbconfig/usbconfig.8

Modified: projects/ppc64/Makefile.inc1
==============================================================================
--- projects/ppc64/Makefile.inc1	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/Makefile.inc1	Sun Nov  1 16:54:20 2009	(r198753)
@@ -272,7 +272,7 @@ LIB32CPUFLAGS=	-march=i686 -mmmx -msse -
 LIB32CPUFLAGS=	-march=${TARGET_CPUTYPE}
 .endif
 LIB32FLAGS=	-m32 ${LIB32CPUFLAGS} -mfancy-math-387 -DCOMPAT_32BIT \
-		-iprefix ${LIB32TMP}/usr/ \
+		-isystem ${LIB32TMP}/usr/include/ \
 		-L${LIB32TMP}/usr/lib32 \
 		-B${LIB32TMP}/usr/lib32
 
@@ -599,11 +599,14 @@ installcheck_UGID:
 .if ${MK_INFO} != "no"
 _install-info=	install-info
 .endif
+.if ${MK_ZONEINFO} != "no"
+_zoneinfo=	zic tzsetup
+.endif
 
 ITOOLS=	[ awk cap_mkdb cat chflags chmod chown \
 	date echo egrep find grep ${_install-info} \
 	ln lockf make mkdir mtree mv pwd_mkdb rm sed sh sysctl \
-	test true uname wc zic
+	test true uname wc ${_zoneinfo}
 
 #
 # distributeworld

Modified: projects/ppc64/ObsoleteFiles.inc
==============================================================================
--- projects/ppc64/ObsoleteFiles.inc	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/ObsoleteFiles.inc	Sun Nov  1 16:54:20 2009	(r198753)
@@ -14,6 +14,11 @@
 # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
 #
 
+# 20091027: pselect.3 implemented as syscall
+OLD_FILES+=usr/share/man/man3/pselect.3.gz
+# 20091005: fusword.9 and susword.9 removed
+OLD_FILES+=usr/share/man/man9/fusword.9.gz
+OLD_FILES+=usr/share/man/man9/susword.9.gz
 # 20090909: vesa and dpms promoted to be i386/amd64 common
 OLD_FILES+=usr/include/machine/pc/vesa.h
 OLD_FILES+=usr/share/man/man4/i386/dpms.4.gz
@@ -26,6 +31,49 @@ OLD_FILES+=usr/share/man/man8/lukemftpd.
 OLD_FILES+=etc/mtree/BSD.local.dist
 OLD_FILES+=etc/mtree/BSD.x11.dist
 OLD_FILES+=etc/mtree/BSD.x11-4.dist
+# 20090812: net80211 documentation overhaul
+OLD_FILES+=usr/share/man/man9/ieee80211_add_rates.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_add_xrates.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_alloc_node.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_attach.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_begin_scan.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_cfgget.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_cfgset.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_chan2ieee.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_chan2mode.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_create_ibss.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_crypto_attach.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_crypto_detach.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_decap.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_dump_pkt.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_dup_bss.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_encap.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_end_scan.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_find_node.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_fix_rate.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_free_allnodes.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_ieee2mhz.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_ioctl.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_lookup_node.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_media2rate.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_media_change.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_media_init.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_media_status.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_mhz2ieee.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_next_scan.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_node_attach.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_node_detach.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_node_lateattach.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_print_essid.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_proto_attach.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_proto_detach.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_rate2media.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_recv_mgmt.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_send_mgmt.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_setmode.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_timeout_nodes.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_watchdog.9.gz
+OLD_FILES+=usr/share/man/man9/ieee80211_wep_crypt.9.gz
 # 20090801: vimage.h removed in favour of vnet.h
 OLD_FILES+=usr/include/sys/vimage.h
 # 20090719: library version bump for 8.0

Modified: projects/ppc64/UPDATING
==============================================================================
--- projects/ppc64/UPDATING	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/UPDATING	Sun Nov  1 16:54:20 2009	(r198753)
@@ -22,6 +22,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9.
 	machines to maximize performance.  (To disable malloc debugging, run
 	ln -s aj /etc/malloc.conf.)
 
+20091025:
+	The iwn(4) driver has been updated to support the 5000 and 5150 series.
+	There's one kernel module for each firmware. Adding "device iwnfw"
+	to the kernel configuration file means including all three firmware
+	images inside the kernel. If you want to include just the one for
+	your wireless card, use the the devices iwn4965fw, iwn5000fw or
+	iwn5150fw.
+
 20090926:
 	The rc.d/network_ipv6, IPv6 configuration script has been integrated
 	into rc.d/netif.  The changes are the following:
@@ -624,6 +632,15 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9.
 	userland (libpmc(3)) and the kernel module (hwpmc(4)) in
 	sync.
 
+20081009:
+	atapci kernel module now includes only generic PCI ATA
+	driver. AHCI driver moved to ataahci kernel module.
+	All vendor-specific code moved into separate kernel modules:
+	ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek,
+	atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron,
+	atamarvell, atamicron, atanational, atanetcell, atanvidia,
+	atapromise, ataserverworks, atasiliconimage, atasis, atavia
+
 20080820:
 	The TTY subsystem of the kernel has been replaced by a new
 	implementation, which provides better scalability and an

Modified: projects/ppc64/bin/sh/expand.c
==============================================================================
--- projects/ppc64/bin/sh/expand.c	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/bin/sh/expand.c	Sun Nov  1 16:54:20 2009	(r198753)
@@ -657,7 +657,7 @@ again: /* jump here after setting a vari
 	}
 	varlen = 0;
 	startloc = expdest - stackblock();
-	if (!set && uflag) {
+	if (!set && uflag && *var != '@' && *var != '*') {
 		switch (subtype) {
 		case VSNORMAL:
 		case VSTRIMLEFT:

Modified: projects/ppc64/bin/sh/sh.1
==============================================================================
--- projects/ppc64/bin/sh/sh.1	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/bin/sh/sh.1	Sun Nov  1 16:54:20 2009	(r198753)
@@ -32,7 +32,7 @@
 .\"	from: @(#)sh.1	8.6 (Berkeley) 5/4/95
 .\" $FreeBSD$
 .\"
-.Dd May 31, 2009
+.Dd October 24, 2009
 .Dt SH 1
 .Os
 .Sh NAME
@@ -296,7 +296,10 @@ sh -T -c "trap 'exit 1' 2 ; some-blockin
 .Ed
 .It Fl u Li nounset
 Write a message to standard error when attempting
-to expand a variable that is not set, and if the
+to expand a variable, a positional parameter or
+the special parameter
+.Va \&!
+that is not set, and if the
 shell is not interactive, exit immediately.
 .It Fl V Li vi
 Enable the built-in

Modified: projects/ppc64/contrib/ncurses/ncurses/base/lib_getch.c
==============================================================================
--- projects/ppc64/contrib/ncurses/ncurses/base/lib_getch.c	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/contrib/ncurses/ncurses/base/lib_getch.c	Sun Nov  1 16:54:20 2009	(r198753)
@@ -476,6 +476,12 @@ _nc_wgetch(WINDOW *win,
 	    /* resizeterm can push KEY_RESIZE */
 	    if (cooked_key_in_fifo()) {
 		*result = fifo_pull(sp);
+		/*
+		 * Get the ERR from queue -- it is from WINCH,
+		 * so we should take it out, the "error" is handled.
+		 */
+		if (fifo_peek(sp) == -1)
+		    fifo_pull(sp);
 		returnCode(*result >= KEY_MIN ? KEY_CODE_YES : OK);
 	    }
 	}

Modified: projects/ppc64/gnu/lib/libgcov/Makefile
==============================================================================
--- projects/ppc64/gnu/lib/libgcov/Makefile	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/gnu/lib/libgcov/Makefile	Sun Nov  1 16:54:20 2009	(r198753)
@@ -2,6 +2,7 @@
 
 NO_PROFILE=
 .include <bsd.own.mk>
+MK_SSP=		no
 .include "${.CURDIR}/../../usr.bin/cc/Makefile.tgt"
 
 GCCDIR=	${.CURDIR}/../../../contrib/gcc

Modified: projects/ppc64/lib/libbluetooth/bluetooth.3
==============================================================================
--- projects/ppc64/lib/libbluetooth/bluetooth.3	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/lib/libbluetooth/bluetooth.3	Sun Nov  1 16:54:20 2009	(r198753)
@@ -272,7 +272,7 @@ otherwise 0.
 .Pp
 The
 .Fn bt_devinfo
-function populates prodivded
+function populates provided
 .Vt bt_devinfo
 structure with the information about given Bluetooth device.
 The caller is expected to pass Bluetooth device name in the

Modified: projects/ppc64/lib/libbluetooth/bluetooth.h
==============================================================================
--- projects/ppc64/lib/libbluetooth/bluetooth.h	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/lib/libbluetooth/bluetooth.h	Sun Nov  1 16:54:20 2009	(r198753)
@@ -163,8 +163,8 @@ int		bt_devclose(int s);
 int		bt_devsend (int s, uint16_t opcode, void *param, size_t plen);
 ssize_t		bt_devrecv (int s, void *buf, size_t size, time_t to);
 int		bt_devreq  (int s, struct bt_devreq *r, time_t to);
-int		bt_devfilter(int s, struct bt_devfilter const *new,
-			     struct bt_devfilter *old);
+int		bt_devfilter(int s, struct bt_devfilter const *newp,
+			     struct bt_devfilter *oldp);
 void		bt_devfilter_pkt_set(struct bt_devfilter *filter, uint8_t type);
 void		bt_devfilter_pkt_clr(struct bt_devfilter *filter, uint8_t type);
 int		bt_devfilter_pkt_tst(struct bt_devfilter const *filter, uint8_t type);

Modified: projects/ppc64/lib/libc/gen/Makefile.inc
==============================================================================
--- projects/ppc64/lib/libc/gen/Makefile.inc	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/lib/libc/gen/Makefile.inc	Sun Nov  1 16:54:20 2009	(r198753)
@@ -21,7 +21,7 @@ SRCS+=  __getosreldate.c __xuname.c \
 	initgroups.c isatty.c isinf.c isnan.c jrand48.c lcong48.c \
 	lockf.c lrand48.c mrand48.c nftw.c nice.c \
 	nlist.c nrand48.c opendir.c \
-	pause.c pmadvise.c popen.c posix_spawn.c pselect.c \
+	pause.c pmadvise.c popen.c posix_spawn.c \
 	psignal.c pw_scan.c pwcache.c \
 	raise.c readdir.c readpassphrase.c rewinddir.c \
 	scandir.c seed48.c seekdir.c sem.c semctl.c \
@@ -62,7 +62,7 @@ MAN+=	alarm.3 arc4random.3 \
 	posix_spawnattr_getpgroup.3 posix_spawnattr_getschedparam.3 \
 	posix_spawnattr_getschedpolicy.3 posix_spawnattr_init.3 \
 	posix_spawnattr_getsigdefault.3 posix_spawnattr_getsigmask.3 \
-	pselect.3 psignal.3 pwcache.3 \
+	psignal.3 pwcache.3 \
 	raise.3 rand48.3 readpassphrase.3 rfork_thread.3 \
 	scandir.3 sem_destroy.3 sem_getvalue.3 sem_init.3 \
 	sem_open.3 sem_post.3 sem_timedwait.3 sem_wait.3 \

Modified: projects/ppc64/lib/libc/gen/Symbol.map
==============================================================================
--- projects/ppc64/lib/libc/gen/Symbol.map	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/lib/libc/gen/Symbol.map	Sun Nov  1 16:54:20 2009	(r198753)
@@ -223,7 +223,6 @@ FBSD_1.0 {
 	posix_madvise;
 	popen;
 	pclose;
-	pselect;
 	psignal;
 	raise;
 	readdir;
@@ -454,7 +453,6 @@ FBSDprivate_1.0 {
 	__opendir2;
 	__pause;
 	_pause;
-	__pselect;
 	__pw_scan;	/* Used by (at least) libutil */
 	__raise;
 	_raise;

Modified: projects/ppc64/lib/libc/sys/Makefile.inc
==============================================================================
--- projects/ppc64/lib/libc/sys/Makefile.inc	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/lib/libc/sys/Makefile.inc	Sun Nov  1 16:54:20 2009	(r198753)
@@ -83,7 +83,8 @@ MAN+=	abort2.2 accept.2 access.2 acct.2 
 	mq_setattr.2 \
 	msgctl.2 msgget.2 msgrcv.2 msgsnd.2 \
 	msync.2 munmap.2 nanosleep.2 nfssvc.2 ntp_adjtime.2 open.2 \
-	pathconf.2 pipe.2 poll.2 posix_openpt.2 profil.2 ptrace.2 quotactl.2 \
+	pathconf.2 pipe.2 poll.2 posix_openpt.2 profil.2 \
+	pselect.2 ptrace.2 quotactl.2 \
 	read.2 readlink.2 reboot.2 recv.2 rename.2 revoke.2 rfork.2 rmdir.2 \
 	rtprio.2
 .if !defined(NO_P1003_1B)

Modified: projects/ppc64/lib/libc/sys/Symbol.map
==============================================================================
--- projects/ppc64/lib/libc/sys/Symbol.map	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/lib/libc/sys/Symbol.map	Sun Nov  1 16:54:20 2009	(r198753)
@@ -211,6 +211,7 @@ FBSD_1.0 {
 	posix_openpt;
 	preadv;
 	profil;
+	pselect;
 	ptrace;
 	pwritev;
 	quotactl;
@@ -781,6 +782,8 @@ FBSDprivate_1.0 {
 	__sys_preadv;
 	_profil;
 	__sys_profil;
+	_pselect;
+	__sys_pselect;
 	_ptrace;
 	__sys_ptrace;
 	_pwritev;

Copied: projects/ppc64/lib/libc/sys/pselect.2 (from r198752, head/lib/libc/sys/pselect.2)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/ppc64/lib/libc/sys/pselect.2	Sun Nov  1 16:54:20 2009	(r198753, copy of r198752, head/lib/libc/sys/pselect.2)
@@ -0,0 +1,122 @@
+.\"
+.\" Copyright 2002 Massachusetts Institute of Technology
+.\"
+.\" Permission to use, copy, modify, and distribute this software and
+.\" its documentation for any purpose and without fee is hereby
+.\" granted, provided that both the above copyright notice and this
+.\" permission notice appear in all copies, that both the above
+.\" copyright notice and this permission notice appear in all
+.\" supporting documentation, and that the name of M.I.T. not be used
+.\" in advertising or publicity pertaining to distribution of the
+.\" software without specific, written prior permission.  M.I.T. makes
+.\" no representations about the suitability of this software for any
+.\" purpose.  It is provided "as is" without express or implied
+.\" warranty.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''.  M.I.T. DISCLAIMS
+.\" ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE,
+.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT
+.\" SHALL M.I.T. 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 October 27, 2009
+.Dt PSELECT 2
+.Os
+.Sh NAME
+.Nm pselect
+.Nd synchronous I/O multiplexing a la POSIX.1g
+.Sh LIBRARY
+.Lb libc
+.Sh SYNOPSIS
+.In sys/select.h
+.Ft int
+.Fo pselect
+.Fa "int nfds"
+.Fa "fd_set * restrict readfds"
+.Fa "fd_set * restrict writefds"
+.Fa "fd_set * restrict exceptfds"
+.Fa "const struct timespec * restrict timeout"
+.Fa "const sigset_t * restrict newsigmask"
+.Fc
+.Sh DESCRIPTION
+The
+.Fn pselect
+function was introduced by
+.St -p1003.1g-2000
+as a slightly stronger version of
+.Xr select 2 .
+The
+.Fa nfds , readfds , writefds ,
+and
+.Fa exceptfds
+arguments are all identical to the analogous arguments of
+.Fn select .
+The
+.Fa timeout
+argument in
+.Fn pselect
+points to a
+.Vt "const struct timespec"
+rather than the (modifiable)
+.Vt "struct timeval"
+used by
+.Fn select ;
+as in
+.Fn select ,
+a null pointer may be passed to indicate that
+.Fn pselect
+should wait indefinitely.
+Finally,
+.Fa newsigmask
+specifies a signal mask which is set while waiting for input.
+When
+.Fn pselect
+returns, the original signal mask is restored.
+.Pp
+See
+.Xr select 2
+for a more detailed discussion of the semantics of this interface, and
+for macros used to manipulate the
+.Vt "fd_set"
+data type.
+.Sh RETURN VALUES
+The
+.Fn pselect
+function returns the same values and under the same conditions as
+.Fn select .
+.Sh ERRORS
+The
+.Fn pselect
+function may fail for any of the reasons documented for
+.Xr select 2
+and (if a signal mask is provided)
+.Xr sigprocmask 2 .
+.Sh SEE ALSO
+.Xr kqueue 2 ,
+.Xr poll 2 ,
+.Xr select 2 ,
+.Xr sigprocmask 2
+.Sh STANDARDS
+The
+.Fn pselect
+function conforms to
+.St -p1003.1-2001 .
+.Sh HISTORY
+The
+.Fn pselect
+function first appeared in
+.Fx 5.0 .
+.Sh AUTHORS
+The first implementation of
+.Fn pselect
+function and this manual page were written by
+.An Garrett Wollman Aq wollman@FreeBSD.org .

Modified: projects/ppc64/lib/libpmc/libpmc.c
==============================================================================
--- projects/ppc64/lib/libpmc/libpmc.c	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/lib/libpmc/libpmc.c	Sun Nov  1 16:54:20 2009	(r198753)
@@ -442,6 +442,10 @@ static struct pmc_event_alias core_alias
 /*
  * Intel Core2 (Family 6, Model F), Core2Extreme (Family 6, Model 17H)
  * and Atom (Family 6, model 1CH) PMCs.
+ *
+ * We map aliases to events on the fixed-function counters if these
+ * are present.  Note that not all CPUs in this family contain fixed-function
+ * counters.
  */
 
 static struct pmc_event_alias core2_aliases[] = {
@@ -454,8 +458,22 @@ static struct pmc_event_alias core2_alia
 	EV_ALIAS("unhalted-cycles",	"iaf-cpu-clk-unhalted.core"),
 	EV_ALIAS(NULL, NULL)
 };
-#define	atom_aliases	core2_aliases
-#define corei7_aliases	core2_aliases
+
+static struct pmc_event_alias core2_aliases_without_iaf[] = {
+	EV_ALIAS("branches",		"iap-br-inst-retired.any"),
+	EV_ALIAS("branch-mispredicts",	"iap-br-inst-retired.mispred"),
+	EV_ALIAS("cycles",		"tsc-tsc"),
+	EV_ALIAS("ic-misses",		"iap-l1i-misses"),
+	EV_ALIAS("instructions",	"iap-inst-retired.any_p"),
+	EV_ALIAS("interrupts",		"iap-hw-int-rcv"),
+	EV_ALIAS("unhalted-cycles",	"iap-cpu-clk-unhalted.core_p"),
+	EV_ALIAS(NULL, NULL)
+};
+
+#define	atom_aliases			core2_aliases
+#define	atom_aliases_without_iaf	core2_aliases_without_iaf
+#define corei7_aliases			core2_aliases
+#define corei7_aliases_without_iaf	core2_aliases_without_iaf
 
 #define	IAF_KW_OS		"os"
 #define	IAF_KW_USR		"usr"
@@ -2379,6 +2397,10 @@ pmc_init(void)
 	uint32_t abi_version;
 	struct module_stat pmc_modstat;
 	struct pmc_op_getcpuinfo op_cpu_info;
+#if defined(__amd64__) || defined(__i386__)
+	int cpu_has_iaf_counters;
+	unsigned int t;
+#endif
 
 	if (pmc_syscall != -1) /* already inited */
 		return (0);
@@ -2420,6 +2442,8 @@ pmc_init(void)
 	if (pmc_class_table == NULL)
 		return (-1);
 
+	for (n = 0; n < PMC_CLASS_TABLE_SIZE; n++)
+		pmc_class_table[n] = NULL;
 
 	/*
 	 * Fill in the class table.
@@ -2427,6 +2451,14 @@ pmc_init(void)
 	n = 0;
 #if defined(__amd64__) || defined(__i386__)
 	pmc_class_table[n++] = &tsc_class_table_descr;
+
+	/*
+ 	 * Check if this CPU has fixed function counters.
+	 */
+	cpu_has_iaf_counters = 0;
+	for (t = 0; t < cpu_info.pm_nclass; t++)
+		if (cpu_info.pm_classes[t].pm_class == PMC_CLASS_IAF)
+			cpu_has_iaf_counters = 1;
 #endif
 
 #define	PMC_MDEP_INIT(C) do {					\
@@ -2436,6 +2468,16 @@ pmc_init(void)
 		    PMC_TABLE_SIZE(C##_pmc_classes);		\
 	} while (0)
 
+#define	PMC_MDEP_INIT_INTEL_V2(C) do {					\
+		PMC_MDEP_INIT(C);					\
+		if (cpu_has_iaf_counters) 				\
+			pmc_class_table[n++] = &iaf_class_table_descr;	\
+		else							\
+			pmc_mdep_event_aliases =			\
+				C##_aliases_without_iaf;		\
+		pmc_class_table[n] = &C##_class_table_descr;		\
+	} while (0)
+
 	/* Configure the event name parser. */
 	switch (cpu_info.pm_cputype) {
 #if defined(__i386__)
@@ -2461,24 +2503,17 @@ pmc_init(void)
 		pmc_class_table[n] = &k8_class_table_descr;
 		break;
 	case PMC_CPU_INTEL_ATOM:
-		PMC_MDEP_INIT(atom);
-		pmc_class_table[n++] = &iaf_class_table_descr;
-		pmc_class_table[n]   = &atom_class_table_descr;
+		PMC_MDEP_INIT_INTEL_V2(atom);
 		break;
 	case PMC_CPU_INTEL_CORE:
 		PMC_MDEP_INIT(core);
-		pmc_class_table[n] = &core_class_table_descr;
 		break;
 	case PMC_CPU_INTEL_CORE2:
 	case PMC_CPU_INTEL_CORE2EXTREME:
-		PMC_MDEP_INIT(core2);
-		pmc_class_table[n++] = &iaf_class_table_descr;
-		pmc_class_table[n]   = &core2_class_table_descr;
+		PMC_MDEP_INIT_INTEL_V2(core2);
 		break;
 	case PMC_CPU_INTEL_COREI7:
-		PMC_MDEP_INIT(corei7);
-		pmc_class_table[n++] = &iaf_class_table_descr;
-		pmc_class_table[n]   = &corei7_class_table_descr;
+		PMC_MDEP_INIT_INTEL_V2(corei7);
 		break;
 	case PMC_CPU_INTEL_PIV:
 		PMC_MDEP_INIT(p4);

Modified: projects/ppc64/lib/libstand/open.c
==============================================================================
--- projects/ppc64/lib/libstand/open.c	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/lib/libstand/open.c	Sun Nov  1 16:54:20 2009	(r198753)
@@ -113,6 +113,7 @@ open(const char *fname, int mode)
     /* see if we opened a raw device; otherwise, 'file' is the file name. */
     if (file == (char *)0 || *file == '\0') {
 	f->f_flags |= F_RAW;
+	f->f_rabuf = NULL;
 	return (fd);
     }
 

Modified: projects/ppc64/lib/libthr/arch/ia64/Makefile.inc
==============================================================================
--- projects/ppc64/lib/libthr/arch/ia64/Makefile.inc	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/lib/libthr/arch/ia64/Makefile.inc	Sun Nov  1 16:54:20 2009	(r198753)
@@ -2,4 +2,4 @@
 
 .PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH}
 
-SRCS+= pthread_md.c
+SRCS+= _umtx_op_err.S pthread_md.c

Copied: projects/ppc64/lib/libthr/arch/ia64/ia64/_umtx_op_err.S (from r198752, head/lib/libthr/arch/ia64/ia64/_umtx_op_err.S)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/ppc64/lib/libthr/arch/ia64/ia64/_umtx_op_err.S	Sun Nov  1 16:54:20 2009	(r198753, copy of r198752, head/lib/libthr/arch/ia64/ia64/_umtx_op_err.S)
@@ -0,0 +1,35 @@
+/*-
+ * Copyright (c) 2009 Marcel Moolenaar
+ * 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.
+ */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/syscall.h>
+
+ENTRY(_umtx_op_err, 5)
+	CALLSYS_NOERROR(_umtx_op)
+	br.ret.sptk.few rp
+END(_umtx_op_err)

Modified: projects/ppc64/lib/libthr/arch/ia64/include/pthread_md.h
==============================================================================
--- projects/ppc64/lib/libthr/arch/ia64/include/pthread_md.h	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/lib/libthr/arch/ia64/include/pthread_md.h	Sun Nov  1 16:54:20 2009	(r198753)
@@ -33,6 +33,8 @@
 
 #define	CPU_SPINWAIT
 
+#define	HAS__UMTX_OP_ERR	1
+
 #define	DTV_OFFSET		offsetof(struct tcb, tcb_dtv)
 
 /*

Modified: projects/ppc64/lib/libthr/thread/thr_syscalls.c
==============================================================================
--- projects/ppc64/lib/libthr/thread/thr_syscalls.c	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/lib/libthr/thread/thr_syscalls.c	Sun Nov  1 16:54:20 2009	(r198753)
@@ -104,6 +104,8 @@ extern int	__sys_accept(int, struct sock
 extern int	__sys_connect(int, const struct sockaddr *, socklen_t);
 extern int	__sys_fsync(int);
 extern int	__sys_msync(void *, size_t, int);
+extern int	__sys_pselect(int, fd_set *, fd_set *, fd_set *,
+			const struct timespec *, const sigset_t *);
 extern int	__sys_poll(struct pollfd *, unsigned, int);
 extern ssize_t	__sys_recv(int, void *, size_t, int);
 extern ssize_t	__sys_recvfrom(int, void *, size_t, int, struct sockaddr *, socklen_t *);
@@ -394,7 +396,7 @@ ___pselect(int count, fd_set *rfds, fd_s
 	int ret;
 
 	_thr_cancel_enter(curthread);
-	ret = __pselect(count, rfds, wfds, efds, timo, mask);
+	ret = __sys_pselect(count, rfds, wfds, efds, timo, mask);
 	_thr_cancel_leave(curthread);
 
 	return (ret);

Modified: projects/ppc64/sbin/camcontrol/camcontrol.c
==============================================================================
--- projects/ppc64/sbin/camcontrol/camcontrol.c	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/sbin/camcontrol/camcontrol.c	Sun Nov  1 16:54:20 2009	(r198753)
@@ -186,7 +186,7 @@ static int scsidoinquiry(struct cam_devi
 			 char *combinedopt, int retry_count, int timeout);
 static int scsiinquiry(struct cam_device *device, int retry_count, int timeout);
 static int scsiserial(struct cam_device *device, int retry_count, int timeout);
-static int scsixferrate(struct cam_device *device);
+static int camxferrate(struct cam_device *device);
 #endif /* MINIMALISTIC */
 static int parse_btl(char *tstr, int *bus, int *target, int *lun,
 		     cam_argmask *arglst);
@@ -663,7 +663,7 @@ scsidoinquiry(struct cam_device *device,
 		return(error);
 
 	if (arglist & CAM_ARG_GET_XFERRATE)
-		error = scsixferrate(device);
+		error = camxferrate(device);
 
 	return(error);
 }
@@ -873,14 +873,18 @@ scsiserial(struct cam_device *device, in
 }
 
 static int
-scsixferrate(struct cam_device *device)
+camxferrate(struct cam_device *device)
 {
+	struct ccb_pathinq cpi;
 	u_int32_t freq = 0;
 	u_int32_t speed = 0;
 	union ccb *ccb;
 	u_int mb;
 	int retval = 0;
 
+	if ((retval = get_cpi(device, &cpi)) != 0)
+		return (1);
+
 	ccb = cam_getccb(device);
 
 	if (ccb == NULL) {
@@ -913,6 +917,8 @@ scsixferrate(struct cam_device *device)
 
 	}
 
+	speed = cpi.base_transfer_speed;
+	freq = 0;
 	if (ccb->cts.transport == XPORT_SPI) {
 		struct ccb_trans_settings_spi *spi =
 		    &ccb->cts.xport_specific.spi;
@@ -920,31 +926,44 @@ scsixferrate(struct cam_device *device)
 		if ((spi->valid & CTS_SPI_VALID_SYNC_RATE) != 0) {
 			freq = scsi_calc_syncsrate(spi->sync_period);
 			speed = freq;
-		} else {
-			struct ccb_pathinq cpi;
-
-			retval = get_cpi(device, &cpi);
-			if (retval == 0) {
-				speed = cpi.base_transfer_speed;
-				freq = 0;
-			}
 		}
-
-		fprintf(stdout, "%s%d: ", device->device_name,
-			device->dev_unit_num);
-
 		if ((spi->valid & CTS_SPI_VALID_BUS_WIDTH) != 0) {
 			speed *= (0x01 << spi->bus_width);
 		}
+	} else if (ccb->cts.transport == XPORT_FC) {
+		struct ccb_trans_settings_fc *fc =
+		    &ccb->cts.xport_specific.fc;
+
+		if (fc->valid & CTS_FC_VALID_SPEED)
+			speed = fc->bitrate;
+	} else if (ccb->cts.transport == XPORT_SAS) {
+		struct ccb_trans_settings_sas *sas =
+		    &ccb->cts.xport_specific.sas;
+
+		if (sas->valid & CTS_SAS_VALID_SPEED)
+			speed = sas->bitrate;
+	} else if (ccb->cts.transport == XPORT_SATA) {
+		struct ccb_trans_settings_sata *sata =
+		    &ccb->cts.xport_specific.sata;
+
+		if (sata->valid & CTS_SATA_VALID_SPEED)
+			speed = sata->bitrate;
+	}
+
+	mb = speed / 1000;
+	if (mb > 0) {
+		fprintf(stdout, "%s%d: %d.%03dMB/s transfers ",
+			device->device_name, device->dev_unit_num,
+			mb, speed % 1000);
+	} else {
+		fprintf(stdout, "%s%d: %dKB/s transfers ",
+			device->device_name, device->dev_unit_num,
+			speed);
+	}
 
-		mb = speed / 1000;
-
-		if (mb > 0) 
-			fprintf(stdout, "%d.%03dMB/s transfers ",
-				mb, speed % 1000);
-		else
-			fprintf(stdout, "%dKB/s transfers ",
-				speed);
+	if (ccb->cts.transport == XPORT_SPI) {
+		struct ccb_trans_settings_spi *spi =
+		    &ccb->cts.xport_specific.spi;
 
 		if (((spi->valid & CTS_SPI_VALID_SYNC_OFFSET) != 0)
 		 && (spi->sync_offset != 0))
@@ -964,25 +983,22 @@ scsixferrate(struct cam_device *device)
 		 && (spi->sync_offset != 0)) {
 			fprintf(stdout, ")");
 		}
-	} else {
-		struct ccb_pathinq cpi;
-
-		retval = get_cpi(device, &cpi);
-
-		if (retval != 0)
-			goto xferrate_bailout;
-
-		speed = cpi.base_transfer_speed;
-		freq = 0;
-
-		mb = speed / 1000;
-
-		if (mb > 0) 
-			fprintf(stdout, "%d.%03dMB/s transfers ",
-				mb, speed % 1000);
-		else
-			fprintf(stdout, "%dKB/s transfers ",
-				speed);
+	} else if (ccb->cts.transport == XPORT_ATA) {
+		struct ccb_trans_settings_ata *ata =
+		    &ccb->cts.xport_specific.ata;
+
+		if (ata->valid & CTS_ATA_VALID_BYTECOUNT) {
+			fprintf(stdout, "(PIO size %dbytes)",
+			    ata->bytecount);
+		}
+	} else if (ccb->cts.transport == XPORT_SATA) {
+		struct ccb_trans_settings_sata *sata =
+		    &ccb->cts.xport_specific.sata;
+
+		if (sata->valid & CTS_SATA_VALID_BYTECOUNT) {
+			fprintf(stdout, "(PIO size %dbytes)",
+			    sata->bytecount);
+		}
 	}
 
 	if (ccb->cts.protocol == PROTO_SCSI) {
@@ -1305,6 +1321,7 @@ ataidentify(struct cam_device *device, i
 	fprintf(stdout, "%s%d: ", device->device_name,
 		device->dev_unit_num);
 	ata_print_ident(ident_buf);
+	camxferrate(device);
 	atacapprint(ident_buf);
 
 	free(ident_buf);

Modified: projects/ppc64/sbin/ddb/ddb_capture.c
==============================================================================
--- projects/ppc64/sbin/ddb/ddb_capture.c	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/sbin/ddb/ddb_capture.c	Sun Nov  1 16:54:20 2009	(r198753)
@@ -95,24 +95,24 @@ kread_symbol(kvm_t *kvm, int index, void
 static void
 ddb_capture_print_kvm(kvm_t *kvm)
 {
-	u_int db_capture_bufsize;
+	u_int db_capture_bufoff;
 	char *buffer, *db_capture_buf;
 
 	if (kread_symbol(kvm, X_DB_CAPTURE_BUF, &db_capture_buf,
 	    sizeof(db_capture_buf), 0) < 0)
 		errx(-1, "kvm: unable to read db_capture_buf");
 
-	if (kread_symbol(kvm, X_DB_CAPTURE_BUFSIZE, &db_capture_bufsize,
-	    sizeof(db_capture_bufsize), 0) < 0)
-		errx(-1, "kvm: unable to read db_capture_bufsize");
+	if (kread_symbol(kvm, X_DB_CAPTURE_BUFOFF, &db_capture_bufoff,
+	    sizeof(db_capture_bufoff), 0) < 0)
+		errx(-1, "kvm: unable to read db_capture_bufoff");
 
-	buffer = malloc(db_capture_bufsize + 1);
+	buffer = malloc(db_capture_bufoff + 1);
 	if (buffer == NULL)
-		err(-1, "malloc: db_capture_bufsize (%u)",
-		    db_capture_bufsize);
-	bzero(buffer, db_capture_bufsize + 1);
+		err(-1, "malloc: db_capture_bufoff (%u)",
+		    db_capture_bufoff);
+	bzero(buffer, db_capture_bufoff + 1);
 
-	if (kread(kvm, db_capture_buf, buffer, db_capture_bufsize, 0) < 0)
+	if (kread(kvm, db_capture_buf, buffer, db_capture_bufoff, 0) < 0)
 		errx(-1, "kvm: unable to read buffer");
 
 	printf("%s\n", buffer);
@@ -161,7 +161,7 @@ ddb_capture_status_kvm(kvm_t *kvm)
 		errx(-1, "kvm: unable to read db_capture_bufsize");
 	if (kread_symbol(kvm, X_DB_CAPTURE_INPROGRESS,
 	    &db_capture_inprogress, sizeof(db_capture_inprogress), 0) < 0)
-		err(-1, "kvm: unable to read db_capture_inpgoress");
+		err(-1, "kvm: unable to read db_capture_inprogress");
 	printf("%u/%u bytes used\n", db_capture_bufoff, db_capture_bufsize);
 	if (db_capture_inprogress)
 		printf("capture is on\n");

Modified: projects/ppc64/sbin/geom/class/part/Makefile
==============================================================================
--- projects/ppc64/sbin/geom/class/part/Makefile	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/sbin/geom/class/part/Makefile	Sun Nov  1 16:54:20 2009	(r198753)
@@ -6,6 +6,4 @@ CLASS=	part
 
 LDADD=	-lutil
 
-WARNS?=	4
-
 .include <bsd.lib.mk>

Modified: projects/ppc64/sbin/geom/class/part/geom_part.c
==============================================================================
--- projects/ppc64/sbin/geom/class/part/geom_part.c	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/sbin/geom/class/part/geom_part.c	Sun Nov  1 16:54:20 2009	(r198753)
@@ -192,6 +192,7 @@ find_provider(struct ggeom *gp, unsigned
 	unsigned long long sector, bestsector;
 
 	bestpp = NULL;
+	bestsector = 0;
 	LIST_FOREACH(pp, &gp->lg_provider, lg_provider) {
 		s = find_provcfg(pp, "start");
 		if (s == NULL) {

Modified: projects/ppc64/sbin/mknod/mknod.8
==============================================================================
--- projects/ppc64/sbin/mknod/mknod.8	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/sbin/mknod/mknod.8	Sun Nov  1 16:54:20 2009	(r198753)
@@ -28,7 +28,7 @@
 .\"     @(#)mknod.8	8.2 (Berkeley) 12/11/93
 .\" $FreeBSD$
 .\"
-.Dd December 15, 2004
+.Dd October 31, 2009
 .Dt MKNOD 8
 .Os
 .Sh NAME
@@ -74,9 +74,7 @@ and pseudo devices, and are type
 .It Ar major
 The major device number is an integer number which tells the kernel
 which device driver entry point to use.
-To learn what
-major device number to use for a particular device, check
-.Pa /usr/src/sys/conf/majors .
+This is a compatibility shim and should be left zero.
 .It Ar minor
 The minor device number tells the kernel which subunit
 the node corresponds to on the device; for example,

Modified: projects/ppc64/sbin/mount_nfs/mount_nfs.c
==============================================================================
--- projects/ppc64/sbin/mount_nfs/mount_nfs.c	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/sbin/mount_nfs/mount_nfs.c	Sun Nov  1 16:54:20 2009	(r198753)
@@ -232,16 +232,16 @@ main(int argc, char *argv[])
 				char *pnextopt = NULL;
 				char *val = "";
 				pass_flag_to_nmount = 1;
-				pval = strchr(opt, '=');
 				pnextopt = strchr(opt, ',');
+				if (pnextopt != NULL) {
+					*pnextopt = '\0';
+					pnextopt++;
+				}
+				pval = strchr(opt, '=');
 				if (pval != NULL) {
 					*pval = '\0';
 					val = pval + 1;
 				}
-				if (pnextopt) {
-					*pnextopt = '\0';
-					pnextopt++;
-				}
 				if (strcmp(opt, "bg") == 0) {
 					opflags |= BGRND;
 					pass_flag_to_nmount=0;

Modified: projects/ppc64/share/man/man4/acpi_hp.4
==============================================================================
--- projects/ppc64/share/man/man4/acpi_hp.4	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/share/man/man4/acpi_hp.4	Sun Nov  1 16:54:20 2009	(r198753)
@@ -256,7 +256,7 @@ sysctl dev.acpi_hp.0.cmi_detail=7
 The
 .Nm
 device driver first appeared in
-.Fx CURRENT .
+.Fx 8.0 .
 .Sh AUTHORS
 .An -nosplit
 The
@@ -279,7 +279,7 @@ http://www.microsoft.com/whdc/system/pnp
 This manual page was written by
 .An Michael Gmelin Aq freebsd@grem.de
 .Sh BUGS
-This driver is experimental and has only been tested on CURRENT i386 on an
+This driver is experimental and has only been tested on i386 on an
 HP Compaq 8510p which featured all supported wireless devices (WWAN/BT/WLAN).
 Expect undefined results when operating on different hardware.
 .Pp

Modified: projects/ppc64/share/man/man4/acpi_wmi.4
==============================================================================
--- projects/ppc64/share/man/man4/acpi_wmi.4	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/share/man/man4/acpi_wmi.4	Sun Nov  1 16:54:20 2009	(r198753)
@@ -79,7 +79,7 @@ GUID                                  IN
 The
 .Nm
 device driver first appeared in
-.Fx CURRENT .
+.Fx 8.0 .
 .Sh AUTHORS
 .An -nosplit
 The

Modified: projects/ppc64/share/man/man4/atapicam.4
==============================================================================
--- projects/ppc64/share/man/man4/atapicam.4	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/share/man/man4/atapicam.4	Sun Nov  1 16:54:20 2009	(r198753)
@@ -39,7 +39,6 @@ place the following lines in your
 kernel configuration file:
 .Bd -ragged -offset indent
 .Cd "device scbus"
-.Cd "device cam"
 .Cd "device ata"
 .Cd "device atapicam"
 .Ed

Modified: projects/ppc64/share/man/man4/bge.4
==============================================================================
--- projects/ppc64/share/man/man4/bge.4	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/share/man/man4/bge.4	Sun Nov  1 16:54:20 2009	(r198753)
@@ -31,7 +31,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd Oct 7, 2009
+.Dd October 7, 2009
 .Dt BGE 4
 .Os
 .Sh NAME

Modified: projects/ppc64/share/man/man4/iwn.4
==============================================================================
--- projects/ppc64/share/man/man4/iwn.4	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/share/man/man4/iwn.4	Sun Nov  1 16:54:20 2009	(r198753)
@@ -25,36 +25,53 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd April 13, 2008
+.Dd October 25, 2009
 .Os
 .Dt IWN 4
 .Sh NAME
 .Nm iwn
-.Nd "Intel Wireless WiFi Link 4965AGN IEEE 802.11n driver"
+.Nd "Intel Wireless WiFi Link 4965/5000 IEEE 802.11n driver"
 .Sh SYNOPSIS
 To compile this driver into the kernel,
 include the following lines in your
 kernel configuration file:
 .Bd -ragged -offset indent
 .Cd "device iwn"
-.Cd "device iwnfw"
 .Cd "device pci"
 .Cd "device wlan"
 .Cd "device firmware"
 .Ed
 .Pp
+You also need to select a firmware for your device.
+Choose one from:
+.Bd -ragged -offset indent
+.Cd "device iwn4965fw"
+.Cd "device iwn5000fw"
+.Cd "device iwn5100fw"
+.Ed
+.Pp
+Or you can use
+.Bd -ragged -offset indent
+.Cd "device iwnfw"
+.Ed
+.Pp
+to include them all.
+.Pp
 Alternatively, to load the driver as a
-module at boot time, place the following line in
+module at boot time, place the following lines in
 .Xr loader.conf 5 :
 .Bd -literal -offset indent
 if_iwn_load="YES"
+iwn4965fw_load="YES"
+iwn5000fw_load="YES"
+iwn5100fw_load="YES"
 .Ed
 .Sh DESCRIPTION
 The
 .Nm
 driver provides support for
 .Tn Intel
-Wireless WiFi Link 4965AGN PCI-Express network adapters.
+Wireless WiFi Link 4965 and 5000 series of PCI-Express network adapters.
 .Nm
 supports
 .Cm station ,

Modified: projects/ppc64/share/man/man4/iwnfw.4
==============================================================================
--- projects/ppc64/share/man/man4/iwnfw.4	Sun Nov  1 13:06:15 2009	(r198752)
+++ projects/ppc64/share/man/man4/iwnfw.4	Sun Nov  1 16:54:20 2009	(r198753)
@@ -22,7 +22,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 9, 2009

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@FreeBSD.ORG  Sun Nov  1 17:05:10 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 2CA57106566B;
	Sun,  1 Nov 2009 17:05:10 +0000 (UTC)
	(envelope-from nwhitehorn@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 1A8058FC0A;
	Sun,  1 Nov 2009 17:05:10 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA1H5ALf028690;
	Sun, 1 Nov 2009 17:05:10 GMT
	(envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA1H5AFQ028689;
	Sun, 1 Nov 2009 17:05:10 GMT
	(envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <200911011705.nA1H5AFQ028689@svn.freebsd.org>
From: Nathan Whitehorn <nwhitehorn@FreeBSD.org>
Date: Sun, 1 Nov 2009 17:05: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: r198754 - projects/ppc64/sys/powerpc/aim
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 01 Nov 2009 17:05:10 -0000

Author: nwhitehorn
Date: Sun Nov  1 17:05:08 2009
New Revision: 198754
URL: http://svn.freebsd.org/changeset/base/198754

Log:
  Merge changes to thread switching from PPC32.

Modified:
  projects/ppc64/sys/powerpc/aim/swtch.S
  projects/ppc64/sys/powerpc/aim/swtch64.S

Modified: projects/ppc64/sys/powerpc/aim/swtch.S
==============================================================================
--- projects/ppc64/sys/powerpc/aim/swtch.S	Sun Nov  1 16:54:20 2009	(r198753)
+++ projects/ppc64/sys/powerpc/aim/swtch.S	Sun Nov  1 17:05:08 2009	(r198754)
@@ -94,7 +94,7 @@ ENTRY(cpu_switch)
 	isync
 	stw	%r16,PCB_AIM_USR_VSID(%r6)
 	stw	%r1,PCB_SP(%r6)		/* Save the stack pointer */
-	stw	%r2,PCB_TOC(%r5)	/* Save the TOC pointer */
+	stw	%r2,PCB_TOC(%r6)	/* Save the TOC pointer */
 
 	mr	%r14,%r3		/* Copy the old thread ptr... */
 	mr	%r15,%r4		/* and the new thread ptr in scratch */

Modified: projects/ppc64/sys/powerpc/aim/swtch64.S
==============================================================================
--- projects/ppc64/sys/powerpc/aim/swtch64.S	Sun Nov  1 16:54:20 2009	(r198753)
+++ projects/ppc64/sys/powerpc/aim/swtch64.S	Sun Nov  1 17:05:08 2009	(r198754)
@@ -57,6 +57,7 @@
  */
 
 #include "assym.s"
+#include "opt_sched.h"
 
 #include <sys/syscall.h>
 
@@ -81,38 +82,35 @@ ENTRY(cpu_throw)
  * Switch to a new thread saving the current state in the old thread.
  */
 ENTRY(cpu_switch)
-	std	%r5,TD_LOCK(%r3)	/* ULE:	update old thread's lock */
-					/* XXX needs to change for MP */
-
-	ld	%r5,TD_PCB(%r3)		/* Get the old thread's PCB ptr */
-	std	%r12,PCB_CONTEXT(%r5)	/* Save the non-volatile GP regs.
+	ld	%r6,TD_PCB(%r3)		/* Get the old thread's PCB ptr */
+	std	%r12,PCB_CONTEXT(%r6)	/* Save the non-volatile GP regs.
 					   These can now be used for scratch */
-	std	%r13,PCB_CONTEXT+1*8(%r5)	
-	std	%r14,PCB_CONTEXT+2*8(%r5)	
-	std	%r15,PCB_CONTEXT+3*8(%r5)	
-	std	%r16,PCB_CONTEXT+4*8(%r5)	
-	std	%r17,PCB_CONTEXT+5*8(%r5)	
-	std	%r18,PCB_CONTEXT+6*8(%r5)	
-	std	%r19,PCB_CONTEXT+7*8(%r5)	
-	std	%r20,PCB_CONTEXT+8*8(%r5)	
-	std	%r21,PCB_CONTEXT+9*8(%r5)	
-	std	%r22,PCB_CONTEXT+10*8(%r5)	
-	std	%r23,PCB_CONTEXT+11*8(%r5)	
-	std	%r24,PCB_CONTEXT+12*8(%r5)	
-	std	%r25,PCB_CONTEXT+13*8(%r5)	
-	std	%r26,PCB_CONTEXT+14*8(%r5)	
-	std	%r27,PCB_CONTEXT+15*8(%r5)	
-	std	%r28,PCB_CONTEXT+16*8(%r5)	
-	std	%r29,PCB_CONTEXT+17*8(%r5)	
-	std	%r30,PCB_CONTEXT+18*8(%r5)	
-	std	%r31,PCB_CONTEXT+19*8(%r5)	
+	std	%r13,PCB_CONTEXT+1*8(%r6)	
+	std	%r14,PCB_CONTEXT+2*8(%r6)	
+	std	%r15,PCB_CONTEXT+3*8(%r6)	
+	std	%r16,PCB_CONTEXT+4*8(%r6)	
+	std	%r17,PCB_CONTEXT+5*8(%r6)	
+	std	%r18,PCB_CONTEXT+6*8(%r6)	
+	std	%r19,PCB_CONTEXT+7*8(%r6)	
+	std	%r20,PCB_CONTEXT+8*8(%r6)	
+	std	%r21,PCB_CONTEXT+9*8(%r6)	
+	std	%r22,PCB_CONTEXT+10*8(%r6)	
+	std	%r23,PCB_CONTEXT+11*8(%r6)	
+	std	%r24,PCB_CONTEXT+12*8(%r6)	
+	std	%r25,PCB_CONTEXT+13*8(%r6)	
+	std	%r26,PCB_CONTEXT+14*8(%r6)	
+	std	%r27,PCB_CONTEXT+15*8(%r6)	
+	std	%r28,PCB_CONTEXT+16*8(%r6)	
+	std	%r29,PCB_CONTEXT+17*8(%r6)	
+	std	%r30,PCB_CONTEXT+18*8(%r6)	
+	std	%r31,PCB_CONTEXT+19*8(%r6)	
 
 	mfcr	%r16			/* Save the condition register */
-	std	%r16,PCB_CR(%r5)
+	std	%r16,PCB_CR(%r6)
 	mflr	%r16			/* Save the link register */
-	std	%r16,PCB_LR(%r5)
-	std	%r1,PCB_SP(%r5)		/* Save the stack pointer */
-	std	%r2,PCB_TOC(%r5)	/* Save the TOC pointer */
+	std	%r16,PCB_LR(%r6)
+	std	%r1,PCB_SP(%r6)		/* Save the stack pointer */
+	std	%r2,PCB_TOC(%r6)	/* Save the TOC pointer */
 	
 	li	%r14,0			/* Save USER_SR for copyin/out */
 	li	%r15,0
@@ -120,23 +118,26 @@ ENTRY(cpu_switch)
 	slbmfee %r14, %r16
 	slbmfev %r15, %r16
 	isync
-	std	%r14,PCB_AIM_USR_ESID(%r5)
-	std	%r15,PCB_AIM_USR_VSID(%r5)
+	std	%r14,PCB_AIM_USR_ESID(%r6)
+	std	%r15,PCB_AIM_USR_VSID(%r6)
 
 	mr	%r14,%r3		/* Copy the old thread ptr... */
 	mr	%r15,%r4		/* and the new thread ptr in scratch */
+	mr	%r16,%r5		/* and the new lock */
+	mr	%r17,%r6		/* and the PCB */
 	
-	lwz	%r6,PCB_FLAGS(%r5)
+	lwz	%r7,PCB_FLAGS(%r17)
 	/* Save FPU context if needed */
-	andi.	%r6, %r6, PCB_FPU
+	andi.	%r7, %r7, PCB_FPU
 	beq	.L1
 	bl	.save_fpu
 	nop
 
 .L1:
-	lwz	%r6,PCB_FLAGS(%r5)
+	mr	%r3,%r14		/* restore old thread ptr */
+	lwz	%r7,PCB_FLAGS(%r17)
 	/* Save Altivec context if needed */
-	andi.	%r6, %r6, PCB_VEC
+	andi.	%r7, %r7, PCB_VEC
 	beq	.L2
 	bl	.save_vec
 	nop
@@ -146,7 +147,19 @@ ENTRY(cpu_switch)
 	bl	.pmap_deactivate	/* Deactivate the current pmap */
 	nop
 
+	std	%r16,TD_LOCK(%r14)	/* ULE:	update old thread's lock */
+
 cpu_switchin:
+#if defined(SMP) && defined(SCHED_ULE)
+	/* Wait for the new thread to become unblocked */
+	lis	%r6,blocked_lock@ha
+	addi	%r6,%r6,blocked_lock@l
+blocked_loop:
+	ld	%r7,TD_LOCK(%r15)
+	cmpd	%r6,%r7 
+	beq	blocked_loop
+#endif
+
 	mfsprg	%r7,0			/* Get the pcpu pointer */
 	std	%r15,PC_CURTHREAD(%r7)	/* Store new current thread */
 	ld	%r17,TD_PCB(%r15)	/* Store new current PCB */

From owner-svn-src-projects@FreeBSD.ORG  Mon Nov  2 15:08:33 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 95C89106566C;
	Mon,  2 Nov 2009 15:08:33 +0000 (UTC) (envelope-from rrs@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 859478FC2A;
	Mon,  2 Nov 2009 15:08:33 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA2F8Xje060307;
	Mon, 2 Nov 2009 15:08:33 GMT (envelope-from rrs@svn.freebsd.org)
Received: (from rrs@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA2F8XL2060305;
	Mon, 2 Nov 2009 15:08:33 GMT (envelope-from rrs@svn.freebsd.org)
Message-Id: <200911021508.nA2F8XL2060305@svn.freebsd.org>
From: Randall Stewart <rrs@FreeBSD.org>
Date: Mon, 2 Nov 2009 15:08: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: r198789 - projects/mips/sys/dev/rmi/xlr
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Nov 2009 15:08:33 -0000

Author: rrs
Date: Mon Nov  2 15:08:33 2009
New Revision: 198789
URL: http://svn.freebsd.org/changeset/base/198789

Log:
  Fix header file location

Modified:
  projects/mips/sys/dev/rmi/xlr/rge.c

Modified: projects/mips/sys/dev/rmi/xlr/rge.c
==============================================================================
--- projects/mips/sys/dev/rmi/xlr/rge.c	Mon Nov  2 12:35:38 2009	(r198788)
+++ projects/mips/sys/dev/rmi/xlr/rge.c	Mon Nov  2 15:08:33 2009	(r198789)
@@ -73,7 +73,7 @@
 #include <machine/cpu.h>
 #include <machine/mips_opcode.h>
 #include <machine/asm.h>
-#include <machine/mips-exts.h>
+#include <mips/rmi/rmi_mips_exts.h>
 #include <machine/cpuregs.h>
 
 #include <machine/param.h>

From owner-svn-src-projects@FreeBSD.ORG  Mon Nov  2 15:08:59 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 B1F4F1065764;
	Mon,  2 Nov 2009 15:08:59 +0000 (UTC) (envelope-from rrs@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 82E7F8FC27;
	Mon,  2 Nov 2009 15:08:59 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA2F8xTm060349;
	Mon, 2 Nov 2009 15:08:59 GMT (envelope-from rrs@svn.freebsd.org)
Received: (from rrs@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA2F8xWD060347;
	Mon, 2 Nov 2009 15:08:59 GMT (envelope-from rrs@svn.freebsd.org)
Message-Id: <200911021508.nA2F8xWD060347@svn.freebsd.org>
From: Randall Stewart <rrs@FreeBSD.org>
Date: Mon, 2 Nov 2009 15:08: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: r198790 - projects/mips/sys/mips/rmi
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Nov 2009 15:08:59 -0000

Author: rrs
Date: Mon Nov  2 15:08:59 2009
New Revision: 198790
URL: http://svn.freebsd.org/changeset/base/198790

Log:
  Fix spacing

Modified:
  projects/mips/sys/mips/rmi/board.c

Modified: projects/mips/sys/mips/rmi/board.c
==============================================================================
--- projects/mips/sys/mips/rmi/board.c	Mon Nov  2 15:08:33 2009	(r198789)
+++ projects/mips/sys/mips/rmi/board.c	Mon Nov  2 15:08:59 2009	(r198790)
@@ -41,39 +41,39 @@
 #include <mips/rmi/shared_structs.h>
 
 static int xlr_rxstn_to_txstn_map[128] = {
-	[0...7] = TX_STN_CPU_0,
-	[8...15] = TX_STN_CPU_1,
-	[16...23] = TX_STN_CPU_2,
-	[24...31] = TX_STN_CPU_3,
-	[32...39] = TX_STN_CPU_4,
-	[40...47] = TX_STN_CPU_5,
-	[48...55] = TX_STN_CPU_6,
-	[56...63] = TX_STN_CPU_7,
-	[64...95] = TX_STN_INVALID,
-	[96...103] = TX_STN_GMAC,
-	[104...107] = TX_STN_DMA,
-	[108...111] = TX_STN_INVALID,
-	[112...113] = TX_STN_XGS_0,
-	[114...115] = TX_STN_XGS_1,
-	[116...119] = TX_STN_INVALID,
-	[120...127] = TX_STN_SAE
+	[0 ... 7] = TX_STN_CPU_0,
+	[8 ... 15] = TX_STN_CPU_1,
+	[16 ... 23] = TX_STN_CPU_2,
+	[24 ... 31] = TX_STN_CPU_3,
+	[32 ... 39] = TX_STN_CPU_4,
+	[40 ... 47] = TX_STN_CPU_5,
+	[48 ... 55] = TX_STN_CPU_6,
+	[56 ... 63] = TX_STN_CPU_7,
+	[64 ... 95] = TX_STN_INVALID,
+	[96 ... 103] = TX_STN_GMAC,
+	[104 ... 107] = TX_STN_DMA,
+	[108 ... 111] = TX_STN_INVALID,
+	[112 ... 113] = TX_STN_XGS_0,
+	[114 ... 115] = TX_STN_XGS_1,
+	[116 ... 119] = TX_STN_INVALID,
+	[120 ... 127] = TX_STN_SAE
 };
 
 static int xls_rxstn_to_txstn_map[128] = {
-	[0...7] = TX_STN_CPU_0,
-	[8...15] = TX_STN_CPU_1,
-	[16...23] = TX_STN_CPU_2,
-	[24...31] = TX_STN_CPU_3,
-	[32...63] = TX_STN_INVALID,
-	[64...71] = TX_STN_PCIE,
-	[72...79] = TX_STN_INVALID,
-	[80...87] = TX_STN_GMAC1,
-	[88...95] = TX_STN_INVALID,
-	[96...103] = TX_STN_GMAC0,
-	[104...107] = TX_STN_DMA,
-	[108...111] = TX_STN_CDE,
-	[112...119] = TX_STN_INVALID,
-	[120...127] = TX_STN_SAE
+	[0 ... 7] = TX_STN_CPU_0,
+	[8 ... 15] = TX_STN_CPU_1,
+	[16 ... 23] = TX_STN_CPU_2,
+	[24 ... 31] = TX_STN_CPU_3,
+	[32 ... 63] = TX_STN_INVALID,
+	[64 ... 71] = TX_STN_PCIE,
+	[72 ... 79] = TX_STN_INVALID,
+	[80 ... 87] = TX_STN_GMAC1,
+	[88 ... 95] = TX_STN_INVALID,
+	[96 ... 103] = TX_STN_GMAC0,
+	[104 ... 107] = TX_STN_DMA,
+	[108 ... 111] = TX_STN_CDE,
+	[112 ... 119] = TX_STN_INVALID,
+	[120 ... 127] = TX_STN_SAE
 };
 
 struct stn_cc *xlr_core_cc_configs[] = {&cc_table_cpu_0, &cc_table_cpu_1,

From owner-svn-src-projects@FreeBSD.ORG  Mon Nov  2 15:43:55 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 30DFD106566B;
	Mon,  2 Nov 2009 15:43:55 +0000 (UTC) (envelope-from rrs@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 1FF688FC0A;
	Mon,  2 Nov 2009 15:43:55 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA2FhswV061119;
	Mon, 2 Nov 2009 15:43:54 GMT (envelope-from rrs@svn.freebsd.org)
Received: (from rrs@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA2FhsiH061117;
	Mon, 2 Nov 2009 15:43:54 GMT (envelope-from rrs@svn.freebsd.org)
Message-Id: <200911021543.nA2FhsiH061117@svn.freebsd.org>
From: Randall Stewart <rrs@FreeBSD.org>
Date: Mon, 2 Nov 2009 15:43:54 +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: r198791 - projects/mips/sys/mips/conf
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Nov 2009 15:43:55 -0000

Author: rrs
Date: Mon Nov  2 15:43:54 2009
New Revision: 198791
URL: http://svn.freebsd.org/changeset/base/198791

Log:
  adds XLR config

Added:
  projects/mips/sys/mips/conf/XLR

Added: projects/mips/sys/mips/conf/XLR
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/mips/sys/mips/conf/XLR	Mon Nov  2 15:43:54 2009	(r198791)
@@ -0,0 +1,149 @@
+#################################RMI_BSD#####################################
+# Copyright (c) 2003-2009 RMI Corporation
+# 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 RMI Corporation, 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 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.
+#################################RMI_BSD#####################################
+# XLR -- Generic kernel configuration file for FreeBSD/mips
+#
+# For more information on this file, please read the handbook section on
+# Kernel Configuration Files:
+#
+#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
+#
+# The handbook is also available locally in /usr/share/doc/handbook
+# if you've installed the doc distribution, otherwise always see the
+# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
+# latest information.
+#
+# An exhaustive list of options and more detailed explanations of the
+# device lines is also present in the ../../conf/NOTES and NOTES files. 
+# If you are in doubt as to the purpose or necessity of a line, check first 
+# in NOTES.
+#
+# $FreeBSD$
+
+machine 	mips
+cpu 		CPU_MIPS4KC
+ident 		XLR
+
+makeoptions	MODULES_OVERRIDE=""
+makeoptions     TARGET_BIG_ENDIAN
+#
+
+options		KERNVIRTADDR=0x80100000
+include		"../rmi/std.xlr"
+
+
+makeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols
+#profile		2
+
+#options 	SCHED_ULE		# ULE scheduler
+options 	SCHED_4BSD		# 4BSD scheduler
+#options 	PREEMPTION		# Enable kernel thread preemption
+#options 	FULL_PREEMPTION		# Enable kernel thread preemption
+options 	INET			# InterNETworking
+options 	INET6			# IPv6 communications protocols
+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			# MD is a potential root device
+options		MD_ROOT_SIZE=14288
+#options		MD_ROOT_SIZE=5120
+options		ROOTDEVNAME=\"ufs:md0\"
+options 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
+options 	HZ=1000	
+options 	PHYS_ADDR_64BIT
+options 	NO_SWAPPING
+
+#Debugging options
+options 	KTRACE			# ktrace(1) support
+options 	DDB
+options 	KDB
+options 	GDB
+options 	ALT_BREAK_TO_DEBUGGER
+#options 	INVARIANTS		#Enable calls of extra sanity checking
+#options 	INVARIANT_SUPPORT	#Extra sanity checks of internal structures, required by INVARIANTS
+#options 	WITNESS			#Enable checks to detect deadlocks and cycles
+#options 	WITNESS_SKIPSPIN	#Don't run witness on spinlocks for speed
+#options 	KTR			# ktr(4) and ktrdump(8) support
+#options 	KTR_COMPILE=(KTR_LOCK|KTR_PROC|KTR_INTR|KTR_CALLOUT|KTR_UMA|KTR_SYSC|KTR_CRITICAL)
+#options 	KTR_ENTRIES=131072
+#options 	MUTEX_DEBUG
+#options 	MUTEX_PROFILING
+
+device		pci
+#device		ata
+#device		atadisk
+#options 	XLR_PERFMON		# Enable XLR processor activity monitoring
+
+#device 		genclock
+device 		uart
+
+# Pseudo
+device 		loop
+device 		random
+device 		md
+device 		mem
+device 		pty
+device		bpf
+
+# Network
+device		miibus
+device		rge
+device 		ether
+device		re
+device		msk
+
+device          da
+device          scbus
+#device          ohci            # OHCI PCI->USB interface
+device          ehci            # EHCI PCI->USB interface (USB 2.0)
+device          usb             # USB Bus (required)
+#device         udbp            # USB Double Bulk Pipe devices
+#device          ugen            # Generic
+#device          uhid            # "Human Interface Devices"
+device          umass           # Disks/Mass storage - Requires scbus and da
+
+#device		cfi
+
+#i2c
+# Not yet
+#device      ic
+#device      iic
+#device      iicbb
+#device      iicbus
+#device      xlr_rtc
+#device      xlr_temperature
+#device      xlr_eeprom
+
+#crypto
+# Not yet
+#device cryptodev
+#device crypto
+#device rmisec
+options		ISA_MIPS32
+makeoptions	KERNLOADADDR=0x80100000

From owner-svn-src-projects@FreeBSD.ORG  Mon Nov  2 21:48:01 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 658DD1065692;
	Mon,  2 Nov 2009 21:48:01 +0000 (UTC)
	(envelope-from simon@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id EFBE58FC0C;
	Mon,  2 Nov 2009 21:48:00 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA2Lm0Dq070900;
	Mon, 2 Nov 2009 21:48:00 GMT (envelope-from simon@svn.freebsd.org)
Received: (from simon@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA2Lm0dS070899;
	Mon, 2 Nov 2009 21:48:00 GMT (envelope-from simon@svn.freebsd.org)
Message-Id: <200911022148.nA2Lm0dS070899@svn.freebsd.org>
From: "Simon L. Nielsen" <simon@FreeBSD.org>
Date: Mon, 2 Nov 2009 21:48:00 +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: r198827 - projects/openssl_098_merge_8
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Nov 2009 21:48:01 -0000

Author: simon
Date: Mon Nov  2 21:48:00 2009
New Revision: 198827
URL: http://svn.freebsd.org/changeset/base/198827

Log:
  Remove now unused openssl_098_merge_8 project tree.

Deleted:
  projects/openssl_098_merge_8/

From owner-svn-src-projects@FreeBSD.ORG  Tue Nov  3 06:42:56 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 116811065672;
	Tue,  3 Nov 2009 06:42:56 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 017318FC30;
	Tue,  3 Nov 2009 06:42:56 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA36gtD2082377;
	Tue, 3 Nov 2009 06:42:55 GMT (envelope-from gonzo@svn.freebsd.org)
Received: (from gonzo@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA36gtVx082375;
	Tue, 3 Nov 2009 06:42:55 GMT (envelope-from gonzo@svn.freebsd.org)
Message-Id: <200911030642.nA36gtVx082375@svn.freebsd.org>
From: Oleksandr Tymoshenko <gonzo@FreeBSD.org>
Date: Tue, 3 Nov 2009 06:42:55 +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: r198842 - projects/mips/sys/mips/mips
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 03 Nov 2009 06:42:56 -0000

Author: gonzo
Date: Tue Nov  3 06:42:55 2009
New Revision: 198842
URL: http://svn.freebsd.org/changeset/base/198842

Log:
  - Handle errors when adding children to nexus. This sittuation
      might occure when there is dublicate of child's entry in hints

Modified:
  projects/mips/sys/mips/mips/nexus.c

Modified: projects/mips/sys/mips/mips/nexus.c
==============================================================================
--- projects/mips/sys/mips/mips/nexus.c	Tue Nov  3 05:53:48 2009	(r198841)
+++ projects/mips/sys/mips/mips/nexus.c	Tue Nov  3 06:42:55 2009	(r198842)
@@ -257,6 +257,8 @@ nexus_hinted_child(device_t bus, const c
 	int	mem_hints_count;
 
 	child = BUS_ADD_CHILD(bus, 0, dname, dunit);
+	if (child == NULL)
+		return;
 
 	/*
 	 * Set hard-wired resources for hinted child using
@@ -306,6 +308,10 @@ nexus_add_child(device_t bus, int order,
 	resource_list_init(&ndev->nx_resources);
 
 	child = device_add_child_ordered(bus, order, name, unit);
+	if (child == NULL) {
+		device_printf(bus, "failed to add child: %s%d\n", name, unit);
+		return (0);
+	}
 
 	/* should we free this in nexus_child_detached? */
 	device_set_ivars(child, ndev);

From owner-svn-src-projects@FreeBSD.ORG  Wed Nov  4 15:27:29 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 4A60E106566B;
	Wed,  4 Nov 2009 15:27:29 +0000 (UTC)
	(envelope-from rdivacky@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 33BDD8FC15;
	Wed,  4 Nov 2009 15:27:29 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA4FRTiK036342;
	Wed, 4 Nov 2009 15:27:29 GMT (envelope-from rdivacky@svn.freebsd.org)
Received: (from rdivacky@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA4FRSjH036330;
	Wed, 4 Nov 2009 15:27:28 GMT (envelope-from rdivacky@svn.freebsd.org)
Message-Id: <200911041527.nA4FRSjH036330@svn.freebsd.org>
From: Roman Divacky <rdivacky@FreeBSD.org>
Date: Wed, 4 Nov 2009 15:27: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: r198898 - in projects/clangbsd/contrib/llvm: . autoconf
	cmake cmake/modules docs docs/CommandGuide docs/tutorial
	examples/BrainF include/llvm include/llvm-c
	include/llvm-c/Transforms in...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Nov 2009 15:27:29 -0000

Author: rdivacky
Date: Wed Nov  4 15:27:27 2009
New Revision: 198898
URL: http://svn.freebsd.org/changeset/base/198898

Log:
  Merge llvm and clang from vendor.

Added:
  projects/clangbsd/contrib/llvm/include/llvm/ADT/StringSwitch.h
     - copied unchanged from r198895, vendor/llvm/dist/include/llvm/ADT/StringSwitch.h
  projects/clangbsd/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h
     - copied unchanged from r198895, vendor/llvm/dist/include/llvm/Analysis/MemoryBuiltins.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/ProcessImplicitDefs.h
     - copied unchanged from r198895, vendor/llvm/dist/include/llvm/CodeGen/ProcessImplicitDefs.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h
     - copied unchanged from r198895, vendor/llvm/dist/include/llvm/CodeGen/SlotIndexes.h
  projects/clangbsd/contrib/llvm/include/llvm/System/AIXDataTypesFix.h
     - copied unchanged from r198895, vendor/llvm/dist/include/llvm/System/AIXDataTypesFix.h
  projects/clangbsd/contrib/llvm/include/llvm/System/DataTypes.h.cmake
     - copied unchanged from r198895, vendor/llvm/dist/include/llvm/System/DataTypes.h.cmake
  projects/clangbsd/contrib/llvm/include/llvm/System/DataTypes.h.in
     - copied unchanged from r198895, vendor/llvm/dist/include/llvm/System/DataTypes.h.in
  projects/clangbsd/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp
     - copied unchanged from r198895, vendor/llvm/dist/lib/Analysis/MemoryBuiltins.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
     - copied unchanged from r198895, vendor/llvm/dist/lib/CodeGen/AggressiveAntiDepBreaker.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h
     - copied unchanged from r198895, vendor/llvm/dist/lib/CodeGen/AggressiveAntiDepBreaker.h
  projects/clangbsd/contrib/llvm/lib/CodeGen/AntiDepBreaker.h
     - copied unchanged from r198895, vendor/llvm/dist/lib/CodeGen/AntiDepBreaker.h
  projects/clangbsd/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
     - copied unchanged from r198895, vendor/llvm/dist/lib/CodeGen/CriticalAntiDepBreaker.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.h
     - copied unchanged from r198895, vendor/llvm/dist/lib/CodeGen/CriticalAntiDepBreaker.h
  projects/clangbsd/contrib/llvm/lib/CodeGen/ProcessImplicitDefs.cpp
     - copied unchanged from r198895, vendor/llvm/dist/lib/CodeGen/ProcessImplicitDefs.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/SlotIndexes.cpp
     - copied unchanged from r198895, vendor/llvm/dist/lib/CodeGen/SlotIndexes.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/NEONMoveFix.cpp
     - copied unchanged from r198895, vendor/llvm/dist/lib/Target/ARM/NEONMoveFix.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/ABCD.cpp
     - copied unchanged from r198895, vendor/llvm/dist/lib/Transforms/Scalar/ABCD.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/GEPSplitter.cpp
     - copied unchanged from r198895, vendor/llvm/dist/lib/Transforms/Scalar/GEPSplitter.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
     - copied unchanged from r198895, vendor/llvm/dist/lib/Transforms/Scalar/LoopUnrollPass.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/SCCVN.cpp
     - copied unchanged from r198895, vendor/llvm/dist/lib/Transforms/Scalar/SCCVN.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/LoopUnroll.cpp
     - copied unchanged from r198895, vendor/llvm/dist/lib/Transforms/Utils/LoopUnroll.cpp
  projects/clangbsd/contrib/llvm/test/Analysis/BasicAA/phi-and-select.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/Analysis/BasicAA/phi-and-select.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2009-10-02-NEONSubregsBug.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/ARM/2009-10-02-NEONSubregsBug.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2009-10-27-double-align.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/ARM/2009-10-27-double-align.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2009-10-30.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/ARM/2009-10-30.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2009-11-01-NeonMoves.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/ARM/2009-11-01-NeonMoves.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2009-11-02-NegativeLane.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/ARM/2009-11-02-NegativeLane.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/fpconsts.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/ARM/fpconsts.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/2009-11-01-CopyReg2RegBug.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/Thumb2/2009-11-01-CopyReg2RegBug.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/cross-rc-coalescing-1.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/Thumb2/cross-rc-coalescing-1.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/cross-rc-coalescing-2.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/Thumb2/cross-rc-coalescing-2.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/ldr-str-imm12.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/Thumb2/ldr-str-imm12.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/machine-licm.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/Thumb2/machine-licm.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-cbnz.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-cbnz.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/2009-10-25-RewriterBug.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/X86/2009-10-25-RewriterBug.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/2009-11-04-SubregCoalescingBug.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/X86/2009-11-04-SubregCoalescingBug.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/constant-pool-sharing.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/X86/constant-pool-sharing.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/large-gep-scale.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/X86/large-gep-scale.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/negative-stride-fptosi-user.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/X86/negative-stride-fptosi-user.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/palignr-2.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/X86/palignr-2.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/x86-64-jumps.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/CodeGen/X86/x86-64-jumps.ll
  projects/clangbsd/contrib/llvm/test/DebugInfo/2009-11-03-InsertExtractValue.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/DebugInfo/2009-11-03-InsertExtractValue.ll
  projects/clangbsd/contrib/llvm/test/Feature/terminators.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/Feature/terminators.ll
  projects/clangbsd/contrib/llvm/test/FrontendC++/2009-10-27-crash.cpp
     - copied unchanged from r198895, vendor/llvm/dist/test/FrontendC++/2009-10-27-crash.cpp
  projects/clangbsd/contrib/llvm/test/FrontendC++/integration-O2.cpp
     - copied unchanged from r198895, vendor/llvm/dist/test/FrontendC++/integration-O2.cpp
  projects/clangbsd/contrib/llvm/test/LLVMC/OptionPreprocessor.td
     - copied unchanged from r198895, vendor/llvm/dist/test/LLVMC/OptionPreprocessor.td
  projects/clangbsd/contrib/llvm/test/Transforms/DeadStoreElimination/lifetime-simple.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/Transforms/DeadStoreElimination/lifetime-simple.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GVN/invariant-simple.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/Transforms/GVN/invariant-simple.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GVN/lifetime-simple.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/Transforms/GVN/lifetime-simple.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/heap-sra-3.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/Transforms/GlobalOpt/heap-sra-3.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/heap-sra-4.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/Transforms/GlobalOpt/heap-sra-4.ll
  projects/clangbsd/contrib/llvm/test/Transforms/LoopDeletion/multiple-exit-conditions.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/Transforms/LoopDeletion/multiple-exit-conditions.ll
  projects/clangbsd/contrib/llvm/test/Transforms/SCCP/crash.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/Transforms/SCCP/crash.ll
  projects/clangbsd/contrib/llvm/test/Transforms/SimplifyCFG/duplicate-phis.ll
     - copied unchanged from r198895, vendor/llvm/dist/test/Transforms/SimplifyCFG/duplicate-phis.ll
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h
     - copied unchanged from r198896, vendor/clang/dist/include/clang/AST/TemplateBase.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/BugType.h
     - copied unchanged from r198896, vendor/clang/dist/include/clang/Analysis/PathSensitive/BugType.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/Checkers/
     - copied from r198896, vendor/clang/dist/include/clang/Analysis/PathSensitive/Checkers/
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticOptions.h
     - copied unchanged from r198896, vendor/clang/dist/include/clang/Frontend/DiagnosticOptions.h
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp
     - copied unchanged from r198896, vendor/clang/dist/lib/AST/TemplateBase.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/AttrNonNullChecker.cpp
     - copied unchanged from r198896, vendor/clang/dist/lib/Analysis/AttrNonNullChecker.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/BadCallChecker.cpp
     - copied unchanged from r198896, vendor/clang/dist/lib/Analysis/BadCallChecker.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/DereferenceChecker.cpp
     - copied unchanged from r198896, vendor/clang/dist/lib/Analysis/DereferenceChecker.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/DivZeroChecker.cpp
     - copied unchanged from r198896, vendor/clang/dist/lib/Analysis/DivZeroChecker.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/NSAutoreleasePoolChecker.cpp
     - copied unchanged from r198896, vendor/clang/dist/lib/Analysis/NSAutoreleasePoolChecker.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/NSErrorChecker.cpp
     - copied unchanged from r198896, vendor/clang/dist/lib/Analysis/NSErrorChecker.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/UndefinedArgChecker.cpp
     - copied unchanged from r198896, vendor/clang/dist/lib/Analysis/UndefinedArgChecker.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/UndefinedAssignmentChecker.cpp
     - copied unchanged from r198896, vendor/clang/dist/lib/Analysis/UndefinedAssignmentChecker.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/VLASizeChecker.cpp
     - copied unchanged from r198896, vendor/clang/dist/lib/Analysis/VLASizeChecker.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp
     - copied unchanged from r198896, vendor/clang/dist/lib/CodeGen/CGException.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/dcl.decl/dcl.meaning/dcl.ref/p5.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/CXX/dcl.decl/dcl.meaning/dcl.ref/p5.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p10.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p10.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p12.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p12.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p5.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p5.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p6.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p6.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p7.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p7.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p8.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p8.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p9-linkage.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p9-linkage.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p9.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p9.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeCompletion/macros.c
     - copied unchanged from r198896, vendor/clang/dist/test/CodeCompletion/macros.c
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/object-size.c
     - copied unchanged from r198896, vendor/clang/dist/test/CodeGen/object-size.c
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/array-construction.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/CodeGenCXX/array-construction.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/ptr-to-member-function.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/CodeGenCXX/ptr-to-member-function.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/FixIt/fixit-pmem.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/FixIt/fixit-pmem.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/Parser/cxx-parse-member-pointer-op.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/Parser/cxx-parse-member-pointer-op.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/has_include.c
     - copied unchanged from r198896, vendor/clang/dist/test/Preprocessor/has_include.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/init.c
     - copied unchanged from r198896, vendor/clang/dist/test/Preprocessor/init.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/macro_undef.c
     - copied unchanged from r198896, vendor/clang/dist/test/Preprocessor/macro_undef.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/stdint.c
     - copied unchanged from r198896, vendor/clang/dist/test/Preprocessor/stdint.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Sema/parentheses.c
     - copied unchanged from r198896, vendor/clang/dist/test/Sema/parentheses.c
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/ptrtomember-badcall.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/SemaCXX/ptrtomember-badcall.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/value-initialization.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/SemaCXX/value-initialization.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/conditional-expr-6.m
     - copied unchanged from r198896, vendor/clang/dist/test/SemaObjC/conditional-expr-6.m
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/property-category-4.m
     - copied unchanged from r198896, vendor/clang/dist/test/SemaObjC/property-category-4.m
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-non-type-template-parameter.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/SemaTemplate/instantiate-non-type-template-parameter.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/operator-function-id-template.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/SemaTemplate/operator-function-id-template.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/template-id-expr.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/SemaTemplate/template-id-expr.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/template-id-printing.cpp
     - copied unchanged from r198896, vendor/clang/dist/test/SemaTemplate/template-id-printing.cpp
Deleted:
  projects/clangbsd/contrib/llvm/lib/Analysis/MallocHelper.cpp
  projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/MacOSJITEventListener.cpp
  projects/clangbsd/contrib/llvm/lib/Target/PIC16/MCSectionPIC16.h
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/RaiseAllocations.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/CodeGenLICM.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/UnrollLoop.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/CheckNSError.cpp
Modified:
  projects/clangbsd/contrib/llvm/CMakeLists.txt
  projects/clangbsd/contrib/llvm/Makefile
  projects/clangbsd/contrib/llvm/Makefile.config.in
  projects/clangbsd/contrib/llvm/Makefile.rules
  projects/clangbsd/contrib/llvm/autoconf/configure.ac
  projects/clangbsd/contrib/llvm/cmake/config-ix.cmake
  projects/clangbsd/contrib/llvm/cmake/modules/LLVMLibDeps.cmake
  projects/clangbsd/contrib/llvm/cmake/modules/LLVMProcessSources.cmake
  projects/clangbsd/contrib/llvm/configure
  projects/clangbsd/contrib/llvm/docs/BitCodeFormat.html
  projects/clangbsd/contrib/llvm/docs/CommandGuide/lit.pod
  projects/clangbsd/contrib/llvm/docs/CompilerDriver.html
  projects/clangbsd/contrib/llvm/docs/GettingStarted.html
  projects/clangbsd/contrib/llvm/docs/LangRef.html
  projects/clangbsd/contrib/llvm/docs/Passes.html
  projects/clangbsd/contrib/llvm/docs/ReleaseNotes.html
  projects/clangbsd/contrib/llvm/docs/TableGenFundamentals.html
  projects/clangbsd/contrib/llvm/docs/tutorial/LangImpl4.html
  projects/clangbsd/contrib/llvm/docs/tutorial/OCamlLangImpl4.html
  projects/clangbsd/contrib/llvm/examples/BrainF/BrainF.cpp
  projects/clangbsd/contrib/llvm/include/llvm-c/Core.h
  projects/clangbsd/contrib/llvm/include/llvm-c/Transforms/IPO.h
  projects/clangbsd/contrib/llvm/include/llvm/ADT/DenseMap.h
  projects/clangbsd/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h
  projects/clangbsd/contrib/llvm/include/llvm/ADT/FoldingSet.h
  projects/clangbsd/contrib/llvm/include/llvm/ADT/ImmutableList.h
  projects/clangbsd/contrib/llvm/include/llvm/ADT/ImmutableSet.h
  projects/clangbsd/contrib/llvm/include/llvm/ADT/SmallPtrSet.h
  projects/clangbsd/contrib/llvm/include/llvm/ADT/SparseBitVector.h
  projects/clangbsd/contrib/llvm/include/llvm/ADT/StringExtras.h
  projects/clangbsd/contrib/llvm/include/llvm/ADT/Twine.h
  projects/clangbsd/contrib/llvm/include/llvm/ADT/ValueMap.h
  projects/clangbsd/contrib/llvm/include/llvm/Analysis/AliasSetTracker.h
  projects/clangbsd/contrib/llvm/include/llvm/Analysis/DebugInfo.h
  projects/clangbsd/contrib/llvm/include/llvm/Analysis/Dominators.h
  projects/clangbsd/contrib/llvm/include/llvm/Analysis/LoopInfo.h
  projects/clangbsd/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h
  projects/clangbsd/contrib/llvm/include/llvm/Analysis/ValueTracking.h
  projects/clangbsd/contrib/llvm/include/llvm/BasicBlock.h
  projects/clangbsd/contrib/llvm/include/llvm/Bitcode/BitCodes.h
  projects/clangbsd/contrib/llvm/include/llvm/Bitcode/Deserialize.h
  projects/clangbsd/contrib/llvm/include/llvm/Bitcode/LLVMBitCodes.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/BinaryObject.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/ELFRelocation.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/JITCodeEmitter.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/LatencyPriorityQueue.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/LiveInterval.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/LiveStackAnalysis.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineCodeEmitter.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineOperand.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineRelocation.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/SelectionDAGISel.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/ValueTypes.h
  projects/clangbsd/contrib/llvm/include/llvm/Constant.h
  projects/clangbsd/contrib/llvm/include/llvm/Constants.h
  projects/clangbsd/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
  projects/clangbsd/contrib/llvm/include/llvm/ExecutionEngine/GenericValue.h
  projects/clangbsd/contrib/llvm/include/llvm/ExecutionEngine/JITEventListener.h
  projects/clangbsd/contrib/llvm/include/llvm/ExecutionEngine/JITMemoryManager.h
  projects/clangbsd/contrib/llvm/include/llvm/InstrTypes.h
  projects/clangbsd/contrib/llvm/include/llvm/Instruction.def
  projects/clangbsd/contrib/llvm/include/llvm/Instruction.h
  projects/clangbsd/contrib/llvm/include/llvm/Instructions.h
  projects/clangbsd/contrib/llvm/include/llvm/Intrinsics.td
  projects/clangbsd/contrib/llvm/include/llvm/LinkAllPasses.h
  projects/clangbsd/contrib/llvm/include/llvm/MC/MCAsmLexer.h
  projects/clangbsd/contrib/llvm/include/llvm/MC/MCAsmParser.h
  projects/clangbsd/contrib/llvm/include/llvm/MC/MCAssembler.h
  projects/clangbsd/contrib/llvm/include/llvm/MC/MCDisassembler.h
  projects/clangbsd/contrib/llvm/include/llvm/MC/MCExpr.h
  projects/clangbsd/contrib/llvm/include/llvm/MC/MCInst.h
  projects/clangbsd/contrib/llvm/include/llvm/MC/MCStreamer.h
  projects/clangbsd/contrib/llvm/include/llvm/MC/MCSymbol.h
  projects/clangbsd/contrib/llvm/include/llvm/MC/MCValue.h
  projects/clangbsd/contrib/llvm/include/llvm/Metadata.h
  projects/clangbsd/contrib/llvm/include/llvm/Module.h
  projects/clangbsd/contrib/llvm/include/llvm/Pass.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/Allocator.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/ConstantRange.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/Debug.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/ELF.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/IRBuilder.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/InstVisitor.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/MathExtras.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/MemoryBuffer.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/MemoryObject.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/PointerLikeTypeTraits.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/SlowOperationInformer.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/StandardPasses.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/TargetFolder.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/Timer.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/raw_ostream.h
  projects/clangbsd/contrib/llvm/include/llvm/System/Atomic.h
  projects/clangbsd/contrib/llvm/include/llvm/System/Disassembler.h
  projects/clangbsd/contrib/llvm/include/llvm/System/Memory.h
  projects/clangbsd/contrib/llvm/include/llvm/System/TimeValue.h
  projects/clangbsd/contrib/llvm/include/llvm/Target/SubtargetFeature.h
  projects/clangbsd/contrib/llvm/include/llvm/Target/Target.td
  projects/clangbsd/contrib/llvm/include/llvm/Target/TargetData.h
  projects/clangbsd/contrib/llvm/include/llvm/Target/TargetInstrDesc.h
  projects/clangbsd/contrib/llvm/include/llvm/Target/TargetInstrInfo.h
  projects/clangbsd/contrib/llvm/include/llvm/Target/TargetJITInfo.h
  projects/clangbsd/contrib/llvm/include/llvm/Target/TargetLowering.h
  projects/clangbsd/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td
  projects/clangbsd/contrib/llvm/include/llvm/Transforms/IPO.h
  projects/clangbsd/contrib/llvm/include/llvm/Transforms/Scalar.h
  projects/clangbsd/contrib/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
  projects/clangbsd/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdater.h
  projects/clangbsd/contrib/llvm/include/llvm/Transforms/Utils/ValueMapper.h
  projects/clangbsd/contrib/llvm/include/llvm/Type.h
  projects/clangbsd/contrib/llvm/include/llvm/TypeSymbolTable.h
  projects/clangbsd/contrib/llvm/include/llvm/Value.h
  projects/clangbsd/contrib/llvm/include/llvm/ValueSymbolTable.h
  projects/clangbsd/contrib/llvm/lib/Analysis/AliasAnalysis.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/AliasAnalysisCounter.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/AliasDebugger.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/AliasSetTracker.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/CFGPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/CMakeLists.txt
  projects/clangbsd/contrib/llvm/lib/Analysis/CaptureTracking.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/ConstantFolding.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/DbgInfoPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/DebugInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/IPA/Andersens.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/IPA/CallGraph.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/IPA/GlobalsModRef.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/InlineCost.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/InstCount.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/PointerTracking.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/ProfileEstimatorPass.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/ProfileInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/ProfileInfoLoaderPass.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/ProfileVerifierPass.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/ScalarEvolution.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/SparsePropagation.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/ValueTracking.cpp
  projects/clangbsd/contrib/llvm/lib/AsmParser/LLLexer.cpp
  projects/clangbsd/contrib/llvm/lib/AsmParser/LLParser.cpp
  projects/clangbsd/contrib/llvm/lib/AsmParser/LLParser.h
  projects/clangbsd/contrib/llvm/lib/AsmParser/LLToken.h
  projects/clangbsd/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
  projects/clangbsd/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.h
  projects/clangbsd/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
  projects/clangbsd/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
  projects/clangbsd/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.h
  projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
  projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/BranchFolding.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/CMakeLists.txt
  projects/clangbsd/contrib/llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/DwarfEHPrepare.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/ELF.h
  projects/clangbsd/contrib/llvm/lib/CodeGen/ExactHazardRecognizer.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/GCMetadata.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/GCStrategy.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/IfConversion.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/LatencyPriorityQueue.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/LiveInterval.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/LiveStackAnalysis.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/LowerSubregs.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/MachineFunction.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/MachineInstr.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/MachineLICM.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/MachineSink.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/MachineVerifier.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/OcamlGC.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/PreAllocSplitting.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/PseudoSourceValue.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/RegAllocLinearScan.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/RegAllocLocal.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/ScheduleDAG.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/ScheduleDAGEmit.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
  projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h
  projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/ShadowStackGC.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.h
  projects/clangbsd/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/Spiller.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/StackProtector.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/StackSlotColoring.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/StrongPHIElimination.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/UnreachableBlockElim.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/VirtRegMap.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/VirtRegMap.h
  projects/clangbsd/contrib/llvm/lib/CodeGen/VirtRegRewriter.cpp
  projects/clangbsd/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp
  projects/clangbsd/contrib/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
  projects/clangbsd/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h
  projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp
  projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/JIT.h
  projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.h
  projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp
  projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp
  projects/clangbsd/contrib/llvm/lib/Linker/LinkModules.cpp
  projects/clangbsd/contrib/llvm/lib/MC/MCAsmInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Support/APFloat.cpp
  projects/clangbsd/contrib/llvm/lib/Support/Allocator.cpp
  projects/clangbsd/contrib/llvm/lib/Support/Debug.cpp
  projects/clangbsd/contrib/llvm/lib/Support/MemoryBuffer.cpp
  projects/clangbsd/contrib/llvm/lib/System/DynamicLibrary.cpp
  projects/clangbsd/contrib/llvm/lib/System/Path.cpp
  projects/clangbsd/contrib/llvm/lib/System/Unix/Memory.inc
  projects/clangbsd/contrib/llvm/lib/System/Unix/Process.inc
  projects/clangbsd/contrib/llvm/lib/System/Unix/Signals.inc
  projects/clangbsd/contrib/llvm/lib/System/Win32/Memory.inc
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARM.h
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARM.td
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMCallingConv.td
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMConstantPoolValue.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMConstantPoolValue.h
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMISelLowering.h
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrInfo.h
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMSubtarget.h
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMTargetMachine.h
  projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h
  projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMMCInstLower.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/CMakeLists.txt
  projects/clangbsd/contrib/llvm/lib/Target/ARM/NEONPreAllocPass.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/README.txt
  projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb1InstrInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.h
  projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb2RegisterInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb2RegisterInfo.h
  projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
  projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaBranchSelector.cpp
  projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.cpp
  projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.h
  projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaInstrInfo.td
  projects/clangbsd/contrib/llvm/lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinInstrInfo.td
  projects/clangbsd/contrib/llvm/lib/Target/CBackend/CBackend.cpp
  projects/clangbsd/contrib/llvm/lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPU.h
  projects/clangbsd/contrib/llvm/lib/Target/CppBackend/CPPBackend.cpp
  projects/clangbsd/contrib/llvm/lib/Target/MSIL/MSILWriter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/MSP430/AsmPrinter/CMakeLists.txt
  projects/clangbsd/contrib/llvm/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.td
  projects/clangbsd/contrib/llvm/lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp
  projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp
  projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsISelLowering.h
  projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td
  projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td
  projects/clangbsd/contrib/llvm/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h
  projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16ABINames.h
  projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16InstrInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16InstrInfo.h
  projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16InstrInfo.td
  projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16MemSelOpt.cpp
  projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16Passes/Makefile
  projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16TargetObjectFile.cpp
  projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16TargetObjectFile.h
  projects/clangbsd/contrib/llvm/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCBranchSelector.cpp
  projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCCodeEmitter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
  projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
  projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td
  projects/clangbsd/contrib/llvm/lib/Target/README.txt
  projects/clangbsd/contrib/llvm/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.td
  projects/clangbsd/contrib/llvm/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
  projects/clangbsd/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.h
  projects/clangbsd/contrib/llvm/lib/Target/SystemZ/SystemZInstrFP.td
  projects/clangbsd/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.td
  projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp
  projects/clangbsd/contrib/llvm/lib/Target/X86/README.txt
  projects/clangbsd/contrib/llvm/lib/Target/X86/X86CodeEmitter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp
  projects/clangbsd/contrib/llvm/lib/Target/X86/X86FloatingPointRegKill.cpp
  projects/clangbsd/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
  projects/clangbsd/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
  projects/clangbsd/contrib/llvm/lib/Target/X86/X86ISelLowering.h
  projects/clangbsd/contrib/llvm/lib/Target/X86/X86Instr64bit.td
  projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrFPStack.td
  projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrInfo.h
  projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrInfo.td
  projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrMMX.td
  projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrSSE.td
  projects/clangbsd/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Target/XCore/AsmPrinter/XCoreAsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/CMakeLists.txt
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/ConstantMerge.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/DeadTypeElimination.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/ExtractGV.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/FunctionAttrs.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/GlobalDCE.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/IPO.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/InlineAlways.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/InlineSimple.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/Internalize.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/LoopExtractor.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/LowerSetJmp.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/PartialInlining.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/PartialSpecialization.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/StripDeadPrototypes.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/StripSymbols.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/StructRetPromotion.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Instrumentation/BlockProfiling.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Instrumentation/EdgeProfiling.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Instrumentation/RSProfiling.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/CMakeLists.txt
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/CondPropagate.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/GVN.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/InstructionCombining.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/LoopDeletion.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/LoopIndexSplit.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/TailDuplication.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/BasicInliner.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/CMakeLists.txt
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/CloneModule.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/CodeExtractor.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/Local.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/LoopSimplify.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/LowerInvoke.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/LowerSwitch.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/Mem2Reg.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/SSI.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/AsmWriter.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/BasicBlock.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/ConstantFold.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/Constants.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/ConstantsContext.h
  projects/clangbsd/contrib/llvm/lib/VMCore/Core.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/Dominators.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/Function.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/Globals.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/Instruction.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/Instructions.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/LLVMContextImpl.h
  projects/clangbsd/contrib/llvm/lib/VMCore/LeakDetector.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/LeaksContext.h
  projects/clangbsd/contrib/llvm/lib/VMCore/Metadata.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/PassManager.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/PrintModulePass.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/Type.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/TypeSymbolTable.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/Value.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/Verifier.cpp
  projects/clangbsd/contrib/llvm/projects/sample/lib/sample/sample.c
  projects/clangbsd/contrib/llvm/test/Analysis/BasicAA/2006-03-03-BadArraySubscript.ll
  projects/clangbsd/contrib/llvm/test/Analysis/BasicAA/2009-10-13-AtomicModRef.ll
  projects/clangbsd/contrib/llvm/test/Analysis/BasicAA/featuretest.ll
  projects/clangbsd/contrib/llvm/test/Analysis/BasicAA/global-size.ll
  projects/clangbsd/contrib/llvm/test/Analysis/BasicAA/modref.ll
  projects/clangbsd/contrib/llvm/test/Analysis/BasicAA/store-promote.ll
  projects/clangbsd/contrib/llvm/test/Analysis/LoopInfo/2003-05-15-NestingProblem.ll
  projects/clangbsd/contrib/llvm/test/Analysis/ScalarEvolution/2007-11-18-OrInstruction.ll
  projects/clangbsd/contrib/llvm/test/Analysis/ScalarEvolution/2008-07-29-SGTTripCount.ll
  projects/clangbsd/contrib/llvm/test/Analysis/ScalarEvolution/2008-07-29-SMinExpr.ll
  projects/clangbsd/contrib/llvm/test/Analysis/ScalarEvolution/2008-08-04-IVOverflow.ll
  projects/clangbsd/contrib/llvm/test/Analysis/ScalarEvolution/2008-08-04-LongAddRec.ll
  projects/clangbsd/contrib/llvm/test/Analysis/ScalarEvolution/2009-05-09-PointerEdgeCount.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/alloca.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/arguments.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/arguments_f64_backfill.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/arm-negative-stride.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/bfc.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/call.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/carry.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/constants.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/fmacs.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/fnmacs.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/fpmem.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/ispositive.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/ldm.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/ldr.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/long.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/long_shift.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/remat.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/str_post.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/tls2.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/CPP/llvm2cpp.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Generic/intrinsics.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/2009-08-04-SubregLoweringBug.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-bcc.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-bfc.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-branch.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-clz.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-cmn2.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-eor2.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-mov.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-str_post.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/2007-11-30-LoadFolding-Bug.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/2008-02-18-TailMergingBug.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/2008-05-12-tailmerge-5.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/break-anti-dependencies.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/convert-2-addr-3-addr-inc64.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/pic-load-remat.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/sink-hoist.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/vec_ins_extract.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/X86/x86-64-pic-10.ll
  projects/clangbsd/contrib/llvm/test/Makefile
  projects/clangbsd/contrib/llvm/test/Other/2003-02-19-LoopInfoNestingBug.ll
  projects/clangbsd/contrib/llvm/test/Scripts/macho-dump
  projects/clangbsd/contrib/llvm/test/Transforms/ArgumentPromotion/aggregate-promote.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ArgumentPromotion/basictest.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ArgumentPromotion/byval.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ArgumentPromotion/chained.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ArgumentPromotion/control-flow2.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ConstProp/float-to-ptr-cast.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ConstProp/loads.ll
  projects/clangbsd/contrib/llvm/test/Transforms/DeadStoreElimination/2008-07-28-load-store.ll
  projects/clangbsd/contrib/llvm/test/Transforms/DeadStoreElimination/PartialStore.ll
  projects/clangbsd/contrib/llvm/test/Transforms/DeadStoreElimination/context-sensitive.ll
  projects/clangbsd/contrib/llvm/test/Transforms/DeadStoreElimination/simple.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/globalsra-partial.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/globalsra.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/malloc-promote-1.ll
  projects/clangbsd/contrib/llvm/test/Transforms/IndVarSimplify/preserve-gep-loop-variant.ll
  projects/clangbsd/contrib/llvm/test/Transforms/IndVarSimplify/preserve-gep-remainder.ll
  projects/clangbsd/contrib/llvm/test/Transforms/Inline/basictest.ll
  projects/clangbsd/contrib/llvm/test/Transforms/Inline/callgraph-update.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/2003-11-13-ConstExprCastCall.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/2007-10-10-EliminateMemCpy.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/add-shrink.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/add-sitofp.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/align-2d-gep.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/align-addr.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/align-inc.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/alloca.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/call.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/cast-load-gep.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/cast.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/cast2.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/constant-fold-gep.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/fold-bin-operand.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/fp-ret-bitcast.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/loadstore-alignment.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/malloc-free-delete.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/or.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/phi.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/preserve-sminmax.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/ptr-int-cast.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/store.ll
  projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/sub.ll
  projects/clangbsd/contrib/llvm/test/Transforms/JumpThreading/no-irreducible-loops.ll
  projects/clangbsd/contrib/llvm/test/Transforms/LICM/2008-07-22-LoadGlobalConstant.ll
  projects/clangbsd/contrib/llvm/test/Transforms/LICM/Preserve-LCSSA.ll
  projects/clangbsd/contrib/llvm/test/Transforms/LoopRotate/2009-01-25-SingleEntryPhi.ll
  projects/clangbsd/contrib/llvm/test/Transforms/LoopRotate/LRCrash-1.ll
  projects/clangbsd/contrib/llvm/test/Transforms/LoopRotate/LRCrash-2.ll
  projects/clangbsd/contrib/llvm/test/Transforms/LoopRotate/LRCrash-3.ll
  projects/clangbsd/contrib/llvm/test/Transforms/LoopRotate/LRCrash-4.ll
  projects/clangbsd/contrib/llvm/test/Transforms/LoopRotate/LRCrash-5.ll
  projects/clangbsd/contrib/llvm/test/Transforms/LoopRotate/PhiRename-1.ll
  projects/clangbsd/contrib/llvm/test/Transforms/LoopRotate/PhiSelfRefernce-1.ll
  projects/clangbsd/contrib/llvm/test/Transforms/LoopRotate/pr2639.ll
  projects/clangbsd/contrib/llvm/test/Transforms/LoopRotate/preserve-scev.ll
  projects/clangbsd/contrib/llvm/test/Transforms/LoopSimplify/merge-exits.ll
  projects/clangbsd/contrib/llvm/test/Transforms/Mem2Reg/crash.ll
  projects/clangbsd/contrib/llvm/test/Transforms/MemCpyOpt/2008-03-13-ReturnSlotBitcast.ll
  projects/clangbsd/contrib/llvm/test/Transforms/MemCpyOpt/align.ll
  projects/clangbsd/contrib/llvm/test/Transforms/SCCP/ipsccp-basic.ll
  projects/clangbsd/contrib/llvm/test/Transforms/SCCP/loadtest.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/2003-05-29-ArrayFail.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/2006-11-07-InvalidArrayPromote.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/2008-06-05-loadstore-agg.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/2008-09-22-vector-gep.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/2009-03-04-MemCpyAlign.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/DifferingTypes.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/arraytest.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/basictest.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/bitfield-sroa.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/copy-aggregate.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/debuginfo.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/load-store-aggregate.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/memcpy-from-global.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/not-a-vector.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/union-fp-int.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/union-packed.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/vector_memcpy.ll
  projects/clangbsd/contrib/llvm/test/Transforms/ScalarRepl/vector_promote.ll
  projects/clangbsd/contrib/llvm/test/Transforms/SimplifyCFG/basictest.ll
  projects/clangbsd/contrib/llvm/test/lit.cfg
  projects/clangbsd/contrib/llvm/tools/clang/CMakeLists.txt
  projects/clangbsd/contrib/llvm/tools/clang/clang.xcodeproj/project.pbxproj
  projects/clangbsd/contrib/llvm/tools/clang/docs/LanguageExtensions.html
  projects/clangbsd/contrib/llvm/tools/clang/docs/tools/clang.pod
  projects/clangbsd/contrib/llvm/tools/clang/include/clang-c/Index.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Decl.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclGroup.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclNodes.def
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Expr.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/RecordLayout.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Redeclarable.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/StmtIterator.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/StmtNodes.def
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TemplateName.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Type.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/CallGraph.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/AnalysisContext.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/BugReporter.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/Checker.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/GRExprEngine.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/GRState.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/GRTransferFuncs.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/Store.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/SymbolManager.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/ProgramPoint.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/OnDiskHashTable.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/OperatorKinds.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/PartialDiagnostic.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/Options.def
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/CompileOptions.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/DeclXML.def
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/InitHeaderSearch.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/InitPreprocessor.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/PCHBitCodes.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/PCHReader.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/PCHWriter.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Index/Utils.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Lex/Token.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/Action.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/DeclSpec.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/Parser.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/CMakeLists.txt
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Decl.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Expr.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.h
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/TemplateName.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Type.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/BasicObjCFoundationChecks.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/BasicObjCFoundationChecks.h
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/BasicStore.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/CFRefCount.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/CMakeLists.txt
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/CallGraph.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/CheckObjCUnusedIVars.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/GRExprEngine.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/GRExprEngineInternalChecks.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/RegionStore.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/CMakeLists.txt
  projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.h
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGRtti.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGValue.h
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGVtable.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CMakeLists.txt
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/Mangle.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/Mangle.h
  projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Types.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/AnalysisConsumer.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHReader.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHReaderDecl.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHReaderStmt.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHWriter.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHWriterDecl.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHWriterStmt.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/RewriteObjC.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Headers/CMakeLists.txt
  projects/clangbsd/contrib/llvm/tools/clang/lib/Headers/stdint.h
  projects/clangbsd/contrib/llvm/tools/clang/lib/Index/ResolveLocation.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/HeaderMap.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/PPExpressions.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/AttributeList.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/DeclSpec.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/MinimalAction.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/Parser.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/CodeCompleteConsumer.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/Sema.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/Sema.h
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaCXXCast.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h
  projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/misc-ps-eager-assume.m
  projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/misc-ps-region-store.m
  projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/misc-ps.m
  projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/outofbound.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/retain-release-gc-only.m
  projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/retain-release.m
  projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/uninit-vals-ps-region.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/unused-ivars.m
  projects/clangbsd/contrib/llvm/tools/clang/test/CMakeLists.txt
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/basic/basic.lookup/basic.lookup.unqual/p14.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/basic/basic.lookup/basic.lookup.unqual/p15.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/class/class.union/p1.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/dcl.dcl/dcl.spec/dcl.fct.spec/p3.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/dcl.dcl/dcl.spec/dcl.fct.spec/p4.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/dcl.dcl/dcl.spec/dcl.fct.spec/p6.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/dcl.dcl/dcl.spec/dcl.stc/p10.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/dcl.dcl/dcl.spec/dcl.typedef/p4.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.decls/temp.friend/p5.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.param/p14.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.res/temp.dep.res/temp.point/p1.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.expl.spec/p3.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p3.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/2008-07-21-mixed-var-fn-decl.c
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/2008-07-29-override-alias-decl.c
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/asm-inout.c
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/blocks-2.c
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/builtin-unwind-init.c
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/cast-to-union.c
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/function-attributes.c
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/indirect-goto.c
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/mangle.c
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/union-init2.c
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/volatile.c
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/ptr-to-datamember.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/temporaries.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/virt.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/PR4894-recursive-debug-crash.m
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/encode-test-2.m
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/synthesize_ivar.m
  projects/clangbsd/contrib/llvm/tools/clang/test/Coverage/objc-language-features.inc
  projects/clangbsd/contrib/llvm/tools/clang/test/Coverage/targets.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Driver/analyze.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Driver/ccc-add-args.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Driver/hello.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Driver/phases.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Driver/qa_override.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Driver/std.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Frontend/darwin-version.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Frontend/dependency-gen.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Lexer/block_cmt_end.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Makefile
  projects/clangbsd/contrib/llvm/tools/clang/test/Misc/message-length.c
  projects/clangbsd/contrib/llvm/tools/clang/test/PCH/pr4489.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Parser/cxx-template-decl.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/assembler-with-cpp.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/c99-6_10_3_3_p4.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/c99-6_10_3_4_p5.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/c99-6_10_3_4_p6.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/c99-6_10_3_4_p7.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/c99-6_10_3_4_p9.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/comment_save.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/comment_save_macro.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/line-directive.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/macro_disable3.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/macro_paste_mscomment.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/macro_rescan_varargs.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/macro_rparen_scan2.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/output_paste_avoid.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/stringize_misc.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Sema/attr-deprecated.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Sema/callingconv.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Sema/constant-builtins-2.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Sema/decl-invalid.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Sema/format-strings.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Sema/init.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Sema/offsetof.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Sema/return-noreturn.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Sema/return.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Sema/statements.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Sema/stdcall-fastcall.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Sema/vector-init.c
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/constructor.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/implicit-int.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/invalid-member-expr.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/invalid-template-specifier.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/nested-name-spec.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/new-delete.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/overloaded-operator.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/typedef-redecl.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/continuation-class-err.m
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/id-isa-ref.m
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/return.m
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjCXX/overload.mm
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjCXX/references.mm
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/class-template-spec.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/constructor-template.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/copy-ctor-assign.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/default-expr-arguments.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/ext-vector-type.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/friend-template.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-cast.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-declref-ice.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-declref.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-function-1.mm
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-method.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-subscript.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/member-template-access-expr.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/nested-name-spec-template.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/nested-template.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/lit.site.cfg.in
  projects/clangbsd/contrib/llvm/tools/clang/tools/CIndex/CIndex.cpp
  projects/clangbsd/contrib/llvm/tools/clang/tools/CIndex/CIndex.exports
  projects/clangbsd/contrib/llvm/tools/clang/tools/CIndex/CMakeLists.txt
  projects/clangbsd/contrib/llvm/tools/clang/tools/CMakeLists.txt
  projects/clangbsd/contrib/llvm/tools/clang/tools/c-index-test/c-index-test.c
  projects/clangbsd/contrib/llvm/tools/clang/tools/clang-cc/clang-cc.cpp
  projects/clangbsd/contrib/llvm/tools/clang/tools/wpa/clang-wpa.cpp
  projects/clangbsd/contrib/llvm/tools/clang/www/UniversalDriver.html
  projects/clangbsd/contrib/llvm/tools/clang/www/analyzer/latest_checker.html.incl
  projects/clangbsd/contrib/llvm/tools/clang/www/cxx_status.html
  projects/clangbsd/contrib/llvm/tools/gold/gold-plugin.cpp
  projects/clangbsd/contrib/llvm/tools/lli/lli.cpp
  projects/clangbsd/contrib/llvm/tools/llvm-mc/AsmLexer.h
  projects/clangbsd/contrib/llvm/tools/llvm-mc/llvm-mc.cpp
  projects/clangbsd/contrib/llvm/tools/llvmc/doc/LLVMC-Reference.rst
  projects/clangbsd/contrib/llvm/tools/opt/opt.cpp
  projects/clangbsd/contrib/llvm/unittests/ADT/StringMapTest.cpp
  projects/clangbsd/contrib/llvm/unittests/ADT/ValueMapTest.cpp
  projects/clangbsd/contrib/llvm/unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp
  projects/clangbsd/contrib/llvm/unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp
  projects/clangbsd/contrib/llvm/unittests/ExecutionEngine/JIT/JITTest.cpp
  projects/clangbsd/contrib/llvm/unittests/ExecutionEngine/JIT/Makefile
  projects/clangbsd/contrib/llvm/unittests/Makefile.unittest
  projects/clangbsd/contrib/llvm/unittests/Support/ValueHandleTest.cpp
  projects/clangbsd/contrib/llvm/unittests/Transforms/Utils/Cloning.cpp
  projects/clangbsd/contrib/llvm/unittests/VMCore/MetadataTest.cpp
  projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
  projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenInstruction.cpp
  projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenInstruction.h
  projects/clangbsd/contrib/llvm/utils/TableGen/DAGISelEmitter.cpp
  projects/clangbsd/contrib/llvm/utils/TableGen/InstrInfoEmitter.cpp
  projects/clangbsd/contrib/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp
  projects/clangbsd/contrib/llvm/utils/TableGen/Record.cpp
  projects/clangbsd/contrib/llvm/utils/TableGen/Record.h
  projects/clangbsd/contrib/llvm/utils/TableGen/TGLexer.h
  projects/clangbsd/contrib/llvm/utils/UpdateCMakeLists.pl
  projects/clangbsd/contrib/llvm/utils/buildit/build_llvm
  projects/clangbsd/contrib/llvm/utils/findoptdiff
  projects/clangbsd/contrib/llvm/utils/lit/TestRunner.py
  projects/clangbsd/contrib/llvm/utils/lit/Util.py
  projects/clangbsd/contrib/llvm/utils/lit/lit.py
  projects/clangbsd/contrib/llvm/utils/unittest/UnitTestMain/Makefile
  projects/clangbsd/contrib/llvm/utils/unittest/googletest/Makefile
  projects/clangbsd/contrib/llvm/utils/vim/llvm.vim
Directory Properties:
  projects/clangbsd/contrib/llvm/   (props changed)
  projects/clangbsd/contrib/llvm/tools/clang/   (props changed)

Modified: projects/clangbsd/contrib/llvm/CMakeLists.txt
==============================================================================
--- projects/clangbsd/contrib/llvm/CMakeLists.txt	Wed Nov  4 15:24:32 2009	(r198897)
+++ projects/clangbsd/contrib/llvm/CMakeLists.txt	Wed Nov  4 15:27:27 2009	(r198898)
@@ -319,16 +319,26 @@ if(LLVM_BUILD_EXAMPLES)
   add_subdirectory(examples)
 endif ()
 
-install(DIRECTORY include
-  DESTINATION .
+install(DIRECTORY include/
+  DESTINATION include
+  FILES_MATCHING
+  PATTERN "*.def"
+  PATTERN "*.h"
+  PATTERN "*.td"
+  PATTERN "*.inc"
   PATTERN ".svn" EXCLUDE
-  PATTERN "*.cmake" EXCLUDE
-  PATTERN "*.in" EXCLUDE
-  PATTERN "*.tmp" EXCLUDE
   )
 
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include
-  DESTINATION .
+install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
+  DESTINATION include
+  FILES_MATCHING
+  PATTERN "*.def"
+  PATTERN "*.h"
+  PATTERN "*.gen"
+  PATTERN "*.inc"
+  # Exclude include/llvm/CMakeFiles/intrinsics_gen.dir, matched by "*.def"
+  PATTERN "CMakeFiles" EXCLUDE
+  PATTERN ".svn" EXCLUDE
   )
 
 # TODO: make and install documentation.

Modified: projects/clangbsd/contrib/llvm/Makefile
==============================================================================
--- projects/clangbsd/contrib/llvm/Makefile	Wed Nov  4 15:24:32 2009	(r198897)
+++ projects/clangbsd/contrib/llvm/Makefile	Wed Nov  4 15:27:27 2009	(r198898)
@@ -24,7 +24,8 @@ LEVEL := .
 # "llvmCore", then this is an "Apple-style" build; search for
 # "Apple-style" in the comments for more info.  Anything else is a
 # normal build.
-ifneq ($(RC_ProjectName),llvmCore)  # Normal build (not "Apple-style").
+ifneq ($(findstring llvmCore, $(RC_ProjectName)),llvmCore)  # Normal build (not "Apple-style").
+
 ifeq ($(BUILD_DIRS_ONLY),1)
   DIRS := lib/System lib/Support utils
   OPTIONAL_DIRS :=
@@ -94,6 +95,8 @@ cross-compile-build-tools:
 	$(Verb) if [ ! -f BuildTools/Makefile ]; then \
           $(MKDIR) BuildTools; \
 	  cd BuildTools ; \
+	  unset CFLAGS ; \
+	  unset CXXFLAGS ; \
 	  $(PROJ_SRC_DIR)/configure --build=$(BUILD_TRIPLE) \
 		--host=$(BUILD_TRIPLE) --target=$(BUILD_TRIPLE); \
 	  cd .. ; \
@@ -133,8 +136,7 @@ dist-hook::
 	$(Echo) Eliminating files constructed by configure
 	$(Verb) $(RM) -f \
 	  $(TopDistDir)/include/llvm/Config/config.h  \
-	  $(TopDistDir)/include/llvm/Support/DataTypes.h  \
-	  $(TopDistDir)/include/llvm/Support/ThreadSupport.h
+	  $(TopDistDir)/include/llvm/System/DataTypes.h
 
 clang-only: all
 tools-only: all
@@ -150,7 +152,7 @@ FilesToConfig := \
   include/llvm/Config/config.h \
   include/llvm/Config/Targets.def \
 	include/llvm/Config/AsmPrinters.def \
-  include/llvm/Support/DataTypes.h \
+  include/llvm/System/DataTypes.h \
 	tools/llvmc/plugins/Base/Base.td
 FilesToConfigPATH  := $(addprefix $(LLVM_OBJ_ROOT)/,$(FilesToConfig))
 

Modified: projects/clangbsd/contrib/llvm/Makefile.config.in
==============================================================================
--- projects/clangbsd/contrib/llvm/Makefile.config.in	Wed Nov  4 15:24:32 2009	(r198897)
+++ projects/clangbsd/contrib/llvm/Makefile.config.in	Wed Nov  4 15:27:27 2009	(r198898)
@@ -250,6 +250,9 @@ RDYNAMIC := @RDYNAMIC@
 #DEBUG_SYMBOLS = 1
 @DEBUG_SYMBOLS@
 
+# The compiler flags to use for optimized builds.
+OPTIMIZE_OPTION := @OPTIMIZE_OPTION@
+
 # When ENABLE_PROFILING is enabled, the llvm source base is built with profile
 # information to allow gprof to be used to get execution frequencies.
 #ENABLE_PROFILING = 1
@@ -320,3 +323,9 @@ ENABLE_LLVMC_DYNAMIC = 0
 # support (via the -load option).
 ENABLE_LLVMC_DYNAMIC_PLUGINS = 1
 #@ENABLE_LLVMC_DYNAMIC_PLUGINS@
+
+# Optional flags supported by the compiler
+# -Wno-missing-field-initializers
+NO_MISSING_FIELD_INITIALIZERS = @NO_MISSING_FIELD_INITIALIZERS@
+# -Wno-variadic-macros
+NO_VARIADIC_MACROS = @NO_VARIADIC_MACROS@

Modified: projects/clangbsd/contrib/llvm/Makefile.rules
==============================================================================
--- projects/clangbsd/contrib/llvm/Makefile.rules	Wed Nov  4 15:24:32 2009	(r198897)
+++ projects/clangbsd/contrib/llvm/Makefile.rules	Wed Nov  4 15:27:27 2009	(r198898)
@@ -312,16 +312,6 @@ endif
 #--------------------------------------------------------------------
 
 CPP.Defines :=
-# OPTIMIZE_OPTION - The optimization level option we want to build LLVM with
-# this can be overridden on the make command line.
-ifndef OPTIMIZE_OPTION
-  ifneq ($(HOST_OS),MingW)
-    OPTIMIZE_OPTION := -O3
-  else
-    OPTIMIZE_OPTION := -O2
-  endif
-endif
-
 ifeq ($(ENABLE_OPTIMIZED),1)
   BuildMode := Release
   # Don't use -fomit-frame-pointer on Darwin or FreeBSD.
@@ -566,6 +556,8 @@ endif
 ifeq ($(TARGET_OS),Darwin)
   ifneq ($(ARCH),ARM)
     TargetCommonOpts += -mmacosx-version-min=$(DARWIN_VERSION)
+  else
+    TargetCommonOpts += -marm
   endif
 endif
 
@@ -1238,7 +1230,7 @@ endif
 endif
 
 ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD))
-LD.Flags += -Wl,--version-script=$(LLVM_SRC_ROOT)/autoconf/ExportMap.map
+  LD.Flags += -Wl,--version-script=$(LLVM_SRC_ROOT)/autoconf/ExportMap.map
 endif
 endif
 

Modified: projects/clangbsd/contrib/llvm/autoconf/configure.ac
==============================================================================
--- projects/clangbsd/contrib/llvm/autoconf/configure.ac	Wed Nov  4 15:24:32 2009	(r198897)
+++ projects/clangbsd/contrib/llvm/autoconf/configure.ac	Wed Nov  4 15:27:27 2009	(r198898)
@@ -607,6 +607,23 @@ if test -n "$LLVMGXX" && test -z "$LLVMG
    AC_MSG_ERROR([Invalid llvm-gcc. Use --with-llvmgcc when --with-llvmgxx is used]);
 fi
 
+dnl Override the option to use for optimized builds.
+AC_ARG_WITH(optimize-option,
+  AS_HELP_STRING([--with-optimize-option],
+                 [Select the compiler options to use for optimized builds]),,
+                 withval=default)
+AC_MSG_CHECKING([optimization flags])
+case "$withval" in
+  default)
+    case "$llvm_cv_os_type" in
+    MingW) optimize_option=-O3 ;;
+    *)     optimize_option=-O2 ;;
+    esac ;;
+  *) optimize_option="$withval" ;;
+esac
+AC_SUBST(OPTIMIZE_OPTION,$optimize_option)
+AC_MSG_RESULT([$optimize_option])
+
 dnl Specify extra build options
 AC_ARG_WITH(extra-options,
   AS_HELP_STRING([--with-extra-options],
@@ -943,6 +960,12 @@ fi
 dnl Tool compatibility is okay if we make it here.
 AC_MSG_RESULT([ok])
 
+dnl Check optional compiler flags. 
+AC_MSG_CHECKING([optional compiler flags])
+CXX_FLAG_CHECK(NO_VARIADIC_MACROS, [-Wno-variadic-macros])
+CXX_FLAG_CHECK(NO_MISSING_FIELD_INITIALIZERS, [-Wno-missing-field-initializers])
+AC_MSG_RESULT([$NO_VARIADIC_MACROS $NO_MISSING_FIELD_INITIALIZERS])
+
 dnl===-----------------------------------------------------------------------===
 dnl===
 dnl=== SECTION 5: Check for libraries
@@ -1349,7 +1372,7 @@ AC_CONFIG_HEADERS([include/llvm/Config/c
 AC_CONFIG_FILES([include/llvm/Config/Targets.def])
 AC_CONFIG_FILES([include/llvm/Config/AsmPrinters.def])
 AC_CONFIG_FILES([include/llvm/Config/AsmParsers.def])
-AC_CONFIG_HEADERS([include/llvm/Support/DataTypes.h])
+AC_CONFIG_HEADERS([include/llvm/System/DataTypes.h])
 
 dnl Configure the makefile's configuration data
 AC_CONFIG_FILES([Makefile.config])

Modified: projects/clangbsd/contrib/llvm/cmake/config-ix.cmake
==============================================================================
--- projects/clangbsd/contrib/llvm/cmake/config-ix.cmake	Wed Nov  4 15:24:32 2009	(r198897)
+++ projects/clangbsd/contrib/llvm/cmake/config-ix.cmake	Wed Nov  4 15:27:27 2009	(r198898)
@@ -83,9 +83,9 @@ check_symbol_exists(floorf math.h HAVE_F
 check_symbol_exists(mallinfo malloc.h HAVE_MALLINFO)
 check_symbol_exists(malloc_zone_statistics malloc/malloc.h
                     HAVE_MALLOC_ZONE_STATISTICS)
-check_symbol_exists(mkdtemp unistd.h HAVE_MKDTEMP)
-check_symbol_exists(mkstemp unistd.h HAVE_MKSTEMP)
-check_symbol_exists(mktemp unistd.h HAVE_MKTEMP)
+check_symbol_exists(mkdtemp "stdlib.h;unistd.h" HAVE_MKDTEMP)
+check_symbol_exists(mkstemp "stdlib.h;unistd.h" HAVE_MKSTEMP)
+check_symbol_exists(mktemp "stdlib.h;unistd.h" HAVE_MKTEMP)
 check_symbol_exists(pthread_mutex_lock pthread.h HAVE_PTHREAD_MUTEX_LOCK)
 check_symbol_exists(sbrk unistd.h HAVE_SBRK)
 check_symbol_exists(strtoll stdlib.h HAVE_STRTOLL)
@@ -229,7 +229,7 @@ configure_file(
   )
 
 configure_file(
-  ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support/DataTypes.h.cmake
-  ${LLVM_BINARY_DIR}/include/llvm/Support/DataTypes.h
+  ${LLVM_MAIN_INCLUDE_DIR}/llvm/System/DataTypes.h.cmake
+  ${LLVM_BINARY_DIR}/include/llvm/System/DataTypes.h
   )
 

Modified: projects/clangbsd/contrib/llvm/cmake/modules/LLVMLibDeps.cmake
==============================================================================
--- projects/clangbsd/contrib/llvm/cmake/modules/LLVMLibDeps.cmake	Wed Nov  4 15:24:32 2009	(r198897)
+++ projects/clangbsd/contrib/llvm/cmake/modules/LLVMLibDeps.cmake	Wed Nov  4 15:27:27 2009	(r198898)
@@ -23,7 +23,6 @@ set(MSVC_LIB_DEPS_LLVMCodeGen LLVMAnalys
 set(MSVC_LIB_DEPS_LLVMCore LLVMSupport LLVMSystem)
 set(MSVC_LIB_DEPS_LLVMCppBackend LLVMCore LLVMCppBackendInfo LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMCppBackendInfo LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMDebugger LLVMAnalysis LLVMBitReader LLVMCore LLVMSupport LLVMSystem)
 set(MSVC_LIB_DEPS_LLVMExecutionEngine LLVMCore LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMHello LLVMCore LLVMSupport LLVMSystem)
 set(MSVC_LIB_DEPS_LLVMInstrumentation LLVMAnalysis LLVMCore LLVMScalarOpts LLVMSupport LLVMSystem LLVMTransformUtils)

Modified: projects/clangbsd/contrib/llvm/cmake/modules/LLVMProcessSources.cmake
==============================================================================
--- projects/clangbsd/contrib/llvm/cmake/modules/LLVMProcessSources.cmake	Wed Nov  4 15:24:32 2009	(r198897)
+++ projects/clangbsd/contrib/llvm/cmake/modules/LLVMProcessSources.cmake	Wed Nov  4 15:27:27 2009	(r198898)
@@ -22,6 +22,7 @@ endmacro(add_header_files)
 
 function(llvm_process_sources OUT_VAR)
   set( sources ${ARGN} )
+  llvm_check_source_file_list( ${sources} )
   # Create file dependencies on the tablegenned files, if any.  Seems
   # that this is not strictly needed, as dependencies of the .cpp
   # sources on the tablegenned .inc files are detected and handled,
@@ -37,3 +38,17 @@ function(llvm_process_sources OUT_VAR)
   endif()
   set( ${OUT_VAR} ${sources} PARENT_SCOPE )
 endfunction(llvm_process_sources)
+
+
+function(llvm_check_source_file_list)
+  set(listed ${ARGN})
+  file(GLOB globbed *.cpp)
+  foreach(g ${globbed})
+    get_filename_component(fn ${g} NAME)
+    list(FIND listed ${fn} idx)
+    if( idx LESS 0 )
+      message(SEND_ERROR "Found unknown source file ${g}
+Please update ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt\n")
+    endif()
+  endforeach()
+endfunction(llvm_check_source_file_list)

Modified: projects/clangbsd/contrib/llvm/configure
==============================================================================
--- projects/clangbsd/contrib/llvm/configure	Wed Nov  4 15:24:32 2009	(r198897)
+++ projects/clangbsd/contrib/llvm/configure	Wed Nov  4 15:27:27 2009	(r198898)
@@ -848,6 +848,7 @@ LLVM_ENUM_TARGETS
 LLVM_ENUM_ASM_PRINTERS
 LLVM_ENUM_ASM_PARSERS
 ENABLE_CBE_PRINTF_A
+OPTIMIZE_OPTION
 EXTRA_OPTIONS
 BINUTILS_INCDIR
 ENABLE_LLVMC_DYNAMIC
@@ -913,6 +914,8 @@ LLVMGCCCOMMAND
 LLVMGXXCOMMAND
 LLVMGCC
 LLVMGXX
+NO_VARIADIC_MACROS
+NO_MISSING_FIELD_INITIALIZERS
 USE_UDIS86
 USE_OPROFILE
 HAVE_PTHREAD
@@ -1595,6 +1598,8 @@ Optional Packages:
                           searches PATH)
   --with-llvmgxx          Specify location of llvm-g++ driver (default
                           searches PATH)
+  --with-optimize-option  Select the compiler options to use for optimized
+                          builds
   --with-extra-options    Specify additional options to compile LLVM with
   --with-ocaml-libdir     Specify install location for ocaml bindings (default
                           is stdlib)
@@ -5190,6 +5195,29 @@ echo "$as_me: error: Invalid llvm-gcc. U
 fi
 
 
+# Check whether --with-optimize-option was given.
+if test "${with_optimize_option+set}" = set; then
+  withval=$with_optimize_option;
+else
+  withval=default
+fi
+
+{ echo "$as_me:$LINENO: checking optimization flags" >&5
+echo $ECHO_N "checking optimization flags... $ECHO_C" >&6; }
+case "$withval" in
+  default)
+    case "$llvm_cv_os_type" in
+    MingW) optimize_option=-O3 ;;
+    *)     optimize_option=-O2 ;;
+    esac ;;
+  *) optimize_option="$withval" ;;
+esac
+OPTIMIZE_OPTION=$optimize_option
+
+{ echo "$as_me:$LINENO: result: $optimize_option" >&5
+echo "${ECHO_T}$optimize_option" >&6; }
+
+
 # Check whether --with-extra-options was given.
 if test "${with_extra_options+set}" = set; then
   withval=$with_extra_options;
@@ -11008,7 +11036,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 11011 "configure"
+#line 11039 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13152,7 +13180,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 13155 "configure"' > conftest.$ac_ext
+  echo '#line 13183 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -14870,11 +14898,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14873: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14901: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:14877: \$? = $ac_status" >&5
+   echo "$as_me:14905: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -15138,11 +15166,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15141: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15169: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:15145: \$? = $ac_status" >&5
+   echo "$as_me:15173: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -15242,11 +15270,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15245: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15273: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:15249: \$? = $ac_status" >&5
+   echo "$as_me:15277: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -17694,7 +17722,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 17697 "configure"
+#line 17725 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -17794,7 +17822,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 17797 "configure"
+#line 17825 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -20162,11 +20190,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:20165: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:20193: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:20169: \$? = $ac_status" >&5
+   echo "$as_me:20197: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -20266,11 +20294,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:20269: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:20297: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:20273: \$? = $ac_status" >&5
+   echo "$as_me:20301: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -21836,11 +21864,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:21839: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:21867: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:21843: \$? = $ac_status" >&5
+   echo "$as_me:21871: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -21940,11 +21968,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:21943: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:21971: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:21947: \$? = $ac_status" >&5
+   echo "$as_me:21975: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -24175,11 +24203,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:24178: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:24206: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:24182: \$? = $ac_status" >&5
+   echo "$as_me:24210: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -24443,11 +24471,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:24446: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:24474: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:24450: \$? = $ac_status" >&5
+   echo "$as_me:24478: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -24547,11 +24575,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:24550: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:24578: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:24554: \$? = $ac_status" >&5
+   echo "$as_me:24582: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -27459,6 +27487,15 @@ fi
 { echo "$as_me:$LINENO: result: ok" >&5
 echo "${ECHO_T}ok" >&6; }
 
+{ echo "$as_me:$LINENO: checking optional compiler flags" >&5
+echo $ECHO_N "checking optional compiler flags... $ECHO_C" >&6; }
+NO_VARIADIC_MACROS=`$CXX -Wno-variadic-macros -fsyntax-only -xc /dev/null 2>/dev/null && echo -Wno-variadic-macros`
+
+NO_MISSING_FIELD_INITIALIZERS=`$CXX -Wno-missing-field-initializers -fsyntax-only -xc /dev/null 2>/dev/null && echo -Wno-missing-field-initializers`
+
+{ echo "$as_me:$LINENO: result: $NO_VARIADIC_MACROS $NO_MISSING_FIELD_INITIALIZERS" >&5
+echo "${ECHO_T}$NO_VARIADIC_MACROS $NO_MISSING_FIELD_INITIALIZERS" >&6; }
+
 
 
 { echo "$as_me:$LINENO: checking for sin in -lm" >&5
@@ -35260,7 +35297,7 @@ ac_config_files="$ac_config_files includ
 
 ac_config_files="$ac_config_files include/llvm/Config/AsmParsers.def"
 
-ac_config_headers="$ac_config_headers include/llvm/Support/DataTypes.h"
+ac_config_headers="$ac_config_headers include/llvm/System/DataTypes.h"
 
 
 ac_config_files="$ac_config_files Makefile.config"
@@ -35887,7 +35924,7 @@ do
     "include/llvm/Config/Targets.def") CONFIG_FILES="$CONFIG_FILES include/llvm/Config/Targets.def" ;;
     "include/llvm/Config/AsmPrinters.def") CONFIG_FILES="$CONFIG_FILES include/llvm/Config/AsmPrinters.def" ;;
     "include/llvm/Config/AsmParsers.def") CONFIG_FILES="$CONFIG_FILES include/llvm/Config/AsmParsers.def" ;;
-    "include/llvm/Support/DataTypes.h") CONFIG_HEADERS="$CONFIG_HEADERS include/llvm/Support/DataTypes.h" ;;
+    "include/llvm/System/DataTypes.h") CONFIG_HEADERS="$CONFIG_HEADERS include/llvm/System/DataTypes.h" ;;
     "Makefile.config") CONFIG_FILES="$CONFIG_FILES Makefile.config" ;;
     "llvm.spec") CONFIG_FILES="$CONFIG_FILES llvm.spec" ;;
     "docs/doxygen.cfg") CONFIG_FILES="$CONFIG_FILES docs/doxygen.cfg" ;;
@@ -36061,11 +36098,11 @@ LLVM_ENUM_TARGETS!$LLVM_ENUM_TARGETS$ac_
 LLVM_ENUM_ASM_PRINTERS!$LLVM_ENUM_ASM_PRINTERS$ac_delim
 LLVM_ENUM_ASM_PARSERS!$LLVM_ENUM_ASM_PARSERS$ac_delim
 ENABLE_CBE_PRINTF_A!$ENABLE_CBE_PRINTF_A$ac_delim
+OPTIMIZE_OPTION!$OPTIMIZE_OPTION$ac_delim
 EXTRA_OPTIONS!$EXTRA_OPTIONS$ac_delim
 BINUTILS_INCDIR!$BINUTILS_INCDIR$ac_delim
 ENABLE_LLVMC_DYNAMIC!$ENABLE_LLVMC_DYNAMIC$ac_delim
 ENABLE_LLVMC_DYNAMIC_PLUGINS!$ENABLE_LLVMC_DYNAMIC_PLUGINS$ac_delim
-CXX!$CXX$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -36107,6 +36144,7 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+CXX!$CXX$ac_delim
 CXXFLAGS!$CXXFLAGS$ac_delim
 ac_ct_CXX!$ac_ct_CXX$ac_delim
 NM!$NM$ac_delim
@@ -36167,6 +36205,8 @@ LLVMGCCCOMMAND!$LLVMGCCCOMMAND$ac_delim
 LLVMGXXCOMMAND!$LLVMGXXCOMMAND$ac_delim
 LLVMGCC!$LLVMGCC$ac_delim
 LLVMGXX!$LLVMGXX$ac_delim
+NO_VARIADIC_MACROS!$NO_VARIADIC_MACROS$ac_delim
+NO_MISSING_FIELD_INITIALIZERS!$NO_MISSING_FIELD_INITIALIZERS$ac_delim
 USE_UDIS86!$USE_UDIS86$ac_delim
 USE_OPROFILE!$USE_OPROFILE$ac_delim
 HAVE_PTHREAD!$HAVE_PTHREAD$ac_delim
@@ -36201,7 +36241,7 @@ LIBOBJS!$LIBOBJS$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 92; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 95; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5

Modified: projects/clangbsd/contrib/llvm/docs/BitCodeFormat.html
==============================================================================
--- projects/clangbsd/contrib/llvm/docs/BitCodeFormat.html	Wed Nov  4 15:24:32 2009	(r198897)
+++ projects/clangbsd/contrib/llvm/docs/BitCodeFormat.html	Wed Nov  4 15:27:27 2009	(r198898)
@@ -27,6 +27,15 @@
   <li><a href="#llvmir">LLVM IR Encoding</a>
     <ol>
     <li><a href="#basics">Basics</a></li>
+    <li><a href="#MODULE_BLOCK">MODULE_BLOCK Contents</a></li>
+    <li><a href="#PARAMATTR_BLOCK">PARAMATTR_BLOCK Contents</a></li>
+    <li><a href="#TYPE_BLOCK">TYPE_BLOCK Contents</a></li>
+    <li><a href="#CONSTANTS_BLOCK">CONSTANTS_BLOCK Contents</a></li>
+    <li><a href="#FUNCTION_BLOCK">FUNCTION_BLOCK Contents</a></li>
+    <li><a href="#TYPE_SYMTAB_BLOCK">TYPE_SYMTAB_BLOCK Contents</a></li>
+    <li><a href="#VALUE_SYMTAB_BLOCK">VALUE_SYMTAB_BLOCK Contents</a></li>
+    <li><a href="#METADATA_BLOCK">METADATA_BLOCK Contents</a></li>
+    <li><a href="#METADATA_ATTACHMENT">METADATA_ATTACHMENT Contents</a></li>
     </ol>
   </li>
 </ol>
@@ -220,7 +229,7 @@ A bitstream is a sequential series of <a
 abbreviation ID encoded as a fixed-bitwidth field.  The width is specified by
 the current block, as described below.  The value of the abbreviation ID
 specifies either a builtin ID (which have special meanings, defined below) or
-one of the abbreviation IDs defined by the stream itself.
+one of the abbreviation IDs defined for the current block by the stream itself.
 </p>
 
 <p>
@@ -258,7 +267,7 @@ application specific. Nested blocks capt
 encoded in it, and various properties are associated with blocks as the file is
 parsed.  Block definitions allow the reader to efficiently skip blocks
 in constant time if the reader wants a summary of blocks, or if it wants to
-efficiently skip data they do not understand.  The LLVM IR reader uses this
+efficiently skip data it does not understand.  The LLVM IR reader uses this
 mechanism to skip function bodies, lazily reading them on demand.
 </p>
 
@@ -268,7 +277,8 @@ block.  In particular, each block mainta
 </p>
 
 <ol>
-<li>A current abbrev id width.  This value starts at 2, and is set every time a
+<li>A current abbrev id width.  This value starts at 2 at the beginning of
+    the stream, and is set every time a
     block record is entered.  The block entry specifies the abbrev id width for
     the body of the block.</li>
 
@@ -335,13 +345,14 @@ an even multiple of 32-bits.
 
 <div class="doc_text">
 <p>
-Data records consist of a record code and a number of (up to) 64-bit integer
-values.  The interpretation of the code and values is application specific and
-there are multiple different ways to encode a record (with an unabbrev record or
-with an abbreviation).  In the LLVM IR format, for example, there is a record
+Data records consist of a record code and a number of (up to) 64-bit
+integer values.  The interpretation of the code and values is
+application specific and may vary between different block types.
+Records can be encoded either using an unabbrev record, or with an
+abbreviation.  In the LLVM IR format, for example, there is a record
 which encodes the target triple of a module.  The code is
-<tt>MODULE_CODE_TRIPLE</tt>, and the values of the record are the ASCII codes
-for the characters in the string.
+<tt>MODULE_CODE_TRIPLE</tt>, and the values of the record are the
+ASCII codes for the characters in the string.
 </p>
 
 </div>
@@ -358,7 +369,7 @@ Encoding</a></div>
 <p>
 An <tt>UNABBREV_RECORD</tt> provides a default fallback encoding, which is both
 completely general and extremely inefficient.  It can describe an arbitrary
-record by emitting the code and operands as vbrs.
+record by emitting the code and operands as VBRs.
 </p>
 
 <p>
@@ -391,6 +402,11 @@ allows the files to be completely self d
 abbreviations is defined below.
 </p>
 
+<p>The record code, which is the first field of an abbreviated record,
+may be encoded in the abbreviation definition (as a literal
+operand) or supplied in the abbreviated record (as a Fixed or VBR
+operand value).</p>
+
 </div>
 
 <!-- ======================================================================= -->
@@ -409,8 +425,9 @@ emitted.
 <p>
 Abbreviations can be determined dynamically per client, per file. Because the
 abbreviations are stored in the bitstream itself, different streams of the same
-format can contain different sets of abbreviations if the specific stream does
-not need it.  As a concrete example, LLVM IR files usually emit an abbreviation
+format can contain different sets of abbreviations according to the needs
+of the specific stream.
+As a concrete example, LLVM IR files usually emit an abbreviation
 for binary operators.  If a specific LLVM module contained no or few binary
 operators, the abbreviation does not need to be emitted.
 </p>
@@ -431,7 +448,8 @@ defined abbreviations in the scope of th
 inside this immediate block &mdash; it is not visible in subblocks or enclosing
 blocks.  Abbreviations are implicitly assigned IDs sequentially starting from 4
 (the first application-defined abbreviation ID).  Any abbreviations defined in a
-<tt>BLOCKINFO</tt> record receive IDs first, in order, followed by any
+<tt>BLOCKINFO</tt> record for the particular block type
+receive IDs first, in order, followed by any
 abbreviations defined within the block itself.  Abbreviated data records
 reference this ID to indicate what abbreviation they are invoking.
 </p>
@@ -461,31 +479,32 @@ emitted as their code, followed by the e
 
 <p>The possible operand encodings are:</p>
 
-<ol>
-<li>Fixed: The field should be emitted as
+<ul>
+<li>Fixed (code 1): The field should be emitted as
     a <a href="#fixedwidth">fixed-width value</a>, whose width is specified by
     the operand's extra data.</li>
-<li>VBR: The field should be emitted as
+<li>VBR (code 2): The field should be emitted as
     a <a href="#variablewidth">variable-width value</a>, whose width is
     specified by the operand's extra data.</li>
-<li>Array: This field is an array of values.  The array operand
-    has no extra data, but expects another operand to follow it which indicates
+<li>Array (code 3): This field is an array of values.  The array operand
+    has no extra data, but expects another operand to follow it, indicating
     the element type of the array.  When reading an array in an abbreviated
     record, the first integer is a vbr6 that indicates the array length,
     followed by the encoded elements of the array.  An array may only occur as
     the last operand of an abbreviation (except for the one final operand that
     gives the array's type).</li>
-<li>Char6: This field should be emitted as
+<li>Char6 (code 4): This field should be emitted as
     a <a href="#char6">char6-encoded value</a>.  This operand type takes no
-    extra data.</li>
-<li>Blob: This field is emitted as a vbr6, followed by padding to a
+    extra data. Char6 encoding is normally used as an array element type.
+    </li>
+<li>Blob (code 5): This field is emitted as a vbr6, followed by padding to a
     32-bit boundary (for alignment) and an array of 8-bit objects.  The array of
     bytes is further followed by tail padding to ensure that its total length is
     a multiple of 4 bytes.  This makes it very efficient for the reader to
     decode the data without having to make a copy of it: it can use a pointer to
     the data in the mapped in file and poke directly at it.  A blob may only
     occur as the last operand of an abbreviation.</li>
-</ol>
+</ul>
 
 <p>
 For example, target triples in LLVM modules are encoded as a record of the
@@ -517,7 +536,7 @@ as:
 
 <ol>
 <li>The first value, 4, is the abbreviation ID for this abbreviation.</li>
-<li>The second value, 2, is the code for <tt>TRIPLE</tt> in LLVM IR files.</li>
+<li>The second value, 2, is the record code for <tt>TRIPLE</tt> records within LLVM IR file <tt>MODULE_BLOCK</tt> blocks.</li>
 <li>The third value, 4, is the length of the array.</li>
 <li>The rest of the values are the char6 encoded values
     for <tt>"abcd"</tt>.</li>
@@ -541,7 +560,7 @@ used for any other string value.
 
 <p>
 In addition to the basic block structure and record encodings, the bitstream
-also defines specific builtin block types.  These block types specify how the
+also defines specific built-in block types.  These block types specify how the
 stream is to be decoded or other metadata.  In the future, new standard blocks
 may be added.  Block IDs 0-7 are reserved for standard blocks.
 </p>
@@ -569,7 +588,7 @@ blocks.  The currently specified records
 </div>
 
 <p>
-The <tt>SETBID</tt> record indicates which block ID is being
+The <tt>SETBID</tt> record (code 1) indicates which block ID is being
 described.  <tt>SETBID</tt> records can occur multiple times throughout the
 block to change which block ID is being described.  There must be
 a <tt>SETBID</tt> record prior to any other records.
@@ -584,13 +603,13 @@ in <tt>BLOCKINFO</tt> blocks receive abb
 in <tt><a href="#DEFINE_ABBREV">DEFINE_ABBREV</a></tt>.
 </p>
 
-<p>The <tt>BLOCKNAME</tt> can optionally occur in this block.  The elements of
-the record are the bytes for the string name of the block.  llvm-bcanalyzer uses
+<p>The <tt>BLOCKNAME</tt> record (code 2) can optionally occur in this block.  The elements of
+the record are the bytes of the string name of the block.  llvm-bcanalyzer can use
 this to dump out bitcode files symbolically.</p>
 
-<p>The <tt>SETRECORDNAME</tt> record can optionally occur in this block.  The
-first entry is a record ID number and the rest of the elements of the record are
-the bytes for the string name of the record.  llvm-bcanalyzer uses
+<p>The <tt>SETRECORDNAME</tt> record (code 3) can also optionally occur in this block.  The
+first operand value is a record ID number, and the rest of the elements of the record are
+the bytes for the string name of the record.  llvm-bcanalyzer can use
 this to dump out bitcode files symbolically.</p>
 
 <p>
@@ -626,7 +645,7 @@ Each of the fields are 32-bit fields sto
 the rest of the bitcode file fields).  The Magic number is always
 <tt>0x0B17C0DE</tt> and the version is currently always <tt>0</tt>.  The Offset
 field is the offset in bytes to the start of the bitcode stream in the file, and
-the Size field is a size in bytes of the stream. CPUType is a target-specific
+the Size field is the size in bytes of the stream. CPUType is a target-specific
 value that can be used to encode the CPU of the target.
 </p>
 
@@ -681,26 +700,28 @@ When combined with the bitcode magic num
 <div class="doc_text">
 
 <p>
-<a href="#variablewidth">Variable Width Integers</a> are an efficient way to
-encode arbitrary sized unsigned values, but is an extremely inefficient way to
-encode signed values (as signed values are otherwise treated as maximally large
-unsigned values).
+<a href="#variablewidth">Variable Width Integer</a> encoding is an efficient way to
+encode arbitrary sized unsigned values, but is an extremely inefficient for
+encoding signed values, as signed values are otherwise treated as maximally large
+unsigned values.
 </p>
 
 <p>
-As such, signed vbr values of a specific width are emitted as follows:
+As such, signed VBR values of a specific width are emitted as follows:
 </p>
 
 <ul>
-<li>Positive values are emitted as vbrs of the specified width, but with their
+<li>Positive values are emitted as VBRs of the specified width, but with their
     value shifted left by one.</li>
-<li>Negative values are emitted as vbrs of the specified width, but the negated
+<li>Negative values are emitted as VBRs of the specified width, but the negated
     value is shifted left by one, and the low bit is set.</li>
 </ul>
 
 <p>
-With this encoding, small positive and small negative values can both be emitted
-efficiently.
+With this encoding, small positive and small negative values can both
+be emitted efficiently. Signed VBR encoding is used in
+<tt>CST_CODE_INTEGER</tt> and <tt>CST_CODE_WIDE_INTEGER</tt> records
+within <tt>CONSTANTS_BLOCK</tt> blocks.
 </p>
 
 </div>
@@ -716,21 +737,23 @@ LLVM IR is defined with the following bl
 </p>
 
 <ul>
-<li>8  &mdash; <tt>MODULE_BLOCK</tt> &mdash; This is the top-level block that
+<li>8  &mdash; <a href="#MODULE_BLOCK"><tt>MODULE_BLOCK</tt></a> &mdash; This is the top-level block that
     contains the entire module, and describes a variety of per-module
     information.</li>
-<li>9  &mdash; <tt>PARAMATTR_BLOCK</tt> &mdash; This enumerates the parameter
+<li>9  &mdash; <a href="#PARAMATTR_BLOCK"><tt>PARAMATTR_BLOCK</tt></a> &mdash; This enumerates the parameter
     attributes.</li>
-<li>10 &mdash; <tt>TYPE_BLOCK</tt> &mdash; This describes all of the types in
+<li>10 &mdash; <a href="#TYPE_BLOCK"><tt>TYPE_BLOCK</tt></a> &mdash; This describes all of the types in
     the module.</li>
-<li>11 &mdash; <tt>CONSTANTS_BLOCK</tt> &mdash; This describes constants for a
+<li>11 &mdash; <a href="#CONSTANTS_BLOCK"><tt>CONSTANTS_BLOCK</tt></a> &mdash; This describes constants for a
     module or function.</li>
-<li>12 &mdash; <tt>FUNCTION_BLOCK</tt> &mdash; This describes a function
+<li>12 &mdash; <a href="#FUNCTION_BLOCK"><tt>FUNCTION_BLOCK</tt></a> &mdash; This describes a function
     body.</li>
-<li>13 &mdash; <tt>TYPE_SYMTAB_BLOCK</tt> &mdash; This describes the type symbol
+<li>13 &mdash; <a href="#TYPE_SYMTAB_BLOCK"><tt>TYPE_SYMTAB_BLOCK</tt></a> &mdash; This describes the type symbol
     table.</li>
-<li>14 &mdash; <tt>VALUE_SYMTAB_BLOCK</tt> &mdash; This describes a value symbol
+<li>14 &mdash; <a href="#VALUE_SYMTAB_BLOCK"><tt>VALUE_SYMTAB_BLOCK</tt></a> &mdash; This describes a value symbol
     table.</li>
+<li>15 &mdash; <a href="#METADATA_BLOCK"><tt>METADATA_BLOCK</tt></a> &mdash; This describes metadata items.</li>
+<li>16 &mdash; <a href="#METADATA_ATTACHMENT"><tt>METADATA_ATTACHMENT</tt></a> &mdash; This contains records associating metadata with function instruction values.</li>
 </ul>
 
 </div>
@@ -741,7 +764,387 @@ LLVM IR is defined with the following bl
 
 <div class="doc_text">
 
-<p>
+<p>The <tt>MODULE_BLOCK</tt> block (id 8) is the top-level block for LLVM
+bitcode files, and each bitcode file must contain exactly one. In
+addition to records (described below) containing information
+about the module, a <tt>MODULE_BLOCK</tt> block may contain the
+following sub-blocks:
+</p>
+
+<ul>
+<li><a href="#BLOCKINFO"><tt>BLOCKINFO</tt></a></li>
+<li><a href="#PARAMATTR_BLOCK"><tt>PARAMATTR_BLOCK</tt></a></li>
+<li><a href="#TYPE_BLOCK"><tt>TYPE_BLOCK</tt></a></li>
+<li><a href="#TYPE_SYMTAB_BLOCK"><tt>TYPE_SYMTAB_BLOCK</tt></a></li>
+<li><a href="#VALUE_SYMTAB_BLOCK"><tt>VALUE_SYMTAB_BLOCK</tt></a></li>
+<li><a href="#CONSTANTS_BLOCK"><tt>CONSTANTS_BLOCK</tt></a></li>
+<li><a href="#FUNCTION_BLOCK"><tt>FUNCTION_BLOCK</tt></a></li>
+<li><a href="#METADATA_BLOCK"><tt>METADATA_BLOCK</tt></a></li>
+</ul>
+
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection"><a name="MODULE_CODE_VERSION">MODULE_CODE_VERSION Record</a>
+</div>
+
+<div class="doc_text">
+
+<p><tt>[VERSION, version#]</tt></p>
+
+<p>The <tt>VERSION</tt> record (code 1) contains a single value
+indicating the format version. Only version 0 is supported at this
+time.</p>
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection"><a name="MODULE_CODE_TRIPLE">MODULE_CODE_TRIPLE Record</a>
+</div>
+
+<div class="doc_text">
+<p><tt>[TRIPLE, ...string...]</tt></p>
+
+<p>The <tt>TRIPLE</tt> record (code 2) contains a variable number of
+values representing the bytes of the <tt>target triple</tt>
+specification string.</p>
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection"><a name="MODULE_CODE_DATALAYOUT">MODULE_CODE_DATALAYOUT Record</a>
+</div>
+
+<div class="doc_text">
+<p><tt>[DATALAYOUT, ...string...]</tt></p>
+
+<p>The <tt>DATALAYOUT</tt> record (code 3) contains a variable number of
+values representing the bytes of the <tt>target datalayout</tt>
+specification string.</p>
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection"><a name="MODULE_CODE_ASM">MODULE_CODE_ASM Record</a>
+</div>
+
+<div class="doc_text">
+<p><tt>[ASM, ...string...]</tt></p>
+
+<p>The <tt>ASM</tt> record (code 4) contains a variable number of
+values representing the bytes of <tt>module asm</tt> strings, with
+individual assembly blocks separated by newline (ASCII 10) characters.</p>
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection"><a name="MODULE_CODE_SECTIONNAME">MODULE_CODE_SECTIONNAME Record</a>
+</div>
+
+<div class="doc_text">
+<p><tt>[SECTIONNAME, ...string...]</tt></p>
+
+<p>The <tt>SECTIONNAME</tt> record (code 5) contains a variable number
+of values representing the bytes of a single section name
+string. There should be one <tt>SECTIONNAME</tt> record for each
+section name referenced (e.g., in global variable or function
+<tt>section</tt> attributes) within the module. These records can be
+referenced by the 1-based index in the <i>section</i> fields of
+<tt>GLOBALVAR</tt> or <tt>FUNCTION</tt> records.</p>
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection"><a name="MODULE_CODE_DEPLIB">MODULE_CODE_DEPLIB Record</a>
+</div>
+
+<div class="doc_text">
+<p><tt>[DEPLIB, ...string...]</tt></p>
+
+<p>The <tt>DEPLIB</tt> record (code 6) contains a variable number of
+values representing the bytes of a single dependent library name
+string, one of the libraries mentioned in a <tt>deplibs</tt>
+declaration.  There should be one <tt>DEPLIB</tt> record for each
+library name referenced.</p>
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection"><a name="MODULE_CODE_GLOBALVAR">MODULE_CODE_GLOBALVAR Record</a>
+</div>
+
+<div class="doc_text">
+<p><tt>[GLOBALVAR, pointer type, isconst, initid, linkage, alignment, section, visibility, threadlocal]</tt></p>
+
+<p>The <tt>GLOBALVAR</tt> record (code 7) marks the declaration or
+definition of a global variable. The operand fields are:</p>
+
+<ul>
+<li><i>pointer type</i>: The type index of the pointer type used to point to
+this global variable</li>
+
+<li><i>isconst</i>: Non-zero if the variable is treated as constant within
+the module, or zero if it is not</li>
+
+<li><i>initid</i>: If non-zero, the value index of the initializer for this
+variable, plus 1.</li>
+
+<li><a name="linkage"><i>linkage</i></a>: An encoding of the linkage
+type for this variable:
+  <ul>
+    <li><tt>external</tt>: code 0</li>
+    <li><tt>weak</tt>: code 1</li>
+    <li><tt>appending</tt>: code 2</li>
+    <li><tt>internal</tt>: code 3</li>
+    <li><tt>linkonce</tt>: code 4</li>
+    <li><tt>dllimport</tt>: code 5</li>
+    <li><tt>dllexport</tt>: code 6</li>
+    <li><tt>extern_weak</tt>: code 7</li>
+    <li><tt>common</tt>: code 8</li>
+    <li><tt>private</tt>: code 9</li>
+    <li><tt>weak_odr</tt>: code 10</li>
+    <li><tt>linkonce_odr</tt>: code 11</li>
+    <li><tt>available_externally</tt>: code 12</li>
+    <li><tt>linker_private</tt>: code 13</li>
+  </ul>
+</li>
+
+<li><i>alignment</i>: The logarithm base 2 of the variable's requested
+alignment, plus 1</li>
+
+<li><i>section</i>: If non-zero, the 1-based section index in the
+table of <a href="#MODULE_CODE_SECTIONNAME">MODULE_CODE_SECTIONNAME</a>
+entries.</li>
+
+<li><a name="visibility"><i>visibility</i></a>: If present, an
+encoding of the visibility of this variable:
+  <ul>
+    <li><tt>default</tt>: code 0</li>
+    <li><tt>hidden</tt>: code 1</li>
+    <li><tt>protected</tt>: code 2</li>
+  </ul>
+</li>
+
+<li><i>threadlocal</i>: If present and non-zero, indicates that the variable
+is <tt>thread_local</tt></li>
+
+</ul>
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection"><a name="MODULE_CODE_FUNCTION">MODULE_CODE_FUNCTION Record</a>
+</div>
+
+<div class="doc_text">

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@FreeBSD.ORG  Wed Nov  4 16:59:54 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 54AAA1065694;
	Wed,  4 Nov 2009 16:59:54 +0000 (UTC)
	(envelope-from rdivacky@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 2A9678FC15;
	Wed,  4 Nov 2009 16:59:54 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA4Gxs0Q039290;
	Wed, 4 Nov 2009 16:59:54 GMT (envelope-from rdivacky@svn.freebsd.org)
Received: (from rdivacky@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA4GxsaX039289;
	Wed, 4 Nov 2009 16:59:54 GMT (envelope-from rdivacky@svn.freebsd.org)
Message-Id: <200911041659.nA4GxsaX039289@svn.freebsd.org>
From: Roman Divacky <rdivacky@FreeBSD.org>
Date: Wed, 4 Nov 2009 16:59:54 +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: r198909 -
	projects/clangbsd/contrib/llvm/lib/Transforms/Utils
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Nov 2009 16:59:54 -0000

Author: rdivacky
Date: Wed Nov  4 16:59:53 2009
New Revision: 198909
URL: http://svn.freebsd.org/changeset/base/198909

Log:
  Merge file deletion from vendor.

Deleted:
  projects/clangbsd/contrib/llvm/lib/Transforms/Utils/LowerAllocations.cpp
Modified:
Directory Properties:
  projects/clangbsd/contrib/llvm/   (props changed)
  projects/clangbsd/contrib/llvm/tools/clang/   (props changed)

From owner-svn-src-projects@FreeBSD.ORG  Wed Nov  4 17:00:24 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 996F0106568B;
	Wed,  4 Nov 2009 17:00:24 +0000 (UTC)
	(envelope-from rdivacky@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 8513F8FC28;
	Wed,  4 Nov 2009 17:00:24 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA4H0OBu039373;
	Wed, 4 Nov 2009 17:00:24 GMT (envelope-from rdivacky@svn.freebsd.org)
Received: (from rdivacky@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA4H0OVu039363;
	Wed, 4 Nov 2009 17:00:24 GMT (envelope-from rdivacky@svn.freebsd.org)
Message-Id: <200911041700.nA4H0OVu039363@svn.freebsd.org>
From: Roman Divacky <rdivacky@FreeBSD.org>
Date: Wed, 4 Nov 2009 17:00: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: r198910 - in projects/clangbsd/usr.bin/clang/lib:
	libclanganalysis libclangast libclangcodegen libllvmanalysis
	libllvmarmcodegen libllvmcodegen libllvmipo libllvmscalaropts
	libllvmtrans...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Nov 2009 17:00:24 -0000

Author: rdivacky
Date: Wed Nov  4 17:00:24 2009
New Revision: 198910
URL: http://svn.freebsd.org/changeset/base/198910

Log:
  Adjust makefiles for new llvm/clang.

Modified:
  projects/clangbsd/usr.bin/clang/lib/libclanganalysis/Makefile
  projects/clangbsd/usr.bin/clang/lib/libclangast/Makefile
  projects/clangbsd/usr.bin/clang/lib/libclangcodegen/Makefile
  projects/clangbsd/usr.bin/clang/lib/libllvmanalysis/Makefile
  projects/clangbsd/usr.bin/clang/lib/libllvmarmcodegen/Makefile
  projects/clangbsd/usr.bin/clang/lib/libllvmcodegen/Makefile
  projects/clangbsd/usr.bin/clang/lib/libllvmipo/Makefile
  projects/clangbsd/usr.bin/clang/lib/libllvmscalaropts/Makefile
  projects/clangbsd/usr.bin/clang/lib/libllvmtransformutils/Makefile

Modified: projects/clangbsd/usr.bin/clang/lib/libclanganalysis/Makefile
==============================================================================
--- projects/clangbsd/usr.bin/clang/lib/libclanganalysis/Makefile	Wed Nov  4 16:59:53 2009	(r198909)
+++ projects/clangbsd/usr.bin/clang/lib/libclanganalysis/Makefile	Wed Nov  4 17:00:24 2009	(r198910)
@@ -3,18 +3,21 @@
 LIB=	clanganalysis
 
 SRCDIR=	tools/clang/lib/Analysis
-SRCS=	AnalysisContext.cpp AnalysisManager.cpp BasicConstraintManager.cpp \
+SRCS=	AnalysisContext.cpp AnalysisManager.cpp AttrNonNullChecker.cpp \
+	BadCallChecker.cpp BasicConstraintManager.cpp \
 	BasicObjCFoundationChecks.cpp BasicStore.cpp BasicValueFactory.cpp \
 	BugReporter.cpp BugReporterVisitors.cpp CFG.cpp CFRefCount.cpp \
-	CallGraph.cpp CallInliner.cpp  CheckDeadStores.cpp CheckNSError.cpp \
+	CallGraph.cpp CallInliner.cpp  CheckDeadStores.cpp \
 	CheckObjCDealloc.cpp CheckObjCInstMethSignature.cpp \
-	CheckObjCUnusedIVars.cpp CheckSecuritySyntaxOnly.cpp Environment.cpp \
+	CheckObjCUnusedIVars.cpp CheckSecuritySyntaxOnly.cpp DereferenceChecker.cpp DivZeroChecker.cpp Environment.cpp \
 	ExplodedGraph.cpp GRBlockCounter.cpp GRCoreEngine.cpp GRExprEngine.cpp \
 	GRExprEngineInternalChecks.cpp GRState.cpp LiveVariables.cpp \
-	MemRegion.cpp PathDiagnostic.cpp RangeConstraintManager.cpp \
-	RegionStore.cpp SVals.cpp SValuator.cpp SimpleConstraintManager.cpp \
-	SimpleSValuator.cpp Store.cpp SymbolManager.cpp \
-	UninitializedValues.cpp ValueManager.cpp
+	MemRegion.cpp NSAutoreleasePoolChecker.cpp NSErrorChecker.cpp PathDiagnostic.cpp \
+	RangeConstraintManager.cpp RegionStore.cpp SVals.cpp SValuator.cpp \
+	SimpleConstraintManager.cpp SimpleSValuator.cpp Store.cpp \
+	SymbolManager.cpp UndefinedArgChecker.cpp \
+	UndefinedAssignmentChecker.cpp UninitializedValues.cpp \
+	ValueManager.cpp VLASizeChecker.cpp
 
 TGHDRS=	DiagnosticAnalysisKinds DiagnosticCommonKinds
 

Modified: projects/clangbsd/usr.bin/clang/lib/libclangast/Makefile
==============================================================================
--- projects/clangbsd/usr.bin/clang/lib/libclangast/Makefile	Wed Nov  4 16:59:53 2009	(r198909)
+++ projects/clangbsd/usr.bin/clang/lib/libclangast/Makefile	Wed Nov  4 17:00:24 2009	(r198910)
@@ -9,7 +9,8 @@ SRCS=	APValue.cpp ASTConsumer.cpp ASTCon
 	ExprCXX.cpp ExprConstant.cpp InheritViz.cpp \
 	NestedNameSpecifier.cpp ParentMap.cpp RecordLayoutBuilder.cpp \
 	Stmt.cpp StmtDumper.cpp StmtIterator.cpp StmtPrinter.cpp \
-	StmtProfile.cpp StmtViz.cpp TemplateName.cpp Type.cpp TypeLoc.cpp
+	StmtProfile.cpp StmtViz.cpp TemplateBase.cpp TemplateName.cpp Type.cpp \
+	TypeLoc.cpp
 
 TGHDRS=	DiagnosticASTKinds DiagnosticCommonKinds
 

Modified: projects/clangbsd/usr.bin/clang/lib/libclangcodegen/Makefile
==============================================================================
--- projects/clangbsd/usr.bin/clang/lib/libclangcodegen/Makefile	Wed Nov  4 16:59:53 2009	(r198909)
+++ projects/clangbsd/usr.bin/clang/lib/libclangcodegen/Makefile	Wed Nov  4 17:00:24 2009	(r198910)
@@ -3,7 +3,8 @@
 LIB=	clangcodegen
 
 SRCDIR=	tools/clang/lib/CodeGen
-SRCS=	CGBlocks.cpp CGBuiltin.cpp CGCXX.cpp CGCXXClass.cpp CGCXXExpr.cpp \
+SRCS=	CGBlocks.cpp CGBuiltin.cpp CGException.cpp CGCXX.cpp CGCXXClass.cpp \
+	CGCXXExpr.cpp \
 	CGCXXTemp.cpp CGCall.cpp CGDebugInfo.cpp CGDecl.cpp CGExpr.cpp \
 	CGExprAgg.cpp CGExprComplex.cpp CGExprConstant.cpp CGExprScalar.cpp \
 	CGObjC.cpp CGObjCGNU.cpp CGObjCMac.cpp CGRecordLayoutBuilder.cpp \

Modified: projects/clangbsd/usr.bin/clang/lib/libllvmanalysis/Makefile
==============================================================================
--- projects/clangbsd/usr.bin/clang/lib/libllvmanalysis/Makefile	Wed Nov  4 16:59:53 2009	(r198909)
+++ projects/clangbsd/usr.bin/clang/lib/libllvmanalysis/Makefile	Wed Nov  4 17:00:24 2009	(r198910)
@@ -11,7 +11,7 @@ SRCS=	AliasAnalysis.cpp AliasAnalysisCou
 	InstCount.cpp Interval.cpp IntervalPartition.cpp \
 	LibCallAliasAnalysis.cpp LibCallSemantics.cpp LiveValues.cpp \
 	LoopDependenceAnalysis.cpp LoopInfo.cpp LoopPass.cpp \
-	MallocHelper.cpp MemoryDependenceAnalysis.cpp PointerTracking.cpp \
+	MemoryBuiltins.cpp MemoryDependenceAnalysis.cpp PointerTracking.cpp \
 	PostDominators.cpp ProfileEstimatorPass.cpp ProfileInfo.cpp \
 	ProfileInfoLoader.cpp ProfileInfoLoaderPass.cpp \
 	ProfileVerifierPass.cpp ScalarEvolution.cpp \

Modified: projects/clangbsd/usr.bin/clang/lib/libllvmarmcodegen/Makefile
==============================================================================
--- projects/clangbsd/usr.bin/clang/lib/libllvmarmcodegen/Makefile	Wed Nov  4 16:59:53 2009	(r198909)
+++ projects/clangbsd/usr.bin/clang/lib/libllvmarmcodegen/Makefile	Wed Nov  4 17:00:24 2009	(r198910)
@@ -9,6 +9,7 @@ SRCS=	ARMBaseInstrInfo.cpp ARMBaseRegist
 	ARMISelLowering.cpp ARMInstrInfo.cpp ARMJITInfo.cpp \
 	ARMLoadStoreOptimizer.cpp ARMLoadStoreOptimizer.cpp ARMMCAsmInfo.cpp \
 	ARMRegisterInfo.cpp ARMSubtarget.cpp ARMTargetMachine.cpp \
+	NEONMoveFix.cpp \
 	NEONPreAllocPass.cpp Thumb1InstrInfo.cpp Thumb1RegisterInfo.cpp \
 	Thumb2ITBlockPass.cpp Thumb2InstrInfo.cpp Thumb2RegisterInfo.cpp \
 	Thumb2SizeReduction.cpp

Modified: projects/clangbsd/usr.bin/clang/lib/libllvmcodegen/Makefile
==============================================================================
--- projects/clangbsd/usr.bin/clang/lib/libllvmcodegen/Makefile	Wed Nov  4 16:59:53 2009	(r198909)
+++ projects/clangbsd/usr.bin/clang/lib/libllvmcodegen/Makefile	Wed Nov  4 17:00:24 2009	(r198910)
@@ -3,12 +3,12 @@
 LIB=	llvmcodegen
 
 SRCDIR=	lib/CodeGen
-SRCS=	BranchFolding.cpp CodePlacementOpt.cpp \
-	DeadMachineInstructionElim.cpp DwarfEHPrepare.cpp \
-	ELFCodeEmitter.cpp ELFWriter.cpp ExactHazardRecognizer.cpp \
-	GCMetadata.cpp GCMetadataPrinter.cpp GCStrategy.cpp \
-	IfConversion.cpp IntrinsicLowering.cpp LLVMTargetMachine.cpp \
-	LatencyPriorityQueue.cpp LiveInterval.cpp \
+SRCS=	AggressiveAntiDepBreaker.cpp BranchFolding.cpp CodePlacementOpt.cpp \
+	CriticalAntiDepBreaker.cpp DeadMachineInstructionElim.cpp \
+	DwarfEHPrepare.cpp ELFCodeEmitter.cpp ELFWriter.cpp \
+	ExactHazardRecognizer.cpp GCMetadata.cpp GCMetadataPrinter.cpp \
+	GCStrategy.cpp IfConversion.cpp IntrinsicLowering.cpp \
+	LLVMTargetMachine.cpp LatencyPriorityQueue.cpp LiveInterval.cpp \
 	LiveIntervalAnalysis.cpp LiveStackAnalysis.cpp \
 	LiveVariables.cpp LowerSubregs.cpp MachOCodeEmitter.cpp MachOWriter.cpp \
 	MachineBasicBlock.cpp MachineDominators.cpp \
@@ -18,16 +18,17 @@ SRCS=	BranchFolding.cpp CodePlacementOpt
 	MachinePassRegistry.cpp MachineRegisterInfo.cpp \
 	MachineSink.cpp MachineVerifier.cpp ObjectCodeEmitter.cpp OcamlGC.cpp \
 	PHIElimination.cpp Passes.cpp PostRASchedulerList.cpp \
-	PreAllocSplitting.cpp PrologEpilogInserter.cpp \
+	PreAllocSplitting.cpp ProcessImplicitDefs.cpp PrologEpilogInserter.cpp \
 	PseudoSourceValue.cpp RegAllocLinearScan.cpp RegAllocLocal.cpp \
 	RegAllocPBQP.cpp RegisterCoalescer.cpp \
 	RegisterScavenging.cpp ScheduleDAG.cpp ScheduleDAGEmit.cpp \
 	ScheduleDAGInstrs.cpp ScheduleDAGPrinter.cpp \
 	ShrinkWrapping.cpp ShadowStackGC.cpp \
-	SimpleRegisterCoalescing.cpp SjLjEHPrepare.cpp Spiller.cpp \
-	StackProtector.cpp StackSlotColoring.cpp StrongPHIElimination.cpp \
-	TargetInstrInfoImpl.cpp TwoAddressInstructionPass.cpp \
-	UnreachableBlockElim.cpp VirtRegMap.cpp VirtRegRewriter.cpp
+	SimpleRegisterCoalescing.cpp SjLjEHPrepare.cpp SlotIndexes.cpp \
+	Spiller.cpp StackProtector.cpp StackSlotColoring.cpp \
+	StrongPHIElimination.cpp TargetInstrInfoImpl.cpp \
+	TwoAddressInstructionPass.cpp UnreachableBlockElim.cpp VirtRegMap.cpp \
+	VirtRegRewriter.cpp
 
 TGHDRS=	Intrinsics
 

Modified: projects/clangbsd/usr.bin/clang/lib/libllvmipo/Makefile
==============================================================================
--- projects/clangbsd/usr.bin/clang/lib/libllvmipo/Makefile	Wed Nov  4 16:59:53 2009	(r198909)
+++ projects/clangbsd/usr.bin/clang/lib/libllvmipo/Makefile	Wed Nov  4 17:00:24 2009	(r198910)
@@ -9,7 +9,7 @@ SRCS=	ArgumentPromotion.cpp ConstantMerg
 	IPConstantPropagation.cpp IPO.cpp \
 	InlineAlways.cpp InlineSimple.cpp Inliner.cpp Internalize.cpp \
 	LoopExtractor.cpp LowerSetJmp.cpp MergeFunctions.cpp \
-	PartialSpecialization.cpp PruneEH.cpp RaiseAllocations.cpp \
+	PartialSpecialization.cpp PruneEH.cpp \
 	StripDeadPrototypes.cpp StripSymbols.cpp \
 	StructRetPromotion.cpp
 

Modified: projects/clangbsd/usr.bin/clang/lib/libllvmscalaropts/Makefile
==============================================================================
--- projects/clangbsd/usr.bin/clang/lib/libllvmscalaropts/Makefile	Wed Nov  4 16:59:53 2009	(r198909)
+++ projects/clangbsd/usr.bin/clang/lib/libllvmscalaropts/Makefile	Wed Nov  4 17:00:24 2009	(r198910)
@@ -3,7 +3,7 @@
 LIB=	llvmscalaropts
 
 SRCDIR=	lib/Transforms/Scalar
-SRCS=	ADCE.cpp BasicBlockPlacement.cpp CodeGenLICM.cpp CodeGenPrepare.cpp \
+SRCS=	ADCE.cpp BasicBlockPlacement.cpp CodeGenPrepare.cpp \
 	CondPropagate.cpp ConstantProp.cpp DCE.cpp \
 	DeadStoreElimination.cpp GVN.cpp IndVarSimplify.cpp \
 	InstructionCombining.cpp JumpThreading.cpp LICM.cpp \

Modified: projects/clangbsd/usr.bin/clang/lib/libllvmtransformutils/Makefile
==============================================================================
--- projects/clangbsd/usr.bin/clang/lib/libllvmtransformutils/Makefile	Wed Nov  4 16:59:53 2009	(r198909)
+++ projects/clangbsd/usr.bin/clang/lib/libllvmtransformutils/Makefile	Wed Nov  4 17:00:24 2009	(r198910)
@@ -8,9 +8,9 @@ SRCS=	AddrModeMatcher.cpp BasicBlockUtil
 	CloneModule.cpp CodeExtractor.cpp \
 	DemoteRegToStack.cpp InlineFunction.cpp \
 	InstructionNamer.cpp LCSSA.cpp Local.cpp LoopSimplify.cpp \
-	LowerAllocations.cpp LowerInvoke.cpp LowerSwitch.cpp \
+	LoopUnroll.cpp LowerInvoke.cpp LowerSwitch.cpp \
 	Mem2Reg.cpp PromoteMemoryToRegister.cpp SSAUpdater.cpp SSI.cpp \
-	SimplifyCFG.cpp UnifyFunctionExitNodes.cpp UnrollLoop.cpp \
+	SimplifyCFG.cpp UnifyFunctionExitNodes.cpp \
 	ValueMapper.cpp
 
 TGHDRS=	Intrinsics

From owner-svn-src-projects@FreeBSD.ORG  Wed Nov  4 23:33:36 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 EA2791065695;
	Wed,  4 Nov 2009 23:33:36 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id BE7008FC17;
	Wed,  4 Nov 2009 23:33:36 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA4NXaaE050319;
	Wed, 4 Nov 2009 23:33:36 GMT (envelope-from gonzo@svn.freebsd.org)
Received: (from gonzo@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA4NXavU050316;
	Wed, 4 Nov 2009 23:33:36 GMT (envelope-from gonzo@svn.freebsd.org)
Message-Id: <200911042333.nA4NXavU050316@svn.freebsd.org>
From: Oleksandr Tymoshenko <gonzo@FreeBSD.org>
Date: Wed, 4 Nov 2009 23:33: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: r198932 - projects/mips/sys/mips/atheros
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Nov 2009 23:33:37 -0000

Author: gonzo
Date: Wed Nov  4 23:33:36 2009
New Revision: 198932
URL: http://svn.freebsd.org/changeset/base/198932

Log:
  - Remove noisy "Implement me" stubs
  - Handle SIOCSIFFLAGS ioctl

Modified:
  projects/mips/sys/mips/atheros/if_arge.c
  projects/mips/sys/mips/atheros/if_argevar.h

Modified: projects/mips/sys/mips/atheros/if_arge.c
==============================================================================
--- projects/mips/sys/mips/atheros/if_arge.c	Wed Nov  4 22:39:18 2009	(r198931)
+++ projects/mips/sys/mips/atheros/if_arge.c	Wed Nov  4 23:33:36 2009	(r198932)
@@ -272,6 +272,7 @@ arge_attach(device_t dev)
 	ifp->if_ioctl = arge_ioctl;
 	ifp->if_start = arge_start;
 	ifp->if_init = arge_init;
+	sc->arge_if_flags = ifp->if_flags;
 
 	/* XXX: add real size */
 	IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN);
@@ -900,25 +901,38 @@ arge_ioctl(struct ifnet *ifp, u_long com
 
 	switch (command) {
 	case SIOCSIFFLAGS:
-		printf("Implement me: SIOCSIFFLAGS\n");
+		ARGE_LOCK(sc);
+		if ((ifp->if_flags & IFF_UP) != 0) {
+			if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) {
+				if (((ifp->if_flags ^ sc->arge_if_flags)
+				    & (IFF_PROMISC | IFF_ALLMULTI)) != 0)
+					arge_rx_locked(sc);
+			} else {
+				if (!sc->arge_detach)
+					arge_init_locked(sc);
+			}
+		} else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) {
+			ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
+			arge_stop(sc);
+		}
+		sc->arge_if_flags = ifp->if_flags;
+		ARGE_UNLOCK(sc);
 		error = 0;
 		break;
 	case SIOCADDMULTI:
 	case SIOCDELMULTI:
-		printf("Implement me: SIOCDELMULTI\n");
+		/* XXX: implement SIOCDELMULTI */
 		error = 0;
 		break;
 	case SIOCGIFMEDIA:
 	case SIOCSIFMEDIA:
-		printf("Implement me: SIOCSIFMEDIA\n");
 		mii = device_get_softc(sc->arge_miibus);
 		error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, command);
 		break;
         case SIOCSIFCAP:
-		printf("Implement me: SIOCSIFCAP\n");
+		/* XXX: Check other capabilities */
 #ifdef DEVICE_POLLING
                 mask = ifp->if_capenable ^ ifr->ifr_reqcap;
-		error  = 0;
                 if (mask & IFCAP_POLLING) {
                         if (ifr->ifr_reqcap & IFCAP_POLLING) {
 				ARGE_WRITE(sc, AR71XX_DMA_INTR, 0);
@@ -936,6 +950,7 @@ arge_ioctl(struct ifnet *ifp, u_long com
                                 ARGE_UNLOCK(sc);
                         }
                 }
+		error = 0;
                 break;
 #endif
 	default:

Modified: projects/mips/sys/mips/atheros/if_argevar.h
==============================================================================
--- projects/mips/sys/mips/atheros/if_argevar.h	Wed Nov  4 22:39:18 2009	(r198931)
+++ projects/mips/sys/mips/atheros/if_argevar.h	Wed Nov  4 23:33:36 2009	(r198932)
@@ -133,6 +133,7 @@ struct arge_softc {
 	int			arge_phy_num;
 	uint32_t		arge_ddr_flush_reg;
 	uint32_t		arge_pll_reg;
+	int			arge_if_flags;
 };
 
 #endif /* __IF_ARGEVAR_H__ */

From owner-svn-src-projects@FreeBSD.ORG  Wed Nov  4 23:34:58 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 6A7F0106566C;
	Wed,  4 Nov 2009 23:34:58 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 4FC398FC15;
	Wed,  4 Nov 2009 23:34:58 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA4NYwGI050377;
	Wed, 4 Nov 2009 23:34:58 GMT (envelope-from gonzo@svn.freebsd.org)
Received: (from gonzo@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA4NYwfG050375;
	Wed, 4 Nov 2009 23:34:58 GMT (envelope-from gonzo@svn.freebsd.org)
Message-Id: <200911042334.nA4NYwfG050375@svn.freebsd.org>
From: Oleksandr Tymoshenko <gonzo@FreeBSD.org>
Date: Wed, 4 Nov 2009 23:34: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: r198933 - projects/mips/sys/mips/atheros
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Nov 2009 23:34:58 -0000

Author: gonzo
Date: Wed Nov  4 23:34:58 2009
New Revision: 198933
URL: http://svn.freebsd.org/changeset/base/198933

Log:
   - style(9): replace whitespaces with tabs

Modified:
  projects/mips/sys/mips/atheros/if_arge.c

Modified: projects/mips/sys/mips/atheros/if_arge.c
==============================================================================
--- projects/mips/sys/mips/atheros/if_arge.c	Wed Nov  4 23:33:36 2009	(r198932)
+++ projects/mips/sys/mips/atheros/if_arge.c	Wed Nov  4 23:34:58 2009	(r198933)
@@ -295,7 +295,7 @@ arge_attach(device_t dev)
 		/*
 		 * No MAC address configured. Generate the random one.
 		 */
-                if  (bootverbose)
+		if  (bootverbose)
 			device_printf(dev, 
 			    "Generating random ethernet address.\n");
 
@@ -929,29 +929,29 @@ arge_ioctl(struct ifnet *ifp, u_long com
 		mii = device_get_softc(sc->arge_miibus);
 		error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, command);
 		break;
-        case SIOCSIFCAP:
+	case SIOCSIFCAP:
 		/* XXX: Check other capabilities */
 #ifdef DEVICE_POLLING
-                mask = ifp->if_capenable ^ ifr->ifr_reqcap;
-                if (mask & IFCAP_POLLING) {
-                        if (ifr->ifr_reqcap & IFCAP_POLLING) {
+		mask = ifp->if_capenable ^ ifr->ifr_reqcap;
+		if (mask & IFCAP_POLLING) {
+			if (ifr->ifr_reqcap & IFCAP_POLLING) {
 				ARGE_WRITE(sc, AR71XX_DMA_INTR, 0);
-                                error = ether_poll_register(arge_poll, ifp);
-                                if (error)
-                                        return error;
-                                ARGE_LOCK(sc);
-                                ifp->if_capenable |= IFCAP_POLLING;
-                                ARGE_UNLOCK(sc);
-                        } else {
+				error = ether_poll_register(arge_poll, ifp);
+				if (error)
+					return error;
+				ARGE_LOCK(sc);
+				ifp->if_capenable |= IFCAP_POLLING;
+				ARGE_UNLOCK(sc);
+			} else {
 				ARGE_WRITE(sc, AR71XX_DMA_INTR, DMA_INTR_ALL);
-                                error = ether_poll_deregister(ifp);
-                                ARGE_LOCK(sc);
-                                ifp->if_capenable &= ~IFCAP_POLLING;
-                                ARGE_UNLOCK(sc);
-                        }
-                }
+				error = ether_poll_deregister(ifp);
+				ARGE_LOCK(sc);
+				ifp->if_capenable &= ~IFCAP_POLLING;
+				ARGE_UNLOCK(sc);
+			}
+		}
 		error = 0;
-                break;
+		break;
 #endif
 	default:
 		error = ether_ioctl(ifp, command, data);
@@ -1392,8 +1392,8 @@ arge_newbuf(struct arge_softc *sc, int i
 static __inline void
 arge_fixup_rx(struct mbuf *m)
 {
-        int		i;
-        uint16_t	*src, *dst;
+	int		i;
+	uint16_t	*src, *dst;
 
 	src = mtod(m, uint16_t *);
 	dst = src - 1;
@@ -1415,12 +1415,12 @@ arge_poll(struct ifnet *ifp, enum poll_c
 	struct arge_softc *sc = ifp->if_softc;
 	int rx_npkts = 0;
 
-        if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
+	if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
 		ARGE_LOCK(sc);
 		arge_tx_locked(sc);
 		rx_npkts = arge_rx_locked(sc);
 		ARGE_UNLOCK(sc);
-        }
+	}
 
 	return (rx_npkts);
 }

From owner-svn-src-projects@FreeBSD.ORG  Thu Nov  5 03:07:37 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 78D42106566B;
	Thu,  5 Nov 2009 03:07:37 +0000 (UTC)
	(envelope-from nwhitehorn@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 67D0B8FC2D;
	Thu,  5 Nov 2009 03:07:37 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA537bKn055618;
	Thu, 5 Nov 2009 03:07:37 GMT
	(envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA537blq055617;
	Thu, 5 Nov 2009 03:07:37 GMT
	(envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <200911050307.nA537blq055617@svn.freebsd.org>
From: Nathan Whitehorn <nwhitehorn@FreeBSD.org>
Date: Thu, 5 Nov 2009 03:07:37 +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: r198938 - projects/ppc64/sys/powerpc/include
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Nov 2009 03:07:37 -0000

Author: nwhitehorn
Date: Thu Nov  5 03:07:37 2009
New Revision: 198938
URL: http://svn.freebsd.org/changeset/base/198938

Log:
  Fix some types in the ucontext struct to handle 64-bit and Book-E.

Modified:
  projects/ppc64/sys/powerpc/include/ucontext.h

Modified: projects/ppc64/sys/powerpc/include/ucontext.h
==============================================================================
--- projects/ppc64/sys/powerpc/include/ucontext.h	Thu Nov  5 02:31:10 2009	(r198937)
+++ projects/ppc64/sys/powerpc/include/ucontext.h	Thu Nov  5 03:07:37 2009	(r198938)
@@ -44,7 +44,7 @@ typedef struct __mcontext {
 	int		mc_len;			/* sizeof(__mcontext) */
 	uint64_t	mc_avec[32*2];		/* vector register file */
 	uint32_t	mc_av[2];
-	uint32_t	mc_frame[41];
+	register_t	mc_frame[42];
 	uint64_t	mc_fpreg[33];
 } mcontext_t __aligned(16);
 

From owner-svn-src-projects@FreeBSD.ORG  Thu Nov  5 03:54:04 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 58A1D1065672;
	Thu,  5 Nov 2009 03:54:04 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 480ED8FC1E;
	Thu,  5 Nov 2009 03:54:04 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA53s4Ib056880;
	Thu, 5 Nov 2009 03:54:04 GMT (envelope-from gonzo@svn.freebsd.org)
Received: (from gonzo@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA53s42I056878;
	Thu, 5 Nov 2009 03:54:04 GMT (envelope-from gonzo@svn.freebsd.org)
Message-Id: <200911050354.nA53s42I056878@svn.freebsd.org>
From: Oleksandr Tymoshenko <gonzo@FreeBSD.org>
Date: Thu, 5 Nov 2009 03:54:04 +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: r198939 - projects/mips/sys/mips/atheros
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Nov 2009 03:54:04 -0000

Author: gonzo
Date: Thu Nov  5 03:54:03 2009
New Revision: 198939
URL: http://svn.freebsd.org/changeset/base/198939

Log:
  - Replace dumb cut'n'paste call with not to self (XXX)

Modified:
  projects/mips/sys/mips/atheros/if_arge.c

Modified: projects/mips/sys/mips/atheros/if_arge.c
==============================================================================
--- projects/mips/sys/mips/atheros/if_arge.c	Thu Nov  5 03:07:37 2009	(r198938)
+++ projects/mips/sys/mips/atheros/if_arge.c	Thu Nov  5 03:54:03 2009	(r198939)
@@ -905,8 +905,10 @@ arge_ioctl(struct ifnet *ifp, u_long com
 		if ((ifp->if_flags & IFF_UP) != 0) {
 			if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) {
 				if (((ifp->if_flags ^ sc->arge_if_flags)
-				    & (IFF_PROMISC | IFF_ALLMULTI)) != 0)
-					arge_rx_locked(sc);
+				    & (IFF_PROMISC | IFF_ALLMULTI)) != 0) {
+					/* XXX: handle promisc & multi flags */
+				}
+					
 			} else {
 				if (!sc->arge_detach)
 					arge_init_locked(sc);

From owner-svn-src-projects@FreeBSD.ORG  Thu Nov  5 17:22:13 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 C64F0106568B;
	Thu,  5 Nov 2009 17:22:13 +0000 (UTC)
	(envelope-from rdivacky@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id B00108FC2E;
	Thu,  5 Nov 2009 17:22:13 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA5HMDZD085022;
	Thu, 5 Nov 2009 17:22:13 GMT (envelope-from rdivacky@svn.freebsd.org)
Received: (from rdivacky@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA5HMDF6084994;
	Thu, 5 Nov 2009 17:22:13 GMT (envelope-from rdivacky@svn.freebsd.org)
Message-Id: <200911051722.nA5HMDF6084994@svn.freebsd.org>
From: Roman Divacky <rdivacky@FreeBSD.org>
Date: Thu, 5 Nov 2009 17:22: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: r198955 - in projects/clangbsd/contrib/llvm:
	docs/CommandGuide examples/BrainF include/llvm
	include/llvm/Analysis include/llvm/CodeGen
	include/llvm/Support include/llvm/Target lib/Analy...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Nov 2009 17:22:14 -0000

Author: rdivacky
Date: Thu Nov  5 17:22:12 2009
New Revision: 198955
URL: http://svn.freebsd.org/changeset/base/198955

Log:
  Merge LLVM/clang from vendor.

Added:
  projects/clangbsd/contrib/llvm/test/CodeGen/ARM/indirectbr.ll
     - copied unchanged from r198954, vendor/llvm/dist/test/CodeGen/ARM/indirectbr.ll
  projects/clangbsd/contrib/llvm/test/CodeGen/PowerPC/indirectbr.ll
     - copied unchanged from r198954, vendor/llvm/dist/test/CodeGen/PowerPC/indirectbr.ll
  projects/clangbsd/contrib/llvm/test/Transforms/DeadStoreElimination/no-targetdata.ll
     - copied unchanged from r198954, vendor/llvm/dist/test/Transforms/DeadStoreElimination/no-targetdata.ll
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/compare.cpp
     - copied unchanged from r198954, vendor/clang/dist/test/SemaCXX/compare.cpp
Modified:
  projects/clangbsd/contrib/llvm/docs/CommandGuide/lit.pod
  projects/clangbsd/contrib/llvm/examples/BrainF/BrainF.cpp
  projects/clangbsd/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h
  projects/clangbsd/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h
  projects/clangbsd/contrib/llvm/include/llvm/Instructions.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/ConstantFolder.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/Format.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/LeakDetector.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/OutputBuffer.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/PassNameParser.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/RecyclingAllocator.h
  projects/clangbsd/contrib/llvm/include/llvm/Support/TargetFolder.h
  projects/clangbsd/contrib/llvm/include/llvm/Target/TargetIntrinsicInfo.h
  projects/clangbsd/contrib/llvm/lib/Analysis/DebugInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp
  projects/clangbsd/contrib/llvm/lib/AsmParser/LLParser.cpp
  projects/clangbsd/contrib/llvm/lib/AsmParser/LLParser.h
  projects/clangbsd/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h
  projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/MachineLICM.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
  projects/clangbsd/contrib/llvm/lib/CodeGen/SlotIndexes.cpp
  projects/clangbsd/contrib/llvm/lib/Support/MemoryBuffer.cpp
  projects/clangbsd/contrib/llvm/lib/System/Win32/Path.inc
  projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp
  projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinIntrinsicInfo.h
  projects/clangbsd/contrib/llvm/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp
  projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
  projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h
  projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
  projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td
  projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp
  projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/Core.cpp
  projects/clangbsd/contrib/llvm/lib/VMCore/Instructions.cpp
  projects/clangbsd/contrib/llvm/test/Analysis/PointerTracking/sizes.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/2009-06-01-RecursivePHI.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/heap-sra-1.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/heap-sra-2.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/heap-sra-3.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/heap-sra-4.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/heap-sra-phi.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/malloc-promote-1.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/malloc-promote-2.ll
  projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/malloc-promote-3.ll
  projects/clangbsd/contrib/llvm/test/Transforms/JumpThreading/crash.ll
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathDiagnostic.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/AnalysisManager.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/BugType.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/Checker.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/Checkers/UndefinedAssignmentChecker.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/GRExprEngine.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/ASTConsumers.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/AnalysisConsumer.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/InitPreprocessor.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/PathDiagnosticClients.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/Action.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/DeclSpec.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/Parser.h
  projects/clangbsd/contrib/llvm/tools/clang/include/clang/Rewrite/HTMLRewrite.h
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclarationName.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.h
  projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Type.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/GRExprEngine.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/UndefinedAssignmentChecker.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/VLASizeChecker.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/AnalysisConsumer.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/HTMLDiagnostics.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/HTMLPrint.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PlistDiagnostics.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Headers/stdint.h
  projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/DeclSpec.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/MinimalAction.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Rewrite/HTMLRewrite.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/Sema.h
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaCXXCast.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp
  projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h
  projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/misc-ps.m
  projects/clangbsd/contrib/llvm/tools/clang/test/CMakeLists.txt
  projects/clangbsd/contrib/llvm/tools/clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p5-cxx0x.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/array-construction.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/ptr-to-datamember.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/ptr-to-member-function.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/virt.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/Coverage/html-diagnostics.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Frontend/dependency-gen.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Makefile
  projects/clangbsd/contrib/llvm/tools/clang/test/Parser/if-scope-c90.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Parser/if-scope-c99.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/stdint.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Sema/compare.c
  projects/clangbsd/contrib/llvm/tools/clang/test/Sema/conditional-expr.c
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/conditional-expr.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/constructor-initializer.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/overload-member-call.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/overloaded-operator.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/primary-base.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/example-dynarray.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-complete.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-deeply.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-expr-1.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/member-access-expr.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/member-template-access-expr.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/temp_arg_nontype.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/template-id-expr.cpp
  projects/clangbsd/contrib/llvm/tools/clang/test/lit.cfg
  projects/clangbsd/contrib/llvm/tools/clang/tools/clang-cc/clang-cc.cpp
  projects/clangbsd/contrib/llvm/tools/clang/utils/C++Tests/LLVM-Syntax/lit.local.cfg
  projects/clangbsd/contrib/llvm/tools/clang/www/analyzer/latest_checker.html.incl
  projects/clangbsd/contrib/llvm/utils/lit/LitConfig.py
  projects/clangbsd/contrib/llvm/utils/lit/lit.py
Directory Properties:
  projects/clangbsd/contrib/llvm/   (props changed)
  projects/clangbsd/contrib/llvm/tools/clang/   (props changed)

Modified: projects/clangbsd/contrib/llvm/docs/CommandGuide/lit.pod
==============================================================================
--- projects/clangbsd/contrib/llvm/docs/CommandGuide/lit.pod	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/docs/CommandGuide/lit.pod	Thu Nov  5 17:22:12 2009	(r198955)
@@ -54,6 +54,12 @@ number of detected available CPUs.
 Search for I<NAME.cfg> and I<NAME.site.cfg> when searching for test suites,
 instead I<lit.cfg> and I<lit.site.cfg>.
 
+=item B<--param> I<NAME>, B<--param> I<NAME>=I<VALUE>
+
+Add a user defined parameter I<NAME> with the given I<VALUE> (or the empty
+string if not given). The meaning and use of these parameters is test suite
+dependent.
+
 =back 
 
 =head1 OUTPUT OPTIONS

Modified: projects/clangbsd/contrib/llvm/examples/BrainF/BrainF.cpp
==============================================================================
--- projects/clangbsd/contrib/llvm/examples/BrainF/BrainF.cpp	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/examples/BrainF/BrainF.cpp	Thu Nov  5 17:22:12 2009	(r198955)
@@ -81,8 +81,11 @@ void BrainF::header(LLVMContext& C) {
   ConstantInt *val_mem = ConstantInt::get(C, APInt(32, memtotal));
   BasicBlock* BB = builder->GetInsertBlock();
   const Type* IntPtrTy = IntegerType::getInt32Ty(C);
-  ptr_arr = CallInst::CreateMalloc(BB, IntPtrTy, IntegerType::getInt8Ty(C),
-                                   val_mem, NULL, "arr");
+  const Type* Int8Ty = IntegerType::getInt8Ty(C);
+  Constant* allocsize = ConstantExpr::getSizeOf(Int8Ty);
+  allocsize = ConstantExpr::getTruncOrBitCast(allocsize, IntPtrTy);
+  ptr_arr = CallInst::CreateMalloc(BB, IntPtrTy, Int8Ty, allocsize, val_mem, 
+                                   NULL, "arr");
   BB->getInstList().push_back(cast<Instruction>(ptr_arr));
 
   //call void @llvm.memset.i32(i8 *%arr, i8 0, i32 %d, i32 1)

Modified: projects/clangbsd/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h
==============================================================================
--- projects/clangbsd/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h	Thu Nov  5 17:22:12 2009	(r198955)
@@ -50,13 +50,17 @@ const CallInst* isArrayMalloc(const Valu
                               const TargetData* TD);
 
 /// getMallocType - Returns the PointerType resulting from the malloc call.
-/// This PointerType is the result type of the call's only bitcast use.
-/// If there is no unique bitcast use, then return NULL.
+/// The PointerType depends on the number of bitcast uses of the malloc call:
+///   0: PointerType is the malloc calls' return type.
+///   1: PointerType is the bitcast's result type.
+///  >1: Unique PointerType cannot be determined, return NULL.
 const PointerType* getMallocType(const CallInst* CI);
 
-/// getMallocAllocatedType - Returns the Type allocated by malloc call. This
-/// Type is the result type of the call's only bitcast use. If there is no
-/// unique bitcast use, then return NULL.
+/// getMallocAllocatedType - Returns the Type allocated by malloc call.
+/// The Type depends on the number of bitcast uses of the malloc call:
+///   0: PointerType is the malloc calls' return type.
+///   1: PointerType is the bitcast's result type.
+///  >1: Unique PointerType cannot be determined, return NULL.
 const Type* getMallocAllocatedType(const CallInst* CI);
 
 /// getMallocArraySize - Returns the array size of a malloc call.  If the 

Modified: projects/clangbsd/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h
==============================================================================
--- projects/clangbsd/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h	Thu Nov  5 17:22:12 2009	(r198955)
@@ -374,8 +374,10 @@ namespace llvm {
     /// printImplicitDef - This method prints the specified machine instruction
     /// that is an implicit def.
     virtual void printImplicitDef(const MachineInstr *MI) const;
-    
-    
+
+    /// printKill - This method prints the specified kill machine instruction.
+    virtual void printKill(const MachineInstr *MI) const;
+
     /// printPICJumpTableSetLabel - This method prints a set label for the
     /// specified MachineBasicBlock for a jumptable entry.
     virtual void printPICJumpTableSetLabel(unsigned uid,

Modified: projects/clangbsd/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h
==============================================================================
--- projects/clangbsd/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h	Thu Nov  5 17:22:12 2009	(r198955)
@@ -28,6 +28,7 @@
 #include "llvm/CodeGen/MachineFunctionPass.h"
 #include "llvm/CodeGen/MachineInstr.h"
 #include "llvm/Support/Allocator.h"
+#include "llvm/Support/ErrorHandling.h"
 
 namespace llvm {
 
@@ -38,14 +39,35 @@ namespace llvm {
   class IndexListEntry {
   private:
 
+    static std::auto_ptr<IndexListEntry> emptyKeyEntry,
+                                         tombstoneKeyEntry;
+    typedef enum { EMPTY_KEY, TOMBSTONE_KEY } ReservedEntryType;
+    static const unsigned EMPTY_KEY_INDEX = ~0U & ~3U,
+                          TOMBSTONE_KEY_INDEX = ~0U & ~7U;
+
     IndexListEntry *next, *prev;
     MachineInstr *mi;
     unsigned index;
 
+    // This constructor is only to be used by getEmptyKeyEntry
+    // & getTombstoneKeyEntry. It sets index to the given
+    // value and mi to zero.
+    IndexListEntry(ReservedEntryType r) : mi(0) {
+      switch(r) {
+        case EMPTY_KEY: index = EMPTY_KEY_INDEX; break;
+        case TOMBSTONE_KEY: index = TOMBSTONE_KEY_INDEX; break;
+        default: assert(false && "Invalid value for constructor."); 
+      }
+    }
+
   public:
 
-    IndexListEntry(MachineInstr *mi, unsigned index)
-      : mi(mi), index(index) {}
+    IndexListEntry(MachineInstr *mi, unsigned index) : mi(mi), index(index) {
+      if (index == EMPTY_KEY_INDEX || index == TOMBSTONE_KEY_INDEX) {
+        llvm_report_error("Attempt to create invalid index. "
+                          "Available indexes may have been exhausted?.");
+      }
+    }
 
     MachineInstr* getInstr() const { return mi; }
     void setInstr(MachineInstr *mi) { this->mi = mi; }
@@ -60,6 +82,24 @@ namespace llvm {
     IndexListEntry* getPrev() { return prev; }
     const IndexListEntry* getPrev() const { return prev; }
     void setPrev(IndexListEntry *prev) { this->prev = prev; }
+
+    // This function returns the index list entry that is to be used for empty
+    // SlotIndex keys.
+    static IndexListEntry* getEmptyKeyEntry() {
+      if (emptyKeyEntry.get() == 0) {
+        emptyKeyEntry.reset(new IndexListEntry(EMPTY_KEY));
+      }
+      return emptyKeyEntry.get();
+    }
+
+    // This function returns the index list entry that is to be used for
+    // tombstone SlotIndex keys.
+    static IndexListEntry* getTombstoneKeyEntry() {
+      if (tombstoneKeyEntry.get() == 0) {
+        tombstoneKeyEntry.reset(new IndexListEntry(TOMBSTONE_KEY));
+      }
+      return tombstoneKeyEntry.get();
+    } 
   };
 
   // Specialize PointerLikeTypeTraits for IndexListEntry.
@@ -81,10 +121,6 @@ namespace llvm {
     friend class DenseMapInfo<SlotIndex>;
 
   private:
-
-    // FIXME: Is there any way to statically allocate these things and have
-    // them 8-byte aligned?
-    static std::auto_ptr<IndexListEntry> emptyKeyPtr, tombstoneKeyPtr;
     static const unsigned PHI_BIT = 1 << 2;
 
     PointerIntPair<IndexListEntry*, 3, unsigned> lie;
@@ -95,7 +131,6 @@ namespace llvm {
     }
 
     IndexListEntry& entry() const {
-      assert(lie.getPointer() != 0 && "Use of invalid index.");
       return *lie.getPointer();
     }
 
@@ -116,25 +151,15 @@ namespace llvm {
     enum Slot { LOAD, USE, DEF, STORE, NUM };
 
     static inline SlotIndex getEmptyKey() {
-      // FIXME: How do we guarantee these numbers don't get allocated to
-      // legit indexes?
-      if (emptyKeyPtr.get() == 0)
-        emptyKeyPtr.reset(new IndexListEntry(0, ~0U & ~3U));
-
-      return SlotIndex(emptyKeyPtr.get(), 0);
+      return SlotIndex(IndexListEntry::getEmptyKeyEntry(), 0);
     }
 
     static inline SlotIndex getTombstoneKey() {
-      // FIXME: How do we guarantee these numbers don't get allocated to
-      // legit indexes?
-      if (tombstoneKeyPtr.get() == 0)
-        tombstoneKeyPtr.reset(new IndexListEntry(0, ~0U & ~7U));
-
-      return SlotIndex(tombstoneKeyPtr.get(), 0);
+      return SlotIndex(IndexListEntry::getTombstoneKeyEntry(), 0);
     }
     
     /// Construct an invalid index.
-    SlotIndex() : lie(&getEmptyKey().entry(), 0) {}
+    SlotIndex() : lie(IndexListEntry::getEmptyKeyEntry(), 0) {}
 
     // Construct a new slot index from the given one, set the phi flag on the
     // new index to the value of the phi parameter.

Modified: projects/clangbsd/contrib/llvm/include/llvm/Instructions.h
==============================================================================
--- projects/clangbsd/contrib/llvm/include/llvm/Instructions.h	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/include/llvm/Instructions.h	Thu Nov  5 17:22:12 2009	(r198955)
@@ -899,11 +899,12 @@ public:
   /// 3. Bitcast the result of the malloc call to the specified type.
   static Instruction *CreateMalloc(Instruction *InsertBefore,
                                    const Type *IntPtrTy, const Type *AllocTy,
-                                   Value *ArraySize = 0,
+                                   Value *AllocSize, Value *ArraySize = 0,
                                    const Twine &Name = "");
   static Instruction *CreateMalloc(BasicBlock *InsertAtEnd,
                                    const Type *IntPtrTy, const Type *AllocTy,
-                                   Value *ArraySize = 0, Function* MallocF = 0,
+                                   Value *AllocSize, Value *ArraySize = 0,
+                                   Function* MallocF = 0,
                                    const Twine &Name = "");
   /// CreateFree - Generate the IR for a call to the builtin free function.
   static void CreateFree(Value* Source, Instruction *InsertBefore);

Modified: projects/clangbsd/contrib/llvm/include/llvm/Support/ConstantFolder.h
==============================================================================
--- projects/clangbsd/contrib/llvm/include/llvm/Support/ConstantFolder.h	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/include/llvm/Support/ConstantFolder.h	Thu Nov  5 17:22:12 2009	(r198955)
@@ -18,6 +18,8 @@
 #define LLVM_SUPPORT_CONSTANTFOLDER_H
 
 #include "llvm/Constants.h"
+#include "llvm/Instruction.h"
+#include "llvm/InstrTypes.h"
 
 namespace llvm {
 

Modified: projects/clangbsd/contrib/llvm/include/llvm/Support/Format.h
==============================================================================
--- projects/clangbsd/contrib/llvm/include/llvm/Support/Format.h	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/include/llvm/Support/Format.h	Thu Nov  5 17:22:12 2009	(r198955)
@@ -23,6 +23,7 @@
 #ifndef LLVM_SUPPORT_FORMAT_H
 #define LLVM_SUPPORT_FORMAT_H
 
+#include <cassert>
 #include <cstdio>
 #ifdef WIN32
 #define snprintf _snprintf

Modified: projects/clangbsd/contrib/llvm/include/llvm/Support/LeakDetector.h
==============================================================================
--- projects/clangbsd/contrib/llvm/include/llvm/Support/LeakDetector.h	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/include/llvm/Support/LeakDetector.h	Thu Nov  5 17:22:12 2009	(r198955)
@@ -26,6 +26,7 @@
 
 namespace llvm {
 
+class LLVMContext;
 class Value;
 
 struct LeakDetector {

Modified: projects/clangbsd/contrib/llvm/include/llvm/Support/OutputBuffer.h
==============================================================================
--- projects/clangbsd/contrib/llvm/include/llvm/Support/OutputBuffer.h	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/include/llvm/Support/OutputBuffer.h	Thu Nov  5 17:22:12 2009	(r198955)
@@ -14,6 +14,7 @@
 #ifndef LLVM_SUPPORT_OUTPUTBUFFER_H
 #define LLVM_SUPPORT_OUTPUTBUFFER_H
 
+#include <cassert>
 #include <string>
 #include <vector>
 

Modified: projects/clangbsd/contrib/llvm/include/llvm/Support/PassNameParser.h
==============================================================================
--- projects/clangbsd/contrib/llvm/include/llvm/Support/PassNameParser.h	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/include/llvm/Support/PassNameParser.h	Thu Nov  5 17:22:12 2009	(r198955)
@@ -25,6 +25,7 @@
 
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/raw_ostream.h"
 #include "llvm/Pass.h"
 #include <algorithm>
 #include <cstring>

Modified: projects/clangbsd/contrib/llvm/include/llvm/Support/RecyclingAllocator.h
==============================================================================
--- projects/clangbsd/contrib/llvm/include/llvm/Support/RecyclingAllocator.h	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/include/llvm/Support/RecyclingAllocator.h	Thu Nov  5 17:22:12 2009	(r198955)
@@ -41,7 +41,7 @@ public:
   /// SubClass. The storage may be either newly allocated or recycled.
   ///
   template<class SubClass>
-  SubClass *Allocate() { return Base.Allocate<SubClass>(Allocator); }
+  SubClass *Allocate() { return Base.template Allocate<SubClass>(Allocator); }
 
   T *Allocate() { return Base.Allocate(Allocator); }
 

Modified: projects/clangbsd/contrib/llvm/include/llvm/Support/TargetFolder.h
==============================================================================
--- projects/clangbsd/contrib/llvm/include/llvm/Support/TargetFolder.h	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/include/llvm/Support/TargetFolder.h	Thu Nov  5 17:22:12 2009	(r198955)
@@ -20,6 +20,8 @@
 #define LLVM_SUPPORT_TARGETFOLDER_H
 
 #include "llvm/Constants.h"
+#include "llvm/Instruction.h"
+#include "llvm/InstrTypes.h"
 #include "llvm/Analysis/ConstantFolding.h"
 
 namespace llvm {

Modified: projects/clangbsd/contrib/llvm/include/llvm/Target/TargetIntrinsicInfo.h
==============================================================================
--- projects/clangbsd/contrib/llvm/include/llvm/Target/TargetIntrinsicInfo.h	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/include/llvm/Target/TargetIntrinsicInfo.h	Thu Nov  5 17:22:12 2009	(r198955)
@@ -14,6 +14,8 @@
 #ifndef LLVM_TARGET_TARGETINTRINSICINFO_H
 #define LLVM_TARGET_TARGETINTRINSICINFO_H
 
+#include <string>
+
 namespace llvm {
 
 class Function;
@@ -32,7 +34,13 @@ public:
   virtual ~TargetIntrinsicInfo();
 
   /// Return the name of a target intrinsic, e.g. "llvm.bfin.ssync".
-  virtual const char *getName(unsigned IntrID) const =0;
+  /// The Tys and numTys parameters are for intrinsics with overloaded types
+  /// (e.g., those using iAny or fAny). For a declaration for an overloaded
+  /// intrinsic, Tys should point to an array of numTys pointers to Type,
+  /// and must provide exactly one type for each overloaded type in the
+  /// intrinsic.
+  virtual std::string getName(unsigned IID, const Type **Tys = 0,
+                              unsigned numTys = 0) const = 0;
 
   /// Look up target intrinsic by name. Return intrinsic ID or 0 for unknown
   /// names.
@@ -40,6 +48,15 @@ public:
 
   /// Return the target intrinsic ID of a function, or 0.
   virtual unsigned getIntrinsicID(Function *F) const;
+
+  /// Returns true if the intrinsic can be overloaded.
+  virtual bool isOverloaded(unsigned IID) const = 0;
+  
+  /// Create or insert an LLVM Function declaration for an intrinsic,
+  /// and return it. The Tys and numTys are for intrinsics with overloaded
+  /// types. See above for more information.
+  virtual Function *getDeclaration(Module *M, unsigned ID, const Type **Tys = 0,
+                                   unsigned numTys = 0) const = 0;
 };
 
 } // End llvm namespace

Modified: projects/clangbsd/contrib/llvm/lib/Analysis/DebugInfo.cpp
==============================================================================
--- projects/clangbsd/contrib/llvm/lib/Analysis/DebugInfo.cpp	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/lib/Analysis/DebugInfo.cpp	Thu Nov  5 17:22:12 2009	(r198955)
@@ -401,12 +401,18 @@ bool DIVariable::Verify() const {
 /// getOriginalTypeSize - If this type is derived from a base type then
 /// return base type size.
 uint64_t DIDerivedType::getOriginalTypeSize() const {
-  DIType BT = getTypeDerivedFrom();
-  if (!BT.isNull() && BT.isDerivedType())
-    return DIDerivedType(BT.getNode()).getOriginalTypeSize();
-  if (BT.isNull())
-    return getSizeInBits();
-  return BT.getSizeInBits();
+  unsigned Tag = getTag();
+  if (Tag == dwarf::DW_TAG_member || Tag == dwarf::DW_TAG_typedef ||
+      Tag == dwarf::DW_TAG_const_type || Tag == dwarf::DW_TAG_volatile_type ||
+      Tag == dwarf::DW_TAG_restrict_type) {
+    DIType BaseType = getTypeDerivedFrom();
+    if (BaseType.isDerivedType())
+      return DIDerivedType(BaseType.getNode()).getOriginalTypeSize();
+    else
+      return BaseType.getSizeInBits();
+  }
+    
+  return getSizeInBits();
 }
 
 /// describes - Return true if this subprogram provides debugging

Modified: projects/clangbsd/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp
==============================================================================
--- projects/clangbsd/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp	Thu Nov  5 17:22:12 2009	(r198955)
@@ -17,6 +17,7 @@
 #include "llvm/Instructions.h"
 #include "llvm/Module.h"
 #include "llvm/Analysis/ConstantFolding.h"
+#include "llvm/Target/TargetData.h"
 using namespace llvm;
 
 //===----------------------------------------------------------------------===//
@@ -96,45 +97,47 @@ static Value *isArrayMallocHelper(const 
   if (!CI)
     return NULL;
 
-  // Type must be known to determine array size.
+  // The size of the malloc's result type must be known to determine array size.
   const Type *T = getMallocAllocatedType(CI);
-  if (!T)
+  if (!T || !T->isSized() || !TD)
     return NULL;
 
   Value *MallocArg = CI->getOperand(1);
+  const Type *ArgType = MallocArg->getType();
   ConstantExpr *CO = dyn_cast<ConstantExpr>(MallocArg);
   BinaryOperator *BO = dyn_cast<BinaryOperator>(MallocArg);
 
-  Constant *ElementSize = ConstantExpr::getSizeOf(T);
-  ElementSize = ConstantExpr::getTruncOrBitCast(ElementSize, 
-                                                MallocArg->getType());
-  Constant *FoldedElementSize =
-   ConstantFoldConstantExpression(cast<ConstantExpr>(ElementSize), Context, TD);
+  unsigned ElementSizeInt = TD->getTypeAllocSize(T);
+  if (const StructType *ST = dyn_cast<StructType>(T))
+    ElementSizeInt = TD->getStructLayout(ST)->getSizeInBytes();
+  Constant *ElementSize = ConstantInt::get(ArgType, ElementSizeInt);
 
   // First, check if CI is a non-array malloc.
-  if (CO && ((CO == ElementSize) ||
-             (FoldedElementSize && (CO == FoldedElementSize))))
+  if (CO && CO == ElementSize)
     // Match CreateMalloc's use of constant 1 array-size for non-array mallocs.
-    return ConstantInt::get(MallocArg->getType(), 1);
+    return ConstantInt::get(ArgType, 1);
 
   // Second, check if CI is an array malloc whose array size can be determined.
-  if (isConstantOne(ElementSize) || 
-      (FoldedElementSize && isConstantOne(FoldedElementSize)))
+  if (isConstantOne(ElementSize))
     return MallocArg;
 
+  if (ConstantInt *CInt = dyn_cast<ConstantInt>(MallocArg))
+    if (CInt->getZExtValue() % ElementSizeInt == 0)
+      return ConstantInt::get(ArgType, CInt->getZExtValue() / ElementSizeInt);
+
   if (!CO && !BO)
     return NULL;
 
   Value *Op0 = NULL;
   Value *Op1 = NULL;
   unsigned Opcode = 0;
-  if (CO && ((CO->getOpcode() == Instruction::Mul) || 
+  if (CO && ((CO->getOpcode() == Instruction::Mul) ||
              (CO->getOpcode() == Instruction::Shl))) {
     Op0 = CO->getOperand(0);
     Op1 = CO->getOperand(1);
     Opcode = CO->getOpcode();
   }
-  if (BO && ((BO->getOpcode() == Instruction::Mul) || 
+  if (BO && ((BO->getOpcode() == Instruction::Mul) ||
              (BO->getOpcode() == Instruction::Shl))) {
     Op0 = BO->getOperand(0);
     Op1 = BO->getOperand(1);
@@ -144,12 +147,10 @@ static Value *isArrayMallocHelper(const 
   // Determine array size if malloc's argument is the product of a mul or shl.
   if (Op0) {
     if (Opcode == Instruction::Mul) {
-      if ((Op1 == ElementSize) ||
-          (FoldedElementSize && (Op1 == FoldedElementSize)))
+      if (Op1 == ElementSize)
         // ArraySize * ElementSize
         return Op0;
-      if ((Op0 == ElementSize) ||
-          (FoldedElementSize && (Op0 == FoldedElementSize)))
+      if (Op0 == ElementSize)
         // ElementSize * ArraySize
         return Op1;
     }
@@ -161,11 +162,10 @@ static Value *isArrayMallocHelper(const 
       uint64_t BitToSet = Op1Int.getLimitedValue(Op1Int.getBitWidth() - 1);
       Value *Op1Pow = ConstantInt::get(Context, 
                                   APInt(Op1Int.getBitWidth(), 0).set(BitToSet));
-      if (Op0 == ElementSize || (FoldedElementSize && Op0 == FoldedElementSize))
+      if (Op0 == ElementSize)
         // ArraySize << log2(ElementSize)
         return Op1Pow;
-      if (Op1Pow == ElementSize ||
-          (FoldedElementSize && Op1Pow == FoldedElementSize))
+      if (Op1Pow == ElementSize)
         // ElementSize << log2(ArraySize)
         return Op0;
     }
@@ -205,35 +205,41 @@ const CallInst *llvm::isArrayMalloc(cons
 }
 
 /// getMallocType - Returns the PointerType resulting from the malloc call.
-/// This PointerType is the result type of the call's only bitcast use.
-/// If there is no unique bitcast use, then return NULL.
+/// The PointerType depends on the number of bitcast uses of the malloc call:
+///   0: PointerType is the calls' return type.
+///   1: PointerType is the bitcast's result type.
+///  >1: Unique PointerType cannot be determined, return NULL.
 const PointerType *llvm::getMallocType(const CallInst *CI) {
   assert(isMalloc(CI) && "GetMallocType and not malloc call");
   
-  const BitCastInst *BCI = NULL;
-  
+  const PointerType *MallocType = NULL;
+  unsigned NumOfBitCastUses = 0;
+
   // Determine if CallInst has a bitcast use.
   for (Value::use_const_iterator UI = CI->use_begin(), E = CI->use_end();
        UI != E; )
-    if ((BCI = dyn_cast<BitCastInst>(cast<Instruction>(*UI++))))
-      break;
+    if (const BitCastInst *BCI = dyn_cast<BitCastInst>(*UI++)) {
+      MallocType = cast<PointerType>(BCI->getDestTy());
+      NumOfBitCastUses++;
+    }
 
-  // Malloc call has 1 bitcast use and no other uses, so type is the bitcast's
-  // destination type.
-  if (BCI && CI->hasOneUse())
-    return cast<PointerType>(BCI->getDestTy());
+  // Malloc call has 1 bitcast use, so type is the bitcast's destination type.
+  if (NumOfBitCastUses == 1)
+    return MallocType;
 
   // Malloc call was not bitcast, so type is the malloc function's return type.
-  if (!BCI)
+  if (NumOfBitCastUses == 0)
     return cast<PointerType>(CI->getType());
 
   // Type could not be determined.
   return NULL;
 }
 
-/// getMallocAllocatedType - Returns the Type allocated by malloc call. This
-/// Type is the result type of the call's only bitcast use. If there is no
-/// unique bitcast use, then return NULL.
+/// getMallocAllocatedType - Returns the Type allocated by malloc call.
+/// The Type depends on the number of bitcast uses of the malloc call:
+///   0: PointerType is the malloc calls' return type.
+///   1: PointerType is the bitcast's result type.
+///  >1: Unique PointerType cannot be determined, return NULL.
 const Type *llvm::getMallocAllocatedType(const CallInst *CI) {
   const PointerType *PT = getMallocType(CI);
   return PT ? PT->getElementType() : NULL;

Modified: projects/clangbsd/contrib/llvm/lib/AsmParser/LLParser.cpp
==============================================================================
--- projects/clangbsd/contrib/llvm/lib/AsmParser/LLParser.cpp	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/lib/AsmParser/LLParser.cpp	Thu Nov  5 17:22:12 2009	(r198955)
@@ -480,17 +480,17 @@ bool LLParser::ParseMDNode(MetadataBase 
   if (ParseUInt32(MID))  return true;
 
   // Check existing MDNode.
-  std::map<unsigned, MetadataBase *>::iterator I = MetadataCache.find(MID);
+  std::map<unsigned, WeakVH>::iterator I = MetadataCache.find(MID);
   if (I != MetadataCache.end()) {
-    Node = I->second;
+    Node = cast<MetadataBase>(I->second);
     return false;
   }
 
   // Check known forward references.
-  std::map<unsigned, std::pair<MetadataBase *, LocTy> >::iterator
+  std::map<unsigned, std::pair<WeakVH, LocTy> >::iterator
     FI = ForwardRefMDNodes.find(MID);
   if (FI != ForwardRefMDNodes.end()) {
-    Node = FI->second.first;
+    Node = cast<MetadataBase>(FI->second.first);
     return false;
   }
 
@@ -570,7 +570,7 @@ bool LLParser::ParseStandaloneMetadata()
 
   MDNode *Init = MDNode::get(Context, Elts.data(), Elts.size());
   MetadataCache[MetadataID] = Init;
-  std::map<unsigned, std::pair<MetadataBase *, LocTy> >::iterator
+  std::map<unsigned, std::pair<WeakVH, LocTy> >::iterator
     FI = ForwardRefMDNodes.find(MetadataID);
   if (FI != ForwardRefMDNodes.end()) {
     MDNode *FwdNode = cast<MDNode>(FI->second.first);
@@ -3619,12 +3619,14 @@ bool LLParser::ParseAlloc(Instruction *&
   // Autoupgrade old malloc instruction to malloc call.
   // FIXME: Remove in LLVM 3.0.
   const Type *IntPtrTy = Type::getInt32Ty(Context);
+  Constant *AllocSize = ConstantExpr::getSizeOf(Ty);
+  AllocSize = ConstantExpr::getTruncOrBitCast(AllocSize, IntPtrTy);
   if (!MallocF)
     // Prototype malloc as "void *(int32)".
     // This function is renamed as "malloc" in ValidateEndOfModule().
     MallocF = cast<Function>(
        M->getOrInsertFunction("", Type::getInt8PtrTy(Context), IntPtrTy, NULL));
-  Inst = CallInst::CreateMalloc(BB, IntPtrTy, Ty, Size, MallocF);
+  Inst = CallInst::CreateMalloc(BB, IntPtrTy, Ty, AllocSize, Size, MallocF);
   return false;
 }
 

Modified: projects/clangbsd/contrib/llvm/lib/AsmParser/LLParser.h
==============================================================================
--- projects/clangbsd/contrib/llvm/lib/AsmParser/LLParser.h	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/lib/AsmParser/LLParser.h	Thu Nov  5 17:22:12 2009	(r198955)
@@ -79,8 +79,8 @@ namespace llvm {
     std::map<unsigned, std::pair<PATypeHolder, LocTy> > ForwardRefTypeIDs;
     std::vector<PATypeHolder> NumberedTypes;
     /// MetadataCache - This map keeps track of parsed metadata constants.
-    std::map<unsigned, MetadataBase *> MetadataCache;
-    std::map<unsigned, std::pair<MetadataBase *, LocTy> > ForwardRefMDNodes;
+    std::map<unsigned, WeakVH> MetadataCache;
+    std::map<unsigned, std::pair<WeakVH, LocTy> > ForwardRefMDNodes;
     SmallVector<std::pair<unsigned, MDNode *>, 2> MDsOnInst;
     struct UpRefRecord {
       /// Loc - This is the location of the upref.

Modified: projects/clangbsd/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
==============================================================================
--- projects/clangbsd/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp	Thu Nov  5 17:22:12 2009	(r198955)
@@ -2101,8 +2101,10 @@ bool BitcodeReader::ParseFunctionBody(Fu
       if (!Ty || !Size) return Error("Invalid MALLOC record");
       if (!CurBB) return Error("Invalid malloc instruction with no BB");
       const Type *Int32Ty = IntegerType::getInt32Ty(CurBB->getContext());
+      Constant *AllocSize = ConstantExpr::getSizeOf(Ty->getElementType());
+      AllocSize = ConstantExpr::getTruncOrBitCast(AllocSize, Int32Ty);
       I = CallInst::CreateMalloc(CurBB, Int32Ty, Ty->getElementType(),
-                                 Size, NULL);
+                                 AllocSize, Size, NULL);
       InstructionList.push_back(I);
       break;
     }

Modified: projects/clangbsd/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
==============================================================================
--- projects/clangbsd/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp	Thu Nov  5 17:22:12 2009	(r198955)
@@ -491,8 +491,9 @@ BitVector AggressiveAntiDepBreaker::GetR
 }  
 
 bool AggressiveAntiDepBreaker::FindSuitableFreeRegisters(
-                          unsigned AntiDepGroupIndex,
-                          std::map<unsigned, unsigned> &RenameMap) {
+                                unsigned AntiDepGroupIndex,
+                                RenameOrderType& RenameOrder,
+                                std::map<unsigned, unsigned> &RenameMap) {
   unsigned *KillIndices = State->GetKillIndices();
   unsigned *DefIndices = State->GetDefIndices();
   std::multimap<unsigned, AggressiveAntiDepState::RegisterReference>& 
@@ -547,22 +548,41 @@ bool AggressiveAntiDepBreaker::FindSuita
   if (Regs.size() > 1)
     return false;
 
-  // Check each possible rename register for SuperReg. If that register
-  // is available, and the corresponding registers are available for
-  // the other group subregisters, then we can use those registers to
-  // rename.
-  DEBUG(errs() << "\tFind Register:");
+  // Check each possible rename register for SuperReg in round-robin
+  // order. If that register is available, and the corresponding
+  // registers are available for the other group subregisters, then we
+  // can use those registers to rename.
   BitVector SuperBV = RenameRegisterMap[SuperReg];
-  for (int r = SuperBV.find_first(); r != -1; r = SuperBV.find_next(r)) {
-    const unsigned Reg = (unsigned)r;
+  const TargetRegisterClass *SuperRC = 
+    TRI->getPhysicalRegisterRegClass(SuperReg, MVT::Other);
+  
+  const TargetRegisterClass::iterator RB = SuperRC->allocation_order_begin(MF);
+  const TargetRegisterClass::iterator RE = SuperRC->allocation_order_end(MF);
+  if (RB == RE) {
+    DEBUG(errs() << "\tEmpty Regclass!!\n");
+    return false;
+  }
+
+  if (RenameOrder.count(SuperRC) == 0)
+    RenameOrder.insert(RenameOrderType::value_type(SuperRC, RE));
+
+  DEBUG(errs() << "\tFind Register:");
+
+  const TargetRegisterClass::iterator OrigR = RenameOrder[SuperRC];
+  const TargetRegisterClass::iterator EndR = ((OrigR == RE) ? RB : OrigR);
+  TargetRegisterClass::iterator R = OrigR;
+  do {
+    if (R == RB) R = RE;
+    --R;
+    const unsigned Reg = *R;
     // Don't replace a register with itself.
     if (Reg == SuperReg) continue;
-
+    
     DEBUG(errs() << " " << TRI->getName(Reg));
-      
+    
     // If Reg is dead and Reg's most recent def is not before
-    // SuperRegs's kill, it's safe to replace SuperReg with
-    // Reg. We must also check all subregisters of Reg.
+    // SuperRegs's kill, it's safe to replace SuperReg with Reg. We
+    // must also check all subregisters of Reg.
     if (State->IsLive(Reg) || (KillIndices[SuperReg] > DefIndices[Reg])) {
       DEBUG(errs() << "(live)");
       continue;
@@ -580,13 +600,15 @@ bool AggressiveAntiDepBreaker::FindSuita
       if (found)
         continue;
     }
-      
+    
     if (Reg != 0) { 
       DEBUG(errs() << '\n');
+      RenameOrder.erase(SuperRC);
+      RenameOrder.insert(RenameOrderType::value_type(SuperRC, R));
       RenameMap.insert(std::pair<unsigned, unsigned>(SuperReg, Reg));
       return true;
     }
-  }
+  } while (R != EndR);
 
   DEBUG(errs() << '\n');
 
@@ -627,6 +649,9 @@ unsigned AggressiveAntiDepBreaker::Break
       State = new AggressiveAntiDepState(*SavedState);
     }
   }
+  
+  // For each regclass the next register to use for renaming.
+  RenameOrderType RenameOrder;
 
   // ...need a map from MI to SUnit.
   std::map<MachineInstr *, SUnit *> MISUnitMap;
@@ -738,7 +763,7 @@ unsigned AggressiveAntiDepBreaker::Break
         
         // Look for a suitable register to use to break the anti-dependence.
         std::map<unsigned, unsigned> RenameMap;
-        if (FindSuitableFreeRegisters(GroupIndex, RenameMap)) {
+        if (FindSuitableFreeRegisters(GroupIndex, RenameOrder, RenameMap)) {
           DEBUG(errs() << "\tBreaking anti-dependence edge on "
                 << TRI->getName(AntiDepReg) << ":");
           

Modified: projects/clangbsd/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h
==============================================================================
--- projects/clangbsd/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h	Thu Nov  5 17:22:12 2009	(r198955)
@@ -155,6 +155,9 @@ namespace llvm {
     void FinishBlock();
 
   private:
+    typedef std::map<const TargetRegisterClass *,
+                     TargetRegisterClass::const_iterator> RenameOrderType;
+
     /// IsImplicitDefUse - Return true if MO represents a register
     /// that is both implicitly used and defined in MI
     bool IsImplicitDefUse(MachineInstr *MI, MachineOperand& MO);
@@ -169,6 +172,7 @@ namespace llvm {
     void ScanInstruction(MachineInstr *MI, unsigned Count);
     BitVector GetRenameRegisters(unsigned Reg);
     bool FindSuitableFreeRegisters(unsigned AntiDepGroupIndex,
+                                   RenameOrderType& RenameOrder,
                                    std::map<unsigned, unsigned> &RenameMap);
   };
 }

Modified: projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
==============================================================================
--- projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp	Thu Nov  5 17:22:12 2009	(r198955)
@@ -1590,6 +1590,17 @@ void AsmPrinter::printImplicitDef(const 
     << TRI->getName(MI->getOperand(0).getReg());
 }
 
+void AsmPrinter::printKill(const MachineInstr *MI) const {
+  if (!VerboseAsm) return;
+  O.PadToColumn(MAI->getCommentColumn());
+  O << MAI->getCommentString() << " kill:";
+  for (unsigned n = 0, e = MI->getNumOperands(); n != e; ++n) {
+    const MachineOperand &op = MI->getOperand(n);
+    assert(op.isReg() && "KILL instruction must have only register operands");
+    O << ' ' << TRI->getName(op.getReg()) << (op.isDef() ? "<def>" : "<kill>");
+  }
+}
+
 /// printLabel - This method prints a local label used by debug and
 /// exception handling tables.
 void AsmPrinter::printLabel(const MachineInstr *MI) const {

Modified: projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
==============================================================================
--- projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp	Thu Nov  5 17:22:12 2009	(r198955)
@@ -1137,6 +1137,9 @@ DIE *DwarfDebug::CreateMemberDIE(Compile
 
   AddSourceLine(MemberDie, &DT);
 
+  DIEBlock *MemLocationDie = new DIEBlock();
+  AddUInt(MemLocationDie, 0, dwarf::DW_FORM_data1, dwarf::DW_OP_plus_uconst);
+
   uint64_t Size = DT.getSizeInBits();
   uint64_t FieldSize = DT.getOriginalTypeSize();
 
@@ -1155,12 +1158,16 @@ DIE *DwarfDebug::CreateMemberDIE(Compile
     // Maybe we need to work from the other end.
     if (TD->isLittleEndian()) Offset = FieldSize - (Offset + Size);
     AddUInt(MemberDie, dwarf::DW_AT_bit_offset, 0, Offset);
-  }
 
-  DIEBlock *Block = new DIEBlock();
-  AddUInt(Block, 0, dwarf::DW_FORM_data1, dwarf::DW_OP_plus_uconst);
-  AddUInt(Block, 0, dwarf::DW_FORM_udata, DT.getOffsetInBits() >> 3);
-  AddBlock(MemberDie, dwarf::DW_AT_data_member_location, 0, Block);
+    // Here WD_AT_data_member_location points to the anonymous
+    // field that includes this bit field.
+    AddUInt(MemLocationDie, 0, dwarf::DW_FORM_udata, FieldOffset >> 3);
+
+  } else
+    // This is not a bitfield.
+    AddUInt(MemLocationDie, 0, dwarf::DW_FORM_udata, DT.getOffsetInBits() >> 3);
+
+  AddBlock(MemberDie, dwarf::DW_AT_data_member_location, 0, MemLocationDie);
 
   if (DT.isProtected())
     AddUInt(MemberDie, dwarf::DW_AT_accessibility, 0,

Modified: projects/clangbsd/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp
==============================================================================
--- projects/clangbsd/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp	Thu Nov  5 17:22:12 2009	(r198955)
@@ -31,6 +31,22 @@ namespace llvm {
   bool EnableFastISel;
 }
 
+static cl::opt<bool> DisablePostRA("disable-post-ra", cl::Hidden,
+    cl::desc("Disable Post Regalloc"));
+static cl::opt<bool> DisableBranchFold("disable-branch-fold", cl::Hidden,
+    cl::desc("Disable branch folding"));
+static cl::opt<bool> DisableCodePlace("disable-code-place", cl::Hidden,
+    cl::desc("Disable code placement"));
+static cl::opt<bool> DisableSSC("disable-ssc", cl::Hidden,
+    cl::desc("Disable Stack Slot Coloring"));
+static cl::opt<bool> DisableMachineLICM("disable-machine-licm", cl::Hidden,
+    cl::desc("Disable Machine LICM"));
+static cl::opt<bool> DisableMachineSink("disable-machine-sink", cl::Hidden,
+    cl::desc("Disable Machine Sinking"));
+static cl::opt<bool> DisableLSR("disable-lsr", cl::Hidden,
+    cl::desc("Disable Loop Strength Reduction Pass"));
+static cl::opt<bool> DisableCGP("disable-cgp", cl::Hidden,
+    cl::desc("Disable Codegen Prepare"));
 static cl::opt<bool> PrintLSR("print-lsr-output", cl::Hidden,
     cl::desc("Print LLVM IR produced by the loop-reduce pass"));
 static cl::opt<bool> PrintISelInput("print-isel-input", cl::Hidden,
@@ -208,7 +224,7 @@ bool LLVMTargetMachine::addCommonCodeGen
   // Standard LLVM-Level Passes.
 
   // Run loop strength reduction before anything else.
-  if (OptLevel != CodeGenOpt::None) {
+  if (OptLevel != CodeGenOpt::None && !DisableLSR) {
     PM.add(createLoopStrengthReducePass(getTargetLowering()));
     if (PrintLSR)
       PM.add(createPrintFunctionPass("\n\n*** Code after LSR ***\n", &errs()));
@@ -236,7 +252,7 @@ bool LLVMTargetMachine::addCommonCodeGen
   // Make sure that no unreachable blocks are instruction selected.
   PM.add(createUnreachableBlockEliminationPass());
 
-  if (OptLevel != CodeGenOpt::None)
+  if (OptLevel != CodeGenOpt::None && !DisableCGP)
     PM.add(createCodeGenPreparePass(getTargetLowering()));
 
   PM.add(createStackProtectorPass(getTargetLowering()));
@@ -265,8 +281,10 @@ bool LLVMTargetMachine::addCommonCodeGen
                  /* allowDoubleDefs= */ true);
 
   if (OptLevel != CodeGenOpt::None) {
-    PM.add(createMachineLICMPass());
-    PM.add(createMachineSinkingPass());
+    if (!DisableMachineLICM)
+      PM.add(createMachineLICMPass());
+    if (!DisableMachineSink)
+      PM.add(createMachineSinkingPass());
     printAndVerify(PM, "After MachineLICM and MachineSinking",
                    /* allowDoubleDefs= */ true);
   }
@@ -281,7 +299,7 @@ bool LLVMTargetMachine::addCommonCodeGen
   printAndVerify(PM, "After Register Allocation");
 
   // Perform stack slot coloring.
-  if (OptLevel != CodeGenOpt::None) {
+  if (OptLevel != CodeGenOpt::None && !DisableSSC) {
     // FIXME: Re-enable coloring with register when it's capable of adding
     // kill markers.
     PM.add(createStackSlotColoringPass(false));
@@ -304,13 +322,13 @@ bool LLVMTargetMachine::addCommonCodeGen
     printAndVerify(PM, "After PreSched2 passes");
 
   // Second pass scheduler.
-  if (OptLevel != CodeGenOpt::None) {
+  if (OptLevel != CodeGenOpt::None && !DisablePostRA) {
     PM.add(createPostRAScheduler(OptLevel));
     printAndVerify(PM, "After PostRAScheduler");
   }
 
   // Branch folding must be run after regalloc and prolog/epilog insertion.
-  if (OptLevel != CodeGenOpt::None) {
+  if (OptLevel != CodeGenOpt::None && !DisableBranchFold) {
     PM.add(createBranchFoldingPass(getEnableTailMergeDefault()));
     printAndVerify(PM, "After BranchFolding");
   }
@@ -324,13 +342,13 @@ bool LLVMTargetMachine::addCommonCodeGen
   PM.add(createDebugLabelFoldingPass());
   printAndVerify(PM, "After DebugLabelFolding");
 
-  if (addPreEmitPass(PM, OptLevel))
-    printAndVerify(PM, "After PreEmit passes");
-
-  if (OptLevel != CodeGenOpt::None) {
+  if (OptLevel != CodeGenOpt::None && !DisableCodePlace) {
     PM.add(createCodePlacementOptPass());
     printAndVerify(PM, "After CodePlacementOpt");
   }
 
+  if (addPreEmitPass(PM, OptLevel))
+    printAndVerify(PM, "After PreEmit passes");
+
   return false;
 }

Modified: projects/clangbsd/contrib/llvm/lib/CodeGen/MachineLICM.cpp
==============================================================================
--- projects/clangbsd/contrib/llvm/lib/CodeGen/MachineLICM.cpp	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/lib/CodeGen/MachineLICM.cpp	Thu Nov  5 17:22:12 2009	(r198955)
@@ -111,6 +111,13 @@ namespace {
     /// be hoistable.
     MachineInstr *ExtractHoistableLoad(MachineInstr *MI);
 
+    /// EliminateCSE - Given a LICM'ed instruction, look for an instruction on
+    /// the preheader that compute the same value. If it's found, do a RAU on
+    /// with the definition of the existing instruction rather than hoisting
+    /// the instruction to the preheader.
+    bool EliminateCSE(MachineInstr *MI,
+           DenseMap<unsigned, std::vector<const MachineInstr*> >::iterator &CI);
+
     /// Hoist - When an instruction is found to only use loop invariant operands
     /// that is safe to hoist, this instruction is called to do the dirty work.
     ///
@@ -349,37 +356,6 @@ bool MachineLICM::IsProfitableToHoist(Ma
   return true;
 }
 
-static const MachineInstr *LookForDuplicate(const MachineInstr *MI,
-                                      std::vector<const MachineInstr*> &PrevMIs,
-                                      MachineRegisterInfo *RegInfo) {
-  unsigned NumOps = MI->getNumOperands();
-  for (unsigned i = 0, e = PrevMIs.size(); i != e; ++i) {
-    const MachineInstr *PrevMI = PrevMIs[i];
-    unsigned NumOps2 = PrevMI->getNumOperands();
-    if (NumOps != NumOps2)
-      continue;
-    bool IsSame = true;
-    for (unsigned j = 0; j != NumOps; ++j) {
-      const MachineOperand &MO = MI->getOperand(j);
-      if (MO.isReg() && MO.isDef()) {
-        if (RegInfo->getRegClass(MO.getReg()) !=
-            RegInfo->getRegClass(PrevMI->getOperand(j).getReg())) {
-          IsSame = false;
-          break;
-        }
-        continue;
-      }
-      if (!MO.isIdenticalTo(PrevMI->getOperand(j))) {
-        IsSame = false;
-        break;
-      }
-    }
-    if (IsSame)
-      return PrevMI;
-  }
-  return 0;
-}
-
 MachineInstr *MachineLICM::ExtractHoistableLoad(MachineInstr *MI) {
   // If not, we may be able to unfold a load and hoist that.
   // First test whether the instruction is loading from an amenable
@@ -456,6 +432,55 @@ void MachineLICM::InitCSEMap(MachineBasi
   }
 }
 
+static const MachineInstr *LookForDuplicate(const MachineInstr *MI,
+                                      std::vector<const MachineInstr*> &PrevMIs,
+                                      MachineRegisterInfo *RegInfo) {
+  unsigned NumOps = MI->getNumOperands();
+  for (unsigned i = 0, e = PrevMIs.size(); i != e; ++i) {
+    const MachineInstr *PrevMI = PrevMIs[i];
+    unsigned NumOps2 = PrevMI->getNumOperands();
+    if (NumOps != NumOps2)
+      continue;
+    bool IsSame = true;
+    for (unsigned j = 0; j != NumOps; ++j) {
+      const MachineOperand &MO = MI->getOperand(j);
+      if (MO.isReg() && MO.isDef()) {
+        if (RegInfo->getRegClass(MO.getReg()) !=
+            RegInfo->getRegClass(PrevMI->getOperand(j).getReg())) {
+          IsSame = false;
+          break;
+        }
+        continue;
+      }
+      if (!MO.isIdenticalTo(PrevMI->getOperand(j))) {
+        IsSame = false;
+        break;
+      }
+    }
+    if (IsSame)
+      return PrevMI;
+  }
+  return 0;
+}
+
+bool MachineLICM::EliminateCSE(MachineInstr *MI,
+          DenseMap<unsigned, std::vector<const MachineInstr*> >::iterator &CI) {
+  if (CI != CSEMap.end()) {
+    if (const MachineInstr *Dup = LookForDuplicate(MI, CI->second, RegInfo)) {
+      DEBUG(errs() << "CSEing " << *MI << " with " << *Dup);
+      for (unsigned i = 0, e = MI->getNumOperands(); i != e; ++i) {
+        const MachineOperand &MO = MI->getOperand(i);
+        if (MO.isReg() && MO.isDef())
+          RegInfo->replaceRegWith(MO.getReg(), Dup->getOperand(i).getReg());
+      }
+      MI->eraseFromParent();
+      ++NumCSEed;
+      return true;
+    }
+  }
+  return false;
+}
+
 /// Hoist - When an instruction is found to use only loop invariant operands
 /// that are safe to hoist, this instruction is called to do the dirty work.
 ///
@@ -488,24 +513,8 @@ void MachineLICM::Hoist(MachineInstr *MI
   unsigned Opcode = MI->getOpcode();
   DenseMap<unsigned, std::vector<const MachineInstr*> >::iterator
     CI = CSEMap.find(Opcode);
-  bool DoneCSE = false;
-  if (CI != CSEMap.end()) {
-    const MachineInstr *Dup = LookForDuplicate(MI, CI->second, RegInfo);
-    if (Dup) {
-      DEBUG(errs() << "CSEing " << *MI << " with " << *Dup);
-      for (unsigned i = 0, e = MI->getNumOperands(); i != e; ++i) {
-        const MachineOperand &MO = MI->getOperand(i);
-        if (MO.isReg() && MO.isDef())
-          RegInfo->replaceRegWith(MO.getReg(), Dup->getOperand(i).getReg());
-      }
-      MI->eraseFromParent();
-      DoneCSE = true;
-      ++NumCSEed;
-    }
-  }
-
-  // Otherwise, splice the instruction to the preheader.
-  if (!DoneCSE) {
+  if (!EliminateCSE(MI, CI)) {
+    // Otherwise, splice the instruction to the preheader.
     CurPreheader->splice(CurPreheader->getFirstTerminator(),MI->getParent(),MI);
 
     // Add to the CSE map.

Modified: projects/clangbsd/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp
==============================================================================
--- projects/clangbsd/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp	Thu Nov  5 17:18:09 2009	(r198954)
+++ projects/clangbsd/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp	Thu Nov  5 17:22:12 2009	(r198955)

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@FreeBSD.ORG  Thu Nov  5 18:14:27 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 93780106566C;
	Thu,  5 Nov 2009 18:14:25 +0000 (UTC) (envelope-from rrs@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 815188FC13;
	Thu,  5 Nov 2009 18:14:25 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA5IEP1N086431;
	Thu, 5 Nov 2009 18:14:25 GMT (envelope-from rrs@svn.freebsd.org)
Received: (from rrs@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA5IEPeT086420;
	Thu, 5 Nov 2009 18:14:25 GMT (envelope-from rrs@svn.freebsd.org)
Message-Id: <200911051814.nA5IEPeT086420@svn.freebsd.org>
From: Randall Stewart <rrs@FreeBSD.org>
Date: Thu, 5 Nov 2009 18:14:25 +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: r198956 - projects/mips/sys/mips/rmi
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Nov 2009 18:14:27 -0000

Author: rrs
Date: Thu Nov  5 18:14:25 2009
New Revision: 198956
URL: http://svn.freebsd.org/changeset/base/198956

Log:
  ok we now get so that the uart init's and we can print. We
  cannot set baud rate as they did in 6.4, this hoses things and
  we loose our 38400 default term.
  
  We now lock somewhere in tcinit.

Added:
  projects/mips/sys/mips/rmi/bus_space_rmi.c
Modified:
  projects/mips/sys/mips/rmi/clock.c
  projects/mips/sys/mips/rmi/clock.h
  projects/mips/sys/mips/rmi/files.xlr
  projects/mips/sys/mips/rmi/iodi.c
  projects/mips/sys/mips/rmi/iomap.h
  projects/mips/sys/mips/rmi/msgring.h
  projects/mips/sys/mips/rmi/on_chip.c
  projects/mips/sys/mips/rmi/pcibus.c
  projects/mips/sys/mips/rmi/pic.h
  projects/mips/sys/mips/rmi/uart_bus_xlr_iodi.c
  projects/mips/sys/mips/rmi/uart_cpu_mips_xlr.c
  projects/mips/sys/mips/rmi/xlr_machdep.c

Added: projects/mips/sys/mips/rmi/bus_space_rmi.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/mips/sys/mips/rmi/bus_space_rmi.c	Thu Nov  5 18:14:25 2009	(r198956)
@@ -0,0 +1,795 @@
+/*-
+ * Copyright (c) 2009 RMI Corporation
+ * 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.
+ *
+ * $FreeBSD$
+ */
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/bus.h>
+#include <sys/kernel.h>
+#include <sys/malloc.h>
+#include <sys/ktr.h>
+
+#include <vm/vm.h>
+#include <vm/pmap.h>
+#include <vm/vm_kern.h>
+#include <vm/vm_extern.h>
+
+#include <machine/bus.h>
+#include <machine/cache.h>
+void xlr_putc(char);
+void xlr_print_int(uint32_t);
+
+static int rmi_bus_space_map(void *t, bus_addr_t addr,
+				  bus_size_t size, int flags,
+				  bus_space_handle_t *bshp);
+
+
+static void rmi_bus_space_unmap(void *t, bus_space_handle_t bsh,
+				     bus_size_t size);
+
+static int rmi_bus_space_subregion(void *t,
+					bus_space_handle_t bsh,
+					bus_size_t offset, bus_size_t size,
+					bus_space_handle_t *nbshp);
+
+static u_int8_t rmi_bus_space_read_1(void *t,
+					  bus_space_handle_t handle,
+					  bus_size_t offset);
+
+static u_int16_t rmi_bus_space_read_2(void *t,
+					   bus_space_handle_t handle,
+					   bus_size_t offset);
+
+static u_int32_t rmi_bus_space_read_4(void *t,
+					   bus_space_handle_t handle,
+					   bus_size_t offset);
+
+static void rmi_bus_space_read_multi_1(void *t,
+					    bus_space_handle_t handle,
+					    bus_size_t offset, u_int8_t *addr,
+					    size_t count);
+
+static void rmi_bus_space_read_multi_2(void *t,
+					    bus_space_handle_t handle,
+					    bus_size_t offset, u_int16_t *addr,
+					    size_t count);
+
+static void rmi_bus_space_read_multi_4(void *t,
+					    bus_space_handle_t handle,
+					    bus_size_t offset, u_int32_t *addr,
+					    size_t count);
+
+static void rmi_bus_space_read_region_1(void *t,
+					     bus_space_handle_t bsh,
+					     bus_size_t offset, u_int8_t *addr,
+					     size_t count);
+
+static void rmi_bus_space_read_region_2(void *t,
+					     bus_space_handle_t bsh,
+					     bus_size_t offset, u_int16_t *addr,
+					     size_t count);
+
+static void rmi_bus_space_read_region_4(void *t,
+					     bus_space_handle_t bsh,
+					     bus_size_t offset, u_int32_t *addr,
+					     size_t count);
+
+static void rmi_bus_space_write_1(void *t,
+				       bus_space_handle_t handle,
+				       bus_size_t offset, u_int8_t value);
+
+static void rmi_bus_space_write_2(void *t,
+				       bus_space_handle_t handle,
+				       bus_size_t offset, u_int16_t value);
+
+static void rmi_bus_space_write_4(void *t,
+				       bus_space_handle_t handle,
+				       bus_size_t offset, u_int32_t value);
+
+static void rmi_bus_space_write_multi_1(void *t,
+					     bus_space_handle_t handle,
+					     bus_size_t offset,
+					     const u_int8_t *addr,
+					     size_t count);
+static void rmi_bus_space_write_multi_2(void *t,
+					     bus_space_handle_t handle,
+					     bus_size_t offset,
+					     const u_int16_t *addr,
+					     size_t count);
+
+static void rmi_bus_space_write_multi_4(void *t,
+										bus_space_handle_t handle,
+										bus_size_t offset,
+										const u_int32_t *addr,
+										size_t count);
+
+static void rmi_bus_space_write_region_2(void *t,
+										 bus_space_handle_t bsh,
+										 bus_size_t offset,
+										 const u_int16_t *addr,
+										 size_t count);
+
+static void rmi_bus_space_write_region_4(void *t,
+					      bus_space_handle_t bsh,
+					      bus_size_t offset,
+					      const u_int32_t *addr,
+					      size_t count);
+
+
+static void rmi_bus_space_set_region_2(void *t,
+					    bus_space_handle_t bsh,
+					    bus_size_t offset, u_int16_t value,
+					    size_t count);
+static void rmi_bus_space_set_region_4(void *t,
+					    bus_space_handle_t bsh,
+					    bus_size_t offset, u_int32_t value,
+					    size_t count);
+
+static void rmi_bus_space_barrier(void *tag __unused, bus_space_handle_t bsh __unused,
+					  bus_size_t offset __unused, bus_size_t len __unused, int flags);
+
+
+static void rmi_bus_space_copy_region_2(void *t,
+					     bus_space_handle_t bsh1,
+					     bus_size_t off1,
+					     bus_space_handle_t bsh2,
+					     bus_size_t off2, size_t count);
+
+u_int8_t rmi_bus_space_read_stream_1(void *t, bus_space_handle_t handle,
+									 bus_size_t offset);
+
+static u_int16_t rmi_bus_space_read_stream_2(void *t, bus_space_handle_t handle,
+							bus_size_t offset);
+
+static u_int32_t rmi_bus_space_read_stream_4(void *t, bus_space_handle_t handle,
+							bus_size_t offset);
+static void rmi_bus_space_read_multi_stream_1(void *t,
+					    bus_space_handle_t handle,
+					    bus_size_t offset, u_int8_t *addr,
+					    size_t count);
+
+static void rmi_bus_space_read_multi_stream_2(void *t,
+					    bus_space_handle_t handle,
+					    bus_size_t offset, u_int16_t *addr,
+					    size_t count);
+
+static void rmi_bus_space_read_multi_stream_4(void *t,
+					    bus_space_handle_t handle,
+					    bus_size_t offset, u_int32_t *addr,
+					    size_t count);
+
+void rmi_bus_space_write_stream_1(void *t, bus_space_handle_t bsh,
+								  bus_size_t offset, u_int8_t value);
+static void rmi_bus_space_write_stream_2(void *t, bus_space_handle_t handle,
+						 bus_size_t offset, u_int16_t value);
+
+static void rmi_bus_space_write_stream_4(void *t, bus_space_handle_t handle,
+						 bus_size_t offset, u_int32_t value);
+
+static void rmi_bus_space_write_multi_stream_1(void *t,
+					     bus_space_handle_t handle,
+					     bus_size_t offset,
+					     const u_int8_t *addr,
+					     size_t count);
+static void rmi_bus_space_write_multi_stream_2(void *t,
+					     bus_space_handle_t handle,
+					     bus_size_t offset,
+					     const u_int16_t *addr,
+					     size_t count);
+	 
+static void rmi_bus_space_write_multi_stream_4(void *t,
+					     bus_space_handle_t handle,
+					     bus_size_t offset,
+					     const u_int32_t *addr,
+					     size_t count);
+
+
+static struct bus_space local_rmi_bus_space = {
+	/* cookie */
+	(void *) 0,
+
+	/* mapping/unmapping */
+	rmi_bus_space_map,
+	rmi_bus_space_unmap,
+	rmi_bus_space_subregion,
+
+	/* allocation/deallocation */
+	NULL,
+	NULL,
+
+	/* barrier */
+	rmi_bus_space_barrier,	
+
+	/* read (single) */
+	rmi_bus_space_read_1,
+	rmi_bus_space_read_2,
+	rmi_bus_space_read_4,
+	NULL,
+
+	/* read multiple */
+	rmi_bus_space_read_multi_1,
+	rmi_bus_space_read_multi_2,
+	rmi_bus_space_read_multi_4,
+	NULL,
+
+	/* read region */
+	rmi_bus_space_read_region_1,
+	rmi_bus_space_read_region_2,
+	rmi_bus_space_read_region_4,
+	NULL,
+
+	/* write (single) */
+	rmi_bus_space_write_1,
+	rmi_bus_space_write_2,
+	rmi_bus_space_write_4,
+	NULL,
+
+	/* write multiple */
+	rmi_bus_space_write_multi_1,
+	rmi_bus_space_write_multi_2,
+	rmi_bus_space_write_multi_4,
+	NULL,
+
+	/* write region */
+	NULL,
+	rmi_bus_space_write_region_2,
+	rmi_bus_space_write_region_4,
+	NULL,
+
+	/* set multiple */
+	NULL,
+	NULL,
+	NULL,
+	NULL,
+
+	/* set region */
+	NULL,
+	rmi_bus_space_set_region_2,
+	rmi_bus_space_set_region_4,
+	NULL,
+
+	/* copy */
+	NULL,
+	rmi_bus_space_copy_region_2,
+	NULL,
+	NULL,
+
+	/* read (single) stream */
+	rmi_bus_space_read_stream_1,
+	rmi_bus_space_read_stream_2,
+	rmi_bus_space_read_stream_4,
+	NULL,
+
+	/* read multiple stream */
+	rmi_bus_space_read_multi_stream_1,
+	rmi_bus_space_read_multi_stream_2,
+	rmi_bus_space_read_multi_stream_4,
+	NULL,
+
+	/* read region stream */
+	rmi_bus_space_read_region_1,
+	rmi_bus_space_read_region_2,
+	rmi_bus_space_read_region_4,
+	NULL,
+
+	/* write (single) stream */
+	rmi_bus_space_write_stream_1,
+	rmi_bus_space_write_stream_2,
+	rmi_bus_space_write_stream_4,
+	NULL,
+
+	/* write multiple stream */
+	rmi_bus_space_write_multi_stream_1,
+	rmi_bus_space_write_multi_stream_2,
+	rmi_bus_space_write_multi_stream_4,
+	NULL,
+
+	/* write region stream */
+	NULL,
+	rmi_bus_space_write_region_2,
+	rmi_bus_space_write_region_4,
+	NULL,
+};
+
+/* generic bus_space tag */
+bus_space_tag_t rmi_bus_space = &local_rmi_bus_space;
+
+#define	MIPS_BUS_SPACE_IO	0	/* space is i/o space */
+#define MIPS_BUS_SPACE_MEM	1	/* space is mem space */
+#define MIPS_BUS_SPACE_PCI	10      /* avoid conflict with other spaces */
+
+#define BUS_SPACE_UNRESTRICTED	(~0)
+
+#define SWAP32(x)\
+        (((x) & 0xff000000) >> 24) | \
+        (((x) & 0x000000ff) << 24) | \
+        (((x) & 0x0000ff00) << 8)  | \
+        (((x) & 0x00ff0000) >> 8)
+
+#define SWAP16(x)\
+        (((x) & 0xff00) >> 8) | \
+        (((x) & 0x00ff) << 8) 
+
+/*
+ * Map a region of device bus space into CPU virtual address space.
+ */
+
+
+static int
+rmi_bus_space_map(void *t __unused, bus_addr_t addr,
+	      bus_size_t size __unused, int flags __unused,
+	      bus_space_handle_t *bshp)
+{
+
+	*bshp = addr;
+	return (0);
+}
+
+/*
+ * Unmap a region of device bus space.
+ */
+static void
+rmi_bus_space_unmap(void *t __unused, bus_space_handle_t bsh __unused,
+		bus_size_t size __unused)
+{
+}
+
+/*
+ * Get a new handle for a subregion of an already-mapped area of bus space.
+ */
+
+static int
+rmi_bus_space_subregion(void *t __unused, bus_space_handle_t bsh,
+		    bus_size_t offset, bus_size_t size __unused,
+		    bus_space_handle_t *nbshp)
+{
+	*nbshp = bsh + offset;
+	return (0);
+}
+
+/*
+ * Read a 1, 2, 4, or 8 byte quantity from bus space
+ * described by tag/handle/offset.
+ */
+
+static u_int8_t
+rmi_bus_space_read_1(void *tag, bus_space_handle_t handle,
+		 bus_size_t offset)
+{
+	if ((int)tag == MIPS_BUS_SPACE_PCI)
+		return (u_int8_t)(*(volatile u_int8_t *)(handle + offset));
+	else
+		return (u_int8_t)(*(volatile u_int32_t *)(handle + offset));
+}
+
+static u_int16_t
+rmi_bus_space_read_2(void *tag, bus_space_handle_t handle,
+		 bus_size_t offset)
+{
+	if ((int)tag == MIPS_BUS_SPACE_PCI)
+		return SWAP16((u_int16_t)(*(volatile u_int16_t *)(handle + offset)));
+	else
+		return *(volatile u_int16_t *)(handle + offset);
+}
+
+static u_int32_t
+rmi_bus_space_read_4(void *tag, bus_space_handle_t handle,
+		 bus_size_t offset)
+{
+	if ((int)tag == MIPS_BUS_SPACE_PCI)
+		return SWAP32((*(volatile u_int32_t *)(handle + offset)));
+	else 
+		return (*(volatile u_int32_t *)(handle + offset));
+}
+
+
+
+/*
+ * Read `count' 1, 2, 4, or 8 byte quantities from bus space
+ * described by tag/handle/offset and copy into buffer provided.
+ */
+static void
+rmi_bus_space_read_multi_1(void *tag, bus_space_handle_t handle,
+		       bus_size_t offset, u_int8_t *addr, size_t count)
+{
+
+	if ((int)tag != MIPS_BUS_SPACE_PCI)
+		return;
+	while (count--) {
+		*addr = (*(volatile u_int8_t *)(handle + offset));
+		addr++;
+	}
+}
+
+static void
+rmi_bus_space_read_multi_2(void *tag, bus_space_handle_t handle,
+		       bus_size_t offset, u_int16_t *addr, size_t count)
+{
+
+	if ((int)tag != MIPS_BUS_SPACE_PCI)
+		return;
+	while (count--) {
+		*addr = *(volatile u_int16_t *)(handle + offset);
+		*addr = SWAP16(*addr);
+		addr++;
+	}
+}
+
+static void
+rmi_bus_space_read_multi_4(void *tag, bus_space_handle_t handle,
+		       bus_size_t offset, u_int32_t *addr, size_t count)
+{
+
+	if ((int)tag != MIPS_BUS_SPACE_PCI)
+		return;
+	while (count--) {
+		*addr = *(volatile u_int32_t *)(handle + offset);
+		*addr = SWAP32(*addr);
+		addr++;
+	}
+}
+
+/*
+ * Write the 1, 2, 4, or 8 byte value `value' to bus space
+ * described by tag/handle/offset.
+ */
+
+
+static void
+rmi_bus_space_write_1(void *tag, bus_space_handle_t handle,
+		       bus_size_t offset, u_int8_t value)
+{
+	mips_sync();
+	if ((int)tag == MIPS_BUS_SPACE_PCI)
+		*(volatile u_int8_t *)(handle + offset) = value;
+	else
+	  	*(volatile u_int32_t *)(handle + offset) = (u_int32_t)value;
+}
+
+static void
+rmi_bus_space_write_2(void *tag, bus_space_handle_t handle,
+		       bus_size_t offset, u_int16_t value)
+{
+	mips_sync();
+	if ((int)tag == MIPS_BUS_SPACE_PCI) {
+		*(volatile u_int16_t *)(handle + offset) = SWAP16(value);
+	} else
+		*(volatile u_int16_t *)(handle + offset) = value;
+}
+
+
+static void
+rmi_bus_space_write_4(void *tag, bus_space_handle_t handle,
+		       bus_size_t offset, u_int32_t value)
+{
+	mips_sync();
+	if ((int)tag == MIPS_BUS_SPACE_PCI) {
+		*(volatile u_int32_t *)(handle + offset) = SWAP32(value);
+	} else
+		*(volatile u_int32_t *)(handle + offset) = value;
+}
+
+
+
+/*
+ * Write `count' 1, 2, 4, or 8 byte quantities from the buffer
+ * provided to bus space described by tag/handle/offset.
+ */
+
+
+static void
+rmi_bus_space_write_multi_1(void *tag, bus_space_handle_t handle,
+			bus_size_t offset, const u_int8_t *addr, size_t count)
+{
+	mips_sync();
+	if ((int)tag != MIPS_BUS_SPACE_PCI)
+		return;
+	while (count--) {
+		(*(volatile u_int8_t *)(handle + offset)) = *addr;
+		addr++;
+	}
+}
+
+static void
+rmi_bus_space_write_multi_2(void *tag, bus_space_handle_t handle,
+			bus_size_t offset, const u_int16_t *addr, size_t count)
+{
+	mips_sync();
+	if ((int)tag != MIPS_BUS_SPACE_PCI)
+		return;
+	while (count--) {
+		(*(volatile u_int16_t *)(handle + offset)) = SWAP16(*addr);
+		addr++;
+	}
+}
+
+static void
+rmi_bus_space_write_multi_4(void *tag, bus_space_handle_t handle,
+			bus_size_t offset, const u_int32_t *addr, size_t count)
+{
+	mips_sync();
+	if ((int)tag != MIPS_BUS_SPACE_PCI)
+		return;
+	while (count--) {
+		(*(volatile u_int32_t *)(handle + offset)) = SWAP32(*addr);
+		addr++;
+	}
+}
+
+/*
+ * Write `count' 1, 2, 4, or 8 byte value `val' to bus space described
+ * by tag/handle starting at `offset'.
+ */
+
+static void
+rmi_bus_space_set_region_2(void *t, bus_space_handle_t bsh,
+		       bus_size_t offset, u_int16_t value, size_t count)
+{
+	bus_addr_t addr = bsh + offset;
+
+	for (; count != 0; count--, addr += 2)
+		(*(volatile u_int16_t *)(addr)) = value;
+}
+
+static void
+rmi_bus_space_set_region_4(void *t, bus_space_handle_t bsh,
+		       bus_size_t offset, u_int32_t value, size_t count)
+{
+	bus_addr_t addr = bsh + offset;
+
+	for (; count != 0; count--, addr += 4)
+		(*(volatile u_int32_t *)(addr)) = value;
+}
+
+
+/*
+ * Copy `count' 1, 2, 4, or 8 byte values from bus space starting
+ * at tag/bsh1/off1 to bus space starting at tag/bsh2/off2.
+ */
+static void
+rmi_bus_space_copy_region_2(void *t, bus_space_handle_t bsh1,
+			bus_size_t off1, bus_space_handle_t bsh2,
+			bus_size_t off2, size_t count)
+{
+	printf("bus_space_copy_region_2 - unimplemented\n");
+}
+
+/*
+ * Read `count' 1, 2, 4, or 8 byte quantities from bus space
+ * described by tag/handle/offset and copy into buffer provided.
+ */
+
+u_int8_t
+rmi_bus_space_read_stream_1(void *t, bus_space_handle_t handle,
+    bus_size_t offset)
+{
+
+	return *((volatile u_int8_t *)(handle + offset));
+}
+
+
+static u_int16_t
+rmi_bus_space_read_stream_2(void *t, bus_space_handle_t handle,
+		 bus_size_t offset)
+{
+		return *(volatile u_int16_t *)(handle + offset);
+}
+
+
+static u_int32_t
+rmi_bus_space_read_stream_4(void *t, bus_space_handle_t handle,
+		 bus_size_t offset)
+{
+		return (*(volatile u_int32_t *)(handle + offset));
+}
+
+
+static void
+rmi_bus_space_read_multi_stream_1(void *tag, bus_space_handle_t handle,
+		       bus_size_t offset, u_int8_t *addr, size_t count)
+{
+
+	if ((int)tag != MIPS_BUS_SPACE_PCI)
+		return;
+	while (count--) {
+		*addr = (*(volatile u_int8_t *)(handle + offset));
+		addr++;
+	}
+}
+
+static void
+rmi_bus_space_read_multi_stream_2(void *tag, bus_space_handle_t handle,
+		       bus_size_t offset, u_int16_t *addr, size_t count)
+{
+
+	if ((int)tag != MIPS_BUS_SPACE_PCI)
+		return;
+	while (count--) {
+		*addr = (*(volatile u_int16_t *)(handle + offset));
+		addr++;
+	}
+}
+
+static void
+rmi_bus_space_read_multi_stream_4(void *tag, bus_space_handle_t handle,
+		       bus_size_t offset, u_int32_t *addr, size_t count)
+{
+
+	if ((int)tag != MIPS_BUS_SPACE_PCI)
+		return;
+	while (count--) {
+		*addr = (*(volatile u_int32_t *)(handle + offset));
+		addr++;
+	}
+}
+
+
+
+/*
+ * Read `count' 1, 2, 4, or 8 byte quantities from bus space
+ * described by tag/handle and starting at `offset' and copy into
+ * buffer provided.
+ */
+void
+rmi_bus_space_read_region_1(void *t, bus_space_handle_t bsh,
+    bus_size_t offset, u_int8_t *addr, size_t count)
+{
+	bus_addr_t baddr = bsh + offset;
+
+	while (count--) {
+		*addr++ = (*(volatile u_int8_t *)(baddr));
+		baddr += 1;
+	}
+}
+
+void
+rmi_bus_space_read_region_2(void *t, bus_space_handle_t bsh,
+    bus_size_t offset, u_int16_t *addr, size_t count)
+{
+	bus_addr_t baddr = bsh + offset;
+
+	while (count--) {
+		*addr++ = (*(volatile u_int16_t *)(baddr));
+		baddr += 2;
+	}
+}
+
+void
+rmi_bus_space_read_region_4(void *t, bus_space_handle_t bsh,
+    bus_size_t offset, u_int32_t *addr, size_t count)
+{
+	bus_addr_t baddr = bsh + offset;
+
+	while (count--) {
+		*addr++ = (*(volatile u_int32_t *)(baddr));
+		baddr += 4;
+	}
+}
+
+
+void
+rmi_bus_space_write_stream_1(void *t, bus_space_handle_t handle,
+    bus_size_t offset, u_int8_t value)
+{
+	mips_sync();
+	*(volatile u_int8_t *)(handle + offset) = value;
+}
+
+
+static void
+rmi_bus_space_write_stream_2(void *t, bus_space_handle_t handle,
+		       bus_size_t offset, u_int16_t value)
+{
+	mips_sync();
+	*(volatile u_int16_t *)(handle + offset) = value;
+}
+
+
+static void
+rmi_bus_space_write_stream_4(void *t, bus_space_handle_t handle,
+		       bus_size_t offset, u_int32_t value)
+{
+	mips_sync();
+	*(volatile u_int32_t *)(handle + offset) = value;
+}
+
+
+static void
+rmi_bus_space_write_multi_stream_1(void *tag, bus_space_handle_t handle,
+			bus_size_t offset, const u_int8_t *addr, size_t count)
+{
+	mips_sync();
+	if ((int)tag != MIPS_BUS_SPACE_PCI)
+		return;
+	while (count--) {
+		(*(volatile u_int8_t *)(handle + offset)) = *addr;
+		addr++;
+	}
+}
+
+static void
+rmi_bus_space_write_multi_stream_2(void *tag, bus_space_handle_t handle,
+			bus_size_t offset, const u_int16_t *addr, size_t count)
+{
+	mips_sync();
+	if ((int)tag != MIPS_BUS_SPACE_PCI)
+		return;
+	while (count--) {
+		(*(volatile u_int16_t *)(handle + offset)) = *addr;
+		addr++;
+	}
+}
+
+static void
+rmi_bus_space_write_multi_stream_4(void *tag, bus_space_handle_t handle,
+			bus_size_t offset, const u_int32_t *addr, size_t count)
+{
+	mips_sync();
+	if ((int)tag != MIPS_BUS_SPACE_PCI)
+		return;
+	while (count--) {
+		(*(volatile u_int32_t *)(handle + offset)) = *addr;
+		addr++;
+	}
+}
+
+void
+rmi_bus_space_write_region_2(void *t,
+							 bus_space_handle_t bsh,
+							 bus_size_t offset,
+							 const u_int16_t *addr,
+							 size_t count)
+{
+	bus_addr_t baddr = (bus_addr_t)bsh + offset;
+	while (count--) {
+		(*(volatile u_int16_t *)(baddr)) = *addr;
+		addr++;
+		baddr += 2;
+	}
+}
+
+void
+rmi_bus_space_write_region_4(void *t, bus_space_handle_t bsh,
+    bus_size_t offset, const u_int32_t *addr, size_t count)
+{
+	bus_addr_t baddr = bsh + offset;
+
+	while (count--) {
+		(*(volatile u_int32_t *)(baddr)) = *addr;
+		addr++;
+		baddr += 4;
+	}
+}
+
+static void
+rmi_bus_space_barrier(void *tag __unused, bus_space_handle_t bsh __unused,
+		  bus_size_t offset __unused, bus_size_t len __unused, int flags)
+{
+
+}

Modified: projects/mips/sys/mips/rmi/clock.c
==============================================================================
--- projects/mips/sys/mips/rmi/clock.c	Thu Nov  5 17:22:12 2009	(r198955)
+++ projects/mips/sys/mips/rmi/clock.c	Thu Nov  5 18:14:25 2009	(r198956)
@@ -163,6 +163,24 @@ pic_timecounthandler(struct trapframe *t
 }
 
 void
+rmi_early_counter_init()
+{
+	int cpu = PCPU_GET(cpuid);
+	xlr_reg_t *mmio = xlr_io_mmio(XLR_IO_PIC_OFFSET);
+
+	/* We do this to get the PIC time counter running right
+	 * after system start. Otherwise the DELAY() function will
+	 * not be able to work since it won't have a TC to read.
+	 */
+	xlr_write_reg(mmio, PIC_TIMER_6_MAXVAL_0, (0xffffffff & 0xffffffff));
+	xlr_write_reg(mmio, PIC_TIMER_6_MAXVAL_1, (0xffffffff & 0xffffffff));
+	xlr_write_reg(mmio, PIC_IRT_0_TIMER_6, (1 << cpu));
+	xlr_write_reg(mmio, PIC_IRT_1_TIMER_6, (1 << 31) | (0 << 30) | (1 << 6) | (PIC_TIMER_6_IRQ));
+	pic_update_control(1 << (8 + 6));
+}
+
+
+void
 platform_initclocks(void)
 {
 	int cpu = PCPU_GET(cpuid);
@@ -204,7 +222,8 @@ platform_initclocks(void)
 
 		/* Setup PIC Interrupt */
 
-		mtx_lock_spin(&xlr_pic_lock);
+		if (rmi_spin_mutex_safe)
+		  mtx_lock_spin(&xlr_pic_lock);
 		xlr_write_reg(mmio, PIC_TIMER_7_MAXVAL_0, (maxval & 0xffffffff));	/* 0x100 + 7 */
 		xlr_write_reg(mmio, PIC_TIMER_7_MAXVAL_1, (maxval >> 32) & 0xffffffff);	/* 0x110 + 7 */
 		/* 0x40 + 8 */
@@ -221,7 +240,8 @@ platform_initclocks(void)
 		xlr_write_reg(mmio, PIC_IRT_0_TIMER_6, (1 << cpu));
 		xlr_write_reg(mmio, PIC_IRT_1_TIMER_6, (1 << 31) | (0 << 30) | (1 << 6) | (PIC_TIMER_6_IRQ));
 		pic_update_control(1 << (8 + 6));
-		mtx_unlock_spin(&xlr_pic_lock);
+		if (rmi_spin_mutex_safe)
+		  mtx_unlock_spin(&xlr_pic_lock);
 	} else {
 		/* Setup count-compare interrupt for vcpu[1-31] */
 		mips_wr_compare((xlr_boot1_info.cpu_frequency) / hz);

Modified: projects/mips/sys/mips/rmi/clock.h
==============================================================================
--- projects/mips/sys/mips/rmi/clock.h	Thu Nov  5 17:22:12 2009	(r198955)
+++ projects/mips/sys/mips/rmi/clock.h	Thu Nov  5 18:14:25 2009	(r198956)
@@ -36,5 +36,5 @@
 void count_compare_clockhandler(struct trapframe *);
 void pic_hardclockhandler(struct trapframe *);
 int pic_timecounthandler(struct trapframe *);
-
+void rmi_early_counter_init(void);
 #endif				/* _RMI_CLOCK_H_ */

Modified: projects/mips/sys/mips/rmi/files.xlr
==============================================================================
--- projects/mips/sys/mips/rmi/files.xlr	Thu Nov  5 17:22:12 2009	(r198955)
+++ projects/mips/sys/mips/rmi/files.xlr	Thu Nov  5 18:14:25 2009	(r198956)
@@ -18,6 +18,7 @@ mips/rmi/pcibus.c				optional pci
 mips/rmi/xlr_pci.c				optional pci
 #mips/rmi/xls_ehci.c				optional usb ehci
 dev/rmi/xlr/rge.c				optional rge
+mips/rmi/bus_space_rmi.c			standard
 dev/iicbus/xlr_rtc.c				optional xlr_rtc
 dev/iicbus/xlr_temperature.c			optional xlr_temperature
 dev/iicbus/xlr_eeprom.c				optional xlr_eeprom

Modified: projects/mips/sys/mips/rmi/iodi.c
==============================================================================
--- projects/mips/sys/mips/rmi/iodi.c	Thu Nov  5 17:22:12 2009	(r198955)
+++ projects/mips/sys/mips/rmi/iodi.c	Thu Nov  5 18:14:25 2009	(r198956)
@@ -99,6 +99,7 @@ static void pic_usb_ack(void *arg)
 }
 */
 
+
 static int
 iodi_setup_intr(device_t dev, device_t child,
     struct resource *ires, int flags, driver_filter_t * filt, driver_intr_t * intr, void *arg,
@@ -111,11 +112,13 @@ iodi_setup_intr(device_t dev, device_t c
 	/* FIXME is this the right place to fiddle with PIC? */
 	if (strcmp(device_get_name(child), "uart") == 0) {
 		/* FIXME uart 1? */
-		mtx_lock_spin(&xlr_pic_lock);
+   	    if (rmi_spin_mutex_safe)
+		  mtx_lock_spin(&xlr_pic_lock);
 		level = PIC_IRQ_IS_EDGE_TRIGGERED(PIC_IRT_UART_0_INDEX);
 		xlr_write_reg(mmio, PIC_IRT_0_UART_0, 0x01);
 		xlr_write_reg(mmio, PIC_IRT_1_UART_0, ((1 << 31) | (level << 30) | (1 << 6) | (PIC_UART_0_IRQ)));
-		mtx_unlock_spin(&xlr_pic_lock);
+   	    if (rmi_spin_mutex_safe)
+		  mtx_unlock_spin(&xlr_pic_lock);
 		cpu_establish_hardintr("uart", NULL,
 		    (driver_intr_t *) intr, (void *)arg, PIC_UART_0_IRQ, flags, cookiep);
 
@@ -123,16 +126,20 @@ iodi_setup_intr(device_t dev, device_t c
 		int irq;
 
 		irq = rman_get_rid(ires);
-		mtx_lock_spin(&xlr_pic_lock);
+   	    if (rmi_spin_mutex_safe)
+		  mtx_lock_spin(&xlr_pic_lock);
 		reg = xlr_read_reg(mmio, PIC_IRT_1_BASE + irq - PIC_IRQ_BASE);
 		xlr_write_reg(mmio, PIC_IRT_1_BASE + irq - PIC_IRQ_BASE, reg | (1 << 6) | (1 << 30) | (1 << 31));
-		mtx_unlock_spin(&xlr_pic_lock);
+   	    if (rmi_spin_mutex_safe)
+		  mtx_unlock_spin(&xlr_pic_lock);
 		cpu_establish_hardintr("rge", NULL, (driver_intr_t *) intr, (void *)arg, irq, flags, cookiep);
 
 	} else if (strcmp(device_get_name(child), "ehci") == 0) {
+   	    if (rmi_spin_mutex_safe)
 		mtx_lock_spin(&xlr_pic_lock);
 		reg = xlr_read_reg(mmio, PIC_IRT_1_BASE + PIC_USB_IRQ - PIC_IRQ_BASE);
 		xlr_write_reg(mmio, PIC_IRT_1_BASE + PIC_USB_IRQ - PIC_IRQ_BASE, reg | (1 << 6) | (1 << 30) | (1 << 31));
+   	    if (rmi_spin_mutex_safe)
 		mtx_unlock_spin(&xlr_pic_lock);
 		cpu_establish_hardintr("ehci", NULL, (driver_intr_t *) intr, (void *)arg, PIC_USB_IRQ, flags, cookiep);
 	}

Modified: projects/mips/sys/mips/rmi/iomap.h
==============================================================================
--- projects/mips/sys/mips/rmi/iomap.h	Thu Nov  5 17:22:12 2009	(r198955)
+++ projects/mips/sys/mips/rmi/iomap.h	Thu Nov  5 18:14:25 2009	(r198956)
@@ -31,7 +31,7 @@
 #define _RMI_IOMAP_H_
 
 #include <machine/endian.h>
-
+#define XLR_DEVICE_REGISTER_BASE	0x1EF00000
 #define DEFAULT_XLR_IO_BASE 0xffffffffbef00000ULL
 #define XLR_IO_SIZE                   0x1000
 
@@ -65,6 +65,9 @@
 
 #define XLR_IO_UART_0_OFFSET          0x14000
 #define XLR_IO_UART_1_OFFSET          0x15000
+#define XLR_UART0ADDR                 (XLR_IO_UART_0_OFFSET+XLR_DEVICE_REGISTER_BASE)
+
+
 
 #define XLR_IO_I2C_0_OFFSET           0x16000
 #define XLR_IO_I2C_1_OFFSET           0x17000

Modified: projects/mips/sys/mips/rmi/msgring.h
==============================================================================
--- projects/mips/sys/mips/rmi/msgring.h	Thu Nov  5 17:22:12 2009	(r198955)
+++ projects/mips/sys/mips/rmi/msgring.h	Thu Nov  5 18:14:25 2009	(r198956)
@@ -469,14 +469,15 @@ extern struct stn_cc xls_cc_table_pcie;
 extern struct stn_cc xls_cc_table_dma;
 extern struct stn_cc xls_cc_table_sec;
 
+
 #define msgrng_access_save(lock, mflags) do {                \
-  mtx_lock_spin(lock);                                       \
+  if (rmi_spin_mutex_safe) mtx_lock_spin(lock);              \
   msgrng_flags_save(mflags);                                 \
  }while(0)
 
 #define msgrng_access_restore(lock, mflags) do {             \
   msgrng_flags_restore(mflags);                              \
-  mtx_unlock_spin(lock);                                     \
+  if (rmi_spin_mutex_safe) mtx_unlock_spin(lock);            \
  }while(0)
 
 #define msgrng_access_enable(mflags) do {   \

Modified: projects/mips/sys/mips/rmi/on_chip.c
==============================================================================
--- projects/mips/sys/mips/rmi/on_chip.c	Thu Nov  5 17:22:12 2009	(r198955)
+++ projects/mips/sys/mips/rmi/on_chip.c	Thu Nov  5 18:14:25 2009	(r198956)
@@ -262,10 +262,12 @@ register_msgring_handler(int major,
 
 	//dbg_msg("major=%d, action=%p, dev_id=%p\n", major, action, dev_id);
 
-	mtx_lock_spin(&msgrng_lock);
+	if (rmi_spin_mutex_safe)
+	  mtx_lock_spin(&msgrng_lock);
 	tx_stn_handlers[major].action = action;
 	tx_stn_handlers[major].dev_id = dev_id;
-	mtx_unlock_spin(&msgrng_lock);
+	if (rmi_spin_mutex_safe)
+	  mtx_unlock_spin(&msgrng_lock);
 
 	if (xlr_test_and_set(&msgring_int_enabled)) {
 		platform_prep_smp_launch();
@@ -301,6 +303,7 @@ pic_init(void)
 		 */
 		xlr_write_reg(mmio, PIC_IRT_1_BASE + i, (level << 30) | (1 << 6) | (PIC_IRQ_BASE + i));
 	}
+	dbg_msg("PIC init now done\n");
 }
 
 void 

Modified: projects/mips/sys/mips/rmi/pcibus.c
==============================================================================
--- projects/mips/sys/mips/rmi/pcibus.c	Thu Nov  5 17:22:12 2009	(r198955)
+++ projects/mips/sys/mips/rmi/pcibus.c	Thu Nov  5 18:14:25 2009	(r198956)
@@ -148,7 +148,6 @@ static void pic_pcie_ack(void *arg)
 
 */
 
-
 int
 mips_platform_pci_setup_intr(device_t dev, device_t child,
     struct resource *irq, int flags,
@@ -174,21 +173,22 @@ mips_platform_pci_setup_intr(device_t de
 		return 0;
 
 	if (xlr_board_info.is_xls == 0) {
-		mtx_lock_spin(&xlr_pic_lock);
+	
+		if (rmi_spin_mutex_safe) mtx_lock_spin(&xlr_pic_lock);
 		level = PIC_IRQ_IS_EDGE_TRIGGERED(PIC_IRT_PCIX_INDEX);
 		xlr_write_reg(mmio, PIC_IRT_0_PCIX, 0x01);
 		xlr_write_reg(mmio, PIC_IRT_1_PCIX, ((1 << 31) | (level << 30) |
 		    (1 << 6) | (PIC_PCIX_IRQ)));

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@FreeBSD.ORG  Thu Nov  5 18:15:16 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 7705A1065672;
	Thu,  5 Nov 2009 18:15:16 +0000 (UTC) (envelope-from rrs@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 658848FC19;
	Thu,  5 Nov 2009 18:15:16 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA5IFGQY086500;
	Thu, 5 Nov 2009 18:15:16 GMT (envelope-from rrs@svn.freebsd.org)
Received: (from rrs@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA5IFGR0086498;
	Thu, 5 Nov 2009 18:15:16 GMT (envelope-from rrs@svn.freebsd.org)
Message-Id: <200911051815.nA5IFGR0086498@svn.freebsd.org>
From: Randall Stewart <rrs@FreeBSD.org>
Date: Thu, 5 Nov 2009 18:15: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: r198957 - projects/mips/sys/mips/rmi
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Nov 2009 18:15:16 -0000

Author: rrs
Date: Thu Nov  5 18:15:16 2009
New Revision: 198957
URL: http://svn.freebsd.org/changeset/base/198957

Log:
  white space changes

Modified:
  projects/mips/sys/mips/rmi/bus_space_rmi.c

Modified: projects/mips/sys/mips/rmi/bus_space_rmi.c
==============================================================================
--- projects/mips/sys/mips/rmi/bus_space_rmi.c	Thu Nov  5 18:14:25 2009	(r198956)
+++ projects/mips/sys/mips/rmi/bus_space_rmi.c	Thu Nov  5 18:15:16 2009	(r198957)
@@ -45,174 +45,210 @@ __FBSDID("$FreeBSD$");
 void xlr_putc(char);
 void xlr_print_int(uint32_t);
 
-static int rmi_bus_space_map(void *t, bus_addr_t addr,
-				  bus_size_t size, int flags,
-				  bus_space_handle_t *bshp);
-
-
-static void rmi_bus_space_unmap(void *t, bus_space_handle_t bsh,
-				     bus_size_t size);
-
-static int rmi_bus_space_subregion(void *t,
-					bus_space_handle_t bsh,
-					bus_size_t offset, bus_size_t size,
-					bus_space_handle_t *nbshp);
-
-static u_int8_t rmi_bus_space_read_1(void *t,
-					  bus_space_handle_t handle,
-					  bus_size_t offset);
-
-static u_int16_t rmi_bus_space_read_2(void *t,
-					   bus_space_handle_t handle,
-					   bus_size_t offset);
-
-static u_int32_t rmi_bus_space_read_4(void *t,
-					   bus_space_handle_t handle,
-					   bus_size_t offset);
-
-static void rmi_bus_space_read_multi_1(void *t,
-					    bus_space_handle_t handle,
-					    bus_size_t offset, u_int8_t *addr,
-					    size_t count);
-
-static void rmi_bus_space_read_multi_2(void *t,
-					    bus_space_handle_t handle,
-					    bus_size_t offset, u_int16_t *addr,
-					    size_t count);
-
-static void rmi_bus_space_read_multi_4(void *t,
-					    bus_space_handle_t handle,
-					    bus_size_t offset, u_int32_t *addr,
-					    size_t count);
-
-static void rmi_bus_space_read_region_1(void *t,
-					     bus_space_handle_t bsh,
-					     bus_size_t offset, u_int8_t *addr,
-					     size_t count);
-
-static void rmi_bus_space_read_region_2(void *t,
-					     bus_space_handle_t bsh,
-					     bus_size_t offset, u_int16_t *addr,
-					     size_t count);
-
-static void rmi_bus_space_read_region_4(void *t,
-					     bus_space_handle_t bsh,
-					     bus_size_t offset, u_int32_t *addr,
-					     size_t count);
-
-static void rmi_bus_space_write_1(void *t,
-				       bus_space_handle_t handle,
-				       bus_size_t offset, u_int8_t value);
-
-static void rmi_bus_space_write_2(void *t,
-				       bus_space_handle_t handle,
-				       bus_size_t offset, u_int16_t value);
-
-static void rmi_bus_space_write_4(void *t,
-				       bus_space_handle_t handle,
-				       bus_size_t offset, u_int32_t value);
-
-static void rmi_bus_space_write_multi_1(void *t,
-					     bus_space_handle_t handle,
-					     bus_size_t offset,
-					     const u_int8_t *addr,
-					     size_t count);
-static void rmi_bus_space_write_multi_2(void *t,
-					     bus_space_handle_t handle,
-					     bus_size_t offset,
-					     const u_int16_t *addr,
-					     size_t count);
-
-static void rmi_bus_space_write_multi_4(void *t,
-										bus_space_handle_t handle,
-										bus_size_t offset,
-										const u_int32_t *addr,
-										size_t count);
-
-static void rmi_bus_space_write_region_2(void *t,
-										 bus_space_handle_t bsh,
-										 bus_size_t offset,
-										 const u_int16_t *addr,
-										 size_t count);
-
-static void rmi_bus_space_write_region_4(void *t,
-					      bus_space_handle_t bsh,
-					      bus_size_t offset,
-					      const u_int32_t *addr,
-					      size_t count);
-
-
-static void rmi_bus_space_set_region_2(void *t,
-					    bus_space_handle_t bsh,
-					    bus_size_t offset, u_int16_t value,
-					    size_t count);
-static void rmi_bus_space_set_region_4(void *t,
-					    bus_space_handle_t bsh,
-					    bus_size_t offset, u_int32_t value,
-					    size_t count);
-
-static void rmi_bus_space_barrier(void *tag __unused, bus_space_handle_t bsh __unused,
-					  bus_size_t offset __unused, bus_size_t len __unused, int flags);
-
-
-static void rmi_bus_space_copy_region_2(void *t,
-					     bus_space_handle_t bsh1,
-					     bus_size_t off1,
-					     bus_space_handle_t bsh2,
-					     bus_size_t off2, size_t count);
-
-u_int8_t rmi_bus_space_read_stream_1(void *t, bus_space_handle_t handle,
-									 bus_size_t offset);
-
-static u_int16_t rmi_bus_space_read_stream_2(void *t, bus_space_handle_t handle,
-							bus_size_t offset);
-
-static u_int32_t rmi_bus_space_read_stream_4(void *t, bus_space_handle_t handle,
-							bus_size_t offset);
-static void rmi_bus_space_read_multi_stream_1(void *t,
-					    bus_space_handle_t handle,
-					    bus_size_t offset, u_int8_t *addr,
-					    size_t count);
-
-static void rmi_bus_space_read_multi_stream_2(void *t,
-					    bus_space_handle_t handle,
-					    bus_size_t offset, u_int16_t *addr,
-					    size_t count);
-
-static void rmi_bus_space_read_multi_stream_4(void *t,
-					    bus_space_handle_t handle,
-					    bus_size_t offset, u_int32_t *addr,
-					    size_t count);
-
-void rmi_bus_space_write_stream_1(void *t, bus_space_handle_t bsh,
-								  bus_size_t offset, u_int8_t value);
-static void rmi_bus_space_write_stream_2(void *t, bus_space_handle_t handle,
-						 bus_size_t offset, u_int16_t value);
-
-static void rmi_bus_space_write_stream_4(void *t, bus_space_handle_t handle,
-						 bus_size_t offset, u_int32_t value);
-
-static void rmi_bus_space_write_multi_stream_1(void *t,
-					     bus_space_handle_t handle,
-					     bus_size_t offset,
-					     const u_int8_t *addr,
-					     size_t count);
-static void rmi_bus_space_write_multi_stream_2(void *t,
-					     bus_space_handle_t handle,
-					     bus_size_t offset,
-					     const u_int16_t *addr,
-					     size_t count);
-	 
-static void rmi_bus_space_write_multi_stream_4(void *t,
-					     bus_space_handle_t handle,
-					     bus_size_t offset,
-					     const u_int32_t *addr,
-					     size_t count);
+static int 
+rmi_bus_space_map(void *t, bus_addr_t addr,
+    bus_size_t size, int flags,
+    bus_space_handle_t * bshp);
+
+
+static void 
+rmi_bus_space_unmap(void *t, bus_space_handle_t bsh,
+    bus_size_t size);
+
+static int 
+rmi_bus_space_subregion(void *t,
+    bus_space_handle_t bsh,
+    bus_size_t offset, bus_size_t size,
+    bus_space_handle_t * nbshp);
+
+static u_int8_t 
+rmi_bus_space_read_1(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset);
+
+static u_int16_t 
+rmi_bus_space_read_2(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset);
+
+static u_int32_t 
+rmi_bus_space_read_4(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset);
+
+static void 
+rmi_bus_space_read_multi_1(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset, u_int8_t * addr,
+    size_t count);
+
+static void 
+rmi_bus_space_read_multi_2(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset, u_int16_t * addr,
+    size_t count);
+
+static void 
+rmi_bus_space_read_multi_4(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset, u_int32_t * addr,
+    size_t count);
+
+static void 
+rmi_bus_space_read_region_1(void *t,
+    bus_space_handle_t bsh,
+    bus_size_t offset, u_int8_t * addr,
+    size_t count);
+
+static void 
+rmi_bus_space_read_region_2(void *t,
+    bus_space_handle_t bsh,
+    bus_size_t offset, u_int16_t * addr,
+    size_t count);
+
+static void 
+rmi_bus_space_read_region_4(void *t,
+    bus_space_handle_t bsh,
+    bus_size_t offset, u_int32_t * addr,
+    size_t count);
+
+static void 
+rmi_bus_space_write_1(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset, u_int8_t value);
+
+static void 
+rmi_bus_space_write_2(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset, u_int16_t value);
+
+static void 
+rmi_bus_space_write_4(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset, u_int32_t value);
+
+static void 
+rmi_bus_space_write_multi_1(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset,
+    const u_int8_t * addr,
+    size_t count);
+static void 
+rmi_bus_space_write_multi_2(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset,
+    const u_int16_t * addr,
+    size_t count);
+
+static void 
+rmi_bus_space_write_multi_4(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset,
+    const u_int32_t * addr,
+    size_t count);
+
+static void 
+rmi_bus_space_write_region_2(void *t,
+    bus_space_handle_t bsh,
+    bus_size_t offset,
+    const u_int16_t * addr,
+    size_t count);
+
+static void 
+rmi_bus_space_write_region_4(void *t,
+    bus_space_handle_t bsh,
+    bus_size_t offset,
+    const u_int32_t * addr,
+    size_t count);
+
+
+static void 
+rmi_bus_space_set_region_2(void *t,
+    bus_space_handle_t bsh,
+    bus_size_t offset, u_int16_t value,
+    size_t count);
+static void 
+rmi_bus_space_set_region_4(void *t,
+    bus_space_handle_t bsh,
+    bus_size_t offset, u_int32_t value,
+    size_t count);
+
+static void 
+rmi_bus_space_barrier(void *tag __unused, bus_space_handle_t bsh __unused,
+    bus_size_t offset __unused, bus_size_t len __unused, int flags);
+
+
+static void 
+rmi_bus_space_copy_region_2(void *t,
+    bus_space_handle_t bsh1,
+    bus_size_t off1,
+    bus_space_handle_t bsh2,
+    bus_size_t off2, size_t count);
+
+u_int8_t 
+rmi_bus_space_read_stream_1(void *t, bus_space_handle_t handle,
+    bus_size_t offset);
+
+static u_int16_t 
+rmi_bus_space_read_stream_2(void *t, bus_space_handle_t handle,
+    bus_size_t offset);
+
+static u_int32_t 
+rmi_bus_space_read_stream_4(void *t, bus_space_handle_t handle,
+    bus_size_t offset);
+static void 
+rmi_bus_space_read_multi_stream_1(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset, u_int8_t * addr,
+    size_t count);
+
+static void 
+rmi_bus_space_read_multi_stream_2(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset, u_int16_t * addr,
+    size_t count);
+
+static void 
+rmi_bus_space_read_multi_stream_4(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset, u_int32_t * addr,
+    size_t count);
+
+void 
+rmi_bus_space_write_stream_1(void *t, bus_space_handle_t bsh,
+    bus_size_t offset, u_int8_t value);
+static void 
+rmi_bus_space_write_stream_2(void *t, bus_space_handle_t handle,
+    bus_size_t offset, u_int16_t value);
+
+static void 
+rmi_bus_space_write_stream_4(void *t, bus_space_handle_t handle,
+    bus_size_t offset, u_int32_t value);
+
+static void 
+rmi_bus_space_write_multi_stream_1(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset,
+    const u_int8_t * addr,
+    size_t count);
+static void 
+rmi_bus_space_write_multi_stream_2(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset,
+    const u_int16_t * addr,
+    size_t count);
+
+static void 
+rmi_bus_space_write_multi_stream_4(void *t,
+    bus_space_handle_t handle,
+    bus_size_t offset,
+    const u_int32_t * addr,
+    size_t count);
 
 
 static struct bus_space local_rmi_bus_space = {
 	/* cookie */
-	(void *) 0,
+	(void *)0,
 
 	/* mapping/unmapping */
 	rmi_bus_space_map,
@@ -224,7 +260,7 @@ static struct bus_space local_rmi_bus_sp
 	NULL,
 
 	/* barrier */
-	rmi_bus_space_barrier,	
+	rmi_bus_space_barrier,
 
 	/* read (single) */
 	rmi_bus_space_read_1,
@@ -322,7 +358,7 @@ bus_space_tag_t rmi_bus_space = &local_r
 
 #define	MIPS_BUS_SPACE_IO	0	/* space is i/o space */
 #define MIPS_BUS_SPACE_MEM	1	/* space is mem space */
-#define MIPS_BUS_SPACE_PCI	10      /* avoid conflict with other spaces */
+#define MIPS_BUS_SPACE_PCI	10	/* avoid conflict with other spaces */
 
 #define BUS_SPACE_UNRESTRICTED	(~0)
 
@@ -334,7 +370,7 @@ bus_space_tag_t rmi_bus_space = &local_r
 
 #define SWAP16(x)\
         (((x) & 0xff00) >> 8) | \
-        (((x) & 0x00ff) << 8) 
+        (((x) & 0x00ff) << 8)
 
 /*
  * Map a region of device bus space into CPU virtual address space.
@@ -343,8 +379,8 @@ bus_space_tag_t rmi_bus_space = &local_r
 
 static int
 rmi_bus_space_map(void *t __unused, bus_addr_t addr,
-	      bus_size_t size __unused, int flags __unused,
-	      bus_space_handle_t *bshp)
+    bus_size_t size __unused, int flags __unused,
+    bus_space_handle_t * bshp)
 {
 
 	*bshp = addr;
@@ -356,7 +392,7 @@ rmi_bus_space_map(void *t __unused, bus_
  */
 static void
 rmi_bus_space_unmap(void *t __unused, bus_space_handle_t bsh __unused,
-		bus_size_t size __unused)
+    bus_size_t size __unused)
 {
 }
 
@@ -366,8 +402,8 @@ rmi_bus_space_unmap(void *t __unused, bu
 
 static int
 rmi_bus_space_subregion(void *t __unused, bus_space_handle_t bsh,
-		    bus_size_t offset, bus_size_t size __unused,
-		    bus_space_handle_t *nbshp)
+    bus_size_t offset, bus_size_t size __unused,
+    bus_space_handle_t * nbshp)
 {
 	*nbshp = bsh + offset;
 	return (0);
@@ -380,31 +416,31 @@ rmi_bus_space_subregion(void *t __unused
 
 static u_int8_t
 rmi_bus_space_read_1(void *tag, bus_space_handle_t handle,
-		 bus_size_t offset)
+    bus_size_t offset)
 {
 	if ((int)tag == MIPS_BUS_SPACE_PCI)
-		return (u_int8_t)(*(volatile u_int8_t *)(handle + offset));
+		return (u_int8_t) (*(volatile u_int8_t *)(handle + offset));
 	else
-		return (u_int8_t)(*(volatile u_int32_t *)(handle + offset));
+		return (u_int8_t) (*(volatile u_int32_t *)(handle + offset));
 }
 
 static u_int16_t
 rmi_bus_space_read_2(void *tag, bus_space_handle_t handle,
-		 bus_size_t offset)
+    bus_size_t offset)
 {
 	if ((int)tag == MIPS_BUS_SPACE_PCI)
-		return SWAP16((u_int16_t)(*(volatile u_int16_t *)(handle + offset)));
+		return SWAP16((u_int16_t) (*(volatile u_int16_t *)(handle + offset)));
 	else
 		return *(volatile u_int16_t *)(handle + offset);
 }
 
 static u_int32_t
 rmi_bus_space_read_4(void *tag, bus_space_handle_t handle,
-		 bus_size_t offset)
+    bus_size_t offset)
 {
 	if ((int)tag == MIPS_BUS_SPACE_PCI)
 		return SWAP32((*(volatile u_int32_t *)(handle + offset)));
-	else 
+	else
 		return (*(volatile u_int32_t *)(handle + offset));
 }
 
@@ -416,7 +452,7 @@ rmi_bus_space_read_4(void *tag, bus_spac
  */
 static void
 rmi_bus_space_read_multi_1(void *tag, bus_space_handle_t handle,
-		       bus_size_t offset, u_int8_t *addr, size_t count)
+    bus_size_t offset, u_int8_t * addr, size_t count)
 {
 
 	if ((int)tag != MIPS_BUS_SPACE_PCI)
@@ -429,7 +465,7 @@ rmi_bus_space_read_multi_1(void *tag, bu
 
 static void
 rmi_bus_space_read_multi_2(void *tag, bus_space_handle_t handle,
-		       bus_size_t offset, u_int16_t *addr, size_t count)
+    bus_size_t offset, u_int16_t * addr, size_t count)
 {
 
 	if ((int)tag != MIPS_BUS_SPACE_PCI)
@@ -443,7 +479,7 @@ rmi_bus_space_read_multi_2(void *tag, bu
 
 static void
 rmi_bus_space_read_multi_4(void *tag, bus_space_handle_t handle,
-		       bus_size_t offset, u_int32_t *addr, size_t count)
+    bus_size_t offset, u_int32_t * addr, size_t count)
 {
 
 	if ((int)tag != MIPS_BUS_SPACE_PCI)
@@ -463,18 +499,18 @@ rmi_bus_space_read_multi_4(void *tag, bu
 
 static void
 rmi_bus_space_write_1(void *tag, bus_space_handle_t handle,
-		       bus_size_t offset, u_int8_t value)
+    bus_size_t offset, u_int8_t value)
 {
 	mips_sync();
 	if ((int)tag == MIPS_BUS_SPACE_PCI)
 		*(volatile u_int8_t *)(handle + offset) = value;
 	else
-	  	*(volatile u_int32_t *)(handle + offset) = (u_int32_t)value;
+		*(volatile u_int32_t *)(handle + offset) = (u_int32_t) value;
 }
 
 static void
 rmi_bus_space_write_2(void *tag, bus_space_handle_t handle,
-		       bus_size_t offset, u_int16_t value)
+    bus_size_t offset, u_int16_t value)
 {
 	mips_sync();
 	if ((int)tag == MIPS_BUS_SPACE_PCI) {
@@ -486,7 +522,7 @@ rmi_bus_space_write_2(void *tag, bus_spa
 
 static void
 rmi_bus_space_write_4(void *tag, bus_space_handle_t handle,
-		       bus_size_t offset, u_int32_t value)
+    bus_size_t offset, u_int32_t value)
 {
 	mips_sync();
 	if ((int)tag == MIPS_BUS_SPACE_PCI) {
@@ -505,7 +541,7 @@ rmi_bus_space_write_4(void *tag, bus_spa
 
 static void
 rmi_bus_space_write_multi_1(void *tag, bus_space_handle_t handle,
-			bus_size_t offset, const u_int8_t *addr, size_t count)
+    bus_size_t offset, const u_int8_t * addr, size_t count)
 {
 	mips_sync();
 	if ((int)tag != MIPS_BUS_SPACE_PCI)
@@ -518,7 +554,7 @@ rmi_bus_space_write_multi_1(void *tag, b
 
 static void
 rmi_bus_space_write_multi_2(void *tag, bus_space_handle_t handle,
-			bus_size_t offset, const u_int16_t *addr, size_t count)
+    bus_size_t offset, const u_int16_t * addr, size_t count)
 {
 	mips_sync();
 	if ((int)tag != MIPS_BUS_SPACE_PCI)
@@ -531,7 +567,7 @@ rmi_bus_space_write_multi_2(void *tag, b
 
 static void
 rmi_bus_space_write_multi_4(void *tag, bus_space_handle_t handle,
-			bus_size_t offset, const u_int32_t *addr, size_t count)
+    bus_size_t offset, const u_int32_t * addr, size_t count)
 {
 	mips_sync();
 	if ((int)tag != MIPS_BUS_SPACE_PCI)
@@ -549,7 +585,7 @@ rmi_bus_space_write_multi_4(void *tag, b
 
 static void
 rmi_bus_space_set_region_2(void *t, bus_space_handle_t bsh,
-		       bus_size_t offset, u_int16_t value, size_t count)
+    bus_size_t offset, u_int16_t value, size_t count)
 {
 	bus_addr_t addr = bsh + offset;
 
@@ -559,7 +595,7 @@ rmi_bus_space_set_region_2(void *t, bus_
 
 static void
 rmi_bus_space_set_region_4(void *t, bus_space_handle_t bsh,
-		       bus_size_t offset, u_int32_t value, size_t count)
+    bus_size_t offset, u_int32_t value, size_t count)
 {
 	bus_addr_t addr = bsh + offset;
 
@@ -574,8 +610,8 @@ rmi_bus_space_set_region_4(void *t, bus_
  */
 static void
 rmi_bus_space_copy_region_2(void *t, bus_space_handle_t bsh1,
-			bus_size_t off1, bus_space_handle_t bsh2,
-			bus_size_t off2, size_t count)
+    bus_size_t off1, bus_space_handle_t bsh2,
+    bus_size_t off2, size_t count)
 {
 	printf("bus_space_copy_region_2 - unimplemented\n");
 }
@@ -596,23 +632,23 @@ rmi_bus_space_read_stream_1(void *t, bus
 
 static u_int16_t
 rmi_bus_space_read_stream_2(void *t, bus_space_handle_t handle,
-		 bus_size_t offset)
+    bus_size_t offset)
 {
-		return *(volatile u_int16_t *)(handle + offset);
+	return *(volatile u_int16_t *)(handle + offset);
 }
 
 
 static u_int32_t
 rmi_bus_space_read_stream_4(void *t, bus_space_handle_t handle,
-		 bus_size_t offset)
+    bus_size_t offset)
 {
-		return (*(volatile u_int32_t *)(handle + offset));
+	return (*(volatile u_int32_t *)(handle + offset));
 }
 
 
 static void
 rmi_bus_space_read_multi_stream_1(void *tag, bus_space_handle_t handle,
-		       bus_size_t offset, u_int8_t *addr, size_t count)
+    bus_size_t offset, u_int8_t * addr, size_t count)
 {
 
 	if ((int)tag != MIPS_BUS_SPACE_PCI)
@@ -625,7 +661,7 @@ rmi_bus_space_read_multi_stream_1(void *
 
 static void
 rmi_bus_space_read_multi_stream_2(void *tag, bus_space_handle_t handle,
-		       bus_size_t offset, u_int16_t *addr, size_t count)
+    bus_size_t offset, u_int16_t * addr, size_t count)
 {
 
 	if ((int)tag != MIPS_BUS_SPACE_PCI)
@@ -638,7 +674,7 @@ rmi_bus_space_read_multi_stream_2(void *
 
 static void
 rmi_bus_space_read_multi_stream_4(void *tag, bus_space_handle_t handle,
-		       bus_size_t offset, u_int32_t *addr, size_t count)
+    bus_size_t offset, u_int32_t * addr, size_t count)
 {
 
 	if ((int)tag != MIPS_BUS_SPACE_PCI)
@@ -658,7 +694,7 @@ rmi_bus_space_read_multi_stream_4(void *
  */
 void
 rmi_bus_space_read_region_1(void *t, bus_space_handle_t bsh,
-    bus_size_t offset, u_int8_t *addr, size_t count)
+    bus_size_t offset, u_int8_t * addr, size_t count)
 {
 	bus_addr_t baddr = bsh + offset;
 
@@ -670,7 +706,7 @@ rmi_bus_space_read_region_1(void *t, bus
 
 void
 rmi_bus_space_read_region_2(void *t, bus_space_handle_t bsh,
-    bus_size_t offset, u_int16_t *addr, size_t count)
+    bus_size_t offset, u_int16_t * addr, size_t count)
 {
 	bus_addr_t baddr = bsh + offset;
 
@@ -682,7 +718,7 @@ rmi_bus_space_read_region_2(void *t, bus
 
 void
 rmi_bus_space_read_region_4(void *t, bus_space_handle_t bsh,
-    bus_size_t offset, u_int32_t *addr, size_t count)
+    bus_size_t offset, u_int32_t * addr, size_t count)
 {
 	bus_addr_t baddr = bsh + offset;
 
@@ -704,7 +740,7 @@ rmi_bus_space_write_stream_1(void *t, bu
 
 static void
 rmi_bus_space_write_stream_2(void *t, bus_space_handle_t handle,
-		       bus_size_t offset, u_int16_t value)
+    bus_size_t offset, u_int16_t value)
 {
 	mips_sync();
 	*(volatile u_int16_t *)(handle + offset) = value;
@@ -713,7 +749,7 @@ rmi_bus_space_write_stream_2(void *t, bu
 
 static void
 rmi_bus_space_write_stream_4(void *t, bus_space_handle_t handle,
-		       bus_size_t offset, u_int32_t value)
+    bus_size_t offset, u_int32_t value)
 {
 	mips_sync();
 	*(volatile u_int32_t *)(handle + offset) = value;
@@ -722,7 +758,7 @@ rmi_bus_space_write_stream_4(void *t, bu
 
 static void
 rmi_bus_space_write_multi_stream_1(void *tag, bus_space_handle_t handle,
-			bus_size_t offset, const u_int8_t *addr, size_t count)
+    bus_size_t offset, const u_int8_t * addr, size_t count)
 {
 	mips_sync();
 	if ((int)tag != MIPS_BUS_SPACE_PCI)
@@ -735,7 +771,7 @@ rmi_bus_space_write_multi_stream_1(void 
 
 static void
 rmi_bus_space_write_multi_stream_2(void *tag, bus_space_handle_t handle,
-			bus_size_t offset, const u_int16_t *addr, size_t count)
+    bus_size_t offset, const u_int16_t * addr, size_t count)
 {
 	mips_sync();
 	if ((int)tag != MIPS_BUS_SPACE_PCI)
@@ -748,7 +784,7 @@ rmi_bus_space_write_multi_stream_2(void 
 
 static void
 rmi_bus_space_write_multi_stream_4(void *tag, bus_space_handle_t handle,
-			bus_size_t offset, const u_int32_t *addr, size_t count)
+    bus_size_t offset, const u_int32_t * addr, size_t count)
 {
 	mips_sync();
 	if ((int)tag != MIPS_BUS_SPACE_PCI)
@@ -761,12 +797,13 @@ rmi_bus_space_write_multi_stream_4(void 
 
 void
 rmi_bus_space_write_region_2(void *t,
-							 bus_space_handle_t bsh,
-							 bus_size_t offset,
-							 const u_int16_t *addr,
-							 size_t count)
+    bus_space_handle_t bsh,
+    bus_size_t offset,
+    const u_int16_t * addr,
+    size_t count)
 {
-	bus_addr_t baddr = (bus_addr_t)bsh + offset;
+	bus_addr_t baddr = (bus_addr_t) bsh + offset;
+
 	while (count--) {
 		(*(volatile u_int16_t *)(baddr)) = *addr;
 		addr++;
@@ -776,7 +813,7 @@ rmi_bus_space_write_region_2(void *t,
 
 void
 rmi_bus_space_write_region_4(void *t, bus_space_handle_t bsh,
-    bus_size_t offset, const u_int32_t *addr, size_t count)
+    bus_size_t offset, const u_int32_t * addr, size_t count)
 {
 	bus_addr_t baddr = bsh + offset;
 
@@ -789,7 +826,7 @@ rmi_bus_space_write_region_4(void *t, bu
 
 static void
 rmi_bus_space_barrier(void *tag __unused, bus_space_handle_t bsh __unused,
-		  bus_size_t offset __unused, bus_size_t len __unused, int flags)
+    bus_size_t offset __unused, bus_size_t len __unused, int flags)
 {
 
 }

From owner-svn-src-projects@FreeBSD.ORG  Thu Nov  5 18:15:47 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 EEC32106566C;
	Thu,  5 Nov 2009 18:15:47 +0000 (UTC) (envelope-from rrs@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id DE21B8FC0A;
	Thu,  5 Nov 2009 18:15:47 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA5IFlUY086556;
	Thu, 5 Nov 2009 18:15:47 GMT (envelope-from rrs@svn.freebsd.org)
Received: (from rrs@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA5IFlqr086554;
	Thu, 5 Nov 2009 18:15:47 GMT (envelope-from rrs@svn.freebsd.org)
Message-Id: <200911051815.nA5IFlqr086554@svn.freebsd.org>
From: Randall Stewart <rrs@FreeBSD.org>
Date: Thu, 5 Nov 2009 18:15: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: r198958 - projects/mips/sys/mips/include
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Nov 2009 18:15:48 -0000

Author: rrs
Date: Thu Nov  5 18:15:47 2009
New Revision: 198958
URL: http://svn.freebsd.org/changeset/base/198958

Log:
  For XLR adds extern for its bus space routines

Modified:
  projects/mips/sys/mips/include/bus.h

Modified: projects/mips/sys/mips/include/bus.h
==============================================================================
--- projects/mips/sys/mips/include/bus.h	Thu Nov  5 18:15:16 2009	(r198957)
+++ projects/mips/sys/mips/include/bus.h	Thu Nov  5 18:15:47 2009	(r198958)
@@ -718,6 +718,11 @@ void	__bs_c(f,_bs_c_8) (void *t, bus_spa
  */
 DECLARE_BUS_SPACE_PROTOTYPES(generic);
 extern bus_space_tag_t mips_bus_space_generic;
+/* Special bus space for RMI processors */
+#ifdef TARGET_XLR_XLS
+extern bus_space_tag_t rmi_bus_space;
+#endif
+
 #include <machine/bus_dma.h>
 
 #endif /* _MACHINE_BUS_H_ */

From owner-svn-src-projects@FreeBSD.ORG  Fri Nov  6 06:50:46 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 ACEBB1065670;
	Fri,  6 Nov 2009 06:50:46 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 81C4E8FC17;
	Fri,  6 Nov 2009 06:50:46 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA66okEA005781;
	Fri, 6 Nov 2009 06:50:46 GMT (envelope-from gonzo@svn.freebsd.org)
Received: (from gonzo@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA66okse005778;
	Fri, 6 Nov 2009 06:50:46 GMT (envelope-from gonzo@svn.freebsd.org)
Message-Id: <200911060650.nA66okse005778@svn.freebsd.org>
From: Oleksandr Tymoshenko <gonzo@FreeBSD.org>
Date: Fri, 6 Nov 2009 06:50:46 +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: r198970 - projects/mips/sys/mips/atheros
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Nov 2009 06:50:46 -0000

Author: gonzo
Date: Fri Nov  6 06:50:45 2009
New Revision: 198970
URL: http://svn.freebsd.org/changeset/base/198970

Log:
  - Fix initialization of PLL registers (different shifts for
      arge0/arge1)
  - Use base MAC address to generate MACs for arge1 and above

Modified:
  projects/mips/sys/mips/atheros/if_arge.c
  projects/mips/sys/mips/atheros/if_argevar.h

Modified: projects/mips/sys/mips/atheros/if_arge.c
==============================================================================
--- projects/mips/sys/mips/atheros/if_arge.c	Fri Nov  6 06:50:45 2009	(r198969)
+++ projects/mips/sys/mips/atheros/if_arge.c	Fri Nov  6 06:50:45 2009	(r198970)
@@ -205,9 +205,11 @@ arge_attach(device_t dev)
 	if (sc->arge_mac_unit == 0) {
 		sc->arge_ddr_flush_reg = AR71XX_WB_FLUSH_GE0;
 		sc->arge_pll_reg = AR71XX_PLL_ETH_INT0_CLK;
+		sc->arge_pll_reg_shift = 17;
 	} else {
 		sc->arge_ddr_flush_reg = AR71XX_WB_FLUSH_GE1;
 		sc->arge_pll_reg = AR71XX_PLL_ETH_INT1_CLK;
+		sc->arge_pll_reg_shift = 19;
 	}
 
 	/*
@@ -229,7 +231,6 @@ arge_attach(device_t dev)
 
 	sc->arge_phy_num = phynum;
 
-
 	mtx_init(&sc->arge_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK,
 	    MTX_DEF);
 	callout_init_mtx(&sc->arge_stat_callout, &sc->arge_mtx, 0);
@@ -308,6 +309,9 @@ arge_attach(device_t dev)
 		eaddr[5] = (rnd >> 8) & 0xff;
 	}
 
+	if (sc->arge_mac_unit != 0)
+		eaddr[5] +=  sc->arge_mac_unit;
+
 	if (arge_dma_alloc(sc) != 0) {
 		error = ENXIO;
 		goto fail;
@@ -617,20 +621,20 @@ arge_link_task(void *arg, int pending)
 
 			/* set PLL registers */
 			sec_cfg = ATH_READ_REG(AR71XX_PLL_CPU_CONFIG);
-			sec_cfg &= ~(3 << 17);
-			sec_cfg |= (2 << 17);
+			sec_cfg &= ~(3 << sc->arge_pll_reg_shift);
+			sec_cfg |= (2 << sc->arge_pll_reg_shift);
 
-			ATH_WRITE_REG(AR71XX_PLL_CPU_CONFIG, sec_cfg);
+			ATH_WRITE_REG(AR71XX_PLL_SEC_CONFIG, sec_cfg);
 			DELAY(100);
 
 			ATH_WRITE_REG(sc->arge_pll_reg, pll);
 
-			sec_cfg |= (3 << 17);
-			ATH_WRITE_REG(AR71XX_PLL_CPU_CONFIG, sec_cfg);
+			sec_cfg |= (3 << sc->arge_pll_reg_shift);
+			ATH_WRITE_REG(AR71XX_PLL_SEC_CONFIG, sec_cfg);
 			DELAY(100);
 
-			sec_cfg &= ~(3 << 17);
-			ATH_WRITE_REG(AR71XX_PLL_CPU_CONFIG, sec_cfg);
+			sec_cfg &= ~(3 << sc->arge_pll_reg_shift);
+			ATH_WRITE_REG(AR71XX_PLL_SEC_CONFIG, sec_cfg);
 			DELAY(100);
 		}
 	} else

Modified: projects/mips/sys/mips/atheros/if_argevar.h
==============================================================================
--- projects/mips/sys/mips/atheros/if_argevar.h	Fri Nov  6 06:50:45 2009	(r198969)
+++ projects/mips/sys/mips/atheros/if_argevar.h	Fri Nov  6 06:50:45 2009	(r198970)
@@ -133,6 +133,7 @@ struct arge_softc {
 	int			arge_phy_num;
 	uint32_t		arge_ddr_flush_reg;
 	uint32_t		arge_pll_reg;
+	uint32_t		arge_pll_reg_shift;
 	int			arge_if_flags;
 };
 

From owner-svn-src-projects@FreeBSD.ORG  Fri Nov  6 12:52:52 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 1E889106566C;
	Fri,  6 Nov 2009 12:52:52 +0000 (UTC) (envelope-from rrs@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 0DC5D8FC17;
	Fri,  6 Nov 2009 12:52:52 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA6CqpYP017223;
	Fri, 6 Nov 2009 12:52:51 GMT (envelope-from rrs@svn.freebsd.org)
Received: (from rrs@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA6Cqpgo017217;
	Fri, 6 Nov 2009 12:52:51 GMT (envelope-from rrs@svn.freebsd.org)
Message-Id: <200911061252.nA6Cqpgo017217@svn.freebsd.org>
From: Randall Stewart <rrs@FreeBSD.org>
Date: Fri, 6 Nov 2009 12:52:51 +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: r198985 - in projects/mips/sys/mips: conf rmi
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Nov 2009 12:52:52 -0000

Author: rrs
Date: Fri Nov  6 12:52:51 2009
New Revision: 198985
URL: http://svn.freebsd.org/changeset/base/198985

Log:
  Ok With this commit we actually get through
  the mi_startup (or to the last of it).. and
  hit a panic after :
  
  uart0: <16550 or compatible> on iodi0
  Trap cause = 2 (TLB miss....)
  
  I did have to take the pci bus OUT of the
  build to get this far, hit a cache error with
  the PCI code in. Interesting thing is the machine
  reboots too ;-)

Modified:
  projects/mips/sys/mips/conf/XLR
  projects/mips/sys/mips/rmi/bus_space_rmi.c
  projects/mips/sys/mips/rmi/clock.c
  projects/mips/sys/mips/rmi/files.xlr
  projects/mips/sys/mips/rmi/xlr_machdep.c

Modified: projects/mips/sys/mips/conf/XLR
==============================================================================
--- projects/mips/sys/mips/conf/XLR	Fri Nov  6 11:29:10 2009	(r198984)
+++ projects/mips/sys/mips/conf/XLR	Fri Nov  6 12:52:51 2009	(r198985)
@@ -61,6 +61,7 @@ makeoptions	DEBUG=-g		# Build kernel wit
 #profile		2
 
 #options 	SCHED_ULE		# ULE scheduler
+options		VERBOSE_SYSINIT
 options 	SCHED_4BSD		# 4BSD scheduler
 #options 	PREEMPTION		# Enable kernel thread preemption
 #options 	FULL_PREEMPTION		# Enable kernel thread preemption

Modified: projects/mips/sys/mips/rmi/bus_space_rmi.c
==============================================================================
--- projects/mips/sys/mips/rmi/bus_space_rmi.c	Fri Nov  6 11:29:10 2009	(r198984)
+++ projects/mips/sys/mips/rmi/bus_space_rmi.c	Fri Nov  6 12:52:51 2009	(r198985)
@@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$");
 
 #include <machine/bus.h>
 #include <machine/cache.h>
-void xlr_putc(char);
 void xlr_print_int(uint32_t);
 
 static int 

Modified: projects/mips/sys/mips/rmi/clock.c
==============================================================================
--- projects/mips/sys/mips/rmi/clock.c	Fri Nov  6 11:29:10 2009	(r198984)
+++ projects/mips/sys/mips/rmi/clock.c	Fri Nov  6 12:52:51 2009	(r198985)
@@ -179,6 +179,7 @@ rmi_early_counter_init()
 	pic_update_control(1 << (8 + 6));
 }
 
+void tick_init(void);
 
 void
 platform_initclocks(void)
@@ -246,6 +247,7 @@ platform_initclocks(void)
 		/* Setup count-compare interrupt for vcpu[1-31] */
 		mips_wr_compare((xlr_boot1_info.cpu_frequency) / hz);
 	}
+	tick_init();
 }
 
 unsigned 

Modified: projects/mips/sys/mips/rmi/files.xlr
==============================================================================
--- projects/mips/sys/mips/rmi/files.xlr	Fri Nov  6 11:29:10 2009	(r198984)
+++ projects/mips/sys/mips/rmi/files.xlr	Fri Nov  6 12:52:51 2009	(r198985)
@@ -14,8 +14,8 @@ mips/rmi/uart_bus_xlr_iodi.c			optional 
 mips/rmi/uart_cpu_mips_xlr.c			optional uart 
 mips/rmi/perfmon_kern.c				optional xlr_perfmon
 mips/rmi/perfmon_percpu.c			optional xlr_perfmon
-mips/rmi/pcibus.c				optional pci
-mips/rmi/xlr_pci.c				optional pci
+#mips/rmi/pcibus.c				optional pci
+#mips/rmi/xlr_pci.c				optional pci
 #mips/rmi/xls_ehci.c				optional usb ehci
 dev/rmi/xlr/rge.c				optional rge
 mips/rmi/bus_space_rmi.c			standard

Modified: projects/mips/sys/mips/rmi/xlr_machdep.c
==============================================================================
--- projects/mips/sys/mips/rmi/xlr_machdep.c	Fri Nov  6 11:29:10 2009	(r198984)
+++ projects/mips/sys/mips/rmi/xlr_machdep.c	Fri Nov  6 12:52:51 2009	(r198985)
@@ -368,48 +368,6 @@ mips_init(void)
 #endif
 }
 
-void (*xlr_putchar)(char)=NULL;
-
-static void
-xlr_putc_init(void)
-{
-	uint32_t addr;
-	addr = (uint32_t)(xlr_boot1_info.uart_putchar & 0x00000000ffffffff);
-	xlr_putchar = (void (*)(char))(addr);
-}
-
-void xlr_putc(char);
-void xlr_print_int(uint32_t val);
-
-void
-xlr_putc(char c)
-{
-	(*xlr_putchar)(c);
-	DELAY(1000);
-}
-
-void
-xlr_print_int(uint32_t val)
-{
-  int i;
-  int idx;
-  char ary[16] = {
-	'0', '1', '2', '3',
-	'4', '5', '6', '7',
-	'8', '9', 'a', 'b',
-	'c', 'd', 'e', 'f'
-  };
-  xlr_putc('0');
-  xlr_putc('x');
-  for(i=7;i>=0;i--) {
-	idx = (val >> (i*4)) & 0x0000000f;
-	xlr_putc(ary[idx]);
-  }
-  xlr_putc(' ');
-  xlr_putc(015);
-  xlr_putc(012);
-}
-void tick_init(void);
 void
 platform_start(__register_t a0 __unused,
     __register_t a1 __unused,
@@ -454,7 +412,6 @@ platform_start(__register_t a0 __unused,
 	mips_timer_early_init(platform_get_frequency());
 
 	/* Init the time counter in the PIC and local putc routine*/
-	xlr_putc_init();
 	rmi_early_counter_init();
 	
 	/* Init console please */
@@ -526,7 +483,6 @@ platform_start(__register_t a0 __unused,
 
 	/* Set up hz, among others. */
 	mips_init();
-	pcpup = (struct pcpu *)NULL;	/* TODO To be removed */
 
 #ifdef SMP
 	/*
@@ -583,13 +539,10 @@ platform_start(__register_t a0 __unused,
 	 * mips_init() XXX NOTE: We may need to move this to SMP based init
 	 * code for each CPU, later.
 	 */
-	printf("Here\n");
 	rmi_spin_mutex_safe = 1;
 	on_chip_init();
-	printf("there\n");
 	mips_timer_init_params(platform_get_frequency(), 0);
-	printf("ok\n");
-	tick_init();
+	printf("Platform specific startup now completes\n");
 }
 
 void

From owner-svn-src-projects@FreeBSD.ORG  Fri Nov  6 21:53:39 2009
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
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 023F5106566B;
	Fri,  6 Nov 2009 21:53:39 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id E63018FC15;
	Fri,  6 Nov 2009 21:53:38 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA6Lrcvx029504;
	Fri, 6 Nov 2009 21:53:38 GMT (envelope-from gonzo@svn.freebsd.org)
Received: (from gonzo@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA6Lrcrq029502;
	Fri, 6 Nov 2009 21:53:38 GMT (envelope-from gonzo@svn.freebsd.org)
Message-Id: <200911062153.nA6Lrcrq029502@svn.freebsd.org>
From: Oleksandr Tymoshenko <gonzo@FreeBSD.org>
Date: Fri, 6 Nov 2009 21:53:38 +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: r199005 - projects/mips/sys/mips/atheros
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Nov 2009 21:53:39 -0000

Author: gonzo
Date: Fri Nov  6 21:53:38 2009
New Revision: 199005
URL: http://svn.freebsd.org/changeset/base/199005

Log:
  - Fix: Wrong register is used for initial value reading

Modified:
  projects/mips/sys/mips/atheros/if_arge.c

Modified: projects/mips/sys/mips/atheros/if_arge.c
==============================================================================
--- projects/mips/sys/mips/atheros/if_arge.c	Fri Nov  6 20:33:53 2009	(r199004)
+++ projects/mips/sys/mips/atheros/if_arge.c	Fri Nov  6 21:53:38 2009	(r199005)
@@ -620,7 +620,7 @@ arge_link_task(void *arg, int pending)
 			    rx_filtmask);
 
 			/* set PLL registers */
-			sec_cfg = ATH_READ_REG(AR71XX_PLL_CPU_CONFIG);
+			sec_cfg = ATH_READ_REG(AR71XX_PLL_SEC_CONFIG);
 			sec_cfg &= ~(3 << sc->arge_pll_reg_shift);
 			sec_cfg |= (2 << sc->arge_pll_reg_shift);