From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH v3.1 13/15] xen/x86: parse Dom0 kernel for PVHv2 Date: Fri, 11 Nov 2016 15:30:17 -0500 Message-ID: <20161111203017.GG17979@char.us.oracle.com> References: <1477731601-10926-1-git-send-email-roger.pau@citrix.com> <1477731601-10926-14-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c5ISy-0004zL-K2 for xen-devel@lists.xenproject.org; Fri, 11 Nov 2016 20:30:28 +0000 Content-Disposition: inline In-Reply-To: <1477731601-10926-14-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Roger Pau Monne Cc: xen-devel@lists.xenproject.org, boris.ostrovsky@oracle.com, Jan Beulich , Andrew Cooper List-Id: xen-devel@lists.xenproject.org T24gU2F0LCBPY3QgMjksIDIwMTYgYXQgMTA6NTk6NTlBTSArMDIwMCwgUm9nZXIgUGF1IE1vbm5l IHdyb3RlOgo+IEludHJvZHVjZSBhIGhlbHBlciB0byBwYXJzZSB0aGUgRG9tMCBrZXJuZWwuCj4g Cj4gU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+ Cj4gLS0tCj4gQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KPiBDYzogQW5kcmV3 IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KPiAtLS0KPiBDaGFuZ2VzIHNpbmNl IHYyOgo+ICAtIFJlbW92ZSBkZWJ1ZyBtZXNzYWdlcy4KPiAgLSBEb24ndCBoYXJkY29kZSB0aGUg bnVtYmVyIG9mIG1vZHVsZXMgdG8gMS4KPiAtLS0KPiAgeGVuL2FyY2gveDg2L2RvbWFpbl9idWls ZC5jIHwgMTM4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4g IDEgZmlsZSBjaGFuZ2VkLCAxMzggaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC94ODYvZG9tYWluX2J1aWxkLmMKPiBp bmRleCBlYzFhYzg5Li4xNjhiZTYyIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9kb21haW5f YnVpbGQuYwo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9kb21haW5fYnVpbGQuYwo+IEBAIC0zOSw2ICsz OSw3IEBACj4gICNpbmNsdWRlIDxhc20vaHBldC5oPgo+ICAKPiAgI2luY2x1ZGUgPHB1YmxpYy92 ZXJzaW9uLmg+Cj4gKyNpbmNsdWRlIDxwdWJsaWMvYXJjaC14ODYvaHZtL3N0YXJ0X2luZm8uaD4K PiAgCj4gIHN0YXRpYyBsb25nIF9faW5pdGRhdGEgZG9tMF9ucnBhZ2VzOwo+ICBzdGF0aWMgbG9u ZyBfX2luaXRkYXRhIGRvbTBfbWluX25ycGFnZXM7Cj4gQEAgLTE4OTUsMTIgKzE4OTYsMTQxIEBA IHN0YXRpYyBpbnQgX19pbml0IGh2bV9zZXR1cF9wMm0oc3RydWN0IGRvbWFpbiAqZCkKPiAgICAg IHJldHVybiAwOwo+ICB9Cj4gIAo+ICtzdGF0aWMgaW50IF9faW5pdCBodm1fbG9hZF9rZXJuZWwo c3RydWN0IGRvbWFpbiAqZCwgY29uc3QgbW9kdWxlX3QgKmltYWdlLAo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBpbWFnZV9oZWFkcm9vbSwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV90ICppbml0cmQsIGNoYXIgKmlt YWdlX2Jhc2UsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpjbWRs aW5lLCBwYWRkcl90ICplbnRyeSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHBhZGRyX3QgKnN0YXJ0X2luZm9fYWRkcikKPiArewo+ICsgICAgY2hhciAqaW1hZ2Vfc3RhcnQg PSBpbWFnZV9iYXNlICsgaW1hZ2VfaGVhZHJvb207Cj4gKyAgICB1bnNpZ25lZCBsb25nIGltYWdl X2xlbiA9IGltYWdlLT5tb2RfZW5kOwo+ICsgICAgc3RydWN0IGVsZl9iaW5hcnkgZWxmOwo+ICsg ICAgc3RydWN0IGVsZl9kb21fcGFybXMgcGFybXM7Cj4gKyAgICBwYWRkcl90IGxhc3RfYWRkcjsK PiArICAgIHN0cnVjdCBodm1fc3RhcnRfaW5mbyBzdGFydF9pbmZvOwo+ICsgICAgc3RydWN0IGh2 bV9tb2RsaXN0X2VudHJ5IG1vZDsKPiArICAgIHN0cnVjdCB2Y3B1ICpzYXZlZF9jdXJyZW50LCAq diA9IGQtPnZjcHVbMF07Cj4gKyAgICBpbnQgcmM7Cj4gKwo+ICsgICAgaWYgKCAocmMgPSBiemlt YWdlX3BhcnNlKGltYWdlX2Jhc2UsICZpbWFnZV9zdGFydCwgJmltYWdlX2xlbikpICE9IDAgKQo+ ICsgICAgewo+ICsgICAgICAgIHByaW50aygiRXJyb3IgdHJ5aW5nIHRvIGRldGVjdCBieiBjb21w cmVzc2VkIGtlcm5lbFxuIik7Cj4gKyAgICAgICAgcmV0dXJuIHJjOwo+ICsgICAgfQo+ICsKPiAr ICAgIGlmICggKHJjID0gZWxmX2luaXQoJmVsZiwgaW1hZ2Vfc3RhcnQsIGltYWdlX2xlbikpICE9 IDAgKQo+ICsgICAgewo+ICsgICAgICAgIHByaW50aygiVW5hYmxlIHRvIGluaXQgRUxGXG4iKTsK PiArICAgICAgICByZXR1cm4gcmM7Cj4gKyAgICB9Cj4gKyNpZmRlZiBWRVJCT1NFCj4gKyAgICBl bGZfc2V0X3ZlcmJvc2UoJmVsZik7Cj4gKyNlbmRpZgo+ICsgICAgZWxmX3BhcnNlX2JpbmFyeSgm ZWxmKTsKPiArICAgIGlmICggKHJjID0gZWxmX3hlbl9wYXJzZSgmZWxmLCAmcGFybXMpKSAhPSAw ICkKPiArICAgIHsKPiArICAgICAgICBwcmludGsoIlVuYWJsZSB0byBwYXJzZSBrZXJuZWwgZm9y IEVMRk5PVEVTXG4iKTsKClBlcmhhcHMgcy9FTEZOT1RFUy9QVF9OT1RFcy8/Cj4gKyAgICAgICAg cmV0dXJuIHJjOwo+ICsgICAgfQo+ICsKPiArICAgIGlmICggcGFybXMucGh5c19lbnRyeSA9PSBV TlNFVF9BRERSMzIgKSB7Cj4gKyAgICAgICAgcHJpbnRrKCJVbmFibGUgdG8gZmluZCBrZXJuZWwg ZW50cnkgcG9pbnQsIGFib3J0aW5nXG4iKTsKClBlcmhhcHM6IFVuYWJsZSB0byBmaW5kIFhFTl9F TEZOT1RFX1BIWVMzMl9FTlRSWSBwb2ludC4KCj4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4g KyAgICB9Cj4gKwo+ICsgICAgcHJpbnRrKCJPUzogJXMgdmVyc2lvbjogJXMgbG9hZGVyOiAlcyBi aXRuZXNzOiAlc1xuIiwgcGFybXMuZ3Vlc3Rfb3MsCj4gKyAgICAgICAgICAgcGFybXMuZ3Vlc3Rf dmVyLCBwYXJtcy5sb2FkZXIsCgpIbSwgSSBkb24ndCBrbm93IGlmIFhFTl9FTEZOT1RFX0dVRVNU X1ZFUlNJT04gb3IgWEVOX0VMRk5PVEVfR1VFU1RfT1MKYXJlIG1hbmRhdGVkLgoKUGVyaGFwcyB5 b3Ugc2hvdWxkIGRvIG1lbXNldCgmcGFyYW1zKSBiZWZvcmUgeW91IHBhc3MgaXQgdG8gZWxmX3hl bl9wYXJzZT8KCj4gKyAgICAgICAgICAgZWxmXzY0Yml0KCZlbGYpID8gIjY0LWJpdCIgOiAiMzIt Yml0Iik7Cj4gKwo+ICsgICAgLyogQ29weSB0aGUgT1MgaW1hZ2UgYW5kIGZyZWUgdGVtcG9yYXJ5 IGJ1ZmZlci4gKi8KPiArICAgIGVsZi5kZXN0X2Jhc2UgPSAodm9pZCAqKShwYXJtcy52aXJ0X2tz dGFydCAtIHBhcm1zLnZpcnRfYmFzZSk7Cj4gKyAgICBlbGYuZGVzdF9zaXplID0gcGFybXMudmly dF9rZW5kIC0gcGFybXMudmlydF9rc3RhcnQ7Cj4gKwo+ICsgICAgc2F2ZWRfY3VycmVudCA9IGN1 cnJlbnQ7Cj4gKyAgICBzZXRfY3VycmVudCh2KTsKPiArCj4gKyAgICByYyA9IGVsZl9sb2FkX2Jp bmFyeSgmZWxmKTsKPiArICAgIGlmICggcmMgPCAwICkKPiArICAgIHsKPiArICAgICAgICBwcmlu dGsoIkZhaWxlZCB0byBsb2FkIGtlcm5lbDogJWRcbiIsIHJjKTsKPiArICAgICAgICBwcmludGso IlhlbiBkb20wIGtlcm5lbCBicm9rZW4gRUxGOiAlc1xuIiwgZWxmX2NoZWNrX2Jyb2tlbigmZWxm KSk7Cj4gKyAgICAgICAgZ290byBvdXQ7Cj4gKyAgICB9Cj4gKwo+ICsgICAgbGFzdF9hZGRyID0g Uk9VTkRVUChwYXJtcy52aXJ0X2tlbmQgLSBwYXJtcy52aXJ0X2Jhc2UsIFBBR0VfU0laRSk7Cj4g Kwo+ICsgICAgaWYgKCBpbml0cmQgIT0gTlVMTCApCj4gKyAgICB7Cj4gKyAgICAgICAgcmMgPSBo dm1fY29weV90b19ndWVzdF9waHlzKGxhc3RfYWRkciwgbWZuX3RvX3ZpcnQoaW5pdHJkLT5tb2Rf c3RhcnQpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0cmQtPm1v ZF9lbmQpOwo+ICsgICAgICAgIGlmICggcmMgIT0gSFZNQ09QWV9va2F5ICkKPiArICAgICAgICB7 Cj4gKyAgICAgICAgICAgIHByaW50aygiVW5hYmxlIHRvIGNvcHkgaW5pdHJkIHRvIGd1ZXN0XG4i KTsKPiArICAgICAgICAgICAgcmMgPSAtRUZBVUxUOwo+ICsgICAgICAgICAgICBnb3RvIG91dDsK PiArICAgICAgICB9Cj4gKwo+ICsgICAgICAgIG1vZC5wYWRkciA9IGxhc3RfYWRkcjsKPiArICAg ICAgICBtb2Quc2l6ZSA9IGluaXRyZC0+bW9kX2VuZDsKPiArICAgICAgICBsYXN0X2FkZHIgKz0g Uk9VTkRVUChpbml0cmQtPm1vZF9lbmQsIFBBR0VfU0laRSk7Cj4gKyAgICB9Cj4gKwo+ICsgICAg LyogRnJlZSB0ZW1wb3JhcnkgYnVmZmVycy4gKi8KPiArICAgIGRpc2NhcmRfaW5pdGlhbF9pbWFn ZXMoKTsKPiArCj4gKyAgICBtZW1zZXQoJnN0YXJ0X2luZm8sIDAsIHNpemVvZihzdGFydF9pbmZv KSk7Cj4gKyAgICBpZiAoIGNtZGxpbmUgIT0gTlVMTCApCj4gKyAgICB7Cj4gKyAgICAgICAgcmMg PSBodm1fY29weV90b19ndWVzdF9waHlzKGxhc3RfYWRkciwgY21kbGluZSwgc3RybGVuKGNtZGxp bmUpICsgMSk7Cj4gKyAgICAgICAgaWYgKCByYyAhPSBIVk1DT1BZX29rYXkgKQo+ICsgICAgICAg IHsKPiArICAgICAgICAgICAgcHJpbnRrKCJVbmFibGUgdG8gY29weSBndWVzdCBjb21tYW5kIGxp bmVcbiIpOwo+ICsgICAgICAgICAgICByYyA9IC1FRkFVTFQ7Cj4gKyAgICAgICAgICAgIGdvdG8g b3V0Owo+ICsgICAgICAgIH0KPiArICAgICAgICBzdGFydF9pbmZvLmNtZGxpbmVfcGFkZHIgPSBs YXN0X2FkZHI7Cj4gKyAgICAgICAgbGFzdF9hZGRyICs9IFJPVU5EVVAoc3RybGVuKGNtZGxpbmUp ICsgMSwgOCk7Cj4gKyAgICB9Cj4gKyAgICBpZiAoIGluaXRyZCAhPSBOVUxMICkKCkl0IG1heSBi ZSBiZXR0ZXIgaWYgdGhpcyBpcyBhbiBhcnJheS4gWW91IGNhbiBoYXZlIG11bHRpcGxlIGluaXRy ZCdzLgoKPiArICAgIHsKPiArICAgICAgICByYyA9IGh2bV9jb3B5X3RvX2d1ZXN0X3BoeXMobGFz dF9hZGRyLCAmbW9kLCBzaXplb2YobW9kKSk7Cj4gKyAgICAgICAgaWYgKCByYyAhPSBIVk1DT1BZ X29rYXkgKQo+ICsgICAgICAgIHsKPiArICAgICAgICAgICAgcHJpbnRrKCJVbmFibGUgdG8gY29w eSBndWVzdCBtb2R1bGVzXG4iKTsKPiArICAgICAgICAgICAgcmMgPSAtRUZBVUxUOwo+ICsgICAg ICAgICAgICBnb3RvIG91dDsKPiArICAgICAgICB9Cj4gKyAgICAgICAgc3RhcnRfaW5mby5tb2Rs aXN0X3BhZGRyID0gbGFzdF9hZGRyOwo+ICsgICAgICAgIHN0YXJ0X2luZm8ubnJfbW9kdWxlcyA9 IDE7Cj4gKyAgICAgICAgbGFzdF9hZGRyICs9IHNpemVvZihtb2QpOwo+ICsgICAgfQo+ICsKPiAr ICAgIHN0YXJ0X2luZm8ubWFnaWMgPSBYRU5fSFZNX1NUQVJUX01BR0lDX1ZBTFVFOwo+ICsgICAg c3RhcnRfaW5mby5mbGFncyA9IFNJRl9QUklWSUxFR0VEIHwgU0lGX0lOSVRET01BSU47Cj4gKyAg ICByYyA9IGh2bV9jb3B5X3RvX2d1ZXN0X3BoeXMobGFzdF9hZGRyLCAmc3RhcnRfaW5mbywgc2l6 ZW9mKHN0YXJ0X2luZm8pKTsKPiArICAgIGlmICggcmMgIT0gSFZNQ09QWV9va2F5ICkKPiArICAg IHsKPiArICAgICAgICBwcmludGsoIlVuYWJsZSB0byBjb3B5IHN0YXJ0IGluZm8gdG8gZ3Vlc3Rc biIpOwo+ICsgICAgICAgIHJjID0gLUVGQVVMVDsKPiArICAgICAgICBnb3RvIG91dDsKPiArICAg IH0KPiArCj4gKyAgICAqZW50cnkgPSBwYXJtcy5waHlzX2VudHJ5Owo+ICsgICAgKnN0YXJ0X2lu Zm9fYWRkciA9IGxhc3RfYWRkcjsKPiArICAgIHJjID0gMDsKPiArCj4gK291dDoKCkV4dHJhIHNw YWNlIGluIGZyb250IG9mIHRoZSBsYWJlbC4KPiArICAgIHNldF9jdXJyZW50KHNhdmVkX2N1cnJl bnQpOwo+ICsgICAgcmV0dXJuIHJjOwo+ICt9Cj4gKwoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==