From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: Re: [PATCH v4 11/14] xen/x86: parse Dom0 kernel for PVHv2 Date: Tue, 20 Dec 2016 17:34:24 +0000 Message-ID: <20161220173424.2rjktjci3vsizptj@dhcp-3-221.uk.xensource.com> References: <20161130164950.43543-1-roger.pau@citrix.com> <20161130164950.43543-12-roger.pau@citrix.com> <584AF25E02000078001277B6@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cJOJF-0004AZ-7A for xen-devel@lists.xenproject.org; Tue, 20 Dec 2016 17:34:41 +0000 Content-Disposition: inline In-Reply-To: <584AF25E02000078001277B6@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich Cc: Andrew Cooper , boris.ostrovsky@oracle.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org T24gRnJpLCBEZWMgMDksIDIwMTYgYXQgMTA6MDU6MThBTSAtMDcwMCwgSmFuIEJldWxpY2ggd3Jv dGU6Cj4gPj4+IE9uIDMwLjExLjE2IGF0IDE3OjQ5LCA8cm9nZXIucGF1QGNpdHJpeC5jb20+IHdy b3RlOgo+ID4gQEAgLTE5MzAsMTIgKzE5MzEsMTQ4IEBAIHN0YXRpYyBpbnQgX19pbml0IGh2bV9z ZXR1cF9wMm0oc3RydWN0IGRvbWFpbiAqZCkKPiA+ICAjdW5kZWYgTUIxX1BBR0VTCj4gPiAgfQo+ ID4gIAo+ID4gK3N0YXRpYyBpbnQgX19pbml0IGh2bV9jb3B5X3RvX3BoeXMoc3RydWN0IGRvbWFp biAqZCwgcGFkZHJfdCBwYWRkciwgdm9pZCAqYnVmLAo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW50IHNpemUpCj4gCj4gSSBndWVzcyB5b3UgbWFkZSBzaXplIHBsYWlu IGludCBiZWNhdXNlIGh2bV9jb3B5X3RvX2d1ZXN0X3BoeXMoKQo+IGhhcyBpdCB0aGF0IHdheSwg YnV0IHBsZWFzZSBsZXQncyBub3Qgc3ByZWFkIHN1Y2ggYm9ndXMgdGhpbmdzIC0gc2l6ZXMKPiBj YW4ndCBwb3NzaWJseSBiZSBuZWdhdGl2ZS4KPiAKPiA+ICt7Cj4gPiArICAgIHN0cnVjdCB2Y3B1 ICpzYXZlZF9jdXJyZW50Owo+ID4gKyAgICBpbnQgcmM7Cj4gPiArCj4gPiArICAgIHNhdmVkX2N1 cnJlbnQgPSBjdXJyZW50Owo+ID4gKyAgICBzZXRfY3VycmVudChkLT52Y3B1WzBdKTsKPiA+ICsg ICAgcmMgPSBodm1fY29weV90b19ndWVzdF9waHlzKHBhZGRyLCBidWYsIHNpemUpOwo+ID4gKyAg ICBzZXRfY3VycmVudChzYXZlZF9jdXJyZW50KTsKPiAKPiBJIGNvbnRpbnVlIHRvIGJlIHVuY2Vy dGFpbiBhYm91dCB0aGUgYmVoYXZpb3Igb2YgdGhpcyBpZiBzb21ldGhpbmcKPiBpbnNpZGUgaHZt X2NvcHlfdG9fZ3Vlc3RfcGh5cygpIGdvZXMgd3Jvbmc6IERpZCB5b3UgZWl0aGVyCj4gc3RhdGlj YWxseSBhbmFseXplIHRoZSBjb2RlIG9yIHRyeSBpbiBwcmFjdGljZSBvdXQgd2hldGhlciB0aGUK PiBwbGF5aW5nIHdpdGggY3VycmVudCBtYWtlcyB1bmRlcnN0YW5kaW5nIHRoZSBjcmFzaCBvdXRw dXQgYW55Cj4gaGFyZGVyPwoKSWYgeW91IG1hbmFnZWQgdG8gc29tZWhvdyBjYWxsIGh2bV9jb3B5 X3RvX2d1ZXN0X3BoeXMgd2l0aCB0aGUgaWRsZSB2Y3B1IGFzCmN1cnJlbnQgeW91IHdvdWxkIGdl dCB0aGlzIGtpbmQgb2YgZXJyb3IsIHdoaWNoIEkgYWRtaW4gaXMgbWF5YmUgbm90IHRoYXQKb2J2 aW91cyAoYXBhcnQgZnJvbSB0aGUgSURMRXYwIHByZWZpeCkuCgooWEVOKSBJRExFdjAgRXJyb3Ig cGZuIDIxYmQ6IHJkPTMyNzY3IG9kPTMyNzU2IGNhZj0xODAwMDAwMDAwMDAwMDAgdGFmPTAwMDAw MDAwMDAwMDAwMDAKClNlZSBiZWxvdy4KCj4gV2hpbGUgdGhlcmUncyBnb2luZyB0byBiZSBzb21l IHdvcmsgaW52b2x2ZWQgd2l0aCBpdCwgSSBkbyB0aGluawo+IHRoYXQgdGhlIHVzZSBoZXJlIG1p Z2h0IGJlIGEgcmVhc29uIGZvciB0aGUgd2hvbGUgaHZtX2NvcHkoKQo+IG1hY2hpbmVyeSB0byBn YWluIGEgc3RydWN0IHZjcHUqIHBhcmFtZXRlci4KCkkndmUgZ29uZSB0aGF0IHJvdXRlIGFuZCBh ZGRlZCBhIG5ldyBwYXJhbSB0byBfX2h2bV9jb3B5LCBhbmQgYWxzbyBpbnRyb2R1Y2VkCmh2bV9j b3B5X3RvX2d1ZXN0X3BoeXNfdmNwdSB3aGljaCB0YWtlcyBhbiBhZGRpdGlvbmFsIHZjcHUgcGFy YW1ldGVyLiBXaGlsZQp0aGVyZSBJJ3ZlIGFsc28gYWRkZWQgYW4gYXNzZXJ0IHRvIF9faHZtX2Nv cHkgaW4gb3JkZXIgdG8gbWFrZSBzdXJlIHRoZQp2Y3B1IHBhcmFtZXRlciBpcyBhbHdheXMgYSBo dm0vcHZoIHZjcHUuCgo+ID4gK3N0YXRpYyBpbnQgX19pbml0IGh2bV9sb2FkX2tlcm5lbChzdHJ1 Y3QgZG9tYWluICpkLCBjb25zdCBtb2R1bGVfdCAqaW1hZ2UsCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaW1hZ2VfaGVhZHJvb20sCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV90ICppbml0cmQsIGNoYXIgKmlt YWdlX2Jhc2UsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmNt ZGxpbmUsIHBhZGRyX3QgKmVudHJ5LAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwYWRkcl90ICpzdGFydF9pbmZvX2FkZHIpCj4gPiArewo+ID4gKyAgICBjaGFyICppbWFn ZV9zdGFydCA9IGltYWdlX2Jhc2UgKyBpbWFnZV9oZWFkcm9vbTsKPiA+ICsgICAgdW5zaWduZWQg bG9uZyBpbWFnZV9sZW4gPSBpbWFnZS0+bW9kX2VuZDsKPiA+ICsgICAgc3RydWN0IGVsZl9iaW5h cnkgZWxmOwo+ID4gKyAgICBzdHJ1Y3QgZWxmX2RvbV9wYXJtcyBwYXJtczsKPiA+ICsgICAgcGFk ZHJfdCBsYXN0X2FkZHI7Cj4gPiArICAgIHN0cnVjdCBodm1fc3RhcnRfaW5mbyBzdGFydF9pbmZv Owo+ID4gKyAgICBzdHJ1Y3QgaHZtX21vZGxpc3RfZW50cnkgbW9kOwo+ID4gKyAgICBzdHJ1Y3Qg dmNwdSAqc2F2ZWRfY3VycmVudCwgKnYgPSBkLT52Y3B1WzBdOwo+ID4gKyAgICBpbnQgcmM7Cj4g PiArCj4gPiArICAgIGlmICggKHJjID0gYnppbWFnZV9wYXJzZShpbWFnZV9iYXNlLCAmaW1hZ2Vf c3RhcnQsICZpbWFnZV9sZW4pKSAhPSAwICkKPiA+ICsgICAgewo+ID4gKyAgICAgICAgcHJpbnRr KCJFcnJvciB0cnlpbmcgdG8gZGV0ZWN0IGJ6IGNvbXByZXNzZWQga2VybmVsXG4iKTsKPiA+ICsg ICAgICAgIHJldHVybiByYzsKPiA+ICsgICAgfQo+ID4gKwo+ID4gKyAgICBpZiAoIChyYyA9IGVs Zl9pbml0KCZlbGYsIGltYWdlX3N0YXJ0LCBpbWFnZV9sZW4pKSAhPSAwICkKPiA+ICsgICAgewo+ ID4gKyAgICAgICAgcHJpbnRrKCJVbmFibGUgdG8gaW5pdCBFTEZcbiIpOwo+ID4gKyAgICAgICAg cmV0dXJuIHJjOwo+ID4gKyAgICB9Cj4gPiArI2lmZGVmIFZFUkJPU0UKPiA+ICsgICAgZWxmX3Nl dF92ZXJib3NlKCZlbGYpOwo+ID4gKyNlbmRpZgo+ID4gKyAgICBlbGZfcGFyc2VfYmluYXJ5KCZl bGYpOwo+ID4gKyAgICBpZiAoIChyYyA9IGVsZl94ZW5fcGFyc2UoJmVsZiwgJnBhcm1zKSkgIT0g MCApCj4gPiArICAgIHsKPiA+ICsgICAgICAgIHByaW50aygiVW5hYmxlIHRvIHBhcnNlIGtlcm5l bCBmb3IgRUxGTk9URVNcbiIpOwo+ID4gKyAgICAgICAgcmV0dXJuIHJjOwo+ID4gKyAgICB9Cj4g PiArCj4gPiArICAgIGlmICggcGFybXMucGh5c19lbnRyeSA9PSBVTlNFVF9BRERSMzIgKSB7Cj4g PiArICAgICAgICBwcmludGsoIlVuYWJsZSB0byBmaW5kIFhFTl9FTEZOT1RFX1BIWVMzMl9FTlRS WSBhZGRyZXNzXG4iKTsKPiA+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ID4gKyAgICB9Cj4g PiArCj4gPiArICAgIHByaW50aygiT1M6ICVzIHZlcnNpb246ICVzIGxvYWRlcjogJXMgYml0bmVz czogJXNcbiIsIHBhcm1zLmd1ZXN0X29zLAo+ID4gKyAgICAgICAgICAgcGFybXMuZ3Vlc3RfdmVy LCBwYXJtcy5sb2FkZXIsCj4gPiArICAgICAgICAgICBlbGZfNjRiaXQoJmVsZikgPyAiNjQtYml0 IiA6ICIzMi1iaXQiKTsKPiA+ICsKPiA+ICsgICAgLyogQ29weSB0aGUgT1MgaW1hZ2UgYW5kIGZy ZWUgdGVtcG9yYXJ5IGJ1ZmZlci4gKi8KPiA+ICsgICAgZWxmLmRlc3RfYmFzZSA9ICh2b2lkICop KHBhcm1zLnZpcnRfa3N0YXJ0IC0gcGFybXMudmlydF9iYXNlKTsKPiA+ICsgICAgZWxmLmRlc3Rf c2l6ZSA9IHBhcm1zLnZpcnRfa2VuZCAtIHBhcm1zLnZpcnRfa3N0YXJ0Owo+ID4gKwo+ID4gKyAg ICBzYXZlZF9jdXJyZW50ID0gY3VycmVudDsKPiA+ICsgICAgc2V0X2N1cnJlbnQodik7Cj4gPiAr ICAgIHJjID0gZWxmX2xvYWRfYmluYXJ5KCZlbGYpOwo+ID4gKyAgICBzZXRfY3VycmVudChzYXZl ZF9jdXJyZW50KTsKPiAKPiBTYW1lIHJlc2VydmF0aW9ucyBhcyBhYm92ZS4KClJpZ2h0LCB0aGlz IG9uZSBob3dldmVyIGlzIG1vcmUgdHJpY2t5IHRvIGZpeCBzaW5jZSBlbGZfbG9hZF9iaW5hcnkg aXMgc2hhcmVkCndpdGggbGlieGMsIHNvIGFkZGluZyBhIHZjcHUvZG9tYWluIHBhcmFtZXRlciBo ZXJlIGlzIHByb2JsZW1hdGljIGZvciB0aGUKdG9vbHN0YWNrIHNpZGUuIFRoYXQncyBxdWl0ZSBz aW1pbGFyIHRvIHdoYXQgaGFwcGVucyBvbiBjbGFzc2ljIFBWIERvbTAKY3JlYXRpb24sIHdlIG5l ZWQgdG8gc3dpdGNoIHRvIERvbTAgcGFnZSB0YWJsZXMuIEknbSBub3QgdHJ5aW5nIHRvIHVzZSB0 aGF0IHRvCmp1c3RpZnkgdGhhdCB0aGlzIGlzIHRoZSBiZXN0IHdheSwgYnV0IGV2ZXJ5dGhpbmcg ZWxzZSBzZWVtcyBxdWl0ZSBjb252b2x1dGVkCihlaXRoZXIgYWRkaW5nIGEgbmV3IHBhcmFtIHRv IGVsZl9sb2FkX2JpbmFyeSBvciBhIG5ldyBmaWVsZCB0byBzdHJ1Y3QKZWxmX2JpbmFyeSBpbiBv cmRlciB0byBzdG9yZSB0aGUgZG9tYWluL3ZjcHUpLgoKPiA+ICsgICAgaWYgKCByYyA8IDAgKQo+ ID4gKyAgICB7Cj4gPiArICAgICAgICBwcmludGsoIkZhaWxlZCB0byBsb2FkIGtlcm5lbDogJWRc biIsIHJjKTsKPiA+ICsgICAgICAgIHByaW50aygiWGVuIGRvbTAga2VybmVsIGJyb2tlbiBFTEY6 ICVzXG4iLCBlbGZfY2hlY2tfYnJva2VuKCZlbGYpKTsKPiA+ICsgICAgICAgIHJldHVybiByYzsK PiA+ICsgICAgfQo+ID4gKwo+ID4gKyAgICBsYXN0X2FkZHIgPSBST1VORFVQKHBhcm1zLnZpcnRf a2VuZCAtIHBhcm1zLnZpcnRfYmFzZSwgUEFHRV9TSVpFKTsKPiA+ICsKPiA+ICsgICAgaWYgKCBp bml0cmQgIT0gTlVMTCApCj4gPiArICAgIHsKPiA+ICsgICAgICAgIHJjID0gaHZtX2NvcHlfdG9f cGh5cyhkLCBsYXN0X2FkZHIsIG1mbl90b192aXJ0KGluaXRyZC0+bW9kX3N0YXJ0KSwKPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0cmQtPm1vZF9lbmQpOwo+ID4gKyAgICAg ICAgaWYgKCByYyApCj4gPiArICAgICAgICB7Cj4gPiArICAgICAgICAgICAgcHJpbnRrKCJVbmFi bGUgdG8gY29weSBpbml0cmQgdG8gZ3Vlc3RcbiIpOwo+ID4gKyAgICAgICAgICAgIHJldHVybiBy YzsKPiA+ICsgICAgICAgIH0KPiA+ICsKPiA+ICsgICAgICAgIG1vZC5wYWRkciA9IGxhc3RfYWRk cjsKPiA+ICsgICAgICAgIG1vZC5zaXplID0gaW5pdHJkLT5tb2RfZW5kOwo+ID4gKyAgICAgICAg bGFzdF9hZGRyICs9IFJPVU5EVVAoaW5pdHJkLT5tb2RfZW5kLCBQQUdFX1NJWkUpOwo+ID4gKyAg ICB9Cj4gCj4gbW9kIGlzIGxlZnQgdW5pbml0aWFsaXplZCBpbiB0aGUgZWxzZSBjYXNlIGFmYWlj dCAtIEkgZG9uJ3QgdGhpbmsgYWxsCj4gY29tcGlsZXJzIHdlIHN1cHBvcnQgKHBsdXMgQ292ZXJp dHkpIGNhbiBzcG90IHRoZSBjb21tb24KPiBkZXBlbmRlbmN5IG9uIGluaXRyZCAhPSBOVUxMLgoK Q2xhbmcgZG9lc24ndCBzZWVtIHRvIGNvbXBsYWluLCBidXQgSSB3aWxsIGFkZCBhbiBpbml0aWFs aXplZCB0byBiZSBzdXJlLgoKVGhhbmtzLCBSb2dlci4KCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=