Date: Fri, 29 Feb 2008 19:48:18 GMT From: Kip Macy <kmacy@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 136478 for review Message-ID: <200802291948.m1TJmI4a092614@repoman.freebsd.org>
index | next in thread | raw e-mail
http://perforce.freebsd.org/chv.cgi?CH=136478 Change 136478 by kmacy@pandemonium:kmacy:xen31 on 2008/02/29 05:39:38 clean up logging remove vestigial wrpt reference in pmap_clear_modify Affected files ... .. //depot/projects/xen31/sys/i386/xen/pmap.c#41 edit Differences ... ==== //depot/projects/xen31/sys/i386/xen/pmap.c#41 (text+ko) ==== @@ -1038,8 +1038,8 @@ newpf = *pde & PG_FRAME; if ((*PMAP1 & PG_FRAME) != newpf) { PT_SET_MA(PADDR1, newpf | PG_V | PG_A | PG_M); - CTR3(KTR_PMAP, "pmap_pte_quick: pmap=%p va=0x%x newpte=0x%jx", - pmap, va, *PMAP1); + CTR3(KTR_PMAP, "pmap_pte_quick: pmap=%p va=0x%x newpte=0x%08x", + pmap, va, (u_long)*PMAP1); #ifdef SMP PMAP1cpu = PCPU_GET(cpuid); @@ -2194,8 +2194,8 @@ pt_entry_t oldpte; vm_page_t m; - CTR3(KTR_PMAP, "pmap_remove_pte: pmap=%p *ptq=0x%jx va=0x%x", - pmap, *ptq, va); + CTR3(KTR_PMAP, "pmap_remove_pte: pmap=%p *ptq=0x%x va=0x%x", + pmap, (u_long)*ptq, va); mtx_assert(&vm_page_queue_mtx, MA_OWNED); PMAP_LOCK_ASSERT(pmap, MA_OWNED); @@ -2594,8 +2594,8 @@ vm_page_t mpte, om; boolean_t invlva; - CTR6(KTR_PMAP, "pmap_enter: pmap=%08p va=0x%08x access=0x%x m=%p prot=0x%x wired=%d", - pmap, va, access, m, prot, wired); + CTR6(KTR_PMAP, "pmap_enter: pmap=%08p va=0x%08x access=0x%x ma=0x%08x prot=0x%x wired=%d", + pmap, va, access, xpmap_ptom(VM_PAGE_TO_PHYS(m)), prot, wired); va = trunc_page(va); #ifdef PMAP_DIAGNOSTIC if (va > VM_MAX_KERNEL_ADDRESS) @@ -3158,8 +3158,6 @@ vm_offset_t end_addr = src_addr + len; vm_offset_t pdnxt; - return; - if (dst_addr != src_addr) return; @@ -3235,11 +3233,15 @@ * accessed (referenced) bits * during the copy. */ - PT_SET_VA_MA(dst_pte, ptetemp & ~(PG_W | PG_M | PG_A), FALSE); + KASSERT(ptetemp != 0, ("src_pte not set")); + PT_SET_VA_MA(dst_pte, ptetemp & ~(PG_W | PG_M | PG_A), TRUE /* XXX debug */); + KASSERT(*dst_pte == (ptetemp & ~(PG_W | PG_M | PG_A)), + ("no pmap copy expected: 0x%jx saw: 0x%jx", + ptetemp & ~(PG_W | PG_M | PG_A), *dst_pte)); dst_pmap->pm_stats.resident_count++; } else { free = NULL; - if (pmap_unwire_pte_hold( dst_pmap, + if (pmap_unwire_pte_hold(dst_pmap, dstmpte, &free)) { pmap_invalidate_page(dst_pmap, addr); @@ -3254,8 +3256,6 @@ } } PT_UPDATES_FLUSH(); - if (*PMAP1) - PT_SET_VA_MA(PMAP1, 0, TRUE); sched_unpin(); vm_page_unlock_queues(); PMAP_UNLOCK(src_pmap); @@ -3742,7 +3742,7 @@ * in size, PG_M is among the least significant * 32 bits. */ - atomic_clear_int((u_int *)pte, PG_M); + PT_SET_VA_MA(pte, *pte & ~PG_M, FALSE); pmap_invalidate_page(pmap, pv->pv_va); } PMAP_UNLOCK(pmap);help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802291948.m1TJmI4a092614>
