From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric DeVolder Subject: [PATCH v4] kexec: implement STATUS hypercall to check if image is loaded Date: Wed, 18 Jan 2017 11:46:13 -0600 Message-ID: <1484761573-7606-1-git-send-email-eric.devolder@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org, andrew.cooper3@citrix.com, wei.liu2@citrix.com, ian.jackson@eu.citrix.com Cc: elena.ufimtseva@oracle.com, daniel.kiper@oracle.com, konrad.wilk@oracle.com List-Id: xen-devel@lists.xenproject.org VGhlIHRvb2xzIHRoYXQgdXNlIGtleGVjIGFyZSBhc3luY2hyb25vdXMgaW4gbmF0dXJlIGFuZCBk byBub3Qga2VlcApzdGF0ZSBjaGFuZ2VzLiBBcyBzdWNoIHByb3ZpZGUgYW4gaHlwZXJjYWxsIHRv IGZpbmQgb3V0IHdoZXRoZXIgYW4KaW1hZ2UgaGFzIGJlZW4gbG9hZGVkIGZvciBlaXRoZXIgdHlw ZS4KCk5vdGU6IE5vIG5lZWQgdG8gbW9kaWZ5IFhTTSBhcyBpdCBoYXMgb25lIHNpemUgZml0cyBh bGwgY2hlY2sgYW5kCmRvZXMgbm90IGNoZWNrIGZvciBzdWJjb21tYW5kcy4KCk5vdGU6IE5vIG5l ZWQgdG8gY2hlY2sgS0VYRUNfRkxBR19JTl9QUk9HUkVTUyAoYW5kIGVycm9yIG91dCBvZgprZXhl Y19zdGF0dXMoKSkgYXMgdGhpcyBmbGFnIGlzIHNldCBvbmx5IG9uY2UgYnkgdGhlIGZpcnN0L29u bHkKY3B1IG9uIHRoZSBjcmFzaCBwYXRoLgoKTm90ZTogSW4ga2V4ZWNfc3RhdHVzKCksIHRoZSB1 c2Ugb2YgdGVzdF9iaXQoKSBjYW4gYWxzbyByZXR1cm4KRVBFUk0sIHNvIHRoZSByZXR1cm4gdmFs dWUgZnJvbSB0ZXN0X2JpdCgpIG11c3QgYmUgY2hlY2tlZCB0bwplbnN1cmUgdGhhdCBrZXhlY19z dGF0dXMoKSBhbHdheXMgcmV0dXJucyAwLCAxIG9yIC0xLCBwZXIgdGhlCnB1YmxpYyBoZWFkZXIg ZGVzY3JpcHRpb24uCgpOb3RlOiBUaGlzIGlzIGp1c3QgdGhlIFhlbiBzaWRlIG9mIHRoZSBoeXBl cmNhbGwsIGtleGVjLXRvb2xzIHBhdGNoCnRvIGNvbWUgc2VwYXJhdGVseS4KClNpZ25lZC1vZmYt Ynk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KU2lnbmVk LW9mZi1ieTogRXJpYyBEZVZvbGRlciA8ZXJpYy5kZXZvbGRlckBvcmFjbGUuY29tPgotLS0KQ0M6 IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNDOiBFbGVuYSBVZmlt dHNldmEgPGVsZW5hLnVmaW10c2V2YUBvcmFjbGUuY29tPgpDQzogRGFuaWVsIEtpcGVyIDxkYW5p ZWwua2lwZXJAb3JhY2xlLmNvbT4KCnYwOiBJbnRlcm5hbCB2ZXJzaW9uLgp2MTogRHJvcHBlZCBS ZXZpZXdlZC1ieSwgcG9zdGluZyBvbiB4ZW4tZGV2ZWwuCnYyOiBJbmNvcnBvcmF0ZWQgeGVuLWRl dmVsIGZlZWRiYWNrLCByZS1wb3N0ZWQgb24geGVuLWRldmVsLgp2MzogSW5jb3Jwb3JhdGVkIHhl bi1kZXZlbCBmZWVkYmFjaywgcmUtcG9zdGVkIG9uIHhlbi1kZXZlbC4KdjQ6IEluY29ycG9yYXRl ZCB4ZW4tZGV2ZWwgZmVlZGJhY2sKLS0tCiB0b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCB8 IDEwICsrKysrKysrKysKIHRvb2xzL2xpYnhjL3hjX2tleGVjLmMgICAgICAgIHwgMjQgKysrKysr KysrKysrKysrKysrKysrKysrCiB4ZW4vY29tbW9uL2tleGVjLmMgICAgICAgICAgICB8IDE5ICsr KysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL3B1YmxpYy9rZXhlYy5oICAgIHwgMTQgKysr KysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgNjcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94 ZW5jdHJsLmgKaW5kZXggNGFiMGY1Ny4uNjNjNjE2ZiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMv aW5jbHVkZS94ZW5jdHJsLmgKKysrIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKQEAg LTI1NzQsNiArMjU3NCwxNiBAQCBpbnQgeGNfa2V4ZWNfbG9hZCh4Y19pbnRlcmZhY2UgKnhjaCwg dWludDhfdCB0eXBlLCB1aW50MTZfdCBhcmNoLAogICovCiBpbnQgeGNfa2V4ZWNfdW5sb2FkKHhj X2ludGVyZmFjZSAqeGNoLCBpbnQgdHlwZSk7CiAKKy8qCisgKiBGaW5kIG91dCB3aGV0aGVyIHRo ZSBpbWFnZSBoYXMgYmVlbiBzdWNjZXNmdWxseSBsb2FkZWQuCisgKgorICogVGhlIHR5cGUgY2Fu IGJlIGVpdGhlciBLRVhFQ19UWVBFX0RFRkFVTFQgb3IgS0VYRUNfVFlQRV9DUkFTSC4KKyAqIElm IHplcm8gaXMgcmV0dXJuZWQsIHRoYXQgbWVhbnMgbm8gaW1hZ2UgaXMgbG9hZGVkIGZvciB0aGUg dHlwZS4KKyAqIElmIG9uZSBpcyByZXR1cm5lZCwgdGhhdCBtZWFucyBhbiBpbWFnZSBpcyBsb2Fk ZWQgZm9yIHRoZSB0eXBlLgorICogT3RoZXJ3aXNlLCBuZWdhdGl2ZSByZXR1cm4gdmFsdWUgaW5k aWNhdGVzIGVycm9yLgorICovCitpbnQgeGNfa2V4ZWNfc3RhdHVzKHhjX2ludGVyZmFjZSAqeGNo LCBpbnQgdHlwZSk7CisKIHR5cGVkZWYgeGVucGZfcmVzb3VyY2VfZW50cnlfdCB4Y19yZXNvdXJj ZV9lbnRyeV90OwogCiAvKgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfa2V4ZWMuYyBiL3Rv b2xzL2xpYnhjL3hjX2tleGVjLmMKaW5kZXggNTllMmYwNy4uYTRlODk2NiAxMDA2NDQKLS0tIGEv dG9vbHMvbGlieGMveGNfa2V4ZWMuYworKysgYi90b29scy9saWJ4Yy94Y19rZXhlYy5jCkBAIC0x MjYsMyArMTI2LDI3IEBAIG91dDoKIAogICAgIHJldHVybiByZXQ7CiB9CisKK2ludCB4Y19rZXhl Y19zdGF0dXMoeGNfaW50ZXJmYWNlICp4Y2gsIGludCB0eXBlKQoreworICAgIERFQ0xBUkVfSFlQ RVJDQUxMX0JVRkZFUih4ZW5fa2V4ZWNfc3RhdHVzX3QsIHN0YXR1cyk7CisgICAgaW50IHJldCA9 IC0xOworCisgICAgc3RhdHVzID0geGNfaHlwZXJjYWxsX2J1ZmZlcl9hbGxvYyh4Y2gsIHN0YXR1 cywgc2l6ZW9mKCpzdGF0dXMpKTsKKyAgICBpZiAoIHN0YXR1cyA9PSBOVUxMICkKKyAgICB7Cisg ICAgICAgIFBFUlJPUigiQ291bGQgbm90IGFsbG9jIGJ1ZmZlciBmb3Iga2V4ZWMgc3RhdHVzIGh5 cGVyY2FsbCIpOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICBzdGF0dXMtPnR5cGUg PSB0eXBlOworCisgICAgcmV0ID0geGVuY2FsbDIoeGNoLT54Y2FsbCwgX19IWVBFUlZJU09SX2tl eGVjX29wLAorICAgICAgICAgICAgICAgICAgIEtFWEVDX0NNRF9rZXhlY19zdGF0dXMsCisgICAg ICAgICAgICAgICAgICAgSFlQRVJDQUxMX0JVRkZFUl9BU19BUkcoc3RhdHVzKSk7CisKK291dDoK KyAgICB4Y19oeXBlcmNhbGxfYnVmZmVyX2ZyZWUoeGNoLCBzdGF0dXMpOworCisgICAgcmV0dXJu IHJldDsKK30KZGlmZiAtLWdpdCBhL3hlbi9jb21tb24va2V4ZWMuYyBiL3hlbi9jb21tb24va2V4 ZWMuYwppbmRleCBjODNkNDhmLi40MGI3NmQ1IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2tleGVj LmMKKysrIGIveGVuL2NvbW1vbi9rZXhlYy5jCkBAIC0xMTY5LDYgKzExNjksMjIgQEAgc3RhdGlj IGludCBrZXhlY191bmxvYWQoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSB1YXJnKQogICAg IHJldHVybiBrZXhlY19kb191bmxvYWQoJnVubG9hZCk7CiB9CiAKK3N0YXRpYyBpbnQga2V4ZWNf c3RhdHVzKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgdWFyZykKK3sKKyAgICB4ZW5fa2V4 ZWNfc3RhdHVzX3Qgc3RhdHVzOworICAgIGludCBiYXNlLCBiaXQ7CisKKyAgICBpZiAoIHVubGlr ZWx5KGNvcHlfZnJvbV9ndWVzdCgmc3RhdHVzLCB1YXJnLCAxKSkgKQorICAgICAgICByZXR1cm4g LUVGQVVMVDsKKworICAgIC8qIE5vIG5lZWQgdG8gY2hlY2sgS0VYRUNfRkxBR19JTl9QUk9HUkVT Uy4gKi8KKworICAgIGlmICgga2V4ZWNfbG9hZF9nZXRfYml0cyhzdGF0dXMudHlwZSwgJmJhc2Us ICZiaXQpICkKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisKKyAgICByZXR1cm4gKHRlc3RfYml0 KGJpdCwgJmtleGVjX2ZsYWdzKSA9PSAxKTsKK30KKwogc3RhdGljIGludCBkb19rZXhlY19vcF9p bnRlcm5hbCh1bnNpZ25lZCBsb25nIG9wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIHVhcmcsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJvb2xfdCBjb21wYXQpCkBAIC0xMjA4LDYgKzEyMjQsOSBAQCBzdGF0aWMg aW50IGRvX2tleGVjX29wX2ludGVybmFsKHVuc2lnbmVkIGxvbmcgb3AsCiAgICAgY2FzZSBLRVhF Q19DTURfa2V4ZWNfdW5sb2FkOgogICAgICAgICByZXQgPSBrZXhlY191bmxvYWQodWFyZyk7CiAg ICAgICAgIGJyZWFrOworICAgIGNhc2UgS0VYRUNfQ01EX2tleGVjX3N0YXR1czoKKyAgICAgICAg cmV0ID0ga2V4ZWNfc3RhdHVzKHVhcmcpOworICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBy ZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2tleGVjLmggYi94ZW4v aW5jbHVkZS9wdWJsaWMva2V4ZWMuaAppbmRleCBhNmEwYTg4Li43NGVhOTgxIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9wdWJsaWMva2V4ZWMuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMva2V4 ZWMuaApAQCAtMjI3LDYgKzIyNywyMCBAQCB0eXBlZGVmIHN0cnVjdCB4ZW5fa2V4ZWNfdW5sb2Fk IHsKIH0geGVuX2tleGVjX3VubG9hZF90OwogREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVuX2tl eGVjX3VubG9hZF90KTsKIAorLyoKKyAqIEZpZ3VyZSBvdXQgd2hldGhlciB3ZSBoYXZlIGFuIGlt YWdlIGxvYWRlZC4gQSByZXR1cm4gdmFsdWUgb2YKKyAqIHplcm8gaW5kaWNhdGVzIG5vIGltYWdl IGxvYWRlZC4gQSByZXR1cm4gdmFsdWUgb2Ygb25lCisgKiBpbmRpY2F0ZXMgYW4gaW1hZ2UgaXMg bG9hZGVkLiBBIG5lZ2F0aXZlIHJldHVybiB2YWx1ZQorICogaW5kaWNhdGVzIGFuIGVycm9yLgor ICoKKyAqIFR5cGUgbXVzdCBiZSBvbmUgb2YgS0VYRUNfVFlQRV9ERUZBVUxUIG9yIEtFWEVDX1RZ UEVfQ1JBU0guCisgKi8KKyNkZWZpbmUgS0VYRUNfQ01EX2tleGVjX3N0YXR1cyA2Cit0eXBlZGVm IHN0cnVjdCB4ZW5fa2V4ZWNfc3RhdHVzIHsKKyAgICB1aW50OF90IHR5cGU7Cit9IHhlbl9rZXhl Y19zdGF0dXNfdDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9rZXhlY19zdGF0dXNfdCk7 CisKICNlbHNlIC8qIF9fWEVOX0lOVEVSRkFDRV9WRVJTSU9OX18gPCAweDAwMDQwNDAwICovCiAK ICNkZWZpbmUgS0VYRUNfQ01EX2tleGVjX2xvYWQgS0VYRUNfQ01EX2tleGVjX2xvYWRfdjEKLS0g CjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==