diff options
Diffstat (limited to 'arch/arm/xen')
| -rw-r--r-- | arch/arm/xen/enlighten.c | 11 | ||||
| -rw-r--r-- | arch/arm/xen/grant-table.c | 2 | ||||
| -rw-r--r-- | arch/arm/xen/hypercall.S | 14 | 
3 files changed, 17 insertions, 10 deletions
diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c index 59bcb96ac36..f5760927544 100644 --- a/arch/arm/xen/enlighten.c +++ b/arch/arm/xen/enlighten.c @@ -166,3 +166,14 @@ void free_xenballooned_pages(int nr_pages, struct page **pages)  	*pages = NULL;  }  EXPORT_SYMBOL_GPL(free_xenballooned_pages); + +/* In the hypervisor.S file. */ +EXPORT_SYMBOL_GPL(HYPERVISOR_event_channel_op); +EXPORT_SYMBOL_GPL(HYPERVISOR_grant_table_op); +EXPORT_SYMBOL_GPL(HYPERVISOR_xen_version); +EXPORT_SYMBOL_GPL(HYPERVISOR_console_io); +EXPORT_SYMBOL_GPL(HYPERVISOR_sched_op); +EXPORT_SYMBOL_GPL(HYPERVISOR_hvm_op); +EXPORT_SYMBOL_GPL(HYPERVISOR_memory_op); +EXPORT_SYMBOL_GPL(HYPERVISOR_physdev_op); +EXPORT_SYMBOL_GPL(privcmd_call); diff --git a/arch/arm/xen/grant-table.c b/arch/arm/xen/grant-table.c index dbd1330c019..859a9bb002d 100644 --- a/arch/arm/xen/grant-table.c +++ b/arch/arm/xen/grant-table.c @@ -33,7 +33,7 @@  #include <xen/page.h>  #include <xen/grant_table.h> -int arch_gnttab_map_shared(unsigned long *frames, unsigned long nr_gframes, +int arch_gnttab_map_shared(xen_pfn_t *frames, unsigned long nr_gframes,  			   unsigned long max_nr_gframes,  			   void **__shared)  { diff --git a/arch/arm/xen/hypercall.S b/arch/arm/xen/hypercall.S index 074f5ed101b..71f723984cb 100644 --- a/arch/arm/xen/hypercall.S +++ b/arch/arm/xen/hypercall.S @@ -48,20 +48,16 @@  #include <linux/linkage.h>  #include <asm/assembler.h> +#include <asm/opcodes-virt.h>  #include <xen/interface/xen.h> -/* HVC 0xEA1 */ -#ifdef CONFIG_THUMB2_KERNEL -#define xen_hvc .word 0xf7e08ea1 -#else -#define xen_hvc .word 0xe140ea71 -#endif +#define XEN_IMM 0xEA1  #define HYPERCALL_SIMPLE(hypercall)		\  ENTRY(HYPERVISOR_##hypercall)			\  	mov r12, #__HYPERVISOR_##hypercall;	\ -	xen_hvc;							\ +	__HVC(XEN_IMM);						\  	mov pc, lr;							\  ENDPROC(HYPERVISOR_##hypercall) @@ -76,7 +72,7 @@ ENTRY(HYPERVISOR_##hypercall)			\  	stmdb sp!, {r4}						\  	ldr r4, [sp, #4]					\  	mov r12, #__HYPERVISOR_##hypercall;	\ -	xen_hvc								\ +	__HVC(XEN_IMM);						\  	ldm sp!, {r4}						\  	mov pc, lr							\  ENDPROC(HYPERVISOR_##hypercall) @@ -100,7 +96,7 @@ ENTRY(privcmd_call)  	mov r2, r3  	ldr r3, [sp, #8]  	ldr r4, [sp, #4] -	xen_hvc +	__HVC(XEN_IMM)  	ldm sp!, {r4}  	mov pc, lr  ENDPROC(privcmd_call);  |