From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: Re: [PATCH v5 6/9] xen/x86: parse Dom0 kernel for PVHv2 Date: Fri, 27 Jan 2017 17:22:03 +0000 Message-ID: <20170127172203.s6xlu5kcvw6uslpd@dhcp-3-221.uk.xensource.com> References: <20170119172941.65642-1-roger.pau@citrix.com> <20170119172941.65642-7-roger.pau@citrix.com> <588A098C02000078001343D0@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 1cXADw-0005uM-FT for xen-devel@lists.xenproject.org; Fri, 27 Jan 2017 17:22:08 +0000 Content-Disposition: inline In-Reply-To: <588A098C02000078001343D0@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 T24gVGh1LCBKYW4gMjYsIDIwMTcgYXQgMDY6Mzc6MDBBTSAtMDcwMCwgSmFuIEJldWxpY2ggd3Jv dGU6Cj4gPj4+IE9uIDE5LjAxLjE3IGF0IDE4OjI5LCA8cm9nZXIucGF1QGNpdHJpeC5jb20+IHdy b3RlOgo+ID4gQEAgLTE5NTksMTIgKzE5NjAsMTQ2IEBAIHN0YXRpYyBpbnQgX19pbml0IHB2aF9z ZXR1cF9wMm0oc3RydWN0IGRvbWFpbiAqZCkKPiA+ICAjdW5kZWYgTUIxX1BBR0VTCj4gPiAgfQo+ ID4gIAo+ID4gK3N0YXRpYyBpbnQgX19pbml0IHB2aF9sb2FkX2tlcm5lbChzdHJ1Y3QgZG9tYWlu ICpkLCBjb25zdCBtb2R1bGVfdCAqaW1hZ2UsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaW1hZ2VfaGVhZHJvb20sCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV90ICppbml0cmQsIGNoYXIgKmltYWdlX2Jhc2Us Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmNtZGxpbmUsIHBh ZGRyX3QgKmVudHJ5LAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRk cl90ICpzdGFydF9pbmZvX2FkZHIpCj4gPiArewo+ID4gKyAgICBjaGFyICppbWFnZV9zdGFydCA9 IGltYWdlX2Jhc2UgKyBpbWFnZV9oZWFkcm9vbTsKPiAKPiBXaGlsZSBmb3IgY21kbGluZSBwbGFp biBjaGFyIGlzIGNlcnRhaW5seSBmaW5lLCBJIHRoaW5rIHdlIHNob3VsZCBzdG9wCj4gYWJ1c2lu ZyB0aGlzIHR5cGUgZm9yIGltYWdlIGFuZCBpbWFnZV9iYXNlLCBldmVuIGlmIHRoaXMgbWVhbnMK PiBzb21lIGZ1cnRoZXIgYWRqdXN0bWVudHMgZWxzZXdoZXJlLiBUaGlzIHJlYWxseSBvdWdodCB0 byBiZSB1OCBvcgo+IHVuc2lnbmVkIGNoYXIuCgpEb25lLgoKPiA+ICsgICAgdW5zaWduZWQgbG9u ZyBpbWFnZV9sZW4gPSBpbWFnZS0+bW9kX2VuZDsKPiA+ICsgICAgc3RydWN0IGVsZl9iaW5hcnkg ZWxmOwo+ID4gKyAgICBzdHJ1Y3QgZWxmX2RvbV9wYXJtcyBwYXJtczsKPiA+ICsgICAgcGFkZHJf dCBsYXN0X2FkZHI7Cj4gPiArICAgIHN0cnVjdCBodm1fc3RhcnRfaW5mbyBzdGFydF9pbmZvOwo+ ID4gKyAgICBzdHJ1Y3QgaHZtX21vZGxpc3RfZW50cnkgbW9kID0geyAwIH07Cj4gPiArICAgIHN0 cnVjdCB2Y3B1ICpzYXZlZF9jdXJyZW50LCAqdiA9IGQtPnZjcHVbMF07Cj4gPiArICAgIGludCBy YzsKPiA+ICsKPiA+ICsgICAgaWYgKCAocmMgPSBiemltYWdlX3BhcnNlKGltYWdlX2Jhc2UsICZp bWFnZV9zdGFydCwgJmltYWdlX2xlbikpICE9IDAgKQo+ID4gKyAgICB7Cj4gPiArICAgICAgICBw cmludGsoIkVycm9yIHRyeWluZyB0byBkZXRlY3QgYnogY29tcHJlc3NlZCBrZXJuZWxcbiIpOwo+ ID4gKyAgICAgICAgcmV0dXJuIHJjOwo+ID4gKyAgICB9Cj4gPiArCj4gPiArICAgIGlmICggKHJj ID0gZWxmX2luaXQoJmVsZiwgaW1hZ2Vfc3RhcnQsIGltYWdlX2xlbikpICE9IDAgKQo+ID4gKyAg ICB7Cj4gPiArICAgICAgICBwcmludGsoIlVuYWJsZSB0byBpbml0IEVMRlxuIik7Cj4gPiArICAg ICAgICByZXR1cm4gcmM7Cj4gPiArICAgIH0KPiA+ICsjaWZkZWYgVkVSQk9TRQo+ID4gKyAgICBl bGZfc2V0X3ZlcmJvc2UoJmVsZik7Cj4gPiArI2VuZGlmCj4gPiArICAgIGVsZl9wYXJzZV9iaW5h cnkoJmVsZik7Cj4gPiArICAgIGlmICggKHJjID0gZWxmX3hlbl9wYXJzZSgmZWxmLCAmcGFybXMp KSAhPSAwICkKPiA+ICsgICAgewo+ID4gKyAgICAgICAgcHJpbnRrKCJVbmFibGUgdG8gcGFyc2Ug a2VybmVsIGZvciBFTEZOT1RFU1xuIik7Cj4gPiArICAgICAgICByZXR1cm4gcmM7Cj4gPiArICAg IH0KPiA+ICsKPiA+ICsgICAgaWYgKCBwYXJtcy5waHlzX2VudHJ5ID09IFVOU0VUX0FERFIzMiAp IHsKPiAKPiBQbGVhc2UgbW92ZSB0aGUgYnJhY2UgdG8gaXRzIG93biBsaW5lLgoKRG9uZS4KCj4g PiArICAgICAgICBwcmludGsoIlVuYWJsZSB0byBmaW5kIFhFTl9FTEZOT1RFX1BIWVMzMl9FTlRS WSBhZGRyZXNzXG4iKTsKPiA+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ID4gKyAgICB9Cj4g PiArCj4gPiArICAgIHByaW50aygiT1M6ICVzIHZlcnNpb246ICVzIGxvYWRlcjogJXMgYml0bmVz czogJXNcbiIsIHBhcm1zLmd1ZXN0X29zLAo+ID4gKyAgICAgICAgICAgcGFybXMuZ3Vlc3RfdmVy LCBwYXJtcy5sb2FkZXIsCj4gPiArICAgICAgICAgICBlbGZfNjRiaXQoJmVsZikgPyAiNjQtYml0 IiA6ICIzMi1iaXQiKTsKPiA+ICsKPiA+ICsgICAgLyogQ29weSB0aGUgT1MgaW1hZ2UgYW5kIGZy ZWUgdGVtcG9yYXJ5IGJ1ZmZlci4gKi8KPiA+ICsgICAgZWxmLmRlc3RfYmFzZSA9ICh2b2lkICop KHBhcm1zLnZpcnRfa3N0YXJ0IC0gcGFybXMudmlydF9iYXNlKTsKPiA+ICsgICAgZWxmLmRlc3Rf c2l6ZSA9IHBhcm1zLnZpcnRfa2VuZCAtIHBhcm1zLnZpcnRfa3N0YXJ0Owo+ID4gKwo+ID4gKyAg ICAvKgo+ID4gKyAgICAgKiBOQjogd2UgbmVlZCB0byBzZXQgdkNQVSAwIG9mIERvbTAgYXMgdGhl IGN1cnJlbnQgdkNQVSAoaW5zdGVhZCBvZiB0aGUKPiA+ICsgICAgICogaWRsZSBvbmUpIGJlY2F1 c2UgZWxmX2xvYWRfYmluYXJ5IGNhbGxzIHJhd197Y29weV90by9jbGVhcn1fZ3Vlc3QsIGFuZAo+ ID4gKyAgICAgKiB0aGUgdGFyZ2V0IGRvbWFpbiBpcyBub3QgcGFzc2VkIGFueXdoZXJlLiBUaGlz IGlzIHZlcnkgc2ltaWxhciB0byB3aGF0Cj4gPiArICAgICAqIGlzIGRvbmUgZHVyaW5nIGNsYXNz aWMgUFYgRG9tMCBjcmVhdGlvbiwgd2hlcmUgWGVuIHN3aXRjaGVzIHRvIHRoZSBEb20wCj4gPiAr ICAgICAqIHBhZ2UgdGFibGVzLiBXZSBhbHNvIGNhbm5vdCBwYXNzIGEgc3RydWN0IGRvbWFpbiBv ciB2Y3B1IHRvCj4gPiArICAgICAqIGVsZl9sb2FkX2JpbmFyeSwgc2luY2UgdGhlIGludGVyZmFj ZSBpcyBzaGFyZWQgd2l0aCB0aGUgdG9vbHN0YWNrLCBhbmQKPiA+ICsgICAgICogaXQgZG9lc24n dCBoYXZlIGFueSBub3Rpb24gb2YgYSBkb21haW4gb3IgdmNwdSBzdHJ1Y3QuCj4gPiArICAgICAq Lwo+ID4gKyAgICBzYXZlZF9jdXJyZW50ID0gY3VycmVudDsKPiA+ICsgICAgc2V0X2N1cnJlbnQo dik7Cj4gPiArICAgIHJjID0gZWxmX2xvYWRfYmluYXJ5KCZlbGYpOwo+ID4gKyAgICBzZXRfY3Vy cmVudChzYXZlZF9jdXJyZW50KTsKPiAKPiBXaGlsZSB3aXRoIHRoZSBjb21tZW50IGl0J3Mgbm90 IGFzIGJhZCBhbnltb3JlLCBJJ20gc3RpbGwgbm90IGhhcHB5Cj4gd2l0aCB0aGlzIGNvZGUuIFRo ZSB0b29sIHN0YWNrIHBvcnRpb24gb2YgdGhlIGV4cGxhbmF0aW9uIGluIHBhcnRpY3VsYXIKPiBk b2VzIG5vdCByZWFsbHkgaG9sZDogV2Ugd291bGQgYWRkIGFuIG9wYXF1ZSB2b2lkICogcGFyYW1l dGVyIHRvCj4gdGhlIGZ1bmN0aW9ucyBpbnZvbHZlZCwgd2hpY2ggdGhlIHRvb2wgc3RhY2sgY291 bGQgcGFzcyBOVUxMIGZvciwgYW5kCj4geW91J2QgdXNlIGl0IHRvIGNvbnZleSB0aGUgdmNwdS4K CkFzIHNwb2tlbiBvbiBJUkMsIEkgd2lsbCBhZGQgYSBuZXcgZmllbGQgdG8gZWxmX2JpbmFyeSBv bmx5IHZpc2libGUgdG8gdGhlCmh5cGVydmlzb3IgYW5kIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHBh c3MgdGhlIGRlc3RpbmF0aW9uIHZjcHUgZG93biB0bwplbGZfbG9hZF9pbWFnZS4KCj4gPiArICAg IGlmICggcmMgPCAwICkKPiA+ICsgICAgewo+ID4gKyAgICAgICAgcHJpbnRrKCJGYWlsZWQgdG8g bG9hZCBrZXJuZWw6ICVkXG4iLCByYyk7Cj4gPiArICAgICAgICBwcmludGsoIlhlbiBkb20wIGtl cm5lbCBicm9rZW4gRUxGOiAlc1xuIiwgZWxmX2NoZWNrX2Jyb2tlbigmZWxmKSk7Cj4gPiArICAg ICAgICByZXR1cm4gcmM7Cj4gPiArICAgIH0KPiA+ICsKPiA+ICsgICAgbGFzdF9hZGRyID0gUk9V TkRVUChwYXJtcy52aXJ0X2tlbmQgLSBwYXJtcy52aXJ0X2Jhc2UsIFBBR0VfU0laRSk7Cj4gPiAr Cj4gPiArICAgIGlmICggaW5pdHJkICE9IE5VTEwgKQo+ID4gKyAgICB7Cj4gPiArICAgICAgICBy YyA9IGh2bV9jb3B5X3RvX2d1ZXN0X3BoeXNfdmNwdShsYXN0X2FkZHIsCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZm5fdG9fdmlydChpbml0cmQtPm1vZF9z dGFydCksCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0 cmQtPm1vZF9lbmQsIHYpOwo+ID4gKyAgICAgICAgaWYgKCByYyApCj4gPiArICAgICAgICB7Cj4g PiArICAgICAgICAgICAgcHJpbnRrKCJVbmFibGUgdG8gY29weSBpbml0cmQgdG8gZ3Vlc3RcbiIp Owo+ID4gKyAgICAgICAgICAgIHJldHVybiByYzsKPiA+ICsgICAgICAgIH0KPiA+ICsKPiA+ICsg ICAgICAgIG1vZC5wYWRkciA9IGxhc3RfYWRkcjsKPiA+ICsgICAgICAgIG1vZC5zaXplID0gaW5p dHJkLT5tb2RfZW5kOwo+ID4gKyAgICAgICAgbGFzdF9hZGRyICs9IFJPVU5EVVAoaW5pdHJkLT5t b2RfZW5kLCBQQUdFX1NJWkUpOwo+ID4gKyAgICB9Cj4gPiArCj4gPiArICAgIC8qIEZyZWUgdGVt cG9yYXJ5IGJ1ZmZlcnMuICovCj4gPiArICAgIGRpc2NhcmRfaW5pdGlhbF9pbWFnZXMoKTsKPiA+ ICsKPiA+ICsgICAgbWVtc2V0KCZzdGFydF9pbmZvLCAwLCBzaXplb2Yoc3RhcnRfaW5mbykpOwo+ IAo+IFlvdSBjbGVhciAibW9kIiB3aXRoIGFuIGluaXRpYWxpemVyICh3aGljaCBidHcgY291bGQg YmUganVzdCB0aGUgdHdvCj4gYnJhY2VzKSwgYnV0IHlvdSBtZW1zZXQoKSBzdGFydF9pbmZvIC0g cGxlYXNlIGJlIGNvbnNpc3RlbnQuCgpEb25lLCBJJ3ZlIGFkZGVkIGFuIGluaXRpYWxpemVyIHRv IGl0IGFsc28uCgo+ID4gKyAgICBpZiAoIGNtZGxpbmUgIT0gTlVMTCApCj4gPiArICAgIHsKPiA+ ICsgICAgICAgIHJjID0gaHZtX2NvcHlfdG9fZ3Vlc3RfcGh5c192Y3B1KGxhc3RfYWRkciwgY21k bGluZSwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmxl bihjbWRsaW5lKSArIDEsIHYpOwo+ID4gKyAgICAgICAgaWYgKCByYyApCj4gPiArICAgICAgICB7 Cj4gPiArICAgICAgICAgICAgcHJpbnRrKCJVbmFibGUgdG8gY29weSBndWVzdCBjb21tYW5kIGxp bmVcbiIpOwo+ID4gKyAgICAgICAgICAgIHJldHVybiByYzsKPiA+ICsgICAgICAgIH0KPiA+ICsg ICAgICAgIHN0YXJ0X2luZm8uY21kbGluZV9wYWRkciA9IGxhc3RfYWRkcjsKPiA+ICsgICAgICAg IGxhc3RfYWRkciArPSBST1VORFVQKHN0cmxlbihjbWRsaW5lKSArIDEsIDgpOwo+IAo+IFdoZXJl IGlzIHRoaXMgOCBjb21pbmcgZnJvbT8KClNvIHRoYXQgdGhlIG5leHQgc3RydWN0IGlzIGFsaWdu ZWQgdG8gdGhlIGNhY2hlIGxpbmUgc2l6ZT8gSXQncyBhbHNvIGRvbmUgaW4KeGNfZG9tX3g4Ni5j LgoKUm9nZXIuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK