|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [IA64] xencomm_privcmd_sched_op
# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 49bf2381e009f00777cb85d0797eb5fbe6f74f15
# Parent 3f3a818d56f53f5dc3c970ed4959374f9be74b22
[IA64] xencomm_privcmd_sched_op
Necessary for reboot on VTi domains.
Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>
---
linux-2.6-xen-sparse/arch/ia64/xen/xcom_privcmd.c | 30 ++++++++++++++++++++++
1 files changed, 30 insertions(+)
diff -r 3f3a818d56f5 -r 49bf2381e009
linux-2.6-xen-sparse/arch/ia64/xen/xcom_privcmd.c
--- a/linux-2.6-xen-sparse/arch/ia64/xen/xcom_privcmd.c Wed Oct 04 22:11:34
2006 -0600
+++ b/linux-2.6-xen-sparse/arch/ia64/xen/xcom_privcmd.c Wed Oct 04 22:11:50
2006 -0600
@@ -545,6 +545,34 @@ xencomm_privcmd_hvm_op(privcmd_hypercall
return ret;
}
+static int
+xencomm_privcmd_sched_op(privcmd_hypercall_t *hypercall)
+{
+ int cmd = hypercall->arg[0];
+ struct xencomm_handle *desc;
+ unsigned int argsize;
+ int ret;
+
+ switch (cmd) {
+ case SCHEDOP_remote_shutdown:
+ argsize = sizeof(sched_remote_shutdown_t);
+ break;
+ default:
+ printk("%s: unknown SCHEDOP %d\n", __func__, cmd);
+ return -EINVAL;
+ }
+
+ ret = xencomm_create((void *)hypercall->arg[1], argsize,
+ &desc, GFP_KERNEL);
+ if (ret)
+ return ret;
+
+ ret = xencomm_arch_hypercall_sched_op(cmd, desc);
+
+ xencomm_free(desc);
+ return ret;
+}
+
int
privcmd_hypercall(privcmd_hypercall_t *hypercall)
{
@@ -565,6 +593,8 @@ privcmd_hypercall(privcmd_hypercall_t *h
return xencomm_privcmd_event_channel_op(hypercall);
case __HYPERVISOR_hvm_op:
return xencomm_privcmd_hvm_op(hypercall);
+ case __HYPERVISOR_sched_op:
+ return xencomm_privcmd_sched_op(hypercall);
default:
printk("%s: unknown hcall (%ld)\n", __func__, hypercall->op);
return -ENOSYS;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [IA64] xencomm_privcmd_sched_op,
Xen patchbot-unstable <=
|
|
|
|
|