Subversion Repositories HelenOS

Rev

Rev 1829 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1829 Rev 1830
Line 46... Line 46...
46
 
46
 
47
#define XEN_SET_TRAP_TABLE      0
47
#define XEN_SET_TRAP_TABLE      0
48
#define XEN_MMU_UPDATE          1
48
#define XEN_MMU_UPDATE          1
49
#define XEN_SET_CALLBACKS       4
49
#define XEN_SET_CALLBACKS       4
50
#define XEN_UPDATE_VA_MAPPING   14
50
#define XEN_UPDATE_VA_MAPPING   14
-
 
51
#define XEN_VERSION             17
51
#define XEN_CONSOLE_IO          18
52
#define XEN_CONSOLE_IO          18
52
#define XEN_VM_ASSIST           21
53
#define XEN_VM_ASSIST           21
53
#define XEN_MMUEXT_OP           26
54
#define XEN_MMUEXT_OP           26
54
 
55
 
55
 
56
 
Line 98... Line 99...
98
 
99
 
99
#define DOMID_SELF (0x7FF0U)
100
#define DOMID_SELF (0x7FF0U)
100
#define DOMID_IO   (0x7FF1U)
101
#define DOMID_IO   (0x7FF1U)
101
 
102
 
102
 
103
 
-
 
104
#define force_evtchn_callback() ((void) xen_version(0, 0))
-
 
105
 
103
#define hypercall0(id)  \
106
#define hypercall0(id)  \
104
    ({  \
107
    ({  \
105
        unative_t ret;  \
108
        unative_t ret;  \
106
        asm volatile (  \
109
        asm volatile (  \
107
            "call hypercall_page + (" STRING(id) " * 32)\n" \
110
            "call hypercall_page + (" STRING(id) " * 32)\n" \
Line 216... Line 219...
216
static inline int xen_set_trap_table(const trap_info_t *table)
219
static inline int xen_set_trap_table(const trap_info_t *table)
217
{
220
{
218
    return hypercall1(XEN_SET_TRAP_TABLE, table);
221
    return hypercall1(XEN_SET_TRAP_TABLE, table);
219
}
222
}
220
 
223
 
-
 
224
static inline int xen_version(const unsigned int cmd, const void *arg)
-
 
225
{
-
 
226
    return hypercall2(XEN_VERSION, cmd, arg);
-
 
227
}
-
 
228
 
221
#endif
229
#endif