FreeBSD/sys/arm/arm/pmap-v6.c
/*
 *	pmap_is_modified:
 *
 *	Return whether or not the specified physical page was modified
 *	in any physical maps.
 */
Return whether or not the specified physical page was modified
in any physical maps.
Return whether or not the specified physical page was modified in any physical maps .
boolean_t
pmap_is_modified(vm_page_t m)
{
	boolean_t rv;
	KASSERT((m->oflags & VPO_UNMANAGED) == 0,
	    ("%s: page %p is not managed", __func__, m));
	VM_OBJECT_ASSERT_WLOCKED(m->object);
	if (!vm_page_xbusied(m) && (m->aflags & PGA_WRITEABLE) == 0)
		return (FALSE);
	rw_wlock(&pvh_global_lock);
	rv = pmap_is_modified_pvh(&m->md) ||
	    ((m->flags & PG_FICTITIOUS) == 0 &&
	    pmap_is_modified_pvh(pa_to_pvh(VM_PAGE_TO_PHYS(m))));
	rw_wunlock(&pvh_global_lock);
	return (rv);
}
boolean_t pmap_is_modified ( vm_page_t m ) { boolean_t rv ; KASSERT ( ( m -> oflags & VPO_UNMANAGED ) == 0 , ( " " , __func__ , m ) ) ; VM_OBJECT_ASSERT_WLOCKED ( m -> object ) ; if ( ! vm_page_xbusied ( m ) && ( m -> aflags & PGA_WRITEABLE ) == 0 ) return ( FALSE ) ; rw_wlock ( & pvh_global_lock ) ; rv = pmap_is_modified_pvh ( & m -> md ) || ( ( m -> flags & PG_FICTITIOUS ) == 0 && pmap_is_modified_pvh ( pa_to_pvh ( VM_PAGE_TO_PHYS ( m ) ) ) ) ; rw_wunlock ( & pvh_global_lock ) ; return ( rv ) ; }
pmap_is_modified:
      Return whether or not the specified physical page was modified
      in any physical maps.
pmap_is_modified : Return whether or not the specified physical page was modified in any physical maps .
/*
	 * If the page is not exclusive busied, then PGA_WRITEABLE cannot be
	 * concurrently set while the object is locked.  Thus, if PGA_WRITEABLE
	 * is clear, no PTE2s can have PG_M set.
	 */