search for: gnttab_map_refs

Displaying 7 results from an estimated 7 matches for "gnttab_map_refs".

2012 Apr 10
7
[PATCH v3 1/2] xen: enter/exit lazy_mmu_mode around m2p_override calls
...v_bus_addr | (req->u.rw.seg[i].first_sect << 9); } + arch_leave_lazy_mmu_mode(); return ret; } diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c index b4d4eac..c7dc2d6 100644 --- a/drivers/xen/grant-table.c +++ b/drivers/xen/grant-table.c @@ -751,6 +751,8 @@ int gnttab_map_refs(struct gnttab_map_grant_ref *map_ops, if (xen_feature(XENFEAT_auto_translated_physmap)) return ret; + arch_enter_lazy_mmu_mode(); + for (i = 0; i < count; i++) { /* Do not add to override if the map failed. */ if (map_ops[i].status) @@ -769,6 +771,8 @@ int gnttab_map_refs(struct g...
2013 Nov 20
6
[PATCH] xen/gnttab: leave lazy MMU mode in the case of a m2p override failure
...msw@amazon.com> --- drivers/xen/grant-table.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c index 62ccf54..0283871 100644 --- a/drivers/xen/grant-table.c +++ b/drivers/xen/grant-table.c @@ -930,9 +930,10 @@ int gnttab_map_refs(struct gnttab_map_grant_ref *map_ops, ret = m2p_add_override(mfn, pages[i], kmap_ops ? &kmap_ops[i] : NULL); if (ret) - return ret; + goto out; } + out: if (lazy) arch_leave_lazy_mmu_mode(); @@ -969,9 +970,10 @@ int gnttab_unmap_refs(struct gnttab_unmap_grant_re...
2014 Feb 27
3
[PATCH] xen/grant-table: Refactor gnttab_[un]map_refs to avoid m2p_override
...achine(pfn, page->index); if (kmap_op != NULL) { if (!PageHighMem(page)) { struct multicall_space mcs; diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c index b84e3ab..6d325bd 100644 --- a/drivers/xen/grant-table.c +++ b/drivers/xen/grant-table.c @@ -933,9 +933,6 @@ int gnttab_map_refs(struct gnttab_map_grant_ref *map_ops, struct page **pages, unsigned int count) { int i, ret; - bool lazy = false; - pte_t *pte; - unsigned long mfn; ret = HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref, map_ops, count); if (ret) @@ -947,45 +944,7 @@ int gnttab_map_refs(struct gntt...
2014 Feb 27
3
[PATCH] xen/grant-table: Refactor gnttab_[un]map_refs to avoid m2p_override
...achine(pfn, page->index); if (kmap_op != NULL) { if (!PageHighMem(page)) { struct multicall_space mcs; diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c index b84e3ab..6d325bd 100644 --- a/drivers/xen/grant-table.c +++ b/drivers/xen/grant-table.c @@ -933,9 +933,6 @@ int gnttab_map_refs(struct gnttab_map_grant_ref *map_ops, struct page **pages, unsigned int count) { int i, ret; - bool lazy = false; - pte_t *pte; - unsigned long mfn; ret = HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref, map_ops, count); if (ret) @@ -947,45 +944,7 @@ int gnttab_map_refs(struct gntt...
2012 Mar 23
10
[hybrid] : mmap pfn space...
Hi Ian/Stefano, So, I''m back to using pfn space from maxphysaddr below. Stefano, you suggested ballooning, but that would be just too slow. There are lot of pages to be mapped, 4k at a time during guest creation, and I am afraid ballooning and hypercalls to populate EPT will be pretty slow. OTOH, there is tons of address space available between max-physaddr and max pfn in dom0. Stefano,
2012 Sep 19
27
[PATCH] Persistent grant maps for xen blk drivers
...t_map_op(&map[i], vaddr(pending_req, i), flags, - req->u.rw.seg[i].gref, - pending_req->blkif->domid); + if (new_map) { + gnttab_set_map_op(&map[segs_to_init++], addr, + flags, req->u.rw.seg[i].gref, + pending_req->blkif->domid); + } } - ret = gnttab_map_refs(map, NULL, &blkbk->pending_page(pending_req, 0), nseg); - BUG_ON(ret); + if (segs_to_init) { + ret = gnttab_map_refs(map, NULL, pages_to_gnt, segs_to_init); + BUG_ON(ret); + } /* * Now swizzle the MFN in our domain with the MFN from the other domain * so that when we access vaddr...
2013 Oct 17
42
[PATCH v8 0/19] enable swiotlb-xen on arm and arm64
...introduce xen_dma_map/unmap_page and xen_dma_sync_single_for_cpu/device; - use xen_dma_map/unmap_page, xen_dma_sync_single_for_cpu/device in swiotlb-xen; - use dev_warn instead of pr_warn; - remove the extra autotranslate check in biomerge.c; - call set_phys_to_machine after mapping grant refs in gnttab_map_refs; - call set_phys_to_machine after unmapping grant refs in gnttab_unmap_refs; - allow __set_phys_to_machine to be called for autotranslate guests on x86. Changes in v6: - check for dev->dma_mask being NULL in dma_capable; - update the comments and the hypercalls structures; - add a xen_dma_inf...