From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v3 1/2] x86/hvm/viridian: keep APIC assist page mapped... Date: Thu, 17 Mar 2016 08:09:38 +0000 Message-ID: <2caabae9960c428d9028d295d01f19af@AMSPEX02CL03.citrite.net> References: <1458150252-25683-1-git-send-email-paul.durrant@citrix.com> <1458150252-25683-2-git-send-email-paul.durrant@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 1agT0X-0005jg-Oe for xen-devel@lists.xenproject.org; Thu, 17 Mar 2016 08:10:13 +0000 In-Reply-To: <1458150252-25683-2-git-send-email-paul.durrant@citrix.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Paul Durrant , "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , "Keir (Xen.org)" , Jan Beulich List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IFBhdWwgRHVycmFudCBbbWFpbHRv OnBhdWwuZHVycmFudEBjaXRyaXguY29tXQo+IFNlbnQ6IDE2IE1hcmNoIDIwMTYgMTc6NDQKPiBU bzogeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCj4gQ2M6IFBhdWwgRHVycmFudDsgS2Vp ciAoWGVuLm9yZyk7IEphbiBCZXVsaWNoOyBBbmRyZXcgQ29vcGVyCj4gU3ViamVjdDogW1BBVENI IHYzIDEvMl0geDg2L2h2bS92aXJpZGlhbjoga2VlcCBBUElDIGFzc2lzdCBwYWdlIG1hcHBlZC4u Lgo+IAo+IC4uLiBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBkb21haW4uCj4gCj4gSWYgWGVuIGlz IHRvIG1ha2UgdXNlIG9mIHRoZSBBUElDIGFzc2lzdCBlbmxpZ2h0ZW5tZW50IHRoZW4gYSBwZXJz aXN0ZW50Cj4gbWFwcGluZyBuZWVkcyB0byBiZSBrZXB0LCByYXRoZXIgdGhhbiB0aGUgdGVtcG9y YXJ5IG9uZSB3aGljaCBpcyBjdXJyZW50bHkKPiB1c2VkIG9ubHkgdG8gaW5pdGlhbGl6ZSB0aGUg cGFnZSBjb250ZW50Lgo+IAo+IFRoaXMgcGF0Y2ggYWxzbyBhZGRzIGEgY29tbWVudCBibG9jayBh dCB0aGUgdG9wIG9mIHRoZSBzb3VyY2Ugd2l0aAo+IGluZm9ybWF0aW9uIG9uIHRoZSBsYXRlc3Qg dmVyc2lvbiBvZiB0aGUgc3BlYy4gZnJvbSBNaWNyb3NvZnQgYW5kIHRoZQo+IGN1cnJlbnQgVVJM IHdoZXJlIGl0IG1heSBiZSBmb3VuZC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQg PHBhdWwuZHVycmFudEBjaXRyaXguY29tPgo+IENjOiBLZWlyIEZyYXNlciA8a2VpckB4ZW4ub3Jn Pgo+IENjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Cj4gQ2M6IEFuZHJldyBDb29w ZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Cj4gLS0tCj4gCj4gdjI6Cj4gIC0gUmUtaW5z dGF0ZWQgd2FybmluZyBpZiB0aGUgaW5pdGlhbGl6YXRpb24gb2YgYW4gQVBJQyBhc3Npc3QgcGFn ZSBmYWlscy4KPiAgLSBBZGRlZCB1cC10by1kYXRlIGluZm9ybWF0aW9uIGFib3V0IHRoZSB2aXJp ZGlhbiBzcGVjaWZpY2F0aW9uIHRvIHRoZQo+ICAgIGNvbW1lbnQgYmxvY2sgYXQgdGhlIHRvcCBv ZiB0aGUgc291cmNlLgo+IC0tLQo+ICB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgICAgICAgICAg IHwgIDIgKwo+ICB4ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFuLmMgICAgICAgIHwgNzYgKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLQo+IC0tLS0tLS0KPiAgeGVuL2luY2x1ZGUvYXNtLXg4 Ni9odm0vdmlyaWRpYW4uaCB8ICA4ICsrKy0KPiAgMyBmaWxlcyBjaGFuZ2VkLCA2NSBpbnNlcnRp b25zKCspLCAyMSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2 bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKPiBpbmRleCA0ZWE1MWQ3Li5mNDQ2ZWU0 IDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKPiArKysgYi94ZW4vYXJjaC94 ODYvaHZtL2h2bS5jCj4gQEAgLTI2MDYsNiArMjYwNiw4IEBAIGludCBodm1fdmNwdV9pbml0aWFs aXNlKHN0cnVjdCB2Y3B1ICp2KQo+IAo+ICB2b2lkIGh2bV92Y3B1X2Rlc3Ryb3koc3RydWN0IHZj cHUgKnYpCj4gIHsKPiArICAgIHZpcmlkaWFuX3ZjcHVfZGVpbml0KHYpOwo+ICsKPiAgICAgIGh2 bV9hbGxfaW9yZXFfc2VydmVyc19yZW1vdmVfdmNwdSh2LT5kb21haW4sIHYpOwo+IAo+ICAgICAg aWYgKCBodm1fYWx0cDJtX3N1cHBvcnRlZCgpICkKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L2h2bS92aXJpZGlhbi5jIGIveGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi5jCj4gaW5kZXggMWVl MjJhYS4uZTk5MDE2MyAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFuLmMK PiArKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFuLmMKPiBAQCAtMSw3ICsxLDEyIEBACj4g Cj4gLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKPiAqKioqKioqKioqKioqKioqKioqKgo+ICAgKiB2aXJpZGlhbi5jCj4gICAqCj4gLSAq IEFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBWaXJpZGlhbiBoeXBlcmNhbGwgaW50ZXJmYWNlLgo+ ICsgKiBBbiBpbXBsZW1lbnRhdGlvbiBvZiBzb21lIFZpcmlkaWFuIGVubGlnaHRlbm1lbnRzLiBT ZWUgTWljcm9zb2Z0J3MKPiArICogSHlwZXJ2aXNvciBUb3AgTGV2ZWwgRnVuY3Rpb25hbCBTcGVj aWZpY2F0aW9uICh2NC4wYikgYXQ6Cj4gKyAqCj4gKyAqIGh0dHBzOi8vbXNkbi5taWNyb3NvZnQu Y29tL2VuLQo+IHVzL3ZpcnR1YWxpemF0aW9uL2h5cGVydl9vbl93aW5kb3dzL2RldmVsb3AvdGxm cwo+ICsgKgo+ICsgKiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KPiAgICovCj4gCj4gICNpbmNsdWRl IDx4ZW4vc2NoZWQuaD4KPiBAQCAtMTYzLDcgKzE2OCw3IEBAIHN0YXRpYyB2b2lkIGR1bXBfYXBp Y19hc3Npc3QoY29uc3Qgc3RydWN0IHZjcHUgKnYpCj4gIHsKPiAgICAgIGNvbnN0IHVuaW9uIHZp cmlkaWFuX2FwaWNfYXNzaXN0ICphYTsKPiAKPiAtICAgIGFhID0gJnYtPmFyY2guaHZtX3ZjcHUu dmlyaWRpYW4uYXBpY19hc3Npc3Q7Cj4gKyAgICBhYSA9ICZ2LT5hcmNoLmh2bV92Y3B1LnZpcmlk aWFuLmFwaWNfYXNzaXN0Lm1zcjsKPiAKPiAgICAgIHByaW50ayhYRU5MT0dfR19JTkZPICIlcHY6 IFZJUklESUFOIEFQSUNfQVNTSVNUOiBlbmFibGVkOiAleCBwZm46Cj4gJWx4XG4iLAo+ICAgICAg ICAgICAgIHYsIGFhLT5maWVsZHMuZW5hYmxlZCwgKHVuc2lnbmVkIGxvbmcpYWEtPmZpZWxkcy5w Zm4pOwo+IEBAIC0yMTcsOSArMjIyLDkgQEAgc3RhdGljIHZvaWQgZW5hYmxlX2h5cGVyY2FsbF9w YWdlKHN0cnVjdCBkb21haW4gKmQpCj4gIHN0YXRpYyB2b2lkIGluaXRpYWxpemVfYXBpY19hc3Np c3Qoc3RydWN0IHZjcHUgKnYpCj4gIHsKPiAgICAgIHN0cnVjdCBkb21haW4gKmQgPSB2LT5kb21h aW47Cj4gLSAgICB1bnNpZ25lZCBsb25nIGdtZm4gPSB2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFu LmFwaWNfYXNzaXN0LmZpZWxkcy5wZm47Cj4gKyAgICB1bnNpZ25lZCBsb25nIGdtZm4gPSB2LQo+ ID5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmFwaWNfYXNzaXN0Lm1zci5maWVsZHMucGZuOwo+ICAg ICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSA9IGdldF9wYWdlX2Zyb21fZ2ZuKGQsIGdtZm4sIE5V TEwsCj4gUDJNX0FMTE9DKTsKPiAtICAgIHVpbnQ4X3QgKnA7Cj4gKyAgICB2b2lkICp2YTsKPiAK PiAgICAgIC8qCj4gICAgICAgKiBXZSBkb24ndCB5ZXQgbWFrZSB1c2Ugb2YgdGhlIEFQSUMgYXNz aXN0IHBhZ2UgYnV0IGJ5IHNldHRpbmcKPiBAQCAtMjI3LDI1ICsyMzIsNDkgQEAgc3RhdGljIHZv aWQgaW5pdGlhbGl6ZV9hcGljX2Fzc2lzdChzdHJ1Y3QgdmNwdSAqdikKPiAgICAgICAqIGJvdW5k IHRvIHN1cHBvcnQgdGhlIE1TUi4gV2UgdGhlcmVmb3JlIGRvIGp1c3QgZW5vdWdoIHRvIGtlZXAK PiB3aW5kb3dzCj4gICAgICAgKiBoYXBweS4KPiAgICAgICAqCj4gLSAgICAgKiBTZWUgaHR0cDov L21zZG4ubWljcm9zb2Z0LmNvbS9lbi0KPiB1cy9saWJyYXJ5L2ZmNTM4NjU3JTI4VlMuODUlMjku YXNweCBmb3IKPiAtICAgICAqIGRldGFpbHMgb2YgaG93IFdpbmRvd3MgdXNlcyB0aGUgcGFnZS4K PiArICAgICAqIFNlZSBzZWN0aW9uIDEzLjMuNC4xIG9mIHRoZSBzcGVjaWZpY2F0aW9uIGZvciBk ZXRhaWxzIG9mIHRoaXMKPiArICAgICAqIGVubGlnaHRlbm1lbnQuCj4gICAgICAgKi8KPiAKPiAt ICAgIGlmICggIXBhZ2UgfHwgIWdldF9wYWdlX3R5cGUocGFnZSwgUEdUX3dyaXRhYmxlX3BhZ2Up ICkKPiArICAgIGlmICggIXBhZ2UgKQo+ICsgICAgICAgIGdvdG8gZmFpbDsKPiArCj4gKyAgICBp ZiAoICFnZXRfcGFnZV90eXBlKHBhZ2UsIFBHVF93cml0YWJsZV9wYWdlKSApCj4gICAgICB7Cj4g LSAgICAgICAgaWYgKCBwYWdlICkKPiAtICAgICAgICAgICAgcHV0X3BhZ2UocGFnZSk7Cj4gLSAg ICAgICAgZ2RwcmludGsoWEVOTE9HX1dBUk5JTkcsICJCYWQgR01GTiAlbHggKE1GTiAlbHgpXG4i LCBnbWZuLAo+IC0gICAgICAgICAgICAgICAgIHBhZ2UgPyBwYWdlX3RvX21mbihwYWdlKSA6IElO VkFMSURfTUZOKTsKPiAtICAgICAgICByZXR1cm47Cj4gKyAgICAgICAgcHV0X3BhZ2UocGFnZSk7 Cj4gKyAgICAgICAgZ290byBmYWlsOwo+ICAgICAgfQo+IAo+IC0gICAgcCA9IF9fbWFwX2RvbWFp bl9wYWdlKHBhZ2UpOwo+ICsgICAgdmEgPSBfX21hcF9kb21haW5fcGFnZV9nbG9iYWwocGFnZSk7 Cj4gKyAgICBpZiAoICF2YSApCj4gKyAgICB7Cj4gKyAgICAgICAgcHV0X3BhZ2VfYW5kX3R5cGUo cGFnZSk7Cj4gKyAgICAgICAgZ290byBmYWlsOwo+ICsgICAgfQo+IAo+IC0gICAgKih1MzIgKilw ID0gMDsKPiArICAgICoodWludDMyX3QgKil2YSA9IDA7Cj4gCj4gLSAgICB1bm1hcF9kb21haW5f cGFnZShwKTsKPiArICAgIHYtPmFyY2guaHZtX3ZjcHUudmlyaWRpYW4uYXBpY19hc3Npc3QucGFn ZSA9IHBhZ2U7Cj4gKyAgICB2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmFwaWNfYXNzaXN0LnZh ID0gdmE7Cj4gKyAgICByZXR1cm47Cj4gKwo+ICsgZmFpbDoKPiArICAgIGdkcHJpbnRrKFhFTkxP R19XQVJOSU5HLCAiQmFkIEdNRk4gJWx4IChNRk4gJWx4KVxuIiwgZ21mbiwKPiArICAgICAgICAg ICAgIHBhZ2UgPyBwYWdlX3RvX21mbihwYWdlKSA6IElOVkFMSURfTUZOKTsKPiArfQo+ICsKPiAr c3RhdGljIHZvaWQgdGVhcmRvd25fYXBpY19hc3Npc3Qoc3RydWN0IHZjcHUgKnYpCj4gK3sKPiAr ICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UgPSB2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmFw aWNfYXNzaXN0LnBhZ2U7Cj4gKyAgICB2b2lkICp2YSA9IHYtPmFyY2guaHZtX3ZjcHUudmlyaWRp YW4uYXBpY19hc3Npc3QudmE7Cj4gCj4gKyAgICBpZiAoICF2YSApCj4gKyAgICAgICAgcmV0dXJu Owo+ICsKPiArICAgIHYtPmFyY2guaHZtX3ZjcHUudmlyaWRpYW4uYXBpY19hc3Npc3QudmEgPSBO VUxMOwo+ICsgICAgdi0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5hcGljX2Fzc2lzdC5wYWdlID0g TlVMTDsKPiArCj4gKyAgICB1bm1hcF9kb21haW5fcGFnZV9nbG9iYWwodmEpOwo+ICAgICAgcHV0 X3BhZ2VfYW5kX3R5cGUocGFnZSk7Cj4gIH0KPiAKPiBAQCAtMzc0LDkgKzQwMyw5IEBAIGludCB3 cm1zcl92aXJpZGlhbl9yZWdzKHVpbnQzMl90IGlkeCwgdWludDY0X3QgdmFsKQo+IAo+ICAgICAg Y2FzZSBWSVJJRElBTl9NU1JfQVBJQ19BU1NJU1Q6Cj4gICAgICAgICAgcGVyZmNfaW5jcihtc2h2 X3dybXNyX2FwaWNfbXNyKTsKPiAtICAgICAgICB2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmFw aWNfYXNzaXN0LnJhdyA9IHZhbDsKPiArICAgICAgICB2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFu LmFwaWNfYXNzaXN0Lm1zci5yYXcgPSB2YWw7Cj4gICAgICAgICAgZHVtcF9hcGljX2Fzc2lzdCh2 KTsKPiAtICAgICAgICBpZiAodi0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5hcGljX2Fzc2lzdC5m aWVsZHMuZW5hYmxlZCkKPiArICAgICAgICBpZiAoIHYtPmFyY2guaHZtX3ZjcHUudmlyaWRpYW4u YXBpY19hc3Npc3QubXNyLmZpZWxkcy5lbmFibGVkICkKCkFjdHVhbGx5IHRoZXJlJ3MgYW4gb21p c3Npb24gaGVyZS4gSWYgdGhlIE1TUiBoYWQgcHJldmlvdXNseSBiZWVuIHNldCB0aGVuIHdlIHBv dGVudGlhbGx5IGxlYWsgYSBtYXBwaW5nIHNvIHRoZXJlIG5lZWRzIHRvIGJlIGEgdGVhcmRvd24g YmVmb3JlIHRoZSAocmUtKWluaXRpYWxpemUuCgogIFBhdWwKCj4gICAgICAgICAgICAgIGluaXRp YWxpemVfYXBpY19hc3Npc3Qodik7Cj4gICAgICAgICAgYnJlYWs7Cj4gCj4gQEAgLTQ4NSw3ICs1 MTQsNyBAQCBpbnQgcmRtc3JfdmlyaWRpYW5fcmVncyh1aW50MzJfdCBpZHgsIHVpbnQ2NF90ICp2 YWwpCj4gCj4gICAgICBjYXNlIFZJUklESUFOX01TUl9BUElDX0FTU0lTVDoKPiAgICAgICAgICBw ZXJmY19pbmNyKG1zaHZfcmRtc3JfYXBpY19tc3IpOwo+IC0gICAgICAgICp2YWwgPSB2LT5hcmNo Lmh2bV92Y3B1LnZpcmlkaWFuLmFwaWNfYXNzaXN0LnJhdzsKPiArICAgICAgICAqdmFsID0gdi0+ YXJjaC5odm1fdmNwdS52aXJpZGlhbi5hcGljX2Fzc2lzdC5tc3IucmF3Owo+ICAgICAgICAgIGJy ZWFrOwo+IAo+ICAgICAgY2FzZSBWSVJJRElBTl9NU1JfUkVGRVJFTkNFX1RTQzoKPiBAQCAtNTIx LDYgKzU1MCwxMSBAQCBpbnQgcmRtc3JfdmlyaWRpYW5fcmVncyh1aW50MzJfdCBpZHgsIHVpbnQ2 NF90ICp2YWwpCj4gICAgICByZXR1cm4gMTsKPiAgfQo+IAo+ICt2b2lkIHZpcmlkaWFuX3ZjcHVf ZGVpbml0KHN0cnVjdCB2Y3B1ICp2KQo+ICt7Cj4gKyAgICB0ZWFyZG93bl9hcGljX2Fzc2lzdCh2 KTsKPiArfQo+ICsKPiAgc3RhdGljIERFRklORV9QRVJfQ1BVKGNwdW1hc2tfdCwgaXBpX2NwdW1h c2spOwo+IAo+ICBpbnQgdmlyaWRpYW5faHlwZXJjYWxsKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpy ZWdzKQo+IEBAIC03MjEsNyArNzU1LDcgQEAgc3RhdGljIGludCB2aXJpZGlhbl9zYXZlX3ZjcHVf Y3R4dChzdHJ1Y3QgZG9tYWluICpkLAo+IGh2bV9kb21haW5fY29udGV4dF90ICpoKQo+ICAgICAg Zm9yX2VhY2hfdmNwdSggZCwgdiApIHsKPiAgICAgICAgICBzdHJ1Y3QgaHZtX3ZpcmlkaWFuX3Zj cHVfY29udGV4dCBjdHh0Owo+IAo+IC0gICAgICAgIGN0eHQuYXBpY19hc3Npc3QgPSB2LT5hcmNo Lmh2bV92Y3B1LnZpcmlkaWFuLmFwaWNfYXNzaXN0LnJhdzsKPiArICAgICAgICBjdHh0LmFwaWNf YXNzaXN0ID0gdi0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5hcGljX2Fzc2lzdC5tc3IucmF3Owo+ IAo+ICAgICAgICAgIGlmICggaHZtX3NhdmVfZW50cnkoVklSSURJQU5fVkNQVSwgdi0+dmNwdV9p ZCwgaCwgJmN0eHQpICE9IDAgKQo+ICAgICAgICAgICAgICByZXR1cm4gMTsKPiBAQCAtNzQ3LDcg Kzc4MSw5IEBAIHN0YXRpYyBpbnQgdmlyaWRpYW5fbG9hZF92Y3B1X2N0eHQoc3RydWN0IGRvbWFp biAqZCwKPiBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKPiAgICAgIGlmICggaHZtX2xvYWRfZW50 cnkoVklSSURJQU5fVkNQVSwgaCwgJmN0eHQpICE9IDAgKQo+ICAgICAgICAgIHJldHVybiAtRUlO VkFMOwo+IAo+IC0gICAgdi0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5hcGljX2Fzc2lzdC5yYXcg PSBjdHh0LmFwaWNfYXNzaXN0Owo+ICsgICAgdi0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5hcGlj X2Fzc2lzdC5tc3IucmF3ID0gY3R4dC5hcGljX2Fzc2lzdDsKPiArICAgIGlmICggdi0+YXJjaC5o dm1fdmNwdS52aXJpZGlhbi5hcGljX2Fzc2lzdC5tc3IuZmllbGRzLmVuYWJsZWQgKQo+ICsgICAg ICAgIGluaXRpYWxpemVfYXBpY19hc3Npc3Qodik7Cj4gCj4gICAgICByZXR1cm4gMDsKPiAgfQo+ IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92aXJpZGlhbi5oIGIveGVuL2lu Y2x1ZGUvYXNtLQo+IHg4Ni9odm0vdmlyaWRpYW4uaAo+IGluZGV4IGM0MzE5ZDcuLmVlM2ExMjAg MTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdmlyaWRpYW4uaAo+ICsrKyBi L3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZpcmlkaWFuLmgKPiBAQCAtMjEsNyArMjEsMTEgQEAg dW5pb24gdmlyaWRpYW5fYXBpY19hc3Npc3QKPiAKPiAgc3RydWN0IHZpcmlkaWFuX3ZjcHUKPiAg ewo+IC0gICAgdW5pb24gdmlyaWRpYW5fYXBpY19hc3Npc3QgYXBpY19hc3Npc3Q7Cj4gKyAgICBz dHJ1Y3Qgewo+ICsgICAgICAgIHVuaW9uIHZpcmlkaWFuX2FwaWNfYXNzaXN0IG1zcjsKPiArICAg ICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlOwo+ICsgICAgICAgIHZvaWQgKnZhOwo+ICsgICAg fSBhcGljX2Fzc2lzdDsKPiAgfTsKPiAKPiAgdW5pb24gdmlyaWRpYW5fZ3Vlc3Rfb3NfaWQKPiBA QCAtMTE3LDYgKzEyMSw4IEBAIHZpcmlkaWFuX2h5cGVyY2FsbChzdHJ1Y3QgY3B1X3VzZXJfcmVn cyAqcmVncyk7Cj4gIHZvaWQgdmlyaWRpYW5fdGltZV9yZWZfY291bnRfZnJlZXplKHN0cnVjdCBk b21haW4gKmQpOwo+ICB2b2lkIHZpcmlkaWFuX3RpbWVfcmVmX2NvdW50X3RoYXcoc3RydWN0IGRv bWFpbiAqZCk7Cj4gCj4gK3ZvaWQgdmlyaWRpYW5fdmNwdV9kZWluaXQoc3RydWN0IHZjcHUgKnYp Owo+ICsKPiAgI2VuZGlmIC8qIF9fQVNNX1g4Nl9IVk1fVklSSURJQU5fSF9fICovCj4gCj4gIC8q Cj4gLS0KPiAyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==