From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Labriola Subject: Re: Upstream Dom0 DRM problems regarding swiotlb Date: Wed, 13 Feb 2019 15:15:30 -0500 Message-ID: References: <5C63F2BB02000078002163D1@prv1-mh.provo.novell.com> <5C64297D0200007800216566@prv1-mh.provo.novell.com> <5C64413C0200007800216656@prv1-mh.provo.novell.com> <20190213165657.GD22883@char.us.oracle.com> <20190213191602.GC16558@char.us.oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190213191602.GC16558@char.us.oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Konrad Rzeszutek Wilk Cc: Jan Beulich , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gV2VkLCBGZWIgMTMsIDIwMTkgYXQgMjoxNiBQTSBLb25yYWQgUnplc3p1dGVrIFdpbGsKPGtv bnJhZC53aWxrQG9yYWNsZS5jb20+IHdyb3RlOgo+Cj4gT24gV2VkLCBGZWIgMTMsIDIwMTkgYXQg MDE6Mzg6MjFQTSAtMDUwMCwgTWljaGFlbCBMYWJyaW9sYSB3cm90ZToKPiA+IE9uIFdlZCwgRmVi IDEzLCAyMDE5IGF0IDE6MTYgUE0gTWljaGFlbCBMYWJyaW9sYQo+ID4gPG1pY2hhZWwuZC5sYWJy aW9sYUBnbWFpbC5jb20+IHdyb3RlOgo+ID4gPgo+ID4gPiBPbiBXZWQsIEZlYiAxMywgMjAxOSBh dCAxMTo1NyBBTSBLb25yYWQgUnplc3p1dGVrIFdpbGsKPiA+ID4gPGtvbnJhZC53aWxrQG9yYWNs ZS5jb20+IHdyb3RlOgo+ID4gPiA+Cj4gPiA+ID4gT24gV2VkLCBGZWIgMTMsIDIwMTkgYXQgMDk6 MDk6MzJBTSAtMDcwMCwgSmFuIEJldWxpY2ggd3JvdGU6Cj4gPiA+ID4gPiA+Pj4gT24gMTMuMDIu MTkgYXQgMTc6MDAsIDxtaWNoYWVsLmQubGFicmlvbGFAZ21haWwuY29tPiB3cm90ZToKPiA+ID4g PiA+ID4gT24gV2VkLCBGZWIgMTMsIDIwMTkgYXQgOToyOCBBTSBKYW4gQmV1bGljaCA8SkJldWxp Y2hAc3VzZS5jb20+IHdyb3RlOgo+ID4gPiA+ID4gPj4gPj4+IE9uIDEzLjAyLjE5IGF0IDE1OjEw LCA8bWljaGFlbC5kLmxhYnJpb2xhQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPiA+ID4gPiA+PiA+IEFo LCBzbyB0aGlzIGlzbid0IG5lY2Vzc2FyaWx5IFhlbi1zcGVjaWZpYyBidXQgcmF0aGVyIGFueSBw YXJhdmlydHVhbAo+ID4gPiA+ID4gPj4gPiBndWVzdD8gIFRoYXQgaGFkbid0IGNyb3NzZWQgbXkg bWluZC4gIElzIHRoZXJlIGFuIGVhc3kgd2F5IHRvIGZpbmQgb3V0Cj4gPiA+ID4gPiA+PiA+IGlm IHdlJ3JlIGEgcHYgZ3Vlc3QgaW4gdGhlIG5lZWRfc3dpb3RsYiBjb25kaXRpb25hbHM/Cj4gPiA+ ID4gPiA+Pgo+ID4gPiA+ID4gPj4gVGhlcmUncyB4ZW5fcHZfZG9tYWluKCksIGJ1dCBJIHRoaW5r IHhlbl9zd2lvdGxiIHdvdWxkIGJlIG1vcmUgdG8KPiA+ID4gPiA+ID4+IHRoZSBwb2ludCBpZiB0 aGUgY2hlY2sgaXMgYWxyZWFkeSB0byBiZSBYZW4tc3BlY2lmaWMuIFRoZXJlJ3Mgbm8gZ2VuZXJp Ywo+ID4gPiA+ID4gPj4gImlzIFBWIiBwcmVkaWNhdGUgdGhhdCBJJ20gYXdhcmUgb2YuCj4gPiA+ ID4gPiA+Cj4gPiA+ID4gPiA+IFdlbGwsIHRoYXQgbWFrZXMgZG9pbmcgY29uZGl0aW9uYWwgY29k ZSByaWdodCBtb3JlIGRpZmZpY3VsdC4gIEkKPiA+ID4gPiA+ID4gYXNzdW1lIHNpbmNlIHRoZXJl IGlzbid0IGEgZ2VuZXJpYyBwcmVkaWNhdGUsIGFuZCBQViBpc24ndCBuZXcsIHRoYXQKPiA+ID4g PiA+ID4gaXQncyBhYnNlbmNlIGlzIGJ5IGRlc2lnbj8gIFRvIHJlaWduIGluIHRoZSB0ZW1wdGF0 aW9uIHRvIHNwcmlua2xlCj4gPiA+ID4gPiA+IGNvbmRpdGlvbmFsIGNvZGUgYWxsIG92ZXIgdGhl IGtlcm5lbD8gIDstKQo+ID4gPiA+ID4KPiA+ID4gPiA+IFdlbGwsIHdpdGggbGd1ZXN0IGdvbmUs IFhlbiBpcyB0aGUgb25seSBQViBlbnZpcm9ubWVudCB0aGUga2VybmVsCj4gPiA+ID4gPiBjYW4g cnVuIGluLCBhZmFpayBhdCBsZWFzdC4gSSBndWVzcyB0byBkZWNpZGUgYmV0d2VlbiB0aGUgc3Vn Z2VzdGVkCj4gPiA+ID4gPiBvcHRpb25zIG9yIHRoZSBuZWVkIGZvciBzb21lIGFic3RyYWN0aW5n IG1hY3JvIChvciB5ZXQgc29tZXRoaW5nCj4gPiA+ID4gPiBlbHNlKSwgeW91J2xsIHJlYWxseSBu ZWVkIHRvIGFzayB0aGUgZHJpdmVyIG1haW50YWluZXJzLiBPciBzaW1wbHkKPiA+ID4gPiA+IHNl bmQgYSBwYXRjaCB0aGVpciB3YXkgaW1wbGVtZW50aW5nIG9uZSBvZiB0aGVtLCBhbmQgc2VlIHdo YXQKPiA+ID4gPiA+IHRoZWlyIHJlYWN0aW9uIGlzLgo+ID4gPiA+Cj4gPiA+ID4gQ291bGQgeW91 IHRyeSB0aGlzIG91dCBhbmQgc2VlIGlmIGl0IHdvcmtzIGFuZCBJIHdpbGwgc2VuZCBpdCBvdXQ6 Cj4gPiA+ID4KPiA+ICpzbmlwKgo+ID4gPgo+ID4gPiBZZXMsIHRoYXQgd29ya3MgZm9yIG1lLiAg SG93ZXZlciwgSSBmZWVsIGxpa2UgdGhlIGNvbmRpdGlvbmFsIHNob3VsZAo+ID4gPiBiZSBpbiBk cm1fZ2V0X21heF9pb21lbSgpIGluc3RlYWQgb2YgZGlyZWN0bHkgYWZ0ZXIgaXQgZXZlcnl3aGVy ZSBpdCdzCj4gPiA+IHVzZWQuLi4gIGFuZCBpcyBqdXN0IGNoZWNraW5nIHhlbl9wdl9kb21haW4o KSBlbm91Z2g/ICBKYW4gbWFkZSBpdAo+ID4gPiBzb3VuZCBsaWtlIHRoZXJlIHdlcmUgcG9zc2li bHkgb3RoZXIgUFYgY2FzZXMgdGhhdCB3b3VsZCBhbHNvIHN0aWxsCj4gPiA+IG5lZWQgc3dpb3Rs Yi4KPiA+Cj4gPiBIb3cgYWJvdXQgdGhpcz8gIEl0IHN0cmNtcCdzIHB2X2luZm8gdG8gc2VlIGlm IHdlJ3JlIGJhcmUgbWV0YWwsIGRvZXMKPiA+IHRoZSBjb21wYXJpc29uIGluIGEgc2luZ2xlIHBs YWNlLCBtb3ZlcyB0aGUgYml0IHNoaWZ0aW5nIGNvbXBhcmlzb24KPiA+IGludG8gdGhlIGZ1bmN0 aW9uIChzaW1wbGlmeWluZyB0aGUgZHJtIGRyaXZlciBjb2RlKSwgYW5kIHJlbmFtZXMgdGhlCj4g PiBmdW5jdGlvbiB0byBtb3JlIGFwdGx5IGRlc2NyaWJlIHdoYXQncyBnb2luZyBvbi4KPgo+IDxu b2RzPiBUaGF0IGxvb2tzIG11Y2ggYmV0dGVyLgoKR3JlYXQhICBOb3cgdGhlIG9ubHkgcXVlc3Rp b24gbGVmdCBpczogIEtWTSwgVk13YXJlLCBYZW4gUFZILCBYZW4gSFZNLAphbmQgWGVuIFBWIGFs bCBwb3B1bGF0ZSBwdl9pbmZvLiAgRG8gYW55IG9mIHRob3NlIG90aGVyIHRoYW4gWGVuIFBWCipy ZWFsbHkqIG5lZWQgc3dpb3RsYi4gIFRoYXQncyBzbGlnaHRseSBvdmVyIG15IGhlYWQuICBBcyB3 cml0dGVuLCBteQpwYXRjaCB3b3VsZCByZXF1aXJlIHN3aW90bGIgZm9yIGFsbCBvZiB0aGVtIGJl Y2F1c2UgSSB3YXMgYXR0ZW1wdGluZwp0byBub3QgYmUgWGVuLXNwZWNpZmljLgoKPiBXb3VsZCBs b3ZlIHRvIHNlZSB0aGlzIHBvc3RlZCB1cHN0cmVhbSEKCkknbSBhc3N1bWluZyBkcmktZGV2ZWwg aXMgdGhlIGFwcHJvcHJpYXRlIHBsYWNlIHRvIHBvc3QgdGhpcz8KCj4gPgo+ID4KPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjZfMC5jCj4gPiBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192Nl8wLmMKPiA+IGluZGV4IDczYWQwMmFlYTJiMi4u MzI4ZDQ1YjhiMmVjIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Z21jX3Y2XzAuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y2XzAu Ywo+ID4gQEAgLTg4NSw3ICs4ODUsNyBAQCBzdGF0aWMgaW50IGdtY192Nl8wX3N3X2luaXQodm9p ZCAqaGFuZGxlKQo+ID4gICAgICAgICAgcGNpX3NldF9jb25zaXN0ZW50X2RtYV9tYXNrKGFkZXYt PnBkZXYsIERNQV9CSVRfTUFTSygzMikpOwo+ID4gICAgICAgICAgZGV2X3dhcm4oYWRldi0+ZGV2 LCAiYW1kZ3B1OiBObyBjb2hlcmVudCBETUEgYXZhaWxhYmxlLlxuIik7Cj4gPiAgICAgIH0KPiA+ IC0gICAgYWRldi0+bmVlZF9zd2lvdGxiID0gZHJtX2dldF9tYXhfaW9tZW0oKSA+ICgodTY0KTEg PDwgZG1hX2JpdHMpOwo+ID4gKyAgICBhZGV2LT5uZWVkX3N3aW90bGIgPSBkcm1fbmVlZF9zd2lv dGxiX2Zvcl9kbWEoZG1hX2JpdHMpOwo+ID4KPiA+ICAgICAgciA9IGdtY192Nl8wX2luaXRfbWlj cm9jb2RlKGFkZXYpOwo+ID4gICAgICBpZiAocikgewo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2dtY192N18wLmMKPiA+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvZ21jX3Y3XzAuYwo+ID4gaW5kZXggOTEwYzRjZTE5Y2IzLi4zZDQ5ZWZmMjg0NDggMTAw NjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjdfMC5jCj4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjdfMC5jCj4gPiBAQCAtMTAyOSw3 ICsxMDI5LDcgQEAgc3RhdGljIGludCBnbWNfdjdfMF9zd19pbml0KHZvaWQgKmhhbmRsZSkKPiA+ ICAgICAgICAgIHBjaV9zZXRfY29uc2lzdGVudF9kbWFfbWFzayhhZGV2LT5wZGV2LCBETUFfQklU X01BU0soMzIpKTsKPiA+ICAgICAgICAgIHByX3dhcm4oImFtZGdwdTogTm8gY29oZXJlbnQgRE1B IGF2YWlsYWJsZVxuIik7Cj4gPiAgICAgIH0KPiA+IC0gICAgYWRldi0+bmVlZF9zd2lvdGxiID0g ZHJtX2dldF9tYXhfaW9tZW0oKSA+ICgodTY0KTEgPDwgZG1hX2JpdHMpOwo+ID4gKyAgICBhZGV2 LT5uZWVkX3N3aW90bGIgPSBkcm1fbmVlZF9zd2lvdGxiX2Zvcl9kbWEoZG1hX2JpdHMpOwo+ID4K PiA+ICAgICAgciA9IGdtY192N18wX2luaXRfbWljcm9jb2RlKGFkZXYpOwo+ID4gICAgICBpZiAo cikgewo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192OF8w LmMKPiA+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y4XzAuYwo+ID4gaW5kZXgg NzQ3YzA2ODM3OWRjLi45MjQ3ZGQ2MzE2ZjEgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9nbWNfdjhfMC5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9nbWNfdjhfMC5jCj4gPiBAQCAtMTE1NSw3ICsxMTU1LDcgQEAgc3RhdGljIGludCBnbWNf djhfMF9zd19pbml0KHZvaWQgKmhhbmRsZSkKPiA+ICAgICAgICAgIHBjaV9zZXRfY29uc2lzdGVu dF9kbWFfbWFzayhhZGV2LT5wZGV2LCBETUFfQklUX01BU0soMzIpKTsKPiA+ICAgICAgICAgIHBy X3dhcm4oImFtZGdwdTogTm8gY29oZXJlbnQgRE1BIGF2YWlsYWJsZVxuIik7Cj4gPiAgICAgIH0K PiA+IC0gICAgYWRldi0+bmVlZF9zd2lvdGxiID0gZHJtX2dldF9tYXhfaW9tZW0oKSA+ICgodTY0 KTEgPDwgZG1hX2JpdHMpOwo+ID4gKyAgICBhZGV2LT5uZWVkX3N3aW90bGIgPSBkcm1fbmVlZF9z d2lvdGxiX2Zvcl9kbWEoZG1hX2JpdHMpOwo+ID4KPiA+ICAgICAgciA9IGdtY192OF8wX2luaXRf bWljcm9jb2RlKGFkZXYpOwo+ID4gICAgICBpZiAocikgewo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192OV8wLmMKPiA+IGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZ21jX3Y5XzAuYwo+ID4gaW5kZXggZjM1ZDdhNTU0YWQ1Li44OWYzZmU5ODFhYzUg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjlfMC5jCj4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjlfMC5jCj4gPiBAQCAtOTg5 LDcgKzk4OSw3IEBAIHN0YXRpYyBpbnQgZ21jX3Y5XzBfc3dfaW5pdCh2b2lkICpoYW5kbGUpCj4g PiAgICAgICAgICBwY2lfc2V0X2NvbnNpc3RlbnRfZG1hX21hc2soYWRldi0+cGRldiwgRE1BX0JJ VF9NQVNLKDMyKSk7Cj4gPiAgICAgICAgICBwcmludGsoS0VSTl9XQVJOSU5HICJhbWRncHU6IE5v IGNvaGVyZW50IERNQSBhdmFpbGFibGUuXG4iKTsKPiA+ICAgICAgfQo+ID4gLSAgICBhZGV2LT5u ZWVkX3N3aW90bGIgPSBkcm1fZ2V0X21heF9pb21lbSgpID4gKCh1NjQpMSA8PCBkbWFfYml0cyk7 Cj4gPiArICAgIGFkZXYtPm5lZWRfc3dpb3RsYiA9IGRybV9uZWVkX3N3aW90bGJfZm9yX2RtYShk bWFfYml0cyk7Cj4gPgo+ID4gICAgICBpZiAoYWRldi0+YXNpY190eXBlID09IENISVBfVkVHQTIw KSB7Cj4gPiAgICAgICAgICByID0gZ2Z4aHViX3YxXzFfZ2V0X3hnbWlfaW5mbyhhZGV2KTsKPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21lbW9yeS5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9tZW1vcnkuYwo+ID4gaW5kZXggZDY5ZTRmYzFlZTc3Li5mMjJmNmEwZDIwYjMgMTAw NjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21lbW9yeS5jCj4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX21lbW9yeS5jCj4gPiBAQCAtMzUsNiArMzUsNyBAQAo+ID4KPiA+ICAj aW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgo+ID4gICNpbmNsdWRlIDxsaW51eC9leHBvcnQuaD4K PiA+ICsjaW5jbHVkZSA8eGVuL3hlbi5oPgo+ID4gICNpbmNsdWRlIDxkcm0vZHJtUC5oPgo+ID4g ICNpbmNsdWRlICJkcm1fbGVnYWN5LmgiCj4gPgo+ID4gQEAgLTE1MCwxNSArMTUxLDI0IEBAIHZv aWQgZHJtX2xlZ2FjeV9pb3JlbWFwZnJlZShzdHJ1Y3QgZHJtX2xvY2FsX21hcAo+ID4gKm1hcCwg c3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICB9Cj4gPiAgRVhQT1JUX1NZTUJPTChkcm1fbGVn YWN5X2lvcmVtYXBmcmVlKTsKPiA+Cj4gPiAtdTY0IGRybV9nZXRfbWF4X2lvbWVtKHZvaWQpCj4g PiArYm9vbCBkcm1fbmVlZF9zd2lvdGxiX2Zvcl9kbWEoaW50IGRtYV9iaXRzKQo+ID4gIHsKPiA+ ICAgICAgc3RydWN0IHJlc291cmNlICp0bXA7Cj4gPiAgICAgIHJlc291cmNlX3NpemVfdCBtYXhf aW9tZW0gPSAwOwo+ID4KPiA+ICsjaWZkZWYgQ09ORklHX1BBUkFWSVJUCj4gPiArICAgIC8qCj4g PiArICAgICAqIFBhcmF2aXJ0dWFsIGhvc3RzIHJlcXVpcmUgc3dpb3RsYiByZWdhcmRsZXNzIG9m IHJlcXVlc3RlZCBkbWEKPiA+ICsgICAgICogdHJhbnNmZXIgc2l6ZS4KPiA+ICsgICAgICovCj4g PiArICAgIGlmIChzdHJjbXAocHZfaW5mby5uYW1lLCAiYmFyZSBoYXJkd2FyZSIpICE9IDApCj4g PiArICAgICAgICByZXR1cm4gdHJ1ZTsKPiA+ICsjZW5kaWYKPiA+ICsKPiA+ICAgICAgZm9yICh0 bXAgPSBpb21lbV9yZXNvdXJjZS5jaGlsZDsgdG1wOyB0bXAgPSB0bXAtPnNpYmxpbmcpIHsKPiA+ ICAgICAgICAgIG1heF9pb21lbSA9IG1heChtYXhfaW9tZW0sICB0bXAtPmVuZCk7Cj4gPiAgICAg IH0KPiA+Cj4gPiAtICAgIHJldHVybiBtYXhfaW9tZW07Cj4gPiArICAgIHJldHVybiBtYXhfaW9t ZW0gPiAoKHU2NCkxIDw8IGRtYV9iaXRzKTsKPiA+ICB9Cj4gPiAtRVhQT1JUX1NZTUJPTChkcm1f Z2V0X21heF9pb21lbSk7Cj4gPiArRVhQT1JUX1NZTUJPTChkcm1fbmVlZF9zd2lvdGxiX2Zvcl9k bWEpOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rldmlj ZS5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jCj4gPiBpbmRl eCA1OWM4YTY2NDdmZjIuLjdjODIyMmQ5OGJjMyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9kZXZpY2UuYwo+ID4gQEAgLTEzODcsNyArMTM4Nyw4IEBAIGludCByYWRlb25f ZGV2aWNlX2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCj4gPiAgICAgICAgICBwY2lf c2V0X2NvbnNpc3RlbnRfZG1hX21hc2socmRldi0+cGRldiwgRE1BX0JJVF9NQVNLKDMyKSk7Cj4g PiAgICAgICAgICBwcl93YXJuKCJyYWRlb246IE5vIGNvaGVyZW50IERNQSBhdmFpbGFibGVcbiIp Owo+ID4gICAgICB9Cj4gPiAtICAgIHJkZXYtPm5lZWRfc3dpb3RsYiA9IGRybV9nZXRfbWF4X2lv bWVtKCkgPiAoKHU2NCkxIDw8IGRtYV9iaXRzKTsKPiA+ICsgICAgcmRldi0+bmVlZF9zd2lvdGxi ID0gZHJtX25lZWRfc3dpb3RsYl9mb3JfZG1hKGRtYV9iaXRzKTsKPiA+ICsgICAgcHJfaW5mbygi JXM6IG5lZWRfc3dpb3RsYjogJWRcbiIsIF9fZnVuY19fLCByZGV2LT5uZWVkX3N3aW90bGIpOwo+ ID4KPiA+ICAgICAgLyogUmVnaXN0ZXJzIG1hcHBpbmcgKi8KPiA+ICAgICAgLyogVE9ETzogYmxv Y2sgdXNlcnNwYWNlIG1hcHBpbmcgb2YgaW8gcmVnaXN0ZXIgKi8KPiA+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1fY2FjaGUuaCBiL2luY2x1ZGUvZHJtL2RybV9jYWNoZS5oCj4gPiBpbmRl eCBiZmUxNjM5ZGYwMmQuLjA3MGI0NDYyNGZmOSAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvZHJt L2RybV9jYWNoZS5oCj4gPiArKysgYi9pbmNsdWRlL2RybS9kcm1fY2FjaGUuaAo+ID4gQEAgLTM4 LDcgKzM4LDcgQEAKPiA+ICB2b2lkIGRybV9jbGZsdXNoX3BhZ2VzKHN0cnVjdCBwYWdlICpwYWdl c1tdLCB1bnNpZ25lZCBsb25nIG51bV9wYWdlcyk7Cj4gPiAgdm9pZCBkcm1fY2xmbHVzaF9zZyhz dHJ1Y3Qgc2dfdGFibGUgKnN0KTsKPiA+ICB2b2lkIGRybV9jbGZsdXNoX3ZpcnRfcmFuZ2Uodm9p ZCAqYWRkciwgdW5zaWduZWQgbG9uZyBsZW5ndGgpOwo+ID4gLXU2NCBkcm1fZ2V0X21heF9pb21l bSh2b2lkKTsKPiA+ICtib29sIGRybV9uZWVkX3N3aW90bGJfZm9yX2RtYShpbnQgZG1hX2JpdHMp Owo+ID4KPiA+Cj4gPiAgc3RhdGljIGlubGluZSBib29sIGRybV9hcmNoX2Nhbl93Y19tZW1vcnko dm9pZCkKCgoKLS0gCk1pY2hhZWwgRCBMYWJyaW9sYQoyMSBSaXAgVmFuIFdpbmtsZSBDaXIKV2Fy d2ljaywgUkkgMDI4ODYKNDAxLTMxNi05ODQ0IChjZWxsKQo0MDEtODQ4LTg4NzEgKHdvcmspCjQw MS0yMzQtMTMwNiAoaG9tZSkKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2pl Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4t ZGV2ZWw=