Displaying 20 results from an estimated 108 matches for "domid_self".
2010 Aug 03
1
oops when access xenstore in hvm guest
...G_SIZE]; /* Requests to xenstore daemon. */
char rsp[XENSTORE_RING_SIZE]; /* Replies and async watch events. */
XENSTORE_RING_IDX req_cons, req_prod;
XENSTORE_RING_IDX rsp_cons, rsp_prod;
};
struct xenstore_domain_interface *xenstore;
xen_hvm_param_t param;
param.domid = DOMID_SELF;
param.index = HVM_PARAM_STORE_PFN;
if ( hypercall_hvm_op(HVMOP_get_param, ¶m) )
BUG();
xenstore = (void *) (unsigned long) (param.value << PAGE_SHIFT);
param.domid = DOMID_SELF;
param.index = HVM_PARAM_STORE_EVTCHN;
if ( hypercall_hvm_op(HVMOP_get_para...
2008 Jan 18
0
[PATCH] minios: support COW for a zero page
...xtras/mini-os/include/ia64/arch_mm.h Fri Jan 18 15:55:13 2008 +0000
+++ b/extras/mini-os/include/ia64/arch_mm.h Fri Jan 18 16:02:32 2008 +0000
@@ -37,5 +37,7 @@
#define STACK_SIZE (PAGE_SIZE * (1 << STACK_SIZE_PAGE_ORDER))
#define map_frames(f, n) map_frames_ex(f, n, 1, 0, 1, DOMID_SELF, 0, 0)
+/* TODO */
+#define map_zero(n, a) map_frames_ex(NULL, n, 0, 0, a, DOMID_SELF, 0, 0)
#endif /* __ARCH_MM_H__ */
diff -r 27ad7ed41be2 extras/mini-os/include/types.h
--- a/extras/mini-os/include/types.h Fri Jan 18 15:55:13 2008 +0000
+++ b/extras/mini-os/include/types.h Fri Jan 18 16:02:32...
2009 Jan 09
5
[PATCH] Enable PCI passthrough with stub domain.
...omain;
+ }
}
/* Verify or get vector. */
@@ -161,8 +166,8 @@ static int physdev_unmap_pirq(struct phy
struct domain *d;
int ret;
- if ( !IS_PRIV(current->domain) )
- return -EPERM;
+ if ( !unmap )
+ return -EINVAL;
if ( unmap->domid == DOMID_SELF )
d = rcu_lock_domain(current->domain);
@@ -171,6 +176,14 @@ static int physdev_unmap_pirq(struct phy
if ( d == NULL )
return -ESRCH;
+ else
+ {
+ if ( !IS_PRIV_FOR(current->domain, d) )
+ {
+ rcu_unlock_domain(d);
+ return -E...
2010 Aug 05
1
How can i get VA from a pfn in HVM guest
Hi,
After i get the pfn in a hvm guest using following code, how can i use it? Simply using __va() seems wrong, for the ( param.value << PAGE_SHIFT ) is feffc000 in my test module, using __va() will overflow.
xen_hvm_param_t param;
param.domid = DOMID_SELF;
param.index = HVM_PARAM_STORE_PFN;
hypercall_hvm_op(HVMOP_get_param, ¶m);
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
2012 Mar 30
1
cannot use xensocket on xen4.0.1
...st/recieve 47 ,
The error message showes like this:
server_allocate_event_channel: line 396: Unable to allocate event channel
Exiting (ERROR) server_allocate_event_channel
Exiting (ERROR) xen_bind
and I try to see what''s wrong in server_allocate_event_channel, finding the macro DOMID_SELF returns other number instead of 46.
Even I manully replace
op.u.alloc_unbound.dom = DOMID_SELF
with
op.u.alloc_unbound.dom = 46
but it still failes, showing the same error message.
I really need help with this problem. Or are there some examples or simple methods of how to communicate betwee...
2007 Oct 12
10
[PATCH 00/10] REVIEW: Xen patches for 2.6.24
This is my current set of updates to Xen for 2.6.24. This is largely
a bugfix set, and a couple of them are also relevent to 2.6.23.
These are in the pre-x86 merge form; I'll update them once the merge
goes into git.
Quick overview:
- remove some dead code in arch/i386/mm/init.c
- clean up some duplicate includes
- when sending an IPI, yield the vcpu if the destination doesn't have
2007 Oct 12
10
[PATCH 00/10] REVIEW: Xen patches for 2.6.24
This is my current set of updates to Xen for 2.6.24. This is largely
a bugfix set, and a couple of them are also relevent to 2.6.23.
These are in the pre-x86 merge form; I'll update them once the merge
goes into git.
Quick overview:
- remove some dead code in arch/i386/mm/init.c
- clean up some duplicate includes
- when sending an IPI, yield the vcpu if the destination doesn't have
2007 Oct 12
10
[PATCH 00/10] REVIEW: Xen patches for 2.6.24
This is my current set of updates to Xen for 2.6.24. This is largely
a bugfix set, and a couple of them are also relevent to 2.6.23.
These are in the pre-x86 merge form; I'll update them once the merge
goes into git.
Quick overview:
- remove some dead code in arch/i386/mm/init.c
- clean up some duplicate includes
- when sending an IPI, yield the vcpu if the destination doesn't have
2008 Oct 27
0
[PATCH 4/4] linux/i386: utilize hypervisor highmem handling helpers
...id clear_highpage(struct page *page)
+{
+ void *kaddr;
+
+ if (likely(xen_feature(XENFEAT_highmem_assist))
+ && PageHighMem(page)) {
+ struct mmuext_op meo;
+
+ meo.cmd = MMUEXT_CLEAR_PAGE;
+ meo.arg1.mfn = pfn_to_mfn(page_to_pfn(page));
+ if (HYPERVISOR_mmuext_op(&meo, 1, NULL, DOMID_SELF) == 0)
+ return;
+ }
+
+ kaddr = kmap_atomic(page, KM_USER0);
+ clear_page(kaddr);
+ kunmap_atomic(kaddr, KM_USER0);
+}
+
+void copy_highpage(struct page *to, struct page *from)
+{
+ void *vfrom, *vto;
+
+ if (likely(xen_feature(XENFEAT_highmem_assist))
+ && (PageHighMem(from) || Page...
2007 Jan 10
1
[PATCH] linux/i386: allow CONFIG_HIGHPTE on i386 (take 2)
...GHPTE
pte = alloc_pages(GFP_KERNEL|__GFP_HIGHMEM|__GFP_REPEAT|__GFP_ZERO, 0);
+ if (pte && PageHighMem(pte)) {
+ struct mmuext_op op;
+
+ kmap_flush_unused();
+ op.cmd = MMUEXT_PIN_L1_TABLE;
+ op.arg1.mfn = pfn_to_mfn(page_to_pfn(pte));
+ BUG_ON(HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF) < 0);
+ }
#else
pte = alloc_pages(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO, 0);
+#endif
if (pte) {
SetPageForeign(pte, pte_free);
set_page_count(pte, 1);
}
-#endif
return pte;
}
void pte_free(struct page *pte)
{
- unsigned long va = (unsigned long)__va(page_to_pfn(pte)<<PAGE...
2011 Sep 20
17
Sched_op hypercall small questions
Greetings all.
Some small question regarding schedule poll operation hypercall.
1. struct sched_poll poll.timeout is measured in what unit of time?
Secs, ms? ns?
2. After issuing the hypercall_sched_op(SCHEDOP_poll, &poll); if no
timeout is used in poll struct how long will I yield the CPU?
3. If I issue the hypercall and the event never comes is it possible
to to yield the CPU for ever?
2007 Nov 15
0
[patch 12/19] xen: deal with stale cr3 values when unpinning pagetables
..._NEW_BASEPTR;
+ op->arg1.mfn = mfn;
- {
- struct mmuext_op *op;
- struct multicall_space mcs = xen_mc_entry(sizeof(*op));
- unsigned long mfn = pfn_to_mfn(PFN_DOWN(cr3));
-
- op = mcs.args;
- op->cmd = MMUEXT_NEW_BASEPTR;
- op->arg1.mfn = mfn;
+ MULTI_mmuext_op(mcs.mc, op, 1, NULL, DOMID_SELF);
- MULTI_mmuext_op(mcs.mc, op, 1, NULL, DOMID_SELF);
+ /* Update xen_update_cr3 once the batch has actually
+ been submitted. */
+ xen_mc_callback(set_current_cr3, (void *)cr3);
- xen_mc_issue(PARAVIRT_LAZY_CPU);
- }
+ xen_mc_issue(PARAVIRT_LAZY_CPU); /* interrupts restored */
}
/* E...
2007 Nov 15
0
[patch 12/19] xen: deal with stale cr3 values when unpinning pagetables
..._NEW_BASEPTR;
+ op->arg1.mfn = mfn;
- {
- struct mmuext_op *op;
- struct multicall_space mcs = xen_mc_entry(sizeof(*op));
- unsigned long mfn = pfn_to_mfn(PFN_DOWN(cr3));
-
- op = mcs.args;
- op->cmd = MMUEXT_NEW_BASEPTR;
- op->arg1.mfn = mfn;
+ MULTI_mmuext_op(mcs.mc, op, 1, NULL, DOMID_SELF);
- MULTI_mmuext_op(mcs.mc, op, 1, NULL, DOMID_SELF);
+ /* Update xen_update_cr3 once the batch has actually
+ been submitted. */
+ xen_mc_callback(set_current_cr3, (void *)cr3);
- xen_mc_issue(PARAVIRT_LAZY_CPU);
- }
+ xen_mc_issue(PARAVIRT_LAZY_CPU); /* interrupts restored */
}
/* E...
2012 Oct 24
7
[PATCH 4/5] xen: arm: implement remap interfaces needed for privcmd mappings.
...(xen_platform_pci_unplug);
static __read_mostly int xen_events_irq = -1;
+/* map fgmfn of domid to lpfn in the current domain */
+static int map_foreign_page(unsigned long lpfn, unsigned long fgmfn,
+ unsigned int domid)
+{
+ int rc;
+ struct xen_add_to_physmap_range xatp = {
+ .domid = DOMID_SELF,
+ .foreign_domid = domid,
+ .size = 1,
+ .space = XENMAPSPACE_gmfn_foreign,
+ };
+ xen_ulong_t idx = fgmfn;
+ xen_pfn_t gpfn = lpfn;
+
+ set_xen_guest_handle(xatp.idxs, &idx);
+ set_xen_guest_handle(xatp.gpfns, &gpfn);
+
+ rc = HYPERVISOR_memory_op(XENMEM_add_to_physmap_range, &xatp...
2008 May 23
6
[PATCH 0 of 4] mm+paravirt+xen: add pte read-modify-write abstraction
Hi all,
This little series adds a new transaction-like abstraction for doing
RMW updates to a pte, hooks it into paravirt_ops, and then makes use
of it in Xen.
The basic problem is that mprotect is very slow under Xen (up to 50x
slower than native), primarily because of the
ptent = ptep_get_and_clear(mm, addr, pte);
ptent = pte_modify(ptent, newprot);
/* ... */
set_pte_at(mm, addr, pte,
2008 May 23
6
[PATCH 0 of 4] mm+paravirt+xen: add pte read-modify-write abstraction
Hi all,
This little series adds a new transaction-like abstraction for doing
RMW updates to a pte, hooks it into paravirt_ops, and then makes use
of it in Xen.
The basic problem is that mprotect is very slow under Xen (up to 50x
slower than native), primarily because of the
ptent = ptep_get_and_clear(mm, addr, pte);
ptent = pte_modify(ptent, newprot);
/* ... */
set_pte_at(mm, addr, pte,
2008 May 23
6
[PATCH 0 of 4] mm+paravirt+xen: add pte read-modify-write abstraction
Hi all,
This little series adds a new transaction-like abstraction for doing
RMW updates to a pte, hooks it into paravirt_ops, and then makes use
of it in Xen.
The basic problem is that mprotect is very slow under Xen (up to 50x
slower than native), primarily because of the
ptent = ptep_get_and_clear(mm, addr, pte);
ptent = pte_modify(ptent, newprot);
/* ... */
set_pte_at(mm, addr, pte,
2008 Apr 22
4
[PATCH 0/3] xen: more portability patches
Hi Jeremy.
Here are the 3 patches for ia64/xen support.
The first one is just to move manage.c under drivers/xen.
This is trivial.
The second and third ones are for compilation fix on ia64.
You may want to postpone those 2 patches to make your merge task
easy as you said before.
thanks,
Diffstat
arch/x86/xen/Makefile | 2 +-
drivers/xen/Makefile | 2 +-
2008 Apr 22
4
[PATCH 0/3] xen: more portability patches
Hi Jeremy.
Here are the 3 patches for ia64/xen support.
The first one is just to move manage.c under drivers/xen.
This is trivial.
The second and third ones are for compilation fix on ia64.
You may want to postpone those 2 patches to make your merge task
easy as you said before.
thanks,
Diffstat
arch/x86/xen/Makefile | 2 +-
drivers/xen/Makefile | 2 +-
2008 May 31
9
[PATCH 0 of 4] mm+paravirt+xen: add pte read-modify-write abstraction (take 2)
Hi all,
[ Change since last post: change name to ptep_modify_prot_, on the
grounds that it isn't really a general pte-modification interface. ]
This little series adds a new transaction-like abstraction for doing
RMW updates to a pte, hooks it into paravirt_ops, and then makes use
of it in Xen.
The basic problem is that mprotect is very slow under Xen (up to 50x
slower than native),