search for: domid_self

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, &param) )         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, &param); _______________________________________________ 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),