[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-ia64-devel] [PATCH] PV-on-HVM fix



Hi Alex,

  I've checked your patch on xen-unstable.hg(cs:14797).

  In our simple test, PV-on-HVM driver works correctly on IPF.

FYI: xenbus.ko and reboot.ko has be merged in xen-platform.ko.

Thanks,
- Tsunehisa Doi

You (alex.williamson) said:
> Hi,
> 
>    I believe the patch below fixes PV-on-HVM on xen-unstable.hg.  I'm
> simply adding (untested) xencomm mini sched_op support.  Let me know if
> this looks good.  Thanks,
> 
>       Alex
> 
> Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
> ---
> 
> diff -r d56692b16296 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 23:05:07
 2007 +0100
> +++ b/linux-2.6-xen-sparse/arch/ia64/xen/xcom_mini.c  Wed Apr 11 22:32:35
 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 d56692b16296 linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h
> --- a/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h      Wed Apr 11 
23:05:07 2007 +0100
> +++ b/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h      Wed Apr 11 
22:23:29 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-ia64-devel mailing list
> Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-ia64-devel
> 

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.