From: Stefano Stabellini Date: Wed, 14 Mar 2012 09:47:05 +0000 (+0000) Subject: arm: introduce more hypercalls X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=3bb0aad8ea63256359402126dd5030f55e954128;p=xen.git arm: introduce more hypercalls Implement xen_version, event_channel_op, memory_op sysctl and physdev_op hypercalls. Signed-off-by: Stefano Stabellini Committed-by: Ian Campbell --- diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile index 946a4ae48d..d5afb6ba9e 100644 --- a/xen/arch/arm/Makefile +++ b/xen/arch/arm/Makefile @@ -15,6 +15,7 @@ obj-y += mm.o obj-y += p2m.o obj-y += percpu.o obj-y += guestcopy.o +obj-y += physdev.o obj-y += setup.o obj-y += time.o obj-y += smpboot.o diff --git a/xen/arch/arm/physdev.c b/xen/arch/arm/physdev.c new file mode 100644 index 0000000000..bcf43370a2 --- /dev/null +++ b/xen/arch/arm/physdev.c @@ -0,0 +1,27 @@ +/****************************************************************************** + * Arch-specific physdev.c + * + * Copyright (c) 2012, Citrix Systems + */ + +#include +#include +#include +#include +#include + + +int do_physdev_op(int cmd, XEN_GUEST_HANDLE(void) arg) +{ + printk("%s %d cmd=%d: not implemented yet\n", __func__, __LINE__, cmd); + return -ENOSYS; +} + +/* + * Local variables: + * mode: C + * c-set-style: "BSD" + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + */ diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c index acf8f6e2fc..6304bbd23a 100644 --- a/xen/arch/arm/traps.c +++ b/xen/arch/arm/traps.c @@ -376,6 +376,11 @@ static arm_hypercall_t *arm_hypercall_table[] = { HYPERCALL(arch_0), HYPERCALL(sched_op), HYPERCALL(console_io), + HYPERCALL(xen_version), + HYPERCALL(event_channel_op), + HYPERCALL(memory_op), + HYPERCALL(physdev_op), + HYPERCALL(sysctl), }; static void do_debug_trap(struct cpu_user_regs *regs, unsigned int code) diff --git a/xen/include/asm-arm/hypercall.h b/xen/include/asm-arm/hypercall.h index e8405078e1..454f02ef71 100644 --- a/xen/include/asm-arm/hypercall.h +++ b/xen/include/asm-arm/hypercall.h @@ -2,6 +2,7 @@ #define __ASM_ARM_HYPERCALL_H__ #include /* for arch_do_domctl */ +int do_physdev_op(int cmd, XEN_GUEST_HANDLE(void) arg); #endif /* __ASM_ARM_HYPERCALL_H__ */ /*