/xen-4.10.0-shim-comet/tools/xenpaging/ |
A D | policy_default.c | 139 void policy_notify_paged_out(unsigned long gfn) in policy_notify_paged_out() argument 141 set_bit(gfn, bitmap); in policy_notify_paged_out() 142 clear_bit(gfn, unconsumed); in policy_notify_paged_out() 153 mru[i_mru & (mru_size - 1)] = gfn; in policy_handle_paged_in() 155 clear_bit(gfn, bitmap); in policy_handle_paged_in() 162 void policy_notify_paged_in(unsigned long gfn) in policy_notify_paged_in() argument 164 policy_handle_paged_in(gfn, 1); in policy_notify_paged_in() 167 void policy_notify_paged_in_nomru(unsigned long gfn) in policy_notify_paged_in_nomru() argument 169 policy_handle_paged_in(gfn, 0); in policy_notify_paged_in_nomru() 172 void policy_notify_dropped(unsigned long gfn) in policy_notify_dropped() argument [all …]
|
A D | xenpaging.c | 599 xen_pfn_t victim = gfn; in xenpaging_evict_page() 620 PERROR("Error mapping page %lx", gfn); in xenpaging_evict_page() 629 PERROR("Error copying page %lx", gfn); in xenpaging_evict_page() 654 policy_notify_paged_out(gfn); in xenpaging_evict_page() 657 paging->slot_to_gfn[slot] = gfn; in xenpaging_evict_page() 658 paging->gfn_to_slot[gfn] = slot; in xenpaging_evict_page() 764 unsigned long gfn; in evict_victim() local 770 gfn = policy_choose_victim(paging); in evict_victim() 771 if ( gfn == INVALID_MFN ) in evict_victim() 948 rsp.u.mem_paging.gfn = req.u.mem_paging.gfn; in main() [all …]
|
A D | policy.h | 32 void policy_notify_paged_out(unsigned long gfn); 33 void policy_notify_paged_in(unsigned long gfn); 34 void policy_notify_paged_in_nomru(unsigned long gfn); 35 void policy_notify_dropped(unsigned long gfn);
|
/xen-4.10.0-shim-comet/tools/libxc/ |
A D | xc_mem_paging.c | 26 unsigned int op, uint64_t gfn, void *buffer) in xc_mem_paging_memop() argument 34 mpo.gfn = gfn; in xc_mem_paging_memop() 71 int xc_mem_paging_nominate(xc_interface *xch, uint32_t domain_id, uint64_t gfn) in xc_mem_paging_nominate() argument 75 gfn, NULL); in xc_mem_paging_nominate() 78 int xc_mem_paging_evict(xc_interface *xch, uint32_t domain_id, uint64_t gfn) in xc_mem_paging_evict() argument 82 gfn, NULL); in xc_mem_paging_evict() 85 int xc_mem_paging_prep(xc_interface *xch, uint32_t domain_id, uint64_t gfn) in xc_mem_paging_prep() argument 89 gfn, NULL); in xc_mem_paging_prep() 93 uint64_t gfn, void *buffer) in xc_mem_paging_load() argument 110 gfn, buffer); in xc_mem_paging_load()
|
/xen-4.10.0-shim-comet/xen/arch/x86/mm/ |
A D | p2m-pt.c | 373 p2m_is_logdirty_range(p2m, gfn & mask, gfn | ~mask) >= 0 ) in do_recalc() 425 nt = p2m_recalc_type_range(true, ot, p2m, gfn & mask, gfn | ~mask); in do_recalc() 488 unsigned long gfn = gfn_x(gfn_); in p2m_pt_set_entry() local 515 u64 gfn, mfn; in p2m_pt_set_entry() member 520 t.gfn = gfn; in p2m_pt_set_entry() 537 rc = do_recalc(p2m, gfn); in p2m_pt_set_entry() 740 unsigned long gfn = gfn_x(gfn_); in p2m_pt_get_entry() local 761 if ( gfn > p2m->max_mapped_pfn ) in p2m_pt_get_entry() 907 unsigned long gfn = 0; in p2m_pt_change_entry_type_global() local 980 unsigned long mfn, gfn, m2pfn; in p2m_pt_audit_p2m() local [all …]
|
A D | mem_access.c | 62 if ( gfn_eq(gfn, INVALID_GFN) ) in _p2m_get_mem_access() 68 gfn_lock(p2m, gfn, 0); in _p2m_get_mem_access() 70 gfn_unlock(p2m, gfn, 0); in _p2m_get_mem_access() 145 gfn_t gfn = gaddr_to_gfn(gpa); in p2m_mem_access_check() local 162 gfn_lock(p2m, gfn, 0); in p2m_mem_access_check() 169 gfn_unlock(p2m, gfn, 0); in p2m_mem_access_check() 179 gfn_unlock(p2m, gfn, 0); in p2m_mem_access_check() 195 gfn_lock(p2m, gfn, 0); in p2m_mem_access_check() 206 gfn_unlock(p2m, gfn, 0); in p2m_mem_access_check() 218 req->u.mem_access.gfn = gfn_x(gfn); in p2m_mem_access_check() [all …]
|
A D | p2m.c | 566 gfn = gfn_add(gfn, 1ul << order); in p2m_set_entry() 959 gfn_lock(p2m, gfn, 0); in p2m_change_type_one() 989 if ( !gfn ) in p2m_change_type_range() 992 gfn = end; in p2m_change_type_range() 996 if ( gfn < end ) in p2m_change_type_range() 1063 gfn++; in p2m_finish_type_change() 1170 gfn_lock(p2m, gfn, 0); in set_identity_p2m_entry() 1470 .u.mem_paging.gfn = gfn in p2m_mem_paging_drop_page() 1693 gfn_t gfn = _gfn(rsp->u.mem_access.gfn); in p2m_mem_paging_resume() local 2234 gfn = _gfn(gfn_x(gfn) & mask); in p2m_altp2m_lazy_copy() [all …]
|
A D | mem_sharing.c | 171 unsigned long gfn; member 298 if ( (gfn_info->gfn == gfn) && (gfn_info->domain == domain_id) ) in rmap_retrieve() 376 gfn_info->gfn = gfn; in mem_sharing_gfn_alloc() 561 .u.mem_sharing.gfn = gfn, in mem_sharing_notify_enomem() 754 gfn_t gfn; in debug_gref() local 898 gfn_info_t *gfn; in share_pages() local 984 BUG_ON(set_shared_p2m_entry(d, gfn->gfn, smfn)); in share_pages() 1116 put_gfn(d, gfn); in __mem_sharing_unshare_page() 1209 put_gfn(d, gfn); in __mem_sharing_unshare_page() 1224 gfn <= p2m->max_mapped_pfn; gfn++ ) in relinquish_shared_pages() [all …]
|
A D | p2m-pod.c | 522 gfn_lock(p2m, gfn, order); in p2m_pod_decrease_reservation() 838 u64 gfn, mfn; in p2m_pod_zero_check_superpage() member 842 t.gfn = gfn_x(gfn); in p2m_pod_zero_check_superpage() 1112 gfn = _gfn(gfn_x(gfn) & ~POD_LAST_SUPERPAGE); in pod_eager_reclaim() 1118 for ( x = 0; x < SUPERPAGE_PAGES; ++x, gfn = gfn_add(gfn, 1) ) in pod_eager_reclaim() 1235 u64 gfn, mfn; in p2m_pod_demand_populate() member 1239 t.gfn = gfn_x(gfn); in p2m_pod_demand_populate() 1278 u64 gfn; in p2m_pod_demand_populate() member 1282 t.gfn = gfn_x(gfn); in p2m_pod_demand_populate() 1297 gfn_t gfn = _gfn(gfn_l); in guest_physmap_mark_populate_on_demand() local [all …]
|
A D | p2m-ept.c | 682 unsigned long gfn = gfn_x(gfn_); in ept_set_entry() local 683 unsigned long gfn_remainder = gfn; in ept_set_entry() 685 unsigned long fn_mask = !mfn_eq(mfn, INVALID_MFN) ? (gfn | mfn_x(mfn)) : gfn; in ept_set_entry() 712 ret = resolve_misconfig(p2m, gfn); in ept_set_entry() 920 unsigned long gfn = gfn_x(gfn_); in ept_get_entry() local 921 unsigned long gfn_remainder = gfn; in ept_get_entry() 936 if ( gfn > p2m->max_mapped_pfn ) in ept_get_entry() 1038 if ( gfn > p2m->max_mapped_pfn ) in ept_walk_table() 1310 unsigned long gfn, gfn_remainder; in ept_dump_p2m_table() local 1324 for ( gfn = 0; gfn <= p2m->max_mapped_pfn; gfn += 1UL << order ) in ept_dump_p2m_table() [all …]
|
A D | mem_paging.c | 53 rc = p2m_mem_paging_nominate(d, mpo.gfn); in mem_paging_memop() 57 rc = p2m_mem_paging_evict(d, mpo.gfn); in mem_paging_memop() 61 rc = p2m_mem_paging_prep(d, mpo.gfn, mpo.buffer); in mem_paging_memop()
|
/xen-4.10.0-shim-comet/xen/include/asm-x86/ |
A D | p2m.h | 238 gfn_t gfn, 244 gfn_t gfn, 251 unsigned long gfn); 444 void __put_gfn(struct p2m_domain *p2m, unsigned long gfn); 446 #define put_gfn(d, gfn) __put_gfn(p2m_get_hostp2m((d)), (gfn)) argument 490 page = __mfn_to_page(gfn); in get_page_from_gfn() 528 rval-> dest ## _gfn = source ## gfn; \ in get_two_gfns() 574 int guest_physmap_add_entry(struct domain *d, gfn_t gfn, 580 gfn_t gfn, in guest_physmap_add_page() argument 765 unsigned long gfn) in p2m_recalc_type() argument [all …]
|
A D | guest_pt.h | 36 gfn_to_paddr(gfn_t gfn) in gfn_to_paddr() argument 38 return ((paddr_t)gfn_x(gfn)) << PAGE_SHIFT; in gfn_to_paddr() 93 { return (guest_l1e_t) { (gfn_x(gfn) << PAGE_SHIFT) | flags }; } in guest_l1e_from_gfn() 95 { return (guest_l2e_t) { (gfn_x(gfn) << PAGE_SHIFT) | flags }; } in guest_l2e_from_gfn() 180 { return l1e_from_pfn(gfn_x(gfn), flags); } in guest_l1e_from_gfn() 182 { return l2e_from_pfn(gfn_x(gfn), flags); } in guest_l2e_from_gfn() 184 { return l3e_from_pfn(gfn_x(gfn), flags); } in guest_l3e_from_gfn() 187 { return l4e_from_pfn(gfn_x(gfn), flags); } in guest_l4e_from_gfn() 378 gfn_t gfn = guest_walk_to_gfn(gw); in guest_walk_to_gpa() local 380 if ( gfn_eq(gfn, INVALID_GFN) ) in guest_walk_to_gpa() [all …]
|
A D | mem_sharing.h | 63 unsigned long gfn, 66 unsigned long gfn, in mem_sharing_unshare_page() argument 69 int rc = __mem_sharing_unshare_page(d, gfn, flags); in mem_sharing_unshare_page() 86 int mem_sharing_notify_enomem(struct domain *d, unsigned long gfn,
|
/xen-4.10.0-shim-comet/tools/tests/mem-sharing/ |
A D | memshrtool.c | 98 unsigned long gfn; in main() local 105 gfn = strtol(argv[3], NULL, 0); in main() 112 unsigned long gfn; in main() local 122 gfn = strtol(argv[3], NULL, 0); in main() 132 unsigned long gfn; in main() local 139 gfn = strtol(argv[3], NULL, 0); in main() 148 unsigned long gfn; in main() local 157 gfn = strtol(argv[3], NULL, 0); in main() 166 unsigned long gfn; in main() local 172 gfn = strtol(argv[3], NULL, 0); in main() [all …]
|
/xen-4.10.0-shim-comet/xen/include/asm-arm/ |
A D | grant_table.h | 12 gfn_t *gfn; member 45 (gt)->arch.gfn = xzalloc_array(gfn_t, (gt)->max_grant_frames); \ 46 ( (gt)->arch.gfn ? 0 : -ENOMEM ); \ 51 xfree((gt)->arch.gfn); \ 52 (gt)->arch.gfn = NULL; \ 55 #define gnttab_set_frame_gfn(gt, idx, gfn) \ argument 57 (gt)->arch.gfn[idx] = gfn; \ 69 (i < (t)->max_grant_frames))? 0 : gfn_x((t)->arch.gfn[i]))
|
A D | p2m.h | 208 mfn_t p2m_lookup(struct domain *d, gfn_t gfn, p2m_type_t *t); 214 mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn, 237 gfn_t gfn, 243 gfn_t gfn, 248 gfn_t gfn, 253 gfn_t gfn, 260 gfn_t gfn, in guest_physmap_add_page() argument 267 mfn_t gfn_to_mfn(struct domain *d, gfn_t gfn); 279 unsigned long mfn = mfn_x(p2m_lookup(d, _gfn(gfn), &p2mt)); in get_page_from_gfn() 344 gfn = _gfn(gfn_x(gfn) & ~((1UL << order) - 1)); in gfn_next_boundary() [all …]
|
/xen-4.10.0-shim-comet/xen/arch/arm/ |
A D | mem_access.c | 59 if ( gfn_eq(gfn, INVALID_GFN) ) in __p2m_get_mem_access() 107 gfn_t gfn; in p2m_mem_access_check_and_get_page() local 145 gfn = gaddr_to_gfn(ipa); in p2m_mem_access_check_and_get_page() 151 rc = __p2m_get_mem_access(v->domain, gfn, &xma); in p2m_mem_access_check_and_get_page() 200 mfn = p2m_get_entry(p2m, gfn, &t, NULL, NULL); in p2m_mem_access_check_and_get_page() 320 req->u.mem_access.gfn = gpa >> PAGE_SHIFT; in p2m_mem_access_check() 392 if ( gfn_eq(gfn, INVALID_GFN) ) in p2m_set_mem_access() 400 for ( gfn = gfn_add(gfn, start); nr > start; in p2m_set_mem_access() 401 gfn = gfn_next_boundary(gfn, order) ) in p2m_set_mem_access() 415 start += gfn_x(gfn_next_boundary(gfn, order)) - gfn_x(gfn); in p2m_set_mem_access() [all …]
|
A D | p2m.c | 189 gfn_t gfn) in p2m_get_root_pointer() argument 297 paddr_t addr = gfn_to_gaddr(gfn); in p2m_get_entry() 333 table = p2m_get_root_pointer(p2m, gfn); in p2m_get_entry() 383 ret = p2m_get_entry(p2m, gfn, t, NULL, NULL); in p2m_lookup() 1057 gfn_t gfn, in map_regions_p2mt() argument 1066 gfn_t gfn, in unmap_regions_p2mt() argument 1070 return p2m_remove_mapping(d, gfn, nr, mfn); in unmap_regions_p2mt() 1090 gfn_t gfn, in map_dev_mmio_region() argument 1111 gfn_t gfn, in guest_physmap_add_entry() argument 1405 mfn_t gfn_to_mfn(struct domain *d, gfn_t gfn) in gfn_to_mfn() argument [all …]
|
/xen-4.10.0-shim-comet/xen/drivers/passthrough/amd/ |
A D | iommu_map.c | 480 unsigned long mfn, gfn; in iommu_pde_from_gfn() local 505 gfn += page_sz; in iommu_pde_from_gfn() 557 if ( gfn == gfn_x(INVALID_GFN) ) in update_paging_mode() 663 if ( update_paging_mode(d, gfn) ) in amd_iommu_map_page() 693 amd_iommu_flush_pages(d, gfn, 0); in amd_iommu_map_page() 745 int rc = update_paging_mode(d, gfn); in amd_iommu_unmap_page() 766 clear_iommu_pte_present(pt_mfn[1], gfn); in amd_iommu_unmap_page() 769 amd_iommu_flush_pages(d, gfn, 0); in amd_iommu_unmap_page() 779 unsigned long gfn; in amd_iommu_reserve_domain_unity_map() local 787 gfn = phys_addr >> PAGE_SHIFT; in amd_iommu_reserve_domain_unity_map() [all …]
|
/xen-4.10.0-shim-comet/xen/arch/x86/hvm/ |
A D | grant_table.c | 54 unsigned long gfn = (unsigned long)(addr >> PAGE_SHIFT); in replace_grant_p2m_mapping() local 62 old_mfn = get_gfn(d, gfn, &type); in replace_grant_p2m_mapping() 65 put_gfn(d, gfn); in replace_grant_p2m_mapping() 71 if ( guest_physmap_remove_page(d, _gfn(gfn), _mfn(frame), PAGE_ORDER_4K) ) in replace_grant_p2m_mapping() 73 put_gfn(d, gfn); in replace_grant_p2m_mapping() 77 put_gfn(d, gfn); in replace_grant_p2m_mapping()
|
/xen-4.10.0-shim-comet/xen/arch/x86/ |
A D | debug.c | 46 dbg_hvm_va2mfn(dbgva_t vaddr, struct domain *dp, int toaddr, gfn_t *gfn) in dbg_hvm_va2mfn() argument 54 *gfn = _gfn(paging_gva_to_gfn(dp->vcpu[0], vaddr, &pfec)); in dbg_hvm_va2mfn() 55 if ( gfn_eq(*gfn, INVALID_GFN) ) in dbg_hvm_va2mfn() 61 mfn = get_gfn(dp, gfn_x(*gfn), &gfntype); in dbg_hvm_va2mfn() 73 put_gfn(dp, gfn_x(*gfn)); in dbg_hvm_va2mfn() 74 *gfn = INVALID_GFN; in dbg_hvm_va2mfn() 166 gfn_t gfn = INVALID_GFN; in dbg_rw_guest_mem() local 172 ? dbg_hvm_va2mfn(addr, dp, toaddr, &gfn) in dbg_rw_guest_mem() 191 if ( !gfn_eq(gfn, INVALID_GFN) ) in dbg_rw_guest_mem() 192 put_gfn(dp, gfn_x(gfn)); in dbg_rw_guest_mem()
|
/xen-4.10.0-shim-comet/xen/drivers/passthrough/x86/ |
A D | iommu.c | 62 unsigned long gfn = mfn_to_gmfn(d, mfn); in arch_iommu_populate_page_table() local 64 if ( gfn != gfn_x(INVALID_GFN) ) in arch_iommu_populate_page_table() 66 ASSERT(!(gfn >> DEFAULT_DOMAIN_ADDRESS_WIDTH)); in arch_iommu_populate_page_table() 67 BUG_ON(SHARED_M2P(gfn)); in arch_iommu_populate_page_table() 68 rc = hd->platform_ops->map_page(d, gfn, mfn, in arch_iommu_populate_page_table()
|
/xen-4.10.0-shim-comet/xen/drivers/passthrough/ |
A D | iommu.c | 188 unsigned long gfn = mfn_to_gmfn(d, mfn); in iommu_hwdom_init() local 197 ret = hd->platform_ops->map_page(d, gfn, mfn, mapping); in iommu_hwdom_init() 258 int iommu_map_page(struct domain *d, unsigned long gfn, unsigned long mfn, in iommu_map_page() argument 267 rc = hd->platform_ops->map_page(d, gfn, mfn, flags); in iommu_map_page() 273 d->domain_id, gfn, mfn, rc); in iommu_map_page() 282 int iommu_unmap_page(struct domain *d, unsigned long gfn) in iommu_unmap_page() argument 290 rc = hd->platform_ops->unmap_page(d, gfn); in iommu_unmap_page() 296 d->domain_id, gfn, rc); in iommu_unmap_page() 322 int iommu_iotlb_flush(struct domain *d, unsigned long gfn, in iommu_iotlb_flush() argument 331 rc = hd->platform_ops->iotlb_flush(d, gfn, page_count); in iommu_iotlb_flush() [all …]
|
/xen-4.10.0-shim-comet/xen/include/xen/ |
A D | iommu.h | 63 int __must_check iommu_map_page(struct domain *d, unsigned long gfn, 65 int __must_check iommu_unmap_page(struct domain *d, unsigned long gfn); 155 int __must_check (*map_page)(struct domain *d, unsigned long gfn, 157 int __must_check (*unmap_page)(struct domain *d, unsigned long gfn); 168 int __must_check (*iotlb_flush)(struct domain *d, unsigned long gfn, 190 int __must_check iommu_iotlb_flush(struct domain *d, unsigned long gfn,
|