Lines Matching refs:gfn

171     unsigned long gfn;  member
184 #define HASH(domain, gfn) \ argument
185 (((gfn) + (domain)) % RMAP_HASHTAB_SIZE)
205 struct list_head *bucket = b + HASH(gfn_info->domain, gfn_info->gfn); in rmap_list_to_hash_table()
277 HASH(gfn_info->domain, gfn_info->gfn) : in rmap_add()
285 rmap_retrieve(uint16_t domain_id, unsigned long gfn, in rmap_retrieve() argument
292 page->sharing->hash_table.bucket + HASH(domain_id, gfn) : in rmap_retrieve()
298 if ( (gfn_info->gfn == gfn) && (gfn_info->domain == domain_id) ) in rmap_retrieve()
369 unsigned long gfn) in mem_sharing_gfn_alloc() argument
376 gfn_info->gfn = gfn; in mem_sharing_gfn_alloc()
503 g->domain, g->gfn, mfn_x(mfn)); in audit()
507 o_mfn = get_gfn_query_unlocked(d, g->gfn, &t); in audit()
512 g->domain, g->gfn, mfn_x(mfn), mfn_x(o_mfn)); in audit()
519 g->domain, g->gfn, mfn_x(mfn), p2m_ram_shared, t); in audit()
553 int mem_sharing_notify_enomem(struct domain *d, unsigned long gfn, in mem_sharing_notify_enomem() argument
561 .u.mem_sharing.gfn = gfn, in mem_sharing_notify_enomem()
734 static int debug_gfn(struct domain *d, gfn_t gfn) in debug_gfn() argument
740 mfn = get_gfn_query(d, gfn_x(gfn), &p2mt); in debug_gfn()
743 d->domain_id, gfn_x(gfn)); in debug_gfn()
745 put_gfn(d, gfn_x(gfn)); in debug_gfn()
754 gfn_t gfn; in debug_gref() local
756 rc = mem_sharing_gref_to_gfn(d->grant_table, ref, &gfn, &status); in debug_gref()
768 return debug_gfn(d, gfn); in debug_gref()
771 static int nominate_page(struct domain *d, gfn_t gfn, in nominate_page() argument
783 mfn = get_gfn_type_access(hp2m, gfn_x(gfn), &p2mt, &p2ma, 0, NULL); in nominate_page()
797 gfn_x(gfn), mfn_x(mfn), d->domain_id); in nominate_page()
827 amfn = get_gfn_type_access(ap2m, gfn_x(gfn), &ap2mt, &ap2ma, 0, NULL); in nominate_page()
867 if ( mem_sharing_gfn_alloc(page, d, gfn_x(gfn)) == NULL ) in nominate_page()
876 BUG_ON(p2m_change_type_one(d, gfn_x(gfn), p2mt, p2m_ram_shared)); in nominate_page()
890 put_gfn(d, gfn_x(gfn)); in nominate_page()
898 gfn_info_t *gfn; in share_pages() local
972 while ( (gfn = rmap_iterate(cpage, &ri)) != NULL) in share_pages()
979 rmap_del(gfn, cpage, 0); in share_pages()
980 rmap_add(gfn, spage); in share_pages()
982 d = get_domain_by_id(gfn->domain); in share_pages()
984 BUG_ON(set_shared_p2m_entry(d, gfn->gfn, smfn)); in share_pages()
1103 unsigned long gfn, in __mem_sharing_unshare_page() argument
1112 mfn = get_gfn(d, gfn, &p2mt); in __mem_sharing_unshare_page()
1116 put_gfn(d, gfn); in __mem_sharing_unshare_page()
1124 "%lx\n", gfn); in __mem_sharing_unshare_page()
1128 gfn_info = rmap_retrieve(d->domain_id, gfn, page); in __mem_sharing_unshare_page()
1132 "%lx\n", gfn); in __mem_sharing_unshare_page()
1162 put_gfn(d, gfn); in __mem_sharing_unshare_page()
1181 put_gfn(d, gfn); in __mem_sharing_unshare_page()
1189 BUG_ON(set_shared_p2m_entry(d, gfn, page_to_mfn(page))); in __mem_sharing_unshare_page()
1195 if ( p2m_change_type_one(d, gfn, p2m_ram_shared, p2m_ram_rw) ) in __mem_sharing_unshare_page()
1198 d->domain_id, gfn); in __mem_sharing_unshare_page()
1203 set_gpfn_from_mfn(mfn_x(page_to_mfn(page)), gfn); in __mem_sharing_unshare_page()
1209 put_gfn(d, gfn); in __mem_sharing_unshare_page()
1217 unsigned long gfn, count = 0; in relinquish_shared_pages() local
1223 for ( gfn = p2m->next_shared_gfn_to_relinquish; in relinquish_shared_pages()
1224 gfn <= p2m->max_mapped_pfn; gfn++ ) in relinquish_shared_pages()
1233 mfn = p2m->get_entry(p2m, _gfn(gfn), &t, &a, 0, NULL, NULL); in relinquish_shared_pages()
1237 BUG_ON(__mem_sharing_unshare_page(d, gfn, in relinquish_shared_pages()
1242 set_rc = p2m->set_entry(p2m, _gfn(gfn), _mfn(0), PAGE_ORDER_4K, in relinquish_shared_pages()
1255 p2m->next_shared_gfn_to_relinquish = gfn + 1; in relinquish_shared_pages()
1354 rc = nominate_page(d, _gfn(mso.u.nominate.u.gfn), 0, &handle); in mem_sharing_memop()
1362 gfn_t gfn; in mem_sharing_memop() local
1368 rc = mem_sharing_gref_to_gfn(d->grant_table, gref, &gfn, NULL); in mem_sharing_memop()
1372 rc = nominate_page(d, gfn, 3, &handle); in mem_sharing_memop()
1585 rc = debug_gfn(d, _gfn(mso.u.debug.u.gfn)); in mem_sharing_memop()