[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] Fix PV-on-HVM driver
# HG changeset patch # User Alex Williamson <alex.williamson@xxxxxx> # Date 1176354930 21600 # Node ID e1580c3bb75a7d8a57bbacf5a2a97aa27c3a8b58 # Parent e4bd31a66a2e2bc70faa3851cb8706d791b38f99 [IA64] Fix PV-on-HVM driver xen-platform-pci fails to load w/ undefined symbols for some of the sched_op hypercalls in machine_reboot.c. This adds them to xencomm mini to allow them to be called from modules. Signed-off-by: Alex Williamson <alex.williamson@xxxxxx> --- linux-2.6-xen-sparse/arch/ia64/xen/xcom_mini.c | 36 +++++++++++++++++++++ linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h | 2 - 2 files changed, 37 insertions(+), 1 deletion(-) diff -r e4bd31a66a2e -r e1580c3bb75a linux-2.6-xen-sparse/arch/ia64/xen/xcom_mini.c --- a/linux-2.6-xen-sparse/arch/ia64/xen/xcom_mini.c Wed Apr 11 22:46:10 2007 -0600 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/xcom_mini.c Wed Apr 11 23:15:30 2007 -0600 @@ -418,3 +418,39 @@ xencomm_mini_hypercall_perfmon_op(unsign return xencomm_arch_hypercall_perfmon_op(cmd, desc, count); } EXPORT_SYMBOL_GPL(xencomm_mini_hypercall_perfmon_op); + +int +xencomm_mini_hypercall_sched_op(int cmd, void *arg) +{ + int rc, nbr_area = 2; + struct xencomm_mini xc_area[2]; + struct xencomm_handle *desc; + unsigned int argsize; + + switch (cmd) { + case SCHEDOP_yield: + case SCHEDOP_block: + argsize = 0; + break; + case SCHEDOP_shutdown: + argsize = sizeof(sched_shutdown_t); + break; + case SCHEDOP_poll: + argsize = sizeof(sched_poll_t); + break; + case SCHEDOP_remote_shutdown: + argsize = sizeof(sched_remote_shutdown_t); + break; + + default: + printk("%s: unknown sched op %d\n", __func__, cmd); + return -ENOSYS; + } + + rc = xencomm_create_mini(xc_area, &nbr_area, arg, argsize, &desc); + if (rc) + return rc; + + return xencomm_arch_hypercall_sched_op(cmd, desc); +} +EXPORT_SYMBOL_GPL(xencomm_mini_hypercall_sched_op); diff -r e4bd31a66a2e -r e1580c3bb75a linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h --- a/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h Wed Apr 11 22:46:10 2007 -0600 +++ b/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h Wed Apr 11 23:15:30 2007 -0600 @@ -64,7 +64,6 @@ extern start_info_t *xen_start_info; void force_evtchn_callback(void); -#ifndef CONFIG_VMX_GUEST /* Turn jiffies into Xen system time. XXX Implement me. */ #define jiffies_to_st(j) 0 @@ -116,6 +115,7 @@ HYPERVISOR_poll( return rc; } +#ifndef CONFIG_VMX_GUEST // for drivers/xen/privcmd/privcmd.c #define machine_to_phys_mapping 0 struct vm_area_struct; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |