From: Simon Horman Subject: Re: [PATCH v4] kexec: implemented XEN KEXEC STATUS to determine if an image is loaded Date: Thu, 26 Jan 2017 11:22:19 +0100 Message-ID: <20170126102219.GA25761@verge.net.au> References: <1485358275-11304-1-git-send-email-eric.devolder@oracle.com> <20170125230248.GM16671@olila.local.net-space.pl> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cWhCI-0008Gt-05 for xen-devel@lists.xenproject.org; Thu, 26 Jan 2017 10:22:30 +0000 Content-Disposition: inline In-Reply-To: <20170125230248.GM16671@olila.local.net-space.pl> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Daniel Kiper Cc: andrew.cooper3@citrix.com, Eric DeVolder , kexec@lists.infradead.org, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org T24gVGh1LCBKYW4gMjYsIDIwMTcgYXQgMTI6MDI6NDhBTSArMDEwMCwgRGFuaWVsIEtpcGVyIHdy b3RlOgo+IE9uIFdlZCwgSmFuIDI1LCAyMDE3IGF0IDA5OjMxOjE1QU0gLTA2MDAsIEVyaWMgRGVW b2xkZXIgd3JvdGU6Cj4gCj4gWy4uLl0KPiAKPiA+IGRpZmYgLS1naXQgYS9rZXhlYy9rZXhlYy5j IGIva2V4ZWMva2V4ZWMuYwo+ID4gaW5kZXggNTAwZTVhOS4uZWMxNjI0NyAxMDA2NDQKPiA+IC0t LSBhL2tleGVjL2tleGVjLmMKPiA+ICsrKyBiL2tleGVjL2tleGVjLmMKPiA+IEBAIC01MSw2ICs1 MSw5IEBACj4gPiAgI2luY2x1ZGUgImtleGVjLWx6bWEuaCIKPiA+ICAjaW5jbHVkZSA8YXJjaC9v cHRpb25zLmg+Cj4gPgo+ID4gKyNkZWZpbmUgS0VYRUNfTE9BREVEX1BBVEggIi9zeXMva2VybmVs L2tleGVjX2xvYWRlZCIKPiA+ICsjZGVmaW5lIEtFWEVDX0NSQVNIX0xPQURFRF9QQVRIICIvc3lz L2tlcm5lbC9rZXhlY19jcmFzaF9sb2FkZWQiCj4gPiArCj4gPiAgdW5zaWduZWQgbG9uZyBsb25n IG1lbV9taW4gPSAwOwo+ID4gIHVuc2lnbmVkIGxvbmcgbG9uZyBtZW1fbWF4ID0gVUxPTkdfTUFY Owo+ID4gIHN0YXRpYyB1bnNpZ25lZCBsb25nIGtleGVjX2ZsYWdzID0gMDsKPiA+IEBAIC04OTAs OCArODkzLDYgQEAgc3RhdGljIGludCBteV9leGVjKHZvaWQpCj4gPiAgCXJldHVybiAtMTsKPiA+ ICB9Cj4gPgo+ID4gLXN0YXRpYyBpbnQga2V4ZWNfbG9hZGVkKHZvaWQpOwo+ID4gLQo+ID4gIHN0 YXRpYyBpbnQgbG9hZF9qdW1wX2JhY2tfaGVscGVyX2ltYWdlKHVuc2lnbmVkIGxvbmcga2V4ZWNf ZmxhZ3MsIHZvaWQgKmVudHJ5KQo+ID4gIHsKPiA+ICAJaW50IHJlc3VsdDsKPiA+IEBAIC05MDIs NiArOTAzLDQwIEBAIHN0YXRpYyBpbnQgbG9hZF9qdW1wX2JhY2tfaGVscGVyX2ltYWdlKHVuc2ln bmVkIGxvbmcga2V4ZWNfZmxhZ3MsIHZvaWQgKmVudHJ5KQo+ID4gIAlyZXR1cm4gcmVzdWx0Owo+ ID4gIH0KPiA+Cj4gPiArc3RhdGljIGludCBrZXhlY19sb2FkZWQoY29uc3QgY2hhciAqZmlsZSkK PiA+ICt7Cj4gPiArCWxvbmcgcmV0ID0gLTE7Cj4gPiArCUZJTEUgKmZwOwo+ID4gKwljaGFyICpw Owo+ID4gKwljaGFyIGxpbmVbM107Cj4gPiArCj4gPiArCS8qIE5vIHdheSB0byB0ZWxsIGlmIGFu IGltYWdlIGlzIGxvYWRlZCB1bmRlciBYZW4sIGFzc3VtZSBpdCBpcy4gKi8KPiA+ICsJaWYgKHhl bl9wcmVzZW50KCkpCj4gPiArCQlyZXR1cm4gMTsKPiA+ICsKPiA+ICsJZnAgPSBmb3BlbihmaWxl LCAiciIpOwo+ID4gKwlpZiAoZnAgPT0gTlVMTCkKPiA+ICsJCXJldHVybiAtMTsKPiA+ICsKPiA+ ICsJcCA9IGZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgZnApOwo+ID4gKwlmY2xvc2UoZnApOwo+ ID4gKwo+ID4gKwlpZiAocCA9PSBOVUxMKQo+ID4gKwkJcmV0dXJuIC0xOwo+ID4gKwo+ID4gKwly ZXQgPSBzdHJ0b2wobGluZSwgJnAsIDEwKTsKPiA+ICsKPiA+ICsJLyogVG9vIGxvbmcgKi8KPiA+ ICsJaWYgKHJldCA+IElOVF9NQVgpCj4gPiArCQlyZXR1cm4gLTE7Cj4gPiArCj4gPiArCS8qIE5v IGRpZ2l0cyB3ZXJlIGZvdW5kICovCj4gPiArCWlmIChwID09IGxpbmUpCj4gPiArCQlyZXR1cm4g LTE7Cj4gPiArCj4gPiArCXJldHVybiAoaW50KXJldDsKPiA+ICt9Cj4gPiArCj4gPiAgLyoKPiA+ ICAgKglKdW1wIGJhY2sgdG8gdGhlIG9yaWdpbmFsIGtlcm5lbAo+ID4gICAqLwo+ID4gQEAgLTkw OSw3ICs5NDQsNyBAQCBzdGF0aWMgaW50IG15X2xvYWRfanVtcF9iYWNrX2hlbHBlcih1bnNpZ25l ZCBsb25nIGtleGVjX2ZsYWdzLCB2b2lkICplbnRyeSkKPiA+ICB7Cj4gPiAgCWludCByZXN1bHQ7 Cj4gPgo+ID4gLQlpZiAoa2V4ZWNfbG9hZGVkKCkpIHsKPiA+ICsJaWYgKGtleGVjX2xvYWRlZChL RVhFQ19MT0FERURfUEFUSCkpIHsKPiA+ICAJCWZwcmludGYoc3RkZXJyLCAiVGhlcmUgaXMga2V4 ZWMga2VybmVsIGxvYWRlZCwgbWFrZSBzdXJlICIKPiA+ICAJCQkieW91IGFyZSBpbiBrZXhlY2Vk IGtlcm5lbC5cbiIpOwo+ID4gIAkJcmV0dXJuIC0xOwo+ID4gQEAgLTk3MCw2ICsxMDA1LDcgQEAg dm9pZCB1c2FnZSh2b2lkKQo+ID4gIAkgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICB0byBv cmlnaW5hbCBrZXJuZWwuXG4iCj4gPiAgCSAgICAgICAiIC1zLCAtLWtleGVjLWZpbGUtc3lzY2Fs bCBVc2UgZmlsZSBiYXNlZCBzeXNjYWxsIGZvciBrZXhlYyBvcGVyYXRpb25cbiIKPiA+ICAJICAg ICAgICIgLWQsIC0tZGVidWcgICAgICAgICAgIEVuYWJsZSBkZWJ1Z2dpbmcgdG8gaGVscCBzcG90 IGEgZmFpbHVyZS5cbiIKPiA+ICsJICAgICAgICIgLVMsIC0tc3RhdHVzICAgICAgICAgUmV0dXJu IDAgaWYgdGhlIHR5cGUgKGJ5IGRlZmF1bHQgY3Jhc2gpIGlzIGxvYWRlZC5cbiIKPiA+ICAJICAg ICAgICJcbiIKPiA+ICAJICAgICAgICJTdXBwb3J0ZWQga2VybmVsIGZpbGUgdHlwZXMgYW5kIG9w dGlvbnM6IFxuIik7Cj4gPiAgCWZvciAoaSA9IDA7IGkgPCBmaWxlX3R5cGVzOyBpKyspIHsKPiA+ IEBAIC05ODEsNDAgKzEwMTcsMzAgQEAgdm9pZCB1c2FnZSh2b2lkKQo+ID4gIAlwcmludGYoIlxu Iik7Cj4gPiAgfQo+ID4KPiA+IC1zdGF0aWMgaW50IGtleGVjX2xvYWRlZCh2b2lkKQo+ID4gK3N0 YXRpYyBpbnQga19zdGF0dXModW5zaWduZWQgbG9uZyBrZXhlY19mbGFncykKPiA+ICB7Cj4gPiAt CWxvbmcgcmV0ID0gLTE7Cj4gPiAtCUZJTEUgKmZwOwo+ID4gLQljaGFyICpwOwo+ID4gLQljaGFy IGxpbmVbM107Cj4gPiArCWludCByZXN1bHQ7Cj4gPiArCWxvbmcgbmF0aXZlX2FyY2g7Cj4gPiAr Cj4gPiArCS8qIHNldCB0aGUgYXJjaCAqLwo+ID4gKwluYXRpdmVfYXJjaCA9IHBoeXNpY2FsX2Fy Y2goKTsKPiA+ICsJaWYgKG5hdGl2ZV9hcmNoIDwgMCkgewo+ID4gKwkJcmV0dXJuIC0xOwo+ID4g Kwl9Cj4gPiArCWtleGVjX2ZsYWdzIHw9IG5hdGl2ZV9hcmNoOwo+ID4KPiA+IC0JLyogTm8gd2F5 IHRvIHRlbGwgaWYgYW4gaW1hZ2UgaXMgbG9hZGVkIHVuZGVyIFhlbiwgYXNzdW1lIGl0IGlzLiAq Lwo+ID4gIAlpZiAoeGVuX3ByZXNlbnQoKSkKPiA+IC0JCXJldHVybiAxOwo+ID4gLQo+ID4gLQlm cCA9IGZvcGVuKCIvc3lzL2tlcm5lbC9rZXhlY19sb2FkZWQiLCAiciIpOwo+ID4gLQlpZiAoZnAg PT0gTlVMTCkKPiA+IC0JCXJldHVybiAtMTsKPiA+IC0KPiA+IC0JcCA9IGZnZXRzKGxpbmUsIHNp emVvZihsaW5lKSwgZnApOwo+ID4gLQlmY2xvc2UoZnApOwo+ID4gLQo+ID4gLQlpZiAocCA9PSBO VUxMKQo+ID4gLQkJcmV0dXJuIC0xOwo+ID4gLQo+ID4gLQlyZXQgPSBzdHJ0b2wobGluZSwgJnAs IDEwKTsKPiA+IC0KPiA+IC0JLyogVG9vIGxvbmcgKi8KPiA+IC0JaWYgKHJldCA+IElOVF9NQVgp Cj4gPiAtCQlyZXR1cm4gLTE7Cj4gPiAtCj4gPiAtCS8qIE5vIGRpZ2l0cyB3ZXJlIGZvdW5kICov Cj4gPiAtCWlmIChwID09IGxpbmUpCj4gPiAtCQlyZXR1cm4gLTE7Cj4gPiAtCj4gPiAtCXJldHVy biAoaW50KXJldDsKPiA+ICsJCXJlc3VsdCA9IHhlbl9rZXhlY19zdGF0dXMoa2V4ZWNfZmxhZ3Mp Owo+ID4gKwllbHNlIHsKPiA+ICsJCWlmIChrZXhlY19mbGFncyAmIEtFWEVDX09OX0NSQVNIKQo+ ID4gKwkJCXJlc3VsdCA9IGtleGVjX2xvYWRlZChLRVhFQ19DUkFTSF9MT0FERURfUEFUSCk7Cj4g PiArCQllbHNlCj4gPiArCQkJcmVzdWx0ID0ga2V4ZWNfbG9hZGVkKEtFWEVDX0xPQURFRF9QQVRI KTsKPiA+ICsJfQo+ID4gKwlyZXR1cm4gcmVzdWx0Owo+ID4gIH0KPiAKPiBPaGhoLi4uIFRoaXMg aXMgYXdmdWwuIEhhdmUgeW91IHRyaWVkIC0tcGF0aWVuY2Ugb3B0aW9uIGZvciAiZ2l0IGZvcm1h dC1wYXRjaCI/Cj4gRG9lcyBpdCBoZWxwPyBJZiB5ZXMgcGxlYXNlIHJlcG9zdC4gSWYgaXQgZG9l cyBub3QgbGV0J3Mgd2FpdCBmb3IgbWFpbnRhaW5lcnMKPiBvcGluaW9uIGFib3V0IHRoYXQuIE1h eWJlIHdlIHNob3VsZCBsZWF2ZSBmb3J3YXJkIGRlY2xhcmF0aW9uIGluIGZpcnN0IHBhdGNoCj4g YXMgaXMgYW5kIHRoZW4gbW92ZSBrZXhlY19sb2FkZWQoKSBpbiBzZWNvbmQgKGFzIGEgY2xlYW51 cCkuCj4gCj4gVGhvdWdoIG90aGVyd2lzZSBMR1RNLgoKSXQgZGlkIG5vdCBzZWVtIHRvIGhlbHAg d2hlbiBJIHRyaWVkLgoKSSdtIGhhcHB5IHdpdGggdGhpbmdzIHRoZSB3YXkgdGhleSBhcmUgYW5k IEkgd2lsbCBhcHBseSB0aGlzIHBhdGNoLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==