PERFORCE change 95377 for review

George V. Neville-Neil gnn at FreeBSD.org
Sun Apr 16 04:28:58 UTC 2006


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

Change 95377 by gnn at fast_ipsec_integ on 2006/04/16 04:28:08

	Integrate from HEAD

Affected files ...

.. //depot/projects/fast_ipsec/src/sys/alpha/alpha/pmap.c#5 integrate
.. //depot/projects/fast_ipsec/src/sys/amd64/amd64/pmap.c#8 integrate
.. //depot/projects/fast_ipsec/src/sys/amd64/conf/GENERIC#5 integrate
.. //depot/projects/fast_ipsec/src/sys/arm/include/asmacros.h#2 integrate
.. //depot/projects/fast_ipsec/src/sys/arm/include/atomic.h#6 integrate
.. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/i80321_pci.c#4 integrate
.. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0/Makefile#1 branch
.. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0/README#1 branch
.. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0/arm_init.s#1 branch
.. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0/at91rm9200_lowlevel.c#1 branch
.. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0/at91rm9200_lowlevel.h#1 branch
.. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0/lib.c#1 branch
.. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0/lib.h#1 branch
.. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0/linker.cfg#1 branch
.. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0/main.c#1 branch
.. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0/xmodem.c#1 branch
.. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0/xmodem.h#1 branch
.. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/inc/AT91RM9200.h#1 branch
.. //depot/projects/fast_ipsec/src/sys/boot/i386/boot2/boot1.S#2 integrate
.. //depot/projects/fast_ipsec/src/sys/boot/i386/cdboot/cdboot.s#2 integrate
.. //depot/projects/fast_ipsec/src/sys/boot/i386/libi386/Makefile#5 integrate
.. //depot/projects/fast_ipsec/src/sys/boot/i386/libi386/gatea20.c#2 delete
.. //depot/projects/fast_ipsec/src/sys/boot/i386/libi386/libi386.h#5 integrate
.. //depot/projects/fast_ipsec/src/sys/boot/i386/pxeldr/pxeldr.S#2 integrate
.. //depot/projects/fast_ipsec/src/sys/boot/pc98/libpc98/Makefile#3 integrate
.. //depot/projects/fast_ipsec/src/sys/boot/pc98/libpc98/gatea20.c#2 delete
.. //depot/projects/fast_ipsec/src/sys/conf/files#10 integrate
.. //depot/projects/fast_ipsec/src/sys/conf/options#9 integrate
.. //depot/projects/fast_ipsec/src/sys/crypto/via/padlock.c#2 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi.c#4 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_cmbat.c#3 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_dock.c#1 branch
.. //depot/projects/fast_ipsec/src/sys/dev/amr/amr_linux.c#2 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-all.c#8 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-raid.c#7 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/bce/if_bce.c#1 branch
.. //depot/projects/fast_ipsec/src/sys/dev/bce/if_bcefw.h#1 branch
.. //depot/projects/fast_ipsec/src/sys/dev/bce/if_bcereg.h#1 branch
.. //depot/projects/fast_ipsec/src/sys/dev/bge/if_bge.c#8 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/bge/if_bgereg.h#5 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/drm/radeon_state.c#5 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/em/if_em_hw.c#4 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/fxp/if_fxp.c#6 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/hwpmc/hwpmc_mod.c#6 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/mii/brgphy.c#7 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/mii/miidevs#3 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/mpt/mpt.c#6 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/mpt/mpt.h#7 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/mpt/mpt_cam.c#6 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/mpt/mpt_pci.c#4 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/mpt/mpt_raid.c#5 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/ppbus/lpt.c#4 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/ppbus/ppbconf.c#2 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/ppc/ppc.c#4 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/ppc/ppcvar.h#2 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/safe/safe.c#2 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/ubsec/ubsec.c#2 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/usb/usbdevs#6 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/usb/uscanner.c#5 integrate
.. //depot/projects/fast_ipsec/src/sys/dev/xe/if_xe.c#3 integrate
.. //depot/projects/fast_ipsec/src/sys/fs/devfs/devfs.h#3 integrate
.. //depot/projects/fast_ipsec/src/sys/geom/eli/g_eli.c#5 integrate
.. //depot/projects/fast_ipsec/src/sys/geom/geom_ccd.c#3 integrate
.. //depot/projects/fast_ipsec/src/sys/gnu/fs/ext2fs/ext2_bitops.h#2 integrate
.. //depot/projects/fast_ipsec/src/sys/i386/conf/GENERIC#5 integrate
.. //depot/projects/fast_ipsec/src/sys/i386/conf/NOTES#7 integrate
.. //depot/projects/fast_ipsec/src/sys/i386/i386/pmap.c#8 integrate
.. //depot/projects/fast_ipsec/src/sys/ia64/ia64/pmap.c#5 integrate
.. //depot/projects/fast_ipsec/src/sys/kern/kern_event.c#5 integrate
.. //depot/projects/fast_ipsec/src/sys/kern/kern_intr.c#4 integrate
.. //depot/projects/fast_ipsec/src/sys/kern/kern_mutex.c#5 integrate
.. //depot/projects/fast_ipsec/src/sys/kern/subr_sleepqueue.c#5 integrate
.. //depot/projects/fast_ipsec/src/sys/modules/acpi/Makefile#2 integrate
.. //depot/projects/fast_ipsec/src/sys/modules/acpi/acpi_dock/Makefile#1 branch
.. //depot/projects/fast_ipsec/src/sys/modules/bce/Makefile#1 branch
.. //depot/projects/fast_ipsec/src/sys/net/if_arc.h#2 integrate
.. //depot/projects/fast_ipsec/src/sys/net/if_arcsubr.c#4 integrate
.. //depot/projects/fast_ipsec/src/sys/netinet6/frag6.c#2 integrate
.. //depot/projects/fast_ipsec/src/sys/netinet6/in6_pcb.c#3 integrate
.. //depot/projects/fast_ipsec/src/sys/netinet6/raw_ip6.c#5 integrate
.. //depot/projects/fast_ipsec/src/sys/netinet6/udp6_output.c#2 integrate
.. //depot/projects/fast_ipsec/src/sys/netinet6/udp6_usrreq.c#5 integrate
.. //depot/projects/fast_ipsec/src/sys/netipx/ipx_usrreq.c#3 integrate
.. //depot/projects/fast_ipsec/src/sys/opencrypto/crypto.c#3 integrate
.. //depot/projects/fast_ipsec/src/sys/opencrypto/cryptosoft.c#3 integrate

Differences ...

==== //depot/projects/fast_ipsec/src/sys/alpha/alpha/pmap.c#5 (text+ko) ====

@@ -148,7 +148,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.188 2006/04/03 21:16:07 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.189 2006/04/12 04:22:50 alc Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -696,22 +696,7 @@
  * Low level helper routines.....
  ***************************************************/
 
-
-
 /*
- * this routine defines the region(s) of memory that should
- * not be tested for the modified bit.
- */
-static PMAP_INLINE int
-pmap_track_modified(vm_offset_t va)
-{
-	if ((va < kmi.clean_sva) || (va >= kmi.clean_eva)) 
-		return 1;
-	else
-		return 0;
-}
-
-/*
  *	Routine:	pmap_extract
  *	Function:
  *		Extract the physical page address associated
@@ -1346,10 +1331,8 @@
 			    ("get_pv_entry: wired pte %#lx", tpte));
 			if ((tpte & PG_FOR) == 0)
 				vm_page_flag_set(m, PG_REFERENCED);
-			if ((tpte & PG_FOW) == 0) {
-				if (pmap_track_modified(va))
-					vm_page_dirty(m);
-			}
+			if ((tpte & PG_FOW) == 0)
+				vm_page_dirty(m);
 			pmap_invalidate_page(pmap, va);
 			TAILQ_REMOVE(&pmap->pm_pvlist, pv, pv_plist);
 			TAILQ_REMOVE(&m->md.pv_list, pv, pv_list);
@@ -1449,10 +1432,8 @@
 	pmap->pm_stats.resident_count -= 1;
 	if (oldpte & PG_MANAGED) {
 		m = PHYS_TO_VM_PAGE(pmap_pte_pa(&oldpte));
-		if ((oldpte & PG_FOW) == 0) {
-			if (pmap_track_modified(va))
-				vm_page_dirty(m);
-		}
+		if ((oldpte & PG_FOW) == 0)
+			vm_page_dirty(m);
 		if ((oldpte & PG_FOR) == 0)
 			vm_page_flag_set(m, PG_REFERENCED);
 		return pmap_remove_entry(pmap, m, va);
@@ -1581,10 +1562,8 @@
 		/*
 		 * Update the vm_page_t clean and reference bits.
 		 */
-		if ((tpte & PG_FOW) == 0) {
-			if (pmap_track_modified(pv->pv_va))
-				vm_page_dirty(m);
-		}
+		if ((tpte & PG_FOW) == 0)
+			vm_page_dirty(m);
 		if ((tpte & PG_FOR) == 0)
 			vm_page_flag_set(m, PG_REFERENCED);
 
@@ -1666,8 +1645,7 @@
 			if ((oldpte & PG_FOW) == 0) {
 				if (m == NULL)
 					m = PHYS_TO_VM_PAGE(pmap_pte_pa(pte));
-				if (pmap_track_modified(sva))
-					vm_page_dirty(m);
+				vm_page_dirty(m);
 				oldpte |= PG_FOW;
 			}
 			oldpte = (oldpte & ~PG_PROT) | newprot;
@@ -1763,8 +1741,7 @@
 		 * so we go ahead and sense modify status.
 		 */
 		if (origpte & PG_MANAGED) {
-			if ((origpte & PG_FOW) != PG_FOW
-			    && pmap_track_modified(va))
+			if ((origpte & PG_FOW) != PG_FOW)
 				vm_page_dirty(m);
 		}
 
@@ -1788,6 +1765,8 @@
 	 * called at interrupt time.
 	 */
 	if ((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0) {
+		KASSERT(va < kmi.clean_sva || va >= kmi.clean_eva,
+		    ("pmap_enter: managed mapping within the clean submap"));
 		pmap_insert_entry(pmap, va, mpte, m);
 		managed |= PG_MANAGED;
 	}
@@ -1850,6 +1829,9 @@
 	register pt_entry_t *pte;
 	int managed;
 
+	KASSERT(va < kmi.clean_sva || va >= kmi.clean_eva ||
+	    (m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) != 0,
+	    ("pmap_enter_quick: managed mapping within the clean submap"));
 	mtx_assert(&vm_page_queue_mtx, MA_OWNED);
 	VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED);
 	PMAP_LOCK(pmap);
@@ -2168,8 +2150,7 @@
 		pmap->pm_stats.resident_count--;
 
 		if ((tpte & PG_FOW) == 0)
-			if (pmap_track_modified(pv->pv_va))
-				vm_page_dirty(m);
+			vm_page_dirty(m);
 
 		npv = TAILQ_NEXT(pv, pv_plist);
 		TAILQ_REMOVE(&pmap->pm_pvlist, pv, pv_plist);
@@ -2209,14 +2190,6 @@
 	 * setting RO do we need to clear the VAC?
 	 */
 	TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) {
-		/*
-		 * don't write protect pager mappings
-		 */
-		if (!setem && bit == (PG_UWE|PG_KWE)) {
-			if (!pmap_track_modified(pv->pv_va))
-				continue;
-		}
-
 		PMAP_LOCK(pv->pv_pmap);
 		pte = pmap_lev3pte(pv->pv_pmap, pv->pv_va);
 

==== //depot/projects/fast_ipsec/src/sys/amd64/amd64/pmap.c#8 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.543 2006/04/04 20:17:35 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.545 2006/04/13 03:31:48 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -106,6 +106,7 @@
  */
 
 #include "opt_msgbuf.h"
+#include "opt_pmap.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -619,20 +620,6 @@
  * Low level helper routines.....
  ***************************************************/
 
-
-/*
- * this routine defines the region(s) of memory that should
- * not be tested for the modified bit.
- */
-static PMAP_INLINE int
-pmap_track_modified(vm_offset_t va)
-{
-	if ((va < kmi.clean_sva) || (va >= kmi.clean_eva)) 
-		return 1;
-	else
-		return 0;
-}
-
 #ifdef SMP
 /*
  * For SMP, these functions have to use the IPI mechanism for coherence.
@@ -1532,8 +1519,7 @@
 				KASSERT((tpte & PG_RW),
 	("pmap_collect: modified page not writable: va: %#lx, pte: %#lx",
 				    va, tpte));
-				if (pmap_track_modified(va))
-					vm_page_dirty(m);
+				vm_page_dirty(m);
 			}
 			pmap_invalidate_page(pmap, va);
 			TAILQ_REMOVE(&m->md.pv_list, pv, pv_list);
@@ -1751,8 +1737,7 @@
 			KASSERT((oldpte & PG_RW),
 	("pmap_remove_pte: modified page not writable: va: %#lx, pte: %#lx",
 			    va, oldpte));
-			if (pmap_track_modified(va))
-				vm_page_dirty(m);
+			vm_page_dirty(m);
 		}
 		if (oldpte & PG_A)
 			vm_page_flag_set(m, PG_REFERENCED);
@@ -1940,8 +1925,7 @@
 			KASSERT((tpte & PG_RW),
 	("pmap_remove_all: modified page not writable: va: %#lx, pte: %#lx",
 			    pv->pv_va, tpte));
-			if (pmap_track_modified(pv->pv_va))
-				vm_page_dirty(m);
+			vm_page_dirty(m);
 		}
 		pmap_invalidate_page(pmap, pv->pv_va);
 		TAILQ_REMOVE(&m->md.pv_list, pv, pv_list);
@@ -2030,8 +2014,7 @@
 					vm_page_flag_set(m, PG_REFERENCED);
 					pbits &= ~PG_A;
 				}
-				if ((pbits & PG_M) != 0 &&
-				    pmap_track_modified(sva)) {
+				if ((pbits & PG_M) != 0) {
 					if (m == NULL)
 						m = PHYS_TO_VM_PAGE(pbits &
 						    PG_FRAME);
@@ -2182,6 +2165,8 @@
 	 * Enter on the PV list if part of our managed memory.
 	 */
 	if ((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0) {
+		KASSERT(va < kmi.clean_sva || va >= kmi.clean_eva,
+		    ("pmap_enter: managed mapping within the clean submap"));
 		pmap_insert_entry(pmap, va, m);
 		pa |= PG_MANAGED;
 	}
@@ -2227,8 +2212,7 @@
 				KASSERT((origpte & PG_RW),
 	("pmap_enter: modified page not writable: va: %#lx, pte: %#lx",
 				    va, origpte));
-				if ((origpte & PG_MANAGED) &&
-				    pmap_track_modified(va))
+				if ((origpte & PG_MANAGED) != 0)
 					vm_page_dirty(om);
 				if ((newpte & PG_RW) == 0)
 					invlva = TRUE;
@@ -2258,6 +2242,9 @@
 	pt_entry_t *pte;
 	vm_paddr_t pa;
 
+	KASSERT(va < kmi.clean_sva || va >= kmi.clean_eva ||
+	    (m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) != 0,
+	    ("pmap_enter_quick: managed mapping within the clean submap"));
 	mtx_assert(&vm_page_queue_mtx, MA_OWNED);
 	VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED);
 	PMAP_LOCK(pmap);
@@ -2836,13 +2823,6 @@
 
 	mtx_assert(&vm_page_queue_mtx, MA_OWNED);
 	TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) {
-		/*
-		 * if the bit being tested is the modified bit, then
-		 * mark clean_map and ptes as never
-		 * modified.
-		 */
-		if (!pmap_track_modified(pv->pv_va))
-			continue;
 		pmap = PV_PMAP(pv);
 		PMAP_LOCK(pmap);
 		pte = pmap_pte(pmap, pv->pv_va);
@@ -2898,14 +2878,6 @@
 	 * setting RO do we need to clear the VAC?
 	 */
 	TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) {
-		/*
-		 * don't write protect pager mappings
-		 */
-		if (bit == PG_RW) {
-			if (!pmap_track_modified(pv->pv_va))
-				continue;
-		}
-
 		pmap = PV_PMAP(pv);
 		PMAP_LOCK(pmap);
 		pte = pmap_pte(pmap, pv->pv_va);
@@ -2983,9 +2955,6 @@
 
 			TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list);
 
-			if (!pmap_track_modified(pv->pv_va))
-				continue;
-
 			pmap = PV_PMAP(pv);
 			PMAP_LOCK(pmap);
 			pte = pmap_pte(pmap, pv->pv_va);

==== //depot/projects/fast_ipsec/src/sys/amd64/conf/GENERIC#5 (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.451 2006/03/31 23:04:48 emax Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.452 2006/04/10 20:04:22 ps Exp $
 
 cpu		HAMMER
 ident		GENERIC
@@ -192,6 +192,7 @@
 # PCI Ethernet NICs that use the common MII bus controller code.
 # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
 device		miibus		# MII bus support
+device		bce		# Broadcom BCM5706/BCM5708 Gigabit Ethernet
 device		bfe		# Broadcom BCM440x 10/100 Ethernet
 device		bge		# Broadcom BCM570xx Gigabit Ethernet
 device		dc		# DEC/Intel 21143 and various workalikes

==== //depot/projects/fast_ipsec/src/sys/arm/include/asmacros.h#2 (text+ko) ====

@@ -34,7 +34,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/arm/include/asmacros.h,v 1.4 2005/04/07 22:03:04 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/asmacros.h,v 1.5 2006/04/13 14:25:28 cognet Exp $
  */
 
 #ifndef	_MACHINE_ASMACROS_H_
@@ -159,12 +159,12 @@
 #define	DO_AST								\
 	ldr	r0, [sp]		/* Get the SPSR from stack */	;\
 	mrs	r4, cpsr		/* save CPSR */			;\
-	orr	r1, r4, #(I32_bit)					;\
+	orr	r1, r4, #(I32_bit|F32_bit)				;\
 	msr	cpsr_c, r1		/* Disable interrupts */	;\
 	and	r0, r0, #(PSR_MODE)	/* Returning to USR mode? */	;\
 	teq	r0, #(PSR_USR32_MODE)					;\
 	bne	2f			/* Nope, get out now */		;\
-	bic	r4, r4, #(I32_bit)					;\
+	bic	r4, r4, #(I32_bit|F32_bit)				;\
 1:	ldr	r5, .Lcurthread						;\
 	ldr	r5, [r5]						;\
 	ldr	r1, [r5, #(TD_FLAGS)]					;\
@@ -174,7 +174,7 @@
 	msr	cpsr_c, r4		/* Restore interrupts */	;\
 	mov	r0, sp							;\
 	bl	_C_LABEL(ast)		/* ast(frame) */		;\
-	orr	r0, r4, #(I32_bit)					;\
+	orr	r0, r4, #(I32_bit|F32_bit)				;\
 	msr	cpsr_c, r0						;\
 	b	1b							;\
 2:

==== //depot/projects/fast_ipsec/src/sys/arm/include/atomic.h#6 (text+ko) ====

@@ -33,7 +33,7 @@
  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/arm/include/atomic.h,v 1.17 2006/02/06 18:29:05 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/atomic.h,v 1.18 2006/04/13 14:25:28 cognet Exp $
  */
 
 #ifndef	_MACHINE_ATOMIC_H_
@@ -61,7 +61,7 @@
 			"orr  %1, %0, %2;"		\
 			"msr  cpsr_all, %1;"		\
 			: "=r" (cpsr_save), "=r" (tmp)	\
-			: "I" (I32_bit)		\
+			: "I" (I32_bit | F32_bit)		\
 		        : "cc" );		\
 		(expr);				\
 		 __asm __volatile(		\

==== //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/i80321_pci.c#4 (text+ko) ====

@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321_pci.c,v 1.6 2006/01/23 14:03:14 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321_pci.c,v 1.7 2006/04/13 15:07:59 cognet Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -381,7 +381,8 @@
 	if (rv == NULL)
 		return (NULL);
 	if (type != SYS_RES_IRQ) {
-		bh += (rman_get_start(rv));
+		if (type == SYS_RES_MEMORY)
+			bh += (rman_get_start(rv));
 		rman_set_bustag(rv, bt);
 		rman_set_bushandle(rv, bh);
 		if (flags & RF_ACTIVE) {

==== //depot/projects/fast_ipsec/src/sys/boot/i386/boot2/boot1.S#2 (text+ko) ====

@@ -12,7 +12,7 @@
  * warranties of merchantability and fitness for a particular
  * purpose.
  *
- * $FreeBSD: src/sys/boot/i386/boot2/boot1.S,v 1.30 2004/08/28 08:32:23 yar Exp $
+ * $FreeBSD: src/sys/boot/i386/boot2/boot1.S,v 1.31 2006/04/11 20:09:42 jhb Exp $
  */
 
 /* Memory Locations */
@@ -212,8 +212,7 @@
 		jnz seta20.2			# Yes
 		movb $0xdf,%al			# Enable
 		outb %al,$0x60			#  A20
-seta20.3:
-		sti				# Enable interrupts
+seta20.3:	sti				# Enable interrupts
 
 		jmp start+MEM_JMP-MEM_ORG	# Start BTX
 

==== //depot/projects/fast_ipsec/src/sys/boot/i386/cdboot/cdboot.s#2 (text+ko) ====

@@ -27,7 +27,7 @@
 # SUCH DAMAGE.
 #
 
-# $FreeBSD: src/sys/boot/i386/cdboot/cdboot.s,v 1.13 2004/06/22 21:55:22 jhb Exp $
+# $FreeBSD: src/sys/boot/i386/cdboot/cdboot.s,v 1.16 2006/04/11 17:36:08 jhb Exp $
 
 #
 # This program is a freestanding boot program to load an a.out binary
@@ -400,7 +400,7 @@
 ff.checkname:	lea DIR_NAME(%bx),%di		# Address name in record
 		push %si			# Save
 		repe cmpsb			# Compare name
-		jcxz ff.match			# We have a winner!
+		je ff.match			# We have a winner!
 		pop %si				# Restore
 		jmp ff.nextrec			# Keep looking.
 ff.match:	add $2,%sp			# Discard saved %si
@@ -485,10 +485,17 @@
 		ret
 
 #
-# Enable A20
+# Enable A20. Put an upper limit on the amount of time we wait for the
+# keyboard controller to get ready (65K x ISA access time). If
+# we wait more than that amount, the hardware is probably
+# legacy-free and simply doesn't have a keyboard controller.
+# Thus, the A20 line is already enabled.
 #
 seta20: 	cli				# Disable interrupts
-seta20.1:	in $0x64,%al			# Get status
+		xor %cx,%cx			# Clear
+seta20.1:	inc %cx				# Increment, overflow?
+		jz seta20.3			# Yes
+		in $0x64,%al			# Get status
 		test $0x2,%al			# Busy?
 		jnz seta20.1			# Yes
 		mov $0xd1,%al			# Command: Write
@@ -498,7 +505,7 @@
 		jnz seta20.2			# Yes
 		mov $0xdf,%al			# Enable
 		out %al,$0x60			#  A20
-		sti				# Enable interrupts
+seta20.3:	sti				# Enable interrupts
 		ret				# To caller
 
 #

==== //depot/projects/fast_ipsec/src/sys/boot/i386/libi386/Makefile#5 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/i386/libi386/Makefile,v 1.41 2006/03/14 19:02:00 jkim Exp $
+# $FreeBSD: src/sys/boot/i386/libi386/Makefile,v 1.42 2006/04/11 20:11:30 jhb Exp $
 #
 LIB=			i386
 INTERNALLIB=
@@ -6,7 +6,7 @@
 SRCS=	biosacpi.c bioscd.c biosdisk.c biosmem.c biospnp.c \
 	biospci.c biossmap.c bootinfo.c bootinfo32.c bootinfo64.c \
 	comconsole.c devicename.c elf32_freebsd.c \
-	elf64_freebsd.c gatea20.c \
+	elf64_freebsd.c \
 	i386_copy.c i386_module.c nullconsole.c pxe.c pxetramp.s \
 	smbios.c time.c vidconsole.c amd64_tramp.S
 

==== //depot/projects/fast_ipsec/src/sys/boot/i386/libi386/libi386.h#5 (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/boot/i386/libi386/libi386.h,v 1.24 2006/03/09 22:49:44 jkim Exp $
+ * $FreeBSD: src/sys/boot/i386/libi386/libi386.h,v 1.25 2006/04/11 20:11:30 jhb Exp $
  */
 
 
@@ -104,8 +104,6 @@
 
 void	smbios_detect(void);
 
-void	gateA20(void);
-
 int	i386_autoload(void);
 
 int	bi_getboothowto(char *kargs);

==== //depot/projects/fast_ipsec/src/sys/boot/i386/pxeldr/pxeldr.S#2 (text+ko) ====

@@ -12,7 +12,7 @@
  * warranties of merchantability and fitness for a particular
  * purpose.
  *
- * $FreeBSD: src/sys/boot/i386/pxeldr/pxeldr.S,v 1.13 2004/05/14 20:29:30 ru Exp $
+ * $FreeBSD: src/sys/boot/i386/pxeldr/pxeldr.S,v 1.14 2006/04/11 20:53:49 sobomax Exp $
  */
 
 /*
@@ -227,10 +227,17 @@
 		jmp putstr			# keep looping
 
 /*
- * Enable A20
+ * Enable A20. Put an upper limit on the amount of time we wait for the
+ * keyboard controller to get ready (65K x ISA access time). If
+ * we wait more than that amount, the hardware is probably
+ * legacy-free and simply doesn't have a keyboard controller.
+ * Thus, the A20 line is already enabled.
  */
 seta20: 	cli				# Disable interrupts
-seta20.1:	inb $0x64,%al			# Get status
+		xor %cx,%cx			# Clear
+seta20.1:	inc %cx				# Increment, overflow?
+		jz seta20.3			# Yes
+		inb $0x64,%al			# Get status
 		testb $0x2,%al			# Busy?
 		jnz seta20.1			# Yes
 		movb $0xd1,%al			# Command: Write
@@ -240,7 +247,7 @@
 		jnz seta20.2			# Yes
 		movb $0xdf,%al			# Enable
 		outb %al,$0x60			#  A20
-		sti				# Enable interrupts
+seta20.3:	sti				# Enable interrupts
 		retw				# To caller
 
 /*

==== //depot/projects/fast_ipsec/src/sys/boot/pc98/libpc98/Makefile#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/pc98/libpc98/Makefile,v 1.23 2005/12/20 08:54:30 sobomax Exp $
+# $FreeBSD: src/sys/boot/pc98/libpc98/Makefile,v 1.24 2006/04/11 20:11:30 jhb Exp $
 #
 LIB=			pc98
 INTERNALLIB=
@@ -7,7 +7,7 @@
 
 SRCS=	bioscd.c biosdisk.c biosmem.c biospnp.c biospci.c biossmap.c \
 	bootinfo.c bootinfo32.c comconsole.c devicename.c elf32_freebsd.c \
-	gatea20.c i386_copy.c i386_module.c nullconsole.c pxe.c pxetramp.s \
+	i386_copy.c i386_module.c nullconsole.c pxe.c pxetramp.s \
 	time.c vidconsole.c
 
 BOOT_COMCONSOLE_PORT?= 0x238

==== //depot/projects/fast_ipsec/src/sys/conf/files#10 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1107 2006/03/30 21:39:36 marcel Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1109 2006/04/15 12:31:31 iwasaki Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -407,6 +407,7 @@
 dev/acpica/acpi_throttle.c	optional acpi
 dev/acpica/acpi_timer.c		optional acpi
 dev/acpica/acpi_video.c		optional acpi_video acpi
+dev/acpica/acpi_dock.c		optional acpi_dock acpi
 dev/adlink/adlink.c		optional adlink
 dev/advansys/adv_eisa.c		optional adv eisa
 dev/advansys/adv_pci.c		optional adv pci
@@ -475,6 +476,7 @@
 dev/awi/am79c930.c		optional awi
 dev/awi/awi.c			optional awi
 dev/awi/if_awi_pccard.c		optional awi pccard
+dev/bce/if_bce.c		optional bce
 dev/bfe/if_bfe.c		optional bfe
 dev/bge/if_bge.c		optional bge
 dev/bktr/bktr_audio.c		optional bktr pci

==== //depot/projects/fast_ipsec/src/sys/conf/options#9 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.533 2006/04/03 18:14:01 sam Exp $
+# $FreeBSD: src/sys/conf/options,v 1.534 2006/04/10 20:04:21 ps Exp $
 #
 #        On the handling of kernel options
 #
@@ -634,6 +634,9 @@
 ED_3C503		opt_ed.h
 ED_SIC			opt_ed.h
 
+# bce driver
+BCE_DEBUG		opt_bce.h
+
 # bge driver
 BGE_FAKE_AUTONEG	opt_bge.h
 

==== //depot/projects/fast_ipsec/src/sys/crypto/via/padlock.c#2 (text+ko) ====

@@ -45,7 +45,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/crypto/via/padlock.c,v 1.1 2005/08/18 00:30:22 pjd Exp $");
+__FBSDID("$FreeBSD: src/sys/crypto/via/padlock.c,v 1.2 2006/04/12 12:13:34 pjd Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -179,11 +179,7 @@
 #endif
 
 	padlock_sc = sc = malloc(sizeof(*padlock_sc), M_DEVBUF,
-	    M_NOWAIT | M_ZERO);
-	if (padlock_sc == NULL) {
-		printf("PADLOCK: Could not allocate memory.\n");
-		return (ENOMEM);
-	}
+	    M_WAITOK | M_ZERO);
 	TAILQ_INIT(&sc->sc_sessions);
 	sc->sc_sid = 1;
 

==== //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi.c#4 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.220 2006/03/29 06:30:47 njl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.221 2006/04/15 12:31:32 iwasaki Exp $");
 
 #include "opt_acpi.h"
 #include <sys/param.h>
@@ -1518,6 +1518,7 @@
 acpi_probe_child(ACPI_HANDLE handle, UINT32 level, void *context, void **status)
 {
     ACPI_OBJECT_TYPE type;
+    ACPI_HANDLE h;
     device_t bus, child;
     int order, probe_now;
     char *handle_str, **search;
@@ -1577,8 +1578,17 @@
 	     * "functional" (i.e. if disabled).  Go ahead and probe them
 	     * anyway since we may enable them later.
 	     */
-	    if (type == ACPI_TYPE_DEVICE && !acpi_DeviceIsPresent(child) &&
-		!acpi_MatchHid(handle, "PNP0C0F")) {
+	    if (type == ACPI_TYPE_DEVICE && !acpi_DeviceIsPresent(child)) {
+		/* Never disable PCI link devices. */
+		if (acpi_MatchHid(handle, "PNP0C0F"))
+		    break;
+		/*
+		 * Docking stations should remain enabled since the system
+		 * may be undocked at boot.
+		 */
+		if (ACPI_SUCCESS(AcpiGetHandle(handle, "_DCK", &h)))
+		    break;
+
 		device_disable(child);
 		break;
 	    }

==== //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_cmbat.c#3 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cmbat.c,v 1.43 2005/11/26 07:36:53 njl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cmbat.c,v 1.45 2006/04/15 16:10:53 iwasaki Exp $");
 
 #include "opt_acpi.h"
 #include <sys/param.h>
@@ -157,7 +157,10 @@
 static int
 acpi_cmbat_detach(device_t dev)
 {
+    ACPI_HANDLE	handle;
 
+    handle = acpi_get_handle(dev);
+    AcpiRemoveNotifyHandler(handle, ACPI_ALL_NOTIFY, acpi_cmbat_notify_handler);
     acpi_battery_remove(dev);
     return (0);
 }
@@ -435,6 +438,10 @@
      * to wait a while.
      */
     for (retry = 0; retry < ACPI_CMBAT_RETRY_MAX; retry++, AcpiOsSleep(10000)) {
+	/* batteries on DOCK can be ejected w/ DOCK during retrying */
+	if (!device_is_attached(dev))
+	    return;
+
 	if (!acpi_BatteryIsPresent(dev))
 	    continue;
 

==== //depot/projects/fast_ipsec/src/sys/dev/amr/amr_linux.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/amr/amr_linux.c,v 1.2 2006/02/23 18:05:38 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/amr/amr_linux.c,v 1.3 2006/04/14 16:13:28 ambrisko Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -53,8 +53,8 @@
 #include <dev/amr/amrvar.h>
 
 /* There are multiple ioctl number ranges that need to be handled */
-#define AMR_LINUX_IOCTL_MIN  0x00000
-#define AMR_LINUX_IOCTL_MAX  0x50000
+#define AMR_LINUX_IOCTL_MIN  0x6d00
+#define AMR_LINUX_IOCTL_MAX  0x6d01
 
 static linux_ioctl_function_t amr_linux_ioctl;
 static struct linux_ioctl_handler amr_linux_handler = {amr_linux_ioctl,

==== //depot/projects/fast_ipsec/src/sys/dev/ata/ata-all.c#8 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.271 2006/03/31 08:09:04 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.272 2006/04/14 16:25:42 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -277,8 +277,8 @@
     if (!dev || !(ch = device_get_softc(dev)))
 	return ENXIO;
 
-    /* wait for the channel to be IDLE before entering suspend mode */
-    while (1) {
+    /* wait for the channel to be IDLE or detached before suspending */
+    while (ch->r_irq) {
 	mtx_lock(&ch->state_mtx);
 	if (ch->state == ATA_IDLE) {
 	    ch->state = ATA_ACTIVE;

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

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.119 2006/03/09 08:34:44 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.120 2006/04/15 10:27:41 maxim Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -974,7 +974,7 @@
 		 * metadata format from the disks (if we support it).
 		 */
 		printf("WARNING!! - not able to determine metadata format\n"
-		       "WARNING!! - Using FreeBSD PsuedoRAID metadata\n"
+		       "WARNING!! - Using FreeBSD PseudoRAID metadata\n"
 		       "If that is not what you want, use the BIOS to "
 		       "create the array\n");
 		ctlr = AR_F_FREEBSD_RAID;

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

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.125 2006/03/17 09:17:36 glebius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.126 2006/04/15 08:13:06 scottl Exp $");
 
 /*
  * Broadcom BCM570x family gigabit ethernet driver for FreeBSD.
@@ -2788,27 +2788,23 @@
 	}
 #endif
 
+	/*
+	 * Do the mandatory PCI flush as well as get the link status.
+	 */
+	statusword = CSR_READ_4(sc, BGE_MAC_STS) & BGE_MACSTAT_LINK_CHANGED;
+
+	/* Ack interrupt and stop others from occuring. */
+	CSR_WRITE_4(sc, BGE_MBX_IRQ0_LO, 1);
+
+	/* Make sure the descriptor ring indexes are coherent. */
 	bus_dmamap_sync(sc->bge_cdata.bge_status_tag,
 	    sc->bge_cdata.bge_status_map, BUS_DMASYNC_POSTREAD);
-
-	statusword =
-	    atomic_readandclear_32(&sc->bge_ldata.bge_status_block->bge_status);
-
 	bus_dmamap_sync(sc->bge_cdata.bge_status_tag,
 	    sc->bge_cdata.bge_status_map, BUS_DMASYNC_PREREAD);
 
-#ifdef notdef
-	/* Avoid this for now -- checking this register is expensive. */
-	/* Make sure this is really our interrupt. */
-	if (!(CSR_READ_4(sc, BGE_MISC_LOCAL_CTL) & BGE_MLC_INTR_STATE))
-		return;
-#endif
-	/* Ack interrupt and stop others from occuring. */
-	CSR_WRITE_4(sc, BGE_MBX_IRQ0_LO, 1);
-
 	if ((sc->bge_asicrev == BGE_ASICREV_BCM5700 &&
 	    sc->bge_chipid != BGE_CHIPID_BCM5700_B1) ||
-	    statusword & BGE_STATFLAG_LINKSTATE_CHANGED || sc->bge_link_evt)
+	    statusword || sc->bge_link_evt)
 		bge_link_upd(sc);
 
 	if (ifp->if_drv_flags & IFF_DRV_RUNNING) {

==== //depot/projects/fast_ipsec/src/sys/dev/bge/if_bgereg.h#5 (text+ko) ====

@@ -30,7 +30,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.46 2006/02/01 14:26:35 oleg Exp $
+ * $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.47 2006/04/12 12:12:44 pjd Exp $
  */
 
 /*
@@ -1160,7 +1160,7 @@
 #define BGE_HCCMODE_ENABLE		0x00000002
 #define BGE_HCCMODE_ATTN		0x00000004
 #define BGE_HCCMODE_COAL_NOW		0x00000008
-#define BGE_HCCMODE_MSI_BITS		0x0x000070
+#define BGE_HCCMODE_MSI_BITS		0x00000070
 #define BGE_HCCMODE_STATBLK_SIZE	0x00000180
 
 #define BGE_STATBLKSZ_FULL		0x00000000

==== //depot/projects/fast_ipsec/src/sys/dev/drm/radeon_state.c#5 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/drm/radeon_state.c,v 1.20 2006/04/09 20:45:45 anholt Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/drm/radeon_state.c,v 1.21 2006/04/13 11:16:59 ru Exp $");
 
 #include "dev/drm/drmP.h"
 #include "dev/drm/drm.h"
@@ -2973,7 +2973,7 @@
 	case RADEON_PARAM_STATUS_HANDLE:
 		value = dev_priv->ring_rptr_offset;
 		break;
-#if BITS_PER_LONG == 32
+#ifndef __LP64__
 		/*
 		 * This ioctl() doesn't work on 64-bit platforms because hw_lock is a
 		 * pointer which can't fit into an int-sized variable.  According to

==== //depot/projects/fast_ipsec/src/sys/dev/em/if_em_hw.c#4 (text+ko) ====

@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/em/if_em_hw.c,v 1.18 2006/04/06 17:09:03 glebius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/em/if_em_hw.c,v 1.19 2006/04/13 15:10:25 cognet Exp $");
 
 #include <dev/em/if_em_hw.h>
 
@@ -516,7 +516,9 @@
         case em_82544:
         case em_82540:
         case em_82545:
+#ifndef __arm__
         case em_82546:
+#endif
         case em_82541:
         case em_82541_rev_2:
             /* These controllers can't ack the 64-bit write when issuing the

==== //depot/projects/fast_ipsec/src/sys/dev/fxp/if_fxp.c#6 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.254 2006/02/14 12:44:54 glebius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.256 2006/04/14 17:26:04 matteo Exp $");
 
 /*
  * Intel EtherExpress Pro/100B PCI Fast Ethernet driver
@@ -178,6 +178,7 @@
     { 0x1064,	-1,	"Intel 82562EZ (ICH6)" },
     { 0x1068,	-1,	"Intel 82801FBM (ICH6-M) Pro/100 VE Ethernet" },
     { 0x1069,	-1,	"Intel 82562EM/EX/GX Pro/100 Ethernet" },
+    { 0x1092,	-1,	"Intel Pro/100 VE Network Connection" },
     { 0x1209,	-1,	"Intel 82559ER Embedded 10/100 Ethernet" },
     { 0x1229,	0x01,	"Intel 82557 Pro/100 Ethernet" },
     { 0x1229,	0x02,	"Intel 82557 Pro/100 Ethernet" },

==== //depot/projects/fast_ipsec/src/sys/dev/hwpmc/hwpmc_mod.c#6 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>

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


More information about the p4-projects mailing list