Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Nov 2006 00:15:32 GMT
From:      Matt Jacob <mjacob@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 109899 for review
Message-ID:  <200611140015.kAE0FWIR063660@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=109899

Change 109899 by mjacob@newisp on 2006/11/14 00:15:10

	IFC

Affected files ...

.. //depot/projects/newisp/Makefile#2 integrate
.. //depot/projects/newisp/amd64/amd64/db_disasm.c#2 integrate
.. //depot/projects/newisp/amd64/amd64/local_apic.c#7 integrate
.. //depot/projects/newisp/amd64/amd64/machdep.c#6 integrate
.. //depot/projects/newisp/amd64/amd64/mptable_pci.c#2 integrate
.. //depot/projects/newisp/amd64/amd64/msi.c#1 branch
.. //depot/projects/newisp/amd64/amd64/nexus.c#3 integrate
.. //depot/projects/newisp/amd64/amd64/pmap.c#3 integrate
.. //depot/projects/newisp/amd64/include/apicvar.h#3 integrate
.. //depot/projects/newisp/amd64/include/intr_machdep.h#3 integrate
.. //depot/projects/newisp/amd64/include/pmap.h#2 integrate
.. //depot/projects/newisp/amd64/linux32/linux.h#4 integrate
.. //depot/projects/newisp/amd64/linux32/linux32_proto.h#5 integrate
.. //depot/projects/newisp/amd64/linux32/linux32_syscall.h#5 integrate
.. //depot/projects/newisp/amd64/linux32/linux32_sysent.c#5 integrate
.. //depot/projects/newisp/amd64/pci/pci_bus.c#2 integrate
.. //depot/projects/newisp/arm/arm/cpufunc.c#3 integrate
.. //depot/projects/newisp/arm/arm/identcpu.c#2 integrate
.. //depot/projects/newisp/arm/arm/intr.c#2 integrate
.. //depot/projects/newisp/arm/arm/pmap.c#3 integrate
.. //depot/projects/newisp/arm/arm/vm_machdep.c#3 integrate
.. //depot/projects/newisp/arm/at91/kb920x_machdep.c#5 integrate
.. //depot/projects/newisp/arm/include/armreg.h#2 integrate
.. //depot/projects/newisp/arm/include/cpuconf.h#2 integrate
.. //depot/projects/newisp/arm/include/cpufunc.h#2 integrate
.. //depot/projects/newisp/arm/include/pmap.h#2 integrate
.. //depot/projects/newisp/arm/sa11x0/assabet_machdep.c#3 integrate
.. //depot/projects/newisp/boot/arm/at91/Makefile#2 integrate
.. //depot/projects/newisp/boot/arm/at91/Makefile.inc#3 integrate
.. //depot/projects/newisp/boot/arm/at91/boot0iic/main.c#2 integrate
.. //depot/projects/newisp/boot/arm/at91/boot2/Makefile#2 integrate
.. //depot/projects/newisp/boot/arm/at91/boot2/board.h#1 branch
.. //depot/projects/newisp/boot/arm/at91/boot2/boot2.c#2 integrate
.. //depot/projects/newisp/boot/arm/at91/boot2/kb920x_board.c#2 integrate
.. //depot/projects/newisp/boot/arm/at91/bootiic/Makefile#2 integrate
.. //depot/projects/newisp/boot/arm/at91/bootspi/Makefile#3 integrate
.. //depot/projects/newisp/boot/arm/at91/libat91/Makefile#3 integrate
.. //depot/projects/newisp/boot/arm/at91/libat91/at91rm9200_lowlevel.c#3 integrate
.. //depot/projects/newisp/boot/arm/at91/libat91/at91rm9200_lowlevel.h#2 integrate
.. //depot/projects/newisp/boot/arm/at91/libat91/emac.c#3 integrate
.. //depot/projects/newisp/boot/arm/at91/libat91/emac.h#3 integrate
.. //depot/projects/newisp/boot/arm/at91/libat91/emac_init.c#3 integrate
.. //depot/projects/newisp/boot/arm/at91/libat91/mci_device.h#3 integrate
.. //depot/projects/newisp/boot/arm/at91/libat91/memcmp.c#2 integrate
.. //depot/projects/newisp/boot/arm/at91/libat91/memcpy.c#2 integrate
.. //depot/projects/newisp/boot/arm/at91/libat91/memset.c#2 integrate
.. //depot/projects/newisp/boot/arm/at91/libat91/sd-card.c#3 integrate
.. //depot/projects/newisp/boot/arm/at91/libat91/strcmp.c#2 integrate
.. //depot/projects/newisp/boot/arm/at91/libat91/strcpy.c#2 integrate
.. //depot/projects/newisp/boot/arm/at91/libat91/strcvt.c#2 integrate
.. //depot/projects/newisp/boot/arm/at91/libat91/strlen.c#2 integrate
.. //depot/projects/newisp/boot/pc98/btx/btx/btx.S#2 integrate
.. //depot/projects/newisp/boot/pc98/libpc98/biossmap.c#1 branch
.. //depot/projects/newisp/coda/coda_vnops.c#2 integrate
.. //depot/projects/newisp/coda/coda_vnops.h#2 integrate
.. //depot/projects/newisp/compat/freebsd32/freebsd32_proto.h#12 integrate
.. //depot/projects/newisp/compat/freebsd32/freebsd32_syscall.h#12 integrate
.. //depot/projects/newisp/compat/freebsd32/freebsd32_syscalls.c#12 integrate
.. //depot/projects/newisp/compat/freebsd32/freebsd32_sysent.c#12 integrate
.. //depot/projects/newisp/compat/linux/linux_misc.c#7 integrate
.. //depot/projects/newisp/compat/svr4/svr4_proto.h#2 integrate
.. //depot/projects/newisp/compat/svr4/svr4_syscall.h#2 integrate
.. //depot/projects/newisp/compat/svr4/svr4_syscallnames.c#2 integrate
.. //depot/projects/newisp/compat/svr4/svr4_sysent.c#2 integrate
.. //depot/projects/newisp/conf/NOTES#13 integrate
.. //depot/projects/newisp/conf/files#12 integrate
.. //depot/projects/newisp/conf/files.amd64#6 integrate
.. //depot/projects/newisp/conf/files.arm#2 integrate
.. //depot/projects/newisp/conf/files.i386#5 integrate
.. //depot/projects/newisp/conf/files.sun4v#2 integrate
.. //depot/projects/newisp/conf/options#7 integrate
.. //depot/projects/newisp/dev/acpica/acpi_pci_link.c#2 integrate
.. //depot/projects/newisp/dev/acpica/acpi_pcib_acpi.c#2 integrate
.. //depot/projects/newisp/dev/acpica/acpi_pcib_pci.c#2 integrate
.. //depot/projects/newisp/dev/aha/ahareg.h#2 integrate
.. //depot/projects/newisp/dev/em/if_em.c#12 integrate
.. //depot/projects/newisp/dev/em/if_em.h#6 integrate
.. //depot/projects/newisp/dev/iwi/if_iwi.c#4 integrate
.. //depot/projects/newisp/dev/pci/pci.c#7 integrate
.. //depot/projects/newisp/dev/pci/pci_if.m#3 integrate
.. //depot/projects/newisp/dev/pci/pci_pci.c#4 integrate
.. //depot/projects/newisp/dev/pci/pci_private.h#3 integrate
.. //depot/projects/newisp/dev/pci/pcib_if.m#2 integrate
.. //depot/projects/newisp/dev/pci/pcib_private.h#2 integrate
.. //depot/projects/newisp/dev/pci/pcireg.h#2 integrate
.. //depot/projects/newisp/dev/pci/pcivar.h#4 integrate
.. //depot/projects/newisp/dev/usb/usb_quirks.c#4 integrate
.. //depot/projects/newisp/dev/usb/usbdevs#4 integrate
.. //depot/projects/newisp/fs/nullfs/null_vnops.c#2 integrate
.. //depot/projects/newisp/i386/i386/identcpu.c#2 integrate
.. //depot/projects/newisp/i386/i386/local_apic.c#7 integrate
.. //depot/projects/newisp/i386/i386/machdep.c#5 integrate
.. //depot/projects/newisp/i386/i386/mptable_pci.c#2 integrate
.. //depot/projects/newisp/i386/i386/msi.c#1 branch
.. //depot/projects/newisp/i386/i386/nexus.c#3 integrate
.. //depot/projects/newisp/i386/i386/pmap.c#3 integrate
.. //depot/projects/newisp/i386/ibcs2/ibcs2_proto.h#2 integrate
.. //depot/projects/newisp/i386/ibcs2/ibcs2_xenix.h#2 integrate
.. //depot/projects/newisp/i386/include/apicvar.h#3 integrate
.. //depot/projects/newisp/i386/include/intr_machdep.h#3 integrate
.. //depot/projects/newisp/i386/include/pmap.h#2 integrate
.. //depot/projects/newisp/i386/linux/linux_proto.h#6 integrate
.. //depot/projects/newisp/i386/pci/pci_bus.c#2 integrate
.. //depot/projects/newisp/i386/pci/pci_pir.c#2 integrate
.. //depot/projects/newisp/ia64/ia64/pmap.c#3 integrate
.. //depot/projects/newisp/ia64/include/pmap.h#2 integrate
.. //depot/projects/newisp/kern/Make.tags.inc#2 integrate
.. //depot/projects/newisp/kern/init_main.c#5 integrate
.. //depot/projects/newisp/kern/init_sysent.c#9 integrate
.. //depot/projects/newisp/kern/kern_idle.c#3 integrate
.. //depot/projects/newisp/kern/kern_lock.c#3 integrate
.. //depot/projects/newisp/kern/kern_mutex.c#2 integrate
.. //depot/projects/newisp/kern/kern_rwlock.c#2 integrate
.. //depot/projects/newisp/kern/kern_sig.c#6 integrate
.. //depot/projects/newisp/kern/kern_sx.c#2 integrate
.. //depot/projects/newisp/kern/kern_thr.c#5 integrate
.. //depot/projects/newisp/kern/kern_time.c#5 integrate
.. //depot/projects/newisp/kern/ksched.c#1 branch
.. //depot/projects/newisp/kern/makesyscalls.sh#2 integrate
.. //depot/projects/newisp/kern/p1003_1b.c#1 branch
.. //depot/projects/newisp/kern/posix4_mib.c#1 branch
.. //depot/projects/newisp/kern/sched_4bsd.c#3 integrate
.. //depot/projects/newisp/kern/sched_ule.c#3 integrate
.. //depot/projects/newisp/kern/subr_lock.c#2 integrate
.. //depot/projects/newisp/kern/subr_witness.c#4 integrate
.. //depot/projects/newisp/kern/syscalls.c#9 integrate
.. //depot/projects/newisp/kern/systrace_args.c#9 integrate
.. //depot/projects/newisp/kern/uipc_mqueue.c#4 integrate
.. //depot/projects/newisp/kern/uipc_sem.c#4 integrate
.. //depot/projects/newisp/kern/uipc_syscalls.c#5 integrate
.. //depot/projects/newisp/kern/vfs_aio.c#5 integrate
.. //depot/projects/newisp/kern/vfs_default.c#3 integrate
.. //depot/projects/newisp/kern/vfs_subr.c#8 integrate
.. //depot/projects/newisp/kern/vfs_vnops.c#4 integrate
.. //depot/projects/newisp/kern/vnode_if.src#2 integrate
.. //depot/projects/newisp/modules/Makefile#4 integrate
.. //depot/projects/newisp/modules/acpi/Makefile#3 integrate
.. //depot/projects/newisp/modules/if_ppp/Makefile#2 integrate
.. //depot/projects/newisp/net/bridgestp.c#5 integrate
.. //depot/projects/newisp/net/bridgestp.h#3 integrate
.. //depot/projects/newisp/net/if_bridge.c#7 integrate
.. //depot/projects/newisp/net/if_bridgevar.h#3 integrate
.. //depot/projects/newisp/net/if_ppp.c#5 integrate
.. //depot/projects/newisp/net/if_pppvar.h#2 integrate
.. //depot/projects/newisp/netinet/ip_fw2.c#7 integrate
.. //depot/projects/newisp/netinet/libalias/alias_smedia.c#3 integrate
.. //depot/projects/newisp/netinet/sctp_asconf.c#2 integrate
.. //depot/projects/newisp/netinet/sctp_constants.h#2 integrate
.. //depot/projects/newisp/netinet/sctp_indata.c#2 integrate
.. //depot/projects/newisp/netinet/sctp_input.c#2 integrate
.. //depot/projects/newisp/netinet/sctp_output.c#2 integrate
.. //depot/projects/newisp/netinet/sctp_pcb.c#2 integrate
.. //depot/projects/newisp/netinet/sctp_structs.h#2 integrate
.. //depot/projects/newisp/netinet/sctp_uio.h#2 integrate
.. //depot/projects/newisp/netinet/sctp_usrreq.c#2 integrate
.. //depot/projects/newisp/netinet/sctputil.c#2 integrate
.. //depot/projects/newisp/netinet/sctputil.h#2 integrate
.. //depot/projects/newisp/netinet6/sctp6_usrreq.c#2 integrate
.. //depot/projects/newisp/pc98/pc98/machdep.c#4 integrate
.. //depot/projects/newisp/pci/if_pcn.c#2 integrate
.. //depot/projects/newisp/pci/if_pcnreg.h#2 integrate
.. //depot/projects/newisp/posix4/_semaphore.h#2 delete
.. //depot/projects/newisp/posix4/ksched.c#3 delete
.. //depot/projects/newisp/posix4/ksem.h#2 delete
.. //depot/projects/newisp/posix4/p1003_1b.c#3 delete
.. //depot/projects/newisp/posix4/posix4.h#2 delete
.. //depot/projects/newisp/posix4/posix4_mib.c#2 delete
.. //depot/projects/newisp/posix4/sched.h#2 delete
.. //depot/projects/newisp/posix4/semaphore.h#2 delete
.. //depot/projects/newisp/powerpc/powerpc/mmu_oea.c#2 integrate
.. //depot/projects/newisp/powerpc/powerpc/pmap_dispatch.c#2 integrate
.. //depot/projects/newisp/security/mac/mac_posix_sem.c#4 integrate
.. //depot/projects/newisp/security/mac_biba/mac_biba.c#3 integrate
.. //depot/projects/newisp/security/mac_mls/mac_mls.c#4 integrate
.. //depot/projects/newisp/security/mac_stub/mac_stub.c#3 integrate
.. //depot/projects/newisp/security/mac_test/mac_test.c#2 integrate
.. //depot/projects/newisp/sparc64/sparc64/pmap.c#3 integrate
.. //depot/projects/newisp/sun4v/conf/GENERIC#2 integrate
.. //depot/projects/newisp/sun4v/include/cpufunc.h#2 integrate
.. //depot/projects/newisp/sun4v/include/pmap.h#2 integrate
.. //depot/projects/newisp/sun4v/sun4v/hcall.S#3 integrate
.. //depot/projects/newisp/sun4v/sun4v/interrupt.S#2 integrate
.. //depot/projects/newisp/sun4v/sun4v/intr_machdep.c#2 integrate
.. //depot/projects/newisp/sun4v/sun4v/pmap.c#4 integrate
.. //depot/projects/newisp/sun4v/sun4v/rtc.c#2 integrate
.. //depot/projects/newisp/sun4v/sun4v/support.S#3 integrate
.. //depot/projects/newisp/sun4v/sun4v/trap.c#4 integrate
.. //depot/projects/newisp/sys/_lock.h#2 integrate
.. //depot/projects/newisp/sys/_mutex.h#2 integrate
.. //depot/projects/newisp/sys/_semaphore.h#1 branch
.. //depot/projects/newisp/sys/ksem.h#1 branch
.. //depot/projects/newisp/sys/lock.h#2 integrate
.. //depot/projects/newisp/sys/lock_profile.h#1 branch
.. //depot/projects/newisp/sys/lockmgr.h#3 integrate
.. //depot/projects/newisp/sys/mutex.h#2 integrate
.. //depot/projects/newisp/sys/param.h#8 integrate
.. //depot/projects/newisp/sys/posix4.h#1 branch
.. //depot/projects/newisp/sys/proc.h#4 integrate
.. //depot/projects/newisp/sys/sched.h#3 integrate
.. //depot/projects/newisp/sys/sem.h#3 integrate
.. //depot/projects/newisp/sys/semaphore.h#1 branch
.. //depot/projects/newisp/sys/syscall.h#9 integrate
.. //depot/projects/newisp/sys/syscall.mk#9 integrate
.. //depot/projects/newisp/sys/sysproto.h#9 integrate
.. //depot/projects/newisp/sys/thr.h#3 integrate
.. //depot/projects/newisp/sys/umtx.h#5 integrate
.. //depot/projects/newisp/sys/vnode.h#3 integrate
.. //depot/projects/newisp/ufs/ffs/ffs_vnops.c#4 integrate
.. //depot/projects/newisp/vm/vm_contig.c#5 integrate
.. //depot/projects/newisp/vm/vm_fault.c#4 integrate
.. //depot/projects/newisp/vm/vm_kern.c#3 integrate
.. //depot/projects/newisp/vm/vm_page.c#6 integrate

Differences ...

==== //depot/projects/newisp/Makefile#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/Makefile,v 1.38 2006/08/10 06:29:43 imp Exp $
+# $FreeBSD: src/sys/Makefile,v 1.39 2006/11/11 16:26:55 trhodes Exp $
 
 .include <bsd.own.mk>
 
@@ -11,7 +11,7 @@
 CSCOPEDIRS=	coda compat conf contrib crypto ddb dev fs geom gnu i4b isa \
 		isofs kern libkern modules net net80211 netatalk netatm \
 		netgraph netinet netinet6 netipx netkey netnatm netncp \
-		netsmb nfs nfsclient nfs4client rpc pccard pci posix4 sys \
+		netsmb nfs nfsclient nfs4client rpc pccard pci sys \
 		ufs vm ${ARCHDIR}
 
 ARCHDIR	?=	${MACHINE}

==== //depot/projects/newisp/amd64/amd64/db_disasm.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_disasm.c,v 1.30 2005/03/30 22:57:41 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_disasm.c,v 1.31 2006/11/13 21:14:54 jhb Exp $");
 
 /*
  * Instruction disassembler.
@@ -84,6 +84,7 @@
 #define	Ib	21			/* byte immediate, unsigned */
 #define	Ibs	22			/* byte immediate, signed */
 #define	Iw	23			/* word immediate, unsigned */
+#define	Ilq	24			/* long/quad immediate, unsigned */
 #define	O	25			/* direct address */
 #define	Db	26			/* byte displacement from EIP */
 #define	Dl	27			/* long displacement from EIP */
@@ -351,7 +352,6 @@
 	0,
 	0,
 	0,
-	0,
 	db_inst_0f8x,
 	db_inst_0f9x,
 	db_inst_0fax,
@@ -752,14 +752,14 @@
 /*b6*/	{ "mov",   FALSE, BYTE,  op2(I, Ri),  0 },
 /*b7*/	{ "mov",   FALSE, BYTE,  op2(I, Ri),  0 },
 
-/*b8*/	{ "mov",   FALSE, LONG,  op2(I, Ri),  0 },
-/*b9*/	{ "mov",   FALSE, LONG,  op2(I, Ri),  0 },
-/*ba*/	{ "mov",   FALSE, LONG,  op2(I, Ri),  0 },
-/*bb*/	{ "mov",   FALSE, LONG,  op2(I, Ri),  0 },
-/*bc*/	{ "mov",   FALSE, LONG,  op2(I, Ri),  0 },
-/*bd*/	{ "mov",   FALSE, LONG,  op2(I, Ri),  0 },
-/*be*/	{ "mov",   FALSE, LONG,  op2(I, Ri),  0 },
-/*bf*/	{ "mov",   FALSE, LONG,  op2(I, Ri),  0 },
+/*b8*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
+/*b9*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
+/*ba*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
+/*bb*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
+/*bc*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
+/*bd*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
+/*be*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
+/*bf*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
 
 /*c0*/	{ "",	   TRUE,  BYTE,  op2(Ib, E),  db_Grp2 },
 /*c1*/	{ "",	   TRUE,  LONG,  op2(Ib, E),  db_Grp2 },
@@ -854,17 +854,6 @@
 	int		ss;
 };
 
-static const char * const db_index_reg_16[8] = {
-	"%bx,%si",
-	"%bx,%di",
-	"%bp,%si",
-	"%bp,%di",
-	"%si",
-	"%di",
-	"%bp",
-	"%bx"
-};
-
 static const char * const db_reg[2][4][16] = {
 
 	{{"%al",  "%cl",  "%dl",  "%bl",  "%ah",  "%ch",  "%dh",  "%bh",
@@ -927,7 +916,7 @@
 	int		regmodrm;
 	struct i_addr *	addrp;		/* out */
 {
-	int		mod, rm, sib, index, disp;
+	int		mod, rm, sib, index, disp, size, have_sib;
 
 	mod = f_mod(rex, regmodrm);
 	rm  = f_rm(rex, regmodrm);
@@ -940,68 +929,49 @@
 	addrp->is_reg = FALSE;
 	addrp->index = 0;
 
-	if (short_addr) {
-	    addrp->index = 0;
-	    addrp->ss = 0;
-	    switch (mod) {
-		case 0:
-		    if (rm == 6) {
-			get_value_inc(disp, loc, 2, FALSE);
-			addrp->disp = disp;
-			addrp->base = 0;
-		    }
-		    else {
-			addrp->disp = 0;
-			addrp->base = db_index_reg_16[rm];
-		    }
-		    break;
-		case 1:
-		    get_value_inc(disp, loc, 1, TRUE);
-		    disp &= 0xFFFF;
-		    addrp->disp = disp;
-		    addrp->base = db_index_reg_16[rm];
-		    break;
-		case 2:
-		    get_value_inc(disp, loc, 2, FALSE);
-		    addrp->disp = disp;
-		    addrp->base = db_index_reg_16[rm];
-		    break;
-	    }
-	}
-	else {
-	    if (mod != 3 && rm == 4) {
-		get_value_inc(sib, loc, 1, FALSE);
-		rm = sib_base(rex, sib);
-		index = sib_index(rex, sib);
-		if (index != 4)
-		    addrp->index = db_reg[1][QUAD][index];
-		addrp->ss = sib_ss(rex, sib);
-	    }
+	if (short_addr)
+	    size = LONG;
+	else
+	    size = QUAD;
+
+	if ((rm & 0x7) == 4) {
+	    get_value_inc(sib, loc, 1, FALSE);
+	    rm = sib_base(rex, sib);
+	    index = sib_index(rex, sib);
+	    if (index != 4)
+		addrp->index = db_reg[1][size][index];
+	    addrp->ss = sib_ss(rex, sib);
+	    have_sib = 1;
+	} else
+	    have_sib = 0;
 
-	    switch (mod) {
-		case 0:
-		    if (rm == 5) {
-			get_value_inc(addrp->disp, loc, 4, FALSE);
+	switch (mod) {
+	    case 0:
+		if (rm == 5) {
+		    get_value_inc(addrp->disp, loc, 4, FALSE);
+		    if (have_sib)
 			addrp->base = 0;
-		    }
-		    else {
-			addrp->disp = 0;
-			addrp->base = db_reg[1][QUAD][rm];
-		    }
-		    break;
+		    else if (short_addr)
+			addrp->base = "%eip";
+		    else
+			addrp->base = "%rip";
+		} else {
+		    addrp->disp = 0;
+		    addrp->base = db_reg[1][size][rm];
+		}
+		break;
 
-		case 1:
-		    get_value_inc(disp, loc, 1, TRUE);
-		    addrp->disp = disp;
-		    addrp->base = db_reg[1][QUAD][rm];
-		    break;
+	    case 1:
+		get_value_inc(disp, loc, 1, TRUE);
+		addrp->disp = disp;
+		addrp->base = db_reg[1][size][rm];
+		break;
 
-		case 2:
-		    get_value_inc(disp, loc, 4, FALSE);
-		    addrp->disp = disp;
-		    addrp->base = db_reg[1][QUAD][rm];
-		    break;
-	    }
+	    case 2:
+		get_value_inc(disp, loc, 4, FALSE);
+		addrp->disp = disp;
+		addrp->base = db_reg[1][size][rm];
+		break;
 	}
 	return (loc);
 }
@@ -1022,7 +992,8 @@
 	    db_printf("%s:", seg);
 	}
 
-	db_printsym((db_addr_t)addrp->disp, DB_STGY_ANY);
+	if (addrp->disp != 0 || (addrp->base == 0 && addrp->index == 0))
+		db_printsym((db_addr_t)addrp->disp, DB_STGY_ANY);
 	if (addrp->base != 0 || addrp->index != 0) {
 	    db_printf("(");
 	    if (addrp->base)
@@ -1154,6 +1125,7 @@
 	int	prefix;
 	int	imm;
 	int	imm2;
+	long	imm64;
 	int	len;
 	struct i_addr	address;
 
@@ -1426,6 +1398,12 @@
 		    db_printf("$%#r", imm);
 		    break;
 
+		case Ilq:
+		    len = db_lengths[rex & REX_W ? QUAD : LONG];
+		    get_value_inc(imm64, loc, len, FALSE);
+		    db_printf("$%#lr", imm64);
+		    break;
+
 		case O:
 		    len = (short_addr ? 2 : 4);
 		    get_value_inc(displ, loc, len, FALSE);

==== //depot/projects/newisp/amd64/amd64/local_apic.c#7 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.32 2006/10/10 23:23:11 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.33 2006/11/13 22:23:32 jhb Exp $");
 
 #include "opt_hwpmc_hooks.h"
 
@@ -744,6 +744,65 @@
 	panic("Couldn't find an APIC vector for IRQ %u", irq);
 }
 
+/*
+ * Request 'count' free contiguous IDT vectors to be used by 'count'
+ * IRQs.  'count' must be a power of two and the vectors will be
+ * aligned on a boundary of 'align'.  If the request cannot be
+ * satisfied, 0 is returned.
+ */
+u_int
+apic_alloc_vectors(u_int *irqs, u_int count, u_int align)
+{
+	u_int first, run, vector;
+
+	KASSERT(powerof2(count), ("bad count"));
+	KASSERT(powerof2(align), ("bad align"));
+	KASSERT(align >= count, ("align < count"));
+#ifdef INVARIANTS
+	for (run = 0; run < count; run++)
+		KASSERT(irqs[run] < NUM_IO_INTS, ("Invalid IRQ %u at index %u",
+		    irqs[run], run));
+#endif
+
+	/*
+	 * Search for 'count' free vectors.  As with apic_alloc_vector(),
+	 * this just uses a simple first fit algorithm.
+	 */
+	run = 0;
+	first = 0;
+	mtx_lock_spin(&icu_lock);
+	for (vector = 0; vector < APIC_NUM_IOINTS; vector++) {
+
+		/* Vector is in use, end run. */
+		if (ioint_irqs[vector] != 0) {
+			run = 0;
+			first = 0;
+			continue;
+		}
+
+		/* Start a new run if run == 0 and vector is aligned. */
+		if (run == 0) {
+			if ((vector & (align - 1)) != 0)
+				continue;
+			first = vector;
+		}
+		run++;
+
+		/* Keep looping if the run isn't long enough yet. */
+		if (run < count)
+			continue;
+
+		/* Found a run, assign IRQs and return the first vector. */
+		for (vector = 0; vector < count; vector++)
+			ioint_irqs[first + vector] = irqs[vector];
+		mtx_unlock_spin(&icu_lock);
+		return (first + APIC_IO_INTS);
+	}
+	mtx_unlock_spin(&icu_lock);
+	printf("APIC: Couldn't find APIC vectors for %u IRQs\n", count);
+	return (0);
+}
+
 void
 apic_enable_vector(u_int vector)
 {
@@ -1002,6 +1061,9 @@
 	intr_register_pic(&lapic_pic);
 	if (bootverbose)
 		lapic_dump("BSP");
+
+	/* Enable the MSI "pic". */
+	msi_init();
 }
 SYSINIT(apic_setup_io, SI_SUB_INTR, SI_ORDER_SECOND, apic_setup_io, NULL)
 

==== //depot/projects/newisp/amd64/amd64/machdep.c#6 (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/newisp/amd64/amd64/mptable_pci.c#2 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.4 2006/01/06 19:22:18 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.5 2006/11/13 22:23:32 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -96,6 +96,10 @@
 	DEVMETHOD(pcib_read_config,	legacy_pcib_read_config),
 	DEVMETHOD(pcib_write_config,	legacy_pcib_write_config),
 	DEVMETHOD(pcib_route_interrupt,	mptable_pci_route_interrupt),
+	DEVMETHOD(pcib_alloc_msi,	pcib_alloc_msi),
+	DEVMETHOD(pcib_release_msi,	pcib_release_msi),
+	DEVMETHOD(pcib_alloc_msix,	pcib_alloc_msix),
+	DEVMETHOD(pcib_release_msix,	pcib_release_msix),
 
 	{ 0, 0 }
 };
@@ -148,6 +152,10 @@
 	DEVMETHOD(pcib_read_config,	pcib_read_config),
 	DEVMETHOD(pcib_write_config,	pcib_write_config),
 	DEVMETHOD(pcib_route_interrupt,	mptable_pci_route_interrupt),
+	DEVMETHOD(pcib_alloc_msi,	pcib_alloc_msi),
+	DEVMETHOD(pcib_release_msi,	pcib_release_msi),
+	DEVMETHOD(pcib_alloc_msix,	pcib_alloc_msix),
+	DEVMETHOD(pcib_release_msix,	pcib_release_msix),
 
 	{0, 0}
 };

==== //depot/projects/newisp/amd64/amd64/nexus.c#3 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.69 2006/09/11 19:31:51 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.70 2006/11/13 22:23:32 jhb Exp $");
 
 /*
  * This code implements a `root nexus' for Intel Architecture
@@ -61,6 +61,8 @@
 
 #include <machine/resource.h>
 
+#include "pcib_if.h"
+
 #ifdef DEV_ISA
 #include <isa/isavar.h>
 #include <amd64/isa/isa.h>
@@ -100,6 +102,10 @@
 static	int nexus_set_resource(device_t, device_t, int, int, u_long, u_long);
 static	int nexus_get_resource(device_t, device_t, int, int, u_long *, u_long *);
 static void nexus_delete_resource(device_t, device_t, int, int);
+static	int nexus_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs);
+static	int nexus_release_msi(device_t pcib, device_t dev, int count, int *irqs);
+static	int nexus_alloc_msix(device_t pcib, device_t dev, int index, int *irq);
+static	int nexus_release_msix(device_t pcib, device_t dev, int irq);
 
 static device_method_t nexus_methods[] = {
 	/* Device interface */
@@ -125,6 +131,12 @@
 	DEVMETHOD(bus_get_resource,	nexus_get_resource),
 	DEVMETHOD(bus_delete_resource,	nexus_delete_resource),
 
+	/* pcib interface */
+	DEVMETHOD(pcib_alloc_msi,	nexus_alloc_msi),
+	DEVMETHOD(pcib_release_msi,	nexus_release_msi),
+	DEVMETHOD(pcib_alloc_msix,	nexus_alloc_msix),
+	DEVMETHOD(pcib_release_msix,	nexus_release_msix),
+
 	{ 0, 0 }
 };
 
@@ -504,6 +516,47 @@
 	resource_list_delete(rl, type, rid);
 }
 
+static int
+nexus_alloc_msix(device_t pcib, device_t dev, int index, int *irq)
+{
+	int error, new;
+
+	error = msix_alloc(dev, index, irq, &new);
+	if (new)
+		rman_manage_region(&irq_rman, *irq, *irq);
+	return (error);
+}
+
+static int
+nexus_release_msix(device_t pcib, device_t dev, int irq)
+{
+
+	return (msix_release(irq));
+}
+
+static int
+nexus_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs)
+{
+	int error, i, newirq, newcount;
+
+	/* First alloc the messages. */
+	error = msi_alloc(dev, count, maxcount, irqs, &newirq, &newcount);
+
+	/* Always add any new IRQs to the rman, even on failure. */
+	for (i = 0; i < newcount; i++)
+		rman_manage_region(&irq_rman, irqs[newirq + i],
+		    irqs[newirq + i]);
+
+	return (error);
+}
+
+static int
+nexus_release_msi(device_t pcib, device_t dev, int count, int *irqs)
+{
+
+	return (msi_release(irqs, count));
+}
+
 #ifdef DEV_ISA
 /*
  * Placeholder which claims PnP 'devices' which describe system 

==== //depot/projects/newisp/amd64/amd64/pmap.c#3 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.572 2006/10/22 04:18:01 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.573 2006/11/12 21:48:32 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -2357,8 +2357,10 @@
 	 * Now validate mapping with desired protection/wiring.
 	 */
 	newpte = (pt_entry_t)(pa | PG_V);
-	if ((prot & VM_PROT_WRITE) != 0)
+	if ((prot & VM_PROT_WRITE) != 0) {
 		newpte |= PG_RW;
+		vm_page_flag_set(m, PG_WRITEABLE);
+	}
 	if ((prot & VM_PROT_EXECUTE) == 0)
 		newpte |= pg_nx;
 	if (wired)

==== //depot/projects/newisp/amd64/include/apicvar.h#3 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.19 2006/10/10 23:23:11 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.20 2006/11/13 22:23:33 jhb Exp $
  */
 
 #ifndef _MACHINE_APICVAR_H_
@@ -175,6 +175,7 @@
 	IDTVEC(apic_isr7), IDTVEC(spuriousint), IDTVEC(timerint);
 
 u_int	apic_alloc_vector(u_int irq);
+u_int	apic_alloc_vectors(u_int *irqs, u_int count, u_int align);
 void	apic_enable_vector(u_int vector);
 void	apic_free_vector(u_int vector, u_int irq);
 u_int	apic_idt_to_irq(u_int vector);

==== //depot/projects/newisp/amd64/include/intr_machdep.h#3 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.11 2006/10/10 23:23:11 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.12 2006/11/13 22:23:33 jhb Exp $
  */
 
 #ifndef __MACHINE_INTR_MACHDEP_H__
@@ -43,11 +43,18 @@
  * 191 and still be safe since only interrupt sources in actual use will
  * allocate IDT vectors.
  *
- * For now we stick with 255 as ISA IRQs and PCI intline IRQs only allow
- * for IRQs in the range 0 - 254.  When MSI support is added this number
- * will likely increase.
+ * The first 255 IRQs (0 - 254) are reserved for ISA IRQs and PCI intline IRQs.
+ * IRQ values beyond 256 are used by MSI.  We leave 255 unused to avoid
+ * confusion since 255 is used in PCI to indicate an invalid IRQ.
+ */
+#define	NUM_MSI_INTS	128
+#define	FIRST_MSI_INT	256
+#define	NUM_IO_INTS	(FIRST_MSI_INT + NUM_MSI_INTS)
+
+/*
+ * Default base address for MSI messages on x86 platforms.
  */
-#define	NUM_IO_INTS	255
+#define	MSI_INTEL_ADDR_BASE		0xfee00000
 
 /*
  * - 1 ??? dummy counter.
@@ -140,6 +147,12 @@
 void	intr_resume(void);
 void	intr_suspend(void);
 void	intrcnt_add(const char *name, u_long **countp);
+void	msi_init(void);
+int	msi_alloc(device_t dev, int count, int maxcount, int *irqs, int *newirq,
+    int *newcount);
+int	msi_release(int *irqs, int count);
+int	msix_alloc(device_t dev, int index, int *irq, int *new);
+int	msix_release(int irq);
 
 #endif	/* !LOCORE */
 #endif	/* _KERNEL */

==== //depot/projects/newisp/amd64/include/pmap.h#2 (text+ko) ====

@@ -39,7 +39,7 @@
  *
  *	from: hp300: @(#)pmap.h	7.2 (Berkeley) 12/16/90
  *	from: @(#)pmap.h	7.4 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.134 2006/08/11 19:22:56 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.136 2006/11/13 20:33:54 ru Exp $
  */
 
 #ifndef _MACHINE_PMAP_H_
@@ -101,9 +101,10 @@
 	((unsigned long)(l2) << PDRSHIFT) | \
 	((unsigned long)(l1) << PAGE_SHIFT))
 
-/* Initial number of kernel page tables */
+/* Initial number of kernel page tables. */
 #ifndef NKPT
-#define	NKPT		240	/* Enough for 16GB (2MB page tables) */
+/* 240 page tables needed to map 16G (120B "struct vm_page", 2M page tables). */
+#define	NKPT		240
 #endif
 
 #define NKPML4E		1		/* number of kernel PML4 slots */
@@ -262,7 +263,7 @@
 
 /*
  * For each vm_page_t, there is a list of all currently valid virtual
- * mappings of that page.  An entry is a pv_entry_t, the list is pv_table.
+ * mappings of that page.  An entry is a pv_entry_t, the list is pv_list.
  */
 typedef struct pv_entry {
 	vm_offset_t	pv_va;		/* virtual address for mapping */

==== //depot/projects/newisp/amd64/linux32/linux.h#4 (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/newisp/amd64/linux32/linux32_proto.h#5 (text+ko) ====

@@ -2,7 +2,7 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.25 2006/10/29 14:12:44 netchild Exp $
+ * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.26 2006/11/11 21:49:07 ru Exp $
  * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp 
  */
 
@@ -11,7 +11,7 @@
 
 #include <sys/signal.h>
 #include <sys/acl.h>
-#include <posix4/_semaphore.h>
+#include <sys/_semaphore.h>
 #include <sys/ucontext.h>
 
 #include <bsm/audit_kevents.h>

==== //depot/projects/newisp/amd64/linux32/linux32_syscall.h#5 (text+ko) ====

@@ -2,7 +2,7 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.25 2006/10/29 14:12:44 netchild Exp $
+ * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.26 2006/11/11 21:49:07 ru Exp $
  * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp 
  */
 

==== //depot/projects/newisp/amd64/linux32/linux32_sysent.c#5 (text+ko) ====

@@ -2,7 +2,7 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.25 2006/10/29 14:12:44 netchild Exp $
+ * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.26 2006/11/11 21:49:07 ru Exp $
  * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp 
  */
 

==== //depot/projects/newisp/amd64/pci/pci_bus.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.117 2006/03/13 23:58:40 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.118 2006/11/13 22:23:33 jhb Exp $");
 
 #include "opt_cpu.h"
 
@@ -322,6 +322,10 @@
 	DEVMETHOD(pcib_read_config,	legacy_pcib_read_config),
 	DEVMETHOD(pcib_write_config,	legacy_pcib_write_config),
 	DEVMETHOD(pcib_route_interrupt,	legacy_pcib_route_interrupt),
+	DEVMETHOD(pcib_alloc_msi,	pcib_alloc_msi),
+	DEVMETHOD(pcib_release_msi,	pcib_release_msi),
+	DEVMETHOD(pcib_alloc_msix,	pcib_alloc_msix),
+	DEVMETHOD(pcib_release_msix,	pcib_release_msix),
 
 	{ 0, 0 }
 };

==== //depot/projects/newisp/arm/arm/cpufunc.c#3 (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		*/

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611140015.kAE0FWIR063660>