Rev 1824 | Rev 1830 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1824 | Rev 1829 | ||
---|---|---|---|
Line 34... | Line 34... | ||
34 | 34 | ||
35 | 35 | ||
36 | typedef uint16_t domid_t; |
36 | typedef uint16_t domid_t; |
37 | 37 | ||
38 | 38 | ||
- | 39 | typedef struct { |
|
- | 40 | uint8_t vector; /**< Exception vector */ |
|
- | 41 | uint8_t flags; /**< 0-3: privilege level; 4: clear event enable */ |
|
- | 42 | uint16_t cs; /**< Code selector */ |
|
- | 43 | uintptr_t address; /**< Code offset */ |
|
- | 44 | } trap_info_t; |
|
- | 45 | ||
- | 46 | ||
- | 47 | #define XEN_SET_TRAP_TABLE 0 |
|
39 | #define XEN_MMU_UPDATE 1 |
48 | #define XEN_MMU_UPDATE 1 |
- | 49 | #define XEN_SET_CALLBACKS 4 |
|
40 | #define XEN_UPDATE_VA_MAPPING 14 |
50 | #define XEN_UPDATE_VA_MAPPING 14 |
41 | #define XEN_CONSOLE_IO 18 |
51 | #define XEN_CONSOLE_IO 18 |
42 | #define XEN_VM_ASSIST 21 |
52 | #define XEN_VM_ASSIST 21 |
43 | #define XEN_MMUEXT_OP 26 |
53 | #define XEN_MMUEXT_OP 26 |
44 | 54 | ||
Line 196... | Line 206... | ||
196 | static inline int xen_vm_assist(const unsigned int cmd, const unsigned int type) |
206 | static inline int xen_vm_assist(const unsigned int cmd, const unsigned int type) |
197 | { |
207 | { |
198 | return hypercall2(XEN_VM_ASSIST, cmd, type); |
208 | return hypercall2(XEN_VM_ASSIST, cmd, type); |
199 | } |
209 | } |
200 | 210 | ||
- | 211 | static inline int xen_set_callbacks(const unsigned int event_selector, const void *event_address, const unsigned int failsafe_selector, void *failsafe_address) |
|
- | 212 | { |
|
- | 213 | return hypercall4(XEN_SET_CALLBACKS, event_selector, event_address, failsafe_selector, failsafe_address); |
|
- | 214 | } |
|
- | 215 | ||
- | 216 | static inline int xen_set_trap_table(const trap_info_t *table) |
|
- | 217 | { |
|
- | 218 | return hypercall1(XEN_SET_TRAP_TABLE, table); |
|
- | 219 | } |
|
- | 220 | ||
201 | #endif |
221 | #endif |