# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1205839656 0
# Node ID 14b2319d6126c60d775d13e84c8482dcd1b55eae
# Parent 3d6d042144d744b766c38339eb8e156ceb09b59a
stubdom: support save/restore by passing the -loadvm parameter,
letting the stubdomain access the save area, and having it watch the
correct xenstore node.
Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>
---
stubdom/README | 2 ++
stubdom/stubdom-dm | 18 +++++++++++++++---
tools/ioemu/xenstore.c | 4 ++--
3 files changed, 19 insertions(+), 5 deletions(-)
diff -r 3d6d042144d7 -r 14b2319d6126 stubdom/README
--- a/stubdom/README Tue Mar 18 11:27:05 2008 +0000
+++ b/stubdom/README Tue Mar 18 11:27:36 2008 +0000
@@ -78,6 +78,8 @@ To run
mkdir -p /exports/usr/share/qemu
ln -s /usr/share/qemu/keymaps /exports/usr/share/qemu
+mkdir -p /exports/var/lib
+ln -s /var/lib/xen /exports/var/lib
/usr/sbin/fs-backend &
xm create hvmconfig
diff -r 3d6d042144d7 -r 14b2319d6126 stubdom/stubdom-dm
--- a/stubdom/stubdom-dm Tue Mar 18 11:27:05 2008 +0000
+++ b/stubdom/stubdom-dm Tue Mar 18 11:27:36 2008 +0000
@@ -14,18 +14,30 @@ domname=
domname=
vncviewer=0
vncpid=
+extra=
while [ "$#" -gt 0 ];
do
if [ "$#" -ge 2 ];
then
case "$1" in
- -d) domid=$2; shift ;;
- -domain-name) domname=$2; shift ;;
+ -d)
+ domid=$2;
+ extra="$extra -d $domid";
+ shift
+ ;;
+ -domain-name)
+ domname=$2;
+ shift
+ ;;
-vnc)
ip=${2%:*};
vnc_port=${2#*:};
shift
;;
+ -loadvm)
+ extra="$extra -loadvm $2";
+ shift
+ ;;
esac
fi
case "$1" in
@@ -60,7 +72,7 @@ do
sleep 1
done
-creation="xm create -c stubdom-$domname target=$domid memory=32"
+creation="xm create -c stubdom-$domname target=$domid memory=32
extra=\"$extra\""
(while true ; do sleep 60 ; done) | $creation &
#xterm -geometry +0+0 -e /bin/sh -c "$creation ; echo ; echo press ENTER to
shut down ; read" &
diff -r 3d6d042144d7 -r 14b2319d6126 tools/ioemu/xenstore.c
--- a/tools/ioemu/xenstore.c Tue Mar 18 11:27:05 2008 +0000
+++ b/tools/ioemu/xenstore.c Tue Mar 18 11:27:36 2008 +0000
@@ -81,7 +81,7 @@ static void waitForDevice(char *fn)
#define DIRECT_PCI_STR_LEN 160
char direct_pci_str[DIRECT_PCI_STR_LEN];
-void xenstore_parse_domain_config(int domid)
+void xenstore_parse_domain_config(int hvm_domid)
{
char **e = NULL;
char *buf = NULL, *path;
@@ -100,7 +100,7 @@ void xenstore_parse_domain_config(int do
return;
}
- path = xs_get_domain_path(xsh, domid);
+ path = xs_get_domain_path(xsh, hvm_domid);
if (path == NULL) {
fprintf(logfile, "xs_get_domain_path() error\n");
goto out;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|