Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 May 2009 13:41:40 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 162313 for review
Message-ID:  <200905191341.n4JDfeG5049773@repoman.freebsd.org>

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

Change 162313 by jhb@jhb_jhbbsd on 2009/05/19 13:40:43

	IFC @162312

Affected files ...

.. //depot/projects/smpng/share/man/man9/sbuf.9#2 integrate
.. //depot/projects/smpng/sys/amd64/amd64/machdep.c#79 integrate
.. //depot/projects/smpng/sys/amd64/amd64/mca.c#1 branch
.. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#56 integrate
.. //depot/projects/smpng/sys/amd64/amd64/trap.c#66 integrate
.. //depot/projects/smpng/sys/amd64/conf/GENERIC.hints#7 integrate
.. //depot/projects/smpng/sys/amd64/include/mca.h#1 branch
.. //depot/projects/smpng/sys/amd64/include/param.h#23 integrate
.. //depot/projects/smpng/sys/amd64/include/smp.h#21 integrate
.. //depot/projects/smpng/sys/amd64/include/specialreg.h#21 integrate
.. //depot/projects/smpng/sys/amd64/include/vmparam.h#13 integrate
.. //depot/projects/smpng/sys/amd64/linux32/linux.h#23 integrate
.. //depot/projects/smpng/sys/amd64/pci/pci_cfgreg.c#13 integrate
.. //depot/projects/smpng/sys/arm/arm/machdep.c#27 integrate
.. //depot/projects/smpng/sys/arm/at91/at91.c#19 integrate
.. //depot/projects/smpng/sys/arm/at91/at91_spi.c#9 integrate
.. //depot/projects/smpng/sys/arm/at91/if_ate.c#21 integrate
.. //depot/projects/smpng/sys/boot/forth/loader.conf#61 integrate
.. //depot/projects/smpng/sys/boot/i386/zfsboot/zfsboot.c#3 integrate
.. //depot/projects/smpng/sys/boot/zfs/zfsimpl.c#5 integrate
.. //depot/projects/smpng/sys/cddl/boot/zfs/README#2 integrate
.. //depot/projects/smpng/sys/cddl/boot/zfs/zfsimpl.h#3 integrate
.. //depot/projects/smpng/sys/cddl/boot/zfs/zfssubr.c#3 integrate
.. //depot/projects/smpng/sys/cddl/compat/opensolaris/sys/mutex.h#2 integrate
.. //depot/projects/smpng/sys/cddl/compat/opensolaris/sys/rwlock.h#2 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c#3 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#4 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#4 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#10 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c#3 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_socket.c#47 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_socket.h#5 integrate
.. //depot/projects/smpng/sys/compat/ndis/subr_ndis.c#50 integrate
.. //depot/projects/smpng/sys/conf/files#239 integrate
.. //depot/projects/smpng/sys/conf/files.amd64#66 integrate
.. //depot/projects/smpng/sys/conf/files.i386#124 integrate
.. //depot/projects/smpng/sys/conf/files.pc98#99 integrate
.. //depot/projects/smpng/sys/conf/files.powerpc#51 integrate
.. //depot/projects/smpng/sys/contrib/altq/altq/altq_subr.c#12 integrate
.. //depot/projects/smpng/sys/dev/aic/aic.c#13 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-pci.h#65 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-acard.c#3 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-promise.c#6 integrate
.. //depot/projects/smpng/sys/dev/ath/if_ath_pci.c#22 integrate
.. //depot/projects/smpng/sys/dev/bce/if_bce.c#28 integrate
.. //depot/projects/smpng/sys/dev/bge/if_bge.c#106 integrate
.. //depot/projects/smpng/sys/dev/bwi/bwiphy.c#2 integrate
.. //depot/projects/smpng/sys/dev/bwi/if_bwi_pci.c#2 integrate
.. //depot/projects/smpng/sys/dev/bwi/if_bwireg.h#2 integrate
.. //depot/projects/smpng/sys/dev/ciss/ciss.c#60 integrate
.. //depot/projects/smpng/sys/dev/e1000/if_em.c#7 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed.c#44 integrate
.. //depot/projects/smpng/sys/dev/ep/if_ep.c#30 integrate
.. //depot/projects/smpng/sys/dev/flash/at45d.c#3 integrate
.. //depot/projects/smpng/sys/dev/iir/iir_pci.c#19 integrate
.. //depot/projects/smpng/sys/dev/ixgb/if_ixgb.c#20 integrate
.. //depot/projects/smpng/sys/dev/lmc/if_lmc.c#22 integrate
.. //depot/projects/smpng/sys/dev/malo/if_malo_pci.c#4 integrate
.. //depot/projects/smpng/sys/dev/md/md.c#89 integrate
.. //depot/projects/smpng/sys/dev/nge/if_nge.c#54 integrate
.. //depot/projects/smpng/sys/dev/nge/if_ngereg.h#13 integrate
.. //depot/projects/smpng/sys/dev/snp/snp.c#36 integrate
.. //depot/projects/smpng/sys/dev/spibus/spibus.c#3 integrate
.. //depot/projects/smpng/sys/dev/syscons/syscons.c#71 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/ehci.c#7 integrate
.. //depot/projects/smpng/sys/dev/usb/storage/umass.c#7 integrate
.. //depot/projects/smpng/sys/dev/usb/storage/ustorage_fs.c#6 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_core.h#8 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_dev.c#8 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_hid.c#7 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_transfer.c#6 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#136 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_uath.c#3 integrate
.. //depot/projects/smpng/sys/dev/xen/console/console.c#8 integrate
.. //depot/projects/smpng/sys/dev/xen/netfront/netfront.c#8 integrate
.. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#80 integrate
.. //depot/projects/smpng/sys/fs/nfs/nfs.h#3 integrate
.. //depot/projects/smpng/sys/fs/nfs/nfs_commonkrpc.c#2 integrate
.. //depot/projects/smpng/sys/fs/nfs/nfs_var.h#3 integrate
.. //depot/projects/smpng/sys/fs/nfs/nfsdport.h#2 integrate
.. //depot/projects/smpng/sys/fs/nfs/nfsport.h#3 integrate
.. //depot/projects/smpng/sys/fs/nfs/nfsproto.h#2 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs.h#2 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clbio.c#2 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clkrpc.c#2 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clnode.c#2 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clrpcops.c#2 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clstate.c#2 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clvfsops.c#3 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clvnops.c#2 integrate
.. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdkrpc.c#3 integrate
.. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdport.c#3 integrate
.. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdserv.c#3 integrate
.. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdsocket.c#3 integrate
.. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdstate.c#2 integrate
.. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdsubs.c#2 integrate
.. //depot/projects/smpng/sys/fs/smbfs/smbfs_io.c#32 integrate
.. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/support/debug.h#3 integrate
.. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfsdmapistubs.c#2 delete
.. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfsquotasstubs.c#2 delete
.. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfsrtstubs.c#2 delete
.. //depot/projects/smpng/sys/i386/conf/GENERIC.hints#12 integrate
.. //depot/projects/smpng/sys/i386/i386/machdep.c#140 integrate
.. //depot/projects/smpng/sys/i386/i386/mca.c#1 branch
.. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#120 integrate
.. //depot/projects/smpng/sys/i386/i386/pmap.c#133 integrate
.. //depot/projects/smpng/sys/i386/i386/trap.c#115 integrate
.. //depot/projects/smpng/sys/i386/include/mca.h#1 branch
.. //depot/projects/smpng/sys/i386/include/param.h#22 integrate
.. //depot/projects/smpng/sys/i386/include/smp.h#30 integrate
.. //depot/projects/smpng/sys/i386/include/specialreg.h#25 integrate
.. //depot/projects/smpng/sys/i386/linux/linux.h#27 integrate
.. //depot/projects/smpng/sys/i386/pci/pci_cfgreg.c#38 integrate
.. //depot/projects/smpng/sys/i386/xen/mp_machdep.c#10 integrate
.. //depot/projects/smpng/sys/ia64/ia64/elf_machdep.c#26 integrate
.. //depot/projects/smpng/sys/ia64/ia64/machdep.c#117 integrate
.. //depot/projects/smpng/sys/ia64/ia64/pmap.c#92 integrate
.. //depot/projects/smpng/sys/ia64/include/md_var.h#25 integrate
.. //depot/projects/smpng/sys/kern/kern_clock.c#62 integrate
.. //depot/projects/smpng/sys/kern/kern_descrip.c#124 integrate
.. //depot/projects/smpng/sys/kern/kern_intr.c#98 integrate
.. //depot/projects/smpng/sys/kern/kern_sysctl.c#63 integrate
.. //depot/projects/smpng/sys/kern/sys_generic.c#59 integrate
.. //depot/projects/smpng/sys/kern/tty.c#90 integrate
.. //depot/projects/smpng/sys/kern/tty_info.c#6 integrate
.. //depot/projects/smpng/sys/kern/uipc_syscalls.c#116 integrate
.. //depot/projects/smpng/sys/kern/vfs_bio.c#121 integrate
.. //depot/projects/smpng/sys/kern/vfs_syscalls.c#146 integrate
.. //depot/projects/smpng/sys/legacy/dev/usb/if_upgt.c#2 delete
.. //depot/projects/smpng/sys/legacy/dev/usb/if_upgtvar.h#2 delete
.. //depot/projects/smpng/sys/legacy/dev/usb/usb_ethersubr.c#2 delete
.. //depot/projects/smpng/sys/legacy/dev/usb/usb_ethersubr.h#2 delete
.. //depot/projects/smpng/sys/mips/mips/machdep.c#7 integrate
.. //depot/projects/smpng/sys/mips/mips/pm_machdep.c#2 integrate
.. //depot/projects/smpng/sys/modules/xfs/Makefile#4 integrate
.. //depot/projects/smpng/sys/net/bpf.c#84 integrate
.. //depot/projects/smpng/sys/net/netisr.c#16 integrate
.. //depot/projects/smpng/sys/net/netisr.h#13 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211.h#21 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_freebsd.c#20 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_node.c#47 integrate
.. //depot/projects/smpng/sys/netinet/in.c#53 integrate
.. //depot/projects/smpng/sys/netinet/in_pcb.c#94 integrate
.. //depot/projects/smpng/sys/netinet/in_pcb.h#63 integrate
.. //depot/projects/smpng/sys/netinet/ip_fw2.c#109 integrate
.. //depot/projects/smpng/sys/netinet6/in6.c#54 integrate
.. //depot/projects/smpng/sys/netinet6/ip6_mroute.c#39 integrate
.. //depot/projects/smpng/sys/nfs/nfs_common.c#15 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_bio.c#56 integrate
.. //depot/projects/smpng/sys/pc98/include/mca.h#1 branch
.. //depot/projects/smpng/sys/pc98/pc98/machdep.c#32 integrate
.. //depot/projects/smpng/sys/powerpc/aim/clock.c#5 integrate
.. //depot/projects/smpng/sys/powerpc/aim/machdep.c#13 integrate
.. //depot/projects/smpng/sys/powerpc/aim/mmu_oea.c#7 integrate
.. //depot/projects/smpng/sys/powerpc/aim/mmu_oea64.c#2 integrate
.. //depot/projects/smpng/sys/powerpc/aim/mp_cpudep.c#4 integrate
.. //depot/projects/smpng/sys/powerpc/aim/ofw_machdep.c#6 integrate
.. //depot/projects/smpng/sys/powerpc/aim/platform_chrp.c#1 branch
.. //depot/projects/smpng/sys/powerpc/aim/vm_machdep.c#6 integrate
.. //depot/projects/smpng/sys/powerpc/booke/clock.c#4 integrate
.. //depot/projects/smpng/sys/powerpc/booke/machdep.c#10 integrate
.. //depot/projects/smpng/sys/powerpc/booke/platform_bare.c#1 branch
.. //depot/projects/smpng/sys/powerpc/booke/pmap.c#9 integrate
.. //depot/projects/smpng/sys/powerpc/booke/vm_machdep.c#5 integrate
.. //depot/projects/smpng/sys/powerpc/include/cpufunc.h#22 integrate
.. //depot/projects/smpng/sys/powerpc/include/md_var.h#14 integrate
.. //depot/projects/smpng/sys/powerpc/include/ofw_machdep.h#5 integrate
.. //depot/projects/smpng/sys/powerpc/include/platform.h#1 branch
.. //depot/projects/smpng/sys/powerpc/include/platformvar.h#1 branch
.. //depot/projects/smpng/sys/powerpc/include/pmap.h#23 integrate
.. //depot/projects/smpng/sys/powerpc/include/powerpc.h#6 delete
.. //depot/projects/smpng/sys/powerpc/include/smp.h#5 integrate
.. //depot/projects/smpng/sys/powerpc/include/spr.h#14 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/mp_machdep.c#11 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/platform.c#1 branch
.. //depot/projects/smpng/sys/powerpc/powerpc/platform_if.m#1 branch
.. //depot/projects/smpng/sys/powerpc/powerpc/pmap_dispatch.c#15 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#95 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/machdep.c#10 integrate
.. //depot/projects/smpng/sys/sys/buf.h#54 integrate
.. //depot/projects/smpng/sys/sys/eventhandler.h#30 integrate
.. //depot/projects/smpng/sys/sys/filedesc.h#33 integrate
.. //depot/projects/smpng/sys/sys/systm.h#94 integrate
.. //depot/projects/smpng/sys/sys/vimage.h#10 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_alloc.c#51 integrate
.. //depot/projects/smpng/sys/vm/vm_contig.c#46 integrate
.. //depot/projects/smpng/sys/vm/vm_pageout.c#71 integrate
.. //depot/projects/smpng/sys/vm/vnode_pager.c#72 integrate

Differences ...

==== //depot/projects/smpng/share/man/man9/sbuf.9#2 (text+ko) ====

@@ -1,5 +1,5 @@
 .\"-
-.\" Copyright (c) 2000 Poul Henning Kamp and Dag-Erling Coïdan Smørgrav
+.\" Copyright (c) 2000 Poul-Henning Kamp and Dag-Erling Coïdan Smørgrav
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -23,14 +23,15 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/sbuf.9,v 1.26 2006/09/18 15:24:20 ru Exp $
+.\" $FreeBSD: src/share/man/man9/sbuf.9,v 1.27 2009/05/17 21:28:37 brueffer Exp $
 .\"
-.Dd July 9, 2004
+.Dd May 17, 2009
 .Dt SBUF 9
 .Os
 .Sh NAME
 .Nm sbuf ,
 .Nm sbuf_new ,
+.Nm sbuf_new_auto ,
 .Nm sbuf_clear ,
 .Nm sbuf_setpos ,
 .Nm sbuf_bcat ,
@@ -55,6 +56,8 @@
 .In sys/sbuf.h
 .Ft struct sbuf *
 .Fn sbuf_new "struct sbuf *s" "char *buf" "int length" "int flags"
+.Ft struct sbuf *
+.Fn sbuf_new_auto
 .Ft void
 .Fn sbuf_clear "struct sbuf *s"
 .Ft int
@@ -148,6 +151,19 @@
 sbuf is undefined.
 .Pp
 The
+.Fn sbuf_new_auto
+function is a shortcut for creating a completely dynamic
+.Nm .
+It is the equivalent of calling
+.Fn sbuf_new
+with values
+.Dv NULL ,
+.Dv NULL ,
+.Dv 0 ,
+and
+.Dv SBUF_AUTOEXTEND .
+.Pp
+The
 .Fn sbuf_delete
 function clears the
 .Fa sbuf

==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#79 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.699 2009/04/11 14:01:01 ed Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.701 2009/05/18 18:37:18 marcel Exp $");
 
 #include "opt_atalk.h"
 #include "opt_atpic.h"
@@ -109,6 +109,7 @@
 #include <machine/cpu.h>
 #include <machine/cputypes.h>
 #include <machine/intr_machdep.h>
+#include <machine/mca.h>
 #include <machine/md_var.h>
 #include <machine/metadata.h>
 #include <machine/pc/bios.h>
@@ -274,6 +275,7 @@
 	vm_pager_bufferinit();
 
 	cpu_setregs();
+	mca_init();
 }
 
 /*
@@ -504,6 +506,16 @@
 {
 }
 
+/*
+ * Flush the D-cache for non-DMA I/O so that the I-cache can
+ * be made coherent later.
+ */
+void
+cpu_flush_dcache(void *ptr, size_t len)
+{
+	/* Not applicable */
+}
+
 /* Get current clock frequency for the given cpu id. */
 int
 cpu_est_clockrate(int cpu_id, uint64_t *rate)

==== //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#56 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.306 2009/05/02 12:20:43 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.308 2009/05/14 17:43:00 attilio Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -60,6 +60,7 @@
 #include <machine/clock.h>
 #include <machine/cputypes.h>
 #include <machine/cpufunc.h>
+#include <machine/mca.h>
 #include <machine/md_var.h>
 #include <machine/mp_watchdog.h>
 #include <machine/pcb.h>
@@ -113,9 +114,9 @@
 extern inthand_t IDTVEC(fast_syscall), IDTVEC(fast_syscall32);
 
 #ifdef STOP_NMI
-volatile cpumask_t ipi_nmi_pending;
+static volatile cpumask_t ipi_nmi_pending;
 
-static void	ipi_nmi_selected(u_int32_t cpus);
+static void	ipi_nmi_selected(cpumask_t cpus);
 #endif 
 
 /*
@@ -667,6 +668,8 @@
 	KASSERT(PCPU_GET(idlethread) != NULL, ("no idle thread"));
 	PCPU_SET(curthread, PCPU_GET(idlethread));
 
+	mca_init();
+
 	mtx_lock_spin(&ap_boot_mtx);
 
 	/* Init local apic for irq's */
@@ -1013,7 +1016,7 @@
 }
 
 static void
-smp_targeted_tlb_shootdown(u_int mask, u_int vector, vm_offset_t addr1, vm_offset_t addr2)
+smp_targeted_tlb_shootdown(cpumask_t mask, u_int vector, vm_offset_t addr1, vm_offset_t addr2)
 {
 	int ncpu, othercpus;
 
@@ -1087,7 +1090,7 @@
 }
 
 void
-smp_masked_invltlb(u_int mask)
+smp_masked_invltlb(cpumask_t mask)
 {
 
 	if (smp_started) {
@@ -1096,7 +1099,7 @@
 }
 
 void
-smp_masked_invlpg(u_int mask, vm_offset_t addr)
+smp_masked_invlpg(cpumask_t mask, vm_offset_t addr)
 {
 
 	if (smp_started) {
@@ -1105,7 +1108,7 @@
 }
 
 void
-smp_masked_invlpg_range(u_int mask, vm_offset_t addr1, vm_offset_t addr2)
+smp_masked_invlpg_range(cpumask_t mask, vm_offset_t addr1, vm_offset_t addr2)
 {
 
 	if (smp_started) {
@@ -1140,7 +1143,7 @@
  * send an IPI to a set of cpus.
  */
 void
-ipi_selected(u_int32_t cpus, u_int ipi)
+ipi_selected(cpumask_t cpus, u_int ipi)
 {
 	int cpu;
 	u_int bitmap = 0;
@@ -1203,8 +1206,8 @@
 
 #define	BEFORE_SPIN	1000000
 
-void
-ipi_nmi_selected(u_int32_t cpus)
+static void
+ipi_nmi_selected(cpumask_t cpus)
 {
 	int cpu;
 	register_t icrlo;
@@ -1328,7 +1331,7 @@
 static int
 sysctl_hlt_cpus(SYSCTL_HANDLER_ARGS)
 {
-	u_int mask;
+	cpumask_t mask;
 	int error;
 
 	mask = hlt_cpus_mask;

==== //depot/projects/smpng/sys/amd64/amd64/trap.c#66 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.331 2009/04/01 13:09:26 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.332 2009/05/13 17:53:04 jhb Exp $");
 
 /*
  * AMD64 Trap and System call handling
@@ -88,6 +88,7 @@
 
 #include <machine/cpu.h>
 #include <machine/intr_machdep.h>
+#include <machine/mca.h>
 #include <machine/md_var.h>
 #include <machine/pcb.h>
 #ifdef SMP
@@ -266,6 +267,12 @@
 		goto out;
 #endif
 
+	if (type == T_MCHK) {
+		if (!mca_intr())
+			trap_fatal(frame, 0);
+		goto out;
+	}
+
 #ifdef KDTRACE_HOOKS
 	/*
 	 * A trap can occur while DTrace executes a probe. Before

==== //depot/projects/smpng/sys/amd64/conf/GENERIC.hints#7 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.19 2008/07/13 07:20:14 ed Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.20 2009/05/14 21:53:35 jhb Exp $
 hint.fdc.0.at="isa"
 hint.fdc.0.port="0x3F0"
 hint.fdc.0.irq="6"
@@ -13,7 +13,6 @@
 hint.atkbd.0.irq="1"
 hint.psm.0.at="atkbdc"
 hint.psm.0.irq="12"
-hint.vga.0.at="isa"
 hint.sc.0.at="isa"
 hint.sc.0.flags="0x100"
 hint.uart.0.at="isa"
@@ -23,13 +22,5 @@
 hint.uart.1.at="isa"
 hint.uart.1.port="0x2F8"
 hint.uart.1.irq="3"
-hint.uart.2.at="isa"
-hint.uart.2.disabled="1"
-hint.uart.2.port="0x3E8"
-hint.uart.2.irq="5"
-hint.uart.3.at="isa"
-hint.uart.3.disabled="1"
-hint.uart.3.port="0x2E8"
-hint.uart.3.irq="9"
 hint.ppc.0.at="isa"
 hint.ppc.0.irq="7"

==== //depot/projects/smpng/sys/amd64/include/param.h#23 (text+ko) ====

@@ -36,7 +36,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)param.h	8.1 (Berkeley) 6/10/93
- * $FreeBSD: src/sys/amd64/include/param.h,v 1.27 2009/04/20 12:59:23 rwatson Exp $
+ * $FreeBSD: src/sys/amd64/include/param.h,v 1.28 2009/05/18 19:33:59 jhb Exp $
  */
 
 /*
@@ -93,7 +93,7 @@
  * CACHE_LINE_SIZE is the compile-time maximum cache line size for an
  * architecture.  It should be used with appropriate caution.
  */
-#define	CACHE_LINE_SHIFT	6
+#define	CACHE_LINE_SHIFT	7
 #define	CACHE_LINE_SIZE		(1 << CACHE_LINE_SHIFT)
 
 /* Size of the level 1 page table units */

==== //depot/projects/smpng/sys/amd64/include/smp.h#21 (text+ko) ====

@@ -6,7 +6,7 @@
  * this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp
  * ----------------------------------------------------------------------------
  *
- * $FreeBSD: src/sys/amd64/include/smp.h,v 1.95 2009/04/29 06:54:40 jeff Exp $
+ * $FreeBSD: src/sys/amd64/include/smp.h,v 1.96 2009/05/14 17:43:00 attilio Exp $
  *
  */
 
@@ -52,19 +52,19 @@
 void	cpustop_handler(void);
 void	cpususpend_handler(void);
 void	init_secondary(void);
-void	ipi_selected(u_int cpus, u_int ipi);
+void	ipi_selected(cpumask_t cpus, u_int ipi);
 void	ipi_all_but_self(u_int ipi);
 void 	ipi_bitmap_handler(struct trapframe frame);
 u_int	mp_bootaddress(u_int);
 int	mp_grab_cpu_hlt(void);
 void	smp_cache_flush(void);
 void	smp_invlpg(vm_offset_t addr);
-void	smp_masked_invlpg(u_int mask, vm_offset_t addr);
+void	smp_masked_invlpg(cpumask_t mask, vm_offset_t addr);
 void	smp_invlpg_range(vm_offset_t startva, vm_offset_t endva);
-void	smp_masked_invlpg_range(u_int mask, vm_offset_t startva,
+void	smp_masked_invlpg_range(cpumask_t mask, vm_offset_t startva,
 	    vm_offset_t endva);
 void	smp_invltlb(void);
-void	smp_masked_invltlb(u_int mask);
+void	smp_masked_invltlb(cpumask_t mask);
 
 #ifdef STOP_NMI
 int	ipi_nmi_handler(void);

==== //depot/projects/smpng/sys/amd64/include/specialreg.h#21 (text+ko) ====

@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)specialreg.h	7.1 (Berkeley) 5/9/91
- * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.54 2009/04/29 06:54:40 jeff Exp $
+ * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.55 2009/05/13 17:53:04 jhb Exp $
  */
 
 #ifndef _MACHINE_SPECIALREG_H_
@@ -346,6 +346,34 @@
 #define	DIR1			0xff
 
 /*
+ * Machine Check register constants.
+ */
+#define	MCG_CAP_COUNT		0x000000ff
+#define	MCG_CAP_CTL_P		0x00000100
+#define	MCG_CAP_EXT_P		0x00000200
+#define	MCG_CAP_TES_P		0x00000800
+#define	MCG_CAP_EXT_CNT		0x00ff0000
+#define	MCG_STATUS_RIPV		0x00000001
+#define	MCG_STATUS_EIPV		0x00000002
+#define	MCG_STATUS_MCIP		0x00000004
+#define	MCG_CTL_ENABLE		0xffffffffffffffffUL
+#define	MCG_CTL_DISABLE		0x0000000000000000UL
+#define	MSR_MC_CTL(x)		(MSR_MC0_CTL + (x) * 4)
+#define	MSR_MC_STATUS(x)	(MSR_MC0_STATUS + (x) * 4)
+#define	MSR_MC_ADDR(x)		(MSR_MC0_ADDR + (x) * 4)
+#define	MSR_MC_MISC(x)		(MSR_MC0_MISC + (x) * 4)
+#define	MC_STATUS_MCA_ERROR	0x000000000000ffffUL
+#define	MC_STATUS_MODEL_ERROR	0x00000000ffff0000UL
+#define	MC_STATUS_OTHER_INFO	0x01ffffff00000000UL
+#define	MC_STATUS_PCC		0x0200000000000000UL
+#define	MC_STATUS_ADDRV		0x0400000000000000UL
+#define	MC_STATUS_MISCV		0x0800000000000000UL
+#define	MC_STATUS_EN		0x1000000000000000UL
+#define	MC_STATUS_UC		0x2000000000000000UL
+#define	MC_STATUS_OVER		0x4000000000000000UL
+#define	MC_STATUS_VAL		0x8000000000000000UL
+
+/*
  * The following four 3-byte registers control the non-cacheable regions.
  * These registers must be written as three separate bytes.
  *

==== //depot/projects/smpng/sys/amd64/include/vmparam.h#13 (text+ko) ====

@@ -38,7 +38,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)vmparam.h	5.9 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.56 2008/07/08 22:59:17 alc Exp $
+ * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.59 2009/05/16 22:08:00 kmacy Exp $
  */
 
 
@@ -154,8 +154,7 @@
  * 0xffff800000000000 - 0xffff804020100fff   recursive page table (512GB slot)
  * 0xffff804020101000 - 0xfffffeffffffffff   unused
  * 0xffffff0000000000 - 0xffffff7fffffffff   512GB direct map mappings
- * 0xffffff8000000000 - 0xfffffffe3fffffff   unused (505GB)
- * 0xfffffffe40000000 - 0xffffffffffffffff   7GB kernel map
+ * 0xffffff8000000000 - 0xffffffffffffffff   512GB kernel map
  *
  * Within the kernel map:
  *
@@ -163,7 +162,7 @@
  */
 
 #define	VM_MAX_KERNEL_ADDRESS	KVADDR(KPML4I, NPDPEPG-1, NPDEPG-1, NPTEPG-1)
-#define	VM_MIN_KERNEL_ADDRESS	KVADDR(KPML4I, NPDPEPG-7, 0, 0)
+#define	VM_MIN_KERNEL_ADDRESS	KVADDR(KPML4I, NPDPEPG-512, 0, 0)
 
 #define	DMAP_MIN_ADDRESS	KVADDR(DMPML4I, 0, 0, 0)
 #define	DMAP_MAX_ADDRESS	KVADDR(DMPML4I+1, 0, 0, 0)

==== //depot/projects/smpng/sys/amd64/linux32/linux.h#23 (text+ko) ====

@@ -27,7 +27,7 @@
  * (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.27 2009/05/11 13:50:42 dchagin Exp $
+ * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.28 2009/05/16 18:48:41 dchagin Exp $
  */
 
 #ifndef _AMD64_LINUX_H_
@@ -571,6 +571,7 @@
 #define	LINUX_O_DIRECTORY	00200000	/* Must be a directory */
 #define	LINUX_O_NOFOLLOW	00400000	/* Do not follow links */
 #define	LINUX_O_NOATIME		01000000
+#define	LINUX_O_CLOEXEC		02000000
 
 #define	LINUX_F_DUPFD		0
 #define	LINUX_F_GETFD		1

==== //depot/projects/smpng/sys/amd64/pci/pci_cfgreg.c#13 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_cfgreg.c,v 1.114 2009/03/24 18:10:22 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_cfgreg.c,v 1.115 2009/05/18 21:47:32 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -35,6 +35,7 @@
 #include <sys/lock.h>
 #include <sys/kernel.h>
 #include <sys/mutex.h>
+#include <sys/sysctl.h>
 #include <dev/pci/pcivar.h>
 #include <dev/pci/pcireg.h>
 #include <vm/vm.h>
@@ -56,6 +57,8 @@
 static int	pcireg_cfgread(int bus, int slot, int func, int reg, int bytes);
 static void	pcireg_cfgwrite(int bus, int slot, int func, int reg, int data, int bytes);
 
+SYSCTL_DECL(_hw_pci);
+
 static int cfgmech;
 static vm_offset_t pcie_base;
 static int pcie_minbus, pcie_maxbus;
@@ -63,6 +66,8 @@
 static struct mtx pcicfg_mtx;
 static int mcfg_enable = 1;
 TUNABLE_INT("hw.pci.mcfg", &mcfg_enable);
+SYSCTL_INT(_hw_pci, OID_AUTO, mcfg, CTLFLAG_RDTUN, &mcfg_enable, 0,
+    "Enable support for PCI-e memory mapped config access");
 
 /* 
  * Initialise access to PCI configuration space 

==== //depot/projects/smpng/sys/arm/arm/machdep.c#27 (text+ko) ====

@@ -46,7 +46,7 @@
 #include "opt_ddb.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.32 2009/02/12 22:55:39 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.33 2009/05/18 18:37:18 marcel Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -316,6 +316,18 @@
 
 SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL);
 
+/*
+ * Flush the D-cache for non-DMA I/O so that the I-cache can
+ * be made coherent later.
+ */
+void
+cpu_flush_dcache(void *ptr, size_t len)
+{
+
+	cpu_dcache_wb_range((uintptr_t)ptr, len);
+	cpu_l2cache_wb_range((uintptr_t)ptr, len);
+}
+
 /* Get current clock frequency for the given cpu id. */
 int
 cpu_est_clockrate(int cpu_id, uint64_t *rate)

==== //depot/projects/smpng/sys/arm/at91/at91.c#19 (text) ====

@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.23 2009/04/22 23:54:41 stas Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.24 2009/05/15 04:49:20 imp Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -409,7 +409,7 @@
 		AT91RM92_IRQ_SSC2
 	},
 	{
-		"at91_spi", 0,
+		"spi", 0,
 		AT91RM92_BASE + AT91RM92_SPI_BASE, AT91RM92_SPI_SIZE,
 		AT91RM92_IRQ_SPI
 	},

==== //depot/projects/smpng/sys/arm/at91/at91_spi.c#9 (text) ====

@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/at91_spi.c,v 1.8 2008/11/25 00:13:26 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/at91_spi.c,v 1.9 2009/05/13 18:42:49 gonzo Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -297,7 +297,7 @@
 };
 
 static driver_t at91_spi_driver = {
-	"at91_spi",
+	"spi",
 	at91_spi_methods,
 	sizeof(struct at91_spi_softc),
 };

==== //depot/projects/smpng/sys/arm/at91/if_ate.c#21 (text) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.35 2009/05/12 21:28:41 stas Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.37 2009/05/13 21:01:10 stas Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -69,8 +69,8 @@
 
 #include "miibus_if.h"
 
-#define ATE_MAX_TX_BUFFERS 2		/* We have ping-pong tx buffers */
-#define ATE_MAX_RX_BUFFERS 64
+#define	ATE_MAX_TX_BUFFERS	2	/* We have ping-pong tx buffers */
+#define	ATE_MAX_RX_BUFFERS	64
 
 /*
  * Driver-specific flags.
@@ -80,41 +80,43 @@
 
 struct ate_softc
 {
-	struct ifnet *ifp;		/* ifnet pointer */
-	struct mtx sc_mtx;		/* basically a perimeter lock */
-	device_t dev;			/* Myself */
-	device_t miibus;		/* My child miibus */
-	void *intrhand;			/* Interrupt handle */
-	struct resource *irq_res;	/* IRQ resource */
+	struct ifnet	*ifp;		/* ifnet pointer */
+	struct mtx	sc_mtx;		/* Basically a perimeter lock */
+	device_t	dev;		/* Myself */
+	device_t	miibus;		/* My child miibus */
+	struct resource	*irq_res;	/* IRQ resource */
 	struct resource	*mem_res;	/* Memory resource */
-	struct callout tick_ch;		/* Tick callout */
-	bus_dma_tag_t mtag;		/* bus dma tag for mbufs */
-	bus_dmamap_t tx_map[ATE_MAX_TX_BUFFERS];
-	struct mbuf *sent_mbuf[ATE_MAX_TX_BUFFERS]; /* Sent mbufs */
-	bus_dma_tag_t rxtag;
-	bus_dmamap_t rx_map[ATE_MAX_RX_BUFFERS];
-	void *rx_buf[ATE_MAX_RX_BUFFERS]; /* RX buffer space */
-	int rx_buf_ptr;
-	bus_dma_tag_t rx_desc_tag;
-	bus_dmamap_t rx_desc_map;
-	int txcur;			/* current tx map pointer */
-	bus_addr_t rx_desc_phys;
-	eth_rx_desc_t *rx_descs;
-	int use_rmii;
-	struct	ifmib_iso_8802_3 mibdata; /* stuff for network mgmt */
-	int	flags;
-	int	if_flags;
+	struct callout	tick_ch;	/* Tick callout */
+	struct ifmib_iso_8802_3 mibdata; /* Stuff for network mgmt */
+	struct mbuf	*sent_mbuf[ATE_MAX_TX_BUFFERS]; /* Sent mbufs */
+	bus_dma_tag_t	mtag;		/* bus dma tag for mbufs */
+	bus_dma_tag_t	rxtag;
+	bus_dma_tag_t	rx_desc_tag;
+	bus_dmamap_t	rx_desc_map;
+	bus_dmamap_t	rx_map[ATE_MAX_RX_BUFFERS];
+	bus_dmamap_t	tx_map[ATE_MAX_TX_BUFFERS];
+	bus_addr_t	rx_desc_phys;
+	eth_rx_desc_t	*rx_descs;
+	void		*rx_buf[ATE_MAX_RX_BUFFERS]; /* RX buffer space */
+	void		*intrhand;	/* Interrupt handle */
+	int		flags;
+	int		if_flags;
+	int		rx_buf_ptr;
+	int		txcur;		/* Current TX map pointer */
+	int		use_rmii;
 };
 
 static inline uint32_t
 RD4(struct ate_softc *sc, bus_size_t off)
 {
-	return bus_read_4(sc->mem_res, off);
+
+	return (bus_read_4(sc->mem_res, off));
 }
 
 static inline void
 WR4(struct ate_softc *sc, bus_size_t off, uint32_t val)
 {
+
 	bus_write_4(sc->mem_res, off, val);
 }
 
@@ -125,41 +127,45 @@
 	bus_barrier(sc->mem_res, off, len, flags);
 }
 
-#define ATE_LOCK(_sc)		mtx_lock(&(_sc)->sc_mtx)
+#define	ATE_LOCK(_sc)		mtx_lock(&(_sc)->sc_mtx)
 #define	ATE_UNLOCK(_sc)		mtx_unlock(&(_sc)->sc_mtx)
-#define ATE_LOCK_INIT(_sc) \
-	mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->dev), \
+#define	ATE_LOCK_INIT(_sc)					\
+	mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->dev),	\
 	    MTX_NETWORK_LOCK, MTX_DEF)
-#define ATE_LOCK_DESTROY(_sc)	mtx_destroy(&_sc->sc_mtx);
-#define ATE_ASSERT_LOCKED(_sc)	mtx_assert(&_sc->sc_mtx, MA_OWNED);
-#define ATE_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED);
+#define	ATE_LOCK_DESTROY(_sc)	mtx_destroy(&_sc->sc_mtx);
+#define	ATE_ASSERT_LOCKED(_sc)	mtx_assert(&_sc->sc_mtx, MA_OWNED);
+#define	ATE_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED);
 
 static devclass_t ate_devclass;
 
-/* ifnet entry points */
+/*
+ * ifnet entry points.
+ */
+static void	ateinit_locked(void *);
+static void	atestart_locked(struct ifnet *);
 
-static void ateinit_locked(void *);
-static void atestart_locked(struct ifnet *);
+static void	ateinit(void *);
+static void	atestart(struct ifnet *);
+static void	atestop(struct ate_softc *);
+static int	ateioctl(struct ifnet * ifp, u_long, caddr_t);
 
-static void ateinit(void *);
-static void atestart(struct ifnet *);
-static void atestop(struct ate_softc *);
-static int ateioctl(struct ifnet * ifp, u_long, caddr_t);
+/*
+ * Bus entry points.
+ */
+static int	ate_probe(device_t dev);
+static int	ate_attach(device_t dev);
+static int	ate_detach(device_t dev);
+static void	ate_intr(void *);
 
-/* bus entry points */
-
-static int ate_probe(device_t dev);
-static int ate_attach(device_t dev);
-static int ate_detach(device_t dev);
-static void ate_intr(void *);
-
-/* helper routines */
-static int ate_activate(device_t dev);
-static void ate_deactivate(struct ate_softc *sc);
-static int ate_ifmedia_upd(struct ifnet *ifp);
-static void ate_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr);
-static int ate_get_mac(struct ate_softc *sc, u_char *eaddr);
-static void ate_set_mac(struct ate_softc *sc, u_char *eaddr);
+/*
+ * Helper routines.
+ */
+static int	ate_activate(device_t dev);
+static void	ate_deactivate(struct ate_softc *sc);
+static int	ate_ifmedia_upd(struct ifnet *ifp);
+static void	ate_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr);
+static int	ate_get_mac(struct ate_softc *sc, u_char *eaddr);
+static void	ate_set_mac(struct ate_softc *sc, u_char *eaddr);
 static void	ate_rxfilter(struct ate_softc *sc);
 
 /*
@@ -171,6 +177,7 @@
 static int
 ate_probe(device_t dev)
 {
+
 	device_set_desc(dev, "EMAC");
 	return (0);
 }
@@ -178,7 +185,7 @@
 static int
 ate_attach(device_t dev)
 {
-	struct ate_softc *sc = device_get_softc(dev);
+	struct ate_softc *sc;
 	struct ifnet *ifp = NULL;
 	struct sysctl_ctx_list *sctx;
 	struct sysctl_oid *soid;
@@ -186,6 +193,7 @@
 	uint32_t rnd;
 	int rid, err;
 
+	sc = device_get_softc(dev);
 	sc->dev = dev;
 	ATE_LOCK_INIT(sc);
 	
@@ -221,7 +229,7 @@
 	SYSCTL_ADD_UINT(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, "rmii",
 	    CTLFLAG_RD, &sc->use_rmii, 0, "rmii in use");
 
-	/* calling atestop before ifp is set is OK */
+	/* Calling atestop before ifp is set is OK. */
 	ATE_LOCK(sc);
 	atestop(sc);
 	ATE_UNLOCK(sc);
@@ -248,7 +256,6 @@
 		eaddr[4] = (rnd >> 8) & 0xff;
 		eaddr[5] = rnd & 0xff;
 	}
-	ate_set_mac(sc, eaddr);
 
 	sc->ifp = ifp = if_alloc(IFT_ETHER);
 	if (mii_phy_probe(dev, &sc->miibus, ate_ifmedia_upd, ate_ifmedia_sts)) {
@@ -261,7 +268,7 @@
 	if_initname(ifp, device_get_name(dev), device_get_unit(dev));
 	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
 	ifp->if_capabilities |= IFCAP_VLAN_MTU;
-	ifp->if_capenable |= IFCAP_VLAN_MTU; /* the hw bits already set */
+	ifp->if_capenable |= IFCAP_VLAN_MTU;	/* The hw bits already set. */
 	ifp->if_start = atestart;
 	ifp->if_ioctl = ateioctl;
 	ifp->if_init = ateinit;
@@ -435,8 +442,9 @@
 	int err, i;
 
 	sc = device_get_softc(dev);
+
 	/*
-	 * Allocate DMA tags and maps
+	 * Allocate DMA tags and maps.
 	 */
 	err = bus_dma_tag_create(bus_get_dma_tag(dev), 1, 0,
 	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES,
@@ -448,11 +456,7 @@
 		if (err != 0)
 			goto errout;
 	}
-	 /*
-	  * Allocate our Rx buffers.  This chip has a rx structure that's filled
-	  * in
-	  */
-	
+
 	/*
 	 * Allocate DMA tags and maps for RX.
 	 */
@@ -462,7 +466,9 @@
 	if (err != 0)
 		goto errout;
 
-	/* Dma TAG and MAP for the rx descriptors. */
+	/*
+	 * DMA tag and map for the RX descriptors.
+	 */
 	err = bus_dma_tag_create(bus_get_dma_tag(dev), sizeof(eth_rx_desc_t),
 	    0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
 	    ATE_MAX_RX_BUFFERS * sizeof(eth_rx_desc_t), 1,
@@ -477,6 +483,11 @@
 	    sc->rx_descs, ATE_MAX_RX_BUFFERS * sizeof(eth_rx_desc_t),
 	    ate_getaddr, sc, 0) != 0)
 		goto errout;
+
+	/*
+	 * Allocate our RX buffers.  This chip has a RX structure that's filled
+	 * in.
+	 */
 	for (i = 0; i < ATE_MAX_RX_BUFFERS; i++) {
 		sc->rx_buf_ptr = i;
 		if (bus_dmamem_alloc(sc->rxtag, (void **)&sc->rx_buf[i],
@@ -487,7 +498,7 @@
 			goto errout;
 	}
 	sc->rx_buf_ptr = 0;

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



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