rem: page->cache_ref = NULL;
add: page->cache = NULL;
context: vm_cache_remove_page(vm_cache_ref *cache_ref, vm_page *page){	int state;	TRACE(("vm_cache_remove_page: cache 0x%x, page 0x%x\n", cache_ref, page));	ASSERT_LOCKED_MUTEX(&cache_ref->lock);	state = disable_interrupts();	acquire_spinlock(&page_cache_table_lock);	hash_remove(page_cache_table, page);	release_spinlock(&page_cache_table_lock);	restore_interrupts(state);	if (cache_ref->cache->page_list == page) {		if (page->cache_next != NULL)			page->cache_next->cache_prev = NULL;		cache_ref->cache->page_list = page->cache_next;	} else {		if (page->cache_prev != NULL)			page->cache_prev->cache_next = page->cache_next;		if (page->cache_next != NULL)			page->cache_next->cache_prev = page->cache_prev;	}	page->cache_ref = NULL;}