From owner-svn-src-projects@FreeBSD.ORG Sun Mar 14 00:32:19 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id 158BD106564A;
Sun, 14 Mar 2010 00:32:19 +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 053418FC19;
Sun, 14 Mar 2010 00:32:19 +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 o2E0WIJo080339;
Sun, 14 Mar 2010 00:32:18 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2E0WIN0080337;
Sun, 14 Mar 2010 00:32:18 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201003140032.o2E0WIN0080337@svn.freebsd.org>
From: Nathan Whitehorn
Date: Sun, 14 Mar 2010 00:32:18 +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: r205139 - 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 " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Sun, 14 Mar 2010 00:32:19 -0000
Author: nwhitehorn
Date: Sun Mar 14 00:32:18 2010
New Revision: 205139
URL: http://svn.freebsd.org/changeset/base/205139
Log:
Don't spill existing SLB entries. We can't handle this yet, and it results
in randomly demapping bits of the kernel. Which is bad.
Reported by: Andreas Tobler
Modified:
projects/ppc64/sys/powerpc/aim/slb.c
Modified: projects/ppc64/sys/powerpc/aim/slb.c
==============================================================================
--- projects/ppc64/sys/powerpc/aim/slb.c Sat Mar 13 22:53:17 2010 (r205138)
+++ projects/ppc64/sys/powerpc/aim/slb.c Sun Mar 14 00:32:18 2010 (r205139)
@@ -91,12 +91,16 @@ allocate_vsid(pmap_t pm, uint64_t esid)
return (vsid);
}
+#ifdef NOTYET /* We don't have a back-up list. Spills are a bad idea. */
/* Lock entries mapping kernel text and stacks */
#define SLB_SPILLABLE(slbe) \
(((slbe & SLBE_ESID_MASK) < VM_MIN_KERNEL_ADDRESS && \
(slbe & SLBE_ESID_MASK) > SEGMENT_LENGTH) || \
(slbe & SLBE_ESID_MASK) > VM_MAX_KERNEL_ADDRESS)
+#else
+#define SLB_SPILLABLE(slbe) 0
+#endif
void
slb_spill(pmap_t pm, uint64_t esid, uint64_t vsid)
From owner-svn-src-projects@FreeBSD.ORG Sun Mar 14 02:45:45 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id C5298106566B;
Sun, 14 Mar 2010 02:45:45 +0000 (UTC)
(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
by mx1.freebsd.org (Postfix) with ESMTP id 9B7108FC12;
Sun, 14 Mar 2010 02:45:45 +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 o2E2jj2L009657;
Sun, 14 Mar 2010 02:45:45 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2E2jj4H009656;
Sun, 14 Mar 2010 02:45:45 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201003140245.o2E2jj4H009656@svn.freebsd.org>
From: Marcel Moolenaar
Date: Sun, 14 Mar 2010 02:45:45 +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: r205142 - projects/altix/lib
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Sun, 14 Mar 2010 02:45:45 -0000
Author: marcel
Date: Sun Mar 14 02:45:45 2010
New Revision: 205142
URL: http://svn.freebsd.org/changeset/base/205142
Log:
Pull-in libstand as well...
Added:
projects/altix/lib/
- copied from r205141, head/lib/libstand/
Directory Properties:
projects/altix/lib/libstand/ (props changed)
From owner-svn-src-projects@FreeBSD.ORG Sun Mar 14 02:50:25 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id 24933106566C;
Sun, 14 Mar 2010 02:50:25 +0000 (UTC)
(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
by mx1.freebsd.org (Postfix) with ESMTP id 14E738FC13;
Sun, 14 Mar 2010 02:50: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 o2E2oOVe010772;
Sun, 14 Mar 2010 02:50:24 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2E2oOTs010770;
Sun, 14 Mar 2010 02:50:24 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201003140250.o2E2oOTs010770@svn.freebsd.org>
From: Marcel Moolenaar
Date: Sun, 14 Mar 2010 02:50: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: r205143 - projects/altix/sys/boot/common
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Sun, 14 Mar 2010 02:50:25 -0000
Author: marcel
Date: Sun Mar 14 02:50:24 2010
New Revision: 205143
URL: http://svn.freebsd.org/changeset/base/205143
Log:
Include load_elf64_obj.c on ia64. This adds the fundamental support
for ET_REL objects.
Modified:
projects/altix/sys/boot/common/Makefile.inc
Modified: projects/altix/sys/boot/common/Makefile.inc
==============================================================================
--- projects/altix/sys/boot/common/Makefile.inc Sun Mar 14 02:45:45 2010 (r205142)
+++ projects/altix/sys/boot/common/Makefile.inc Sun Mar 14 02:50:24 2010 (r205143)
@@ -7,11 +7,13 @@ SRCS+= module.c panic.c
.if ${MACHINE} == "i386" || ${MACHINE_ARCH} == "amd64"
SRCS+= load_elf32.c load_elf32_obj.c reloc_elf32.c
SRCS+= load_elf64.c load_elf64_obj.c reloc_elf64.c
+.elif ${MACHINE} == "ia64"
+SRCS+= load_elf64.c load_elf64_obj.c reloc_elf64.c
.elif ${MACHINE} == "pc98"
SRCS+= load_elf32.c load_elf32_obj.c reloc_elf32.c
.elif ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "arm"
SRCS+= load_elf32.c reloc_elf32.c
-.elif ${MACHINE_ARCH} == "sparc64" || ${MACHINE_ARCH} == "ia64"
+.elif ${MACHINE_ARCH} == "sparc64"
SRCS+= load_elf64.c reloc_elf64.c
.endif
From owner-svn-src-projects@FreeBSD.ORG Sun Mar 14 02:54:37 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id 0A5B8106564A;
Sun, 14 Mar 2010 02:54:37 +0000 (UTC)
(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
by mx1.freebsd.org (Postfix) with ESMTP id EEED98FC0A;
Sun, 14 Mar 2010 02:54: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 o2E2sa7L011721;
Sun, 14 Mar 2010 02:54:36 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2E2sajL011719;
Sun, 14 Mar 2010 02:54:36 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201003140254.o2E2sajL011719@svn.freebsd.org>
From: Marcel Moolenaar
Date: Sun, 14 Mar 2010 02:54: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: r205144 - projects/altix/sys/conf
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Sun, 14 Mar 2010 02:54:37 -0000
Author: marcel
Date: Sun Mar 14 02:54:36 2010
New Revision: 205144
URL: http://svn.freebsd.org/changeset/base/205144
Log:
Add link_elf_obj.c for support of ET_REL objects.
Modified:
projects/altix/sys/conf/files.ia64
Modified: projects/altix/sys/conf/files.ia64
==============================================================================
--- projects/altix/sys/conf/files.ia64 Sun Mar 14 02:50:24 2010 (r205143)
+++ projects/altix/sys/conf/files.ia64 Sun Mar 14 02:54:36 2010 (r205144)
@@ -118,6 +118,7 @@ ia64/pci/pci_cfgreg.c optional pci
isa/syscons_isa.c optional sc
isa/vga_isa.c optional vga
kern/imgact_elf32.c optional compat_ia32
+kern/link_elf_obj.c standard
libkern/bcmp.c standard
libkern/ffsl.c standard
libkern/fls.c standard
From owner-svn-src-projects@FreeBSD.ORG Sun Mar 14 21:14:25 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id C1710106567C;
Sun, 14 Mar 2010 21:14:25 +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 AEBD08FC14;
Sun, 14 Mar 2010 21: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 o2ELEPO3056282;
Sun, 14 Mar 2010 21:14:25 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2ELEP1l056276;
Sun, 14 Mar 2010 21:14:25 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201003142114.o2ELEP1l056276@svn.freebsd.org>
From: Nathan Whitehorn
Date: Sun, 14 Mar 2010 21: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: r205159 - in projects/ppc64/sys/powerpc: aim include
powerpc
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Sun, 14 Mar 2010 21:14:25 -0000
Author: nwhitehorn
Date: Sun Mar 14 21:14:25 2010
New Revision: 205159
URL: http://svn.freebsd.org/changeset/base/205159
Log:
Use a large-page-mapped direct mapped region on powerpc64 if possible.
This is a fairly sweeping change and has doubtless broken many things,
but this should be the last major change to the MMU code.
Modified:
projects/ppc64/sys/powerpc/aim/mmu_oea64.c
projects/ppc64/sys/powerpc/aim/slb.c
projects/ppc64/sys/powerpc/aim/trap.c
projects/ppc64/sys/powerpc/include/pmap.h
projects/ppc64/sys/powerpc/powerpc/bus_machdep.c
Modified: projects/ppc64/sys/powerpc/aim/mmu_oea64.c
==============================================================================
--- projects/ppc64/sys/powerpc/aim/mmu_oea64.c Sun Mar 14 19:04:42 2010 (r205158)
+++ projects/ppc64/sys/powerpc/aim/mmu_oea64.c Sun Mar 14 21:14:25 2010 (r205159)
@@ -247,6 +247,7 @@ TLBIE(pmap_t pmap, vm_offset_t va) {
#define PVO_BOOTSTRAP 0x080UL /* PVO entry allocated during
bootstrap */
#define PVO_FAKE 0x100UL /* fictitious phys page */
+#define PVO_LARGE 0x200UL /* large page */
#define PVO_VADDR(pvo) ((pvo)->pvo_vaddr & ~ADDR_POFF)
#define PVO_ISFAKE(pvo) ((pvo)->pvo_vaddr & PVO_FAKE)
#define PVO_PTEGIDX_GET(pvo) ((pvo)->pvo_vaddr & PVO_PTEGIDX_MASK)
@@ -348,6 +349,10 @@ vm_offset_t moea64_scratchpage_va[2];
struct lpte *moea64_scratchpage_pte[2];
struct mtx moea64_scratchpage_mtx;
+uint64_t moea64_large_page_mask = 0;
+int moea64_large_page_size = 0;
+int moea64_large_page_shift = 0;
+
/*
* Allocate physical memory for use in moea64_bootstrap.
*/
@@ -370,9 +375,9 @@ static struct lpte *moea64_pvo_to_pte(co
/*
* Utility routines.
*/
-static void moea64_bridge_bootstrap(mmu_t mmup,
+static void moea64_bootstrap(mmu_t mmup,
vm_offset_t kernelstart, vm_offset_t kernelend);
-static void moea64_bridge_cpu_bootstrap(mmu_t, int ap);
+static void moea64_cpu_bootstrap(mmu_t, int ap);
static void moea64_enter_locked(pmap_t, vm_offset_t, vm_page_t,
vm_prot_t, boolean_t);
static boolean_t moea64_query_bit(vm_page_t, u_int64_t);
@@ -425,7 +430,7 @@ void moea64_kenter(mmu_t, vm_offset_t, v
boolean_t moea64_dev_direct_mapped(mmu_t, vm_offset_t, vm_size_t);
static void moea64_sync_icache(mmu_t, pmap_t, vm_offset_t, vm_size_t);
-static mmu_method_t moea64_bridge_methods[] = {
+static mmu_method_t moea64_methods[] = {
MMUMETHOD(mmu_change_wiring, moea64_change_wiring),
MMUMETHOD(mmu_clear_modify, moea64_clear_modify),
MMUMETHOD(mmu_clear_reference, moea64_clear_reference),
@@ -458,8 +463,8 @@ static mmu_method_t moea64_bridge_method
MMUMETHOD(mmu_deactivate, moea64_deactivate),
/* Internal interfaces */
- MMUMETHOD(mmu_bootstrap, moea64_bridge_bootstrap),
- MMUMETHOD(mmu_cpu_bootstrap, moea64_bridge_cpu_bootstrap),
+ MMUMETHOD(mmu_bootstrap, moea64_bootstrap),
+ MMUMETHOD(mmu_cpu_bootstrap, moea64_cpu_bootstrap),
MMUMETHOD(mmu_mapdev, moea64_mapdev),
MMUMETHOD(mmu_unmapdev, moea64_unmapdev),
MMUMETHOD(mmu_kextract, moea64_kextract),
@@ -469,20 +474,22 @@ static mmu_method_t moea64_bridge_method
{ 0, 0 }
};
-static mmu_def_t oea64_bridge_mmu = {
+static mmu_def_t oea64_mmu = {
MMU_TYPE_G5,
- moea64_bridge_methods,
+ moea64_methods,
0
};
-MMU_DEF(oea64_bridge_mmu);
+MMU_DEF(oea64_mmu);
static __inline u_int
-va_to_pteg(uint64_t vsid, vm_offset_t addr)
+va_to_pteg(uint64_t vsid, vm_offset_t addr, int large)
{
uint64_t hash;
+ int shift;
+ shift = large ? moea64_large_page_shift : ADDR_PIDX_SHFT;
hash = (vsid & VSID_HASH_MASK) ^ (((uint64_t)addr & ADDR_PIDX) >>
- ADDR_PIDX_SHFT);
+ shift);
return (hash & moea64_pteg_mask);
}
@@ -534,8 +541,9 @@ moea64_attr_save(vm_page_t m, u_int64_t
static __inline void
moea64_pte_create(struct lpte *pt, uint64_t vsid, vm_offset_t va,
- uint64_t pte_lo)
+ uint64_t pte_lo, int flags)
{
+
ASSERT_TABLE_LOCK();
/*
@@ -547,6 +555,9 @@ moea64_pte_create(struct lpte *pt, uint6
pt->pte_hi = (vsid << LPTE_VSID_SHIFT) |
(((uint64_t)(va & ADDR_PIDX) >> ADDR_API_SHFT64) & LPTE_API);
+ if (flags & PVO_LARGE)
+ pt->pte_hi |= LPTE_BIG;
+
pt->pte_lo = pte_lo;
}
@@ -693,7 +704,7 @@ om_cmp(const void *a, const void *b)
}
static void
-moea64_bridge_cpu_bootstrap(mmu_t mmup, int ap)
+moea64_cpu_bootstrap(mmu_t mmup, int ap)
{
int i = 0;
@@ -781,7 +792,86 @@ moea64_add_ofw_mappings(mmu_t mmup, phan
}
static void
-moea64_bridge_bootstrap(mmu_t mmup, vm_offset_t kernelstart, vm_offset_t kernelend)
+moea64_probe_large_page(void)
+{
+ uint16_t pvr = mfpvr() >> 16;
+
+ switch (pvr) {
+ case IBM970:
+ case IBM970FX:
+ case IBM970MP:
+ case IBMCELLBE:
+ moea64_large_page_size = 0x1000000; /* 16 MB */
+ moea64_large_page_shift = 24;
+ break;
+ default:
+ moea64_large_page_size = 0;
+ }
+
+ moea64_large_page_mask = moea64_large_page_size - 1;
+}
+
+static void
+moea64_setup_direct_map(mmu_t mmup, vm_offset_t kernelstart,
+ vm_offset_t kernelend)
+{
+ register_t msr;
+ vm_paddr_t pa;
+ vm_offset_t size, off;
+ int i;
+
+ if (moea64_large_page_size == 0)
+ hw_direct_map = 0;
+
+ DISABLE_TRANS(msr);
+ if (hw_direct_map) {
+ PMAP_LOCK(kernel_pmap);
+ for (i = 0; i < pregions_sz; i++) {
+ for (pa = pregions[i].mr_start & ~moea64_large_page_mask;
+ pa < (pregions[i].mr_start + pregions[i].mr_size);
+ pa += moea64_large_page_size) {
+ if (va_to_slb_entry(kernel_pmap, pa) == NULL)
+ allocate_vsid(kernel_pmap, pa, 1 /* large */);
+
+ moea64_pvo_enter(kernel_pmap, moea64_upvo_zone,
+ &moea64_pvo_kunmanaged, pa, pa,
+ LPTE_M, PVO_WIRED | PVO_LARGE |
+ VM_PROT_EXECUTE);
+ }
+ }
+ PMAP_UNLOCK(kernel_pmap);
+ } else {
+ size = moea64_pteg_count * sizeof(struct lpteg);
+ off = (vm_offset_t)(moea64_pteg_table);
+ for (pa = off; pa < off + size; pa += PAGE_SIZE)
+ moea64_kenter(mmup, pa, pa);
+ size = sizeof(struct pvo_head) * moea64_pteg_count;
+ off = (vm_offset_t)(moea64_pvo_table);
+ for (pa = off; pa < off + size; pa += PAGE_SIZE)
+ moea64_kenter(mmup, pa, pa);
+ size = BPVO_POOL_SIZE*sizeof(struct pvo_entry);
+ off = (vm_offset_t)(moea64_bpvo_pool);
+ for (pa = off; pa < off + size; pa += PAGE_SIZE)
+ moea64_kenter(mmup, pa, pa);
+
+ /*
+ * Map certain important things, like ourselves.
+ *
+ * NOTE: We do not map the exception vector space. That code is
+ * used only in real mode, and leaving it unmapped allows us to
+ * catch NULL pointer deferences, instead of making NULL a valid
+ * address.
+ */
+
+ for (pa = kernelstart & ~PAGE_MASK; pa < kernelend;
+ pa += PAGE_SIZE)
+ moea64_kenter(mmup, pa, pa);
+ }
+ ENABLE_TRANS(msr);
+}
+
+static void
+moea64_bootstrap(mmu_t mmup, vm_offset_t kernelstart, vm_offset_t kernelend)
{
ihandle_t mmui;
phandle_t chosen;
@@ -789,19 +879,27 @@ moea64_bridge_bootstrap(mmu_t mmup, vm_o
size_t sz;
int i, j;
vm_size_t size, physsz, hwphyssz;
- vm_offset_t pa, va, off;
+ vm_offset_t pa, va;
register_t msr;
void *dpcpu;
+#ifndef __powerpc64__
/* We don't have a direct map since there is no BAT */
hw_direct_map = 0;
-#ifndef __powerpc64__
/* Make sure battable is zero, since we have no BAT */
for (i = 0; i < 16; i++) {
battable[i].batu = 0;
battable[i].batl = 0;
}
+#else
+ moea64_probe_large_page();
+
+ /* Use a direct map if we have large page support */
+ if (moea64_large_page_size > 0)
+ hw_direct_map = 1;
+ else
+ hw_direct_map = 0;
#endif
/* Get physical memory regions from firmware */
@@ -950,10 +1048,6 @@ moea64_bridge_bootstrap(mmu_t mmup, vm_o
kernel_pmap->pm_slb[i].slbv = 0;
kernel_pmap->pm_slb[i].slbe = 0;
}
- /* prefault some bits */
- (void)va_to_vsid(kernel_pmap, VM_MAX_KERNEL_ADDRESS);
- (void)va_to_vsid(kernel_pmap, VM_MIN_KERNEL_ADDRESS);
- (void)va_to_vsid(kernel_pmap, kernelstart);
#else
for (i = 0; i < 16; i++)
kernel_pmap->pm_sr[i] = EMPTY_SEGMENT + i;
@@ -968,39 +1062,14 @@ moea64_bridge_bootstrap(mmu_t mmup, vm_o
* Now map in all the other buffers we allocated earlier
*/
- DISABLE_TRANS(msr);
- size = moea64_pteg_count * sizeof(struct lpteg);
- off = (vm_offset_t)(moea64_pteg_table);
- for (pa = off; pa < off + size; pa += PAGE_SIZE)
- moea64_kenter(mmup, pa, pa);
- size = sizeof(struct pvo_head) * moea64_pteg_count;
- off = (vm_offset_t)(moea64_pvo_table);
- for (pa = off; pa < off + size; pa += PAGE_SIZE)
- moea64_kenter(mmup, pa, pa);
- size = BPVO_POOL_SIZE*sizeof(struct pvo_entry);
- off = (vm_offset_t)(moea64_bpvo_pool);
- for (pa = off; pa < off + size; pa += PAGE_SIZE)
- moea64_kenter(mmup, pa, pa);
+ moea64_setup_direct_map(mmup, kernelstart, kernelend);
/*
- * Map certain important things, like ourselves.
- *
- * NOTE: We do not map the exception vector space. That code is
- * used only in real mode, and leaving it unmapped allows us to
- * catch NULL pointer deferences, instead of making NULL a valid
- * address.
+ * Set up the Open Firmware pmap and add its mappings if not in real
+ * mode.
*/
- for (pa = kernelstart & ~PAGE_MASK; pa < kernelend; pa += PAGE_SIZE)
- moea64_kenter(mmup, pa, pa);
- ENABLE_TRANS(msr);
-
-
if (!ofw_real_mode) {
- /*
- * Set up the Open Firmware pmap and add its mappings.
- */
-
moea64_pinit(mmup, &ofw_pmap);
#ifndef __powerpc64__
@@ -1036,7 +1105,7 @@ moea64_bridge_bootstrap(mmu_t mmup, vm_o
/*
* Initialize MMU and remap early physical mappings
*/
- moea64_bridge_cpu_bootstrap(mmup,0);
+ moea64_cpu_bootstrap(mmup,0);
mtmsr(mfmsr() | PSL_DR | PSL_IR); isync();
pmap_bootstrapped++;
bs_remap_earlyboot();
@@ -1070,31 +1139,35 @@ moea64_bridge_bootstrap(mmu_t mmup, vm_o
* from even knowing that this hack exists.
*/
- mtx_init(&moea64_scratchpage_mtx, "pvo zero page", NULL, MTX_DEF);
- for (i = 0; i < 2; i++) {
- struct lpte pt;
- uint64_t vsid;
- int pteidx, ptegidx;
-
- moea64_scratchpage_va[i] = (virtual_end+1) - PAGE_SIZE;
- virtual_end -= PAGE_SIZE;
-
- LOCK_TABLE();
-
- vsid = va_to_vsid(kernel_pmap, moea64_scratchpage_va[i]);
- moea64_pte_create(&pt, vsid, moea64_scratchpage_va[i],
- LPTE_NOEXEC);
- pt.pte_hi |= LPTE_LOCKED;
-
- ptegidx = va_to_pteg(vsid, moea64_scratchpage_va[i]);
- pteidx = moea64_pte_insert(ptegidx, &pt);
- if (pt.pte_hi & LPTE_HID)
- ptegidx ^= moea64_pteg_mask;
+ if (!hw_direct_map) {
+ mtx_init(&moea64_scratchpage_mtx, "pvo zero page", NULL,
+ MTX_DEF);
+ for (i = 0; i < 2; i++) {
+ struct lpte pt;
+ uint64_t vsid;
+ int pteidx, ptegidx;
+
+ moea64_scratchpage_va[i] = (virtual_end+1) - PAGE_SIZE;
+ virtual_end -= PAGE_SIZE;
+
+ LOCK_TABLE();
+
+ vsid = va_to_vsid(kernel_pmap,
+ moea64_scratchpage_va[i]);
+ moea64_pte_create(&pt, vsid, moea64_scratchpage_va[i],
+ LPTE_NOEXEC, 0);
+ pt.pte_hi |= LPTE_LOCKED;
+
+ ptegidx = va_to_pteg(vsid, moea64_scratchpage_va[i], 0);
+ pteidx = moea64_pte_insert(ptegidx, &pt);
+ if (pt.pte_hi & LPTE_HID)
+ ptegidx ^= moea64_pteg_mask;
- moea64_scratchpage_pte[i] =
- &moea64_pteg_table[ptegidx].pt[pteidx];
+ moea64_scratchpage_pte[i] =
+ &moea64_pteg_table[ptegidx].pt[pteidx];
- UNLOCK_TABLE();
+ UNLOCK_TABLE();
+ }
}
/*
@@ -1202,6 +1275,7 @@ moea64_change_wiring(mmu_t mmu, pmap_t p
static __inline
void moea64_set_scratchpage_pa(int which, vm_offset_t pa) {
+ KASSERT(!hw_direct_map, ("Using OEA64 scratchpage with a direct map!"));
mtx_assert(&moea64_scratchpage_mtx, MA_OWNED);
moea64_scratchpage_pte[which]->pte_hi &= ~LPTE_VALID;
@@ -1226,15 +1300,19 @@ moea64_copy_page(mmu_t mmu, vm_page_t ms
dst = VM_PAGE_TO_PHYS(mdst);
src = VM_PAGE_TO_PHYS(msrc);
- mtx_lock(&moea64_scratchpage_mtx);
+ if (hw_direct_map) {
+ kcopy((void *)src, (void *)dst, PAGE_SIZE);
+ } else {
+ mtx_lock(&moea64_scratchpage_mtx);
- moea64_set_scratchpage_pa(0,src);
- moea64_set_scratchpage_pa(1,dst);
+ moea64_set_scratchpage_pa(0,src);
+ moea64_set_scratchpage_pa(1,dst);
- kcopy((void *)moea64_scratchpage_va[0],
- (void *)moea64_scratchpage_va[1], PAGE_SIZE);
+ kcopy((void *)moea64_scratchpage_va[0],
+ (void *)moea64_scratchpage_va[1], PAGE_SIZE);
- mtx_unlock(&moea64_scratchpage_mtx);
+ mtx_unlock(&moea64_scratchpage_mtx);
+ }
}
void
@@ -1247,11 +1325,14 @@ moea64_zero_page_area(mmu_t mmu, vm_page
if (size + off > PAGE_SIZE)
panic("moea64_zero_page: size + off > PAGE_SIZE");
- mtx_lock(&moea64_scratchpage_mtx);
-
- moea64_set_scratchpage_pa(0,pa);
- bzero((caddr_t)moea64_scratchpage_va[0] + off, size);
- mtx_unlock(&moea64_scratchpage_mtx);
+ if (hw_direct_map) {
+ bzero((caddr_t)pa + off, size);
+ } else {
+ mtx_lock(&moea64_scratchpage_mtx);
+ moea64_set_scratchpage_pa(0,pa);
+ bzero((caddr_t)moea64_scratchpage_va[0] + off, size);
+ mtx_unlock(&moea64_scratchpage_mtx);
+ }
}
/*
@@ -1261,18 +1342,25 @@ void
moea64_zero_page(mmu_t mmu, vm_page_t m)
{
vm_offset_t pa = VM_PAGE_TO_PHYS(m);
- vm_offset_t off;
+ vm_offset_t va, off;
if (!moea64_initialized)
panic("moea64_zero_page: can't zero pa %#zx", pa);
- mtx_lock(&moea64_scratchpage_mtx);
+ if (!hw_direct_map) {
+ mtx_lock(&moea64_scratchpage_mtx);
+
+ moea64_set_scratchpage_pa(0,pa);
+ va = moea64_scratchpage_va[0];
+ } else {
+ va = pa;
+ }
- moea64_set_scratchpage_pa(0,pa);
for (off = 0; off < PAGE_SIZE; off += cacheline_size)
- __asm __volatile("dcbz 0,%0" ::
- "r"(moea64_scratchpage_va[0] + off));
- mtx_unlock(&moea64_scratchpage_mtx);
+ __asm __volatile("dcbz 0,%0" :: "r"(va + off));
+
+ if (!hw_direct_map)
+ mtx_unlock(&moea64_scratchpage_mtx);
}
void
@@ -1392,6 +1480,8 @@ moea64_syncicache(pmap_t pmap, vm_offset
__syncicache((void *)pa, sz);
} else if (pmap == kernel_pmap) {
__syncicache((void *)va, sz);
+ } else if (hw_direct_map) {
+ __syncicache((void *)pa, sz);
} else {
/* Use the scratch page to set up a temp mapping */
@@ -1453,11 +1543,12 @@ moea64_extract(mmu_t mmu, pmap_t pm, vm_
vm_paddr_t pa;
PMAP_LOCK(pm);
- pvo = moea64_pvo_find_va(pm, va & ~ADDR_POFF, NULL);
+ pvo = moea64_pvo_find_va(pm, va, NULL);
if (pvo == NULL)
pa = 0;
else
- pa = (pvo->pvo_pte.lpte.pte_lo & LPTE_RPGN) | (va & ADDR_POFF);
+ pa = (pvo->pvo_pte.lpte.pte_lo & LPTE_RPGN) |
+ (va - PVO_VADDR(pvo));
PMAP_UNLOCK(pm);
return (pa);
}
@@ -1476,7 +1567,7 @@ moea64_extract_and_hold(mmu_t mmu, pmap_
m = NULL;
vm_page_lock_queues();
PMAP_LOCK(pmap);
- pvo = moea64_pvo_find_va(pmap, va & ~ADDR_POFF, NULL);
+ pvo = moea64_pvo_find_va(pmap, va, NULL);
if (pvo != NULL && (pvo->pvo_pte.lpte.pte_hi & LPTE_VALID) &&
((pvo->pvo_pte.lpte.pte_lo & LPTE_PP) == LPTE_RW ||
(prot & VM_PROT_WRITE) == 0)) {
@@ -1706,9 +1797,9 @@ moea64_kextract(mmu_t mmu, vm_offset_t v
vm_paddr_t pa;
PMAP_LOCK(kernel_pmap);
- pvo = moea64_pvo_find_va(kernel_pmap, va & ~ADDR_POFF, NULL);
- KASSERT(pvo != NULL, ("moea64_kextract: no addr found"));
- pa = (pvo->pvo_pte.lpte.pte_lo & LPTE_RPGN) | (va & ADDR_POFF);
+ pvo = moea64_pvo_find_va(kernel_pmap, va, NULL);
+ KASSERT(pvo != NULL, ("moea64_kextract: no addr found for %#lx", va));
+ pa = (pvo->pvo_pte.lpte.pte_lo & LPTE_RPGN) + (va - PVO_VADDR(pvo));
PMAP_UNLOCK(kernel_pmap);
return (pa);
}
@@ -2190,7 +2281,7 @@ moea64_pvo_enter(pmap_t pm, uma_zone_t z
*/
va &= ~ADDR_POFF;
vsid = va_to_vsid(pm, va);
- ptegidx = va_to_pteg(vsid, va);
+ ptegidx = va_to_pteg(vsid, va, flags & PVO_LARGE);
/*
* Remove any existing mapping for this page. Reuse the pvo entry if
@@ -2256,9 +2347,11 @@ moea64_pvo_enter(pmap_t pm, uma_zone_t z
pvo->pvo_vaddr |= PVO_BOOTSTRAP;
if (flags & PVO_FAKE)
pvo->pvo_vaddr |= PVO_FAKE;
+ if (flags & PVO_LARGE)
+ pvo->pvo_vaddr |= PVO_LARGE;
moea64_pte_create(&pvo->pvo_pte.lpte, vsid, va,
- (uint64_t)(pa) | pte_lo);
+ (uint64_t)(pa) | pte_lo, flags);
/*
* Remember if the list was empty and therefore will be the first
@@ -2371,10 +2464,23 @@ moea64_pvo_find_va(pmap_t pm, vm_offset_
struct pvo_entry *pvo;
int ptegidx;
uint64_t vsid;
+ #ifdef __powerpc64__
+ struct slb *slb;
+ slb = va_to_slb_entry(pm, va);
+ KASSERT(slb != NULL, ("Cannot find SLB values for VA %#lx", va));
+
+ vsid = (slb->slbv & SLBV_VSID_MASK) >> SLBV_VSID_SHIFT;
+ if (slb->slbv & SLBV_L)
+ va &= ~moea64_large_page_mask;
+ else
+ va &= ~ADDR_POFF;
+ ptegidx = va_to_pteg(vsid, va, slb->slbv & SLBV_L);
+ #else
va &= ~ADDR_POFF;
vsid = va_to_vsid(pm, va);
- ptegidx = va_to_pteg(vsid, va);
+ ptegidx = va_to_pteg(vsid, va, 0);
+ #endif
LOCK_TABLE();
LIST_FOREACH(pvo, &moea64_pvo_table[ptegidx], pvo_olink) {
@@ -2402,7 +2508,8 @@ moea64_pvo_to_pte(const struct pvo_entry
uint64_t vsid;
vsid = va_to_vsid(pvo->pvo_pmap, PVO_VADDR(pvo));
- ptegidx = va_to_pteg(vsid, PVO_VADDR(pvo));
+ ptegidx = va_to_pteg(vsid, PVO_VADDR(pvo),
+ pvo->pvo_vaddr & PVO_LARGE);
pteidx = moea64_pvo_pte_index(pvo, ptegidx);
}
Modified: projects/ppc64/sys/powerpc/aim/slb.c
==============================================================================
--- projects/ppc64/sys/powerpc/aim/slb.c Sun Mar 14 19:04:42 2010 (r205158)
+++ projects/ppc64/sys/powerpc/aim/slb.c Sun Mar 14 21:14:25 2010 (r205159)
@@ -34,20 +34,17 @@
#include
-uint64_t
-va_to_vsid_noalloc(pmap_t pm, vm_offset_t va)
+struct slb *
+va_to_slb_entry(pmap_t pm, vm_offset_t va)
{
- uint64_t slbe, slbv, i;
+ uint64_t slbe, i;
slbe = (uintptr_t)va >> ADDR_SR_SHFT;
slbe = (slbe << SLBE_ESID_SHIFT) | SLBE_VALID;
- slbv = 0;
for (i = 0; i < sizeof(pm->pm_slb)/sizeof(pm->pm_slb[0]); i++) {
- if (pm->pm_slb[i].slbe == (slbe | i)) {
- slbv = pm->pm_slb[i].slbv;
- return ((slbv & SLBV_VSID_MASK) >> SLBV_VSID_SHIFT);
- }
+ if (pm->pm_slb[i].slbe == (slbe | i))
+ return &pm->pm_slb[i];
}
/* XXX: Have a long list for processes mapping more than 16 GB */
@@ -58,35 +55,44 @@ va_to_vsid_noalloc(pmap_t pm, vm_offset_
uint64_t
va_to_vsid(pmap_t pm, vm_offset_t va)
{
- uint64_t vsid;
+ struct slb *entry;
- vsid = va_to_vsid_noalloc(pm, va);
+ entry = va_to_slb_entry(pm, va);
/*
* If there is no vsid for this VA, we need to add a new entry
* to the PMAP's segment table.
+ *
+ * XXX We assume (for now) that we are not mapping large pages.
*/
- if (vsid == 0)
- vsid = allocate_vsid(pm, (uintptr_t)va >> ADDR_SR_SHFT);
+ if (entry == NULL)
+ return (allocate_vsid(pm, (uintptr_t)va >> ADDR_SR_SHFT, 0));
- return (vsid);
+ return ((entry->slbv & SLBV_VSID_MASK) >> SLBV_VSID_SHIFT);
}
uintptr_t moea64_get_unique_vsid(void);
uint64_t
-allocate_vsid(pmap_t pm, uint64_t esid)
+allocate_vsid(pmap_t pm, uint64_t esid, int large)
{
uint64_t vsid;
+ struct slb slb_entry;
vsid = moea64_get_unique_vsid();
+ slb_entry.slbe = (esid << SLBE_ESID_SHIFT) | SLBE_VALID;
+ slb_entry.slbv = vsid << SLBV_VSID_SHIFT;
+
+ if (large)
+ slb_entry.slbv |= SLBV_L;
+
/*
* Someone probably wants this soon, and it may be a wired
* SLB mapping, so pre-spill this entry.
*/
- slb_spill(pm, esid, vsid);
+ slb_insert(pm, &slb_entry, 1);
return (vsid);
}
@@ -103,13 +109,14 @@ allocate_vsid(pmap_t pm, uint64_t esid)
#endif
void
-slb_spill(pmap_t pm, uint64_t esid, uint64_t vsid)
+slb_insert(pmap_t pm, struct slb *slb_entry, int prefer_empty)
{
uint64_t slbe, slbv;
- int i, j;
+ int i, j, to_spill;
- slbv = vsid << SLBV_VSID_SHIFT;
- slbe = (esid << SLBE_ESID_SHIFT) | SLBE_VALID;
+ to_spill = -1;
+ slbv = slb_entry->slbv;
+ slbe = slb_entry->slbe;
/* Hunt for a likely candidate */
@@ -117,21 +124,31 @@ slb_spill(pmap_t pm, uint64_t esid, uint
if (pm == kernel_pmap && i == USER_SR)
continue;
- if (!(pm->pm_slb[i].slbe & SLBE_VALID) ||
- SLB_SPILLABLE(pm->pm_slb[i].slbe)) {
- pm->pm_slb[i].slbv = slbv;
- pm->pm_slb[i].slbe = slbe | i;
-
- if (pm == kernel_pmap && pmap_bootstrapped) {
- /* slbie not required */
- __asm __volatile ("slbmte %0, %1" ::
- "r"(kernel_pmap->pm_slb[i].slbv),
- "r"(kernel_pmap->pm_slb[i].slbe));
- }
- return;
+ if (to_spill == 0 && (pm->pm_slb[i].slbe & SLBE_VALID) &&
+ (pm != kernel_pmap || SLB_SPILLABLE(pm->pm_slb[i].slbe))) {
+ to_spill = i;
+ if (!prefer_empty)
+ break;
+ }
+
+ if (!(pm->pm_slb[i].slbe & SLBE_VALID)) {
+ to_spill = i;
+ break;
}
}
- panic("SLB spill on ESID %#lx, but no available candidates!\n", esid);
+ if (to_spill < 0)
+ panic("SLB spill on ESID %#lx, but no available candidates!\n",
+ (slbe & SLBE_ESID_MASK) >> SLBE_ESID_SHIFT);
+
+ pm->pm_slb[to_spill].slbv = slbv;
+ pm->pm_slb[to_spill].slbe = slbe | to_spill;
+
+ if (pm == kernel_pmap && pmap_bootstrapped) {
+ /* slbie not required */
+ __asm __volatile ("slbmte %0, %1" ::
+ "r"(kernel_pmap->pm_slb[i].slbv),
+ "r"(kernel_pmap->pm_slb[i].slbe));
+ }
}
Modified: projects/ppc64/sys/powerpc/aim/trap.c
==============================================================================
--- projects/ppc64/sys/powerpc/aim/trap.c Sun Mar 14 19:04:42 2010 (r205158)
+++ projects/ppc64/sys/powerpc/aim/trap.c Sun Mar 14 21:14:25 2010 (r205159)
@@ -525,15 +525,14 @@ slb_esid_lookup(pmap_t pm, uint64_t vsid
static void
handle_slb_spill(pmap_t pm, vm_offset_t addr)
{
- uint64_t vsid, esid;
+ struct slb *slb_entry;
PMAP_LOCK(pm);
- esid = addr >> ADDR_SR_SHFT;
- vsid = va_to_vsid_noalloc(pm, addr);
- if (vsid == 0)
+ slb_entry = va_to_slb_entry(pm, addr);
+ if (slb_entry == NULL)
(void)va_to_vsid(pm, addr);
else
- slb_spill(pm, esid, vsid);
+ slb_insert(pm, slb_entry, 0 /* Don't prefer empty */);
PMAP_UNLOCK(pm);
}
#endif
Modified: projects/ppc64/sys/powerpc/include/pmap.h
==============================================================================
--- projects/ppc64/sys/powerpc/include/pmap.h Sun Mar 14 19:04:42 2010 (r205158)
+++ projects/ppc64/sys/powerpc/include/pmap.h Sun Mar 14 21:14:25 2010 (r205159)
@@ -130,10 +130,10 @@ struct md_page {
* NB: The PMAP MUST be locked already.
*/
uint64_t va_to_vsid(pmap_t pm, vm_offset_t va);
-uint64_t va_to_vsid_noalloc(pmap_t pm, vm_offset_t va);
+struct slb *va_to_slb_entry(pmap_t pm, vm_offset_t va);
-uint64_t allocate_vsid(pmap_t pm, uint64_t esid);
-void slb_spill(pmap_t pm, uint64_t esid, uint64_t vsid);
+uint64_t allocate_vsid(pmap_t pm, uint64_t esid, int large);
+void slb_insert(pmap_t pm, struct slb *, int prefer_empty);
#else
Modified: projects/ppc64/sys/powerpc/powerpc/bus_machdep.c
==============================================================================
--- projects/ppc64/sys/powerpc/powerpc/bus_machdep.c Sun Mar 14 19:04:42 2010 (r205158)
+++ projects/ppc64/sys/powerpc/powerpc/bus_machdep.c Sun Mar 14 21:14:25 2010 (r205159)
@@ -99,11 +99,11 @@ bs_remap_earlyboot(void)
int i;
vm_offset_t pa, spa;
- if (hw_direct_map)
- return;
-
for (i = 0; i < earlyboot_map_idx; i++) {
spa = earlyboot_mappings[i].addr;
+ if (pmap_dev_direct_mapped(spa, earlyboot_mappings[i].size)
+ == 0)
+ continue;
pa = trunc_page(spa);
while (pa < spa + earlyboot_mappings[i].size) {
From owner-svn-src-projects@FreeBSD.ORG Sun Mar 14 23:52:30 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id C2087106566B;
Sun, 14 Mar 2010 23:52:30 +0000 (UTC)
(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
by mx1.freebsd.org (Postfix) with ESMTP id B0F258FC08;
Sun, 14 Mar 2010 23:52:30 +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 o2ENqUpR091160;
Sun, 14 Mar 2010 23:52:30 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2ENqUpb091154;
Sun, 14 Mar 2010 23:52:30 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201003142352.o2ENqUpb091154@svn.freebsd.org>
From: Marcel Moolenaar
Date: Sun, 14 Mar 2010 23:52:30 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc:
Subject: svn commit: r205162 - in projects/altix/sys/boot/ia64: common efi
ski
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Sun, 14 Mar 2010 23:52:30 -0000
Author: marcel
Date: Sun Mar 14 23:52:30 2010
New Revision: 205162
URL: http://svn.freebsd.org/changeset/base/205162
Log:
Add ia64_elf_obj to file_formats[] and unify the SKI and EFI
support by moving the definition from the separate conf.c to
the common exec.c.
Modified:
projects/altix/sys/boot/ia64/common/exec.c
projects/altix/sys/boot/ia64/common/libia64.h
projects/altix/sys/boot/ia64/efi/conf.c
projects/altix/sys/boot/ia64/ski/conf.c
projects/altix/sys/boot/ia64/ski/libski.h
Modified: projects/altix/sys/boot/ia64/common/exec.c
==============================================================================
--- projects/altix/sys/boot/ia64/common/exec.c Sun Mar 14 23:23:57 2010 (r205161)
+++ projects/altix/sys/boot/ia64/common/exec.c Sun Mar 14 23:52:30 2010 (r205162)
@@ -36,19 +36,30 @@ __FBSDID("$FreeBSD$");
#include
#include
-#include
#include
#include
#include
-#include "bootstrap.h"
+#include "libia64.h"
-#define _KERNEL
+static int elf64_exec(struct preloaded_file *amp);
+static int elf64_obj_exec(struct preloaded_file *amp);
-static int elf64_exec(struct preloaded_file *amp);
-
-struct file_format ia64_elf = { elf64_loadfile, elf64_exec };
+static struct file_format ia64_elf = {
+ elf64_loadfile,
+ elf64_exec
+};
+static struct file_format ia64_elf_obj = {
+ elf64_obj_loadfile,
+ elf64_obj_exec
+};
+
+struct file_format *file_formats[] = {
+ &ia64_elf,
+ &ia64_elf_obj,
+ NULL
+};
/*
* Entered with psr.ic and psr.i both zero.
@@ -122,3 +133,12 @@ elf64_exec(struct preloaded_file *fp)
/* NOTREACHED */
return (0);
}
+
+static int
+elf64_obj_exec(struct preloaded_file *fp)
+{
+
+ printf("%s called for preloaded file %p (=%s):\n", __func__, fp,
+ fp->f_name);
+ return (ENOSYS);
+}
Modified: projects/altix/sys/boot/ia64/common/libia64.h
==============================================================================
--- projects/altix/sys/boot/ia64/common/libia64.h Sun Mar 14 23:23:57 2010 (r205161)
+++ projects/altix/sys/boot/ia64/common/libia64.h Sun Mar 14 23:52:30 2010 (r205162)
@@ -32,27 +32,29 @@
#include
#include
+int bi_load(struct preloaded_file *, uint64_t *);
+
/*
* Portability functions provided by the loader
* implementation specific to the platform.
*/
-extern uint64_t ldr_alloc(vm_offset_t);
-extern int ldr_bootinfo(struct bootinfo *, uint64_t *);
-extern int ldr_enter(const char *);
+uint64_t ldr_alloc(vm_offset_t);
+int ldr_bootinfo(struct bootinfo *, uint64_t *);
+int ldr_enter(const char *);
/*
* Functions and variables provided by the ia64 common code
* and shared by all loader implementations.
*/
-extern int ia64_autoload(void);
+int ia64_autoload(void);
-extern ssize_t ia64_copyin(const void *, vm_offset_t, size_t);
-extern ssize_t ia64_copyout(vm_offset_t, void *, size_t);
-extern ssize_t ia64_readin(int, vm_offset_t, size_t);
-
-extern char *ia64_fmtdev(struct devdesc *);
-extern int ia64_getdev(void **, const char *, const char **);
-extern int ia64_setcurrdev(struct env_var *, int, const void *);
+ssize_t ia64_copyin(const void *, vm_offset_t, size_t);
+ssize_t ia64_copyout(vm_offset_t, void *, size_t);
+ssize_t ia64_readin(int, vm_offset_t, size_t);
+
+char *ia64_fmtdev(struct devdesc *);
+int ia64_getdev(void **, const char *, const char **);
+int ia64_setcurrdev(struct env_var *, int, const void *);
#endif /* !_LIBIA64_H_ */
Modified: projects/altix/sys/boot/ia64/efi/conf.c
==============================================================================
--- projects/altix/sys/boot/ia64/efi/conf.c Sun Mar 14 23:23:57 2010 (r205161)
+++ projects/altix/sys/boot/ia64/efi/conf.c Sun Mar 14 23:52:30 2010 (r205162)
@@ -69,17 +69,6 @@ struct netif_driver *netif_drivers[] = {
};
/*
- * Sort formats so that those that can detect based on arguments
- * rather than reading the file go first.
- */
-extern struct file_format ia64_elf;
-
-struct file_format *file_formats[] = {
- &ia64_elf,
- NULL
-};
-
-/*
* Consoles
*
* We don't prototype these in efiboot.h because they require
Modified: projects/altix/sys/boot/ia64/ski/conf.c
==============================================================================
--- projects/altix/sys/boot/ia64/ski/conf.c Sun Mar 14 23:23:57 2010 (r205161)
+++ projects/altix/sys/boot/ia64/ski/conf.c Sun Mar 14 23:52:30 2010 (r205162)
@@ -60,18 +60,6 @@ struct fs_ops *file_system[] = {
NULL
};
-/* Exported for ia64 only */
-/*
- * Sort formats so that those that can detect based on arguments
- * rather than reading the file go first.
- */
-extern struct file_format ia64_elf;
-
-struct file_format *file_formats[] = {
- &ia64_elf,
- NULL
-};
-
/*
* Consoles
*
Modified: projects/altix/sys/boot/ia64/ski/libski.h
==============================================================================
--- projects/altix/sys/boot/ia64/ski/libski.h Sun Mar 14 23:23:57 2010 (r205161)
+++ projects/altix/sys/boot/ia64/ski/libski.h Sun Mar 14 23:52:30 2010 (r205162)
@@ -46,7 +46,6 @@ extern int ski_boot(void);
struct bootinfo;
struct preloaded_file;
-extern int bi_load(struct bootinfo *, struct preloaded_file *);
#define SSC_CONSOLE_INIT 20
#define SSC_GETCHAR 21
From owner-svn-src-projects@FreeBSD.ORG Mon Mar 15 00:29:15 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id D3C85106566C;
Mon, 15 Mar 2010 00:29:15 +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 A926B8FC12;
Mon, 15 Mar 2010 00:29:15 +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 o2F0TF1Z099289;
Mon, 15 Mar 2010 00:29:15 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2F0TFic099287;
Mon, 15 Mar 2010 00:29:15 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201003150029.o2F0TFic099287@svn.freebsd.org>
From: Nathan Whitehorn
Date: Mon, 15 Mar 2010 00:29:15 +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: r205164 - 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 " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Mon, 15 Mar 2010 00:29:15 -0000
Author: nwhitehorn
Date: Mon Mar 15 00:29:15 2010
New Revision: 205164
URL: http://svn.freebsd.org/changeset/base/205164
Log:
Set memory access as guarded on large page direct maps that edge into
physical memory holes, and optimize moea64_kextract(), thereby avoiding
a LOR at boot.
Modified:
projects/ppc64/sys/powerpc/aim/mmu_oea64.c
Modified: projects/ppc64/sys/powerpc/aim/mmu_oea64.c
==============================================================================
--- projects/ppc64/sys/powerpc/aim/mmu_oea64.c Mon Mar 15 00:27:40 2010 (r205163)
+++ projects/ppc64/sys/powerpc/aim/mmu_oea64.c Mon Mar 15 00:29:15 2010 (r205164)
@@ -818,6 +818,7 @@ moea64_setup_direct_map(mmu_t mmup, vm_o
register_t msr;
vm_paddr_t pa;
vm_offset_t size, off;
+ uint64_t pte_lo;
int i;
if (moea64_large_page_size == 0)
@@ -827,9 +828,26 @@ moea64_setup_direct_map(mmu_t mmup, vm_o
if (hw_direct_map) {
PMAP_LOCK(kernel_pmap);
for (i = 0; i < pregions_sz; i++) {
- for (pa = pregions[i].mr_start & ~moea64_large_page_mask;
- pa < (pregions[i].mr_start + pregions[i].mr_size);
- pa += moea64_large_page_size) {
+ for (pa = pregions[i].mr_start; pa < pregions[i].mr_start +
+ pregions[i].mr_size; pa += moea64_large_page_size) {
+ pte_lo = LPTE_M;
+
+ /*
+ * Set memory access as guarded if prefetch within
+ * the page could exit the available physmem area.
+ */
+ if (pa & moea64_large_page_mask) {
+ pa &= moea64_large_page_mask;
+ pte_lo |= LPTE_G;
+ }
+ if (pa + moea64_large_page_size >
+ pregions[i].mr_start + pregions[i].mr_size)
+ pte_lo |= LPTE_G;
+
+ /*
+ * Allocate a new SLB entry to make sure it is
+ * for large pages.
+ */
if (va_to_slb_entry(kernel_pmap, pa) == NULL)
allocate_vsid(kernel_pmap, pa, 1 /* large */);
@@ -1796,6 +1814,13 @@ moea64_kextract(mmu_t mmu, vm_offset_t v
struct pvo_entry *pvo;
vm_paddr_t pa;
+ /*
+ * Shortcut the direct-mapped case when applicable. We never put
+ * anything but 1:1 mappings below VM_MIN_KERNEL_ADDRESS.
+ */
+ if (va < VM_MIN_KERNEL_ADDRESS)
+ return (va);
+
PMAP_LOCK(kernel_pmap);
pvo = moea64_pvo_find_va(kernel_pmap, va, NULL);
KASSERT(pvo != NULL, ("moea64_kextract: no addr found for %#lx", va));
@@ -2778,7 +2803,7 @@ moea64_sync_icache(mmu_t mmu, pmap_t pm,
len = MIN(lim - va, sz);
pvo = moea64_pvo_find_va(pm, va & ~ADDR_POFF, NULL);
if (pvo != NULL) {
- pa = (pvo->pvo_pte.pte.pte_lo & PTE_RPGN) |
+ pa = (pvo->pvo_pte.pte.pte_lo & LPTE_RPGN) |
(va & ADDR_POFF);
moea64_syncicache(pm, va, pa, len);
}
From owner-svn-src-projects@FreeBSD.ORG Tue Mar 16 06:12:31 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id 666CF106566B;
Tue, 16 Mar 2010 06:12:31 +0000 (UTC)
(envelope-from mckusick@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
by mx1.freebsd.org (Postfix) with ESMTP id 547108FC13;
Tue, 16 Mar 2010 06:12:31 +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 o2G6CVD9096978;
Tue, 16 Mar 2010 06:12:31 GMT
(envelope-from mckusick@svn.freebsd.org)
Received: (from mckusick@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2G6CVdE096970;
Tue, 16 Mar 2010 06:12:31 GMT
(envelope-from mckusick@svn.freebsd.org)
Message-Id: <201003160612.o2G6CVdE096970@svn.freebsd.org>
From: Kirk McKusick
Date: Tue, 16 Mar 2010 06:12:31 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc:
Subject: svn commit: r205207 - in projects/quota64: lib/libc/sys lib/libutil
sys/ufs/ufs usr.bin/quota usr.sbin/repquota
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Tue, 16 Mar 2010 06:12:31 -0000
Author: mckusick
Date: Tue Mar 16 06:12:30 2010
New Revision: 205207
URL: http://svn.freebsd.org/changeset/base/205207
Log:
Debugging nits found while testing the new 64-bit quota code.
Modified:
projects/quota64/lib/libc/sys/quotactl.2
projects/quota64/lib/libutil/quotafile.c
projects/quota64/sys/ufs/ufs/quota.h
projects/quota64/sys/ufs/ufs/ufs_quota.c
projects/quota64/sys/ufs/ufs/ufs_vfsops.c
projects/quota64/usr.bin/quota/Makefile
projects/quota64/usr.sbin/repquota/repquota.c
Modified: projects/quota64/lib/libc/sys/quotactl.2
==============================================================================
--- projects/quota64/lib/libc/sys/quotactl.2 Tue Mar 16 05:13:20 2010 (r205206)
+++ projects/quota64/lib/libc/sys/quotactl.2 Tue Mar 16 06:12:30 2010 (r205207)
@@ -84,7 +84,7 @@ and group identifiers (GRPQUOTA).
The
.Dq ufs
specific commands are:
-.Bl -tag -width Q_QUOTAOFFxx
+.Bl -tag -width Q_GETQUOTASIZEx
.It Dv Q_QUOTAON
Enable disk quotas for the file system specified by
.Fa path .
@@ -110,6 +110,17 @@ and
.Fa id
arguments are unused.
Only the super-user may turn quotas off.
+.It Dv Q_GETQUOTASIZE
+Get the wordsize used to represent the quotas for the user or group
+(as determined by the command type).
+Possible values are 32 for the old-style quota file
+and 64 for the new-style quota file.
+The
+.Fa addr
+argument is a pointer to an integer into which the size is stored.
+The identifier
+.Fa id
+is not used.
.It Dv Q_GETQUOTA
Get disk quota limits and current usage for the user or group
(as determined by the command type) with identifier
@@ -177,9 +188,11 @@ The
argument
or the command type is invalid.
In
-.Dv Q_GETQUOTA
-and
+.Dv Q_GETQUOTASIZE ,
+.Dv Q_GETQUOTA ,
.Dv Q_SETQUOTA ,
+and
+.Dv Q_SETUSE ,
quotas are not currently enabled for this file system.
.Pp
The
@@ -208,7 +221,8 @@ Too many symbolic links were encountered
.It Bq Er EROFS
In
.Dv Q_QUOTAON ,
-the quota file resides on a read-only file system.
+either the file system on which quotas are to be enabled is mounted read-only
+or the quota file resides on a read-only file system.
.It Bq Er EIO
An
.Tn I/O
Modified: projects/quota64/lib/libutil/quotafile.c
==============================================================================
--- projects/quota64/lib/libutil/quotafile.c Tue Mar 16 05:13:20 2010 (r205206)
+++ projects/quota64/lib/libutil/quotafile.c Tue Mar 16 06:12:30 2010 (r205207)
@@ -129,11 +129,9 @@ quota_open(struct fstab *fs, int quotaty
goto error;
qf->dev = st.st_dev;
serrno = hasquota(fs, quotatype, qf->qfname, sizeof(qf->qfname));
- qcmd = QCMD(Q_GETQUOTA, quotatype);
- if (quotactl(fs->fs_file, qcmd, 0, &dqh) == 0) {
- qf->wordsize = 64;
+ qcmd = QCMD(Q_GETQUOTASIZE, quotatype);
+ if (quotactl(qf->fsname, qcmd, 0, &qf->wordsize) == 0)
return (qf);
- }
if (serrno == 0) {
errno = EOPNOTSUPP;
goto error;
@@ -250,18 +248,22 @@ int
quota_maxid(struct quotafile *qf)
{
struct stat st;
+ int maxid;
if (stat(qf->qfname, &st) < 0)
return (0);
switch (qf->wordsize) {
case 32:
- return (st.st_size / sizeof(struct dqblk32) - 1);
+ maxid = st.st_size / sizeof(struct dqblk32) - 1;
+ break;
case 64:
- return (st.st_size / sizeof(struct dqblk64) - 2);
+ maxid = st.st_size / sizeof(struct dqblk64) - 2;
+ break;
default:
- return (0);
+ maxid = 0;
+ break;
}
- /* not reached */
+ return (maxid > 0 ? maxid : 0);
}
static int
@@ -395,10 +397,6 @@ quota_write_usage(struct quotafile *qf,
struct dqblk dqbuf;
int qcmd;
- if ((qf->accmode & O_RDWR) != O_RDWR) {
- errno = EBADF;
- return (-1);
- }
if (qf->fd == -1) {
qcmd = QCMD(Q_SETUSE, qf->quotatype);
return (quotactl(qf->fsname, qcmd, id, dqb));
@@ -406,6 +404,10 @@ quota_write_usage(struct quotafile *qf,
/*
* Have to do read-modify-write of quota in file.
*/
+ if ((qf->accmode & O_RDWR) != O_RDWR) {
+ errno = EBADF;
+ return (-1);
+ }
if (quota_read(qf, &dqbuf, id) != 0)
return (-1);
/*
@@ -443,10 +445,6 @@ quota_write_limits(struct quotafile *qf,
struct dqblk dqbuf;
int qcmd;
- if ((qf->accmode & O_RDWR) != O_RDWR) {
- errno = EBADF;
- return (-1);
- }
if (qf->fd == -1) {
qcmd = QCMD(Q_SETQUOTA, qf->quotatype);
return (quotactl(qf->fsname, qcmd, id, dqb));
@@ -454,6 +452,10 @@ quota_write_limits(struct quotafile *qf,
/*
* Have to do read-modify-write of quota in file.
*/
+ if ((qf->accmode & O_RDWR) != O_RDWR) {
+ errno = EBADF;
+ return (-1);
+ }
if (quota_read(qf, &dqbuf, id) != 0)
return (-1);
/*
Modified: projects/quota64/sys/ufs/ufs/quota.h
==============================================================================
--- projects/quota64/sys/ufs/ufs/quota.h Tue Mar 16 05:13:20 2010 (r205206)
+++ projects/quota64/sys/ufs/ufs/quota.h Tue Mar 16 06:12:30 2010 (r205207)
@@ -88,6 +88,7 @@
#define Q_GETQUOTA 0x0700 /* get limits and usage (64-bit version) */
#define Q_SETQUOTA 0x0800 /* set limits and usage (64-bit version) */
#define Q_SETUSE 0x0900 /* set usage (64-bit version) */
+#define Q_GETQUOTASIZE 0x0A00 /* get bit-size of quota file fields */
/*
* The following structure defines the format of the disk quota file
@@ -235,6 +236,7 @@ int setuse32(struct thread *, struct mou
int getquota(struct thread *, struct mount *, u_long, int, void *);
int setquota(struct thread *, struct mount *, u_long, int, void *);
int setuse(struct thread *, struct mount *, u_long, int, void *);
+int getquotasize(struct thread *, struct mount *, u_long, int, void *);
vfs_quotactl_t ufs_quotactl;
#else /* !_KERNEL */
Modified: projects/quota64/sys/ufs/ufs/ufs_quota.c
==============================================================================
--- projects/quota64/sys/ufs/ufs/ufs_quota.c Tue Mar 16 05:13:20 2010 (r205206)
+++ projects/quota64/sys/ufs/ufs/ufs_quota.c Tue Mar 16 06:12:30 2010 (r205207)
@@ -508,6 +508,9 @@ quotaon(struct thread *td, struct mount
if (error)
return (error);
+ if (mp->mnt_flag & MNT_RDONLY)
+ return (EROFS);
+
ump = VFSTOUFS(mp);
dq = NODQUOT;
@@ -534,7 +537,9 @@ quotaon(struct thread *td, struct mount
return (EALREADY);
}
ump->um_qflags[type] |= QTF_OPENING|QTF_CLOSING;
+ UFS_UNLOCK(ump);
if ((error = dqopen(vp, ump, type)) != 0) {
+ UFS_LOCK(ump);
ump->um_qflags[type] &= ~(QTF_OPENING|QTF_CLOSING);
UFS_UNLOCK(ump);
(void) vn_close(vp, FREAD|FWRITE, td->td_ucred, td);
@@ -544,7 +549,6 @@ quotaon(struct thread *td, struct mount
MNT_ILOCK(mp);
mp->mnt_flag |= MNT_QUOTA;
MNT_IUNLOCK(mp);
- UFS_UNLOCK(ump);
vpp = &ump->um_quotas[type];
if (*vpp != vp)
@@ -989,6 +993,30 @@ setuse(struct thread *td, struct mount *
}
/*
+ * Q_GETQUOTASIZE - get bit-size of quota file fields
+ */
+int
+getquotasize(struct thread *td, struct mount *mp, u_long id, int type,
+ void *sizep)
+{
+ struct ufsmount *ump = VFSTOUFS(mp);
+ int bitsize;
+
+ UFS_LOCK(ump);
+ if (ump->um_quotas[type] == NULLVP ||
+ (ump->um_qflags[type] & QTF_CLOSING)) {
+ UFS_UNLOCK(ump);
+ return (EINVAL);
+ }
+ if ((ump->um_qflags[type] & QTF_64BIT) != 0)
+ bitsize = 64;
+ else
+ bitsize = 32;
+ UFS_UNLOCK(ump);
+ return (copyout(&bitsize, sizep, sizeof(int)));
+}
+
+/*
* Q_SYNC - sync quota files to disk.
*/
int
@@ -1163,12 +1191,17 @@ dqopen(struct vnode *vp, struct ufsmount
return (0);
}
+ UFS_LOCK(ump);
if (strcmp(dqh.dqh_magic, Q_DQHDR64_MAGIC) == 0 &&
be32toh(dqh.dqh_version) == Q_DQHDR64_VERSION &&
be32toh(dqh.dqh_hdrlen) == (uint32_t)sizeof(struct dqhdr64) &&
- be32toh(dqh.dqh_reclen) == (uint32_t)sizeof(struct dqblk64))
+ be32toh(dqh.dqh_reclen) == (uint32_t)sizeof(struct dqblk64)) {
+ /* XXX: what if the magic matches, but the sizes are wrong? */
ump->um_qflags[type] |= QTF_64BIT;
- /* XXX: what if the magic matches, but the sizes are wrong? */
+ } else {
+ ump->um_qflags[type] &= ~QTF_64BIT;
+ }
+ UFS_UNLOCK(ump);
return (0);
}
Modified: projects/quota64/sys/ufs/ufs/ufs_vfsops.c
==============================================================================
--- projects/quota64/sys/ufs/ufs/ufs_vfsops.c Tue Mar 16 05:13:20 2010 (r205206)
+++ projects/quota64/sys/ufs/ufs/ufs_vfsops.c Tue Mar 16 06:12:30 2010 (r205207)
@@ -151,6 +151,10 @@ ufs_quotactl(mp, cmds, id, arg)
error = getquota(td, mp, id, type, arg);
break;
+ case Q_GETQUOTASIZE:
+ error = getquotasize(td, mp, id, type, arg);
+ break;
+
case Q_SYNC:
error = qsync(mp);
break;
Modified: projects/quota64/usr.bin/quota/Makefile
==============================================================================
--- projects/quota64/usr.bin/quota/Makefile Tue Mar 16 05:13:20 2010 (r205206)
+++ projects/quota64/usr.bin/quota/Makefile Tue Mar 16 06:12:30 2010 (r205207)
@@ -3,6 +3,7 @@
PROG= quota
BINOWN= root
+BINMODE=4555
DPADD= ${LIBRPCSVC} ${LIBUTIL}
LDADD= -lrpcsvc -lutil
Modified: projects/quota64/usr.sbin/repquota/repquota.c
==============================================================================
--- projects/quota64/usr.sbin/repquota/repquota.c Tue Mar 16 05:13:20 2010 (r205206)
+++ projects/quota64/usr.sbin/repquota/repquota.c Tue Mar 16 06:12:30 2010 (r205207)
@@ -224,7 +224,7 @@ repquota(struct fstab *fs, int type)
printf("User%*s used soft hard grace used soft hard grace\n",
max(MAXLOGNAME - 1, 10), " ");
maxid = quota_maxid(qf);
- for (id = 0; id < maxid; id++) {
+ for (id = 0; id <= maxid; id++) {
if (quota_read(qf, &dqbuf, id) != 0)
break;
if (dqbuf.dqb_curinodes == 0 && dqbuf.dqb_curblocks == 0)
From owner-svn-src-projects@FreeBSD.ORG Tue Mar 16 14:44:34 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id 282FE1065670;
Tue, 16 Mar 2010 14:44:34 +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 173408FC1C;
Tue, 16 Mar 2010 14:44:34 +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 o2GEiX6n011485;
Tue, 16 Mar 2010 14:44:33 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2GEiXg1011479;
Tue, 16 Mar 2010 14:44:33 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201003161444.o2GEiXg1011479@svn.freebsd.org>
From: Nathan Whitehorn
Date: Tue, 16 Mar 2010 14:44: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: r205209 - in projects/ppc64/sys/powerpc: aim include
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Tue, 16 Mar 2010 14:44:34 -0000
Author: nwhitehorn
Date: Tue Mar 16 14:44:33 2010
New Revision: 205209
URL: http://svn.freebsd.org/changeset/base/205209
Log:
Fix a panoply of bugs, and get us booting again on real G5 hardware.
Modified:
projects/ppc64/sys/powerpc/aim/mmu_oea64.c
projects/ppc64/sys/powerpc/aim/slb.c
projects/ppc64/sys/powerpc/include/hid.h
projects/ppc64/sys/powerpc/include/vmparam.h
Modified: projects/ppc64/sys/powerpc/aim/mmu_oea64.c
==============================================================================
--- projects/ppc64/sys/powerpc/aim/mmu_oea64.c Tue Mar 16 11:38:07 2010 (r205208)
+++ projects/ppc64/sys/powerpc/aim/mmu_oea64.c Tue Mar 16 14:44:33 2010 (r205209)
@@ -149,6 +149,7 @@ __FBSDID("$FreeBSD$");
#include
#include
#include
+#include
#include
#include
#include
@@ -722,8 +723,12 @@ moea64_cpu_bootstrap(mmu_t mmup, int ap)
slbia();
for (i = 0; i < 64; i++) {
- if (!(kernel_pmap->pm_slb[i].slbe & SLBE_VALID))
- continue;
+ /*
+ * Note: set all SLB entries. Apparently, slbia()
+ * is not quite sufficient to make the CPU
+ * forget about bridge-mode mappings mode by OFW
+ * on the PPC 970.
+ */
__asm __volatile ("slbmte %0, %1" ::
"r"(kernel_pmap->pm_slb[i].slbv),
@@ -782,6 +787,10 @@ moea64_add_ofw_mappings(mmu_t mmup, phan
DISABLE_TRANS(msr);
for (off = 0; off < translations[i].om_len; off += PAGE_SIZE) {
+ if (moea64_pvo_find_va(kernel_pmap,
+ translations[i].om_va + off, NULL) != NULL)
+ continue;
+
moea64_kenter(mmup, translations[i].om_va + off,
pa_base + off);
@@ -800,6 +809,11 @@ moea64_probe_large_page(void)
case IBM970:
case IBM970FX:
case IBM970MP:
+ powerpc_sync(); isync();
+ mtspr(SPR_HID4, mfspr(SPR_HID4) & ~HID4_970_DISABLE_LG_PG);
+ powerpc_sync(); isync();
+
+ /* FALLTHROUGH */
case IBMCELLBE:
moea64_large_page_size = 0x1000000; /* 16 MB */
moea64_large_page_shift = 24;
@@ -849,7 +863,8 @@ moea64_setup_direct_map(mmu_t mmup, vm_o
* for large pages.
*/
if (va_to_slb_entry(kernel_pmap, pa) == NULL)
- allocate_vsid(kernel_pmap, pa, 1 /* large */);
+ allocate_vsid(kernel_pmap, pa >> ADDR_SR_SHFT,
+ 1 /* large */);
moea64_pvo_enter(kernel_pmap, moea64_upvo_zone,
&moea64_pvo_kunmanaged, pa, pa,
@@ -1054,9 +1069,11 @@ moea64_bootstrap(mmu_t mmup, vm_offset_t
/*
* Make sure kernel vsid is allocated as well as VSID 0.
*/
+ #ifndef __powerpc64__
moea64_vsid_bitmap[(KERNEL_VSIDBITS & (NVSIDS - 1)) / VSID_NBPW]
|= 1 << (KERNEL_VSIDBITS % VSID_NBPW);
moea64_vsid_bitmap[0] |= 1;
+ #endif
/*
* Initialize the kernel pmap (which is statically allocated).
@@ -2493,7 +2510,8 @@ moea64_pvo_find_va(pmap_t pm, vm_offset_
struct slb *slb;
slb = va_to_slb_entry(pm, va);
- KASSERT(slb != NULL, ("Cannot find SLB values for VA %#lx", va));
+ if (slb == NULL) /* The page is not mapped if the segment isn't */
+ return NULL;
vsid = (slb->slbv & SLBV_VSID_MASK) >> SLBV_VSID_SHIFT;
if (slb->slbv & SLBV_L)
Modified: projects/ppc64/sys/powerpc/aim/slb.c
==============================================================================
--- projects/ppc64/sys/powerpc/aim/slb.c Tue Mar 16 11:38:07 2010 (r205208)
+++ projects/ppc64/sys/powerpc/aim/slb.c Tue Mar 16 14:44:33 2010 (r205209)
@@ -34,6 +34,8 @@
#include
+uintptr_t moea64_get_unique_vsid(void);
+
struct slb *
va_to_slb_entry(pmap_t pm, vm_offset_t va)
{
@@ -49,7 +51,7 @@ va_to_slb_entry(pmap_t pm, vm_offset_t v
/* XXX: Have a long list for processes mapping more than 16 GB */
- return (0);
+ return (NULL);
}
uint64_t
@@ -72,8 +74,6 @@ va_to_vsid(pmap_t pm, vm_offset_t va)
return ((entry->slbv & SLBV_VSID_MASK) >> SLBV_VSID_SHIFT);
}
-uintptr_t moea64_get_unique_vsid(void);
-
uint64_t
allocate_vsid(pmap_t pm, uint64_t esid, int large)
{
@@ -124,16 +124,16 @@ slb_insert(pmap_t pm, struct slb *slb_en
if (pm == kernel_pmap && i == USER_SR)
continue;
- if (to_spill == 0 && (pm->pm_slb[i].slbe & SLBE_VALID) &&
- (pm != kernel_pmap || SLB_SPILLABLE(pm->pm_slb[i].slbe))) {
+ if (!(pm->pm_slb[i].slbe & SLBE_VALID)) {
to_spill = i;
- if (!prefer_empty)
- break;
+ break;
}
- if (!(pm->pm_slb[i].slbe & SLBE_VALID)) {
+ if (to_spill < 0 && (pm != kernel_pmap ||
+ SLB_SPILLABLE(pm->pm_slb[i].slbe))) {
to_spill = i;
- break;
+ if (!prefer_empty)
+ break;
}
}
@@ -142,13 +142,13 @@ slb_insert(pmap_t pm, struct slb *slb_en
(slbe & SLBE_ESID_MASK) >> SLBE_ESID_SHIFT);
pm->pm_slb[to_spill].slbv = slbv;
- pm->pm_slb[to_spill].slbe = slbe | to_spill;
+ pm->pm_slb[to_spill].slbe = slbe | (uint64_t)to_spill;
if (pm == kernel_pmap && pmap_bootstrapped) {
/* slbie not required */
__asm __volatile ("slbmte %0, %1" ::
- "r"(kernel_pmap->pm_slb[i].slbv),
- "r"(kernel_pmap->pm_slb[i].slbe));
+ "r"(kernel_pmap->pm_slb[to_spill].slbv),
+ "r"(kernel_pmap->pm_slb[to_spill].slbe));
}
}
Modified: projects/ppc64/sys/powerpc/include/hid.h
==============================================================================
--- projects/ppc64/sys/powerpc/include/hid.h Tue Mar 16 11:38:07 2010 (r205208)
+++ projects/ppc64/sys/powerpc/include/hid.h Tue Mar 16 14:44:33 2010 (r205209)
@@ -162,5 +162,6 @@
#define HID1_E500_DEFAULT_SET (HID1_E500_ABE | HID1_E500_ASTME)
#define HID5_970_DCBZ_SIZE_HI 0x00000080UL /* dcbz does a 32-byte store */
+#define HID4_970_DISABLE_LG_PG 0x00000004ULL /* disables large pages */
#endif /* _POWERPC_HID_H_ */
Modified: projects/ppc64/sys/powerpc/include/vmparam.h
==============================================================================
--- projects/ppc64/sys/powerpc/include/vmparam.h Tue Mar 16 11:38:07 2010 (r205208)
+++ projects/ppc64/sys/powerpc/include/vmparam.h Tue Mar 16 14:44:33 2010 (r205209)
@@ -98,7 +98,7 @@
#ifdef __powerpc64__
#define VM_MIN_KERNEL_ADDRESS 0xc000000000000000UL
-#define VM_MAX_KERNEL_ADDRESS 0xc0000001c8000000UL
+#define VM_MAX_KERNEL_ADDRESS 0xc0000001c7ffffffUL
#define VM_MAX_SAFE_KERNEL_ADDRESS VM_MAX_KERNEL_ADDRESS
#else
#define VM_MIN_KERNEL_ADDRESS ((vm_offset_t)KERNEL_SR << ADDR_SR_SHFT)
From owner-svn-src-projects@FreeBSD.ORG Tue Mar 16 15:50:32 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id 507061065672;
Tue, 16 Mar 2010 15:50:32 +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 25B448FC1B;
Tue, 16 Mar 2010 15:50:32 +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 o2GFoWFF026014;
Tue, 16 Mar 2010 15:50:32 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2GFoWwS026011;
Tue, 16 Mar 2010 15:50:32 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201003161550.o2GFoWwS026011@svn.freebsd.org>
From: Nathan Whitehorn
Date: Tue, 16 Mar 2010 15:50:32 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc:
Subject: svn commit: r205211 - 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 " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Tue, 16 Mar 2010 15:50:32 -0000
Author: nwhitehorn
Date: Tue Mar 16 15:50:31 2010
New Revision: 205211
URL: http://svn.freebsd.org/changeset/base/205211
Log:
After rereading the manual, realize that slbia invalidates only SLB
slots 1-63, leaving slot 0 intact. This could trigger an SLB parity error,
which is why the kernel could not boot before. Follow slbia with explicit
invalidation of SLB slot 0.
While here, remove the other source of machine checks by fixing a typo
that made large pages running off the ends of the large pages not
actually marked guarded.
Modified:
projects/ppc64/sys/powerpc/aim/mmu_oea64.c
projects/ppc64/sys/powerpc/aim/trap_subr64.S
Modified: projects/ppc64/sys/powerpc/aim/mmu_oea64.c
==============================================================================
--- projects/ppc64/sys/powerpc/aim/mmu_oea64.c Tue Mar 16 15:27:58 2010 (r205210)
+++ projects/ppc64/sys/powerpc/aim/mmu_oea64.c Tue Mar 16 15:50:31 2010 (r205211)
@@ -723,12 +723,8 @@ moea64_cpu_bootstrap(mmu_t mmup, int ap)
slbia();
for (i = 0; i < 64; i++) {
- /*
- * Note: set all SLB entries. Apparently, slbia()
- * is not quite sufficient to make the CPU
- * forget about bridge-mode mappings mode by OFW
- * on the PPC 970.
- */
+ if (!(kernel_pmap->pm_slb[i].slbe & SLBE_VALID))
+ continue;
__asm __volatile ("slbmte %0, %1" ::
"r"(kernel_pmap->pm_slb[i].slbv),
@@ -868,7 +864,7 @@ moea64_setup_direct_map(mmu_t mmup, vm_o
moea64_pvo_enter(kernel_pmap, moea64_upvo_zone,
&moea64_pvo_kunmanaged, pa, pa,
- LPTE_M, PVO_WIRED | PVO_LARGE |
+ pte_lo, PVO_WIRED | PVO_LARGE |
VM_PROT_EXECUTE);
}
}
@@ -2287,7 +2283,10 @@ tlbia(void)
static void
slbia(void)
{
+ register_t seg0;
+
__asm __volatile ("slbia");
+ __asm __volatile ("slbmfee %0,%1; slbie %0;" : "=r"(seg0) : "r"(0));
}
#endif
Modified: projects/ppc64/sys/powerpc/aim/trap_subr64.S
==============================================================================
--- projects/ppc64/sys/powerpc/aim/trap_subr64.S Tue Mar 16 15:27:58 2010 (r205210)
+++ projects/ppc64/sys/powerpc/aim/trap_subr64.S Tue Mar 16 15:50:31 2010 (r205211)
@@ -50,14 +50,16 @@
*/
restoresrs:
- slbia;
- li %r29, 0; /* Set the counter to zero */
+ li %r29, 0 /* Set the counter to zero */
+
+ slbia
+ slbmfee %r31,%r29
+ slbie %r31
instslb:
ld %r31, PM_SLB+8(%r28); /* Load SLBE */
cmpli 0, %r31, 0; /* If SLBE is not valid, get the next */
beq nslb;
-
ld %r30, PM_SLB(%r28) /* Load SLBV */
slbmte %r30, %r31; /* Install SLB entry */
From owner-svn-src-projects@FreeBSD.ORG Tue Mar 16 15:52:38 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id C35EE106566B;
Tue, 16 Mar 2010 15:52:38 +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 B34FE8FC12;
Tue, 16 Mar 2010 15:52: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 o2GFqcO3026515;
Tue, 16 Mar 2010 15:52:38 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2GFqcIu026513;
Tue, 16 Mar 2010 15:52:38 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201003161552.o2GFqcIu026513@svn.freebsd.org>
From: Nathan Whitehorn
Date: Tue, 16 Mar 2010 15:52: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: r205212 - 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 " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Tue, 16 Mar 2010 15:52:38 -0000
Author: nwhitehorn
Date: Tue Mar 16 15:52:38 2010
New Revision: 205212
URL: http://svn.freebsd.org/changeset/base/205212
Log:
Explicitly set the CPU to 64-bit mode on reset. This makes SMP come
up a little further on Apple hardware.
Submitted by: Andreas Tobler
Modified:
projects/ppc64/sys/powerpc/aim/trap_subr64.S
Modified: projects/ppc64/sys/powerpc/aim/trap_subr64.S
==============================================================================
--- projects/ppc64/sys/powerpc/aim/trap_subr64.S Tue Mar 16 15:50:31 2010 (r205211)
+++ projects/ppc64/sys/powerpc/aim/trap_subr64.S Tue Mar 16 15:52:38 2010 (r205212)
@@ -263,6 +263,13 @@ nslb:
*/
.globl CNAME(rstcode), CNAME(rstsize)
CNAME(rstcode):
+ /* Explicitly set MSR[SF] */
+ mfmsr %r9
+ li %r8,1
+ insrdi %r9,%r8,1,0
+ mtsmrd %r9
+ isync
+
ba cpu_reset
CNAME(rstsize) = . - CNAME(rstcode)
From owner-svn-src-projects@FreeBSD.ORG Tue Mar 16 15:55:42 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id 29115106564A;
Tue, 16 Mar 2010 15:55:42 +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 18FDC8FC1C;
Tue, 16 Mar 2010 15:55:42 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2GFtfsu027211;
Tue, 16 Mar 2010 15:55:41 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2GFtfwq027209;
Tue, 16 Mar 2010 15:55:41 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201003161555.o2GFtfwq027209@svn.freebsd.org>
From: Nathan Whitehorn
Date: Tue, 16 Mar 2010 15:55:41 +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: r205213 - 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 " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Tue, 16 Mar 2010 15:55:42 -0000
Author: nwhitehorn
Date: Tue Mar 16 15:55:41 2010
New Revision: 205213
URL: http://svn.freebsd.org/changeset/base/205213
Log:
Move VM_MAXUSER_ADDRESS back below 4 GB. Something is still truncating
entries in argv[] to 32-bit values, and I can't figure out what it is
right now.
As of this commit, I have unbroken everything broken with these SLB changes
and have a functional desktop again.
Modified:
projects/ppc64/sys/powerpc/include/vmparam.h
Modified: projects/ppc64/sys/powerpc/include/vmparam.h
==============================================================================
--- projects/ppc64/sys/powerpc/include/vmparam.h Tue Mar 16 15:52:38 2010 (r205212)
+++ projects/ppc64/sys/powerpc/include/vmparam.h Tue Mar 16 15:55:41 2010 (r205213)
@@ -81,7 +81,7 @@
#if !defined(LOCORE)
#ifdef __powerpc64__
#define VM_MIN_ADDRESS (0x0000000000000000UL)
-#define VM_MAXUSER_ADDRESS (0x00000004fffff000UL)
+#define VM_MAXUSER_ADDRESS (0x000000007ffff000UL)
#define VM_MAX_ADDRESS (0xffffffffffffffffUL)
#else
#define VM_MIN_ADDRESS ((vm_offset_t)0)
From owner-svn-src-projects@FreeBSD.ORG Tue Mar 16 16:11:17 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id 316731065676;
Tue, 16 Mar 2010 16:11:17 +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 16C0F8FC1C;
Tue, 16 Mar 2010 16:11:17 +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 o2GGBG5K030807;
Tue, 16 Mar 2010 16:11:16 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2GGBGfY030801;
Tue, 16 Mar 2010 16:11:16 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201003161611.o2GGBGfY030801@svn.freebsd.org>
From: Nathan Whitehorn
Date: Tue, 16 Mar 2010 16:11: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: r205215 - in projects/ppc64/sys/powerpc: aim powerpc
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Tue, 16 Mar 2010 16:11:17 -0000
Author: nwhitehorn
Date: Tue Mar 16 16:11:16 2010
New Revision: 205215
URL: http://svn.freebsd.org/changeset/base/205215
Log:
Correct a final nit with USER_SR handling: USER_ADDR is no longer at
USER_SR << 28 on powerpc64, so make sure to invalidate the correct
SLB entry when switching threads.
Modified:
projects/ppc64/sys/powerpc/aim/locore32.S
projects/ppc64/sys/powerpc/aim/locore64.S
projects/ppc64/sys/powerpc/aim/swtch32.S
projects/ppc64/sys/powerpc/aim/swtch64.S
projects/ppc64/sys/powerpc/powerpc/genassym.c
Modified: projects/ppc64/sys/powerpc/aim/locore32.S
==============================================================================
--- projects/ppc64/sys/powerpc/aim/locore32.S Tue Mar 16 16:01:19 2010 (r205214)
+++ projects/ppc64/sys/powerpc/aim/locore32.S Tue Mar 16 16:11:16 2010 (r205215)
@@ -62,7 +62,6 @@
#include
#include
-#include
#include
#include
#include
Modified: projects/ppc64/sys/powerpc/aim/locore64.S
==============================================================================
--- projects/ppc64/sys/powerpc/aim/locore64.S Tue Mar 16 16:01:19 2010 (r205214)
+++ projects/ppc64/sys/powerpc/aim/locore64.S Tue Mar 16 16:11:16 2010 (r205215)
@@ -62,7 +62,6 @@
#include
#include
-#include
#include
#include
#include
Modified: projects/ppc64/sys/powerpc/aim/swtch32.S
==============================================================================
--- projects/ppc64/sys/powerpc/aim/swtch32.S Tue Mar 16 16:01:19 2010 (r205214)
+++ projects/ppc64/sys/powerpc/aim/swtch32.S Tue Mar 16 16:11:16 2010 (r205215)
@@ -63,7 +63,6 @@
#include
#include
-#include
#include
#include
Modified: projects/ppc64/sys/powerpc/aim/swtch64.S
==============================================================================
--- projects/ppc64/sys/powerpc/aim/swtch64.S Tue Mar 16 16:01:19 2010 (r205214)
+++ projects/ppc64/sys/powerpc/aim/swtch64.S Tue Mar 16 16:11:16 2010 (r205215)
@@ -63,7 +63,6 @@
#include
#include
-#include
#include
#include
@@ -223,8 +222,10 @@ blocked_loop:
ld %r1,PCB_SP(%r3) /* Load the stack pointer */
ld %r2,PCB_TOC(%r3) /* Load the TOC pointer */
- li %r5,USER_SR /* Load the USER_SR segment reg */
- sldi %r5,%r5,28
+ lis %r5,USER_ADDR@highesta /* Load the USER_SR segment reg */
+ ori %r5,%r5,USER_ADDR@highera
+ sldi %r5,%r5,32
+ oris %r5,%r5,USER_ADDR@ha
slbie %r5
ld %r5,PCB_AIM_USR_VSID(%r3)
ld %r6,PCB_AIM_USR_ESID(%r3)
Modified: projects/ppc64/sys/powerpc/powerpc/genassym.c
==============================================================================
--- projects/ppc64/sys/powerpc/powerpc/genassym.c Tue Mar 16 16:01:19 2010 (r205214)
+++ projects/ppc64/sys/powerpc/powerpc/genassym.c Tue Mar 16 16:11:16 2010 (r205215)
@@ -102,6 +102,8 @@ ASSYM(TLBSAVE_BOOKE_R31, TLBSAVE_BOOKE_R
ASSYM(MTX_LOCK, offsetof(struct mtx, mtx_lock));
#if defined(AIM)
+ASSYM(USER_SR, USER_SR);
+ASSYM(USER_ADDR, USER_ADDR);
#ifdef __powerpc64__
ASSYM(PM_SLB, offsetof(struct pmap, pm_slb));
#else
From owner-svn-src-projects@FreeBSD.ORG Tue Mar 16 16:30:24 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id 645B1106567B;
Tue, 16 Mar 2010 16:30:24 +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 542348FC13;
Tue, 16 Mar 2010 16:30: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 o2GGUO8l035033;
Tue, 16 Mar 2010 16:30:24 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2GGUO1W035031;
Tue, 16 Mar 2010 16:30:24 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201003161630.o2GGUO1W035031@svn.freebsd.org>
From: Nathan Whitehorn
Date: Tue, 16 Mar 2010 16:30: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: r205216 - 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 " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Tue, 16 Mar 2010 16:30:24 -0000
Author: nwhitehorn
Date: Tue Mar 16 16:30:24 2010
New Revision: 205216
URL: http://svn.freebsd.org/changeset/base/205216
Log:
Fix a typo.
Submitted by: Andreas Tobler
Modified:
projects/ppc64/sys/powerpc/aim/trap_subr64.S
Modified: projects/ppc64/sys/powerpc/aim/trap_subr64.S
==============================================================================
--- projects/ppc64/sys/powerpc/aim/trap_subr64.S Tue Mar 16 16:11:16 2010 (r205215)
+++ projects/ppc64/sys/powerpc/aim/trap_subr64.S Tue Mar 16 16:30:24 2010 (r205216)
@@ -267,7 +267,7 @@ CNAME(rstcode):
mfmsr %r9
li %r8,1
insrdi %r9,%r8,1,0
- mtsmrd %r9
+ mtmsrd %r9
isync
ba cpu_reset
From owner-svn-src-projects@FreeBSD.ORG Tue Mar 16 16:48:58 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id E1B79106567B;
Tue, 16 Mar 2010 16:48:58 +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 D18B48FC22;
Tue, 16 Mar 2010 16:48: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 o2GGmw82039108;
Tue, 16 Mar 2010 16:48:58 GMT
(envelope-from rdivacky@svn.freebsd.org)
Received: (from rdivacky@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2GGmwgo039105;
Tue, 16 Mar 2010 16:48:58 GMT
(envelope-from rdivacky@svn.freebsd.org)
Message-Id: <201003161648.o2GGmwgo039105@svn.freebsd.org>
From: Roman Divacky
Date: Tue, 16 Mar 2010 16:48: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: r205217 - projects/clangbsd/sys/boot/i386/boot2
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Tue, 16 Mar 2010 16:48:59 -0000
Author: rdivacky
Date: Tue Mar 16 16:48:58 2010
New Revision: 205217
URL: http://svn.freebsd.org/changeset/base/205217
Log:
sprinkle __attribute__ ((noinline)) around
Modified:
projects/clangbsd/sys/boot/i386/boot2/boot2.c
Modified: projects/clangbsd/sys/boot/i386/boot2/boot2.c
==============================================================================
--- projects/clangbsd/sys/boot/i386/boot2/boot2.c Tue Mar 16 16:30:24 2010 (r205216)
+++ projects/clangbsd/sys/boot/i386/boot2/boot2.c Tue Mar 16 16:48:58 2010 (r205217)
@@ -152,7 +152,7 @@ static int xgetc(int);
static int getc(int);
void memcpy(void *, const void *, int);
-void
+void __attribute__ ((noinline))
memcpy(void *dst, const void *src, int len)
{
const char *s = src;
@@ -162,7 +162,7 @@ memcpy(void *dst, const void *src, int l
*d++ = *s++;
}
-static inline int
+static int __attribute__ ((noinline))
strcmp(const char *s1, const char *s2)
{
for (; *s1 == *s2 && *s1; s1++, s2++);
@@ -601,7 +601,7 @@ printf(const char *fmt,...)
return;
}
-static void
+static void __attribute__ ((noinline))
putchar(int c)
{
if (c == '\n')
From owner-svn-src-projects@FreeBSD.ORG Tue Mar 16 16:55:12 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id 6B75B106566C;
Tue, 16 Mar 2010 16:55:12 +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 5AC418FC0C;
Tue, 16 Mar 2010 16:55:12 +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 o2GGtCBO040637;
Tue, 16 Mar 2010 16:55:12 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2GGtCC4040635;
Tue, 16 Mar 2010 16:55:12 GMT
(envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201003161655.o2GGtCC4040635@svn.freebsd.org>
From: Nathan Whitehorn
Date: Tue, 16 Mar 2010 16:55:12 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc:
Subject: svn commit: r205220 - 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 " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Tue, 16 Mar 2010 16:55:12 -0000
Author: nwhitehorn
Date: Tue Mar 16 16:55:12 2010
New Revision: 205220
URL: http://svn.freebsd.org/changeset/base/205220
Log:
Revise the locking. The per-page PVO lists are protected by the VM
page queue lock, so protecting them with the table lock is unnecessary.
Replace the table locking paranoia with mtx_assert() paranoia.
This eliminates the last LOR is the 64-bit MMU code.
Modified:
projects/ppc64/sys/powerpc/aim/mmu_oea64.c
Modified: projects/ppc64/sys/powerpc/aim/mmu_oea64.c
==============================================================================
--- projects/ppc64/sys/powerpc/aim/mmu_oea64.c Tue Mar 16 16:52:15 2010 (r205219)
+++ projects/ppc64/sys/powerpc/aim/mmu_oea64.c Tue Mar 16 16:55:12 2010 (r205220)
@@ -1443,6 +1443,8 @@ moea64_enter_locked(pmap_t pmap, vm_offs
zone = moea64_upvo_zone;
pvo_flags = 0;
} else {
+ mtx_assert(&vm_page_queue_mtx, MA_OWNED);
+
pvo_head = vm_page_to_pvoh(m);
pg = m;
zone = moea64_mpvo_zone;
@@ -1729,10 +1731,10 @@ moea64_remove_write(mmu_t mmu, vm_page_t
return;
lo = moea64_attr_fetch(m);
SYNC();
- LOCK_TABLE();
LIST_FOREACH(pvo, vm_page_to_pvoh(m), pvo_vlink) {
pmap = pvo->pvo_pmap;
PMAP_LOCK(pmap);
+ LOCK_TABLE();
if ((pvo->pvo_pte.lpte.pte_lo & LPTE_PP) != LPTE_BR) {
pt = moea64_pvo_to_pte(pvo, -1);
pvo->pvo_pte.lpte.pte_lo &= ~LPTE_PP;
@@ -1745,9 +1747,9 @@ moea64_remove_write(mmu_t mmu, vm_page_t
pvo->pvo_pmap, PVO_VADDR(pvo));
}
}
+ UNLOCK_TABLE();
PMAP_UNLOCK(pmap);
}
- UNLOCK_TABLE();
if ((lo & LPTE_CHG) != 0) {
moea64_attr_clear(m, LPTE_CHG);
vm_page_dirty(m);
@@ -1891,17 +1893,15 @@ moea64_page_exists_quick(mmu_t mmu, pmap
if (!moea64_initialized || (m->flags & PG_FICTITIOUS))
return FALSE;
+ mtx_assert(&vm_page_queue_mtx, MA_OWNED);
+
loops = 0;
- LOCK_TABLE();
LIST_FOREACH(pvo, vm_page_to_pvoh(m), pvo_vlink) {
- if (pvo->pvo_pmap == pmap) {
- UNLOCK_TABLE();
+ if (pvo->pvo_pmap == pmap)
return (TRUE);
- }
if (++loops >= 16)
break;
}
- UNLOCK_TABLE();
return (FALSE);
}
@@ -1920,11 +1920,9 @@ moea64_page_wired_mappings(mmu_t mmu, vm
if (!moea64_initialized || (m->flags & PG_FICTITIOUS) != 0)
return (count);
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
- LOCK_TABLE();
LIST_FOREACH(pvo, vm_page_to_pvoh(m), pvo_vlink)
if ((pvo->pvo_vaddr & PVO_WIRED) != 0)
count++;
- UNLOCK_TABLE();
return (count);
}
@@ -2185,7 +2183,6 @@ moea64_remove_all(mmu_t mmu, vm_page_t m
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
pvo_head = vm_page_to_pvoh(m);
- LOCK_TABLE();
for (pvo = LIST_FIRST(pvo_head); pvo != NULL; pvo = next_pvo) {
next_pvo = LIST_NEXT(pvo, pvo_vlink);
@@ -2195,7 +2192,6 @@ moea64_remove_all(mmu_t mmu, vm_page_t m
moea64_pvo_remove(pvo, -1);
PMAP_UNLOCK(pmap);
}
- UNLOCK_TABLE();
if ((m->flags & PG_WRITEABLE) && moea64_is_modified(mmu, m)) {
moea64_attr_clear(m, LPTE_CHG);
vm_page_dirty(m);
@@ -2643,7 +2639,8 @@ moea64_query_bit(vm_page_t m, u_int64_t
if (moea64_attr_fetch(m) & ptebit)
return (TRUE);
- LOCK_TABLE();
+ mtx_assert(&vm_page_queue_mtx, MA_OWNED);
+
LIST_FOREACH(pvo, vm_page_to_pvoh(m), pvo_vlink) {
MOEA_PVO_CHECK(pvo); /* sanity check */
@@ -2653,7 +2650,6 @@ moea64_query_bit(vm_page_t m, u_int64_t
*/
if (pvo->pvo_pte.lpte.pte_lo & ptebit) {
moea64_attr_save(m, ptebit);
- UNLOCK_TABLE();
MOEA_PVO_CHECK(pvo); /* sanity check */
return (TRUE);
}
@@ -2673,6 +2669,7 @@ moea64_query_bit(vm_page_t m, u_int64_t
* REF/CHG bits from the valid PTE. If the appropriate
* ptebit is set, cache it and return success.
*/
+ LOCK_TABLE();
pt = moea64_pvo_to_pte(pvo, -1);
if (pt != NULL) {
moea64_pte_synch(pt, &pvo->pvo_pte.lpte);
@@ -2684,8 +2681,8 @@ moea64_query_bit(vm_page_t m, u_int64_t
return (TRUE);
}
}
+ UNLOCK_TABLE();
}
- UNLOCK_TABLE();
return (FALSE);
}
@@ -2698,6 +2695,8 @@ moea64_clear_bit(vm_page_t m, u_int64_t
struct lpte *pt;
uint64_t rv;
+ mtx_assert(&vm_page_queue_mtx, MA_OWNED);
+
/*
* Clear the cached value.
*/
@@ -2718,10 +2717,10 @@ moea64_clear_bit(vm_page_t m, u_int64_t
* valid pte clear the ptebit from the valid pte.
*/
count = 0;
- LOCK_TABLE();
LIST_FOREACH(pvo, vm_page_to_pvoh(m), pvo_vlink) {
MOEA_PVO_CHECK(pvo); /* sanity check */
+ LOCK_TABLE();
pt = moea64_pvo_to_pte(pvo, -1);
if (pt != NULL) {
moea64_pte_synch(pt, &pvo->pvo_pte.lpte);
@@ -2733,8 +2732,8 @@ moea64_clear_bit(vm_page_t m, u_int64_t
rv |= pvo->pvo_pte.lpte.pte_lo;
pvo->pvo_pte.lpte.pte_lo &= ~ptebit;
MOEA_PVO_CHECK(pvo); /* sanity check */
+ UNLOCK_TABLE();
}
- UNLOCK_TABLE();
if (origbit != NULL) {
*origbit = rv;
From owner-svn-src-projects@FreeBSD.ORG Tue Mar 16 21:24:55 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id 0ED74106566C;
Tue, 16 Mar 2010 21:24:55 +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 ED4808FC0A;
Tue, 16 Mar 2010 21:24: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 o2GLOsuW000270;
Tue, 16 Mar 2010 21:24:54 GMT
(envelope-from rdivacky@svn.freebsd.org)
Received: (from rdivacky@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2GLOsir000248;
Tue, 16 Mar 2010 21:24:54 GMT
(envelope-from rdivacky@svn.freebsd.org)
Message-Id: <201003162124.o2GLOsir000248@svn.freebsd.org>
From: Roman Divacky
Date: Tue, 16 Mar 2010 21:24: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: r205226 - in projects/clangbsd: contrib/llvm
contrib/llvm/autoconf contrib/llvm/cmake
contrib/llvm/cmake/modules contrib/llvm/docs
contrib/llvm/examples/OCaml-Kaleidoscope contrib/llvm/...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Tue, 16 Mar 2010 21:24:55 -0000
Author: rdivacky
Date: Tue Mar 16 21:24:53 2010
New Revision: 205226
URL: http://svn.freebsd.org/changeset/base/205226
Log:
Merge from vendor and update the build infrastructure.
Added:
projects/clangbsd/contrib/llvm/examples/OCaml-Kaleidoscope/
- copied from r205219, vendor/llvm/dist/examples/OCaml-Kaleidoscope/
projects/clangbsd/contrib/llvm/include/llvm/MC/MCAsmLayout.h
- copied unchanged from r205219, vendor/llvm/dist/include/llvm/MC/MCAsmLayout.h
projects/clangbsd/contrib/llvm/include/llvm/System/Valgrind.h
- copied unchanged from r205219, vendor/llvm/dist/include/llvm/System/Valgrind.h
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
- copied unchanged from r205219, vendor/llvm/dist/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
projects/clangbsd/contrib/llvm/lib/System/SearchForAddressOfSpecialSymbol.cpp
- copied unchanged from r205219, vendor/llvm/dist/lib/System/SearchForAddressOfSpecialSymbol.cpp
projects/clangbsd/contrib/llvm/lib/System/Valgrind.cpp
- copied unchanged from r205219, vendor/llvm/dist/lib/System/Valgrind.cpp
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/fp16.ll
- copied unchanged from r205219, vendor/llvm/dist/test/CodeGen/ARM/fp16.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Generic/addr-label.ll
- copied unchanged from r205219, vendor/llvm/dist/test/CodeGen/Generic/addr-label.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/2010-03-15-AsmCCClobber.ll
- copied unchanged from r205219, vendor/llvm/dist/test/CodeGen/Thumb2/2010-03-15-AsmCCClobber.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2007-02-16-BranchFold.ll
- copied unchanged from r205219, vendor/llvm/dist/test/CodeGen/X86/2007-02-16-BranchFold.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2007-05-05-Personality.ll
- copied unchanged from r205219, vendor/llvm/dist/test/CodeGen/X86/2007-05-05-Personality.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/GC/
- copied from r205219, vendor/llvm/dist/test/CodeGen/X86/GC/
projects/clangbsd/contrib/llvm/test/CodeGen/X86/gather-addresses.ll
- copied unchanged from r205219, vendor/llvm/dist/test/CodeGen/X86/gather-addresses.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/ghc-cc.ll
- copied unchanged from r205219, vendor/llvm/dist/test/CodeGen/X86/ghc-cc.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/ghc-cc64.ll
- copied unchanged from r205219, vendor/llvm/dist/test/CodeGen/X86/ghc-cc64.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/liveness-local-regalloc.ll
- copied unchanged from r205219, vendor/llvm/dist/test/CodeGen/X86/liveness-local-regalloc.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/phys_subreg_coalesce-3.ll
- copied unchanged from r205219, vendor/llvm/dist/test/CodeGen/X86/phys_subreg_coalesce-3.ll
projects/clangbsd/contrib/llvm/test/DebugInfo/2010-03-12-llc-crash.ll
- copied unchanged from r205219, vendor/llvm/dist/test/DebugInfo/2010-03-12-llc-crash.ll
projects/clangbsd/contrib/llvm/test/FrontendC/2010-03-10-arm-asmreg.c
- copied unchanged from r205219, vendor/llvm/dist/test/FrontendC/2010-03-10-arm-asmreg.c
projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_32-mismatched-add.s
- copied unchanged from r205219, vendor/llvm/dist/test/MC/AsmParser/X86/x86_32-mismatched-add.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_64-operands.s
- copied unchanged from r205219, vendor/llvm/dist/test/MC/AsmParser/X86/x86_64-operands.s
projects/clangbsd/contrib/llvm/test/MC/MachO/absolutize.s
- copied unchanged from r205219, vendor/llvm/dist/test/MC/MachO/absolutize.s
projects/clangbsd/contrib/llvm/test/MC/MachO/relax-jumps.s
- copied unchanged from r205219, vendor/llvm/dist/test/MC/MachO/relax-jumps.s
projects/clangbsd/contrib/llvm/test/MC/MachO/relax-recompute-align.s
- copied unchanged from r205219, vendor/llvm/dist/test/MC/MachO/relax-recompute-align.s
projects/clangbsd/contrib/llvm/test/MC/MachO/reloc-pcrel-offset.s
- copied unchanged from r205219, vendor/llvm/dist/test/MC/MachO/reloc-pcrel-offset.s
projects/clangbsd/contrib/llvm/test/MC/MachO/x86_32-sections.s
- copied unchanged from r205219, vendor/llvm/dist/test/MC/MachO/x86_32-sections.s
projects/clangbsd/contrib/llvm/test/MC/MachO/x86_32-symbols.s
- copied unchanged from r205219, vendor/llvm/dist/test/MC/MachO/x86_32-symbols.s
projects/clangbsd/contrib/llvm/test/MC/MachO/x86_64-sections.s
- copied unchanged from r205219, vendor/llvm/dist/test/MC/MachO/x86_64-sections.s
projects/clangbsd/contrib/llvm/test/MC/MachO/x86_64-symbols.s
- copied unchanged from r205219, vendor/llvm/dist/test/MC/MachO/x86_64-symbols.s
projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/gepgep.ll
- copied unchanged from r205219, vendor/llvm/dist/test/Transforms/InstCombine/gepgep.ll
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h
- copied unchanged from r205220, vendor/clang/dist/include/clang/AST/DeclFriend.h
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclFriend.cpp
- copied unchanged from r205220, vendor/clang/dist/lib/AST/DeclFriend.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp
- copied unchanged from r205220, vendor/clang/dist/lib/Sema/SemaObjCProperty.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.res/temp.local/p7.cpp
- copied unchanged from r205220, vendor/clang/dist/test/CXX/temp/temp.res/temp.local/p7.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.res/temp.local/p8.cpp
- copied unchanged from r205220, vendor/clang/dist/test/CXX/temp/temp.res/temp.local/p8.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.res/temp.local/p9.cpp
- copied unchanged from r205220, vendor/clang/dist/test/CXX/temp/temp.res/temp.local/p9.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/varargs.c
- copied unchanged from r205220, vendor/clang/dist/test/CodeGen/varargs.c
projects/clangbsd/contrib/llvm/tools/clang/test/PCH/changed-files.c
- copied unchanged from r205220, vendor/clang/dist/test/PCH/changed-files.c
projects/clangbsd/contrib/llvm/tools/clang/test/Parser/missing-end.m
- copied unchanged from r205220, vendor/clang/dist/test/Parser/missing-end.m
projects/clangbsd/contrib/llvm/tools/clang/test/Rewriter/rewrite-local-externs-in-block.mm
- copied unchanged from r205220, vendor/clang/dist/test/Rewriter/rewrite-local-externs-in-block.mm
projects/clangbsd/contrib/llvm/tools/clang/test/Rewriter/rewrite-super-message.mm
- copied unchanged from r205220, vendor/clang/dist/test/Rewriter/rewrite-super-message.mm
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/missing-field-initializers.c
- copied unchanged from r205220, vendor/clang/dist/test/Sema/missing-field-initializers.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/warn-unused-value.c
- copied unchanged from r205220, vendor/clang/dist/test/Sema/warn-unused-value.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/warn-write-strings.c
- copied unchanged from r205220, vendor/clang/dist/test/Sema/warn-write-strings.c
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/PR6562.cpp
- copied unchanged from r205220, vendor/clang/dist/test/SemaCXX/PR6562.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/warn-unused-value.cpp
- copied unchanged from r205220, vendor/clang/dist/test/SemaCXX/warn-unused-value.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/duplicate-property.m
- copied unchanged from r205220, vendor/clang/dist/test/SemaObjC/duplicate-property.m
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/warn-write-strings.m
- copied unchanged from r205220, vendor/clang/dist/test/SemaObjC/warn-write-strings.m
projects/clangbsd/contrib/llvm/unittests/VMCore/InstructionsTest.cpp
- copied unchanged from r205219, vendor/llvm/dist/unittests/VMCore/InstructionsTest.cpp
Deleted:
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SDDbgValue.h
projects/clangbsd/contrib/llvm/lib/Target/X86/X86MCTargetExpr.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86MCTargetExpr.h
projects/clangbsd/contrib/llvm/test/CodeGen/Generic/2007-02-16-BranchFold.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Generic/2007-05-05-Personality.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Generic/GC/
projects/clangbsd/contrib/llvm/test/MC/MachO/sections.s
Modified:
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/configure
projects/clangbsd/contrib/llvm/docs/CodeGenerator.html
projects/clangbsd/contrib/llvm/docs/LangRef.html
projects/clangbsd/contrib/llvm/include/llvm-c/Transforms/Scalar.h
projects/clangbsd/contrib/llvm/include/llvm/ADT/STLExtras.h
projects/clangbsd/contrib/llvm/include/llvm/Analysis/InlineCost.h
projects/clangbsd/contrib/llvm/include/llvm/Analysis/LoopInfo.h
projects/clangbsd/contrib/llvm/include/llvm/CallingConv.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/GCMetadata.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/GCMetadataPrinter.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/JITCodeEmitter.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.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/MachineFunction.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineJumpTableInfo.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineLocation.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineOperand.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/ObjectCodeEmitter.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/RuntimeLibcalls.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/TargetLoweringObjectFileImpl.h
projects/clangbsd/contrib/llvm/include/llvm/Config/config.h.cmake
projects/clangbsd/contrib/llvm/include/llvm/Config/config.h.in
projects/clangbsd/contrib/llvm/include/llvm/Instructions.h
projects/clangbsd/contrib/llvm/include/llvm/Intrinsics.td
projects/clangbsd/contrib/llvm/include/llvm/MC/MCAsmInfo.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCAssembler.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCContext.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCExpr.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCParser/AsmParser.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCSection.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCSectionELF.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCSectionMachO.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/Metadata.h
projects/clangbsd/contrib/llvm/include/llvm/OperandTraits.h
projects/clangbsd/contrib/llvm/include/llvm/Support/MemoryBuffer.h
projects/clangbsd/contrib/llvm/include/llvm/Target/Mangler.h
projects/clangbsd/contrib/llvm/include/llvm/Target/TargetAsmBackend.h
projects/clangbsd/contrib/llvm/include/llvm/Target/TargetLowering.h
projects/clangbsd/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h
projects/clangbsd/contrib/llvm/include/llvm/Target/TargetMachine.h
projects/clangbsd/contrib/llvm/include/llvm/Target/TargetRegistry.h
projects/clangbsd/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td
projects/clangbsd/contrib/llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
projects/clangbsd/contrib/llvm/lib/Analysis/ConstantFolding.cpp
projects/clangbsd/contrib/llvm/lib/Analysis/InlineCost.cpp
projects/clangbsd/contrib/llvm/lib/Analysis/LoopInfo.cpp
projects/clangbsd/contrib/llvm/lib/Analysis/ValueTracking.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.h
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/DwarfException.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h
projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfPrinter.h
projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/BranchFolding.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/ELFCodeEmitter.h
projects/clangbsd/contrib/llvm/lib/CodeGen/ELFWriter.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/GCMetadata.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/GCMetadataPrinter.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/GCStrategy.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/MachineCSE.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/MachineFunction.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/MachineFunctionAnalysis.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/MachineInstr.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/MachineModuleInfoImpls.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/RegAllocLocal.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.h
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/TailDuplication.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/UnreachableBlockElim.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/VirtRegRewriter.cpp
projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp
projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp
projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCAsmInfo.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCAsmInfoCOFF.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCAsmStreamer.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCAssembler.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCContext.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCExpr.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCMachOStreamer.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCParser/AsmParser.cpp
projects/clangbsd/contrib/llvm/lib/Support/MemoryBuffer.cpp
projects/clangbsd/contrib/llvm/lib/System/CMakeLists.txt
projects/clangbsd/contrib/llvm/lib/System/DynamicLibrary.cpp
projects/clangbsd/contrib/llvm/lib/System/Memory.cpp
projects/clangbsd/contrib/llvm/lib/System/Unix/Program.inc
projects/clangbsd/contrib/llvm/lib/System/Win32/Path.inc
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARM.td
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/ARMCodeEmitter.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.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.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/ARMSubtarget.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMSubtarget.h
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMTargetObjectFile.h
projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmParser/Makefile
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/AsmPrinter/Makefile
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/Thumb2SizeReduction.cpp
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/Alpha/AsmPrinter/Makefile
projects/clangbsd/contrib/llvm/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/Blackfin/AsmPrinter/Makefile
projects/clangbsd/contrib/llvm/lib/Target/CBackend/CBackend.cpp
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/AsmPrinter/Makefile
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/CellSDKIntrinsics.td
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPU64InstrInfo.td
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPUInstrInfo.td
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPUOperands.td
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/MBlaze/AsmPrinter/MBlazeAsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/MBlaze/AsmPrinter/Makefile
projects/clangbsd/contrib/llvm/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/MSP430/AsmPrinter/MSP430MCInstLower.cpp
projects/clangbsd/contrib/llvm/lib/Target/MSP430/AsmPrinter/Makefile
projects/clangbsd/contrib/llvm/lib/Target/Mangler.cpp
projects/clangbsd/contrib/llvm/lib/Target/Mips/AsmPrinter/Makefile
projects/clangbsd/contrib/llvm/lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/PIC16/AsmPrinter/Makefile
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/PowerPC/AsmPrinter/Makefile
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCCodeEmitter.cpp
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/README.txt
projects/clangbsd/contrib/llvm/lib/Target/Sparc/AsmPrinter/Makefile
projects/clangbsd/contrib/llvm/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/SystemZ/AsmPrinter/Makefile
projects/clangbsd/contrib/llvm/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/AsmParser/Makefile
projects/clangbsd/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/Makefile
projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.h
projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/CMakeLists.txt
projects/clangbsd/contrib/llvm/lib/Target/X86/Disassembler/Makefile
projects/clangbsd/contrib/llvm/lib/Target/X86/TargetInfo/Makefile
projects/clangbsd/contrib/llvm/lib/Target/X86/X86.h
projects/clangbsd/contrib/llvm/lib/Target/X86/X86.td
projects/clangbsd/contrib/llvm/lib/Target/X86/X86AsmBackend.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86COFFMachineModuleInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86COFFMachineModuleInfo.h
projects/clangbsd/contrib/llvm/lib/Target/X86/X86CallingConv.td
projects/clangbsd/contrib/llvm/lib/Target/X86/X86CodeEmitter.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86FastISel.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.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/X86JITInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86MCAsmInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86RegisterInfo.h
projects/clangbsd/contrib/llvm/lib/Target/X86/X86RegisterInfo.td
projects/clangbsd/contrib/llvm/lib/Target/X86/X86Subtarget.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86Subtarget.h
projects/clangbsd/contrib/llvm/lib/Target/X86/X86TargetObjectFile.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86TargetObjectFile.h
projects/clangbsd/contrib/llvm/lib/Target/XCore/AsmPrinter/Makefile
projects/clangbsd/contrib/llvm/lib/Target/XCore/AsmPrinter/XCoreAsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/XCore/README.txt
projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp
projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp
projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreISelLowering.h
projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreMachineFunctionInfo.h
projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/Scalar.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Utils/BuildLibCalls.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Utils/LCSSA.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Utils/LoopSimplify.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Utils/LoopUnroll.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
projects/clangbsd/contrib/llvm/lib/VMCore/IntrinsicInst.cpp
projects/clangbsd/contrib/llvm/lib/VMCore/LLVMContextImpl.h
projects/clangbsd/contrib/llvm/lib/VMCore/Metadata.cpp
projects/clangbsd/contrib/llvm/lib/VMCore/Type.cpp
projects/clangbsd/contrib/llvm/test/CMakeLists.txt
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/indirectbr.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Generic/2007-04-13-SwitchLowerBadPhi.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Generic/2007-11-21-UndeadIllegalNode.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Generic/2007-12-17-InvokeAsm.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Generic/2007-12-31-UnusedSelector.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Generic/2008-08-07-PtrToInt-SmallerInt.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Generic/2009-11-16-BadKillsCrash.ll
projects/clangbsd/contrib/llvm/test/CodeGen/PowerPC/2008-10-31-PPCF128Libcalls.ll
projects/clangbsd/contrib/llvm/test/CodeGen/PowerPC/indirectbr.ll
projects/clangbsd/contrib/llvm/test/CodeGen/PowerPC/ppc-prologue.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2004-03-30-Select-Max.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2008-08-05-SpillerBug.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2009-03-13-PHIElimBug.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2009-03-16-PHIElimInLPad.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/clz.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/crash.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/object-size.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/personality.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/pic.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/tailcall-largecode.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/tailcallfp2.ll
projects/clangbsd/contrib/llvm/test/CodeGen/XCore/addsub64.ll
projects/clangbsd/contrib/llvm/test/CodeGen/XCore/indirectbr.ll
projects/clangbsd/contrib/llvm/test/CodeGen/XCore/mul64.ll
projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_32-bit.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_32-bit_cat.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_32-encoding.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_32-new-encoder.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_64-new-encoder.s
projects/clangbsd/contrib/llvm/test/MC/MachO/Darwin/x86_32_diff_as.s
projects/clangbsd/contrib/llvm/test/MC/MachO/symbols-1.s
projects/clangbsd/contrib/llvm/test/Other/constant-fold-gep.ll
projects/clangbsd/contrib/llvm/test/Scripts/macho-dump
projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/shift-sra.ll
projects/clangbsd/contrib/llvm/tools/bugpoint/ExecutionDriver.cpp
projects/clangbsd/contrib/llvm/tools/bugpoint/ToolRunner.cpp
projects/clangbsd/contrib/llvm/tools/bugpoint/ToolRunner.h
projects/clangbsd/contrib/llvm/tools/clang/Makefile
projects/clangbsd/contrib/llvm/tools/clang/clang.xcodeproj/project.pbxproj
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/Decl.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclVisitor.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/RecordLayout.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/CFG.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td
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/Basic/IdentifierTable.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/PartialDiagnostic.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/GRExprEngine.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/Action.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/ArgList.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/Job.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Lex/PTHManager.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ASTImporter.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/Expr.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Makefile
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/RecordLayout.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/TypePrinter.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/Makefile
projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/SourceLocation.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/GRExprEngine.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/Makefile
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/RegionStore.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGRTTI.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGVtable.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGVtable.h
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/Makefile
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/Mangle.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Action.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/ArgList.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Driver.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Job.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CacheTokens.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/HTMLDiagnostics.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/Makefile
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/PCHWriter.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHWriterDecl.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/RewriteMacros.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/smmintrin.h
projects/clangbsd/contrib/llvm/tools/clang/lib/Index/Entity.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Index/GlobalSelector.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Index/Makefile
projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/Makefile
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/PPLexerChange.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/PTHLexer.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/Makefile
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Rewrite/HTMLRewrite.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Rewrite/Makefile
projects/clangbsd/contrib/llvm/tools/clang/lib/Rewrite/Rewriter.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/CMakeLists.txt
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/Makefile
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/Sema.h
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp
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/SemaExceptionSpec.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/SemaExprObjC.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaInit.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/SemaTemplateInstantiate.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/class.access/class.friend/p1.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/class.access/p4.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p1-emit.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/PR6474.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/explicit-instantiation.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/mangle-exprs.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/mangle-template.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/mangle.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/member-templates.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/template-linkage.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/temporaries.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/vtable-layout.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/compare.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/overloadable.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/return.c
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/decl-expr-ambiguity.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjCXX/objc-pointer-conv.mm
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-function-1.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/virtual-member-functions.cpp
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/CIndexCodeCompletion.cpp
projects/clangbsd/contrib/llvm/tools/clang/tools/CIndex/CIndexUSRs.cpp
projects/clangbsd/contrib/llvm/tools/clang/tools/CIndex/Makefile
projects/clangbsd/contrib/llvm/tools/clang/tools/Makefile
projects/clangbsd/contrib/llvm/tools/clang/tools/driver/Makefile
projects/clangbsd/contrib/llvm/tools/clang/www/analyzer/index.html
projects/clangbsd/contrib/llvm/tools/clang/www/analyzer/latest_checker.html.incl
projects/clangbsd/contrib/llvm/tools/edis/EDDisassembler.cpp
projects/clangbsd/contrib/llvm/tools/llvm-mc/llvm-mc.cpp
projects/clangbsd/contrib/llvm/tools/lto/LTOCodeGenerator.cpp
projects/clangbsd/contrib/llvm/tools/lto/LTOModule.cpp
projects/clangbsd/contrib/llvm/unittests/Transforms/Utils/Cloning.cpp
projects/clangbsd/contrib/llvm/unittests/VMCore/MetadataTest.cpp
projects/clangbsd/contrib/llvm/unittests/VMCore/PassManagerTest.cpp
projects/clangbsd/contrib/llvm/unittests/VMCore/VerifierTest.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.h
projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenTarget.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenTarget.h
projects/clangbsd/contrib/llvm/utils/TableGen/DAGISelEmitter.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/DAGISelMatcherOpt.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/EDEmitter.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/FastISelEmitter.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/X86RecognizableInstr.cpp
projects/clangbsd/contrib/llvm/utils/lit/lit/TestFormats.py
projects/clangbsd/contrib/llvm/utils/mkpatch
projects/clangbsd/usr.bin/clang/lib/libclangast/Makefile
projects/clangbsd/usr.bin/clang/lib/libclangsema/Makefile
projects/clangbsd/usr.bin/clang/lib/libllvmsystem/Makefile
projects/clangbsd/usr.bin/clang/lib/libllvmx86codegen/Makefile
Directory Properties:
projects/clangbsd/contrib/llvm/ (props changed)
projects/clangbsd/contrib/llvm/tools/clang/ (props changed)
Modified: projects/clangbsd/contrib/llvm/Makefile.rules
==============================================================================
--- projects/clangbsd/contrib/llvm/Makefile.rules Tue Mar 16 20:42:54 2010 (r205225)
+++ projects/clangbsd/contrib/llvm/Makefile.rules Tue Mar 16 21:24:53 2010 (r205226)
@@ -1329,7 +1329,7 @@ uninstall-local::
# TOOLALIAS install.
ifdef TOOLALIAS
-DestToolAlias = $(PROJ_bindir)/$(TOOLALIAS)$(EXEEXT)
+DestToolAlias = $(DESTDIR)$(PROJ_bindir)/$(TOOLALIAS)$(EXEEXT)
install-local:: $(DestToolAlias)
Modified: projects/clangbsd/contrib/llvm/autoconf/configure.ac
==============================================================================
--- projects/clangbsd/contrib/llvm/autoconf/configure.ac Tue Mar 16 20:42:54 2010 (r205225)
+++ projects/clangbsd/contrib/llvm/autoconf/configure.ac Tue Mar 16 21:24:53 2010 (r205226)
@@ -1210,6 +1210,7 @@ AC_CHECK_HEADERS([malloc.h setjmp.h sign
AC_CHECK_HEADERS([utime.h windows.h])
AC_CHECK_HEADERS([sys/mman.h sys/param.h sys/resource.h sys/time.h])
AC_CHECK_HEADERS([sys/types.h sys/ioctl.h malloc/malloc.h mach/mach.h])
+AC_CHECK_HEADERS([valgrind/valgrind.h])
if test "$ENABLE_THREADS" -eq 1 ; then
AC_CHECK_HEADERS(pthread.h,
AC_SUBST(HAVE_PTHREAD, 1),
Modified: projects/clangbsd/contrib/llvm/cmake/config-ix.cmake
==============================================================================
--- projects/clangbsd/contrib/llvm/cmake/config-ix.cmake Tue Mar 16 20:42:54 2010 (r205225)
+++ projects/clangbsd/contrib/llvm/cmake/config-ix.cmake Tue Mar 16 21:24:53 2010 (r205226)
@@ -67,6 +67,7 @@ check_include_file(sys/wait.h HAVE_SYS_W
check_include_file(termios.h HAVE_TERMIOS_H)
check_include_file(unistd.h HAVE_UNISTD_H)
check_include_file(utime.h HAVE_UTIME_H)
+check_include_file(valgrind/valgrind.h HAVE_VALGRIND_VALGRIND_H)
check_include_file(windows.h HAVE_WINDOWS_H)
# library checks
Modified: projects/clangbsd/contrib/llvm/cmake/modules/LLVMLibDeps.cmake
==============================================================================
--- projects/clangbsd/contrib/llvm/cmake/modules/LLVMLibDeps.cmake Tue Mar 16 20:42:54 2010 (r205225)
+++ projects/clangbsd/contrib/llvm/cmake/modules/LLVMLibDeps.cmake Tue Mar 16 21:24:53 2010 (r205226)
@@ -1,8 +1,8 @@
set(MSVC_LIB_DEPS_LLVMARMAsmParser LLVMARMInfo LLVMMCParser LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMARMAsmPrinter LLVMARMCodeGen LLVMARMInfo LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMARMAsmPrinter LLVMARMCodeGen LLVMARMInfo LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMARMCodeGen LLVMARMInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMARMInfo LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMAlphaAsmPrinter LLVMAlphaInfo LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMAlphaAsmPrinter LLVMAlphaInfo LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMAlphaCodeGen LLVMAlphaInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMAlphaInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMAnalysis LLVMCore LLVMSupport LLVMSystem LLVMTarget)
@@ -11,12 +11,12 @@ set(MSVC_LIB_DEPS_LLVMAsmParser LLVMCore
set(MSVC_LIB_DEPS_LLVMAsmPrinter LLVMAnalysis LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMBitReader LLVMCore LLVMSupport)
set(MSVC_LIB_DEPS_LLVMBitWriter LLVMCore LLVMSupport LLVMSystem)
-set(MSVC_LIB_DEPS_LLVMBlackfinAsmPrinter LLVMAsmPrinter LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMBlackfinAsmPrinter LLVMAsmPrinter LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMBlackfinCodeGen LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMBlackfinInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMCBackend LLVMAnalysis LLVMCBackendInfo LLVMCodeGen LLVMCore LLVMMC LLVMScalarOpts LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils LLVMipa)
set(MSVC_LIB_DEPS_LLVMCBackendInfo LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMCellSPUAsmPrinter LLVMAsmPrinter LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMCellSPUAsmPrinter LLVMAsmPrinter LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMCellSPUCodeGen LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMCellSPUInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMCodeGen LLVMAnalysis LLVMCore LLVMMC LLVMScalarOpts LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils)
@@ -29,41 +29,44 @@ set(MSVC_LIB_DEPS_LLVMInstrumentation LL
set(MSVC_LIB_DEPS_LLVMInterpreter LLVMCodeGen LLVMCore LLVMExecutionEngine LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMJIT LLVMAnalysis LLVMCodeGen LLVMCore LLVMExecutionEngine LLVMMC LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMLinker LLVMArchive LLVMBitReader LLVMCore LLVMSupport LLVMSystem)
+set(MSVC_LIB_DEPS_LLVMMBlazeAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMBlazeCodeGen LLVMMBlazeInfo LLVMMC LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMMBlazeCodeGen LLVMCodeGen LLVMCore LLVMMBlazeInfo LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMMBlazeInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMMC LLVMSupport LLVMSystem)
set(MSVC_LIB_DEPS_LLVMMCParser LLVMMC LLVMSupport)
set(MSVC_LIB_DEPS_LLVMMSIL LLVMAnalysis LLVMCodeGen LLVMCore LLVMMSILInfo LLVMScalarOpts LLVMSupport LLVMTarget LLVMTransformUtils LLVMipa)
set(MSVC_LIB_DEPS_LLVMMSILInfo LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMMSP430AsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMSP430Info LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMMSP430AsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMSP430Info LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMMSP430CodeGen LLVMCodeGen LLVMCore LLVMMC LLVMMSP430Info LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMMSP430Info LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMMipsAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMipsCodeGen LLVMMipsInfo LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMMipsAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMipsCodeGen LLVMMipsInfo LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMMipsCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMMipsInfo LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMMipsInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMPIC16 LLVMAnalysis LLVMCodeGen LLVMCore LLVMMC LLVMPIC16Info LLVMSelectionDAG LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMPIC16AsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMPIC16 LLVMPIC16Info LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMPIC16Info LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMPowerPCAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMPowerPCInfo LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMPowerPCAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMPowerPCInfo LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMPowerPCCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMPowerPCInfo LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMPowerPCInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMScalarOpts LLVMAnalysis LLVMCore LLVMInstCombine LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils)
-set(MSVC_LIB_DEPS_LLVMSelectionDAG LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMSupport LLVMSystem LLVMTarget)
-set(MSVC_LIB_DEPS_LLVMSparcAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSparcInfo LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMSelectionDAG LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMSparcAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSparcInfo LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMSparcCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSparcInfo LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMSparcInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMSupport LLVMSystem)
set(MSVC_LIB_DEPS_LLVMSystem )
-set(MSVC_LIB_DEPS_LLVMSystemZAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMSystemZInfo LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMSystemZAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystemZInfo LLVMTarget)
set(MSVC_LIB_DEPS_LLVMSystemZCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystemZInfo LLVMTarget)
set(MSVC_LIB_DEPS_LLVMSystemZInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMTarget LLVMCore LLVMMC LLVMSupport)
set(MSVC_LIB_DEPS_LLVMTransformUtils LLVMAnalysis LLVMCore LLVMSupport LLVMSystem LLVMTarget LLVMipa)
-set(MSVC_LIB_DEPS_LLVMX86AsmParser LLVMMC LLVMMCParser LLVMSupport LLVMX86Info)
-set(MSVC_LIB_DEPS_LLVMX86AsmPrinter LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget LLVMX86CodeGen LLVMX86Info)
+set(MSVC_LIB_DEPS_LLVMX86AsmParser LLVMMC LLVMMCParser LLVMSupport LLVMTarget LLVMX86Info)
+set(MSVC_LIB_DEPS_LLVMX86AsmPrinter LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget LLVMX86CodeGen LLVMX86Info)
set(MSVC_LIB_DEPS_LLVMX86CodeGen LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget LLVMX86Info)
set(MSVC_LIB_DEPS_LLVMX86Disassembler LLVMMC LLVMSupport LLVMX86Info)
set(MSVC_LIB_DEPS_LLVMX86Info LLVMSupport)
set(MSVC_LIB_DEPS_LLVMXCore LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget LLVMXCoreInfo)
-set(MSVC_LIB_DEPS_LLVMXCoreAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget LLVMXCoreInfo)
+set(MSVC_LIB_DEPS_LLVMXCoreAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget LLVMXCoreInfo)
set(MSVC_LIB_DEPS_LLVMXCoreInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMipa LLVMAnalysis LLVMCore LLVMSupport LLVMSystem)
set(MSVC_LIB_DEPS_LLVMipo LLVMAnalysis LLVMCore LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils LLVMipa)
Modified: projects/clangbsd/contrib/llvm/configure
==============================================================================
--- projects/clangbsd/contrib/llvm/configure Tue Mar 16 20:42:54 2010 (r205225)
+++ projects/clangbsd/contrib/llvm/configure Tue Mar 16 21:24:53 2010 (r205226)
@@ -16177,6 +16177,175 @@ fi
done
+
+for ac_header in valgrind/valgrind.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+## ----------------------------------- ##
+## Report this to llvmbugs@cs.uiuc.edu ##
+## ----------------------------------- ##
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
if test "$ENABLE_THREADS" -eq 1 ; then
for ac_header in pthread.h
Modified: projects/clangbsd/contrib/llvm/docs/CodeGenerator.html
==============================================================================
--- projects/clangbsd/contrib/llvm/docs/CodeGenerator.html Tue Mar 16 20:42:54 2010 (r205225)
+++ projects/clangbsd/contrib/llvm/docs/CodeGenerator.html Tue Mar 16 21:24:53 2010 (r205226)
@@ -1679,7 +1679,8 @@ $ llc -regalloc=linearscan file.bc -o ln
supported on x86/x86-64 and PowerPC. It is performed if:
- - Caller and callee have the calling convention fastcc.
+ - Caller and callee have the calling convention fastcc or
+ cc 10 (GHC call convention).
- The call is a tail call - in tail position (ret immediately follows call
and ret uses value of call or is void).
@@ -2161,7 +2162,7 @@ MOVSX32rm16 -> movsx, 32-bit register
Chris Lattner
The LLVM Compiler Infrastructure
- Last modified: $Date: 2010-03-08 22:05:02 +0100 (Mon, 08 Mar 2010) $
+ Last modified: $Date: 2010-03-11 01:22:57 +0100 (Thu, 11 Mar 2010) $