From owner-p4-projects@FreeBSD.ORG Mon Apr 17 09:31:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8B5F316A400; Mon, 17 Apr 2006 09:31:11 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E062F16A403 for ; Mon, 17 Apr 2006 09:31:10 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8B06243D45 for ; Mon, 17 Apr 2006 09:31:10 +0000 (GMT) (envelope-from gnn@neville-neil.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3H9VAeB055251 for ; Mon, 17 Apr 2006 09:31:10 GMT (envelope-from gnn@neville-neil.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3H9V5wI055163 for perforce@freebsd.org; Mon, 17 Apr 2006 09:31:05 GMT (envelope-from gnn@neville-neil.com) Date: Mon, 17 Apr 2006 09:31:05 GMT Message-Id: <200604170931.k3H9V5wI055163@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gnn@neville-neil.com using -f From: "George V. Neville-Neil" To: Perforce Change Reviews Cc: Subject: PERFORCE change 95422 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Apr 2006 09:31:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=95422 Change 95422 by gnn@gnn_devbox_fast_ipsec on 2006/04/17 09:30:07 Integrate from the integration branch. Affected files ... .. //depot/projects/gnn_fast_ipsec/src/sys/alpha/alpha/pmap.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/amd64/pmap.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/amd64/conf/GENERIC#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/include/asmacros.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/include/atomic.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/arm/xscale/i80321/i80321_pci.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0/Makefile#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0/README#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0/arm_init.s#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0/at91rm9200_lowlevel.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0/at91rm9200_lowlevel.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0/lib.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0/lib.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0/linker.cfg#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0/main.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0/xmodem.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/boot0/xmodem.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/arm/at91/inc/AT91RM9200.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/boot/i386/boot2/boot1.S#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/i386/cdboot/cdboot.s#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/i386/libi386/Makefile#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/i386/libi386/gatea20.c#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/boot/i386/libi386/libi386.h#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/i386/pxeldr/pxeldr.S#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/pc98/libpc98/Makefile#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/boot/pc98/libpc98/gatea20.c#2 delete .. //depot/projects/gnn_fast_ipsec/src/sys/conf/files#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/conf/options#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/crypto/via/padlock.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/acpica/acpi.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/acpica/acpi_cmbat.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/acpica/acpi_dock.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/amr/amr_linux.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ata/ata-all.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ata/ata-raid.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/bce/if_bce.c#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/bce/if_bcefw.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/bce/if_bcereg.h#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/dev/bge/if_bge.c#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/bge/if_bgereg.h#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/drm/radeon_state.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/em/if_em_hw.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/fxp/if_fxp.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/hwpmc/hwpmc_mod.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mii/brgphy.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mii/miidevs#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt.h#6 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt_cam.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt_pci.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/mpt/mpt_raid.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ppbus/lpt.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ppbus/ppbconf.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ppc/ppc.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ppc/ppcvar.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/safe/safe.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/ubsec/ubsec.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/usbdevs#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/usb/uscanner.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/dev/xe/if_xe.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/fs/devfs/devfs.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/geom/eli/g_eli.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/geom/geom_ccd.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/gnu/fs/ext2fs/ext2_bitops.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/conf/GENERIC#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/conf/NOTES#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/i386/i386/pmap.c#7 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/ia64/ia64/pmap.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_event.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_intr.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/kern_mutex.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/kern/subr_sleepqueue.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/modules/acpi/acpi_dock/Makefile#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/modules/bce/Makefile#1 branch .. //depot/projects/gnn_fast_ipsec/src/sys/net/if_arc.h#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/net/if_arcsubr.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/frag6.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/in6_pcb.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/raw_ip6.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/udp6_output.c#2 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netinet6/udp6_usrreq.c#5 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/netipx/ipx_usrreq.c#3 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/opencrypto/crypto.c#4 integrate .. //depot/projects/gnn_fast_ipsec/src/sys/opencrypto/cryptosoft.c#3 integrate Differences ... ==== //depot/projects/gnn_fast_ipsec/src/sys/alpha/alpha/pmap.c#4 (text+ko) ==== @@ -148,7 +148,7 @@ */ #include -__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 #include @@ -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/gnn_fast_ipsec/src/sys/amd64/amd64/pmap.c#6 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__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 #include @@ -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/gnn_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/gnn_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/gnn_fast_ipsec/src/sys/arm/include/atomic.h#4 (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/gnn_fast_ipsec/src/sys/arm/xscale/i80321/i80321_pci.c#3 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__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 #include @@ -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/gnn_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/gnn_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/gnn_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/gnn_fast_ipsec/src/sys/boot/i386/libi386/libi386.h#4 (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/gnn_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/gnn_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/gnn_fast_ipsec/src/sys/conf/files#6 (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/gnn_fast_ipsec/src/sys/conf/options#7 (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/gnn_fast_ipsec/src/sys/crypto/via/padlock.c#2 (text+ko) ==== @@ -45,7 +45,7 @@ */ #include -__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 #include @@ -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/gnn_fast_ipsec/src/sys/dev/acpica/acpi.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__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 @@ -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/gnn_fast_ipsec/src/sys/dev/acpica/acpi_cmbat.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__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 @@ -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/gnn_fast_ipsec/src/sys/dev/amr/amr_linux.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__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 #include @@ -53,8 +53,8 @@ #include /* 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/gnn_fast_ipsec/src/sys/dev/ata/ata-all.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__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 @@ -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/gnn_fast_ipsec/src/sys/dev/ata/ata-raid.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__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 @@ -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/gnn_fast_ipsec/src/sys/dev/bge/if_bge.c#6 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__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/gnn_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/gnn_fast_ipsec/src/sys/dev/drm/radeon_state.c#5 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__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/gnn_fast_ipsec/src/sys/dev/em/if_em_hw.c#4 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__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 @@ -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/gnn_fast_ipsec/src/sys/dev/fxp/if_fxp.c#5 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__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/gnn_fast_ipsec/src/sys/dev/hwpmc/hwpmc_mod.c#5 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include >>> TRUNCATED FOR MAIL (1000 lines) <<<