From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruno Alvisio Subject: [PATCH v2 11/16] Save/Restore Support: Add suspend/restore support for console Date: Tue, 13 Feb 2018 18:27:34 -0800 Message-ID: <1518575259-71141-12-git-send-email-bruno.alvisio@gmail.com> References: <1518575259-71141-1-git-send-email-bruno.alvisio@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1elmnr-0004M3-Ud for xen-devel@lists.xenproject.org; Wed, 14 Feb 2018 02:28:11 +0000 In-Reply-To: <1518575259-71141-1-git-send-email-bruno.alvisio@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org Cc: jgross@suse.com, samuel.thibault@ens-lyon.org, wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogQnJ1bm8gQWx2aXNpbyA8YnJ1bm8uYWx2aXNpb0BnbWFpbC5jb20+ClJl dmlld2VkLWJ5OiBTYW11ZWwgVGhpYmF1bHQgPHNhbXVlbC50aGliYXVsdEBlbnMtbHlvbi5vcmc+ Ci0tLQogY29uc29sZS9jb25zb2xlLmMgICAgICB8IDE1ICsrKysrKysrLQogY29uc29sZS94ZW5i dXMuYyAgICAgICB8ICAzICstCiBjb25zb2xlL3hlbmNvbnNfcmluZy5jIHwgODMgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIGluY2x1ZGUvY29uc29s ZS5oICAgICAgfCAgNiArKystCiBrZXJuZWwuYyAgICAgICAgICAgICAgIHwgIDQgKysrCiBsaWIv c3lzLmMgICAgICAgICAgICAgIHwgIDIgKy0KIDYgZmlsZXMgY2hhbmdlZCwgNzcgaW5zZXJ0aW9u cygrKSwgMzYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29uc29sZS9jb25zb2xlLmMgYi9j b25zb2xlL2NvbnNvbGUuYwppbmRleCAyZTA0NTUyLi45ODE0NTA2IDEwMDY0NAotLS0gYS9jb25z b2xlL2NvbnNvbGUuYworKysgYi9jb25zb2xlL2NvbnNvbGUuYwpAQCAtNTIsNiArNTIsNyBAQAog CiAvKiBJZiBjb25zb2xlIG5vdCBpbml0aWFsaXNlZCB0aGUgcHJpbnRrIHdpbGwgYmUgc2VudCB0 byB4ZW4gc2VyaWFsIGxpbmUgCiAgICBOT1RFOiB5b3UgbmVlZCB0byBlbmFibGUgdmVyYm9zZSBp biB4ZW4vUnVsZXMubWsgZm9yIGl0IHRvIHdvcmsuICovCitzdGF0aWMgc3RydWN0IGNvbnNmcm9u dF9kZXYqIHhlbl9jb25zb2xlID0gTlVMTDsKIHN0YXRpYyBpbnQgY29uc29sZV9pbml0aWFsaXNl ZCA9IDA7CiAKIF9fYXR0cmlidXRlX18oKHdlYWspKSB2b2lkIGNvbnNvbGVfaW5wdXQoY2hhciAq IGJ1ZiwgdW5zaWduZWQgbGVuKQpAQCAtMTYyLDggKzE2MywyMCBAQCB2b2lkIHhwcmludGsoY29u c3QgY2hhciAqZm10LCAuLi4pCiB2b2lkIGluaXRfY29uc29sZSh2b2lkKQogeyAgIAogICAgIHBy aW50aygiSW5pdGlhbGlzaW5nIGNvbnNvbGUgLi4uICIpOwotICAgIHhlbmNvbnNfcmluZ19pbml0 KCk7ICAgIAorICAgIHhlbl9jb25zb2xlID0geGVuY29uc19yaW5nX2luaXQoKTsKICAgICBjb25z b2xlX2luaXRpYWxpc2VkID0gMTsKICAgICAvKiBUaGlzIGlzIGFsc28gcmVxdWlyZWQgdG8gbm90 aWZ5IHRoZSBkYWVtb24gKi8KICAgICBwcmludGsoImRvbmUuXG4iKTsKIH0KKwordm9pZCBzdXNw ZW5kX2NvbnNvbGUodm9pZCkKK3sKKyAgICBjb25zb2xlX2luaXRpYWxpc2VkID0gMDsKKyAgICB4 ZW5jb25zX3JpbmdfZmluaSh4ZW5fY29uc29sZSk7Cit9CisKK3ZvaWQgcmVzdW1lX2NvbnNvbGUo dm9pZCkKK3sKKyAgICB4ZW5jb25zX3JpbmdfcmVzdW1lKHhlbl9jb25zb2xlKTsKKyAgICBjb25z b2xlX2luaXRpYWxpc2VkID0gMTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg LS1naXQgYS9jb25zb2xlL3hlbmJ1cy5jIGIvY29uc29sZS94ZW5idXMuYwppbmRleCAxYzlhNTkw Li42NTRiNDY5IDEwMDY0NAotLS0gYS9jb25zb2xlL3hlbmJ1cy5jCisrKyBiL2NvbnNvbGUveGVu YnVzLmMKQEAgLTE4OCw4ICsxODgsNyBAQCBlcnJvcjoKICAgICByZXR1cm4gTlVMTDsKIH0KIAot dm9pZCBmaW5pX2NvbnNvbGUoc3RydWN0IGNvbnNmcm9udF9kZXYgKmRldikKK3ZvaWQgZmluaV9j b25zZnJvbnQoc3RydWN0IGNvbnNmcm9udF9kZXYgKmRldikKIHsKICAgICBpZiAoZGV2KSBmcmVl X2NvbnNmcm9udChkZXYpOwogfQotCmRpZmYgLS1naXQgYS9jb25zb2xlL3hlbmNvbnNfcmluZy5j IGIvY29uc29sZS94ZW5jb25zX3JpbmcuYwppbmRleCBkZDY0YTQxLi5iNmRiNzRlIDEwMDY0NAot LS0gYS9jb25zb2xlL3hlbmNvbnNfcmluZy5jCisrKyBiL2NvbnNvbGUveGVuY29uc19yaW5nLmMK QEAgLTE5LDYgKzE5LDggQEAgREVDTEFSRV9XQUlUX1FVRVVFX0hFQUQoY29uc29sZV9xdWV1ZSk7 CiBzdGF0aWMgc3RydWN0IHhlbmNvbnNfaW50ZXJmYWNlICpjb25zb2xlX3Jpbmc7CiB1aW50MzJf dCBjb25zb2xlX2V2dGNobjsKIAorc3RhdGljIHN0cnVjdCBjb25zZnJvbnRfZGV2KiByZXN1bWVf eGVuX2NvbnNvbGUoc3RydWN0IGNvbnNmcm9udF9kZXYqIGRldik7CisKICNpZmRlZiBDT05GSUdf UEFSQVZJUlQKIHZvaWQgZ2V0X2NvbnNvbGUodm9pZCAqcCkKIHsKQEAgLTMyLDEwICszNCwxMiBA QCB2b2lkIGdldF9jb25zb2xlKHZvaWQgKnApCiB7CiAgICAgdWludDY0X3QgdiA9IC0xOwogCi0g ICAgaHZtX2dldF9wYXJhbWV0ZXIoSFZNX1BBUkFNX0NPTlNPTEVfRVZUQ0hOLCAmdik7CisgICAg aWYgKGh2bV9nZXRfcGFyYW1ldGVyKEhWTV9QQVJBTV9DT05TT0xFX0VWVENITiwgJnYpKQorICAg ICAgICBCVUcoKTsKICAgICBjb25zb2xlX2V2dGNobiA9IHY7CiAKLSAgICBodm1fZ2V0X3BhcmFt ZXRlcihIVk1fUEFSQU1fQ09OU09MRV9QRk4sICZ2KTsKKyAgICBpZiAoaHZtX2dldF9wYXJhbWV0 ZXIoSFZNX1BBUkFNX0NPTlNPTEVfUEZOLCAmdikpCisgICAgICAgIEJVRygpOwogICAgIGNvbnNv bGVfcmluZyA9IChzdHJ1Y3QgeGVuY29uc19pbnRlcmZhY2UgKiltYXBfZnJhbWVfdmlydCh2KTsK IH0KICNlbmRpZgpAQCAtODksOSArOTMsNyBAQCBpbnQgeGVuY29uc19yaW5nX3NlbmQoc3RydWN0 IGNvbnNmcm9udF9kZXYgKmRldiwgY29uc3QgY2hhciAqZGF0YSwgdW5zaWduZWQgbGVuKQogICAg IG5vdGlmeV9kYWVtb24oZGV2KTsKIAogICAgIHJldHVybiBzZW50OwotfQkKLQotCit9CiAKIHZv aWQgY29uc29sZV9oYW5kbGVfaW5wdXQoZXZ0Y2huX3BvcnRfdCBwb3J0LCBzdHJ1Y3QgcHRfcmVn cyAqcmVncywgdm9pZCAqZGF0YSkKIHsKQEAgLTE3Nyw0MSArMTc5LDYwIEBAIGludCB4ZW5jb25z X3JpbmdfcmVjdihzdHJ1Y3QgY29uc2Zyb250X2RldiAqZGV2LCBjaGFyICpkYXRhLCB1bnNpZ25l ZCBsZW4pCiAKIHN0cnVjdCBjb25zZnJvbnRfZGV2ICp4ZW5jb25zX3JpbmdfaW5pdCh2b2lkKQog ewotCWludCBlcnI7Ci0Jc3RydWN0IGNvbnNmcm9udF9kZXYgKmRldjsKKyAgICBzdHJ1Y3QgY29u c2Zyb250X2RldiAqZGV2OwogCi0JaWYgKCFjb25zb2xlX2V2dGNobikKLQkJcmV0dXJuIDA7Cisg ICAgaWYgKCFjb25zb2xlX2V2dGNobikKKyAgICAgICAgcmV0dXJuIDA7CiAKLQlkZXYgPSBtYWxs b2Moc2l6ZW9mKHN0cnVjdCBjb25zZnJvbnRfZGV2KSk7Ci0JbWVtc2V0KGRldiwgMCwgc2l6ZW9m KHN0cnVjdCBjb25zZnJvbnRfZGV2KSk7Ci0JZGV2LT5ub2RlbmFtZSA9ICJkZXZpY2UvY29uc29s ZSI7Ci0JZGV2LT5kb20gPSAwOwotCWRldi0+YmFja2VuZCA9IDA7Ci0JZGV2LT5yaW5nX3JlZiA9 IDA7CisgICAgZGV2ID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgY29uc2Zyb250X2RldikpOworICAg IG1lbXNldChkZXYsIDAsIHNpemVvZihzdHJ1Y3QgY29uc2Zyb250X2RldikpOworICAgIGRldi0+ bm9kZW5hbWUgPSAiZGV2aWNlL2NvbnNvbGUiOworICAgIGRldi0+ZG9tID0gMDsKKyAgICBkZXYt PmJhY2tlbmQgPSAwOworICAgIGRldi0+cmluZ19yZWYgPSAwOwogCiAjaWZkZWYgSEFWRV9MSUJD Ci0JZGV2LT5mZCA9IC0xOworICAgIGRldi0+ZmQgPSAtMTsKICNlbmRpZgotCWRldi0+ZXZ0Y2hu ID0gY29uc29sZV9ldnRjaG47Ci0JZGV2LT5yaW5nID0geGVuY29uc19pbnRlcmZhY2UoKTsKLQot CWVyciA9IGJpbmRfZXZ0Y2huKGRldi0+ZXZ0Y2huLCBjb25zb2xlX2hhbmRsZV9pbnB1dCwgZGV2 KTsKLQlpZiAoZXJyIDw9IDApIHsKLQkJcHJpbnRrKCJYRU4gY29uc29sZSByZXF1ZXN0IGNobiBi aW5kIGZhaWxlZCAlaVxuIiwgZXJyKTsKLSAgICAgICAgICAgICAgICBmcmVlKGRldik7Ci0JCXJl dHVybiBOVUxMOwotCX0KLSAgICAgICAgdW5tYXNrX2V2dGNobihkZXYtPmV2dGNobik7CiAKLQkv KiBJbiBjYXNlIHdlIGhhdmUgaW4tZmxpZ2h0IGRhdGEgYWZ0ZXIgc2F2ZS9yZXN0b3JlLi4uICov Ci0Jbm90aWZ5X2RhZW1vbihkZXYpOworICAgIHJldHVybiByZXN1bWVfeGVuX2NvbnNvbGUoZGV2 KTsKK30KKworc3RhdGljIHN0cnVjdCBjb25zZnJvbnRfZGV2KiByZXN1bWVfeGVuX2NvbnNvbGUo c3RydWN0IGNvbnNmcm9udF9kZXYqIGRldikKK3sKKyAgICBpbnQgZXJyOwogCi0JcmV0dXJuIGRl djsKKyAgICBkZXYtPmV2dGNobiA9IGNvbnNvbGVfZXZ0Y2huOworICAgIGRldi0+cmluZyA9IHhl bmNvbnNfaW50ZXJmYWNlKCk7CisKKyAgICBlcnIgPSBiaW5kX2V2dGNobihkZXYtPmV2dGNobiwg Y29uc29sZV9oYW5kbGVfaW5wdXQsIGRldik7CisgICAgaWYgKGVyciA8PSAwKSB7CisgICAgICAg IHByaW50aygiWEVOIGNvbnNvbGUgcmVxdWVzdCBjaG4gYmluZCBmYWlsZWQgJWlcbiIsIGVycik7 CisgICAgICAgIGZyZWUoZGV2KTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHVu bWFza19ldnRjaG4oZGV2LT5ldnRjaG4pOworCisgICAgLyogSW4gY2FzZSB3ZSBoYXZlIGluLWZs aWdodCBkYXRhIGFmdGVyIHNhdmUvcmVzdG9yZS4uLiAqLworICAgIG5vdGlmeV9kYWVtb24oZGV2 KTsKKworICAgIHJldHVybiBkZXY7CiB9CiAKLXZvaWQgeGVuY29uc19yZXN1bWUodm9pZCkKK3Zv aWQgeGVuY29uc19yaW5nX2Zpbmkoc3RydWN0IGNvbnNmcm9udF9kZXYqIGRldikKIHsKLQkodm9p ZCl4ZW5jb25zX3JpbmdfaW5pdCgpOworICAgIGlmIChkZXYpCisgICAgICAgIG1hc2tfZXZ0Y2hu KGRldi0+ZXZ0Y2huKTsKIH0KIAordm9pZCB4ZW5jb25zX3JpbmdfcmVzdW1lKHN0cnVjdCBjb25z ZnJvbnRfZGV2KiBkZXYpCit7CisgICAgaWYgKGRldikgeworI2lmIENPTkZJR19QQVJBVklSVAor ICAgICAgICBnZXRfY29uc29sZSgmc3RhcnRfaW5mbyk7CisjZWxzZQorICAgICAgICBnZXRfY29u c29sZSgwKTsKKyNlbmRpZgorICAgICAgICByZXN1bWVfeGVuX2NvbnNvbGUoZGV2KTsKKyAgICB9 Cit9CmRpZmYgLS1naXQgYS9pbmNsdWRlL2NvbnNvbGUuaCBiL2luY2x1ZGUvY29uc29sZS5oCmlu ZGV4IDUzOWNjY2QuLjBkN2JmMDcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvY29uc29sZS5oCisrKyBi L2luY2x1ZGUvY29uc29sZS5oCkBAIC03OCwxMSArNzgsMTUgQEAgdm9pZCB4ZW5jb25zX3R4KHZv aWQpOwogdm9pZCBnZXRfY29uc29sZSh2b2lkICpwKTsKIHZvaWQgaW5pdF9jb25zb2xlKHZvaWQp Owogdm9pZCBjb25zb2xlX3ByaW50KHN0cnVjdCBjb25zZnJvbnRfZGV2ICpkZXYsIGNoYXIgKmRh dGEsIGludCBsZW5ndGgpOwotdm9pZCBmaW5pX2NvbnNvbGUoc3RydWN0IGNvbnNmcm9udF9kZXYg KmRldik7Cit2b2lkIGZpbmlfY29uc2Zyb250KHN0cnVjdCBjb25zZnJvbnRfZGV2ICpkZXYpOwor dm9pZCBzdXNwZW5kX2NvbnNvbGUodm9pZCk7Cit2b2lkIHJlc3VtZV9jb25zb2xlKHZvaWQpOwog CiAvKiBMb3cgbGV2ZWwgZnVuY3Rpb25zIGRlZmluZWQgaW4geGVuY29uc19yaW5nLmMgKi8KIGV4 dGVybiBzdHJ1Y3Qgd2FpdF9xdWV1ZV9oZWFkIGNvbnNvbGVfcXVldWU7CiBzdHJ1Y3QgY29uc2Zy b250X2RldiAqeGVuY29uc19yaW5nX2luaXQodm9pZCk7Cit2b2lkIHhlbmNvbnNfcmluZ19maW5p KHN0cnVjdCBjb25zZnJvbnRfZGV2KiBkZXYpOwordm9pZCB4ZW5jb25zX3JpbmdfcmVzdW1lKHN0 cnVjdCBjb25zZnJvbnRfZGV2KiBkZXYpOwogc3RydWN0IGNvbnNmcm9udF9kZXYgKmluaXRfY29u c2Zyb250KGNoYXIgKl9ub2RlbmFtZSk7CiBpbnQgeGVuY29uc19yaW5nX3NlbmQoc3RydWN0IGNv bnNmcm9udF9kZXYgKmRldiwgY29uc3QgY2hhciAqZGF0YSwgdW5zaWduZWQgbGVuKTsKIGludCB4 ZW5jb25zX3Jpbmdfc2VuZF9ub19ub3RpZnkoc3RydWN0IGNvbnNmcm9udF9kZXYgKmRldiwgY29u c3QgY2hhciAqZGF0YSwgdW5zaWduZWQgbGVuKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC5jIGIva2Vy bmVsLmMKaW5kZXggMzU2NGFmMy4uMmZiNjliZiAxMDA2NDQKLS0tIGEva2VybmVsLmMKKysrIGIv a2VybmVsLmMKQEAgLTEyMiwxMCArMTIyLDE0IEBAIHZvaWQgcHJlX3N1c3BlbmQodm9pZCkKICAg ICBsb2NhbF9pcnFfZGlzYWJsZSgpOwogCiAgICAgZmluaV90aW1lKCk7CisKKyAgICBzdXNwZW5k X2NvbnNvbGUoKTsKIH0KIAogdm9pZCBwb3N0X3N1c3BlbmQoaW50IGNhbmNlbGVkKQogeworICAg IHJlc3VtZV9jb25zb2xlKCk7CisKICAgICBpbml0X3RpbWUoKTsKIAogICAgIGxvY2FsX2lycV9l bmFibGUoKTsKZGlmZiAtLWdpdCBhL2xpYi9zeXMuYyBiL2xpYi9zeXMuYwppbmRleCAyM2RjMmE1 Li5kYTQzNGZjIDEwMDY0NAotLS0gYS9saWIvc3lzLmMKKysrIGIvbGliL3N5cy5jCkBAIC00ODcs NyArNDg3LDcgQEAgaW50IGNsb3NlKGludCBmZCkKICNpZmRlZiBDT05GSUdfQ09OU0ZST05UCiAg ICAgICAgIGNhc2UgRlRZUEVfU0FWRUZJTEU6CiAgICAgICAgIGNhc2UgRlRZUEVfQ09OU09MRToK LSAgICAgICAgICAgIGZpbmlfY29uc29sZShmaWxlc1tmZF0uY29ucy5kZXYpOworICAgICAgICAg ICAgZmluaV9jb25zZnJvbnQoZmlsZXNbZmRdLmNvbnMuZGV2KTsKICAgICAgICAgICAgIGZpbGVz W2ZkXS50eXBlID0gRlRZUEVfTk9ORTsKICAgICAgICAgICAgIHJldHVybiAwOwogI2VuZGlmCi0t IAoyLjMuMiAoQXBwbGUgR2l0LTU1KQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m by94ZW4tZGV2ZWw=