Date: Sun, 29 Jun 2003 13:11:15 -0700 (PDT) From: Marcel Moolenaar <marcel@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 33852 for review Message-ID: <200306292011.h5TKBFn1055065@repoman.freebsd.org>
index | next in thread | raw e-mail
http://perforce.freebsd.org/chv.cgi?CH=33852 Change 33852 by marcel@marcel_nfs on 2003/06/29 13:11:04 IFC @33848 Affected files ... .. //depot/projects/uart/alpha/alpha/support.s#2 integrate .. //depot/projects/uart/ia64/ia64/pmap.c#2 integrate .. //depot/projects/uart/pci/if_rl.c#2 integrate .. //depot/projects/uart/sys/param.h#2 integrate Differences ... ==== //depot/projects/uart/alpha/alpha/support.s#2 (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/alpha/alpha/support.s,v 1.13 2003/04/04 17:29:54 des Exp $ + * $FreeBSD: src/sys/alpha/alpha/support.s,v 1.14 2003/06/29 17:14:42 marcel Exp $ */ /* @@ -84,7 +84,27 @@ mov zero, v0 RET END(suword) - + + LEAF(suword32, 2) + LDGP(pv) + + ldiq t0, VM_MAXUSER_ADDRESS /* verify address validity */ + cmpult a0, t0, t1 + beq t1, fusufault + + lda t0, fusufault /* trap faults */ + ldq t2, PC_CURTHREAD(pcpup) + ldq t2, TD_PCB(t2) + stq t0, PCB_ONFAULT(t2) + + stl a1, 0(a0) /* try the store */ + + stq zero, PCB_ONFAULT(t2) /* clean up */ + + mov zero, v0 + RET + END(suword32) + LEAF(subyte, 1) LDGP(pv) @@ -130,6 +150,25 @@ RET END(fuword) + LEAF(fuword32, 1) + LDGP(pv) + + ldiq t0, VM_MAXUSER_ADDRESS /* verify address validity */ + cmpult a0, t0, t1 + beq t1, fusufault + + lda t0, fusufault /* trap faults */ + ldq t2, PC_CURTHREAD(pcpup) + ldq t2, TD_PCB(t2) + stq t0, PCB_ONFAULT(t2) + + ldl v0, 0(a0) /* get the word containing our byte */ + + stq zero, PCB_ONFAULT(t2) /* clean up */ + + RET + END(fuword32) + LEAF(fubyte, 1) LDGP(pv) ==== //depot/projects/uart/ia64/ia64/pmap.c#2 (text+ko) ==== @@ -43,7 +43,7 @@ * from: @(#)pmap.c 7.7 (Berkeley) 5/12/91 * from: i386 Id: pmap.c,v 1.193 1998/04/19 15:22:48 bde Exp * with some ideas from NetBSD's alpha pmap - * $FreeBSD: src/sys/ia64/ia64/pmap.c,v 1.111 2003/06/18 02:57:38 alc Exp $ + * $FreeBSD: src/sys/ia64/ia64/pmap.c,v 1.112 2003/06/29 06:10:32 alc Exp $ */ /* @@ -1762,7 +1762,6 @@ vm_object_t object, vm_pindex_t pindex, vm_size_t size, int limit) { - pmap_t oldpmap; vm_offset_t tmpidx; int psize; vm_page_t p; @@ -1770,21 +1769,18 @@ if (pmap == NULL || object == NULL) return; - - oldpmap = pmap_install(pmap); - + VM_OBJECT_LOCK(object); psize = ia64_btop(size); if ((object->type != OBJT_VNODE) || ((limit & MAP_PREFAULT_PARTIAL) && (psize > MAX_INIT_PT) && (object->resident_page_count > MAX_INIT_PT))) { - pmap_install(oldpmap); - return; + goto unlock_return; } if (psize + pindex > object->size) { if (object->size < pindex) - return; + goto unlock_return; psize = object->size - pindex; } @@ -1823,8 +1819,10 @@ vm_page_deactivate(p); vm_page_busy(p); vm_page_unlock_queues(); + VM_OBJECT_UNLOCK(object); pmap_enter_quick(pmap, addr + ia64_ptob(tmpidx), p); + VM_OBJECT_LOCK(object); vm_page_lock_queues(); vm_page_wakeup(p); } @@ -1855,16 +1853,18 @@ vm_page_deactivate(p); vm_page_busy(p); vm_page_unlock_queues(); + VM_OBJECT_UNLOCK(object); pmap_enter_quick(pmap, addr + ia64_ptob(tmpidx), p); + VM_OBJECT_LOCK(object); vm_page_lock_queues(); vm_page_wakeup(p); } vm_page_unlock_queues(); } } - pmap_install(oldpmap); - return; +unlock_return: + VM_OBJECT_UNLOCK(object); } /* ==== //depot/projects/uart/pci/if_rl.c#2 (text+ko) ==== @@ -82,7 +82,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/pci/if_rl.c,v 1.100 2003/06/11 06:24:36 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/if_rl.c,v 1.101 2003/06/29 17:33:33 wpaul Exp $"); #include <sys/param.h> #include <sys/endian.h> @@ -133,7 +133,7 @@ #include <pci/if_rlreg.h> -__FBSDID("$FreeBSD: src/sys/pci/if_rl.c,v 1.100 2003/06/11 06:24:36 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/if_rl.c,v 1.101 2003/06/29 17:33:33 wpaul Exp $"); /* * Various supported device vendors/types and their names. @@ -1597,7 +1597,6 @@ struct rl_softc *sc = xsc; struct ifnet *ifp = &sc->arpcom.ac_if; struct mii_data *mii; - int i; u_int32_t rxcfg = 0; RL_LOCK(sc); @@ -1608,10 +1607,15 @@ */ rl_stop(sc); - /* Init our MAC address */ - for (i = 0; i < ETHER_ADDR_LEN; i++) { - CSR_WRITE_1(sc, RL_IDR0 + i, sc->arpcom.ac_enaddr[i]); - } + /* + * Init our MAC address. Even though the chipset + * documentation doesn't mention it, we need to enter "Config + * register write enable" mode to modify the ID registers. + */ + CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_WRITECFG); + CSR_WRITE_4(sc, RL_IDR0, *(u_int32_t *)(&sc->arpcom.ac_enaddr[0])); + CSR_WRITE_4(sc, RL_IDR4, *(u_int32_t *)(&sc->arpcom.ac_enaddr[4])); + CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_OFF); /* Init the RX buffer pointer register. */ bus_dmamap_load(sc->rl_tag, sc->rl_cdata.rl_rx_dmamap, ==== //depot/projects/uart/sys/param.h#2 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)param.h 8.3 (Berkeley) 4/4/95 - * $FreeBSD: src/sys/sys/param.h,v 1.160 2003/06/12 04:44:15 imp Exp $ + * $FreeBSD: src/sys/sys/param.h,v 1.161 2003/06/29 15:51:38 jdp Exp $ */ #ifndef _SYS_PARAM_H_ @@ -57,7 +57,7 @@ * scheme is: <major><two digit minor><0 if release branch, otherwise 1>xx */ #undef __FreeBSD_version -#define __FreeBSD_version 501100 /* Master, propagated to newvers */ +#define __FreeBSD_version 501101 /* Master, propagated to newvers */ #ifndef NULL #define NULL 0help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200306292011.h5TKBFn1055065>
