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-devel

[Xen-devel] [RFC][PATCH 12/13] Kemari: use signal to save qemu state for

To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [RFC][PATCH 12/13] Kemari: use signal to save qemu state for Kemari
From: Yoshiaki Tamura <tamura.yoshiaki@xxxxxxxxxxxxx>
Date: Thu, 12 Mar 2009 10:22:33 +0900
Cc: "柳澤佳里(yanagisawa yoshisato)" <yanagisawa.yoshisato@xxxxxxxxxxxxx>, Ian Pratt <ian.pratt@xxxxxxxxxx>, ian.jackson@xxxxxxxxxxxxx, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Delivery-date: Wed, 11 Mar 2009 18:44:53 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.19 (Windows/20081209)
References: <49B86208.2020205@xxxxxxxxxxxxx>
In-Reply-To: <49B86208.2020205@xxxxxxxxxxxxx>
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

This is an updated version of the following patch.  Followed the
changes in saving qemu state code.

http://lists.xensource.com/archives/html/xen-devel/2009-03/msg00381.html

Signed-off-by: Yoshisato Yanagisawa <yanagisawa.yoshisato@xxxxxxxxxxxxx>
Signed-off-by: Yoshi Tamura <tamura.yoshiaki@xxxxxxxxxxxxx>
---
 vl.c              |   24 ++++++++++++++++++++++++
 xen-config-host.h |    1 +
 2 files changed, 25 insertions(+)

diff --git a/vl.c b/vl.c
index 8539f6d..58875d9 100644
--- a/vl.c
+++ b/vl.c
@@ -274,6 +274,8 @@ static int icount_time_shift;
 static int64_t qemu_icount_bias;
 static QEMUTimer *icount_rt_timer;
 static QEMUTimer *icount_vm_timer;
+/* Kemari */
+volatile int kemari_enabled = 0;

 uint8_t qemu_uuid[16];

@@ -6961,6 +6963,8 @@ int qemu_savevm_state_complete(QEMUFile *f)

     for(se = first_se; se != NULL; se = se->next) {
         int len;
+        if (kemari_enabled && strstr(se->idstr, "vga"))
+            continue;

        if (se->save_state == NULL)
            continue;
@@ -9005,6 +9009,25 @@ static void termsig_setup(void)
     sigaction(SIGTERM, &act, NULL);
 }

+void xenstore_process_logdirty_event(void);
+static void kemari_handler(int dummy)
+{
+    kemari_enabled = 1; /* QEMU will run in kemari mode */
+    xenstore_process_logdirty_event();
+}
+
+static void kemari_setup(void)
+{
+    struct sigaction act;
+
+    memset(&act, 0, sizeof(act));
+#ifdef CONFIG_DM
+    act.sa_handler = kemari_handler;
+#else /* !CONFIG_DM */
+    act.sa_handler = SIG_DFL;
+#endif /* CONFIG_DM */
+    sigaction(SIGUSR1, &act, NULL);
+}
 #endif

 int main(int argc, char **argv)
@@ -10045,6 +10068,7 @@ int main(int argc, char **argv)
 #ifndef _WIN32
     /* must be after terminal init, SDL library changes signal handlers */
     termsig_setup();
+    kemari_setup();
 #endif

     /* Maintain compatibility with multiple stdio monitors */
diff --git a/xen-config-host.h b/xen-config-host.h
index 3d53364..8c7fa28 100644
--- a/xen-config-host.h
+++ b/xen-config-host.h
@@ -41,3 +41,4 @@ void xenstore_store_serial_port_info(int i, struct 
CharDriverState *chr,

 extern unsigned long *logdirty_bitmap;
 extern unsigned long logdirty_bitmap_size;
+extern volatile int kemari_enabled;



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

<Prev in Thread] Current Thread [Next in Thread>