PERFORCE change 114478 for review

Roman Divacky rdivacky at FreeBSD.org
Wed Feb 14 09:39:18 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=114478

Change 114478 by rdivacky at rdivacky_witten on 2007/02/14 09:38:49

	IFC

Affected files ...

.. //depot/projects/linuxolator/src/sys/amd64/amd64/mp_machdep.c#6 integrate
.. //depot/projects/linuxolator/src/sys/amd64/conf/GENERIC#9 integrate
.. //depot/projects/linuxolator/src/sys/arm/arm/busdma_machdep.c#3 integrate
.. //depot/projects/linuxolator/src/sys/arm/arm/cpufunc.c#5 integrate
.. //depot/projects/linuxolator/src/sys/arm/arm/db_interface.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/arm/machdep.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/arm/mem.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/arm/sys_machdep.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/at91/if_ate.c#6 integrate
.. //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/if_npe.c#5 integrate
.. //depot/projects/linuxolator/src/sys/compat/linux/linux_futex.c#9 edit
.. //depot/projects/linuxolator/src/sys/conf/NOTES#18 integrate
.. //depot/projects/linuxolator/src/sys/conf/files#18 integrate
.. //depot/projects/linuxolator/src/sys/conf/options#17 integrate
.. //depot/projects/linuxolator/src/sys/dev/aac/aac.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/ata/ata-chipset.c#7 integrate
.. //depot/projects/linuxolator/src/sys/dev/bge/if_bge.c#12 integrate
.. //depot/projects/linuxolator/src/sys/dev/bge/if_bgereg.h#10 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#10 integrate
.. //depot/projects/linuxolator/src/sys/dev/mii/brgphy.c#8 integrate
.. //depot/projects/linuxolator/src/sys/dev/mii/brgphyreg.h#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/mii/rlphy.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/pci/pci.c#16 integrate
.. //depot/projects/linuxolator/src/sys/dev/usb/ubsa.c#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/usb/usbdevs#9 integrate
.. //depot/projects/linuxolator/src/sys/fs/cd9660/TODO#1 branch
.. //depot/projects/linuxolator/src/sys/fs/cd9660/TODO.hibler#1 branch
.. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_bmap.c#1 branch
.. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_iconv.c#1 branch
.. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_lookup.c#1 branch
.. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_mount.h#1 branch
.. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_node.c#1 branch
.. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_node.h#1 branch
.. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_rrip.c#1 branch
.. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_rrip.h#1 branch
.. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_util.c#1 branch
.. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_vfsops.c#1 branch
.. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_vnops.c#1 branch
.. //depot/projects/linuxolator/src/sys/fs/cd9660/iso.h#1 branch
.. //depot/projects/linuxolator/src/sys/fs/cd9660/iso_rrip.h#1 branch
.. //depot/projects/linuxolator/src/sys/fs/msdosfs/msdosfs_vfsops.c#8 integrate
.. //depot/projects/linuxolator/src/sys/geom/part/g_part_if.m#2 integrate
.. //depot/projects/linuxolator/src/sys/i386/conf/GENERIC#7 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/mp_machdep.c#6 integrate
.. //depot/projects/linuxolator/src/sys/ia64/conf/GENERIC#5 integrate
.. //depot/projects/linuxolator/src/sys/ia64/ia64/pmap.c#4 integrate
.. //depot/projects/linuxolator/src/sys/isofs/cd9660/TODO#2 delete
.. //depot/projects/linuxolator/src/sys/isofs/cd9660/TODO.hibler#2 delete
.. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_bmap.c#2 delete
.. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_iconv.c#2 delete
.. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_lookup.c#2 delete
.. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_mount.h#2 delete
.. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_node.c#2 delete
.. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_node.h#3 delete
.. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_rrip.c#2 delete
.. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_rrip.h#2 delete
.. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_util.c#2 delete
.. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_vfsops.c#4 delete
.. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_vnops.c#2 delete
.. //depot/projects/linuxolator/src/sys/isofs/cd9660/iso.h#2 delete
.. //depot/projects/linuxolator/src/sys/isofs/cd9660/iso_rrip.h#2 delete
.. //depot/projects/linuxolator/src/sys/kern/Make.tags.inc#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_ktrace.c#6 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_sig.c#8 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_switch.c#6 integrate
.. //depot/projects/linuxolator/src/sys/kern/sched_ule.c#8 integrate
.. //depot/projects/linuxolator/src/sys/kern/uipc_usrreq.c#6 integrate
.. //depot/projects/linuxolator/src/sys/kern/vfs_mount.c#8 integrate
.. //depot/projects/linuxolator/src/sys/kern/vfs_vnops.c#5 integrate
.. //depot/projects/linuxolator/src/sys/modules/cd9660/Makefile#2 integrate
.. //depot/projects/linuxolator/src/sys/modules/cd9660_iconv/Makefile#2 integrate
.. //depot/projects/linuxolator/src/sys/modules/geom/Makefile#4 integrate
.. //depot/projects/linuxolator/src/sys/modules/ip_mroute_mod/Makefile#2 integrate
.. //depot/projects/linuxolator/src/sys/net/if_loop.c#3 integrate
.. //depot/projects/linuxolator/src/sys/netgraph/ng_ksocket.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netinet/in_proto.c#3 integrate
.. //depot/projects/linuxolator/src/sys/netinet/ip_mroute.c#7 integrate
.. //depot/projects/linuxolator/src/sys/netinet/ip_mroute.h#4 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_asconf.c#7 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_auth.c#4 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_auth.h#2 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_constants.h#6 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_crc32.c#3 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_indata.c#7 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_input.c#7 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_os.h#4 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_os_bsd.h#6 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_output.c#7 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_pcb.c#7 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_peeloff.c#4 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_structs.h#7 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_timer.c#5 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_uio.h#5 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_usrreq.c#7 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctp_var.h#5 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctputil.c#7 integrate
.. //depot/projects/linuxolator/src/sys/netinet/sctputil.h#6 integrate
.. //depot/projects/linuxolator/src/sys/netinet6/icmp6.c#4 integrate
.. //depot/projects/linuxolator/src/sys/netinet6/sctp6_usrreq.c#7 integrate
.. //depot/projects/linuxolator/src/sys/netsmb/smb_dev.c#2 integrate
.. //depot/projects/linuxolator/src/sys/nfsclient/nfs_socket.c#5 integrate
.. //depot/projects/linuxolator/src/sys/nfsserver/nfs_serv.c#4 integrate
.. //depot/projects/linuxolator/src/sys/pc98/conf/GENERIC#6 integrate
.. //depot/projects/linuxolator/src/sys/powerpc/conf/GENERIC#6 integrate
.. //depot/projects/linuxolator/src/sys/powerpc/powerpc/machdep.c#5 integrate
.. //depot/projects/linuxolator/src/sys/security/mac_biba/mac_biba.c#7 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/conf/GENERIC#6 integrate
.. //depot/projects/linuxolator/src/sys/sun4v/conf/GENERIC#7 integrate
.. //depot/projects/linuxolator/src/sys/sys/runq.h#4 integrate
.. //depot/projects/linuxolator/src/sys/sys/systm.h#7 integrate
.. //depot/projects/linuxolator/src/sys/ufs/ufs/ufs_vnops.c#8 integrate
.. //depot/projects/linuxolator/src/sys/vm/uma.h#4 integrate
.. //depot/projects/linuxolator/src/sys/vm/uma_core.c#6 integrate
.. //depot/projects/linuxolator/src/sys/vm/vm_page.c#8 integrate
.. //depot/projects/linuxolator/src/sys/vm/vm_zeroidle.c#6 integrate

Differences ...

==== //depot/projects/linuxolator/src/sys/amd64/amd64/mp_machdep.c#6 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.280 2007/01/23 08:38:39 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.281 2007/02/08 16:49:58 jhb Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -632,6 +632,8 @@
 			continue;
 		if (cpu_info[apic_id].cpu_bsp)
 			continue;
+		if (cpu_info[apic_id].cpu_disabled)
+			continue;
 
 		/* Don't let hyperthreads service interrupts. */
 		if (hyperthreading_cpus > 1 &&

==== //depot/projects/linuxolator/src/sys/amd64/conf/GENERIC#9 (text+ko) ====

@@ -16,7 +16,7 @@
 # If you are in doubt as to the purpose or necessity of a line, check first
 # in NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.472 2007/02/07 18:55:29 marcel Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.473 2007/02/09 19:03:17 brooks Exp $
 
 cpu		HAMMER
 ident		GENERIC
@@ -44,6 +44,7 @@
 options 	PROCFS			# Process filesystem (requires PSEUDOFS)
 options 	PSEUDOFS		# Pseudo-filesystem framework
 options 	GEOM_PART_GPT		# GUID Partition Tables.
+options 	GEOM_LABEL		# Provides labelization
 options 	COMPAT_43TTY		# BSD 4.3 TTY compat [KEEP THIS!]
 options 	COMPAT_IA32		# Compatible with i386 binaries
 options 	COMPAT_FREEBSD4		# Compatible with FreeBSD4

==== //depot/projects/linuxolator/src/sys/arm/arm/busdma_machdep.c#3 (text+ko) ====

@@ -29,10 +29,10 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.28 2007/01/17 00:53:05 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.29 2007/02/13 07:19:26 kevlo Exp $");
 
 /*
- * MacPPC bus dma support routines
+ * ARM bus dma support routines
  */
 
 #define _ARM32_BUS_DMA_PRIVATE

==== //depot/projects/linuxolator/src/sys/arm/arm/cpufunc.c#5 (text+ko) ====

@@ -45,7 +45,7 @@
  * Created      : 30/01/97
  */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.15 2006/11/30 23:34:07 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.16 2007/02/11 22:24:54 cognet Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -58,6 +58,7 @@
 
 #include <vm/vm.h>
 #include <vm/pmap.h>
+#include <vm/uma.h>
 
 #include <machine/cpuconf.h>
 #include <machine/cpufunc.h>
@@ -799,7 +800,7 @@
 		cpu_reset_needs_v4_MMU_disable = 0;
 		get_cachetype_cp15();
 		pmap_pte_init_generic();
-		return 0;
+		goto out;
 	}
 #endif	
 #ifdef CPU_ARM8
@@ -809,7 +810,7 @@
 		cpu_reset_needs_v4_MMU_disable = 0;	/* XXX correct? */
 		get_cachetype_cp15();
 		pmap_pte_init_arm8();
-		return 0;
+		goto out;
 	}
 #endif	/* CPU_ARM8 */
 #ifdef CPU_ARM9
@@ -829,7 +830,7 @@
 #else
 		pmap_pte_init_generic();
 #endif
-		return 0;
+		goto out;
 	}
 #endif /* CPU_ARM9 */
 #ifdef CPU_ARM10
@@ -849,7 +850,7 @@
 		arm10_dcache_index_inc = 1U << (32 - arm_dcache_l2_assoc);
 		arm10_dcache_index_max = 0U - arm10_dcache_index_inc;
 		pmap_pte_init_generic();
-		return 0;
+		goto out;
 	}
 #endif /* CPU_ARM10 */
 #ifdef CPU_SA110
@@ -858,7 +859,7 @@
 		cpu_reset_needs_v4_MMU_disable = 1;	/* SA needs it */
 		get_cachetype_table();
 		pmap_pte_init_sa1();
-		return 0;
+		goto out;
 	}
 #endif	/* CPU_SA110 */
 #ifdef CPU_SA1100
@@ -870,7 +871,7 @@
 		/* Use powersave on this CPU. */
 		cpu_do_powersave = 1;
 
-		return 0;
+		goto out;
 	}
 #endif	/* CPU_SA1100 */
 #ifdef CPU_SA1110
@@ -882,7 +883,7 @@
 		/* Use powersave on this CPU. */
 		cpu_do_powersave = 1;
 
-		return 0;
+		goto out;
 	}
 #endif	/* CPU_SA1110 */
 #ifdef CPU_IXP12X0
@@ -891,7 +892,7 @@
                 cpu_reset_needs_v4_MMU_disable = 1;
                 get_cachetype_table();
                 pmap_pte_init_sa1();
-                return 0;
+		goto out;
         }
 #endif  /* CPU_IXP12X0 */
 #ifdef CPU_XSCALE_80200
@@ -948,7 +949,7 @@
 		cpu_reset_needs_v4_MMU_disable = 1;	/* XScale needs it */
 		get_cachetype_cp15();
 		pmap_pte_init_xscale();
-		return 0;
+		goto out;
 	}
 #endif /* CPU_XSCALE_80200 */
 #if defined(CPU_XSCALE_80321) || defined(CPU_XSCALE_80219)
@@ -975,7 +976,7 @@
 		cpu_reset_needs_v4_MMU_disable = 1;	/* XScale needs it */
 		get_cachetype_cp15();
 		pmap_pte_init_xscale();
-		return 0;
+		goto out;
 	}
 #endif /* CPU_XSCALE_80321 */
 
@@ -989,7 +990,7 @@
 		cpu_reset_needs_v4_MMU_disable = 1;	/* XScale needs it */
 		get_cachetype_cp15();
 		pmap_pte_init_xscale();
-		return 0;
+		goto out;
 	}
 #endif /* CPU_XSCALE_81342 */
 #ifdef CPU_XSCALE_PXA2X0
@@ -1009,7 +1010,7 @@
 		/* Use powersave on this CPU. */
 		cpu_do_powersave = 1;
 
-		return 0;
+		goto out;
 	}
 #endif /* CPU_XSCALE_PXA2X0 */
 #ifdef CPU_XSCALE_IXP425
@@ -1025,7 +1026,7 @@
 		get_cachetype_cp15();
 		pmap_pte_init_xscale();
 
-		return 0;
+		goto out;
 	}
 #endif /* CPU_XSCALE_IXP425 */
 	/*
@@ -1033,6 +1034,9 @@
 	 */
 	panic("No support for this CPU type (%08x) in kernel", cputype);
 	return(ARCHITECTURE_NOT_PRESENT);
+out:
+	uma_set_align(arm_dcache_align_mask);
+	return (0);
 }
 
 /*

==== //depot/projects/linuxolator/src/sys/arm/arm/db_interface.c#2 (text+ko) ====

@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/db_interface.c,v 1.5 2005/06/23 11:38:47 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/db_interface.c,v 1.6 2007/02/14 01:25:41 kevlo Exp $");
 #include "opt_ddb.h"
 
 #include <sys/param.h>
@@ -109,7 +109,7 @@
 		*valp = get_stackptr(PSR_UND32_MODE);
 		return (1);
 	}
-	return(0);
+	return (0);
 }
 
 int
@@ -120,7 +120,7 @@
 		*valp = get_stackptr(PSR_ABT32_MODE);
 		return (1);
 	}
-	return(0);
+	return (0);
 }
 
 int
@@ -131,7 +131,7 @@
 		*valp = get_stackptr(PSR_IRQ32_MODE);
 		return (1);
 	}
-	return(0);
+	return (0);
 }
 
 int db_frame(struct db_variable *vp, db_expr_t *valp, int rw)
@@ -146,7 +146,7 @@
 		*valp = *reg;
 	else
 		*reg = *valp;
-	return(1);
+	return (1);
 }
 
 void
@@ -339,4 +339,3 @@
 		panic("branch_taken: botch");
 	}
 }
-

==== //depot/projects/linuxolator/src/sys/arm/arm/machdep.c#2 (text+ko) ====

@@ -44,7 +44,7 @@
 
 #include "opt_compat.h"
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.23 2006/05/15 10:40:37 benno Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.25 2007/02/14 04:41:28 kevlo Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -57,6 +57,7 @@
 #include <sys/exec.h>
 #include <sys/imgact.h>
 #include <sys/kernel.h>
+#include <sys/ktr.h>
 #include <sys/linker.h>
 #include <sys/lock.h>
 #include <sys/malloc.h>
@@ -106,26 +107,38 @@
 	ksiginfo_t *ksi;
 	sigset_t *mask;
 {
-	struct thread *td = curthread;
-	struct proc *p = td->td_proc;
-	struct trapframe *tf = td->td_frame;
+	struct thread *td;
+	struct proc *p;
+	struct trapframe *tf;
 	struct sigframe *fp, frame;
-	struct sigacts *psp = td->td_proc->p_sigacts;
+	struct sigacts *psp;
 	int onstack;
 	int sig;
 	int code;
 
-	onstack = sigonstack(td->td_frame->tf_usr_sp);
-
+	td = curthread;
+	p = td->td_proc;
+	PROC_LOCK_ASSERT(p, MA_OWNED);
 	sig = ksi->ksi_signo;
 	code = ksi->ksi_code;
-	if ((td->td_flags & TDP_ALTSTACK) &&
-	    !(onstack) &&
-	    SIGISMEMBER(td->td_proc->p_sigacts->ps_sigonstack, sig)) {
-		fp = (void*)(td->td_sigstk.ss_sp + td->td_sigstk.ss_size);
+	psp = p->p_sigacts;
+	mtx_assert(&psp->ps_mtx, MA_OWNED);
+	tf = td->td_frame;
+	onstack = sigonstack(tf->tf_usr_sp);
+
+	CTR4(KTR_SIG, "sendsig: td=%p (%s) catcher=%p sig=%d", td, p->p_comm,
+	    catcher, sig);
+
+	/* Allocate and validate space for the signal handler context. */
+	if ((td->td_flags & TDP_ALTSTACK) != 0 && !(onstack) &&
+	    SIGISMEMBER(psp->ps_sigonstack, sig)) {
+		fp = (struct sigframe *)(td->td_sigstk.ss_sp + 
+		    td->td_sigstk.ss_size);
+#if defined(COMPAT_43)
 		td->td_sigstk.ss_flags |= SS_ONSTACK;
+#endif
 	} else
-		fp = (void*)td->td_frame->tf_usr_sp;
+		fp = (struct sigframe *)td->td_frame->tf_usr_sp;
 		 
 	/* make room on the stack */
 	fp--;
@@ -133,18 +146,27 @@
 	/* make the stack aligned */
 	fp = (struct sigframe *)STACKALIGN(fp);
 	/* Populate the siginfo frame. */
+	get_mcontext(td, &frame.sf_uc.uc_mcontext, 0);
 	frame.sf_si = ksi->ksi_info;
 	frame.sf_uc.uc_sigmask = *mask;
-	frame.sf_uc.uc_link = NULL;
-	frame.sf_uc.uc_flags = (td->td_pflags & TDP_ALTSTACK ) 
+	frame.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK ) 
 	    ? ((onstack) ? SS_ONSTACK : 0) : SS_DISABLE;
 	frame.sf_uc.uc_stack = td->td_sigstk;
-	memset(&frame.sf_uc.uc_stack, 0, sizeof(frame.sf_uc.uc_stack));
-	get_mcontext(td, &frame.sf_uc.uc_mcontext, 0);
+	mtx_unlock(&psp->ps_mtx);
 	PROC_UNLOCK(td->td_proc);
-	mtx_unlock(&psp->ps_mtx);
-	if (copyout(&frame, (void*)fp, sizeof(frame)) != 0)
+
+	/* Copy the sigframe out to the user's stack. */
+	if (copyout(&frame, fp, sizeof(*fp)) != 0) {
+		/* Process has trashed its stack. Kill it. */
+		CTR2(KTR_SIG, "sendsig: sigexit td=%p fp=%p", td, fp);
+		PROC_LOCK(p);
 		sigexit(td, SIGILL);
+	}
+
+	/* Translate the signal if appropriate. */
+	if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize)
+		sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)];
+
 	/*
 	 * Build context to run handler in.  We invoke the handler
 	 * directly, only returning via the trampoline.  Note the
@@ -153,15 +175,19 @@
 	 */
 	
 	tf->tf_r0 = sig;
-	tf->tf_r1 = (int)&fp->sf_si;
-	tf->tf_r2 = (int)&fp->sf_uc;
+	tf->tf_r1 = (register_t)&fp->sf_si;
+	tf->tf_r2 = (register_t)&fp->sf_uc;
 
 	/* the trampoline uses r5 as the uc address */
-	tf->tf_r5 = (int)&fp->sf_uc;
-	tf->tf_pc = (int)catcher;
-	tf->tf_usr_sp = (int)fp;
-	tf->tf_usr_lr = (int)(PS_STRINGS - *(p->p_sysent->sv_szsigcode));
-	PROC_LOCK(td->td_proc);
+	tf->tf_r5 = (register_t)&fp->sf_uc;
+	tf->tf_pc = (register_t)catcher;
+	tf->tf_usr_sp = (register_t)fp;
+	tf->tf_usr_lr = (register_t)(PS_STRINGS - *(p->p_sysent->sv_szsigcode));
+
+	CTR3(KTR_SIG, "sendsig: return td=%p pc=%#x sp=%#x", td, tf->tf_usr_lr,
+	    tf->tf_usr_sp);
+
+	PROC_LOCK(p);
 	mtx_lock(&psp->ps_mtx);
 }
 

==== //depot/projects/linuxolator/src/sys/arm/arm/mem.c#2 (text+ko) ====

@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/mem.c,v 1.4 2006/08/15 16:43:07 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/mem.c,v 1.5 2007/02/13 15:35:57 cognet Exp $");
 
 /*
  * Memory special file
@@ -92,8 +92,21 @@
 			continue;
 		}
 		if (minor(dev) == CDEV_MINOR_MEM) {
+			int i;
+			int address_valid = 0;
+
 			v = uio->uio_offset;
 			v &= ~PAGE_MASK;
+			for (i = 0; dump_avail[i] || dump_avail[i + 1];
+			i += 2) {
+				if (v >= dump_avail[i] && 
+				    v < dump_avail[i + 1]) {
+					address_valid = 1;
+					break;
+				}
+			}
+			if (!address_valid)
+				return (EINVAL);
 			pmap_kenter((vm_offset_t)_tmppt, v);
 			o = (int)uio->uio_offset & PAGE_MASK;
 			c = (u_int)(PAGE_SIZE - ((int)iov->iov_base & PAGE_MASK));

==== //depot/projects/linuxolator/src/sys/arm/arm/sys_machdep.c#2 (text+ko) ====

@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/sys_machdep.c,v 1.4 2005/02/25 22:56:16 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/sys_machdep.c,v 1.5 2007/02/14 01:25:41 kevlo Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -68,7 +68,7 @@
 	cpu_icache_sync_range(ua.addr, ua.len);
 
 	td->td_retval[0] = 0;
-	return(0);
+	return (0);
 }
 
 static int
@@ -78,7 +78,7 @@
 
 	td->td_retval[0] = 0;
 	cpu_drain_writebuf();
-	return(0);
+	return (0);
 }
 
 static int
@@ -108,7 +108,6 @@
 	case ARM_SYNC_ICACHE : 
 		error = arm32_sync_icache(td, uap->parms);
 		break;
-		
 	case ARM_DRAIN_WRITEBUF : 
 		error = arm32_drain_writebuf(td, uap->parms);
 		break;
@@ -124,4 +123,3 @@
 	}
 	return (error);
 }
-

==== //depot/projects/linuxolator/src/sys/arm/at91/if_ate.c#6 (text) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.16 2007/02/03 07:46:26 kevlo Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.18 2007/02/10 15:43:57 mlaier Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -146,7 +146,7 @@
 static void ate_deactivate(device_t dev);
 static int ate_ifmedia_upd(struct ifnet *ifp);
 static void ate_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr);
-static void ate_get_mac(struct ate_softc *sc, u_char *eaddr);
+static int ate_get_mac(struct ate_softc *sc, u_char *eaddr);
 static void ate_set_mac(struct ate_softc *sc, u_char *eaddr);
 
 /*
@@ -179,7 +179,6 @@
 
 	sc->use_rmii = (RD4(sc, ETH_CFG) & ETH_CFG_RMII) == ETH_CFG_RMII;
 
-
 	/*Sysctls*/
 	sctx = device_get_sysctl_ctx(dev);
 	soid = device_get_sysctl_tree(dev);
@@ -191,7 +190,10 @@
 	ATE_LOCK_INIT(sc);
 	callout_init_mtx(&sc->tick_ch, &sc->sc_mtx, 0);
 
-	ate_get_mac(sc, eaddr);
+	if ((err = ate_get_mac(sc, eaddr)) != 0) {
+		device_printf(dev, "No MAC address set");
+		goto out;
+	}
 	ate_set_mac(sc, eaddr);
 
 	sc->ifp = ifp = if_alloc(IFT_ETHER);
@@ -211,7 +213,7 @@
 	ifp->if_init = ateinit;
 	ifp->if_baudrate = 10000000;
 	IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN);
-	ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
+	ifp->if_snd.ifq_drv_maxlen = IFQ_MAXLEN;
 	IFQ_SET_READY(&ifp->if_snd);
 	ifp->if_timer = 0;
 	ifp->if_linkmib = &sc->mibdata;
@@ -582,24 +584,27 @@
 
 }
 
-static void
+static int
 ate_get_mac(struct ate_softc *sc, u_char *eaddr)
 {
-    uint32_t low, high;
+	uint32_t low, high;
 
-    /*
-     * The boot loader setup the MAC with an address, if one is set in
-     * the loader.  The TSC loader will also set the MAC address in a
-     * similar way.  Grab the MAC address from the SA1[HL] registers.
-     */
-    low = RD4(sc, ETH_SA1L);
-    high =  RD4(sc, ETH_SA1H);
-    eaddr[0] = (high >> 8) & 0xff;
-    eaddr[1] = high & 0xff;
-    eaddr[2] = (low >> 24) & 0xff;
-    eaddr[3] = (low >> 16) & 0xff;
-    eaddr[4] = (low >> 8) & 0xff;
-    eaddr[5] = low & 0xff;
+	/*
+	 * The boot loader setup the MAC with an address, if one is set in
+	 * the loader.  The TSC loader will also set the MAC address in a
+	 * similar way.  Grab the MAC address from the SA1[HL] registers.
+	 */
+	low = RD4(sc, ETH_SA1L);
+	high =  RD4(sc, ETH_SA1H);
+	if ((low | (high & 0xffff)) == 0)
+		return (ENXIO);
+	eaddr[0] = (high >> 8) & 0xff;
+	eaddr[1] = high & 0xff;
+	eaddr[2] = (low >> 24) & 0xff;
+	eaddr[3] = (low >> 16) & 0xff;
+	eaddr[4] = (low >> 8) & 0xff;
+	eaddr[5] = low & 0xff;
+	return (0);
 }
 
 static void

==== //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/if_npe.c#5 (text+ko) ====

@@ -23,7 +23,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.4 2007/02/03 07:46:26 kevlo Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.5 2007/02/10 15:43:58 mlaier Exp $");
 
 /*
  * Intel XScale NPE Ethernet driver.
@@ -330,7 +330,7 @@
 	ifp->if_ioctl = npeioctl;
 	ifp->if_init = npeinit;
 	IFQ_SET_MAXLEN(&ifp->if_snd, sc->txdma.nbuf - 1);
-	ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
+	ifp->if_snd.ifq_drv_maxlen = IFQ_MAXLEN;
 	IFQ_SET_READY(&ifp->if_snd);
 	ifp->if_linkmib = &sc->mibdata;
 	ifp->if_linkmiblen = sizeof(sc->mibdata);

==== //depot/projects/linuxolator/src/sys/compat/linux/linux_futex.c#9 (text+ko) ====

@@ -308,7 +308,8 @@
 			 * as the number of retries, so any large number will
 			 * be ok.
 			 */
-			op_ret += futex_wake(f2, 0x7fffffff, NULL);
+			op_ret += futex_wake(f2, (int) (unsigned long) args->timeout, NULL);
+//			op_ret += futex_wake(f2, 0xffffffff, NULL);
 			ret += op_ret;
 		}
 		futex_put(f2);

==== //depot/projects/linuxolator/src/sys/conf/NOTES#18 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1409 2007/02/07 18:55:29 marcel Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1410 2007/02/10 13:59:13 bms Exp $
 #
 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
 #
@@ -807,11 +807,8 @@
 # Internet family options:
 #
 # MROUTING enables the kernel multicast packet forwarder, which works
-# with mrouted(8).
+# with mrouted and XORP.
 #
-# PIM enables Protocol Independent Multicast in the kernel.
-# Requires MROUTING enabled.
-#
 # IPFIREWALL enables support for IP firewall construction, in
 # conjunction with the `ipfw' program.  IPFIREWALL_VERBOSE sends
 # logged packets to the system logger.  IPFIREWALL_VERBOSE_LIMIT
@@ -854,7 +851,6 @@
 # using the trpt(8) utility.
 #
 options 	MROUTING		# Multicast routing
-options 	PIM			# Protocol Independent Multicast
 options 	IPFIREWALL		#firewall
 options 	IPFIREWALL_VERBOSE	#enable logging to syslogd(8)
 options 	IPFIREWALL_VERBOSE_LIMIT=100	#limit verbosity

==== //depot/projects/linuxolator/src/sys/conf/files#18 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1175 2007/02/07 18:55:29 marcel Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1176 2007/02/11 14:01:32 rodrigc Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -1305,14 +1305,14 @@
 isa/orm.c			optional isa
 isa/pnp.c			optional isa isapnp
 isa/pnpparse.c			optional isa isapnp
-isofs/cd9660/cd9660_bmap.c	optional cd9660
-isofs/cd9660/cd9660_lookup.c	optional cd9660
-isofs/cd9660/cd9660_node.c	optional cd9660
-isofs/cd9660/cd9660_rrip.c	optional cd9660
-isofs/cd9660/cd9660_util.c	optional cd9660
-isofs/cd9660/cd9660_vfsops.c	optional cd9660
-isofs/cd9660/cd9660_vnops.c	optional cd9660
-isofs/cd9660/cd9660_iconv.c	optional cd9660_iconv
+fs/cd9660/cd9660_bmap.c	optional cd9660
+fs/cd9660/cd9660_lookup.c	optional cd9660
+fs/cd9660/cd9660_node.c	optional cd9660
+fs/cd9660/cd9660_rrip.c	optional cd9660
+fs/cd9660/cd9660_util.c	optional cd9660
+fs/cd9660/cd9660_vfsops.c	optional cd9660
+fs/cd9660/cd9660_vnops.c	optional cd9660
+fs/cd9660/cd9660_iconv.c	optional cd9660_iconv
 kern/bus_if.m			standard
 kern/clock_if.m			optional genclock
 kern/cpufreq_if.m		standard

==== //depot/projects/linuxolator/src/sys/conf/options#17 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.575 2007/02/07 18:55:29 marcel Exp $
+# $FreeBSD: src/sys/conf/options,v 1.576 2007/02/10 13:59:13 bms Exp $
 #
 #        On the handling of kernel options
 #
@@ -352,7 +352,6 @@
 ETHER_8022		opt_ef.h
 ETHER_SNAP		opt_ef.h
 MROUTING		opt_mrouting.h
-PIM			opt_mrouting.h
 INET			opt_inet.h
 INET6			opt_inet6.h
 IPSEC			opt_ipsec.h

==== //depot/projects/linuxolator/src/sys/dev/aac/aac.c#2 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.118 2006/04/08 06:05:29 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.119 2007/02/14 09:10:37 luoqi Exp $");
 
 /*
  * Driver for the Adaptec 'FSA' family of PCI/SCSI RAID adapters.
@@ -2982,7 +2982,7 @@
 	switch (event->ev_type) {
 	case AAC_EVENT_CMFREE:
 		mtx_lock(&sc->aac_io_lock);
-		if (aac_alloc_command(sc, (struct aac_command **)arg) == 0) {
+		if (aac_alloc_command(sc, (struct aac_command **)arg)) {
 			aac_add_event(sc, event);
 			mtx_unlock(&sc->aac_io_lock);
 			return;

==== //depot/projects/linuxolator/src/sys/dev/ata/ata-chipset.c#7 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.180 2007/02/03 20:12:00 rink Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.181 2007/02/12 17:17:31 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -315,9 +315,8 @@
     /* clear SATA error register */
     ATA_IDX_OUTL(ch, ATA_SERROR, ATA_IDX_INL(ch, ATA_SERROR));
 
-    /* find out what type device we got poll for spec'd 31 seconds */
+    /* poll 31 seconds for device ready */
     /* XXX SOS 10 secs for now as I have little patience */
-    ch->devices = 0;
     for (timeout = 0; timeout < 1000; timeout++) {
 	if (ATA_IDX_INB(ch, ATA_STATUS) & ATA_S_BUSY) 
 	    DELAY(10000);
@@ -326,16 +325,9 @@
     }
     if (bootverbose)
 	device_printf(ch->dev, "SATA connect ready time=%dms\n", timeout * 10);
-    if (timeout < 1000) {
-	if ((ATA_IDX_INB(ch, ATA_CYL_LSB) == ATAPI_MAGIC_LSB) &&
-	    (ATA_IDX_INB(ch, ATA_CYL_MSB) == ATAPI_MAGIC_MSB))
-	    ch->devices = ATA_ATAPI_MASTER;
-	else 
-	    ch->devices = ATA_ATA_MASTER;
-    }
-    if (bootverbose)
-	device_printf(ch->dev, "sata_connect devices=0x%b\n",
-		      ch->devices, "\20\3ATAPI_MASTER\1ATA_MASTER");
+
+    /* do a reset and find out what type device we've got */
+    ata_generic_reset(ch->dev);
     return 1;
 }
 

==== //depot/projects/linuxolator/src/sys/dev/bge/if_bge.c#12 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.173 2007/01/15 21:43:43 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.176 2007/02/12 23:58:52 jkim Exp $");
 
 /*
  * Broadcom BCM570x family gigabit ethernet driver for FreeBSD.
@@ -111,8 +111,8 @@
 
 #include <dev/bge/if_bgereg.h>
 
-#define BGE_CSUM_FEATURES	(CSUM_IP | CSUM_TCP | CSUM_UDP)
-#define ETHER_MIN_NOPAD		(ETHER_MIN_LEN - ETHER_CRC_LEN) /* i.e., 60 */
+#define	BGE_CSUM_FEATURES	(CSUM_IP | CSUM_TCP | CSUM_UDP)
+#define	ETHER_MIN_NOPAD		(ETHER_MIN_LEN - ETHER_CRC_LEN) /* i.e., 60 */
 
 MODULE_DEPEND(bge, pci, 1, 1, 1);
 MODULE_DEPEND(bge, ether, 1, 1, 1);
@@ -286,11 +286,11 @@
 	{ 0, NULL }
 };
 
-#define BGE_IS_JUMBO_CAPABLE(sc)	((sc)->bge_flags & BGE_FLAG_JUMBO)
-#define BGE_IS_5700_FAMILY(sc)		((sc)->bge_flags & BGE_FLAG_5700_FAMILY)
-#define BGE_IS_5705_PLUS(sc)		((sc)->bge_flags & BGE_FLAG_5705_PLUS)
-#define BGE_IS_5714_FAMILY(sc)		((sc)->bge_flags & BGE_FLAG_5714_FAMILY)
-#define BGE_IS_575X_PLUS(sc)		((sc)->bge_flags & BGE_FLAG_575X_PLUS)
+#define	BGE_IS_JUMBO_CAPABLE(sc)	((sc)->bge_flags & BGE_FLAG_JUMBO)
+#define	BGE_IS_5700_FAMILY(sc)		((sc)->bge_flags & BGE_FLAG_5700_FAMILY)
+#define	BGE_IS_5705_PLUS(sc)		((sc)->bge_flags & BGE_FLAG_5705_PLUS)
+#define	BGE_IS_5714_FAMILY(sc)		((sc)->bge_flags & BGE_FLAG_5714_FAMILY)
+#define	BGE_IS_575X_PLUS(sc)		((sc)->bge_flags & BGE_FLAG_575X_PLUS)
 
 const struct bge_revision * bge_lookup_rev(uint32_t);
 const struct bge_vendor * bge_lookup_vendor(uint16_t);
@@ -359,8 +359,8 @@
 static void bge_poll(struct ifnet *ifp, enum poll_cmd cmd, int count);
 #endif
 
-#define BGE_RESET_START 1
-#define BGE_RESET_STOP  2
+#define	BGE_RESET_START 1
+#define	BGE_RESET_STOP  2
 static void bge_sig_post_reset(struct bge_softc *, int);
 static void bge_sig_legacy(struct bge_softc *, int);
 static void bge_sig_pre_reset(struct bge_softc *, int);
@@ -1120,9 +1120,9 @@
 	/* Set up the PCI DMA control register. */
 	if (sc->bge_flags & BGE_FLAG_PCIE) {
 		/* PCI Express bus */
-		dma_rw_ctl = BGE_PCI_READ_CMD|BGE_PCI_WRITE_CMD |
-		    (0xf << BGE_PCIDMARWCTL_RD_WAT_SHIFT) |
-		    (0x2 << BGE_PCIDMARWCTL_WR_WAT_SHIFT);
+		dma_rw_ctl = BGE_PCI_READ_CMD | BGE_PCI_WRITE_CMD |
+		    BGE_PCIDMARWCTL_RD_WAT_SHIFT(0xf) |
+		    BGE_PCIDMARWCTL_WR_WAT_SHIFT(0x2);
 	} else if (sc->bge_flags & BGE_FLAG_PCIX) {
 		/* PCI-X bus */
 		if (BGE_IS_5714_FAMILY(sc)) {
@@ -1140,14 +1140,14 @@
 			 * The 5704 uses a different encoding of read/write
 			 * watermarks.
 			 */
-			dma_rw_ctl = BGE_PCI_READ_CMD|BGE_PCI_WRITE_CMD |
-			    (0x7 << BGE_PCIDMARWCTL_RD_WAT_SHIFT) |
-			    (0x3 << BGE_PCIDMARWCTL_WR_WAT_SHIFT);
+			dma_rw_ctl = BGE_PCI_READ_CMD | BGE_PCI_WRITE_CMD |
+			    BGE_PCIDMARWCTL_RD_WAT_SHIFT(0x7) |
+			    BGE_PCIDMARWCTL_WR_WAT_SHIFT(0x3);
 		else
-			dma_rw_ctl = BGE_PCI_READ_CMD|BGE_PCI_WRITE_CMD |
-			    (0x3 << BGE_PCIDMARWCTL_RD_WAT_SHIFT) |
-			    (0x3 << BGE_PCIDMARWCTL_WR_WAT_SHIFT) |
-			    (0x0F);
+			dma_rw_ctl = BGE_PCI_READ_CMD | BGE_PCI_WRITE_CMD |
+			    BGE_PCIDMARWCTL_RD_WAT_SHIFT(0x3) |
+			    BGE_PCIDMARWCTL_WR_WAT_SHIFT(0x3) |
+			    0x0f;
 
 		/*
 		 * 5703 and 5704 need ONEDMA_AT_ONCE as a workaround
@@ -1163,10 +1163,10 @@
 		}
 	} else
 		/* Conventional PCI bus */
-		dma_rw_ctl = BGE_PCI_READ_CMD|BGE_PCI_WRITE_CMD |
-		    (0x7 << BGE_PCIDMARWCTL_RD_WAT_SHIFT) |
-		    (0x7 << BGE_PCIDMARWCTL_WR_WAT_SHIFT) |
-		    (0x0F);
+		dma_rw_ctl = BGE_PCI_READ_CMD | BGE_PCI_WRITE_CMD |
+		    BGE_PCIDMARWCTL_RD_WAT_SHIFT(0x7) |
+		    BGE_PCIDMARWCTL_WR_WAT_SHIFT(0x7) |
+		    0x0f;
 
 	if (sc->bge_asicrev == BGE_ASICREV_BCM5703 ||
 	    sc->bge_asicrev == BGE_ASICREV_BCM5704 ||
@@ -1687,6 +1687,8 @@
 			device_set_desc_copy(dev, buf);
 			if (pci_get_subvendor(dev) == DELL_VENDORID)
 				sc->bge_flags |= BGE_FLAG_NO_3LED;
+			if (did == BCOM_DEVICEID_BCM5755M)
+				sc->bge_flags |= BGE_FLAG_ADJUST_TRIM;
 			return (0);
 		}
 		t++;
@@ -2214,12 +2216,16 @@
 	}
 
 	/* Set various bug flags. */
+	if (sc->bge_chipid == BGE_CHIPID_BCM5701_A0 ||
+	    sc->bge_chipid == BGE_CHIPID_BCM5701_B0)
+		sc->bge_flags |= BGE_FLAG_CRC_BUG;
 	if (sc->bge_chiprev == BGE_CHIPREV_5703_AX ||
 	    sc->bge_chiprev == BGE_CHIPREV_5704_AX)
 		sc->bge_flags |= BGE_FLAG_ADC_BUG;
 	if (sc->bge_chipid == BGE_CHIPID_BCM5704_A0)
 		sc->bge_flags |= BGE_FLAG_5704_A0_BUG;
-	if (BGE_IS_5705_PLUS(sc)) {
+	if (BGE_IS_5705_PLUS(sc) &&
+	    !(sc->bge_flags & BGE_FLAG_ADJUST_TRIM)) {
 		if (sc->bge_asicrev == BGE_ASICREV_BCM5755 ||
 		    sc->bge_asicrev == BGE_ASICREV_BCM5787)
 			sc->bge_flags |= BGE_FLAG_JITTER_BUG;
@@ -3182,7 +3188,7 @@
 
 	stats = BGE_MEMWIN_START + BGE_STATS_BLOCK;
 
-#define READ_STAT(sc, stats, stat) \
+#define	READ_STAT(sc, stats, stat) \
 	CSR_READ_4(sc, stats + offsetof(struct bge_stats, stat))
 
 	cnt = READ_STAT(sc, stats, txstats.etherStatsCollisions.bge_addr_lo);
@@ -3197,7 +3203,7 @@
 	ifp->if_oerrors += (uint32_t)(cnt - sc->bge_tx_discards);
 	sc->bge_tx_discards = cnt;
 
-#undef READ_STAT

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


More information about the p4-projects mailing list