Note: these changes don't make any difference on x86.
Replace XEN_GUEST_HANDLE with XEN_GUEST_HANDLE_PARAM when it is used as
an hypercall argument.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
{
}
-long arch_do_vcpu_op(int cmd, struct vcpu *v, XEN_GUEST_HANDLE(void) arg)
+long arch_do_vcpu_op(int cmd, struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg)
{
return -ENOSYS;
}
#include <public/domctl.h>
long arch_do_domctl(struct xen_domctl *domctl,
- XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
+ XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
{
return -ENOSYS;
}
#include <asm/hypercall.h>
-long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE(void) arg)
+long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE_PARAM(void) arg)
{
long rc = 0;
}
-long arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg)
+long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
{
int rc;
#include <asm/hypercall.h>
-int do_physdev_op(int cmd, XEN_GUEST_HANDLE(void) arg)
+int do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
{
printk("%s %d cmd=%d: not implemented yet\n", __func__, __LINE__, cmd);
return -ENOSYS;
#include <public/sysctl.h>
long arch_do_sysctl(struct xen_sysctl *sysctl,
- XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl)
+ XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
{
return -ENOSYS;
}
#ifndef COMPAT
/* Legacy hypercall (as of 0x00030202). */
-long do_event_channel_op_compat(XEN_GUEST_HANDLE(evtchn_op_t) uop)
+long do_event_channel_op_compat(XEN_GUEST_HANDLE_PARAM(evtchn_op_t) uop)
{
struct evtchn_op op;
# undef xen_mcinfo_recovery
/* Machine Check Architecture Hypercall */
-long do_mca(XEN_GUEST_HANDLE(xen_mc_t) u_xen_mc)
+long do_mca(XEN_GUEST_HANDLE_PARAM(xen_mc_t) u_xen_mc)
{
long ret = 0;
struct xen_mc curop, *op = &curop;
long
arch_do_vcpu_op(
- int cmd, struct vcpu *v, XEN_GUEST_HANDLE(void) arg)
+ int cmd, struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg)
{
long rc = 0;
long arch_do_domctl(
struct xen_domctl *domctl,
- XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
+ XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
{
long ret = 0;
return 0;
}
-static long gwstrlen(XEN_GUEST_HANDLE(CHAR16) str)
+static long gwstrlen(XEN_GUEST_HANDLE_PARAM(CHAR16) str)
{
unsigned long len;
}
static long hvm_grant_table_op(
- unsigned int cmd, XEN_GUEST_HANDLE(void) uop, unsigned int count)
+ unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) uop, unsigned int count)
{
if ( !grant_table_op_is_allowed(cmd) )
return -ENOSYS; /* all other commands need auditing */
return do_grant_table_op(cmd, uop, count);
}
-static long hvm_memory_op(int cmd, XEN_GUEST_HANDLE(void) arg)
+static long hvm_memory_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
{
long rc;
return do_memory_op(cmd, arg);
}
-static long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE(void) arg)
+static long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
{
switch ( cmd )
{
}
static long hvm_vcpu_op(
- int cmd, int vcpuid, XEN_GUEST_HANDLE(void) arg)
+ int cmd, int vcpuid, XEN_GUEST_HANDLE_PARAM(void) arg)
{
long rc;
[ __HYPERVISOR_ ## x ] = (hvm_hypercall_t *) do_ ## x
static long hvm_grant_table_op_compat32(unsigned int cmd,
- XEN_GUEST_HANDLE(void) uop,
+ XEN_GUEST_HANDLE_PARAM(void) uop,
unsigned int count)
{
if ( !grant_table_op_is_allowed(cmd) )
return compat_grant_table_op(cmd, uop, count);
}
-static long hvm_memory_op_compat32(int cmd, XEN_GUEST_HANDLE(void) arg)
+static long hvm_memory_op_compat32(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
{
int rc;
}
static long hvm_vcpu_op_compat32(
- int cmd, int vcpuid, XEN_GUEST_HANDLE(void) arg)
+ int cmd, int vcpuid, XEN_GUEST_HANDLE_PARAM(void) arg)
{
long rc;
}
static long hvm_physdev_op_compat32(
- int cmd, XEN_GUEST_HANDLE(void) arg)
+ int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
{
switch ( cmd )
{
}
static int hvmop_set_pci_intx_level(
- XEN_GUEST_HANDLE(xen_hvm_set_pci_intx_level_t) uop)
+ XEN_GUEST_HANDLE_PARAM(xen_hvm_set_pci_intx_level_t) uop)
{
struct xen_hvm_set_pci_intx_level op;
struct domain *d;
}
static int hvmop_set_isa_irq_level(
- XEN_GUEST_HANDLE(xen_hvm_set_isa_irq_level_t) uop)
+ XEN_GUEST_HANDLE_PARAM(xen_hvm_set_isa_irq_level_t) uop)
{
struct xen_hvm_set_isa_irq_level op;
struct domain *d;
}
static int hvmop_set_pci_link_route(
- XEN_GUEST_HANDLE(xen_hvm_set_pci_link_route_t) uop)
+ XEN_GUEST_HANDLE_PARAM(xen_hvm_set_pci_link_route_t) uop)
{
struct xen_hvm_set_pci_link_route op;
struct domain *d;
}
static int hvmop_inject_msi(
- XEN_GUEST_HANDLE(xen_hvm_inject_msi_t) uop)
+ XEN_GUEST_HANDLE_PARAM(xen_hvm_inject_msi_t) uop)
{
struct xen_hvm_inject_msi op;
struct domain *d;
return 0;
}
-long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE(void) arg)
+long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct domain *curr_d = current->domain;
return error;
}
-int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len)
+int microcode_update(XEN_GUEST_HANDLE_PARAM(const_void) buf, unsigned long len)
{
int ret;
struct microcode_info *info;
}
static inline int vcpumask_to_pcpumask(
- struct domain *d, XEN_GUEST_HANDLE(const_void) bmap, cpumask_t *pmask)
+ struct domain *d, XEN_GUEST_HANDLE_PARAM(const_void) bmap, cpumask_t *pmask)
{
unsigned int vcpu_id, vcpu_bias, offs;
unsigned long vmask;
#define fixunmap_domain_page(ptr) ((void)(ptr))
long do_mmuext_op(
- XEN_GUEST_HANDLE(mmuext_op_t) uops,
+ XEN_GUEST_HANDLE_PARAM(mmuext_op_t) uops,
unsigned int count,
- XEN_GUEST_HANDLE(uint) pdone,
+ XEN_GUEST_HANDLE_PARAM(uint) pdone,
unsigned int foreigndom)
{
struct mmuext_op op;
}
long do_mmu_update(
- XEN_GUEST_HANDLE(mmu_update_t) ureqs,
+ XEN_GUEST_HANDLE_PARAM(mmu_update_t) ureqs,
unsigned int count,
- XEN_GUEST_HANDLE(uint) pdone,
+ XEN_GUEST_HANDLE_PARAM(uint) pdone,
unsigned int foreigndom)
{
struct mmu_update req;
}
-long do_set_gdt(XEN_GUEST_HANDLE(ulong) frame_list, unsigned int entries)
+long do_set_gdt(XEN_GUEST_HANDLE_PARAM(ulong) frame_list, unsigned int entries)
{
int nr_pages = (entries + 511) / 512;
unsigned long frames[16];
return xenmem_add_to_physmap_once(d, xatp);
}
-long arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg)
+long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
{
int rc;
}
int hap_domctl(struct domain *d, xen_domctl_shadow_op_t *sc,
- XEN_GUEST_HANDLE(void) u_domctl)
+ XEN_GUEST_HANDLE_PARAM(void) u_domctl)
{
int rc, preempted = 0;
}
int mem_event_domctl(struct domain *d, xen_domctl_mem_event_op_t *mec,
- XEN_GUEST_HANDLE(void) u_domctl)
+ XEN_GUEST_HANDLE_PARAM(void) u_domctl)
{
int rc;
int paging_domctl(struct domain *d, xen_domctl_shadow_op_t *sc,
- XEN_GUEST_HANDLE(void) u_domctl)
+ XEN_GUEST_HANDLE_PARAM(void) u_domctl)
{
int rc;
int shadow_domctl(struct domain *d,
xen_domctl_shadow_op_t *sc,
- XEN_GUEST_HANDLE(void) u_domctl)
+ XEN_GUEST_HANDLE_PARAM(void) u_domctl)
{
int rc, preempted = 0;
#include "op_counter.h"
-int xenoprof_arch_counter(XEN_GUEST_HANDLE(void) arg)
+int xenoprof_arch_counter(XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct xenoprof_counter counter;
return 0;
}
-int xenoprof_arch_ibs_counter(XEN_GUEST_HANDLE(void) arg)
+int xenoprof_arch_ibs_counter(XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct xenoprof_ibs_counter ibs_counter;
return 0;
}
-int compat_oprof_arch_counter(XEN_GUEST_HANDLE(void) arg)
+int compat_oprof_arch_counter(XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct compat_oprof_counter counter;
}
#endif /* COMPAT */
-ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE(void) arg)
+ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
{
int irq;
ret_t ret;
}
long arch_do_sysctl(
- struct xen_sysctl *sysctl, XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl)
+ struct xen_sysctl *sysctl, XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
{
long ret = 0;
}
-long do_set_trap_table(XEN_GUEST_HANDLE(const_trap_info_t) traps)
+long do_set_trap_table(XEN_GUEST_HANDLE_PARAM(const_trap_info_t) traps)
{
struct trap_info cur;
struct vcpu *curr = current;
#include <asm/mem_event.h>
#include <asm/mem_sharing.h>
-int compat_set_gdt(XEN_GUEST_HANDLE(uint) frame_list, unsigned int entries)
+int compat_set_gdt(XEN_GUEST_HANDLE_PARAM(uint) frame_list, unsigned int entries)
{
unsigned int i, nr_pages = (entries + 511) / 512;
unsigned long frames[16];
desc_lo | ((u64)desc_hi << 32));
}
-int compat_arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg)
+int compat_arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct compat_machphys_mfn_list xmml;
l2_pgentry_t l2e;
DEFINE_XEN_GUEST_HANDLE(mmuext_op_compat_t);
-int compat_mmuext_op(XEN_GUEST_HANDLE(mmuext_op_compat_t) cmp_uops,
+int compat_mmuext_op(XEN_GUEST_HANDLE_PARAM(mmuext_op_compat_t) cmp_uops,
unsigned int count,
- XEN_GUEST_HANDLE(uint) pdone,
+ XEN_GUEST_HANDLE_PARAM(uint) pdone,
unsigned int foreigndom)
{
unsigned int i, preempt_mask;
int rc = 0;
- XEN_GUEST_HANDLE(mmuext_op_t) nat_ops;
+ XEN_GUEST_HANDLE_PARAM(mmuext_op_t) nat_ops;
preempt_mask = count & MMU_UPDATE_PREEMPTED;
count ^= preempt_mask;
int
arch_compat_vcpu_op(
- int cmd, struct vcpu *v, XEN_GUEST_HANDLE(void) arg)
+ int cmd, struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg)
{
int rc = -ENOSYS;
}
}
-long subarch_memory_op(int op, XEN_GUEST_HANDLE(void) arg)
+long subarch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct xen_machphys_mfn_list xmml;
l3_pgentry_t l3e;
}
-long do_callback_op(int cmd, XEN_GUEST_HANDLE(const_void) arg)
+long do_callback_op(int cmd, XEN_GUEST_HANDLE_PARAM(const_void) arg)
{
long ret;
CHECK_vcpu_set_periodic_timer;
#undef xen_vcpu_set_periodic_timer
-int compat_vcpu_op(int cmd, int vcpuid, XEN_GUEST_HANDLE(void) arg)
+int compat_vcpu_op(int cmd, int vcpuid, XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct domain *d = current->domain;
struct vcpu *v;
#undef xen_gnttab_swap_grant_ref
int compat_grant_table_op(unsigned int cmd,
- XEN_GUEST_HANDLE(void) cmp_uop,
+ XEN_GUEST_HANDLE_PARAM(void) cmp_uop,
unsigned int count)
{
int rc = 0;
unsigned int i;
- XEN_GUEST_HANDLE(void) cnt_uop;
+ XEN_GUEST_HANDLE_PARAM(void) cnt_uop;
set_xen_guest_handle(cnt_uop, NULL);
switch ( cmd )
}
if ( rc >= 0 )
{
- XEN_GUEST_HANDLE(gnttab_transfer_compat_t) xfer;
+ XEN_GUEST_HANDLE_PARAM(gnttab_transfer_compat_t) xfer;
xfer = guest_handle_cast(cmp_uop, gnttab_transfer_compat_t);
guest_handle_add_offset(xfer, i);
}
if ( rc >= 0 )
{
- XEN_GUEST_HANDLE(gnttab_copy_compat_t) copy;
+ XEN_GUEST_HANDLE_PARAM(gnttab_copy_compat_t) copy;
copy = guest_handle_cast(cmp_uop, gnttab_copy_compat_t);
guest_handle_add_offset(copy, i);
#undef compat_domid_t
#undef xen_domid_t
-int compat_memory_op(unsigned int cmd, XEN_GUEST_HANDLE(void) compat)
+int compat_memory_op(unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) compat)
{
int rc, split, op = cmd & MEMOP_CMD_MASK;
unsigned int start_extent = cmd >> MEMOP_EXTENT_SHIFT;
{
unsigned int i, end_extent = 0;
union {
- XEN_GUEST_HANDLE(void) hnd;
+ XEN_GUEST_HANDLE_PARAM(void) hnd;
struct xen_memory_reservation *rsrv;
struct xen_memory_exchange *xchg;
struct xen_remove_from_physmap *xrfp;
}
-long do_vcpu_op(int cmd, int vcpuid, XEN_GUEST_HANDLE(void) arg)
+long do_vcpu_op(int cmd, int vcpuid, XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct domain *d = current->domain;
struct vcpu *v;
spin_unlock(¤t->domain->hypercall_deadlock_mutex);
}
-long do_domctl(XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
+long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
{
long ret = 0;
struct xen_domctl curop, *op = &curop;
}
-long do_event_channel_op(int cmd, XEN_GUEST_HANDLE(void) arg)
+long do_event_channel_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
{
long rc;
static long
gnttab_map_grant_ref(
- XEN_GUEST_HANDLE(gnttab_map_grant_ref_t) uop, unsigned int count)
+ XEN_GUEST_HANDLE_PARAM(gnttab_map_grant_ref_t) uop, unsigned int count)
{
int i;
struct gnttab_map_grant_ref op;
static long
gnttab_unmap_grant_ref(
- XEN_GUEST_HANDLE(gnttab_unmap_grant_ref_t) uop, unsigned int count)
+ XEN_GUEST_HANDLE_PARAM(gnttab_unmap_grant_ref_t) uop, unsigned int count)
{
int i, c, partial_done, done = 0;
struct gnttab_unmap_grant_ref op;
static long
gnttab_unmap_and_replace(
- XEN_GUEST_HANDLE(gnttab_unmap_and_replace_t) uop, unsigned int count)
+ XEN_GUEST_HANDLE_PARAM(gnttab_unmap_and_replace_t) uop, unsigned int count)
{
int i, c, partial_done, done = 0;
struct gnttab_unmap_and_replace op;
static long
gnttab_setup_table(
- XEN_GUEST_HANDLE(gnttab_setup_table_t) uop, unsigned int count)
+ XEN_GUEST_HANDLE_PARAM(gnttab_setup_table_t) uop, unsigned int count)
{
struct gnttab_setup_table op;
struct domain *d;
static long
gnttab_query_size(
- XEN_GUEST_HANDLE(gnttab_query_size_t) uop, unsigned int count)
+ XEN_GUEST_HANDLE_PARAM(gnttab_query_size_t) uop, unsigned int count)
{
struct gnttab_query_size op;
struct domain *d;
static long
gnttab_transfer(
- XEN_GUEST_HANDLE(gnttab_transfer_t) uop, unsigned int count)
+ XEN_GUEST_HANDLE_PARAM(gnttab_transfer_t) uop, unsigned int count)
{
struct domain *d = current->domain;
struct domain *e;
static long
gnttab_copy(
- XEN_GUEST_HANDLE(gnttab_copy_t) uop, unsigned int count)
+ XEN_GUEST_HANDLE_PARAM(gnttab_copy_t) uop, unsigned int count)
{
int i;
struct gnttab_copy op;
}
static long
-gnttab_set_version(XEN_GUEST_HANDLE(gnttab_set_version_t uop))
+gnttab_set_version(XEN_GUEST_HANDLE_PARAM(gnttab_set_version_t uop))
{
gnttab_set_version_t op;
struct domain *d = current->domain;
}
static long
-gnttab_get_status_frames(XEN_GUEST_HANDLE(gnttab_get_status_frames_t) uop,
+gnttab_get_status_frames(XEN_GUEST_HANDLE_PARAM(gnttab_get_status_frames_t) uop,
int count)
{
gnttab_get_status_frames_t op;
}
static long
-gnttab_get_version(XEN_GUEST_HANDLE(gnttab_get_version_t uop))
+gnttab_get_version(XEN_GUEST_HANDLE_PARAM(gnttab_get_version_t uop))
{
gnttab_get_version_t op;
struct domain *d;
}
static long
-gnttab_swap_grant_ref(XEN_GUEST_HANDLE(gnttab_swap_grant_ref_t uop),
+gnttab_swap_grant_ref(XEN_GUEST_HANDLE_PARAM(gnttab_swap_grant_ref_t uop),
unsigned int count)
{
int i;
long
do_grant_table_op(
- unsigned int cmd, XEN_GUEST_HANDLE(void) uop, unsigned int count)
+ unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) uop, unsigned int count)
{
long rc;
{
case GNTTABOP_map_grant_ref:
{
- XEN_GUEST_HANDLE(gnttab_map_grant_ref_t) map =
+ XEN_GUEST_HANDLE_PARAM(gnttab_map_grant_ref_t) map =
guest_handle_cast(uop, gnttab_map_grant_ref_t);
if ( unlikely(!guest_handle_okay(map, count)) )
goto out;
}
case GNTTABOP_unmap_grant_ref:
{
- XEN_GUEST_HANDLE(gnttab_unmap_grant_ref_t) unmap =
+ XEN_GUEST_HANDLE_PARAM(gnttab_unmap_grant_ref_t) unmap =
guest_handle_cast(uop, gnttab_unmap_grant_ref_t);
if ( unlikely(!guest_handle_okay(unmap, count)) )
goto out;
}
case GNTTABOP_unmap_and_replace:
{
- XEN_GUEST_HANDLE(gnttab_unmap_and_replace_t) unmap =
+ XEN_GUEST_HANDLE_PARAM(gnttab_unmap_and_replace_t) unmap =
guest_handle_cast(uop, gnttab_unmap_and_replace_t);
if ( unlikely(!guest_handle_okay(unmap, count)) )
goto out;
}
case GNTTABOP_transfer:
{
- XEN_GUEST_HANDLE(gnttab_transfer_t) transfer =
+ XEN_GUEST_HANDLE_PARAM(gnttab_transfer_t) transfer =
guest_handle_cast(uop, gnttab_transfer_t);
if ( unlikely(!guest_handle_okay(transfer, count)) )
goto out;
}
case GNTTABOP_copy:
{
- XEN_GUEST_HANDLE(gnttab_copy_t) copy =
+ XEN_GUEST_HANDLE_PARAM(gnttab_copy_t) copy =
guest_handle_cast(uop, gnttab_copy_t);
if ( unlikely(!guest_handle_okay(copy, count)) )
goto out;
}
case GNTTABOP_swap_grant_ref:
{
- XEN_GUEST_HANDLE(gnttab_swap_grant_ref_t) swap =
+ XEN_GUEST_HANDLE_PARAM(gnttab_swap_grant_ref_t) swap =
guest_handle_cast(uop, gnttab_swap_grant_ref_t);
if ( unlikely(!guest_handle_okay(swap, count)) )
goto out;
* Simple hypercalls.
*/
-DO(xen_version)(int cmd, XEN_GUEST_HANDLE(void) arg)
+DO(xen_version)(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
{
switch ( cmd )
{
return -ENOSYS;
}
-DO(nmi_op)(unsigned int cmd, XEN_GUEST_HANDLE(void) arg)
+DO(nmi_op)(unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct xennmi_callback cb;
long rc = 0;
return ret;
}
-static int kexec_get_range(XEN_GUEST_HANDLE(void) uarg)
+static int kexec_get_range(XEN_GUEST_HANDLE_PARAM(void) uarg)
{
xen_kexec_range_t range;
int ret = -EINVAL;
return ret;
}
-static int kexec_get_range_compat(XEN_GUEST_HANDLE(void) uarg)
+static int kexec_get_range_compat(XEN_GUEST_HANDLE_PARAM(void) uarg)
{
#ifdef CONFIG_COMPAT
xen_kexec_range_t range;
return ret;
}
-static int kexec_load_unload(unsigned long op, XEN_GUEST_HANDLE(void) uarg)
+static int kexec_load_unload(unsigned long op, XEN_GUEST_HANDLE_PARAM(void) uarg)
{
xen_kexec_load_t load;
}
static int kexec_load_unload_compat(unsigned long op,
- XEN_GUEST_HANDLE(void) uarg)
+ XEN_GUEST_HANDLE_PARAM(void) uarg)
{
#ifdef CONFIG_COMPAT
compat_kexec_load_t compat_load;
#endif /* CONFIG_COMPAT */
}
-static int kexec_exec(XEN_GUEST_HANDLE(void) uarg)
+static int kexec_exec(XEN_GUEST_HANDLE_PARAM(void) uarg)
{
xen_kexec_exec_t exec;
xen_kexec_image_t *image;
return -EINVAL; /* never reached */
}
-static int do_kexec_op_internal(unsigned long op, XEN_GUEST_HANDLE(void) uarg,
+static int do_kexec_op_internal(unsigned long op,
+ XEN_GUEST_HANDLE_PARAM(void) uarg,
bool_t compat)
{
unsigned long flags;
return ret;
}
-long do_kexec_op(unsigned long op, XEN_GUEST_HANDLE(void) uarg)
+long do_kexec_op(unsigned long op, XEN_GUEST_HANDLE_PARAM(void) uarg)
{
return do_kexec_op_internal(op, uarg, 0);
}
#ifdef CONFIG_COMPAT
-int compat_kexec_op(unsigned long op, XEN_GUEST_HANDLE(void) uarg)
+int compat_kexec_op(unsigned long op, XEN_GUEST_HANDLE_PARAM(void) uarg)
{
return do_kexec_op_internal(op, uarg, 1);
}
a->nr_done = i;
}
-static long memory_exchange(XEN_GUEST_HANDLE(xen_memory_exchange_t) arg)
+static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
{
struct xen_memory_exchange exch;
PAGE_LIST_HEAD(in_chunk_list);
return rc;
}
-long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE(void) arg)
+long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct domain *d;
int rc, op;
#endif /* !COMPAT */
-ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE(void) arg)
+ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
{
ret_t ret = 0;
#include <xsm/xsm.h>
#include <xen/pmstat.h>
-long do_sysctl(XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl)
+long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
{
long ret = 0;
struct xen_sysctl curop, *op = &curop;
/************ TMEM CORE OPERATIONS ************************************/
static NOINLINE int do_tmem_put_compress(pgp_t *pgp, tmem_cli_mfn_t cmfn,
- tmem_cli_va_t clibuf)
+ tmem_cli_va_param_t clibuf)
{
void *dst, *p;
size_t size;
static NOINLINE int do_tmem_dup_put(pgp_t *pgp, tmem_cli_mfn_t cmfn,
pagesize_t tmem_offset, pagesize_t pfn_offset, pagesize_t len,
- tmem_cli_va_t clibuf)
+ tmem_cli_va_param_t clibuf)
{
pool_t *pool;
obj_t *obj;
static NOINLINE int do_tmem_put(pool_t *pool,
OID *oidp, uint32_t index,
tmem_cli_mfn_t cmfn, pagesize_t tmem_offset,
- pagesize_t pfn_offset, pagesize_t len, tmem_cli_va_t clibuf)
+ pagesize_t pfn_offset, pagesize_t len, tmem_cli_va_param_t clibuf)
{
obj_t *obj = NULL, *objfound = NULL, *objnew = NULL;
pgp_t *pgp = NULL, *pgpdel = NULL;
static NOINLINE int do_tmem_get(pool_t *pool, OID *oidp, uint32_t index,
tmem_cli_mfn_t cmfn, pagesize_t tmem_offset,
- pagesize_t pfn_offset, pagesize_t len, tmem_cli_va_t clibuf)
+ pagesize_t pfn_offset, pagesize_t len, tmem_cli_va_param_t clibuf)
{
obj_t *obj;
pgp_t *pgp;
*/
#define BSIZE 1024
-static int tmemc_list_client(client_t *c, tmem_cli_va_t buf, int off,
- uint32_t len, bool_t use_long)
+static int tmemc_list_client(client_t *c, tmem_cli_va_param_t buf,
+ int off, uint32_t len, bool_t use_long)
{
char info[BSIZE];
int i, n = 0, sum = 0;
return sum;
}
-static int tmemc_list_shared(tmem_cli_va_t buf, int off, uint32_t len,
+static int tmemc_list_shared(tmem_cli_va_param_t buf, int off, uint32_t len,
bool_t use_long)
{
char info[BSIZE];
}
#ifdef TMEM_PERF
-static int tmemc_list_global_perf(tmem_cli_va_t buf, int off, uint32_t len,
- bool_t use_long)
+static int tmemc_list_global_perf(tmem_cli_va_param_t buf, int off,
+ uint32_t len, bool_t use_long)
{
char info[BSIZE];
int n = 0, sum = 0;
#define tmemc_list_global_perf(_buf,_off,_len,_use) (0)
#endif
-static int tmemc_list_global(tmem_cli_va_t buf, int off, uint32_t len,
+static int tmemc_list_global(tmem_cli_va_param_t buf, int off, uint32_t len,
bool_t use_long)
{
char info[BSIZE];
return sum;
}
-static int tmemc_list(cli_id_t cli_id, tmem_cli_va_t buf, uint32_t len,
+static int tmemc_list(cli_id_t cli_id, tmem_cli_va_param_t buf, uint32_t len,
bool_t use_long)
{
client_t *client;
}
static NOINLINE int tmemc_save_subop(int cli_id, uint32_t pool_id,
- uint32_t subop, tmem_cli_va_t buf, uint32_t arg1)
+ uint32_t subop, tmem_cli_va_param_t buf, uint32_t arg1)
{
client_t *client = tmh_client_from_cli_id(cli_id);
pool_t *pool = (client == NULL || pool_id >= MAX_POOLS_PER_DOMAIN)
}
static NOINLINE int tmemc_save_get_next_page(int cli_id, uint32_t pool_id,
- tmem_cli_va_t buf, uint32_t bufsize)
+ tmem_cli_va_param_t buf, uint32_t bufsize)
{
client_t *client = tmh_client_from_cli_id(cli_id);
pool_t *pool = (client == NULL || pool_id >= MAX_POOLS_PER_DOMAIN)
return ret;
}
-static NOINLINE int tmemc_save_get_next_inv(int cli_id, tmem_cli_va_t buf,
+static NOINLINE int tmemc_save_get_next_inv(int cli_id, tmem_cli_va_param_t buf,
uint32_t bufsize)
{
client_t *client = tmh_client_from_cli_id(cli_id);
}
static int tmemc_restore_put_page(int cli_id, uint32_t pool_id, OID *oidp,
- uint32_t index, tmem_cli_va_t buf, uint32_t bufsize)
+ uint32_t index, tmem_cli_va_param_t buf, uint32_t bufsize)
{
client_t *client = tmh_client_from_cli_id(cli_id);
pool_t *pool = (client == NULL || pool_id >= MAX_POOLS_PER_DOMAIN)
ret = tmemc_flush_mem(op->u.ctrl.cli_id,op->u.ctrl.arg1);
break;
case TMEMC_LIST:
- ret = tmemc_list(op->u.ctrl.cli_id,op->u.ctrl.buf,
+ ret = tmemc_list(op->u.ctrl.cli_id,
+ guest_handle_cast(op->u.ctrl.buf, char),
op->u.ctrl.arg1,op->u.ctrl.arg2);
break;
case TMEMC_SET_WEIGHT:
case TMEMC_SAVE_GET_POOL_UUID:
case TMEMC_SAVE_END:
ret = tmemc_save_subop(op->u.ctrl.cli_id,pool_id,subop,
- op->u.ctrl.buf,op->u.ctrl.arg1);
+ guest_handle_cast(op->u.ctrl.buf, char),
+ op->u.ctrl.arg1);
break;
case TMEMC_SAVE_GET_NEXT_PAGE:
ret = tmemc_save_get_next_page(op->u.ctrl.cli_id, pool_id,
- op->u.ctrl.buf, op->u.ctrl.arg1);
+ guest_handle_cast(op->u.ctrl.buf, char),
+ op->u.ctrl.arg1);
break;
case TMEMC_SAVE_GET_NEXT_INV:
- ret = tmemc_save_get_next_inv(op->u.ctrl.cli_id, op->u.ctrl.buf,
+ ret = tmemc_save_get_next_inv(op->u.ctrl.cli_id,
+ guest_handle_cast(op->u.ctrl.buf, char),
op->u.ctrl.arg1);
break;
case TMEMC_RESTORE_PUT_PAGE:
ret = tmemc_restore_put_page(op->u.ctrl.cli_id,pool_id,
oidp, op->u.ctrl.arg2,
- op->u.ctrl.buf, op->u.ctrl.arg1);
+ guest_handle_cast(op->u.ctrl.buf, char),
+ op->u.ctrl.arg1);
break;
case TMEMC_RESTORE_FLUSH_PAGE:
ret = tmemc_restore_flush_page(op->u.ctrl.cli_id,pool_id,
EXPORT int tmh_copy_from_client(pfp_t *pfp,
tmem_cli_mfn_t cmfn, pagesize_t tmem_offset,
- pagesize_t pfn_offset, pagesize_t len, tmem_cli_va_t clibuf)
+ pagesize_t pfn_offset, pagesize_t len, tmem_cli_va_param_t clibuf)
{
unsigned long tmem_mfn, cli_mfn = 0;
char *tmem_va, *cli_va = NULL;
}
EXPORT int tmh_compress_from_client(tmem_cli_mfn_t cmfn,
- void **out_va, size_t *out_len, tmem_cli_va_t clibuf)
+ void **out_va, size_t *out_len, tmem_cli_va_param_t clibuf)
{
int ret = 0;
unsigned char *dmem = this_cpu(dstmem);
EXPORT int tmh_copy_to_client(tmem_cli_mfn_t cmfn, pfp_t *pfp,
pagesize_t tmem_offset, pagesize_t pfn_offset, pagesize_t len,
- tmem_cli_va_t clibuf)
+ tmem_cli_va_param_t clibuf)
{
unsigned long tmem_mfn, cli_mfn = 0;
char *tmem_va, *cli_va = NULL;
}
EXPORT int tmh_decompress_to_client(tmem_cli_mfn_t cmfn, void *tmem_va,
- size_t size, tmem_cli_va_t clibuf)
+ size_t size, tmem_cli_va_param_t clibuf)
{
unsigned long cli_mfn = 0;
pfp_t *cli_pfp = NULL;
return 0;
}
-static int add_passive_list(XEN_GUEST_HANDLE(void) arg)
+static int add_passive_list(XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct xenoprof_passive passive;
struct domain *d;
-static int xenoprof_op_init(XEN_GUEST_HANDLE(void) arg)
+static int xenoprof_op_init(XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct domain *d = current->domain;
struct xenoprof_init xenoprof_init;
#endif /* !COMPAT */
-static int xenoprof_op_get_buffer(XEN_GUEST_HANDLE(void) arg)
+static int xenoprof_op_get_buffer(XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct xenoprof_get_buffer xenoprof_get_buffer;
struct domain *d = current->domain;
|| (op == XENOPROF_disable_virq) \
|| (op == XENOPROF_get_buffer))
-ret_t do_xenoprof_op(int op, XEN_GUEST_HANDLE(void) arg)
+ret_t do_xenoprof_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
{
int ret = 0;
return ret;
}
-int acpi_set_pdc_bits(u32 acpi_id, XEN_GUEST_HANDLE(uint32) pdc)
+int acpi_set_pdc_bits(u32 acpi_id, XEN_GUEST_HANDLE_PARAM(uint32) pdc)
{
u32 bits[3];
int ret;
long read_console_ring(struct xen_sysctl_readconsole *op)
{
- XEN_GUEST_HANDLE(char) str;
+ XEN_GUEST_HANDLE_PARAM(char) str;
uint32_t idx, len, max, sofar, c;
str = guest_handle_cast(op->buffer, char),
static DECLARE_SOFTIRQ_TASKLET(notify_dom0_con_ring_tasklet,
notify_dom0_con_ring, 0);
-static long guest_console_write(XEN_GUEST_HANDLE(char) buffer, int count)
+static long guest_console_write(XEN_GUEST_HANDLE_PARAM(char) buffer, int count)
{
char kbuf[128], *kptr;
int kcount;
return 0;
}
-long do_console_io(int cmd, int count, XEN_GUEST_HANDLE(char) buffer)
+long do_console_io(int cmd, int count, XEN_GUEST_HANDLE_PARAM(char) buffer)
{
long rc;
unsigned int idx, len;
int iommu_do_domctl(
struct xen_domctl *domctl,
- XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
+ XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
{
struct domain *d;
u16 seg;
#define __ASM_ARM_HYPERCALL_H__
#include <public/domctl.h> /* for arch_do_domctl */
-int do_physdev_op(int cmd, XEN_GUEST_HANDLE(void) arg);
+int do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg);
#endif /* __ASM_ARM_HYPERCALL_H__ */
/*
/* Arch-specific portion of memory_op hypercall. */
-long arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg);
+long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg);
int steal_page(
struct domain *d, struct page_info *page, unsigned int memflags);
/************************************************/
void hap_domain_init(struct domain *d);
int hap_domctl(struct domain *d, xen_domctl_shadow_op_t *sc,
- XEN_GUEST_HANDLE(void) u_domctl);
+ XEN_GUEST_HANDLE_PARAM(void) u_domctl);
int hap_enable(struct domain *d, u32 mode);
void hap_final_teardown(struct domain *d);
void hap_teardown(struct domain *d);
extern long
do_event_channel_op_compat(
- XEN_GUEST_HANDLE(evtchn_op_t) uop);
+ XEN_GUEST_HANDLE_PARAM(evtchn_op_t) uop);
extern long
do_set_trap_table(
- XEN_GUEST_HANDLE(const_trap_info_t) traps);
+ XEN_GUEST_HANDLE_PARAM(const_trap_info_t) traps);
extern long
do_mmu_update(
- XEN_GUEST_HANDLE(mmu_update_t) ureqs,
+ XEN_GUEST_HANDLE_PARAM(mmu_update_t) ureqs,
unsigned int count,
- XEN_GUEST_HANDLE(uint) pdone,
+ XEN_GUEST_HANDLE_PARAM(uint) pdone,
unsigned int foreigndom);
extern long
do_set_gdt(
- XEN_GUEST_HANDLE(ulong) frame_list,
+ XEN_GUEST_HANDLE_PARAM(ulong) frame_list,
unsigned int entries);
extern long
u64 desc);
extern long
-do_mca(XEN_GUEST_HANDLE(xen_mc_t) u_xen_mc);
+do_mca(XEN_GUEST_HANDLE_PARAM(xen_mc_t) u_xen_mc);
extern long
do_update_va_mapping(
extern long
do_physdev_op(
- int cmd, XEN_GUEST_HANDLE(void) arg);
+ int cmd, XEN_GUEST_HANDLE_PARAM(void) arg);
extern long
do_update_va_mapping_otherdomain(
extern long
do_mmuext_op(
- XEN_GUEST_HANDLE(mmuext_op_t) uops,
+ XEN_GUEST_HANDLE_PARAM(mmuext_op_t) uops,
unsigned int count,
- XEN_GUEST_HANDLE(uint) pdone,
+ XEN_GUEST_HANDLE_PARAM(uint) pdone,
unsigned int foreigndom);
extern unsigned long
extern int
compat_physdev_op(
int cmd,
- XEN_GUEST_HANDLE(void) arg);
+ XEN_GUEST_HANDLE_PARAM(void) arg);
extern int
arch_compat_vcpu_op(
- int cmd, struct vcpu *v, XEN_GUEST_HANDLE(void) arg);
+ int cmd, struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
#endif /* __ASM_X86_HYPERCALL_H__ */
struct domain *get_mem_event_op_target(uint32_t domain, int *rc);
int do_mem_event_op(int op, uint32_t domain, void *arg);
int mem_event_domctl(struct domain *d, xen_domctl_mem_event_op_t *mec,
- XEN_GUEST_HANDLE(void) u_domctl);
+ XEN_GUEST_HANDLE_PARAM(void) u_domctl);
#endif /* __MEM_EVENT_H__ */
int __sync_local_execstate(void);
/* Arch-specific portion of memory_op hypercall. */
-long arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg);
-long subarch_memory_op(int op, XEN_GUEST_HANDLE(void) arg);
-int compat_arch_memory_op(int op, XEN_GUEST_HANDLE(void));
-int compat_subarch_memory_op(int op, XEN_GUEST_HANDLE(void));
+long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg);
+long subarch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg);
+int compat_arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void));
+int compat_subarch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void));
int steal_page(
struct domain *d, struct page_info *page, unsigned int memflags);
* and disable ephemeral shadow modes (test mode and log-dirty mode) and
* manipulate the log-dirty bitmap. */
int paging_domctl(struct domain *d, xen_domctl_shadow_op_t *sc,
- XEN_GUEST_HANDLE(void) u_domctl);
+ XEN_GUEST_HANDLE_PARAM(void) u_domctl);
/* Call when destroying a domain */
void paging_teardown(struct domain *d);
int wrmsr_hypervisor_regs(uint32_t idx, uint64_t val);
void microcode_set_module(unsigned int);
-int microcode_update(XEN_GUEST_HANDLE(const_void), unsigned long len);
+int microcode_update(XEN_GUEST_HANDLE_PARAM(const_void), unsigned long len);
int microcode_resume_cpu(int cpu);
#endif /* !__ASSEMBLY__ */
* manipulate the log-dirty bitmap. */
int shadow_domctl(struct domain *d,
xen_domctl_shadow_op_t *sc,
- XEN_GUEST_HANDLE(void) u_domctl);
+ XEN_GUEST_HANDLE_PARAM(void) u_domctl);
/* Call when destroying a domain */
void shadow_teardown(struct domain *d);
#define xenoprof_arch_disable_virq() nmi_disable_virq()
#define xenoprof_arch_release_counters() nmi_release_counters()
-int xenoprof_arch_counter(XEN_GUEST_HANDLE(void) arg);
-int compat_oprof_arch_counter(XEN_GUEST_HANDLE(void) arg);
-int xenoprof_arch_ibs_counter(XEN_GUEST_HANDLE(void) arg);
+int xenoprof_arch_counter(XEN_GUEST_HANDLE_PARAM(void) arg);
+int compat_oprof_arch_counter(XEN_GUEST_HANDLE_PARAM(void) arg);
+int xenoprof_arch_ibs_counter(XEN_GUEST_HANDLE_PARAM(void) arg);
struct vcpu;
struct cpu_user_regs;
static inline void acpi_set_cstate_limit(unsigned int new_limit) { return; }
#endif
-#ifdef XEN_GUEST_HANDLE
-int acpi_set_pdc_bits(u32 acpi_id, XEN_GUEST_HANDLE(uint32));
+#ifdef XEN_GUEST_HANDLE_PARAM
+int acpi_set_pdc_bits(u32 acpi_id, XEN_GUEST_HANDLE_PARAM(uint32));
#endif
int arch_acpi_set_pdc_bits(u32 acpi_id, u32 *, u32 mask);
__DEFINE_COMPAT_HANDLE(const_ ## name, const name)
#define COMPAT_HANDLE(name) __compat_handle_ ## name
+/* NB: it is assumed that if an arch uses the compat layer it does not
+ * distinguish handles from parameter handles. */
+#define COMPAT_HANDLE_PARAM(name) __compat_handle_ ## name
/* Is the compat handle a NULL reference? */
#define compat_handle_is_null(hnd) ((hnd).c == 0)
extern long
do_sched_op(
int cmd,
- XEN_GUEST_HANDLE(void) arg);
+ XEN_GUEST_HANDLE_PARAM(void) arg);
extern long
do_domctl(
- XEN_GUEST_HANDLE(xen_domctl_t) u_domctl);
+ XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
extern long
arch_do_domctl(
struct xen_domctl *domctl,
- XEN_GUEST_HANDLE(xen_domctl_t) u_domctl);
+ XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
extern long
do_sysctl(
- XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl);
+ XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl);
extern long
arch_do_sysctl(
struct xen_sysctl *sysctl,
- XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl);
+ XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl);
extern long
do_platform_op(
- XEN_GUEST_HANDLE(xen_platform_op_t) u_xenpf_op);
+ XEN_GUEST_HANDLE_PARAM(xen_platform_op_t) u_xenpf_op);
/*
* To allow safe resume of do_memory_op() after preemption, we need to know
extern long
do_memory_op(
unsigned long cmd,
- XEN_GUEST_HANDLE(void) arg);
+ XEN_GUEST_HANDLE_PARAM(void) arg);
extern long
do_multicall(
- XEN_GUEST_HANDLE(multicall_entry_t) call_list,
+ XEN_GUEST_HANDLE_PARAM(multicall_entry_t) call_list,
unsigned int nr_calls);
extern long
extern long
do_event_channel_op(
- int cmd, XEN_GUEST_HANDLE(void) arg);
+ int cmd, XEN_GUEST_HANDLE_PARAM(void) arg);
extern long
do_xen_version(
int cmd,
- XEN_GUEST_HANDLE(void) arg);
+ XEN_GUEST_HANDLE_PARAM(void) arg);
extern long
do_console_io(
int cmd,
int count,
- XEN_GUEST_HANDLE(char) buffer);
+ XEN_GUEST_HANDLE_PARAM(char) buffer);
extern long
do_grant_table_op(
unsigned int cmd,
- XEN_GUEST_HANDLE(void) uop,
+ XEN_GUEST_HANDLE_PARAM(void) uop,
unsigned int count);
extern long
do_vcpu_op(
int cmd,
int vcpuid,
- XEN_GUEST_HANDLE(void) arg);
+ XEN_GUEST_HANDLE_PARAM(void) arg);
struct vcpu;
extern long
arch_do_vcpu_op(int cmd,
struct vcpu *v,
- XEN_GUEST_HANDLE(void) arg);
+ XEN_GUEST_HANDLE_PARAM(void) arg);
extern long
do_nmi_op(
unsigned int cmd,
- XEN_GUEST_HANDLE(void) arg);
+ XEN_GUEST_HANDLE_PARAM(void) arg);
extern long
do_hvm_op(
unsigned long op,
- XEN_GUEST_HANDLE(void) arg);
+ XEN_GUEST_HANDLE_PARAM(void) arg);
extern long
do_kexec_op(
unsigned long op,
int arg1,
- XEN_GUEST_HANDLE(void) arg);
+ XEN_GUEST_HANDLE_PARAM(void) arg);
extern long
do_xsm_op(
- XEN_GUEST_HANDLE(xsm_op_t) u_xsm_op);
+ XEN_GUEST_HANDLE_PARAM(xsm_op_t) u_xsm_op);
extern long
do_tmem_op(
- XEN_GUEST_HANDLE(tmem_op_t) uops);
+ XEN_GUEST_HANDLE_PARAM(tmem_op_t) uops);
extern long
-do_xenoprof_op(int op, XEN_GUEST_HANDLE(void) arg);
+do_xenoprof_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg);
#ifdef CONFIG_COMPAT
extern int
compat_memory_op(
unsigned int cmd,
- XEN_GUEST_HANDLE(void) arg);
+ XEN_GUEST_HANDLE_PARAM(void) arg);
extern int
compat_grant_table_op(
unsigned int cmd,
- XEN_GUEST_HANDLE(void) uop,
+ XEN_GUEST_HANDLE_PARAM(void) uop,
unsigned int count);
extern int
compat_vcpu_op(
int cmd,
int vcpuid,
- XEN_GUEST_HANDLE(void) arg);
+ XEN_GUEST_HANDLE_PARAM(void) arg);
extern int
-compat_xenoprof_op(int op, XEN_GUEST_HANDLE(void) arg);
+compat_xenoprof_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg);
extern int
compat_xen_version(
int cmd,
- XEN_GUEST_HANDLE(void) arg);
+ XEN_GUEST_HANDLE_PARAM(void) arg);
extern int
compat_sched_op(
int cmd,
- XEN_GUEST_HANDLE(void) arg);
+ XEN_GUEST_HANDLE_PARAM(void) arg);
extern int
compat_set_timer_op(
void iommu_set_dom0_mapping(struct domain *d);
void iommu_share_p2m_table(struct domain *d);
-int iommu_do_domctl(struct xen_domctl *, XEN_GUEST_HANDLE(xen_domctl_t));
+int iommu_do_domctl(struct xen_domctl *, XEN_GUEST_HANDLE_PARAM(xen_domctl_t));
void iommu_iotlb_flush(struct domain *d, unsigned long gfn, unsigned int page_count);
void iommu_iotlb_flush_all(struct domain *d);
typedef XEN_GUEST_HANDLE(void) cli_mfn_t;
typedef XEN_GUEST_HANDLE(char) cli_va_t;
*/
-typedef XEN_GUEST_HANDLE(tmem_op_t) tmem_cli_op_t;
+typedef XEN_GUEST_HANDLE_PARAM(tmem_op_t) tmem_cli_op_t;
+typedef XEN_GUEST_HANDLE_PARAM(char) tmem_cli_va_param_t;
static inline int tmh_get_tmemop_from_client(tmem_op_t *op, tmem_cli_op_t uops)
{
#define tmh_cli_buf_null guest_handle_from_ptr(NULL, char)
-static inline void tmh_copy_to_client_buf_offset(tmem_cli_va_t clibuf, int off,
- char *tmembuf, int len)
+static inline void tmh_copy_to_client_buf_offset(tmem_cli_va_param_t clibuf,
+ int off,
+ char *tmembuf, int len)
{
copy_to_guest_offset(clibuf,off,tmembuf,len);
}
#define tmh_cli_id_str "domid"
#define tmh_client_str "domain"
-int tmh_decompress_to_client(tmem_cli_mfn_t, void *, size_t, tmem_cli_va_t);
+int tmh_decompress_to_client(tmem_cli_mfn_t, void *, size_t,
+ tmem_cli_va_param_t);
-int tmh_compress_from_client(tmem_cli_mfn_t, void **, size_t *, tmem_cli_va_t);
+int tmh_compress_from_client(tmem_cli_mfn_t, void **, size_t *,
+ tmem_cli_va_param_t);
int tmh_copy_from_client(pfp_t *, tmem_cli_mfn_t, pagesize_t tmem_offset,
- pagesize_t pfn_offset, pagesize_t len, tmem_cli_va_t);
+ pagesize_t pfn_offset, pagesize_t len, tmem_cli_va_param_t);
int tmh_copy_to_client(tmem_cli_mfn_t, pfp_t *, pagesize_t tmem_offset,
- pagesize_t pfn_offset, pagesize_t len, tmem_cli_va_t);
+ pagesize_t pfn_offset, pagesize_t len, tmem_cli_va_param_t);
extern int tmh_copy_tze_to_client(tmem_cli_mfn_t cmfn, void *tmem_va, pagesize_t len);
int (*cpupool_op)(void);
int (*sched_op)(void);
- long (*__do_xsm_op) (XEN_GUEST_HANDLE(xsm_op_t) op);
+ long (*__do_xsm_op) (XEN_GUEST_HANDLE_PARAM(xsm_op_t) op);
#ifdef CONFIG_X86
int (*shadow_control) (struct domain *d, uint32_t op);
return xsm_call(sched_op());
}
-static inline long __do_xsm_op (XEN_GUEST_HANDLE(xsm_op_t) op)
+static inline long __do_xsm_op (XEN_GUEST_HANDLE_PARAM(xsm_op_t) op)
{
#ifdef XSM_ENABLE
return xsm_ops->__do_xsm_op(op);
return 0;
}
-static long dummy___do_xsm_op(XEN_GUEST_HANDLE(xsm_op_t) op)
+static long dummy___do_xsm_op(XEN_GUEST_HANDLE_PARAM(xsm_op_t) op)
{
return -ENOSYS;
}
perms, NULL);
}
-static int flask_copyin_string(XEN_GUEST_HANDLE(char) u_buf, char **buf, uint32_t size)
+static int flask_copyin_string(XEN_GUEST_HANDLE_PARAM(char) u_buf, char **buf, uint32_t size)
{
char *tmp = xmalloc_bytes(size + 1);
if ( !tmp )
return rc;
}
-long do_flask_op(XEN_GUEST_HANDLE(xsm_op_t) u_flask_op)
+long do_flask_op(XEN_GUEST_HANDLE_PARAM(xsm_op_t) u_flask_op)
{
xen_flask_op_t op;
int rv;
}
#endif
-long do_flask_op(XEN_GUEST_HANDLE(xsm_op_t) u_flask_op);
+long do_flask_op(XEN_GUEST_HANDLE_PARAM(xsm_op_t) u_flask_op);
static struct xsm_operations flask_ops = {
.security_domaininfo = flask_security_domaininfo,
#endif
-long do_xsm_op (XEN_GUEST_HANDLE(xsm_op_t) op)
+long do_xsm_op (XEN_GUEST_HANDLE_PARAM(xsm_op_t) op)
{
return __do_xsm_op(op);
}