From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruno Alvisio Subject: [PATCH RFC 11/16] Save/Restore Support: Add suspend/restore support for console Date: Tue, 19 Dec 2017 15:42:06 -0800 Message-ID: <1513726931-7516-12-git-send-email-bruno.alvisio@gmail.com> References: <1513726931-7516-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 all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRRYX-0005Dm-Kx for xen-devel@lists.xenproject.org; Tue, 19 Dec 2017 23:44:17 +0000 In-Reply-To: <1513726931-7516-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, Bruno Alvisio List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogQnJ1bm8gQWx2aXNpbyA8YnJ1bm8uYWx2aXNpb0BnbWFpbC5jb20+Ci0t LQogY29uc29sZS9jb25zb2xlLmMgICAgICB8IDE1ICsrKysrKysrKysrKysrLQogY29uc29sZS94 ZW5idXMuYyAgICAgICB8ICAzICstLQogY29uc29sZS94ZW5jb25zX3JpbmcuYyB8IDQxICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiBpbmNsdWRlL2NvbnNvbGUuaCAg ICAgIHwgIDYgKysrKystCiBrZXJuZWwuYyAgICAgICAgICAgICAgIHwgIDQgKysrKwogbGliL3N5 cy5jICAgICAgICAgICAgICB8ICAyICstCiA2IGZpbGVzIGNoYW5nZWQsIDU2IGluc2VydGlvbnMo KyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbnNvbGUvY29uc29sZS5jIGIvY29u c29sZS9jb25zb2xlLmMKaW5kZXggMmUwNDU1Mi4uOTgxNDUwNiAxMDA2NDQKLS0tIGEvY29uc29s ZS9jb25zb2xlLmMKKysrIGIvY29uc29sZS9jb25zb2xlLmMKQEAgLTUyLDYgKzUyLDcgQEAKIAog LyogSWYgY29uc29sZSBub3QgaW5pdGlhbGlzZWQgdGhlIHByaW50ayB3aWxsIGJlIHNlbnQgdG8g eGVuIHNlcmlhbCBsaW5lIAogICAgTk9URTogeW91IG5lZWQgdG8gZW5hYmxlIHZlcmJvc2UgaW4g eGVuL1J1bGVzLm1rIGZvciBpdCB0byB3b3JrLiAqLworc3RhdGljIHN0cnVjdCBjb25zZnJvbnRf ZGV2KiB4ZW5fY29uc29sZSA9IE5VTEw7CiBzdGF0aWMgaW50IGNvbnNvbGVfaW5pdGlhbGlzZWQg PSAwOwogCiBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgdm9pZCBjb25zb2xlX2lucHV0KGNoYXIgKiBi dWYsIHVuc2lnbmVkIGxlbikKQEAgLTE2Miw4ICsxNjMsMjAgQEAgdm9pZCB4cHJpbnRrKGNvbnN0 IGNoYXIgKmZtdCwgLi4uKQogdm9pZCBpbml0X2NvbnNvbGUodm9pZCkKIHsgICAKICAgICBwcmlu dGsoIkluaXRpYWxpc2luZyBjb25zb2xlIC4uLiAiKTsKLSAgICB4ZW5jb25zX3JpbmdfaW5pdCgp OyAgICAKKyAgICB4ZW5fY29uc29sZSA9IHhlbmNvbnNfcmluZ19pbml0KCk7CiAgICAgY29uc29s ZV9pbml0aWFsaXNlZCA9IDE7CiAgICAgLyogVGhpcyBpcyBhbHNvIHJlcXVpcmVkIHRvIG5vdGlm eSB0aGUgZGFlbW9uICovCiAgICAgcHJpbnRrKCJkb25lLlxuIik7CiB9CisKK3ZvaWQgc3VzcGVu ZF9jb25zb2xlKHZvaWQpCit7CisgICAgY29uc29sZV9pbml0aWFsaXNlZCA9IDA7CisgICAgeGVu Y29uc19yaW5nX2ZpbmkoeGVuX2NvbnNvbGUpOworfQorCit2b2lkIHJlc3VtZV9jb25zb2xlKHZv aWQpCit7CisgICAgeGVuY29uc19yaW5nX3Jlc3VtZSh4ZW5fY29uc29sZSk7CisgICAgY29uc29s ZV9pbml0aWFsaXNlZCA9IDE7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvY29uc29sZS94ZW5idXMuYyBiL2NvbnNvbGUveGVuYnVzLmMKaW5kZXggMWM5YTU5MC4u NjU0YjQ2OSAxMDA2NDQKLS0tIGEvY29uc29sZS94ZW5idXMuYworKysgYi9jb25zb2xlL3hlbmJ1 cy5jCkBAIC0xODgsOCArMTg4LDcgQEAgZXJyb3I6CiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLXZv aWQgZmluaV9jb25zb2xlKHN0cnVjdCBjb25zZnJvbnRfZGV2ICpkZXYpCit2b2lkIGZpbmlfY29u c2Zyb250KHN0cnVjdCBjb25zZnJvbnRfZGV2ICpkZXYpCiB7CiAgICAgaWYgKGRldikgZnJlZV9j b25zZnJvbnQoZGV2KTsKIH0KLQpkaWZmIC0tZ2l0IGEvY29uc29sZS94ZW5jb25zX3JpbmcuYyBi L2NvbnNvbGUveGVuY29uc19yaW5nLmMKaW5kZXggZGQ2NGE0MS4uMWRmODMwNCAxMDA2NDQKLS0t IGEvY29uc29sZS94ZW5jb25zX3JpbmcuYworKysgYi9jb25zb2xlL3hlbmNvbnNfcmluZy5jCkBA IC0xOSw2ICsxOSw4IEBAIERFQ0xBUkVfV0FJVF9RVUVVRV9IRUFEKGNvbnNvbGVfcXVldWUpOwog c3RhdGljIHN0cnVjdCB4ZW5jb25zX2ludGVyZmFjZSAqY29uc29sZV9yaW5nOwogdWludDMyX3Qg Y29uc29sZV9ldnRjaG47CiAKK3N0YXRpYyBzdHJ1Y3QgY29uc2Zyb250X2RldiogcmVzdW1lX3hl bl9jb25zb2xlKHN0cnVjdCBjb25zZnJvbnRfZGV2KiBkZXYpOworCiAjaWZkZWYgQ09ORklHX1BB UkFWSVJUCiB2b2lkIGdldF9jb25zb2xlKHZvaWQgKnApCiB7CkBAIC0zMiwxMCArMzQsMTIgQEAg dm9pZCBnZXRfY29uc29sZSh2b2lkICpwKQogewogICAgIHVpbnQ2NF90IHYgPSAtMTsKIAotICAg IGh2bV9nZXRfcGFyYW1ldGVyKEhWTV9QQVJBTV9DT05TT0xFX0VWVENITiwgJnYpOworICAgIGlm IChodm1fZ2V0X3BhcmFtZXRlcihIVk1fUEFSQU1fQ09OU09MRV9FVlRDSE4sICZ2KSkKKyAgICAJ QlVHKCk7CiAgICAgY29uc29sZV9ldnRjaG4gPSB2OwogCi0gICAgaHZtX2dldF9wYXJhbWV0ZXIo SFZNX1BBUkFNX0NPTlNPTEVfUEZOLCAmdik7CisgICAgaWYgKGh2bV9nZXRfcGFyYW1ldGVyKEhW TV9QQVJBTV9DT05TT0xFX1BGTiwgJnYpKQorICAgIAlCVUcoKTsKICAgICBjb25zb2xlX3Jpbmcg PSAoc3RydWN0IHhlbmNvbnNfaW50ZXJmYWNlICopbWFwX2ZyYW1lX3ZpcnQodik7CiB9CiAjZW5k aWYKQEAgLTg5LDkgKzkzLDcgQEAgaW50IHhlbmNvbnNfcmluZ19zZW5kKHN0cnVjdCBjb25zZnJv bnRfZGV2ICpkZXYsIGNvbnN0IGNoYXIgKmRhdGEsIHVuc2lnbmVkIGxlbikKICAgICBub3RpZnlf ZGFlbW9uKGRldik7CiAKICAgICByZXR1cm4gc2VudDsKLX0JCi0KLQorfQogCiB2b2lkIGNvbnNv bGVfaGFuZGxlX2lucHV0KGV2dGNobl9wb3J0X3QgcG9ydCwgc3RydWN0IHB0X3JlZ3MgKnJlZ3Ms IHZvaWQgKmRhdGEpCiB7CkBAIC0xNzcsNyArMTc5LDYgQEAgaW50IHhlbmNvbnNfcmluZ19yZWN2 KHN0cnVjdCBjb25zZnJvbnRfZGV2ICpkZXYsIGNoYXIgKmRhdGEsIHVuc2lnbmVkIGxlbikKIAog c3RydWN0IGNvbnNmcm9udF9kZXYgKnhlbmNvbnNfcmluZ19pbml0KHZvaWQpCiB7Ci0JaW50IGVy cjsKIAlzdHJ1Y3QgY29uc2Zyb250X2RldiAqZGV2OwogCiAJaWYgKCFjb25zb2xlX2V2dGNobikK QEAgLTE5MywxNiArMTk0LDI0IEBAIHN0cnVjdCBjb25zZnJvbnRfZGV2ICp4ZW5jb25zX3Jpbmdf aW5pdCh2b2lkKQogI2lmZGVmIEhBVkVfTElCQwogCWRldi0+ZmQgPSAtMTsKICNlbmRpZgorCisJ cmV0dXJuIHJlc3VtZV94ZW5fY29uc29sZShkZXYpOworfQorCitzdGF0aWMgc3RydWN0IGNvbnNm cm9udF9kZXYqIHJlc3VtZV94ZW5fY29uc29sZShzdHJ1Y3QgY29uc2Zyb250X2RldiogZGV2KQor eworCWludCBlcnI7CisKIAlkZXYtPmV2dGNobiA9IGNvbnNvbGVfZXZ0Y2huOwogCWRldi0+cmlu ZyA9IHhlbmNvbnNfaW50ZXJmYWNlKCk7CiAKIAllcnIgPSBiaW5kX2V2dGNobihkZXYtPmV2dGNo biwgY29uc29sZV9oYW5kbGVfaW5wdXQsIGRldik7CiAJaWYgKGVyciA8PSAwKSB7CiAJCXByaW50 aygiWEVOIGNvbnNvbGUgcmVxdWVzdCBjaG4gYmluZCBmYWlsZWQgJWlcbiIsIGVycik7Ci0gICAg ICAgICAgICAgICAgZnJlZShkZXYpOworICAgICAgICBmcmVlKGRldik7CiAJCXJldHVybiBOVUxM OwogCX0KLSAgICAgICAgdW5tYXNrX2V2dGNobihkZXYtPmV2dGNobik7CisgICAgdW5tYXNrX2V2 dGNobihkZXYtPmV2dGNobik7CiAKIAkvKiBJbiBjYXNlIHdlIGhhdmUgaW4tZmxpZ2h0IGRhdGEg YWZ0ZXIgc2F2ZS9yZXN0b3JlLi4uICovCiAJbm90aWZ5X2RhZW1vbihkZXYpOwpAQCAtMjEwLDgg KzIxOSwyMCBAQCBzdHJ1Y3QgY29uc2Zyb250X2RldiAqeGVuY29uc19yaW5nX2luaXQodm9pZCkK IAlyZXR1cm4gZGV2OwogfQogCi12b2lkIHhlbmNvbnNfcmVzdW1lKHZvaWQpCit2b2lkIHhlbmNv bnNfcmluZ19maW5pKHN0cnVjdCBjb25zZnJvbnRfZGV2KiBkZXYpCiB7Ci0JKHZvaWQpeGVuY29u c19yaW5nX2luaXQoKTsKKwlpZiAoZGV2KQorICAgIAltYXNrX2V2dGNobihkZXYtPmV2dGNobik7 CiB9CiAKK3ZvaWQgeGVuY29uc19yaW5nX3Jlc3VtZShzdHJ1Y3QgY29uc2Zyb250X2RldiogZGV2 KQoreworCWlmIChkZXYpIHsKKyNpZiBDT05GSUdfUEFSQVZJUlQKKwkJZ2V0X2NvbnNvbGUoJnN0 YXJ0X2luZm8pOworI2Vsc2UKKwkJZ2V0X2NvbnNvbGUoMCk7CisjZW5kaWYKKwkJcmVzdW1lX3hl bl9jb25zb2xlKGRldik7CisJfQorfQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jb25zb2xlLmggYi9p bmNsdWRlL2NvbnNvbGUuaAppbmRleCA1MzljY2NkLi4wZDdiZjA3IDEwMDY0NAotLS0gYS9pbmNs dWRlL2NvbnNvbGUuaAorKysgYi9pbmNsdWRlL2NvbnNvbGUuaApAQCAtNzgsMTEgKzc4LDE1IEBA IHZvaWQgeGVuY29uc190eCh2b2lkKTsKIHZvaWQgZ2V0X2NvbnNvbGUodm9pZCAqcCk7CiB2b2lk IGluaXRfY29uc29sZSh2b2lkKTsKIHZvaWQgY29uc29sZV9wcmludChzdHJ1Y3QgY29uc2Zyb250 X2RldiAqZGV2LCBjaGFyICpkYXRhLCBpbnQgbGVuZ3RoKTsKLXZvaWQgZmluaV9jb25zb2xlKHN0 cnVjdCBjb25zZnJvbnRfZGV2ICpkZXYpOwordm9pZCBmaW5pX2NvbnNmcm9udChzdHJ1Y3QgY29u c2Zyb250X2RldiAqZGV2KTsKK3ZvaWQgc3VzcGVuZF9jb25zb2xlKHZvaWQpOwordm9pZCByZXN1 bWVfY29uc29sZSh2b2lkKTsKIAogLyogTG93IGxldmVsIGZ1bmN0aW9ucyBkZWZpbmVkIGluIHhl bmNvbnNfcmluZy5jICovCiBleHRlcm4gc3RydWN0IHdhaXRfcXVldWVfaGVhZCBjb25zb2xlX3F1 ZXVlOwogc3RydWN0IGNvbnNmcm9udF9kZXYgKnhlbmNvbnNfcmluZ19pbml0KHZvaWQpOwordm9p ZCB4ZW5jb25zX3JpbmdfZmluaShzdHJ1Y3QgY29uc2Zyb250X2RldiogZGV2KTsKK3ZvaWQgeGVu Y29uc19yaW5nX3Jlc3VtZShzdHJ1Y3QgY29uc2Zyb250X2RldiogZGV2KTsKIHN0cnVjdCBjb25z ZnJvbnRfZGV2ICppbml0X2NvbnNmcm9udChjaGFyICpfbm9kZW5hbWUpOwogaW50IHhlbmNvbnNf cmluZ19zZW5kKHN0cnVjdCBjb25zZnJvbnRfZGV2ICpkZXYsIGNvbnN0IGNoYXIgKmRhdGEsIHVu c2lnbmVkIGxlbik7CiBpbnQgeGVuY29uc19yaW5nX3NlbmRfbm9fbm90aWZ5KHN0cnVjdCBjb25z ZnJvbnRfZGV2ICpkZXYsIGNvbnN0IGNoYXIgKmRhdGEsIHVuc2lnbmVkIGxlbik7CmRpZmYgLS1n aXQgYS9rZXJuZWwuYyBiL2tlcm5lbC5jCmluZGV4IGExNmIxYmEuLmZkMWM0YzUgMTAwNjQ0Ci0t LSBhL2tlcm5lbC5jCisrKyBiL2tlcm5lbC5jCkBAIC0xMjIsMTAgKzEyMiwxNCBAQCB2b2lkIHBy ZV9zdXNwZW5kKHZvaWQpCiAgICAgbG9jYWxfaXJxX2Rpc2FibGUoKTsKIAogICAgIHN1c3BlbmRf dGltZSgpOworCisgICAgc3VzcGVuZF9jb25zb2xlKCk7CiB9CiAKIHZvaWQgcG9zdF9zdXNwZW5k KGludCBjYW5jZWxlZCkKIHsKKyAgICByZXN1bWVfY29uc29sZSgpOworCiAgICAgcmVzdW1lX3Rp bWUoKTsKIAogICAgIGxvY2FsX2lycV9lbmFibGUoKTsKZGlmZiAtLWdpdCBhL2xpYi9zeXMuYyBi L2xpYi9zeXMuYwppbmRleCAyM2RjMmE1Li5kYTQzNGZjIDEwMDY0NAotLS0gYS9saWIvc3lzLmMK KysrIGIvbGliL3N5cy5jCkBAIC00ODcsNyArNDg3LDcgQEAgaW50IGNsb3NlKGludCBmZCkKICNp ZmRlZiBDT05GSUdfQ09OU0ZST05UCiAgICAgICAgIGNhc2UgRlRZUEVfU0FWRUZJTEU6CiAgICAg ICAgIGNhc2UgRlRZUEVfQ09OU09MRToKLSAgICAgICAgICAgIGZpbmlfY29uc29sZShmaWxlc1tm ZF0uY29ucy5kZXYpOworICAgICAgICAgICAgZmluaV9jb25zZnJvbnQoZmlsZXNbZmRdLmNvbnMu ZGV2KTsKICAgICAgICAgICAgIGZpbGVzW2ZkXS50eXBlID0gRlRZUEVfTk9ORTsKICAgICAgICAg ICAgIHJldHVybiAwOwogI2VuZGlmCi0tIAoyLjMuMiAoQXBwbGUgR2l0LTU1KQoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=