diff options
Diffstat (limited to 'arch/x86/include/asm/xen')
-rw-r--r-- | arch/x86/include/asm/xen/hypercall.h | 17 | ||||
-rw-r--r-- | arch/x86/include/asm/xen/page.h | 1 |
2 files changed, 18 insertions, 0 deletions
diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xen/hypercall.h index 7fda040a76c..a3c28ae4025 100644 --- a/arch/x86/include/asm/xen/hypercall.h +++ b/arch/x86/include/asm/xen/hypercall.h | |||
@@ -200,6 +200,23 @@ extern struct { char _entry[32]; } hypercall_page[]; | |||
200 | (type)__res; \ | 200 | (type)__res; \ |
201 | }) | 201 | }) |
202 | 202 | ||
203 | static inline long | ||
204 | privcmd_call(unsigned call, | ||
205 | unsigned long a1, unsigned long a2, | ||
206 | unsigned long a3, unsigned long a4, | ||
207 | unsigned long a5) | ||
208 | { | ||
209 | __HYPERCALL_DECLS; | ||
210 | __HYPERCALL_5ARG(a1, a2, a3, a4, a5); | ||
211 | |||
212 | asm volatile("call *%[call]" | ||
213 | : __HYPERCALL_5PARAM | ||
214 | : [call] "a" (&hypercall_page[call]) | ||
215 | : __HYPERCALL_CLOBBER5); | ||
216 | |||
217 | return (long)__res; | ||
218 | } | ||
219 | |||
203 | static inline int | 220 | static inline int |
204 | HYPERVISOR_set_trap_table(struct trap_info *table) | 221 | HYPERVISOR_set_trap_table(struct trap_info *table) |
205 | { | 222 | { |
diff --git a/arch/x86/include/asm/xen/page.h b/arch/x86/include/asm/xen/page.h index 875f5a08a6c..dd8c1414b3d 100644 --- a/arch/x86/include/asm/xen/page.h +++ b/arch/x86/include/asm/xen/page.h | |||
@@ -166,6 +166,7 @@ static inline pte_t __pte_ma(pteval_t x) | |||
166 | 166 | ||
167 | #define pgd_val_ma(x) ((x).pgd) | 167 | #define pgd_val_ma(x) ((x).pgd) |
168 | 168 | ||
169 | void xen_set_domain_pte(pte_t *ptep, pte_t pteval, unsigned domid); | ||
169 | 170 | ||
170 | xmaddr_t arbitrary_virt_to_machine(void *address); | 171 | xmaddr_t arbitrary_virt_to_machine(void *address); |
171 | unsigned long arbitrary_virt_to_mfn(void *vaddr); | 172 | unsigned long arbitrary_virt_to_mfn(void *vaddr); |