aboutsummaryrefslogtreecommitdiffstats
path: root/examples/osu035/example.constr
blob: eb2c6e8d519fb32079f49dfdfe7680cdd956541d (plain)
1
2
ref='#n1'>1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
/******************************************************************************
 * hypercall.h
 */

#ifndef __XEN_HYPERCALL_H__
#define __XEN_HYPERCALL_H__

#include <xen/config.h>
#include <xen/types.h>
#include <xen/time.h>
#include <public/xen.h>
#include <public/domctl.h>
#include <public/sysctl.h>
#include <public/platform.h>
#include <public/event_channel.h>
#include <public/tmem.h>
#include <asm/hypercall.h>
#include <xsm/xsm.h>

extern long
do_ni_hypercall(
    void);

extern long
do_sched_op_compat(
    int cmd,
    unsigned long arg);

extern long
do_sched_op(
    int cmd,
    XEN_GUEST_HANDLE(void) arg);

extern long
do_domctl(
    XEN_GUEST_HANDLE(xen_domctl_t) u_domctl);

extern long
arch_do_domctl(
    struct xen_domctl *domctl,
    XEN_GUEST_HANDLE(xen_domctl_t) u_domctl);

extern long
do_sysctl(
    XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl);

extern long
do_platform_op(
    XEN_GUEST_HANDLE(xen_platform_op_t) u_xenpf_op);

/*
 * To allow safe resume of do_memory_op() after preemption, we need to know
 * at what point in the page list to resume. For this purpose I steal the
 * high-order bits of the @cmd parameter, which are otherwise unused and zero.
 */
#define MEMOP_EXTENT_SHIFT 6 /* cmd[:6] == start_extent */
#define MEMOP_CMD_MASK     ((1 << MEMOP_EXTENT_SHIFT) - 1)

extern long
do_memory_op(
    unsigned long cmd,
    XEN_GUEST_HANDLE(void) arg);

extern long
do_multicall(
    XEN_GUEST_HANDLE(multicall_entry_t) call_list,
    unsigned int nr_calls);

extern long
do_set_timer_op(
    s_time_t timeout);

extern long
do_event_channel_op(
    int cmd, XEN_GUEST_HANDLE(void) arg);

extern long
do_xen_version(
    int cmd,
    XEN_GUEST_HANDLE(void) arg);

extern long
do_console_io(
    int cmd,
    int count,
    XEN_GUEST_HANDLE(char) buffer);

extern long
do_grant_table_op(
    unsigned int cmd,
    XEN_GUEST_HANDLE(void) uop,
    unsigned int count);

extern long
do_vm_assist(
    unsigned int cmd,
    unsigned int type);

extern long
do_vcpu_op(
    int cmd,
    int vcpuid,
    XEN_GUEST_HANDLE(void) arg);

extern long
do_nmi_op(
    unsigned int cmd,
    XEN_GUEST_HANDLE(void) arg);

extern long
do_hvm_op(
    unsigned long op,
    XEN_GUEST_HANDLE(void) arg);

extern long
do_kexec_op(
    unsigned long op,
    int arg1,
    XEN_GUEST_HANDLE(void) arg);

extern long
do_xsm_op(
    XEN_GUEST_HANDLE(xsm_op_t) u_xsm_op);

extern long
do_tmem_op(
    XEN_GUEST_HANDLE(tmem_op_t) uops);

extern int
do_xenoprof_op(int op, XEN_GUEST_HANDLE(void) arg);

#ifdef CONFIG_COMPAT

extern int
compat_memory_op(
    unsigned int cmd,
    XEN_GUEST_HANDLE(void) arg);

extern int
compat_grant_table_op(
    unsigned int cmd,
    XEN_GUEST_HANDLE(void) uop,
    unsigned int count);

extern int
compat_vcpu_op(
    int cmd,
    int vcpuid,
    XEN_GUEST_HANDLE(void) arg);

extern int
compat_xenoprof_op(int op, XEN_GUEST_HANDLE(void) arg);

extern int
compat_xen_version(
    int cmd,
    XEN_GUEST_HANDLE(void) arg);

extern int
compat_sched_op(
    int cmd,
    XEN_GUEST_HANDLE(void) arg);

extern int
compat_set_timer_op(
    s_time_t timeout);

#endif

#endif /* __XEN_HYPERCALL_H__ */