From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric DeVolder Subject: [PATCH v3] kexec: implement STATUS hypercall to check if image is loaded Date: Tue, 17 Jan 2017 11:29:16 -0600 Message-ID: <1484674156-28133-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, ian.jackson@eu.citrix.com, wei.liu2@citrix.com Cc: elena.ufimtseva@oracle.com, andrew.cooper3@citrix.com, daniel.kiper@oracle.com, konrad.wilk@oracle.com List-Id: xen-devel@lists.xenproject.org VGhlIHRvb2xzIHRoYXQgdXNlIGtleGVjIGFyZSBhc3luY2hyb25vdXMgaW4gbmF0dXJlIGFuZCBk byBub3Qga2VlcApzdGF0ZSBjaGFuZ2VzLiBBcyBzdWNoIHByb3ZpZGUgYW4gaHlwZXJjYWxsIHRv IGZpbmQgb3V0IHdoZXRoZXIgYW4KaW1hZ2UgaGFzIGJlZW4gbG9hZGVkIGZvciBlaXRoZXIgdHlw ZS4KCk5vdGU6IE5vIG5lZWQgdG8gbW9kaWZ5IFhTTSBhcyBpdCBoYXMgb25lIHNpemUgZml0cyBh bGwgY2hlY2sgYW5kCmRvZXMgbm90IGNoZWNrIGZvciBzdWJjb21tYW5kcy4KCk5vdGU6IE5vIG5l ZWQgdG8gY2hlY2sgS0VYRUNfRkxBR19JTl9QUk9HUkVTUyAoYW5kIGVycm9yIG91dCBvZgprZXhl Y19zdGF0dXMoKSkgYXMgdGhpcyBmbGFnIGlzIHNldCBvbmx5IG9uY2UgYnkgdGhlIGZpcnN0L29u bHkKY3B1IG9uIHRoZSBjcmFzaCBwYXRoLgoKTm90ZTogVGhpcyBpcyBqdXN0IHRoZSBYZW4gc2lk ZSBvZiB0aGUgaHlwZXJjYWxsLCBrZXhlYy10b29scyBwYXRjaAp0byBjb21lIHNlcGFyYXRlbHku CgpTaWduZWQtb2ZmLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNs ZS5jb20+ClNpZ25lZC1vZmYtYnk6IEVyaWMgRGVWb2xkZXIgPGVyaWMuZGV2b2xkZXJAb3JhY2xl LmNvbT4KLS0tCkNDOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpD QzogRWxlbmEgVWZpbXRzZXZhIDxlbGVuYS51ZmltdHNldmFAb3JhY2xlLmNvbT4KQ0M6IERhbmll bCBLaXBlciA8ZGFuaWVsLmtpcGVyQG9yYWNsZS5jb20+Cgp2MDogSW50ZXJuYWwgdmVyc2lvbi4K djE6IERyb3BwZWQgUmV2aWV3ZWQtYnksIHBvc3Rpbmcgb24geGVuLWRldmVsLgp2MjogSW5jb3Jw b3JhdGVkIHhlbi1kZXZlbCBmZWVkYmFjaywgcmUtcG9zdGVkIG9uIHhlbi1kZXZlbC4KdjM6IElu Y29ycG9yYXRlZCB4ZW4tZGV2ZWwgZmVlZGJhY2sKLS0tCiB0b29scy9saWJ4Yy9pbmNsdWRlL3hl bmN0cmwuaCB8IDEwICsrKysrKysrKysKIHRvb2xzL2xpYnhjL3hjX2tleGVjLmMgICAgICAgIHwg MjQgKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vY29tbW9uL2tleGVjLmMgICAgICAgICAg ICB8IDE5ICsrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL3B1YmxpYy9rZXhlYy5oICAg IHwgMTMgKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggYi90b29scy9saWJ4Yy9p bmNsdWRlL3hlbmN0cmwuaAppbmRleCA0YWIwZjU3Li42M2M2MTZmIDEwMDY0NAotLS0gYS90b29s cy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAorKysgYi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0 cmwuaApAQCAtMjU3NCw2ICsyNTc0LDE2IEBAIGludCB4Y19rZXhlY19sb2FkKHhjX2ludGVyZmFj ZSAqeGNoLCB1aW50OF90IHR5cGUsIHVpbnQxNl90IGFyY2gsCiAgKi8KIGludCB4Y19rZXhlY191 bmxvYWQoeGNfaW50ZXJmYWNlICp4Y2gsIGludCB0eXBlKTsKIAorLyoKKyAqIEZpbmQgb3V0IHdo ZXRoZXIgdGhlIGltYWdlIGhhcyBiZWVuIHN1Y2Nlc2Z1bGx5IGxvYWRlZC4KKyAqCisgKiBUaGUg dHlwZSBjYW4gYmUgZWl0aGVyIEtFWEVDX1RZUEVfREVGQVVMVCBvciBLRVhFQ19UWVBFX0NSQVNI LgorICogSWYgemVybyBpcyByZXR1cm5lZCwgdGhhdCBtZWFucyBubyBpbWFnZSBpcyBsb2FkZWQg Zm9yIHRoZSB0eXBlLgorICogSWYgb25lIGlzIHJldHVybmVkLCB0aGF0IG1lYW5zIGFuIGltYWdl IGlzIGxvYWRlZCBmb3IgdGhlIHR5cGUuCisgKiBPdGhlcndpc2UsIG5lZ2F0aXZlIHJldHVybiB2 YWx1ZSBpbmRpY2F0ZXMgZXJyb3IuCisgKi8KK2ludCB4Y19rZXhlY19zdGF0dXMoeGNfaW50ZXJm YWNlICp4Y2gsIGludCB0eXBlKTsKKwogdHlwZWRlZiB4ZW5wZl9yZXNvdXJjZV9lbnRyeV90IHhj X3Jlc291cmNlX2VudHJ5X3Q7CiAKIC8qCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19rZXhl Yy5jIGIvdG9vbHMvbGlieGMveGNfa2V4ZWMuYwppbmRleCA1OWUyZjA3Li5hNGU4OTY2IDEwMDY0 NAotLS0gYS90b29scy9saWJ4Yy94Y19rZXhlYy5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2tleGVj LmMKQEAgLTEyNiwzICsxMjYsMjcgQEAgb3V0OgogCiAgICAgcmV0dXJuIHJldDsKIH0KKworaW50 IHhjX2tleGVjX3N0YXR1cyh4Y19pbnRlcmZhY2UgKnhjaCwgaW50IHR5cGUpCit7CisgICAgREVD TEFSRV9IWVBFUkNBTExfQlVGRkVSKHhlbl9rZXhlY19zdGF0dXNfdCwgc3RhdHVzKTsKKyAgICBp bnQgcmV0ID0gLTE7CisKKyAgICBzdGF0dXMgPSB4Y19oeXBlcmNhbGxfYnVmZmVyX2FsbG9jKHhj aCwgc3RhdHVzLCBzaXplb2YoKnN0YXR1cykpOworICAgIGlmICggc3RhdHVzID09IE5VTEwgKQor ICAgIHsKKyAgICAgICAgUEVSUk9SKCJDb3VsZCBub3QgYWxsb2MgYnVmZmVyIGZvciBrZXhlYyBz dGF0dXMgaHlwZXJjYWxsIik7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKworICAgIHN0YXR1 cy0+dHlwZSA9IHR5cGU7CisKKyAgICByZXQgPSB4ZW5jYWxsMih4Y2gtPnhjYWxsLCBfX0hZUEVS VklTT1Jfa2V4ZWNfb3AsCisgICAgICAgICAgICAgICAgICAgS0VYRUNfQ01EX2tleGVjX3N0YXR1 cywKKyAgICAgICAgICAgICAgICAgICBIWVBFUkNBTExfQlVGRkVSX0FTX0FSRyhzdGF0dXMpKTsK Kworb3V0OgorICAgIHhjX2h5cGVyY2FsbF9idWZmZXJfZnJlZSh4Y2gsIHN0YXR1cyk7CisKKyAg ICByZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9rZXhlYy5jIGIveGVuL2Nv bW1vbi9rZXhlYy5jCmluZGV4IGM4M2Q0OGYuLmFhODA4Y2IgMTAwNjQ0Ci0tLSBhL3hlbi9jb21t b24va2V4ZWMuYworKysgYi94ZW4vY29tbW9uL2tleGVjLmMKQEAgLTExNjksNiArMTE2OSwyMiBA QCBzdGF0aWMgaW50IGtleGVjX3VubG9hZChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIHVh cmcpCiAgICAgcmV0dXJuIGtleGVjX2RvX3VubG9hZCgmdW5sb2FkKTsKIH0KIAorc3RhdGljIGlu dCBrZXhlY19zdGF0dXMoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSB1YXJnKQoreworICAg IHhlbl9rZXhlY19zdGF0dXNfdCBzdGF0dXM7CisgICAgaW50IGJhc2UsIGJpdDsKKworICAgIGlm ICggdW5saWtlbHkoY29weV9mcm9tX2d1ZXN0KCZzdGF0dXMsIHVhcmcsIDEpKSApCisgICAgICAg IHJldHVybiAtRUZBVUxUOworCisgICAgLyogTm8gbmVlZCB0byBjaGVjayBLRVhFQ19GTEFHX0lO X1BST0dSRVNTLiAqLworCisgICAgaWYgKCBrZXhlY19sb2FkX2dldF9iaXRzKHN0YXR1cy50eXBl LCAmYmFzZSwgJmJpdCkgKQorICAgICAgICByZXR1cm4gLUVJTlZBTDsKKworICAgIHJldHVybiB0 ZXN0X2JpdChiaXQsICZrZXhlY19mbGFncyk7Cit9CisKIHN0YXRpYyBpbnQgZG9fa2V4ZWNfb3Bf aW50ZXJuYWwodW5zaWduZWQgbG9uZyBvcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSB1YXJnLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBib29sX3QgY29tcGF0KQpAQCAtMTIwOCw2ICsxMjI0LDkgQEAgc3RhdGlj IGludCBkb19rZXhlY19vcF9pbnRlcm5hbCh1bnNpZ25lZCBsb25nIG9wLAogICAgIGNhc2UgS0VY RUNfQ01EX2tleGVjX3VubG9hZDoKICAgICAgICAgcmV0ID0ga2V4ZWNfdW5sb2FkKHVhcmcpOwog ICAgICAgICBicmVhazsKKyAgICBjYXNlIEtFWEVDX0NNRF9rZXhlY19zdGF0dXM6CisgICAgICAg IHJldCA9IGtleGVjX3N0YXR1cyh1YXJnKTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAg cmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9rZXhlYy5oIGIveGVu L2luY2x1ZGUvcHVibGljL2tleGVjLmgKaW5kZXggYTZhMGE4OC4uYzIwMGU4YyAxMDA2NDQKLS0t IGEveGVuL2luY2x1ZGUvcHVibGljL2tleGVjLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2tl eGVjLmgKQEAgLTIyNyw2ICsyMjcsMTkgQEAgdHlwZWRlZiBzdHJ1Y3QgeGVuX2tleGVjX3VubG9h ZCB7CiB9IHhlbl9rZXhlY191bmxvYWRfdDsKIERFRklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9r ZXhlY191bmxvYWRfdCk7CiAKKy8qCisgKiBGaWd1cmUgb3V0IHdoZXRoZXIgd2UgaGF2ZSBhbiBp bWFnZSBsb2FkZWQuIEEgcmV0dXJuIHZhbHVlIG9mCisgKiB6ZXJvIGluZGljYXRlcyBubyBpbWFn ZSBsb2FkZWQuIEEgcmV0dXJuIHZhbHVlIG9mIG9uZQorICogaW5kaWNhdGVzIGFuIGltYWdlIGlz IGxvYWRlZC4gQSBuZWdhdGl2ZSByZXR1cm4gdmFsdWUKKyAqIGluZGljYXRlcyBhbiBlcnJvci4K KyAqCisgKiBUeXBlIG11c3QgYmUgb25lIG9mIEtFWEVDX1RZUEVfREVGQVVMVCBvciBLRVhFQ19U WVBFX0NSQVNILgorICovCisjZGVmaW5lIEtFWEVDX0NNRF9rZXhlY19zdGF0dXMgNgordHlwZWRl ZiBzdHJ1Y3QgeGVuX2tleGVjX3N0YXR1cyB7CisgICAgdWludDhfdCB0eXBlOworfSB4ZW5fa2V4 ZWNfc3RhdHVzX3Q7CitERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5fa2V4ZWNfc3RhdHVzX3Qp OwogI2Vsc2UgLyogX19YRU5fSU5URVJGQUNFX1ZFUlNJT05fXyA8IDB4MDAwNDA0MDAgKi8KIAog I2RlZmluZSBLRVhFQ19DTURfa2V4ZWNfbG9hZCBLRVhFQ19DTURfa2V4ZWNfbG9hZF92MQotLSAK Mi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlz dHMueGVuLm9yZy94ZW4tZGV2ZWwK