From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KtUXe-0007gJ-Tu for qemu-devel@nongnu.org; Fri, 24 Oct 2008 17:49:58 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KtUXe-0007ft-FX for qemu-devel@nongnu.org; Fri, 24 Oct 2008 17:49:58 -0400 Received: from [199.232.76.173] (port=58612 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KtUXe-0007fj-7V for qemu-devel@nongnu.org; Fri, 24 Oct 2008 17:49:58 -0400 Received: from smtp2-g19.free.fr ([212.27.42.28]:55747) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KtUXd-0002Qn-NH for qemu-devel@nongnu.org; Fri, 24 Oct 2008 17:49:58 -0400 Received: from smtp2-g19.free.fr (localhost.localdomain [127.0.0.1]) by smtp2-g19.free.fr (Postfix) with ESMTP id AA1A112B6CD for ; Fri, 24 Oct 2008 23:49:53 +0200 (CEST) Received: from [192.168.0.32] (rob92-10-88-171-126-33.fbx.proxad.net [88.171.126.33]) by smtp2-g19.free.fr (Postfix) with ESMTP id 7E45F12B6CA for ; Fri, 24 Oct 2008 23:49:53 +0200 (CEST) Message-ID: <49024300.9010605@reactos.org> Date: Fri, 24 Oct 2008 23:49:52 +0200 From: =?ISO-8859-1?Q?Herv=E9_Poussineau?= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------000306090105080708040109" Subject: [Qemu-devel] [PATCH]: Live migration for Win32 Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org This is a multi-part message in MIME format. --------------000306090105080708040109 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Hi, Anthony Liguori and I have worked on a Live migration patch for Windows. Here is the result of our efforts. Signed-off-by: Herv=E9 Poussineau Herv=E9 --------------000306090105080708040109 Content-Type: plain/text; name="migration-win32.diff" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="migration-win32.diff" SW5kZXg6IGh3L2h3LmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBody9ody5oCShyZXZpc2lvbiA1 NTI0KQ0KKysrIGh3L2h3LmgJKHdvcmtpbmcgY29weSkNCkBAIC0zNCw3ICszNCw3IEBADQog ICAgICAgICAgICAgICAgICAgICAgICAgIFFFTVVGaWxlQ2xvc2VGdW5jICpjbG9zZSwKICAg ICAgICAgICAgICAgICAgICAgICAgICBRRU1VRmlsZVJhdGVMaW1pdCAqcmF0ZV9saW1pdCk7 CiBRRU1VRmlsZSAqcWVtdV9mb3Blbihjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hh ciAqbW9kZSk7Ci1RRU1VRmlsZSAqcWVtdV9mb3Blbl9mZChpbnQgZmQpOworUUVNVUZpbGUg KnFlbXVfZm9wZW5fc29ja2V0KGludCBmZCk7CiB2b2lkIHFlbXVfZmZsdXNoKFFFTVVGaWxl ICpmKTsKIGludCBxZW11X2ZjbG9zZShRRU1VRmlsZSAqZik7CiB2b2lkIHFlbXVfcHV0X2J1 ZmZlcihRRU1VRmlsZSAqZiwgY29uc3QgdWludDhfdCAqYnVmLCBpbnQgc2l6ZSk7CkluZGV4 OiBtaWdyYXRpb24tdGNwLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBtaWdyYXRpb24tdGNwLmMJ KHJldmlzaW9uIDU1MjQpDQorKysgbWlncmF0aW9uLXRjcC5jCSh3b3JraW5nIGNvcHkpDQpA QCAtODUsMTAgKzg1LDEwIEBADQogCiAgICAgZG8gewogICAgICAgICByZXQgPSBzZW5kKHMt PmZkLCBkYXRhLCBzaXplLCAwKTsKLSAgICB9IHdoaWxlIChyZXQgPT0gLTEgJiYgZXJybm8g PT0gRUlOVFIpOworICAgIH0gd2hpbGUgKHJldCA9PSAtMSAmJiAoc29ja2V0X2Vycm9yKCkg PT0gRUlOVFIgfHwgc29ja2V0X2Vycm9yKCkgPT0gRVdPVUxEQkxPQ0spKTsKIAogICAgIGlm IChyZXQgPT0gLTEpCi0gICAgICAgIHJldCA9IC1lcnJubzsKKyAgICAgICAgcmV0ID0gLXNv Y2tldF9lcnJvcigpOwogCiAgICAgaWYgKHJldCA9PSAtRUFHQUlOKQogICAgICAgICBxZW11 X3NldF9mZF9oYW5kbGVyMihzLT5mZCwgTlVMTCwgTlVMTCwgZmRfcHV0X25vdGlmeSwgcyk7 CkBAIC0xMjMsNyArMTIzLDcgQEANCiAgICAgICAgIEZEX1NFVChzLT5mZCwgJndmZHMpOwog CiAgICAgICAgIHJldCA9IHNlbGVjdChzLT5mZCArIDEsIE5VTEwsICZ3ZmRzLCBOVUxMLCBO VUxMKTsKLSAgICB9IHdoaWxlIChyZXQgPT0gLTEgJiYgZXJybm8gPT0gRUlOVFIpOworICAg IH0gd2hpbGUgKHJldCA9PSAtMSAmJiBzb2NrZXRfZXJyb3IoKSA9PSBFSU5UUik7CiB9CiAK IHN0YXRpYyB2b2lkIGZkX3B1dF9yZWFkeSh2b2lkICpvcGFxdWUpCkBAIC0xNzgsNyArMTc4 LDcgQEANCiAgICAgZHByaW50ZigiY29ubmVjdCBjb21wbGV0ZWRcbiIpOwogICAgIGRvIHsK ICAgICAgICAgcmV0ID0gZ2V0c29ja29wdChzLT5mZCwgU09MX1NPQ0tFVCwgU09fRVJST1Is ICZ2YWwsICZ2YWxzaXplKTsKLSAgICB9IHdoaWxlIChyZXQgPT0gLTEgJiYgZXJybm8gPT0g RUlOVFIpOworICAgIH0gd2hpbGUgKHJldCA9PSAtMSAmJiBzb2NrZXRfZXJyb3IoKSA9PSBF SU5UUik7CiAKICAgICBpZiAocmV0IDwgMCkgewogCXRjcF9lcnJvcihzKTsKQEAgLTI3Mywx MyArMjczLDEzIEBADQogICAgIGRvIHsKICAgICAgICAgcmV0ID0gY29ubmVjdChzLT5mZCwg KHN0cnVjdCBzb2NrYWRkciAqKSZhZGRyLCBzaXplb2YoYWRkcikpOwogICAgICAgICBpZiAo cmV0ID09IC0xKQotICAgICAgICAgICAgcmV0ID0gLWVycm5vOworICAgICAgICAgICAgcmV0 ID0gLXNvY2tldF9lcnJvcigpOwogCi0gICAgICAgIGlmIChyZXQgPT0gLUVJTlBST0dSRVNT KQorICAgICAgICBpZiAocmV0ID09IC1FSU5QUk9HUkVTUyB8fCByZXQgPT0gLUVXT1VMREJM T0NLKQogICAgICAgICAgICAgcWVtdV9zZXRfZmRfaGFuZGxlcjIocy0+ZmQsIE5VTEwsIE5V TEwsIHRjcF93YWl0X2Zvcl9jb25uZWN0LCBzKTsKICAgICB9IHdoaWxlIChyZXQgPT0gLUVJ TlRSKTsKIAotICAgIGlmIChyZXQgPCAwICYmIHJldCAhPSAtRUlOUFJPR1JFU1MpIHsKKyAg ICBpZiAocmV0IDwgMCAmJiByZXQgIT0gLUVJTlBST0dSRVNTICYmIHJldCAhPSAtRVdPVUxE QkxPQ0spIHsKICAgICAgICAgZHByaW50ZigiY29ubmVjdCBmYWlsZWRcbiIpOwogICAgICAg ICBjbG9zZShzLT5mZCk7CiAgICAgICAgIHFlbXVfZnJlZShzKTsKQEAgLTMwMCw3ICszMDAs NyBAQA0KIAogICAgIGRvIHsKICAgICAgICAgYyA9IGFjY2VwdChzLCAoc3RydWN0IHNvY2th ZGRyICopJmFkZHIsICZhZGRybGVuKTsKLSAgICB9IHdoaWxlIChjID09IC0xICYmIGVycm5v ID09IEVJTlRSKTsKKyAgICB9IHdoaWxlIChjID09IC0xICYmIHNvY2tldF9lcnJvcigpID09 IEVJTlRSKTsKIAogICAgIGRwcmludGYoImFjY2VwdGVkIG1pZ3JhdGlvblxuIik7CiAKQEAg LTMwOSw3ICszMDksNyBAQA0KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGYgPSBx ZW11X2ZvcGVuX2ZkKGMpOworICAgIGYgPSBxZW11X2ZvcGVuX3NvY2tldChjKTsKICAgICBp ZiAoZiA9PSBOVUxMKSB7CiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiY291bGQgbm90IHFl bXVfZm9wZW4gc29ja2V0XG4iKTsKICAgICAgICAgZ290byBvdXQ7CkBAIC0zNDksNyArMzQ5 LDcgQEANCiAKICAgICBzID0gc29ja2V0KFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAwKTsKICAg ICBpZiAocyA9PSAtMSkKLSAgICAgICAgcmV0dXJuIC1lcnJubzsKKyAgICAgICAgcmV0dXJu IC1zb2NrZXRfZXJyb3IoKTsKIAogICAgIHZhbCA9IDE7CiAgICAgc2V0c29ja29wdChzLCBT T0xfU09DS0VULCBTT19SRVVTRUFERFIsIChjb25zdCBjaGFyICopJnZhbCwgc2l6ZW9mKHZh bCkpOwpAQCAtMzY3LDUgKzM2Nyw1IEBADQogCiBlcnI6CiAgICAgY2xvc2Uocyk7Ci0gICAg cmV0dXJuIC1lcnJubzsKKyAgICByZXR1cm4gLXNvY2tldF9lcnJvcigpOwogfQpJbmRleDog dmwuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQ0KLS0tIHZsLmMJKHJldmlzaW9uIDU1MjQpDQorKysgdmwu Ywkod29ya2luZyBjb3B5KQ0KQEAgLTYyNTIsNDMgKzYyNTIsNDMgQEANCiAgICAgaW50IGhh c19lcnJvcjsKIH07CiAKLXR5cGVkZWYgc3RydWN0IFFFTVVGaWxlRkQKK3R5cGVkZWYgc3Ry dWN0IFFFTVVGaWxlU29ja2V0CiB7CiAgICAgaW50IGZkOwogICAgIFFFTVVGaWxlICpmaWxl OwotfSBRRU1VRmlsZUZEOworfSBRRU1VRmlsZVNvY2tldDsKIAotc3RhdGljIGludCBmZF9n ZXRfYnVmZmVyKHZvaWQgKm9wYXF1ZSwgdWludDhfdCAqYnVmLCBpbnQ2NF90IHBvcywgaW50 IHNpemUpCitzdGF0aWMgaW50IHNvY2tldF9nZXRfYnVmZmVyKHZvaWQgKm9wYXF1ZSwgdWlu dDhfdCAqYnVmLCBpbnQ2NF90IHBvcywgaW50IHNpemUpCiB7Ci0gICAgUUVNVUZpbGVGRCAq cyA9IG9wYXF1ZTsKKyAgICBRRU1VRmlsZVNvY2tldCAqcyA9IG9wYXF1ZTsKICAgICBzc2l6 ZV90IGxlbjsKIAogICAgIGRvIHsKLSAgICAgICAgbGVuID0gcmVhZChzLT5mZCwgYnVmLCBz aXplKTsKLSAgICB9IHdoaWxlIChsZW4gPT0gLTEgJiYgZXJybm8gPT0gRUlOVFIpOworICAg ICAgICBsZW4gPSByZWN2KHMtPmZkLCBidWYsIHNpemUsIDApOworICAgIH0gd2hpbGUgKGxl biA9PSAtMSAmJiBzb2NrZXRfZXJyb3IoKSA9PSBFSU5UUik7CiAKICAgICBpZiAobGVuID09 IC0xKQotICAgICAgICBsZW4gPSAtZXJybm87CisgICAgICAgIGxlbiA9IC1zb2NrZXRfZXJy b3IoKTsKIAogICAgIHJldHVybiBsZW47CiB9CiAKLXN0YXRpYyBpbnQgZmRfY2xvc2Uodm9p ZCAqb3BhcXVlKQorc3RhdGljIGludCBzb2NrZXRfY2xvc2Uodm9pZCAqb3BhcXVlKQogewot ICAgIFFFTVVGaWxlRkQgKnMgPSBvcGFxdWU7CisgICAgUUVNVUZpbGVTb2NrZXQgKnMgPSBv cGFxdWU7CiAgICAgcWVtdV9mcmVlKHMpOwogICAgIHJldHVybiAwOwogfQogCi1RRU1VRmls ZSAqcWVtdV9mb3Blbl9mZChpbnQgZmQpCitRRU1VRmlsZSAqcWVtdV9mb3Blbl9zb2NrZXQo aW50IGZkKQogewotICAgIFFFTVVGaWxlRkQgKnMgPSBxZW11X21hbGxvY3ooc2l6ZW9mKFFF TVVGaWxlRkQpKTsKKyAgICBRRU1VRmlsZVNvY2tldCAqcyA9IHFlbXVfbWFsbG9jeihzaXpl b2YoUUVNVUZpbGVTb2NrZXQpKTsKIAogICAgIGlmIChzID09IE5VTEwpCiAgICAgICAgIHJl dHVybiBOVUxMOwogCiAgICAgcy0+ZmQgPSBmZDsKLSAgICBzLT5maWxlID0gcWVtdV9mb3Bl bl9vcHMocywgTlVMTCwgZmRfZ2V0X2J1ZmZlciwgZmRfY2xvc2UsIE5VTEwpOworICAgIHMt PmZpbGUgPSBxZW11X2ZvcGVuX29wcyhzLCBOVUxMLCBzb2NrZXRfZ2V0X2J1ZmZlciwgc29j a2V0X2Nsb3NlLCBOVUxMKTsKICAgICByZXR1cm4gcy0+ZmlsZTsKIH0KIAo= --------------000306090105080708040109--