WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] Clean up sched_op() hypercall interface. One particular

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Clean up sched_op() hypercall interface. One particular
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 04 Oct 2005 14:46:10 +0000
Delivery-date: Tue, 04 Oct 2005 14:43:44 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 540d17fe32cedf404f3b2b4922797a814b5f3816
# Parent  ec84b119e4ed1f69bd91ec9233c2c3feab464b2e
Clean up sched_op() hypercall interface. One particular
change to watch out for is that the suspend record, on
save/restore, is now passed via register %edx not %esi
(both i386 and x86/64).

Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>

diff -r ec84b119e4ed -r 540d17fe32ce 
linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c
--- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c       Tue Oct  4 
14:02:51 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c       Tue Oct  4 
14:34:02 2005
@@ -106,7 +106,8 @@
                local_irq_enable();
        } else {
                stop_hz_timer();
-               HYPERVISOR_block(); /* implicit local_irq_enable() */
+               /* Blocking includes an implicit local_irq_enable(). */
+               HYPERVISOR_sched_op(SCHEDOP_block, 0);
                start_hz_timer();
        }
 }
@@ -122,7 +123,7 @@
 {
        /* Death loop */
        while (__get_cpu_var(cpu_state) != CPU_UP_PREPARE)
-               HYPERVISOR_yield();
+               HYPERVISOR_sched_op(SCHEDOP_yield, 0);
 
        __flush_tlb_all();
    /* 
diff -r ec84b119e4ed -r 540d17fe32ce 
linux-2.6-xen-sparse/arch/xen/i386/kernel/setup.c
--- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/setup.c Tue Oct  4 14:02:51 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/setup.c Tue Oct  4 14:34:02 2005
@@ -1784,7 +1784,7 @@
 static int
 xen_panic_event(struct notifier_block *this, unsigned long event, void *ptr)
 {
-       HYPERVISOR_crash();    
+       HYPERVISOR_sched_op(SCHEDOP_shutdown, SHUTDOWN_crash);
        /* we're never actually going to get here... */
        return NOTIFY_DONE;
 }
diff -r ec84b119e4ed -r 540d17fe32ce 
linux-2.6-xen-sparse/arch/xen/kernel/reboot.c
--- a/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c     Tue Oct  4 14:02:51 2005
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c     Tue Oct  4 14:34:02 2005
@@ -26,7 +26,7 @@
        /* We really want to get pending console data out before we die. */
        extern void xencons_force_flush(void);
        xencons_force_flush();
-       HYPERVISOR_reboot();
+       HYPERVISOR_sched_op(SCHEDOP_shutdown, SHUTDOWN_reboot);
 }
 
 void machine_halt(void)
@@ -39,7 +39,7 @@
        /* We really want to get pending console data out before we die. */
        extern void xencons_force_flush(void);
        xencons_force_flush();
-       HYPERVISOR_shutdown();
+       HYPERVISOR_sched_op(SCHEDOP_shutdown, SHUTDOWN_poweroff);
 }
 
 int reboot_thru_bios = 0;      /* for dmi_scan.c */
diff -r ec84b119e4ed -r 540d17fe32ce 
linux-2.6-xen-sparse/arch/xen/x86_64/kernel/process.c
--- a/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/process.c     Tue Oct  4 
14:02:51 2005
+++ b/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/process.c     Tue Oct  4 
14:34:02 2005
@@ -96,7 +96,8 @@
                local_irq_enable();
        } else {
                stop_hz_timer();
-               HYPERVISOR_block(); /* implicit local_irq_enable() */
+               /* Blocking includes an implicit local_irq_enable(). */
+               HYPERVISOR_sched_op(SCHEDOP_block, 0);
                start_hz_timer();
        }
 }
@@ -114,7 +115,7 @@
         * it "work" for testing purposes. */
        /* Death loop */
        while (__get_cpu_var(cpu_state) != CPU_UP_PREPARE)
-               HYPERVISOR_yield();
+               HYPERVISOR_sched_op(SCHEDOP_yield, 0);
 
        local_irq_disable();
        __flush_tlb_all();
diff -r ec84b119e4ed -r 540d17fe32ce 
linux-2.6-xen-sparse/include/asm-xen/asm-i386/hypercall.h
--- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/hypercall.h Tue Oct  4 
14:02:51 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/hypercall.h Tue Oct  4 
14:34:02 2005
@@ -31,6 +31,7 @@
 #define __HYPERCALL_H__
 
 #include <asm-xen/xen-public/xen.h>
+#include <asm-xen/xen-public/sched.h>
 
 #define _hypercall0(type, name)                        \
 ({                                             \
@@ -160,41 +161,10 @@
 }
 
 static inline int
-HYPERVISOR_yield(
-       void)
-{
-       return _hypercall2(int, sched_op, SCHEDOP_yield, 0);
-}
-
-static inline int
-HYPERVISOR_block(
-       void)
-{
-       return _hypercall2(int, sched_op, SCHEDOP_block, 0);
-}
-
-static inline int
-HYPERVISOR_shutdown(
-       void)
-{
-       return _hypercall2(int, sched_op, SCHEDOP_shutdown |
-                          (SHUTDOWN_poweroff << SCHEDOP_reasonshift), 0);
-}
-
-static inline int
-HYPERVISOR_reboot(
-       void)
-{
-       return _hypercall2(int, sched_op, SCHEDOP_shutdown |
-                          (SHUTDOWN_reboot << SCHEDOP_reasonshift), 0);
-}
-
-static inline int
-HYPERVISOR_crash(
-       void)
-{
-       return _hypercall2(int, sched_op, SCHEDOP_shutdown |
-                          (SHUTDOWN_crash << SCHEDOP_reasonshift), 0);
+HYPERVISOR_sched_op(
+       int cmd, unsigned long arg)
+{
+       return _hypercall2(int, sched_op, cmd, arg);
 }
 
 static inline long
@@ -326,19 +296,8 @@
 HYPERVISOR_suspend(
        unsigned long srec)
 {
-       int ret;
-       unsigned long ign1, ign2;
-
-       /* On suspend, control software expects a suspend record in %esi. */
-       __asm__ __volatile__ (
-               TRAP_INSTR
-               : "=a" (ret), "=b" (ign1), "=S" (ign2)
-               : "0" (__HYPERVISOR_sched_op),
-               "1" (SCHEDOP_shutdown | (SHUTDOWN_suspend <<
-                                        SCHEDOP_reasonshift)), 
-               "2" (srec) : "memory", "ecx");
-
-       return ret;
+       return _hypercall3(int, sched_op, SCHEDOP_shutdown,
+                          SHUTDOWN_suspend, srec);
 }
 
 #endif /* __HYPERCALL_H__ */
diff -r ec84b119e4ed -r 540d17fe32ce 
linux-2.6-xen-sparse/include/asm-xen/asm-ia64/hypercall.h
--- a/linux-2.6-xen-sparse/include/asm-xen/asm-ia64/hypercall.h Tue Oct  4 
14:02:51 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/asm-ia64/hypercall.h Tue Oct  4 
14:34:02 2005
@@ -29,7 +29,9 @@
 
 #ifndef __HYPERCALL_H__
 #define __HYPERCALL_H__
+
 #include <asm-xen/xen-public/xen.h>
+#include <asm-xen/xen-public/sched.h>
 
 /* FIXME: temp place to hold these page related macros */
 #include <asm/page.h>
@@ -184,77 +186,9 @@
 }
 
 static inline int
-HYPERVISOR_yield(
-    void)
-{
-#if 0
-    int ret;
-    unsigned long ign;
-
-    __asm__ __volatile__ (
-        TRAP_INSTR
-        : "=a" (ret), "=b" (ign)
-       : "0" (__HYPERVISOR_sched_op), "1" (SCHEDOP_yield)
-       : "memory" );
-
-    return ret;
-#endif
-    return 1;
-}
-
-static inline int
-HYPERVISOR_block(
-    void)
-{
-#if 0
-    int ret;
-    unsigned long ign1;
-    __asm__ __volatile__ (
-        TRAP_INSTR
-        : "=a" (ret), "=b" (ign1)
-       : "0" (__HYPERVISOR_sched_op), "1" (SCHEDOP_block)
-       : "memory" );
-
-    return ret;
-#endif
-    return 1;
-}
-
-static inline int
-HYPERVISOR_shutdown(
-    void)
-{
-#if 0
-    int ret;
-    unsigned long ign1;
-    __asm__ __volatile__ (
-        TRAP_INSTR
-        : "=a" (ret), "=b" (ign1)
-       : "0" (__HYPERVISOR_sched_op),
-         "1" (SCHEDOP_shutdown | (SHUTDOWN_poweroff << SCHEDOP_reasonshift))
-        : "memory" );
-
-    return ret;
-#endif
-    return 1;
-}
-
-static inline int
-HYPERVISOR_reboot(
-    void)
-{
-#if 0
-    int ret;
-    unsigned long ign1;
-    __asm__ __volatile__ (
-        TRAP_INSTR
-        : "=a" (ret), "=b" (ign1)
-       : "0" (__HYPERVISOR_sched_op),
-         "1" (SCHEDOP_shutdown | (SHUTDOWN_reboot << SCHEDOP_reasonshift))
-        : "memory" );
-
-    return ret;
-#endif
+HYPERVISOR_sched_op(
+    int cmd, unsigned long arg)
+{
     return 1;
 }
 
@@ -262,39 +196,6 @@
 HYPERVISOR_suspend(
     unsigned long srec)
 {
-#if 0
-    int ret;
-    unsigned long ign1, ign2;
-
-    /* NB. On suspend, control software expects a suspend record in %esi. */
-    __asm__ __volatile__ (
-        TRAP_INSTR
-        : "=a" (ret), "=b" (ign1), "=S" (ign2)
-       : "0" (__HYPERVISOR_sched_op),
-        "b" (SCHEDOP_shutdown | (SHUTDOWN_suspend << SCHEDOP_reasonshift)), 
-        "S" (srec) : "memory");
-
-    return ret;
-#endif
-    return 1;
-}
-
-static inline int
-HYPERVISOR_crash(
-    void)
-{
-#if 0
-    int ret;
-    unsigned long ign1;
-    __asm__ __volatile__ (
-        TRAP_INSTR
-        : "=a" (ret), "=b" (ign1)
-       : "0" (__HYPERVISOR_sched_op),
-         "1" (SCHEDOP_shutdown | (SHUTDOWN_crash << SCHEDOP_reasonshift))
-        : "memory" );
-
-    return ret;
-#endif
     return 1;
 }
 
diff -r ec84b119e4ed -r 540d17fe32ce 
linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypercall.h
--- a/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypercall.h       Tue Oct 
 4 14:02:51 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypercall.h       Tue Oct 
 4 14:34:02 2005
@@ -35,6 +35,7 @@
 #define __HYPERCALL_H__
 
 #include <asm-xen/xen-public/xen.h>
+#include <asm-xen/xen-public/sched.h>
 
 #define __syscall_clobber "r11","rcx","memory"
 
@@ -165,33 +166,10 @@
 }
 
 static inline int
-HYPERVISOR_yield(
-       void)
-{
-       return _hypercall2(int, sched_op, SCHEDOP_yield, 0);
-}
-
-static inline int
-HYPERVISOR_block(
-       void)
-{
-       return _hypercall2(int, sched_op, SCHEDOP_block, 0);
-}
-
-static inline int
-HYPERVISOR_shutdown(
-       void)
-{
-       return _hypercall2(int, sched_op, SCHEDOP_shutdown |
-                          (SHUTDOWN_poweroff << SCHEDOP_reasonshift), 0);
-}
-
-static inline int
-HYPERVISOR_reboot(
-       void)
-{
-       return _hypercall2(int, sched_op, SCHEDOP_shutdown |
-                          (SHUTDOWN_reboot << SCHEDOP_reasonshift), 0);
+HYPERVISOR_sched_op(
+       int cmd, unsigned long arg)
+{
+       return _hypercall2(int, sched_op, cmd, arg);
 }
 
 static inline long
@@ -325,8 +303,8 @@
 HYPERVISOR_suspend(
        unsigned long srec)
 {
-       return _hypercall2(int, sched_op, SCHEDOP_shutdown |
-                          (SHUTDOWN_suspend << SCHEDOP_reasonshift), srec);
+       return _hypercall3(int, sched_op, SCHEDOP_shutdown,
+                          SHUTDOWN_suspend, srec);
 }
 
 #endif /* __HYPERCALL_H__ */
diff -r ec84b119e4ed -r 540d17fe32ce tools/libxc/xc_linux_restore.c
--- a/tools/libxc/xc_linux_restore.c    Tue Oct  4 14:02:51 2005
+++ b/tools/libxc/xc_linux_restore.c    Tue Oct  4 14:34:02 2005
@@ -500,13 +500,13 @@
     }
 
     /* Uncanonicalise the suspend-record frame number and poke resume rec. */
-    pfn = ctxt.user_regs.esi;
+    pfn = ctxt.user_regs.edx;
     if ( (pfn >= nr_pfns) || (pfn_type[pfn] != NOTAB) )
     {
         ERR("Suspend record frame number is bad");
         goto out;
     }
-    ctxt.user_regs.esi = mfn = pfn_to_mfn_table[pfn];
+    ctxt.user_regs.edx = mfn = pfn_to_mfn_table[pfn];
     start_info = xc_map_foreign_range(
         xc_handle, dom, PAGE_SIZE, PROT_READ | PROT_WRITE, mfn);
     start_info->nr_pages    = nr_pfns;
diff -r ec84b119e4ed -r 540d17fe32ce tools/libxc/xc_linux_save.c
--- a/tools/libxc/xc_linux_save.c       Tue Oct  4 14:02:51 2005
+++ b/tools/libxc/xc_linux_save.c       Tue Oct  4 14:34:02 2005
@@ -978,9 +978,9 @@
                     goto out;
                 }
 
-                DPRINTF("SUSPEND shinfo %08lx eip %08u esi %08u\n",
+                DPRINTF("SUSPEND shinfo %08lx eip %08u edx %08u\n",
                         info.shared_info_frame,
-                        ctxt.user_regs.eip, ctxt.user_regs.esi);
+                        ctxt.user_regs.eip, ctxt.user_regs.edx);
             } 
 
             if ( xc_shadow_control( xc_handle, dom, 
@@ -1048,7 +1048,7 @@
     }
 
     /* Canonicalise the suspend-record frame number. */
-    if ( !translate_mfn_to_pfn(&ctxt.user_regs.esi) )
+    if ( !translate_mfn_to_pfn(&ctxt.user_regs.edx) )
     {
         ERR("Suspend record is not in range of pseudophys map");
         goto out;
diff -r ec84b119e4ed -r 540d17fe32ce tools/libxc/xenctrl.h
--- a/tools/libxc/xenctrl.h     Tue Oct  4 14:02:51 2005
+++ b/tools/libxc/xenctrl.h     Tue Oct  4 14:34:02 2005
@@ -25,6 +25,7 @@
 #include <xen/dom0_ops.h>
 #include <xen/version.h>
 #include <xen/event_channel.h>
+#include <xen/sched.h>
 #include <xen/sched_ctl.h>
 #include <xen/acm.h>
 
diff -r ec84b119e4ed -r 540d17fe32ce 
tools/xenstat/libxenstat/src/xen-interface.h
--- a/tools/xenstat/libxenstat/src/xen-interface.h      Tue Oct  4 14:02:51 2005
+++ b/tools/xenstat/libxenstat/src/xen-interface.h      Tue Oct  4 14:34:02 2005
@@ -28,6 +28,7 @@
 
 #include <xen/xen.h>
 #include <xen/dom0_ops.h>
+#include <xen/sched.h>
 #include <xen/version.h>
 
 /* Opaque handles */
diff -r ec84b119e4ed -r 540d17fe32ce xen/arch/x86/vmx.c
--- a/xen/arch/x86/vmx.c        Tue Oct  4 14:02:51 2005
+++ b/xen/arch/x86/vmx.c        Tue Oct  4 14:34:02 2005
@@ -41,7 +41,7 @@
 #if CONFIG_PAGING_LEVELS >= 3
 #include <asm/shadow_64.h>
 #endif
-
+#include <public/sched.h>
 #include <public/io/ioreq.h>
 
 int hvm_enabled;
diff -r ec84b119e4ed -r 540d17fe32ce xen/common/domain.c
--- a/xen/common/domain.c       Tue Oct  4 14:02:51 2005
+++ b/xen/common/domain.c       Tue Oct  4 14:34:02 2005
@@ -18,6 +18,7 @@
 #include <xen/domain_page.h>
 #include <asm/debugger.h>
 #include <public/dom0_ops.h>
+#include <public/sched.h>
 #include <public/vcpu.h>
 
 /* Both these structures are protected by the domlist_lock. */
diff -r ec84b119e4ed -r 540d17fe32ce xen/common/schedule.c
--- a/xen/common/schedule.c     Tue Oct  4 14:02:51 2005
+++ b/xen/common/schedule.c     Tue Oct  4 14:34:02 2005
@@ -36,6 +36,7 @@
 #include <xen/softirq.h>
 #include <xen/trace.h>
 #include <xen/mm.h>
+#include <public/sched.h>
 #include <public/sched_ctl.h>
 
 extern void arch_getdomaininfo_ctxt(struct vcpu *,
@@ -270,11 +271,11 @@
     return 0;
 }
 
-long do_sched_op(unsigned long op, unsigned long arg)
+long do_sched_op(int cmd, unsigned long arg)
 {
     long ret = 0;
 
-    switch ( op & SCHEDOP_cmdmask ) 
+    switch ( cmd )
     {
     case SCHEDOP_yield:
     {
@@ -291,9 +292,8 @@
     case SCHEDOP_shutdown:
     {
         TRACE_3D(TRC_SCHED_SHUTDOWN,
-                 current->domain->domain_id, current->vcpu_id,
-                 (op >> SCHEDOP_reasonshift));
-        domain_shutdown((u8)(op >> SCHEDOP_reasonshift));
+                 current->domain->domain_id, current->vcpu_id, arg);
+        domain_shutdown((u8)arg);
         break;
     }
 
diff -r ec84b119e4ed -r 540d17fe32ce xen/include/public/dom0_ops.h
--- a/xen/include/public/dom0_ops.h     Tue Oct  4 14:02:51 2005
+++ b/xen/include/public/dom0_ops.h     Tue Oct  4 14:34:02 2005
@@ -19,7 +19,7 @@
  * This makes sure that old versions of dom0 tools will stop working in a
  * well-defined way (rather than crashing the machine, for instance).
  */
-#define DOM0_INTERFACE_VERSION   0xAAAA1010
+#define DOM0_INTERFACE_VERSION   0xAAAA1011
 
 /************************************************************************/
 
diff -r ec84b119e4ed -r 540d17fe32ce xen/include/public/xen.h
--- a/xen/include/public/xen.h  Tue Oct  4 14:02:51 2005
+++ b/xen/include/public/xen.h  Tue Oct  4 14:34:02 2005
@@ -194,25 +194,6 @@
 #define UVMF_MULTI              (0UL<<2) /* Flush subset of TLBs. */
 #define UVMF_LOCAL              (0UL<<2) /* Flush local TLB.      */
 #define UVMF_ALL                (1UL<<2) /* Flush all TLBs.       */
-
-/*
- * Commands to HYPERVISOR_sched_op().
- */
-#define SCHEDOP_yield           0   /* Give up the CPU voluntarily.       */
-#define SCHEDOP_block           1   /* Block until an event is received.  */
-#define SCHEDOP_shutdown        2   /* Stop executing this domain.        */
-#define SCHEDOP_cmdmask       255   /* 8-bit command. */
-#define SCHEDOP_reasonshift     8   /* 8-bit reason code. (SCHEDOP_shutdown) */
-
-/*
- * Reason codes for SCHEDOP_shutdown. These may be interpreted by control 
- * software to determine the appropriate action. For the most part, Xen does
- * not care about the shutdown code (SHUTDOWN_crash excepted).
- */
-#define SHUTDOWN_poweroff   0  /* Domain exited normally. Clean up and kill. */
-#define SHUTDOWN_reboot     1  /* Clean up, kill, and then restart.          */
-#define SHUTDOWN_suspend    2  /* Clean up, save suspend info, kill.         */
-#define SHUTDOWN_crash      3  /* Tell controller we've crashed.             */
 
 /*
  * Commands to HYPERVISOR_console_io().
diff -r ec84b119e4ed -r 540d17fe32ce xen/include/public/sched.h
--- /dev/null   Tue Oct  4 14:02:51 2005
+++ b/xen/include/public/sched.h        Tue Oct  4 14:34:02 2005
@@ -0,0 +1,50 @@
+/******************************************************************************
+ * sched.h
+ * 
+ * Scheduler state interactions
+ * 
+ * Copyright (c) 2005, Keir Fraser <keir@xxxxxxxxxxxxx>
+ */
+
+#ifndef __XEN_PUBLIC_SCHED_H__
+#define __XEN_PUBLIC_SCHED_H__
+
+/*
+ * Prototype for this hypercall is:
+ *  int sched_op(int cmd, unsigned long arg)
+ * @cmd == SCHEDOP_??? (scheduler operation).
+ * @arg == Operation-specific extra argument(s).
+ */
+
+/*
+ * Voluntarily yield the CPU.
+ * @arg == 0.
+ */
+#define SCHEDOP_yield       0
+
+/*
+ * Block execution of this VCPU until an event is received for processing.
+ * If called with event upcalls masked, this operation will atomically
+ * reenable event delivery and check for pending events before blocking the
+ * VCPU. This avoids a "wakeup waiting" race.
+ * @arg == 0.
+ */
+#define SCHEDOP_block       1
+
+/*
+ * Halt execution of this domain (all VCPUs) and notify the system controller.
+ * @arg == SHUTDOWN_??? (reason for shutdown).
+ */
+#define SCHEDOP_shutdown    2
+
+/*
+ * Reason codes for SCHEDOP_shutdown. These may be interpreted by controller
+ * software to determine the appropriate action. For the most part, Xen does
+ * not care about the shutdown code.
+ */
+#define SHUTDOWN_poweroff   0  /* Domain exited normally. Clean up and kill. */
+#define SHUTDOWN_reboot     1  /* Clean up, kill, and then restart.          */
+#define SHUTDOWN_suspend    2  /* Clean up, save suspend info, kill.         */
+#define SHUTDOWN_crash      3  /* Tell controller we've crashed.             */
+
+#endif /* __XEN_PUBLIC_SCHED_H__ */

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Clean up sched_op() hypercall interface. One particular, Xen patchbot -unstable <=