PERFORCE change 109593 for review
John Birrell
jb at FreeBSD.org
Thu Nov 9 05:26:03 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=109593
Change 109593 by jb at jb_freebsd8 on 2006/11/09 05:25:08
IFC
Affected files ...
.. //depot/projects/binutils/src/ObsoleteFiles.inc#3 integrate
.. //depot/projects/binutils/src/bin/sh/expand.c#3 integrate
.. //depot/projects/binutils/src/sbin/quotacheck/quotacheck.8#2 integrate
.. //depot/projects/binutils/src/sbin/quotacheck/quotacheck.c#2 integrate
.. //depot/projects/binutils/src/sys/amd64/amd64/machdep.c#2 integrate
.. //depot/projects/binutils/src/sys/amd64/linux32/linux.h#2 integrate
.. //depot/projects/binutils/src/sys/arm/arm/cpufunc.c#2 integrate
.. //depot/projects/binutils/src/sys/arm/arm/identcpu.c#2 integrate
.. //depot/projects/binutils/src/sys/arm/arm/intr.c#2 integrate
.. //depot/projects/binutils/src/sys/arm/arm/pmap.c#2 integrate
.. //depot/projects/binutils/src/sys/arm/arm/vm_machdep.c#2 integrate
.. //depot/projects/binutils/src/sys/arm/include/armreg.h#2 integrate
.. //depot/projects/binutils/src/sys/arm/include/atomic.h#2 integrate
.. //depot/projects/binutils/src/sys/arm/include/cpuconf.h#2 integrate
.. //depot/projects/binutils/src/sys/arm/include/cpufunc.h#2 integrate
.. //depot/projects/binutils/src/sys/arm/include/pmap.h#2 integrate
.. //depot/projects/binutils/src/sys/cam/cam_xpt.c#2 integrate
.. //depot/projects/binutils/src/sys/conf/files.arm#2 integrate
.. //depot/projects/binutils/src/sys/conf/files.sun4v#2 integrate
.. //depot/projects/binutils/src/sys/dev/aha/ahareg.h#2 integrate
.. //depot/projects/binutils/src/sys/dev/iwi/if_iwi.c#2 integrate
.. //depot/projects/binutils/src/sys/dev/pci/pci.c#2 integrate
.. //depot/projects/binutils/src/sys/dev/pci/pci_private.h#2 integrate
.. //depot/projects/binutils/src/sys/dev/pci/pcib_if.m#2 integrate
.. //depot/projects/binutils/src/sys/i386/i386/identcpu.c#2 integrate
.. //depot/projects/binutils/src/sys/i386/i386/machdep.c#2 integrate
.. //depot/projects/binutils/src/sys/kern/sched_ule.c#2 integrate
.. //depot/projects/binutils/src/sys/kern/uipc_syscalls.c#3 integrate
.. //depot/projects/binutils/src/sys/kern/vfs_subr.c#3 integrate
.. //depot/projects/binutils/src/sys/netinet/libalias/alias_smedia.c#2 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_asconf.c#2 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_indata.c#3 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_input.c#3 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_output.c#3 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_pcb.c#4 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_structs.h#3 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_uio.h#3 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_usrreq.c#3 integrate
.. //depot/projects/binutils/src/sys/netinet/sctputil.c#3 integrate
.. //depot/projects/binutils/src/sys/netinet6/sctp6_usrreq.c#4 integrate
.. //depot/projects/binutils/src/sys/netipsec/ipsec.c#2 integrate
.. //depot/projects/binutils/src/sys/nfsclient/bootp_subr.c#2 integrate
.. //depot/projects/binutils/src/sys/pci/if_pcn.c#2 integrate
.. //depot/projects/binutils/src/sys/pci/if_pcnreg.h#2 integrate
.. //depot/projects/binutils/src/sys/sun4v/sun4v/hcall.S#2 integrate
.. //depot/projects/binutils/src/sys/sun4v/sun4v/interrupt.S#2 integrate
.. //depot/projects/binutils/src/sys/sun4v/sun4v/intr_machdep.c#2 integrate
.. //depot/projects/binutils/src/sys/sun4v/sun4v/support.S#2 integrate
.. //depot/projects/binutils/src/sys/sys/sem.h#2 integrate
.. //depot/projects/binutils/src/sys/vm/vm_contig.c#2 integrate
.. //depot/projects/binutils/src/sys/vm/vm_page.c#2 integrate
.. //depot/projects/binutils/src/tools/regression/fifo/fifo_io/fifo_io.c#2 integrate
.. //depot/projects/binutils/src/usr.bin/calendar/calendars/calendar.freebsd#2 integrate
.. //depot/projects/binutils/src/usr.bin/top/machine.c#2 integrate
.. //depot/projects/binutils/src/usr.sbin/portsnap/phttpget/phttpget.c#2 integrate
.. //depot/projects/binutils/src/usr.sbin/sysinstall/install.c#2 integrate
.. //depot/projects/binutils/src/usr.sbin/sysinstall/installUpgrade.c#2 integrate
Differences ...
==== //depot/projects/binutils/src/ObsoleteFiles.inc#3 (text+ko) ====
@@ -1,5 +1,5 @@
#
-# $FreeBSD: src/ObsoleteFiles.inc,v 1.58 2006/11/05 00:39:56 trhodes Exp $
+# $FreeBSD: src/ObsoleteFiles.inc,v 1.59 2006/11/08 03:23:49 marcel Exp $
#
# This file lists old files (OLD_FILES), libraries (OLD_LIBS) and
# directories (OLD_DIRS) which should get removed at an update. Recently
@@ -14,6 +14,10 @@
# The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
#
+.if ${TARGET_ARCH} == "ia64"
+# 20061104: skiload.help removed
+OLD_FILES+=boot/skiload.help
+.endif
# 20061018: pccardc removed
OLD_FILES+=usr/sbin/pccardc usr/share/man/man8/pccardc.8.gz
# 20060930: demangle.h from contrib/libstdc++/include/ext/
==== //depot/projects/binutils/src/bin/sh/expand.c#3 (text+ko) ====
@@ -36,7 +36,7 @@
#endif
#endif /* not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/expand.c,v 1.50 2006/11/05 18:36:05 stefanf Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/expand.c,v 1.51 2006/11/07 22:46:13 stefanf Exp $");
#include <sys/types.h>
#include <sys/time.h>
@@ -98,7 +98,7 @@
STATIC int subevalvar(char *, char *, int, int, int, int);
STATIC char *evalvar(char *, int);
STATIC int varisset(char *, int);
-STATIC void varvalue(char *, int, int);
+STATIC void varvalue(char *, int, int, int);
STATIC void recordregion(int, int, int);
STATIC void removerecordregions(int);
STATIC void ifsbreakup(char *, struct arglist *);
@@ -633,7 +633,7 @@
int easy;
int quotes = flag & (EXP_FULL | EXP_CASE | EXP_REDIR);
- varflags = *p++;
+ varflags = (unsigned char)*p++;
subtype = varflags & VSTYPE;
var = p;
special = 0;
@@ -669,7 +669,7 @@
if (set && subtype != VSPLUS) {
/* insert the value of the variable */
if (special) {
- varvalue(var, varflags & VSQUOTE, flag & EXP_FULL);
+ varvalue(var, varflags & VSQUOTE, subtype, flag);
if (subtype == VSLENGTH) {
varlen = expdest - stackblock() - startloc;
STADJUST(-varlen, expdest);
@@ -841,7 +841,7 @@
*/
STATIC void
-varvalue(char *name, int quoted, int allow_split)
+varvalue(char *name, int quoted, int subtype, int flag)
{
int num;
char *p;
@@ -853,7 +853,7 @@
#define STRTODEST(p) \
do {\
- if (allow_split) { \
+ if (flag & (EXP_FULL | EXP_CASE) && subtype != VSLENGTH) { \
syntax = quoted? DQSYNTAX : BASESYNTAX; \
while (*p) { \
if (syntax[(int)*p] == CCTL) \
@@ -888,7 +888,7 @@
}
break;
case '@':
- if (allow_split && quoted) {
+ if (flag & EXP_FULL && quoted) {
for (ap = shellparam.p ; (p = *ap++) != NULL ; ) {
STRTODEST(p);
if (*ap)
==== //depot/projects/binutils/src/sbin/quotacheck/quotacheck.8#2 (text+ko) ====
@@ -29,9 +29,9 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)quotacheck.8 8.1 (Berkeley) 6/5/93
-.\" $FreeBSD: src/sbin/quotacheck/quotacheck.8,v 1.16 2005/02/10 09:19:32 ru Exp $
+.\" $FreeBSD: src/sbin/quotacheck/quotacheck.8,v 1.17 2006/11/07 19:07:52 ceri Exp $
.\"
-.Dd June 5, 1993
+.Dd November 7, 2006
.Dt QUOTACHECK 8
.Os
.Sh NAME
@@ -40,6 +40,7 @@
.Sh SYNOPSIS
.Nm
.Op Fl guv
+.Op Fl l Ar maxrun
.Fl a
.Nm
.Op Fl guv
@@ -72,6 +73,13 @@
Only group quotas listed in
.Pa /etc/fstab
are to be checked.
+.It Fl l Ar maxrun
+Specifies the maximum number of concurrent file systems
+to check in parallel.
+If this option is omitted, or if
+.Ar maxrun
+is zero, parallel passes are run as per
+.Xr fsck 8 .
.It Fl u
Only user quotas listed in
.Pa /etc/fstab
==== //depot/projects/binutils/src/sbin/quotacheck/quotacheck.c#2 (text+ko) ====
@@ -42,7 +42,7 @@
#endif /* not lint */
#endif
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/quotacheck/quotacheck.c,v 1.25 2005/02/10 09:19:33 ru Exp $");
+__FBSDID("$FreeBSD: src/sbin/quotacheck/quotacheck.c,v 1.26 2006/11/07 19:07:52 ceri Exp $");
/*
* Fix up / report on disk quotas & usage
@@ -192,6 +192,12 @@
(void) addid((u_long)pw->pw_uid, USRQUOTA, pw->pw_name);
endpwent();
}
+ /*
+ * Setting maxrun (-l) makes no sense without the -a flag.
+ * Historically this was never an error, so we just warn.
+ */
+ if (maxrun > 0 && !aflag)
+ warnx("ignoring -l without -a");
if (aflag)
exit(checkfstab(1, maxrun, needchk, chkquota));
if (setfsent() == 0)
@@ -217,7 +223,7 @@
usage()
{
(void)fprintf(stderr, "%s\n%s\n",
- "usage: quotacheck [-guv] -a",
+ "usage: quotacheck [-guv] [-l maxrun] -a",
" quotacheck [-guv] filesystem ...");
exit(1);
}
==== //depot/projects/binutils/src/sys/amd64/amd64/machdep.c#2 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.657 2006/10/26 21:42:16 jb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.660 2006/11/07 21:57:18 ru Exp $");
#include "opt_atalk.h"
#include "opt_atpic.h"
@@ -196,7 +196,7 @@
#ifdef PERFMON
perfmon_init();
#endif
- printf("usable memory = %ju (%ju MB)\n", ptoa((uintmax_t)physmem),
+ printf("usable memory = %ju (%ju MB)\n", ptoa((uintmax_t)physmem),
ptoa((uintmax_t)physmem) / 1048576);
realmem = Maxmem;
/*
@@ -220,7 +220,7 @@
vm_ksubmap_init(&kmi);
- printf("avail memory = %ju (%ju MB)\n",
+ printf("avail memory = %ju (%ju MB)\n",
ptoa((uintmax_t)cnt.v_free_count),
ptoa((uintmax_t)cnt.v_free_count) / 1048576);
@@ -747,8 +747,6 @@
ip->gd_hioffset = ((uintptr_t)func)>>16 ;
}
-#define IDTVEC(name) __CONCAT(X,name)
-
extern inthand_t
IDTVEC(div), IDTVEC(dbg), IDTVEC(nmi), IDTVEC(bpt), IDTVEC(ofl),
IDTVEC(bnd), IDTVEC(ill), IDTVEC(dna), IDTVEC(fpusegm),
@@ -877,7 +875,7 @@
if (smap->base < physmap[i + 1]) {
if (boothowto & RB_VERBOSE)
printf(
- "Overlapping or non-montonic memory region, ignoring second region\n");
+ "Overlapping or non-monotonic memory region, ignoring second region\n");
continue;
}
}
==== //depot/projects/binutils/src/sys/amd64/linux32/linux.h#2 (text+ko) ====
@@ -27,14 +27,12 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.8 2006/10/29 14:02:38 netchild Exp $
+ * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.9 2006/11/07 18:53:49 jhb Exp $
*/
#ifndef _AMD64_LINUX_LINUX_H_
#define _AMD64_LINUX_LINUX_H_
-#include <sys/signal.h> /* for sigval union */
-
#include <amd64/linux32/linux32_syscall.h>
/*
@@ -379,6 +377,11 @@
#define LINUX_SI_MAX_SIZE 128
#define LINUX_SI_PAD_SIZE ((LINUX_SI_MAX_SIZE/sizeof(l_int)) - 3)
+union l_sigval {
+ l_int sival_int;
+ l_uintptr_t sival_ptr;
+};
+
typedef struct l_siginfo {
l_int lsi_signo;
l_int lsi_errno;
@@ -399,7 +402,7 @@
struct {
l_pid_t _pid; /* sender's pid */
l_uid16_t _uid; /* sender's uid */
- union sigval _sigval;
+ union l_sigval _sigval;
} __packed _rt;
struct {
==== //depot/projects/binutils/src/sys/arm/arm/cpufunc.c#2 (text+ko) ====
@@ -45,7 +45,7 @@
* Created : 30/01/97
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.12 2006/10/21 04:25:00 kevlo Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.13 2006/11/07 22:36:56 cognet Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -73,13 +73,17 @@
#include <arm/xscale/i80321/i80321var.h>
#endif
+#if defined(CPU_XSCALE_81342)
+#include <arm/xscale/i8134x/i81342reg.h>
+#endif
+
#ifdef CPU_XSCALE_IXP425
#include <arm/xscale/ixp425/ixp425reg.h>
#include <arm/xscale/ixp425/ixp425var.h>
#endif
#if defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
- defined(CPU_XSCALE_80219)
+ defined(CPU_XSCALE_80219) || defined(CPU_XSCALE_81342)
#include <arm/xscale/xscalereg.h>
#endif
@@ -570,6 +574,62 @@
/* CPU_XSCALE_80200 || CPU_XSCALE_80321 || CPU_XSCALE_PXA2X0 || CPU_XSCALE_IXP425
CPU_XSCALE_80219 */
+#ifdef CPU_XSCALE_81342
+struct cpu_functions xscalec3_cpufuncs = {
+ /* CPU functions */
+
+ cpufunc_id, /* id */
+ xscale_cpwait, /* cpwait */
+
+ /* MMU functions */
+
+ xscale_control, /* control */
+ cpufunc_domains, /* domain */
+ xscalec3_setttb, /* setttb */
+ cpufunc_faultstatus, /* faultstatus */
+ cpufunc_faultaddress, /* faultaddress */
+
+ /* TLB functions */
+
+ armv4_tlb_flushID, /* tlb_flushID */
+ xscale_tlb_flushID_SE, /* tlb_flushID_SE */
+ armv4_tlb_flushI, /* tlb_flushI */
+ (void *)armv4_tlb_flushI, /* tlb_flushI_SE */
+ armv4_tlb_flushD, /* tlb_flushD */
+ armv4_tlb_flushD_SE, /* tlb_flushD_SE */
+
+ /* Cache operations */
+
+ xscalec3_cache_syncI, /* icache_sync_all */
+ xscale_cache_syncI_rng, /* icache_sync_range */
+
+ xscalec3_cache_purgeD, /* dcache_wbinv_all */
+ xscalec3_cache_purgeD_rng, /* dcache_wbinv_range */
+ xscale_cache_flushD_rng, /* dcache_inv_range */
+ xscalec3_cache_cleanD_rng, /* dcache_wb_range */
+
+ xscalec3_cache_purgeID, /* idcache_wbinv_all */
+ xscalec3_cache_purgeID_rng, /* idcache_wbinv_range */
+
+ /* Other functions */
+
+ cpufunc_nullop, /* flush_prefetchbuf */
+ armv4_drain_writebuf, /* drain_writebuf */
+ cpufunc_nullop, /* flush_brnchtgt_C */
+ (void *)cpufunc_nullop, /* flush_brnchtgt_E */
+
+ xscale_cpu_sleep, /* sleep */
+
+ /* Soft functions */
+
+ cpufunc_null_fixup, /* dataabt_fixup */
+ cpufunc_null_fixup, /* prefetchabt_fixup */
+
+ xscalec3_context_switch, /* context_switch */
+
+ xscale_setup /* cpu setup */
+};
+#endif /* CPU_XSCALE_81342 */
/*
* Global constants also used by locore.s
*/
@@ -582,7 +642,7 @@
defined (CPU_ARM10) || \
defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \
- defined(CPU_XSCALE_80219)
+ defined(CPU_XSCALE_80219) || defined(CPU_XSCALE_81342)
static void get_cachetype_cp15(void);
@@ -895,7 +955,6 @@
if (cputype == CPU_ID_80321_400 || cputype == CPU_ID_80321_600 ||
cputype == CPU_ID_80321_400_B0 || cputype == CPU_ID_80321_600_B0 ||
cputype == CPU_ID_80219_400 || cputype == CPU_ID_80219_600) {
-
/*
* Reset the Performance Monitoring Unit to a
* pristine state:
@@ -920,6 +979,19 @@
}
#endif /* CPU_XSCALE_80321 */
+#if defined(CPU_XSCALE_81342)
+ if (cputype == CPU_ID_81342) {
+ cpufuncs = xscalec3_cpufuncs;
+#if defined(PERFCTRS)
+ xscale_pmu_init();
+#endif
+
+ cpu_reset_needs_v4_MMU_disable = 1; /* XScale needs it */
+ get_cachetype_cp15();
+ pmap_pte_init_xscale();
+ return 0;
+ }
+#endif /* CPU_XSCALE_81342 */
#ifdef CPU_XSCALE_PXA2X0
/* ignore core revision to test PXA2xx CPUs */
if ((cputype & ~CPU_ID_XSCALE_COREREV_MASK) == CPU_ID_PXA250 ||
@@ -1326,7 +1398,7 @@
defined(CPU_SA110) || defined(CPU_SA1100) || defined(CPU_SA1110) || \
defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \
- defined(CPU_XSCALE_80219)
+ defined(CPU_XSCALE_80219) || defined(CPU_XSCALE_81342)
#define IGN 0
#define OR 1
@@ -1794,7 +1866,7 @@
#if defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \
- defined(CPU_XSCALE_80219)
+ defined(CPU_XSCALE_80219) || defined(CPU_XSCALE_81342)
struct cpu_option xscale_options[] = {
#ifdef COMPAT_12
{ "branchpredict", BIC, OR, CPU_CONTROL_BPRD_ENABLE },
==== //depot/projects/binutils/src/sys/arm/arm/identcpu.c#2 (text+ko) ====
@@ -42,7 +42,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.8 2006/08/24 23:51:27 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.9 2006/11/07 22:36:57 cognet Exp $");
#include <sys/systm.h>
#include <sys/param.h>
#include <sys/malloc.h>
@@ -126,6 +126,13 @@
"rev 12", "rev 13", "rev 14", "rev 15",
};
+static const char * const i81342_steppings[16] = {
+ "step A-0", "rev 1", "rev 2", "rev 3",
+ "rev 4", "rev 5", "rev 6", "rev 7",
+ "rev 8", "rev 9", "rev 10", "rev 11",
+ "rev 12", "rev 13", "rev 14", "rev 15",
+};
+
static const char * const pxa2x0_steppings[16] = {
"step A-0", "step A-1", "step B-0", "step B-1",
"step B-2", "step C-0", "rev 6", "rev 7",
@@ -229,6 +236,9 @@
{ CPU_ID_80321_600_B0, CPU_CLASS_XSCALE, "i80321 600MHz",
i80321_steppings },
+ { CPU_ID_81342, CPU_CLASS_XSCALE, "i81342",
+ i81342_steppings },
+
{ CPU_ID_80219_400, CPU_CLASS_XSCALE, "i80219 400MHz",
xscale_steppings },
==== //depot/projects/binutils/src/sys/arm/arm/intr.c#2 (text+ko) ====
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.12 2005/12/22 22:16:06 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.13 2006/11/08 01:32:24 cognet Exp $");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/syslog.h>
@@ -106,6 +106,7 @@
struct thread *td = curthread;
int i, thread;
+ PCPU_LAZY_INC(cnt.v_intr);
td->td_intr_nesting_level++;
while ((i = arm_get_next_irq()) != -1) {
arm_mask_irq(i);
==== //depot/projects/binutils/src/sys/arm/arm/pmap.c#2 (text+ko) ====
@@ -147,7 +147,7 @@
#include "opt_vm.h"
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.69 2006/08/28 21:43:34 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.71 2006/11/08 06:31:28 alc Exp $");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
@@ -278,6 +278,8 @@
extern void bcopy_page(vm_offset_t, vm_offset_t);
extern void bzero_page(vm_offset_t);
+extern vm_offset_t alloc_firstaddr;
+
char *_tmppt;
/*
@@ -1960,7 +1962,7 @@
TUNABLE_INT_FETCH("vm.pmap.shpgperproc", &shpgperproc);
- pv_entry_max = shpgperproc * maxproc + vm_page_array_size;
+ pv_entry_max = shpgperproc * maxproc + cnt.v_page_count;
pv_entry_high_water = 9 * (pv_entry_max / 10);
l2zone = uma_zcreate("L2 Table", L2_TABLE_SIZE_REAL, pmap_l2ptp_ctor,
NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE);
@@ -2784,6 +2786,11 @@
KASSERT(l2b != NULL, ("No L2 bucket in pmap_remove_pages"));
pt = &l2b->l2b_kva[l2pte_index(pv->pv_va)];
m = PHYS_TO_VM_PAGE(*pt & L2_ADDR_MASK);
+#ifdef ARM_USE_SMALL_ALLOC
+ KASSERT((vm_offset_t)m >= alloc_firstaddr, ("Trying to access non-existent page va %x pte %x", pv->pv_va, *pt));
+#else
+ KASSERT((vm_offset_t)m >= KERNBASE, ("Trying to access non-existent page va %x pte %x", pv->pv_va, *pt));
+#endif
*pt = 0;
PTE_SYNC(pt);
npv = TAILQ_NEXT(pv, pv_plist);
@@ -4563,7 +4570,7 @@
/*
* pmap_link_l2pt:
*
- * Link the L2 page table specified by "pa" into the L1
+ * Link the L2 page table specified by l2pv.pv_pa into the L1
* page table at the slot for "va".
*/
void
@@ -4574,7 +4581,12 @@
proto = L1_S_DOM(PMAP_DOMAIN_KERNEL) | L1_C_PROTO;
+#ifdef VERBOSE_INIT_ARM
+ printf("pmap_link_l2pt: pa=0x%x va=0x%x\n", l2pv->pv_pa, l2pv->pv_va);
+#endif
+
pde[slot + 0] = proto | (l2pv->pv_pa + 0x000);
+
PTE_SYNC(&pde[slot]);
SLIST_INSERT_HEAD(&kernel_pt_list, l2pv, pv_list);
==== //depot/projects/binutils/src/sys/arm/arm/vm_machdep.c#2 (text+ko) ====
@@ -41,7 +41,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.28 2006/10/24 23:27:52 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.29 2006/11/07 22:35:30 cognet Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -456,7 +456,7 @@
MALLOC_DEFINE(M_VMSMALLALLOC, "vm_small_alloc", "VM Small alloc data");
-static vm_offset_t alloc_firstaddr;
+vm_offset_t alloc_firstaddr;
vm_offset_t
arm_ptovirt(vm_paddr_t pa)
==== //depot/projects/binutils/src/sys/arm/include/armreg.h#2 (text+ko) ====
@@ -35,7 +35,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/arm/include/armreg.h,v 1.4 2006/08/24 23:51:28 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/armreg.h,v 1.5 2006/11/07 22:36:56 cognet Exp $
*/
#ifndef MACHINE_ARMREG_H
@@ -157,6 +157,7 @@
#define CPU_ID_80321_600_B0 0x69052c30
#define CPU_ID_80219_400 0x69052e20 /* A0 stepping/revision. */
#define CPU_ID_80219_600 0x69052e30 /* A0 stepping/revision. */
+#define CPU_ID_81342 0x69056810
#define CPU_ID_IXP425_533 0x690541c0
#define CPU_ID_IXP425_400 0x690541d0
#define CPU_ID_IXP425_266 0x690541f0
==== //depot/projects/binutils/src/sys/arm/include/atomic.h#2 (text+ko) ====
@@ -33,7 +33,7 @@
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/arm/include/atomic.h,v 1.19 2006/05/15 13:08:12 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/atomic.h,v 1.20 2006/11/07 11:53:44 cognet Exp $
*/
#ifndef _MACHINE_ATOMIC_H_
@@ -337,6 +337,7 @@
#define atomic_cmpset_acq_int atomic_cmpset_32
#define atomic_cmpset_acq_ptr atomic_cmpset_ptr
#define atomic_cmpset_acq_long atomic_cmpset_long
+#define atomic_cmpset_acq_32 atomic_cmpset_32
#define atomic_store_rel_ptr atomic_store_ptr
#define atomic_store_rel_int atomic_store_32
#define atomic_cmpset_rel_32 atomic_cmpset_32
==== //depot/projects/binutils/src/sys/arm/include/cpuconf.h#2 (text+ko) ====
@@ -34,7 +34,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/arm/include/cpuconf.h,v 1.8 2006/08/24 23:51:28 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/cpuconf.h,v 1.9 2006/11/07 22:36:56 cognet Exp $
*
*/
@@ -64,7 +64,8 @@
#define ARM_ARCH_4 0
#endif
-#if (defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || defined(CPU_XSCALE_80219) || \
+#if (defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
+ defined(CPU_XSCALE_80219) || defined(CPU_XSCALE_81342) || \
defined(CPU_XSCALE_PXA2X0)) || defined(CPU_ARM10)
#define ARM_ARCH_5 1
#else
@@ -113,7 +114,7 @@
#if(defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \
- defined(CPU_XSCALE_80219))
+ defined(CPU_XSCALE_80219)) || defined(CPU_XSCALE_81342)
#define ARM_MMU_XSCALE 1
#else
#define ARM_MMU_XSCALE 0
@@ -132,7 +133,7 @@
*/
#if (defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
- defined(CPU_XSCALE_80219))
+ defined(CPU_XSCALE_80219)) || defined(CPU_XSCALE_81342)
#define ARM_XSCALE_PMU 1
#else
#define ARM_XSCALE_PMU 0
==== //depot/projects/binutils/src/sys/arm/include/cpufunc.h#2 (text+ko) ====
@@ -38,7 +38,7 @@
*
* Prototypes for cpu, mmu and tlb related functions.
*
- * $FreeBSD: src/sys/arm/include/cpufunc.h,v 1.9 2006/08/24 23:51:28 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/cpufunc.h,v 1.10 2006/11/07 22:36:56 cognet Exp $
*/
#ifndef _MACHINE_CPUFUNC_H_
@@ -374,7 +374,7 @@
defined(CPU_SA1100) || defined(CPU_SA1110) || \
defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \
- defined(CPU_XSCALE_80219)
+ defined(CPU_XSCALE_80219) || defined(CPU_XSCALE_81342)
void armv4_tlb_flushID (void);
void armv4_tlb_flushI (void);
@@ -392,7 +392,7 @@
#if defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \
- defined(CPU_XSCALE_80219)
+ defined(CPU_XSCALE_80219) || defined(CPU_XSCALE_81342)
void xscale_cpwait (void);
void xscale_cpu_sleep (int mode);
@@ -433,6 +433,28 @@
#endif /* CPU_XSCALE_80200 || CPU_XSCALE_80321 || CPU_XSCALE_PXA2X0 || CPU_XSCALE_IXP425
CPU_XSCALE_80219 */
+#ifdef CPU_XSCALE_81342
+
+void xscalec3_cache_cleanID (void);
+void xscalec3_cache_cleanD (void);
+
+void xscalec3_cache_purgeID (void);
+void xscalec3_cache_purgeID_E (u_int entry);
+void xscalec3_cache_purgeD (void);
+void xscalec3_cache_purgeD_E (u_int entry);
+
+void xscalec3_cache_syncI (void);
+void xscalec3_cache_cleanID_rng (vm_offset_t start, vm_size_t end);
+void xscalec3_cache_cleanD_rng (vm_offset_t start, vm_size_t end);
+void xscalec3_cache_purgeID_rng (vm_offset_t start, vm_size_t end);
+void xscalec3_cache_purgeD_rng (vm_offset_t start, vm_size_t end);
+
+
+void xscalec3_setttb (u_int ttb);
+void xscalec3_context_switch (void);
+
+#endif /* CPU_XSCALE_81342 */
+
#define tlb_flush cpu_tlb_flushID
#define setttb cpu_setttb
#define drain_writebuf cpu_drain_writebuf
==== //depot/projects/binutils/src/sys/arm/include/pmap.h#2 (text+ko) ====
@@ -44,7 +44,7 @@
* from: @(#)pmap.h 7.4 (Berkeley) 5/12/91
* from: FreeBSD: src/sys/i386/include/pmap.h,v 1.70 2000/11/30
*
- * $FreeBSD: src/sys/arm/include/pmap.h,v 1.20 2006/08/08 20:59:38 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/pmap.h,v 1.21 2006/11/07 22:36:56 cognet Exp $
*/
#ifndef _MACHINE_PMAP_H_
@@ -426,7 +426,7 @@
extern void (*pmap_copy_page_func)(vm_paddr_t, vm_paddr_t);
extern void (*pmap_zero_page_func)(vm_paddr_t, int, int);
-#if (ARM_MMU_GENERIC + ARM_MMU_SA1) != 0
+#if (ARM_MMU_GENERIC + ARM_MMU_SA1) != 0 || defined(CPU_XSCALE_81342)
void pmap_copy_page_generic(vm_paddr_t, vm_paddr_t);
void pmap_zero_page_generic(vm_paddr_t, int, int);
==== //depot/projects/binutils/src/sys/cam/cam_xpt.c#2 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.166 2006/11/02 00:54:33 mjacob Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.168 2006/11/07 23:06:00 mjacob Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -1607,6 +1607,9 @@
cts.ccb_h.func_code = XPT_GET_TRAN_SETTINGS;
cts.type = CTS_TYPE_CURRENT_SETTINGS;
xpt_action((union ccb*)&cts);
+ if ((cts.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
+ return;
+ }
/* Ask the SIM for its base transfer speed */
xpt_setup_ccb(&cpi.ccb_h, path, /*priority*/1);
@@ -5835,6 +5838,9 @@
cts.ccb_h.func_code = XPT_GET_TRAN_SETTINGS;
cts.type = CTS_TYPE_USER_SETTINGS;
xpt_action((union ccb *)&cts);
+ if ((cts.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
+ return;
+ }
cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS;
cts.type = CTS_TYPE_CURRENT_SETTINGS;
xpt_action((union ccb *)&cts);
@@ -6356,7 +6362,9 @@
cur_cts.ccb_h.func_code = XPT_GET_TRAN_SETTINGS;
cur_cts.type = cts->type;
xpt_action((union ccb *)&cur_cts);
-
+ if ((cur_cts.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
+ return;
+ }
cur_scsi = &cur_cts.proto_specific.scsi;
if ((scsi->valid & CTS_SCSI_VALID_TQ) == 0) {
scsi->flags &= ~CTS_SCSI_FLAGS_TAG_ENB;
@@ -6403,8 +6411,8 @@
&& (inq_data->flags & SID_Sync) == 0
&& cts->type == CTS_TYPE_CURRENT_SETTINGS)
|| ((cpi.hba_inquiry & PI_SDTR_ABLE) == 0)
- || (cur_spi->sync_offset == 0)
- || (cur_spi->sync_period == 0)) {
+ || (spi->sync_offset == 0)
+ || (spi->sync_period == 0)) {
/* Force async */
spi->sync_period = 0;
spi->sync_offset = 0;
==== //depot/projects/binutils/src/sys/conf/files.arm#2 (text+ko) ====
@@ -1,4 +1,7 @@
-# $FreeBSD: src/sys/conf/files.arm,v 1.11 2006/07/14 00:50:51 cognet Exp $
+# $FreeBSD: src/sys/conf/files.arm,v 1.12 2006/11/08 20:51:01 sam Exp $
+crypto/blowfish/bf_enc.c optional crypto | ipsec ipsec_esp
+crypto/des/des_enc.c optional crypto | ipsec ipsec_esp | \
+ netsmb
arm/arm/autoconf.c standard
arm/arm/bcopy_page.S standard
arm/arm/bcopyinout.S standard
==== //depot/projects/binutils/src/sys/conf/files.sun4v#2 (text+ko) ====
@@ -1,7 +1,7 @@
# This file tells config what files go into building a kernel,
# files marked standard are always included.
#
-# $FreeBSD: src/sys/conf/files.sun4v,v 1.2 2006/10/09 04:45:17 kmacy Exp $
+# $FreeBSD: src/sys/conf/files.sun4v,v 1.3 2006/11/08 21:45:45 ru Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -20,7 +20,7 @@
#
crypto/blowfish/bf_enc.c optional crypto | ipsec ipsec_esp
crypto/des/des_enc.c optional crypto | ipsec ipsec_esp | \
- netsmbcrypto
+ netsmb
dev/ofw/ofw_bus_if.m standard
dev/ofw/ofw_bus_subr.c standard
dev/ofw/ofw_console.c optional ofw_console
==== //depot/projects/binutils/src/sys/dev/aha/ahareg.h#2 (text+ko) ====
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/aha/ahareg.h,v 1.19 2005/01/19 06:54:10 imp Exp $
+ * $FreeBSD: src/sys/dev/aha/ahareg.h,v 1.20 2006/11/09 02:19:30 kevlo Exp $
*/
#ifndef _AHAREG_H_
@@ -184,10 +184,6 @@
} config_data_t;
typedef struct {
- uint8_t enable;
-} target_mode_params_t;
-
-typedef struct {
uint8_t offset : 4,
period : 3,
sync : 1;
@@ -212,28 +208,8 @@
uint8_t bios_mbox_addr[3];
} setup_data_t;
-struct aha_isa_port {
- uint16_t addr;
- uint8_t bio; /* board IO offset */
-};
-
#define AHA_NUM_ISAPORTS 6
-typedef enum {
- BIO_330 = 0,
- BIO_334 = 1,
- BIO_230 = 2,
- BIO_234 = 3,
- BIO_130 = 4,
- BIO_134 = 5,
- BIO_DISABLED = 6,
- BIO_DISABLED2 = 7
-} isa_compat_io_t;
-
-typedef struct {
- uint8_t sync_rate[16]; /* Sync in 10ns units */
-} target_sync_info_data_t;
-
typedef struct {
uint8_t len[3];
uint8_t addr[3];
@@ -409,7 +385,6 @@
void aha_free(struct aha_softc *);
int aha_init(struct aha_softc *);
void aha_intr(void *);
-int aha_iop_from_bio(isa_compat_io_t);
int aha_probe(struct aha_softc *);
#define DEFAULT_CMD_TIMEOUT 10000 /* 1 sec */
==== //depot/projects/binutils/src/sys/dev/iwi/if_iwi.c#2 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.41 2006/10/23 00:34:07 mlaier Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.42 2006/11/07 19:03:42 jhb Exp $");
/*-
* Intel(R) PRO/Wireless 2200BG/2225BG/2915ABG driver
@@ -488,13 +488,12 @@
struct ieee80211com *ic = &sc->sc_ic;
struct ifnet *ifp = ic->ic_ifp;
- iwi_stop(sc);
- iwi_put_firmware(sc);
-
if (ifp != NULL) {
+ iwi_stop(sc);
bpfdetach(ifp);
ieee80211_ifdetach(ic);
}
+ iwi_put_firmware(sc);
iwi_free_cmd_ring(sc, &sc->cmdq);
iwi_free_tx_ring(sc, &sc->txq[0]);
==== //depot/projects/binutils/src/sys/dev/pci/pci.c#2 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.319 2006/11/04 06:56:51 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.320 2006/11/07 18:55:51 jhb Exp $");
#include "opt_bus.h"
@@ -83,11 +83,11 @@
static int pci_probe(device_t dev);
static int pci_attach(device_t dev);
static void pci_load_vendor_data(void);
-static int pci_describe_parse_line(char **ptr, int *vendor,
+static int pci_describe_parse_line(char **ptr, int *vendor,
int *device, char **desc);
static char *pci_describe_device(device_t dev);
static int pci_modevent(module_t mod, int what, void *arg);
-static void pci_hdrtypedata(device_t pcib, int b, int s, int f,
+static void pci_hdrtypedata(device_t pcib, int b, int s, int f,
pcicfgregs *cfg);
static void pci_read_extcap(device_t pcib, pcicfgregs *cfg);
static uint32_t pci_read_vpd_reg(device_t pcib, pcicfgregs *cfg,
@@ -371,7 +371,7 @@
return (NULL);
cfg = &devlist_entry->cfg;
-
+
cfg->bus = b;
cfg->slot = s;
cfg->func = f;
@@ -1124,14 +1124,14 @@
if (bootverbose) {
pcicfgregs *cfg = &dinfo->cfg;
- printf("found->\tvendor=0x%04x, dev=0x%04x, revid=0x%02x\n",
+ printf("found->\tvendor=0x%04x, dev=0x%04x, revid=0x%02x\n",
cfg->vendor, cfg->device, cfg->revid);
printf("\tbus=%d, slot=%d, func=%d\n",
cfg->bus, cfg->slot, cfg->func);
printf("\tclass=%02x-%02x-%02x, hdrtype=0x%02x, mfdev=%d\n",
cfg->baseclass, cfg->subclass, cfg->progif, cfg->hdrtype,
cfg->mfdev);
- printf("\tcmdreg=0x%04x, statreg=0x%04x, cachelnsz=%d (dwords)\n",
+ printf("\tcmdreg=0x%04x, statreg=0x%04x, cachelnsz=%d (dwords)\n",
cfg->cmdreg, cfg->statreg, cfg->cachelnsz);
printf("\tlattimer=0x%02x (%d ns), mingnt=0x%02x (%d ns), maxlat=0x%02x (%d ns)\n",
cfg->lattimer, cfg->lattimer * 30, cfg->mingnt,
@@ -1161,7 +1161,7 @@
*(uint16_t *)&vrop->value[2]));
else if (strncmp("RV", vrop->keyword, 2) == 0)
printf("\tRV: %#hhx\n", vrop->value[0]);
- else
+ else
printf("\t%.2s: %s\n", vrop->keyword,
vrop->value);
}
@@ -1281,6 +1281,7 @@
"pci%d:%d:%d bar %#x too many address bits", b, s, f, reg);
return (barlen);
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list