Displaying 20 results from an estimated 82 matches for "xenfeat_auto_translated_physmap".
2008 Nov 05
0
[PATCH] blktap: ensure vma->vm_mm''s mmap_sem is being held whenever it is being modified
...unsigned long kvaddr, uvaddr;
tap_blkif_t *info;
+ struct mm_struct *mm;
info = tapfds[tapidx];
@@ -1008,13 +1013,15 @@ static void fast_flush_area(pending_req_
return;
}
+ mm = info->vma ? info->vma->vm_mm : NULL;
+
if (info->vma != NULL &&
xen_feature(XENFEAT_auto_translated_physmap)) {
- down_write(&info->vma->vm_mm->mmap_sem);
+ down_write(&mm->mmap_sem);
zap_page_range(info->vma,
MMAP_VADDR(info->user_vstart, u_idx, 0),
req->nr_pages << PAGE_SHIFT, NULL);
- up_write(&info->vma->vm_mm->mmap_sem);
+...
2012 Oct 17
1
[PATCH 1/6] xen: balloon: allow PVMMU interfaces to be compiled out
...+config XEN_HAVE_PVMMU
+ bool
+
endmenu
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index db3aa34..92449a0 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -360,6 +360,7 @@ static enum bp_state increase_reservation(unsigned long nr_pages)
if (!xen_feature(XENFEAT_auto_translated_physmap))
set_phys_to_machine(pfn, frame_list[i]);
+#ifdef CONFIG_XEN_HAVE_PVMMU
/* Link back into the page tables if not highmem. */
if (xen_pv_domain() && !PageHighMem(page) &&
!xen_feature(XENFEAT_auto_translated_physmap)) {
@@ -371,6 +372,7 @@ static enum bp_state inc...
2006 Feb 26
0
Unable to build linux-2.6-xen.hg
...lude/linux/spinlock.h:50,
from include/linux/capability.h:45,
from include/linux/sched.h:7,
from arch/x86_64/kernel/asm-offsets.c:7:
include/asm/mach-xen/asm/page.h: In function `pfn_to_mfn'':
include/asm/mach-xen/asm/page.h:90: error:
`XENFEAT_auto_translated_physmap'' undeclared (first use in
this function)
include/asm/mach-xen/asm/page.h:90: error: (Each undeclared
identifier is reported only once
include/asm/mach-xen/asm/page.h:90: error: for each function
it appears in.)
include/asm/mach-xen/asm/page.h: In function
`phys_to_machine_mapping_valid...
2014 Feb 27
3
[PATCH] xen/grant-table: Refactor gnttab_[un]map_refs to avoid m2p_override
...future netback patches it just cause a lock contention, as
those pages never go to userspace. Therefore this series does the following:
- the bulk of the original function (everything after the mapping hypercall)
is moved to arch-dependent set/clear_foreign_p2m_mapping
- the "if (xen_feature(XENFEAT_auto_translated_physmap))" brach goes to ARM
- therefore the ARM function could be much smaller, the m2p_override stubs
could be also removed
- on x86 the set_phys_to_machine calls were moved up to this new funcion
from m2p_override functions
- and m2p_override functions are only called when there is a kmap_ops p...
2014 Feb 27
3
[PATCH] xen/grant-table: Refactor gnttab_[un]map_refs to avoid m2p_override
...future netback patches it just cause a lock contention, as
those pages never go to userspace. Therefore this series does the following:
- the bulk of the original function (everything after the mapping hypercall)
is moved to arch-dependent set/clear_foreign_p2m_mapping
- the "if (xen_feature(XENFEAT_auto_translated_physmap))" brach goes to ARM
- therefore the ARM function could be much smaller, the m2p_override stubs
could be also removed
- on x86 the set_phys_to_machine calls were moved up to this new funcion
from m2p_override functions
- and m2p_override functions are only called when there is a kmap_ops p...
2013 May 16
5
xc_map_foreign_bulk() memory leak in ARM version?
Hi Xen folks!
I''ve faced with one strange thing in ARM version of Xen: when I use
xc_map_foreign_bulk() to map some memory from domU to dom0, after unmap()
for previous returned address - memory is not freed at all.
Let''s look at call stack:
xc_map_foreign() ->
linux_privcmd_map_foreign_bulk() ->
{
addr = mmap(fd);
ioctl(fd, IOCTL_PRIVCMD_MMAPBATCH_V2 );
2012 Oct 04
49
[RFC 00/14] arm: implement ballooning and privcmd foreign mappings based on x86 PVH
This series implements ballooning for Xen on ARM and builds and Mukesh''s
PVH privcmd stuff to implement foreign page mapping on ARM, replacing
the old "HACK: initial (very hacky) XENMAPSPACE_gmfn_foreign" patch.
The baseline is a bit complex, it is basically Stefano''s xenarm-forlinus
branch (commit bbd6eb29214e) merged with Konrad''s linux-next-pvh branch
2012 Apr 10
7
[PATCH v3 1/2] xen: enter/exit lazy_mmu_mode around m2p_override calls
..._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 gnttab_map_grant_ref *map_ops,
return ret;
}
+ arch_leave_lazy_mmu_mode();
+
re...
2007 Jan 24
3
netfront pv driver building
...oesn''t
seem likely that mainline would want to see this get exported (after all, the
general assumption is that the page table handling inline functions and macros
are supposed to be used only by the memory management code).
Additionally, both uses are inside a conditional depending upon
!XENFEAT_auto_translated_physmap, which hence can''t ever be true if this
code is being built as pv driver. Wouldn''t it hence make sense to #ifdef these
code blocks, or to enhance xen/features.h so that checks for those features
that are always on in hvm and return a constant 1 rather than using the
xen_features a...
2013 Aug 27
1
[PATCH] xen/balloon: don't set P2M entry for auto translated guest
...reservation(unsigned long nr_pages, gfp_t gfp)
/* No more mappings: invalidate P2M and add to balloon. */
for (i = 0; i < nr_pages; i++) {
pfn = mfn_to_pfn(frame_list[i]);
- __set_phys_to_machine(pfn,
- pfn_to_mfn(page_to_pfn(__get_cpu_var(balloon_scratch_page))));
+ if (!xen_feature(XENFEAT_auto_translated_physmap)) {
+ unsigned long p;
+ struct page *pg;
+ pg = __get_cpu_var(balloon_scratch_page);
+ p = page_to_pfn(pg);
+ __set_phys_to_machine(pfn, pfn_to_mfn(p));
+ }
balloon_append(pfn_to_page(pfn));
}
--
1.7.10.4
2007 Nov 28
20
Page tables in Xen
Hi,
I have a question about memory page tables in Xen. As far as I
understood, every modification
to page table will go through Xen(hypervisor). Is it so that all page
tables are actually allocated
in Xen(hypervisor) instead of guest OS(domain)? Also, is it the case
that Xen(hypervisor) needs to
maintain a page table for each process running in every domain?
Thanks
Haifeng
2013 Sep 19
3
[PATCH] xen/balloon: don't alloc page while non-preemptible
...G_ON(ret);
}
#endif
- }
-
- /* Ensure that ballooned highmem pages don''t have kmaps. */
- kmap_flush_unused();
- flush_tlb_all();
-
- /* No more mappings: invalidate P2M and add to balloon. */
- for (i = 0; i < nr_pages; i++) {
- pfn = mfn_to_pfn(frame_list[i]);
if (!xen_feature(XENFEAT_auto_translated_physmap)) {
unsigned long p;
p = page_to_pfn(scratch_page);
__set_phys_to_machine(pfn, pfn_to_mfn(p));
}
+ put_balloon_scratch_page();
+
balloon_append(pfn_to_page(pfn));
}
- put_balloon_scratch_page();
+ /* Ensure that ballooned highmem pages don''t have kmaps. */
+ kmap_flu...
2008 May 30
2
relationship of the auto_translated_physmap feature and the shadow_mode_translate mode of domain
2013 Oct 17
42
[PATCH v8 0/19] enable swiotlb-xen on arm and arm64
Hi all,
this patch series enables xen-swiotlb on arm and arm64.
It has been heavily reworked compared to the previous versions in order
to achieve better performances and to address review comments.
We are not using dma_mark_clean to ensure coherency anymore. We call the
platform implementation of map_page and unmap_page.
We assume that dom0 has been mapped 1:1 (physical address ==
machine
2006 Aug 30
0
[patch] phys_to_machine_mapping alignment on x86_64
...el/setup-xen.c
--- a/linux-2.6-xen-sparse/arch/x86_64/kernel/setup-xen.c Wed
Aug 30 09:47:24 2006 +0100
+++ b/linux-2.6-xen-sparse/arch/x86_64/kernel/setup-xen.c Wed
Aug 30 20:31:42 2006 +0900
@@ -846,7 +846,7 @@ void __init setup_arch(char **cmdline_p)
if (!xen_feature(XENFEAT_auto_translated_physmap)) {
/* Make sure we have a large enough P->M table. */
- phys_to_machine_mapping = alloc_bootmem(
+ phys_to_machine_mapping = alloc_bootmem_pages(
end_pfn * sizeof(unsigned long));...
2014 Mar 10
0
[PATCH] xen/grant-table: Refactor gnttab_[un]map_refs to avoid m2p_override
...es it just cause a lock contention, as
> those pages never go to userspace. Therefore this series does the following:
> - the bulk of the original function (everything after the mapping hypercall)
> is moved to arch-dependent set/clear_foreign_p2m_mapping
> - the "if (xen_feature(XENFEAT_auto_translated_physmap))" brach goes to ARM
> - therefore the ARM function could be much smaller, the m2p_override stubs
> could be also removed
> - on x86 the set_phys_to_machine calls were moved up to this new funcion
> from m2p_override functions
> - and m2p_override functions are only called w...
2008 Mar 28
12
[PATCH 00/12] Xen arch portability patches (take 4)
Hi Jeremy.
According to your suggestion, I recreated patches for Ingo's x86.git tree.
And this patch series includes Eddie's modification.
Please review and forward them. (or push back to respin.)
Recently the xen-ia64 community started to make efforts to merge
xen/ia64 Linux to upstream. The first step is to merge up domU portion.
This patchset is preliminary for xen/ia64 domU linux
2008 Mar 28
12
[PATCH 00/12] Xen arch portability patches (take 4)
Hi Jeremy.
According to your suggestion, I recreated patches for Ingo's x86.git tree.
And this patch series includes Eddie's modification.
Please review and forward them. (or push back to respin.)
Recently the xen-ia64 community started to make efforts to merge
xen/ia64 Linux to upstream. The first step is to merge up domU portion.
This patchset is preliminary for xen/ia64 domU linux
2011 Oct 05
0
[PATCH 3/8] xen: netfront: convert to SKB paged frag API.
...;
skb->data_len = rx->status - len;
} else {
- skb_shinfo(skb)->frags[0].page = NULL;
+ __skb_fill_page_desc(skb, 0, NULL, 0, 0);
skb_shinfo(skb)->nr_frags = 0;
}
@@ -1143,7 +1143,8 @@ static void xennet_release_rx_bufs(struct netfront_info *np)
if (!xen_feature(XENFEAT_auto_translated_physmap)) {
/* Remap the page. */
- struct page *page = skb_shinfo(skb)->frags[0].page;
+ const struct page *page =
+ skb_frag_page(&skb_shinfo(skb)->frags[0]);
unsigned long pfn = page_to_pfn(page);
void *vaddr = page_address(page);
@@ -1650,6 +1651,8 @@ static int xennet_co...
2007 Apr 28
4
confused about the balloon code
hi
I try to understand the code of balloon ,and got confused about the
following parts of code:
static int decrease_reservation(unsigned long nr_pages)
{
....
if (!PageHighMem(page)) {
v = phys_to_virt(pfn << PAGE_SHIFT);
scrub_pages(v, 1);
ret = HYPERVISOR_update_va_mapping(
(unsigned long)v, __pte_ma(0), 0);