search for: xen_guest_handle

Displaying 20 results from an estimated 71 matches for "xen_guest_handle".

2012 Aug 10
18
[PATCH v2 0/5] ARM hypercall ABI: 64 bit ready
Hi all, this patch series makes the necessary changes to make sure that the current ARM hypercall ABI can be used as-is on 64 bit ARM platforms: - it defines xen_ulong_t as uint64_t on ARM; - it introduces a new macro to handle guest pointers, called XEN_GUEST_HANDLE_PARAM (that has size 4 bytes on aarch and is going to have size 8 bytes on aarch64); - it replaces all the occurrences of XEN_GUEST_HANDLE in hypercall parameters with XEN_GUEST_HANDLE_PARAM. On x86 and ia64 things should stay exactly the same. On ARM all the unsigned long and the guest pointers...
2012 Aug 16
27
[PATCH v3 0/6] ARM hypercall ABI: 64 bit ready
Hi all, this patch series makes the necessary changes to make sure that the current ARM hypercall ABI can be used as-is on 64 bit ARM platforms: - it defines xen_ulong_t as uint64_t on ARM; - it introduces a new macro to handle guest pointers, called XEN_GUEST_HANDLE_PARAM (that has size 4 bytes on aarch and is going to have size 8 bytes on aarch64); - it replaces all the occurrences of XEN_GUEST_HANDLE in hypercall parameters with XEN_GUEST_HANDLE_PARAM. On x86 and ia64 things should stay exactly the same. On ARM all the unsigned long and the guest pointers...
2008 May 24
2
Use of XEN_GUEST_HANDLE
Hi all, I have recently started to go through xen source. I want to know the usage of XEN_GUEST_HANDLE. I see thats its just a macro which will prefix each data type with __guest_handle_ . And DEFINE_XEN_GUEST_HANDLE(name) will just typedefs ''__guest_handle_name'' to be a pointer to a data type ''name '' . What is the reason for such abstraction? And how this XE...
2007 Oct 23
6
[PATCH][cpufreq] Xen support for the ondemand governor [1/2] (hypervisor code)
...gned-off-by: Mark Langsdorf <mark.langsdorf@amd.com> diff -r b4278beaf354 xen/arch/x86/platform_hypercall.c --- a/xen/arch/x86/platform_hypercall.c Wed Oct 17 13:12:03 2007 +0100 +++ b/xen/arch/x86/platform_hypercall.c Thu Oct 18 16:07:53 2007 -0500 @@ -295,14 +295,17 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe { uint32_t i, nr_cpus; uint64_t idletime; + uint64_t totaltime; struct vcpu *v; XEN_GUEST_HANDLE(uint64_t) idletimes; + XEN_GUEST_HANDLE(uint64_t) totaltimes; ret = -ENOSYS; if ( cpufreq_controller != FREQCTL_dom0_kernel )...
2012 Sep 20
17
[PATCH 0/4] Add V4V to Xen (v6)
v6 changes: - Check compiler before using [0] or []. v5 changes: - Fix prototypes in v4v.h for do_v4v_op - Add padding to make sure all the structures are 64 bits aligned - Replace [0] with [] v4 changes: - Stop using ssize_t, use long instead - Return -MSGSIZE for message bigger than 2GB - Fixup size handling - Rename
2008 Sep 19
8
[PATCH] x86: add hypercall to query current underlying pCPU''s frequency
...#include <public/platform.h> -#include <acpi/cpufreq/processor_perf.h> +#include <acpi/cpufreq/cpufreq.h> #include <asm/edd.h> #include <asm/mtrr.h> #include "cpu/mtrr/mtrr.h" @@ -55,6 +55,7 @@ static long cpu_frequency_change_helper( ret_t do_platform_op(XEN_GUEST_HANDLE(xen_platform_op_t) u_xenpf_op) { ret_t ret = 0; + struct vcpu *v; struct xen_platform_op curop, *op = &curop; if ( !IS_PRIV(current->domain) ) @@ -312,7 +313,6 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe { uint32_t cpu; uint64_t idletime, now = NOW...
2008 Mar 18
7
A question related with symbol reference?
hi, my friends: recently, i am reading the source codes about hypercall. First, i study a simple hypercall, for example, the "do_xen_version". In "xen-3.1.0-src\xen\common\kernel.c", the definition of "do_xen_version" is: DO(xen_version) (int cmd, XEN_GUEST_HANDLE(void) arg) { .... } according to the " #define DO(fn) long do_##fn ", the expanded form is "do_xen_version (...)". then, in the "xen-3.1.0-src\xen\arch\x86\x86_32\entry.S", there is an item in the "hypercall_table", like this: ENTRY(hypercall_table) .... ....
2012 Sep 26
8
[PATCH 2 of 6 V6] amd iommu: call guest_iommu_set_base from hvmloader
_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
2008 Jul 24
2
[RFC] i386 highmem assist hypercalls
...igned long)ptr) - FIX_PAE_HIGHMEM_0; + + l1e_write(fix_pae_highmem_pl1e - cpu, l1e_empty()); + this_cpu(make_cr3_timestamp) = this_cpu(tlbflush_time); +} +#else +#define fixmap_domain_page(mfn) mfn_to_virt(mfn) +#define fixunmap_domain_page(ptr) ((void)(ptr)) +#endif + int do_mmuext_op( XEN_GUEST_HANDLE(mmuext_op_t) uops, unsigned int count, @@ -2482,6 +2505,66 @@ int do_mmuext_op( break; } + case MMUEXT_CLEAR_PAGE: + { + unsigned char *ptr; + + okay = get_page_and_type_from_pagenr(mfn, PGT_writable_page, +...
2012 Oct 24
7
[PATCH 4/5] xen: arm: implement remap interfaces needed for privcmd mappings.
...n_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); + if (rc) { + pr_warn("Failed to map pfn to mfn rc:%d pfn:%lx mfn:%lx\n", + rc, lpfn, fgmfn); + return 1; + } + return 0; +} + +struct remap_data...
2013 Nov 22
10
[PATCH v4] x86: properly handle MSI-X unmask operation from guests
...domain.h @@ -375,6 +375,12 @@ struct pv_vcpu spinlock_t shadow_ldt_lock; }; +struct pending_msix_unmask_info +{ + unsigned long ctrl_address; + bool_t valid; +}; + struct arch_vcpu { /* @@ -439,6 +445,8 @@ struct arch_vcpu /* A secondary copy of the vcpu time info. */ XEN_GUEST_HANDLE(vcpu_time_info_t) time_info_guest; + + struct pending_msix_unmask_info pending_msix_unmask; } __cacheline_aligned; /* Shorthands to improve code legibility. */ diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h index cadb525..ce8f6ff 100644 --- a/xen/include/xen/pci.h +++ b/xen/includ...
2007 Oct 23
2
[PATCH][cpufreq] Xen support for the ondemand governor [2/2] (linux)
...s *this_dbs_info) +{ + int load = 0; + struct xen_platform_op op; + uint64_t idletime[NR_CPUS]; + uint64_t totaltime[NR_CPUS]; + struct cpufreq_policy *policy; + unsigned int j; + + op.cmd = XENPF_getidletime; + op.u.getidletime.max_cpus = num_online_cpus(); + set_xen_guest_handle(op.u.getidletime.idletime, idletime); + set_xen_guest_handle(op.u.getidletime.totaltime, totaltime); + HYPERVISOR_platform_op(&op); + + policy = this_dbs_info->cur_policy; + for_each_cpu_mask(j, policy->cpus) { + cputime64_t total_idle_ticks, total_wall_ticks; + cputime64_...
2009 Jan 09
5
[PATCH] Enable PCI passthrough with stub domain.
...eturn -EPERM; + } + } spin_lock(&pcidevs_lock); spin_lock(&d->event_lock); diff -r b9721b2766c1 xen/common/domctl.c --- a/xen/common/domctl.c Wed Jan 07 11:25:00 2009 +0000 +++ b/xen/common/domctl.c Thu Jan 08 18:58:36 2009 +0900 @@ -193,14 +193,49 @@ long do_domctl(XEN_GUEST_HANDLE(xen_domc long ret = 0; struct xen_domctl curop, *op = &curop; - if ( !IS_PRIV(current->domain) ) - return -EPERM; - if ( copy_from_guest(op, u_domctl, 1) ) return -EFAULT; if ( op->interface_version != XEN_DOMCTL_INTERFACE_VERSION ) retu...
2008 Oct 17
6
[PATCH, RFC] i386: highmem access assistance hypercalls
...igned long)ptr) - FIX_PAE_HIGHMEM_0; + + l1e_write(fix_pae_highmem_pl1e - cpu, l1e_empty()); + this_cpu(make_cr3_timestamp) = this_cpu(tlbflush_time); +} +#else +#define fixmap_domain_page(mfn) mfn_to_virt(mfn) +#define fixunmap_domain_page(ptr) ((void)(ptr)) +#endif + int do_mmuext_op( XEN_GUEST_HANDLE(mmuext_op_t) uops, unsigned int count, @@ -2701,6 +2724,66 @@ int do_mmuext_op( break; } + case MMUEXT_CLEAR_PAGE: + { + unsigned char *ptr; + + okay = !get_page_and_type_from_pagenr(mfn, PGT_writable_page, +...
2008 Mar 07
6
where is the location of definition of "do_xen_version"?
hi, my friends: Currently, i am studying the way of hypercall's implementation. i have already known the flow of hypercall's execuation, and i decided to add a new hypercall into the Xen. first, i want to know the detail of one hypercall function, for example, "do_xen_version", but i can not find the location of definition of "do_xen_version". who can help me? i have
2006 Sep 29
4
[PATCH 4/6] xen: export NUMA topology in physinfo hcall
...j; + PyObject *ret_obj, *memchunk_obj, *node_to_cpu_obj; + xc_memory_chunk_t *chunks; + xc_node_to_cpu_t *map; + + /* make space for mem chunks */ + chunks = (xc_memory_chunk_t *)malloc( sizeof(xc_memory_chunk_t) * + PUBLIC_MAXCHUNKS ); + set_xen_guest_handle(info.memory_chunks, chunks); + + /* make space for node_to_cpu mapping */ + map = (xc_node_to_cpu_t *)malloc( sizeof(xc_node_to_cpu_t) * + PUBLIC_MAX_NUMNODES ); + set_xen_guest_handle(info.node_to_cpu, map); + if ( xc_physinfo(self->xc_handle, &...
2009 Jul 15
0
[PATCH] rename for_each_cpu() to for_each_possible_cpu()
...nd also to match Linux. Signed-off-by: Jan Beulich <jbeulich@novell.com> --- 2009-07-10.orig/xen/arch/ia64/linux-xen/perfmon.c 2009-05-27 13:54:05.000000000 +0200 +++ 2009-07-10/xen/arch/ia64/linux-xen/perfmon.c 2009-07-15 10:02:08.000000000 +0200 @@ -7313,7 +7313,7 @@ xenpfm_context_create(XEN_GUEST_HANDLE(p goto out; /* XXX fmt */ - for_each_cpu(cpu) { + for_each_possible_cpu(cpu) { ctx[cpu] = pfm_context_create(&kreq); if (ctx[cpu] == NULL) { error = -ENOMEM; @@ -7325,20 +7325,20 @@ xenpfm_context_create(XEN_GUEST_HANDLE(p BUG_ON(in_irq()); spin_lock(&xenpfm_context_l...
2008 Nov 25
7
when timer go back in dom0 save and restore or migrate, PV domain hung
...domctl.c --- a/xen/common/domctl.c Tue Nov 18 14:34:14 2008 +0800 +++ b/xen/common/domctl.c Fri Nov 21 17:34:15 2008 +0800 @@ -24,7 +24,6 @@ #include <asm/current.h> #include <public/domctl.h> #include <xsm/xsm.h> - extern long arch_do_domctl( struct xen_domctl *op, XEN_GUEST_HANDLE(xen_domctl_t) u_domctl); @@ -315,6 +314,16 @@ ret = 0; } break; + case XEN_DOMCTL_restoredomain: + { + struct domain *d; + if ( (d = rcu_lock_domain_by_id(op->domain)) == NULL ) + break; + + d->after_restore = 1; + rcu_un...
2006 Dec 01
0
[PATCH 3/10] Add support for netfront/netback acceleration drivers
...+#define __XEN_PUBLIC_DOMCTL_H__ + +#if !defined(__XEN__) && !defined(__XEN_TOOLS__) +#error "domctl operations are intended for use by node control tools only" +#endif + +#include "xen.h" + +#define XEN_DOMCTL_INTERFACE_VERSION 0x00000004 + +struct xenctl_cpumap { + XEN_GUEST_HANDLE(uint8_t) bitmap; + uint32_t nr_cpus; +}; + +/* + * NB. xen_domctl.domain is an IN/OUT parameter for this operation. + * If it is specified as zero, an id is auto-allocated and returned. + */ +#define XEN_DOMCTL_createdomain 1 +struct xen_domctl_createdomain { + /* IN parameters */ +...
2006 Dec 01
1
[PATCH 2/10] Add support for netfront/netback acceleration drivers
...(__XEN__) && !defined(__XEN_TOOLS__) -#error "domctl operations are intended for use by node control tools only" -#endif - #include "xen.h" -#define XEN_DOMCTL_INTERFACE_VERSION 0x00000004 +#define XEN_DOMCTL_INTERFACE_VERSION 0x00000005 struct xenctl_cpumap { XEN_GUEST_HANDLE(uint8_t) bitmap; @@ -341,6 +337,11 @@ struct xen_domctl_iomem_permission { uint64_t first_mfn; /* first page (physical page number) in range */ uint64_t nr_mfns; /* number of pages in range (>0) */ uint8_t allow_access; /* allow (!0) or deny (0) access to range?...