From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [Intel-gfx] [PATCH 23/24] drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers Date: Mon, 13 Mar 2017 15:33:04 -0400 Message-ID: <20170313193304.GU20329@art_vandelay> References: <20170308141257.12119-1-daniel.vetter@ffwll.ch> <20170308141257.12119-24-daniel.vetter@ffwll.ch> <20170313193140.GT20329@art_vandelay> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20170313193140.GT20329@art_vandelay> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , Intel Graphics Development , DRI Development List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBNYXIgMTMsIDIwMTcgYXQgMDM6MzE6NDBQTSAtMDQwMCwgU2VhbiBQYXVsIHdyb3Rl Ogo+IE9uIFdlZCwgTWFyIDA4LCAyMDE3IGF0IDAzOjEyOjU2UE0gKzAxMDAsIERhbmllbCBWZXR0 ZXIgd3JvdGU6Cj4gPiBMZXNzIGNvZGUgZnR3Lgo+ID4gCj4gPiBUaGlzIGNvbnZlcnRzIGFsbCBk cml2ZXJzIGV4Y2VwdCB0aGUgdGlueWRybSBoZWxwZXIgbW9kdWxlLiBUaGF0IG9uZQo+ID4gbmVl ZHMgbW9yZSB3b3JrLCBzaW5jZSBpdCBnZXRzIHRoZSBUSElTX01PRFVMRSByZWZlcmVuY2UgZnJv bQo+ID4gdGlueWRybS5rbyBpbnN0ZWFkIG9mIHRoZSBhY3R1YWwgZHJpdmVyIG1vZHVsZSBsaWtl IGl0IHNob3VsZC4KPiA+IFByb2JhYmx5IG5lZWRzIGEgc2ltaWxhciB0cmljayBsaWtlIEkgdXNl ZCBoZXJlIHdpdGggZ2VuZXJhdGluZyB0aGUKPiA+IGVudGlyZSBzdHJ1Y3Qgd2l0aCBhIG1hY3Jv Lgo+ID4gCj4gPiBDYzogTm9yYWxmIFRyw7hubmVzIDxub3JhbGZAdHJvbm5lcy5vcmc+Cj4gPiBT aWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiA+ IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfZHJ2LmMgICAgICAgICAgICAgICAg IHwgMTIgKy0tLS0tLS0tLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfZHJ2LmMg ICAgICAgICAgICAgICAgfCAxMiArLS0tLS0tLS0tLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vYXRt ZWwtaGxjZGMvYXRtZWxfaGxjZGNfZGMuYyAgICB8IDEyICstLS0tLS0tLS0tLQo+ID4gIGRyaXZl cnMvZ3B1L2RybS9kcm1fZmlsZS5jICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKysrCj4gPiAg ZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hlbHBlci5jICAgICAgICAgICAgfCAgMyArKysK PiA+ICBkcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9kcnYuYyAgICAgICB8IDEy ICstLS0tLS0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2lyaW4va2lyaW5f ZHJtX2Rydi5jIHwgMTIgKy0tLS0tLS0tLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2lteC9pbXgt ZHJtLWNvcmUuYyAgICAgICAgICAgICAgfCAxMSArLS0tLS0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1 L2RybS9tZXNvbi9tZXNvbl9kcnYuYyAgICAgICAgICAgICAgIHwgMTQgKy0tLS0tLS0tLS0tLQo+ ID4gIGRyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYuYyAgICAgICAgICAgICAgIHwgMTQg Ky0tLS0tLS0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfZHJ2LmMg ICAgICAgICAgIHwgMTIgKy0tLS0tLS0tLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3NobW9iaWxl L3NobW9iX2RybV9kcnYuYyAgICAgICAgfCAxMiArLS0tLS0tLS0tLS0KPiA+ICBkcml2ZXJzL2dw dS9kcm0vc3RpL3N0aV9kcnYuYyAgICAgICAgICAgICAgICAgICB8IDExICstLS0tLS0tLS0tCj4g PiAgZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2Rydi5jICAgICAgICAgICAgICAgfCAxMiAr LS0tLS0tLS0tLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY19kcnYuYyAgICAg ICAgICAgICB8IDEyICstLS0tLS0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS96dGUvenhfZHJt X2Rydi5jICAgICAgICAgICAgICAgIHwgMTQgKy0tLS0tLS0tLS0tLQo+ID4gIGluY2x1ZGUvZHJt L2RybV9nZW1fY21hX2hlbHBlci5oICAgICAgICAgICAgICAgIHwgMjYgKysrKysrKysrKysrKysr KysrKysrKysrKwo+ID4gIDE3IGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDE1OCBk ZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRs Y2RfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2hkbGNkX2Rydi5jCj4gPiBpbmRleCA0ODQw ZGMyNzczMzkuLjBlNzQ4ODBiNWU5NCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h cm0vaGRsY2RfZHJ2LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfZHJ2LmMK PiA+IEBAIC0yMzksMTcgKzIzOSw3IEBAIHN0YXRpYyBpbnQgaGRsY2RfZGVidWdmc19pbml0KHN0 cnVjdCBkcm1fbWlub3IgKm1pbm9yKQo+ID4gIH0KPiA+ICAjZW5kaWYKPiA+ICAKPiA+IC1zdGF0 aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmb3BzID0gewo+ID4gLQkub3duZXIJCT0g VEhJU19NT0RVTEUsCj4gPiAtCS5vcGVuCQk9IGRybV9vcGVuLAo+ID4gLQkucmVsZWFzZQk9IGRy bV9yZWxlYXNlLAo+ID4gLQkudW5sb2NrZWRfaW9jdGwJPSBkcm1faW9jdGwsCj4gPiAtCS5jb21w YXRfaW9jdGwJPSBkcm1fY29tcGF0X2lvY3RsLAo+ID4gLQkucG9sbAkJPSBkcm1fcG9sbCwKPiA+ IC0JLnJlYWQJCT0gZHJtX3JlYWQsCj4gPiAtCS5sbHNlZWsJCT0gbm9vcF9sbHNlZWssCj4gPiAt CS5tbWFwCQk9IGRybV9nZW1fY21hX21tYXAsCj4gPiAtfTsKPiA+ICtERUZJTkVfRFJNX0dFTV9D TUFfRk9QUyhmb3BzKTsKPiA+ICAKPiA+ICBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgaGRsY2Rf ZHJpdmVyID0gewo+ID4gIAkuZHJpdmVyX2ZlYXR1cmVzID0gRFJJVkVSX0hBVkVfSVJRIHwgRFJJ VkVSX0dFTSB8Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfZHJ2 LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9kcnYuYwo+ID4gaW5kZXggYTk2MDhhMmU1 YTI5Li5lYTI1NDZmNzY2YzIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL21h bGlkcF9kcnYuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfZHJ2LmMKPiA+ IEBAIC0xNzgsMTcgKzE3OCw3IEBAIHN0YXRpYyB2b2lkIG1hbGlkcF9sYXN0Y2xvc2Uoc3RydWN0 IGRybV9kZXZpY2UgKmRybSkKPiA+ICAJZHJtX2ZiZGV2X2NtYV9yZXN0b3JlX21vZGUobWFsaWRw LT5mYmRldik7Cj4gPiAgfQo+ID4gIAo+ID4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVy YXRpb25zIGZvcHMgPSB7Cj4gPiAtCS5vd25lciA9IFRISVNfTU9EVUxFLAo+ID4gLQkub3BlbiA9 IGRybV9vcGVuLAo+ID4gLQkucmVsZWFzZSA9IGRybV9yZWxlYXNlLAo+ID4gLQkudW5sb2NrZWRf aW9jdGwgPSBkcm1faW9jdGwsCj4gPiAtCS5jb21wYXRfaW9jdGwgPSBkcm1fY29tcGF0X2lvY3Rs LAo+ID4gLQkucG9sbCA9IGRybV9wb2xsLAo+ID4gLQkucmVhZCA9IGRybV9yZWFkLAo+ID4gLQku bGxzZWVrID0gbm9vcF9sbHNlZWssCj4gPiAtCS5tbWFwID0gZHJtX2dlbV9jbWFfbW1hcCwKPiA+ IC19Owo+ID4gK0RFRklORV9EUk1fR0VNX0NNQV9GT1BTKGZvcHMpOwo+ID4gIAo+ID4gIHN0YXRp YyBzdHJ1Y3QgZHJtX2RyaXZlciBtYWxpZHBfZHJpdmVyID0gewo+ID4gIAkuZHJpdmVyX2ZlYXR1 cmVzID0gRFJJVkVSX0dFTSB8IERSSVZFUl9NT0RFU0VUIHwgRFJJVkVSX0FUT01JQyB8Cj4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2RjLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfZGMuYwo+ID4gaW5kZXgg OTcwYmQ4N2Q3Y2NlLi4xNzhhY2JmNWY2YzUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfZGMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2RjLmMKPiA+IEBAIC03MjQsMTcgKzcyNCw3IEBAIHN0 YXRpYyB2b2lkIGF0bWVsX2hsY2RjX2RjX2lycV91bmluc3RhbGwoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiA+ICAJcmVnbWFwX3JlYWQoZGMtPmhsY2RjLT5yZWdtYXAsIEFUTUVMX0hMQ0RDX0lT UiwgJmlzcik7Cj4gPiAgfQo+ID4gIAo+ID4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVy YXRpb25zIGZvcHMgPSB7Cj4gPiAtCS5vd25lciAgICAgICAgICAgICAgPSBUSElTX01PRFVMRSwK PiA+IC0JLm9wZW4gICAgICAgICAgICAgICA9IGRybV9vcGVuLAo+ID4gLQkucmVsZWFzZSAgICAg ICAgICAgID0gZHJtX3JlbGVhc2UsCj4gPiAtCS51bmxvY2tlZF9pb2N0bCAgICAgPSBkcm1faW9j dGwsCj4gPiAtCS5jb21wYXRfaW9jdGwgICAgICAgPSBkcm1fY29tcGF0X2lvY3RsLAo+ID4gLQku cG9sbCAgICAgICAgICAgICAgID0gZHJtX3BvbGwsCj4gPiAtCS5yZWFkICAgICAgICAgICAgICAg PSBkcm1fcmVhZCwKPiA+IC0JLmxsc2VlayAgICAgICAgICAgICA9IG5vX2xsc2VlaywKPiA+IC0J Lm1tYXAgICAgICAgICAgICAgICA9IGRybV9nZW1fY21hX21tYXAsCj4gPiAtfTsKPiA+ICtERUZJ TkVfRFJNX0dFTV9DTUFfRk9QUyhmb3BzKTsKPiA+ICAKPiA+ICBzdGF0aWMgc3RydWN0IGRybV9k cml2ZXIgYXRtZWxfaGxjZGNfZGNfZHJpdmVyID0gewo+ID4gIAkuZHJpdmVyX2ZlYXR1cmVzID0g RFJJVkVSX0hBVkVfSVJRIHwgRFJJVkVSX0dFTSB8Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9maWxlLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZpbGUuYwo+ID4gaW5kZXgg Zjg0ODNmYzZkM2Q3Li4yNjBhODM1NjM5NzYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2ZpbGUuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9maWxlLmMKPiA+IEBA IC04OSw2ICs4OSw5IEBAIERFRklORV9NVVRFWChkcm1fZ2xvYmFsX211dGV4KTsKPiA+ICAgKiAg ICAgICAgICAgICAubW1hcCA9IGRybV9nZW1fbW1hcCwKPiA+ICAgKiAgICAgfTsKPiA+ICAgKgo+ ID4gKyAqIEZvciBDTUEgYmFzZWQgZHJpdmVycyB0aGVyZSBpcyB0aGUgREVGSU5FX0RSTV9HRU1f Q01BX0ZPUFMoKSBtYWNybyB0byBtYWtlCj4gPiArICogdGhpcyBzaW1wbGVyLgo+ID4gKyAqCj4g PiAgICogRklYTUU6IFdlIHNob3VsZCBoYXZlIGEgbWFjcm8gZm9yIHRoaXMgKGFuZCB0aGUgQ01B IHZlcnNpb24pIHNvIHRoYXQgZHJpdmVycwo+IAo+IHNfKGFuZCB0aGUgQ01BIHZlcnNpb24pX18K Cldob29wcywganVzdCBzYXcgMjQvMjQgcmVtb3ZlcyB0aGlzIGVudGlyZWx5LiDCr1xfKOODhClf L8KvCgo+IAo+IFJldmlld2VkLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4K PiAKPiA+ICAgKiBkb24ndCBoYXZlIHRvIHJlcGVhdCBpdCBhbGwgdGhlIHRpbWUuCj4gPiAgICov Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hlbHBlci5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hlbHBlci5jCj4gPiBpbmRleCBiYjk2OGU3Njc3 OWIuLmJjMjhlNzU3NTI1NCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2Vt X2NtYV9oZWxwZXIuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hlbHBl ci5jCj4gPiBAQCAtMzM4LDYgKzMzOCw5IEBAIHN0YXRpYyBpbnQgZHJtX2dlbV9jbWFfbW1hcF9v Ymooc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqY21hX29iaiwKPiA+ICAgKiBhcyB0aGVpciAt Pm1tYXAoKSBoYW5kbGVyIGluIHRoZSBEUk0gZGV2aWNlIGZpbGUncyBmaWxlX29wZXJhdGlvbnMK PiA+ICAgKiBzdHJ1Y3R1cmUuCj4gPiAgICoKPiA+ICsgKiBJbnN0ZWFkIG9mIGRpcmVjdGx5IHJl ZmVyZW5jaW5nIHRoaXMgZnVuY3Rpb24sIGRyaXZlcnMgc2hvdWxkIHVzZSB0aGUKPiA+ICsgKiBE RUZJTkVfRFJNX0dFTV9DTUFfRk9QUygpLm1hY3JvLgo+ID4gKyAqCj4gPiAgICogUmV0dXJuczoK PiA+ICAgKiAwIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUu Cj4gPiAgICovCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2Rj dV9kcm1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9kcnYuYwo+ ID4gaW5kZXggYjUzOTFjMTI0YzY0Li42ZTAwZjRiMjY3ZjEgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9kcnYuYwo+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fZHJ2LmMKPiA+IEBAIC0xNjEsMTcgKzE2MSw3IEBA IHN0YXRpYyB2b2lkIGZzbF9kY3VfZHJtX2xhc3RjbG9zZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+ID4gIAlkcm1fZmJkZXZfY21hX3Jlc3RvcmVfbW9kZShmc2xfZGV2LT5mYmRldik7Cj4gPiAg fQo+ID4gIAo+ID4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGZzbF9kY3Vf ZHJtX2ZvcHMgPSB7Cj4gPiAtCS5vd25lcgkJPSBUSElTX01PRFVMRSwKPiA+IC0JLm9wZW4JCT0g ZHJtX29wZW4sCj4gPiAtCS5yZWxlYXNlCT0gZHJtX3JlbGVhc2UsCj4gPiAtCS51bmxvY2tlZF9p b2N0bAk9IGRybV9pb2N0bCwKPiA+IC0JLmNvbXBhdF9pb2N0bAk9IGRybV9jb21wYXRfaW9jdGws Cj4gPiAtCS5wb2xsCQk9IGRybV9wb2xsLAo+ID4gLQkucmVhZAkJPSBkcm1fcmVhZCwKPiA+IC0J Lmxsc2VlawkJPSBub19sbHNlZWssCj4gPiAtCS5tbWFwCQk9IGRybV9nZW1fY21hX21tYXAsCj4g PiAtfTsKPiA+ICtERUZJTkVfRFJNX0dFTV9DTUFfRk9QUyhmc2xfZGN1X2RybV9mb3BzKTsKPiA+ ICAKPiA+ICBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgZnNsX2RjdV9kcm1fZHJpdmVyID0gewo+ ID4gIAkuZHJpdmVyX2ZlYXR1cmVzCT0gRFJJVkVSX0hBVkVfSVJRIHwgRFJJVkVSX0dFTSB8IERS SVZFUl9NT0RFU0VUCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9r aXJpbi9raXJpbl9kcm1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2tp cmluX2RybV9kcnYuYwo+ID4gaW5kZXggN2VjOTNhZWM3ZTg4Li5kZjRmNTA3MTNlNTQgMTAwNjQ0 Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2RybV9kcnYu Ywo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9raXJpbi9raXJpbl9kcm1fZHJ2 LmMKPiA+IEBAIC0xNDYsMTcgKzE0Niw3IEBAIHN0YXRpYyBpbnQga2lyaW5fZHJtX2ttc19pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiAgCXJldHVybiByZXQ7Cj4gPiAgfQo+ID4gIAo+ ID4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGtpcmluX2RybV9mb3BzID0g ewo+ID4gLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCj4gPiAtCS5vcGVuCQk9IGRybV9vcGVuLAo+ ID4gLQkucmVsZWFzZQk9IGRybV9yZWxlYXNlLAo+ID4gLQkudW5sb2NrZWRfaW9jdGwJPSBkcm1f aW9jdGwsCj4gPiAtCS5jb21wYXRfaW9jdGwJPSBkcm1fY29tcGF0X2lvY3RsLAo+ID4gLQkucG9s bAkJPSBkcm1fcG9sbCwKPiA+IC0JLnJlYWQJCT0gZHJtX3JlYWQsCj4gPiAtCS5sbHNlZWsJCT0g bm9fbGxzZWVrLAo+ID4gLQkubW1hcAkJPSBkcm1fZ2VtX2NtYV9tbWFwLAo+ID4gLX07Cj4gPiAr REVGSU5FX0RSTV9HRU1fQ01BX0ZPUFMoa2lyaW5fZHJtX2ZvcHMpOwo+ID4gIAo+ID4gIHN0YXRp YyBpbnQga2lyaW5fZ2VtX2NtYV9kdW1iX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4g PiAgCQkJCSAgICAgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaW14L2lteC1kcm0tY29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgt ZHJtLWNvcmUuYwo+ID4gaW5kZXggNGI3YjkyYTdiY2Y3Li43MDczNjYxNTk4M2MgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC1kcm0tY29yZS5jCj4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaW14L2lteC1kcm0tY29yZS5jCj4gPiBAQCAtNTcsMTYgKzU3LDcgQEAgc3Rh dGljIHZvaWQgaW14X2RybV9kcml2ZXJfbGFzdGNsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0p Cj4gPiAgCWRybV9mYmRldl9jbWFfcmVzdG9yZV9tb2RlKGlteGRybS0+ZmJoZWxwZXIpOwo+ID4g IH0KPiA+ICAKPiA+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBpbXhfZHJt X2RyaXZlcl9mb3BzID0gewo+ID4gLQkub3duZXIgPSBUSElTX01PRFVMRSwKPiA+IC0JLm9wZW4g PSBkcm1fb3BlbiwKPiA+IC0JLnJlbGVhc2UgPSBkcm1fcmVsZWFzZSwKPiA+IC0JLnVubG9ja2Vk X2lvY3RsID0gZHJtX2lvY3RsLAo+ID4gLQkubW1hcCA9IGRybV9nZW1fY21hX21tYXAsCj4gPiAt CS5wb2xsID0gZHJtX3BvbGwsCj4gPiAtCS5yZWFkID0gZHJtX3JlYWQsCj4gPiAtCS5sbHNlZWsg PSBub29wX2xsc2VlaywKPiA+IC19Owo+ID4gK0RFRklORV9EUk1fR0VNX0NNQV9GT1BTKGlteF9k cm1fZHJpdmVyX2ZvcHMpOwo+ID4gIAo+ID4gIHZvaWQgaW14X2RybV9jb25uZWN0b3JfZGVzdHJv eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4gIHsKPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVz b24vbWVzb25fZHJ2LmMKPiA+IGluZGV4IDhkMTdkMGU1OWNiZS4uYmM1NjJhMDc4NDdiIDEwMDY0 NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX2Rydi5jCj4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMKPiA+IEBAIC05MSwxOSArOTEsNyBAQCBz dGF0aWMgaXJxcmV0dXJuX3QgbWVzb25faXJxKGludCBpcnEsIHZvaWQgKmFyZykKPiA+ICAJcmV0 dXJuIElSUV9IQU5ETEVEOwo+ID4gIH0KPiA+ICAKPiA+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGZp bGVfb3BlcmF0aW9ucyBmb3BzID0gewo+ID4gLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCj4gPiAt CS5vcGVuCQk9IGRybV9vcGVuLAo+ID4gLQkucmVsZWFzZQk9IGRybV9yZWxlYXNlLAo+ID4gLQku dW5sb2NrZWRfaW9jdGwJPSBkcm1faW9jdGwsCj4gPiAtI2lmZGVmIENPTkZJR19DT01QQVQKPiA+ IC0JLmNvbXBhdF9pb2N0bAk9IGRybV9jb21wYXRfaW9jdGwsCj4gPiAtI2VuZGlmCj4gPiAtCS5w b2xsCQk9IGRybV9wb2xsLAo+ID4gLQkucmVhZAkJPSBkcm1fcmVhZCwKPiA+IC0JLmxsc2VlawkJ PSBub19sbHNlZWssCj4gPiAtCS5tbWFwCQk9IGRybV9nZW1fY21hX21tYXAsCj4gPiAtfTsKPiA+ ICtERUZJTkVfRFJNX0dFTV9DTUFfRk9QUyhmb3BzKTsKPiA+ICAKPiA+ICBzdGF0aWMgc3RydWN0 IGRybV9kcml2ZXIgbWVzb25fZHJpdmVyID0gewo+ID4gIAkuZHJpdmVyX2ZlYXR1cmVzCT0gRFJJ VkVSX0hBVkVfSVJRIHwgRFJJVkVSX0dFTSB8Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL214c2ZiL214c2ZiX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL214c2ZiL214c2ZiX2Rydi5j Cj4gPiBpbmRleCBhNDYzM2FkYTg0MjkuLjVhYzcxMjMyNWM3NSAxMDA2NDQKPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L214c2ZiL214c2ZiX2Rydi5jCj4gPiBAQCAtMzE5LDE5ICszMTksNyBAQCBzdGF0aWMgaXJxcmV0 dXJuX3QgbXhzZmJfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqZGF0YSkKPiA+ICAJcmV0dXJu IElSUV9IQU5ETEVEOwo+ID4gIH0KPiA+ICAKPiA+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVf b3BlcmF0aW9ucyBmb3BzID0gewo+ID4gLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCj4gPiAtCS5v cGVuCQk9IGRybV9vcGVuLAo+ID4gLQkucmVsZWFzZQk9IGRybV9yZWxlYXNlLAo+ID4gLQkudW5s b2NrZWRfaW9jdGwJPSBkcm1faW9jdGwsCj4gPiAtI2lmZGVmIENPTkZJR19DT01QQVQKPiA+IC0J LmNvbXBhdF9pb2N0bAk9IGRybV9jb21wYXRfaW9jdGwsCj4gPiAtI2VuZGlmCj4gPiAtCS5wb2xs CQk9IGRybV9wb2xsLAo+ID4gLQkucmVhZAkJPSBkcm1fcmVhZCwKPiA+IC0JLmxsc2VlawkJPSBu b29wX2xsc2VlaywKPiA+IC0JLm1tYXAJCT0gZHJtX2dlbV9jbWFfbW1hcCwKPiA+IC19Owo+ID4g K0RFRklORV9EUk1fR0VNX0NNQV9GT1BTKGZvcHMpOwo+ID4gIAo+ID4gIHN0YXRpYyBzdHJ1Y3Qg ZHJtX2RyaXZlciBteHNmYl9kcml2ZXIgPSB7Cj4gPiAgCS5kcml2ZXJfZmVhdHVyZXMJPSBEUklW RVJfR0VNIHwgRFJJVkVSX01PREVTRVQgfAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9yY2FyLWR1L3JjYXJfZHVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1 X2Rydi5jCj4gPiBpbmRleCAxOTIzNDZkNGZiMzQuLjYyYTNiM2UzMjE1MyAxMDA2NDQKPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfZHJ2LmMKPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfZHJ2LmMKPiA+IEBAIC0yMjYsMTcgKzIyNiw3IEBA IHN0YXRpYyB2b2lkIHJjYXJfZHVfbGFzdGNsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4g PiAgCWRybV9mYmRldl9jbWFfcmVzdG9yZV9tb2RlKHJjZHUtPmZiZGV2KTsKPiA+ICB9Cj4gPiAg Cj4gPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgcmNhcl9kdV9mb3BzID0g ewo+ID4gLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCj4gPiAtCS5vcGVuCQk9IGRybV9vcGVuLAo+ ID4gLQkucmVsZWFzZQk9IGRybV9yZWxlYXNlLAo+ID4gLQkudW5sb2NrZWRfaW9jdGwJPSBkcm1f aW9jdGwsCj4gPiAtCS5jb21wYXRfaW9jdGwJPSBkcm1fY29tcGF0X2lvY3RsLAo+ID4gLQkucG9s bAkJPSBkcm1fcG9sbCwKPiA+IC0JLnJlYWQJCT0gZHJtX3JlYWQsCj4gPiAtCS5sbHNlZWsJCT0g bm9fbGxzZWVrLAo+ID4gLQkubW1hcAkJPSBkcm1fZ2VtX2NtYV9tbWFwLAo+ID4gLX07Cj4gPiAr REVGSU5FX0RSTV9HRU1fQ01BX0ZPUFMocmNhcl9kdV9mb3BzKTsKPiA+ICAKPiA+ICBzdGF0aWMg c3RydWN0IGRybV9kcml2ZXIgcmNhcl9kdV9kcml2ZXIgPSB7Cj4gPiAgCS5kcml2ZXJfZmVhdHVy ZXMJPSBEUklWRVJfR0VNIHwgRFJJVkVSX01PREVTRVQgfCBEUklWRVJfUFJJTUUKPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc2htb2JpbGUvc2htb2JfZHJtX2Rydi5jIGIvZHJpdmVy cy9ncHUvZHJtL3NobW9iaWxlL3NobW9iX2RybV9kcnYuYwo+ID4gaW5kZXggMzRmZWZhMGJhMGYw Li43NWYyZTVlNmQ3ZmIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc2htb2JpbGUv c2htb2JfZHJtX2Rydi5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc2htb2JpbGUvc2htb2Jf ZHJtX2Rydi5jCj4gPiBAQCAtMjIxLDE3ICsyMjEsNyBAQCBzdGF0aWMgaXJxcmV0dXJuX3Qgc2ht b2JfZHJtX2lycShpbnQgaXJxLCB2b2lkICphcmcpCj4gPiAgCXJldHVybiBJUlFfSEFORExFRDsK PiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgc2ht b2JfZHJtX2ZvcHMgPSB7Cj4gPiAtCS5vd25lcgkJPSBUSElTX01PRFVMRSwKPiA+IC0JLm9wZW4J CT0gZHJtX29wZW4sCj4gPiAtCS5yZWxlYXNlCT0gZHJtX3JlbGVhc2UsCj4gPiAtCS51bmxvY2tl ZF9pb2N0bAk9IGRybV9pb2N0bCwKPiA+IC0JLmNvbXBhdF9pb2N0bAk9IGRybV9jb21wYXRfaW9j dGwsCj4gPiAtCS5wb2xsCQk9IGRybV9wb2xsLAo+ID4gLQkucmVhZAkJPSBkcm1fcmVhZCwKPiA+ IC0JLmxsc2VlawkJPSBub19sbHNlZWssCj4gPiAtCS5tbWFwCQk9IGRybV9nZW1fY21hX21tYXAs Cj4gPiAtfTsKPiA+ICtERUZJTkVfRFJNX0dFTV9DTUFfRk9QUyhzaG1vYl9kcm1fZm9wcyk7Cj4g PiAgCj4gPiAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIHNobW9iX2RybV9kcml2ZXIgPSB7Cj4g PiAgCS5kcml2ZXJfZmVhdHVyZXMJPSBEUklWRVJfSEFWRV9JUlEgfCBEUklWRVJfR0VNIHwgRFJJ VkVSX01PREVTRVQKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kcnYu YyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2Rydi5jCj4gPiBpbmRleCAzYjE1YzJjYjIzMDYu LjIzZGE5YmM0NjY2YSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2Ry di5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kcnYuYwo+ID4gQEAgLTE2Nywx NiArMTY3LDcgQEAgc3RhdGljIHZvaWQgc3RpX21vZGVfY29uZmlnX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPiA+ICAJZGV2LT5tb2RlX2NvbmZpZy5mdW5jcyA9ICZzdGlfbW9kZV9jb25m aWdfZnVuY3M7Cj4gPiAgfQo+ID4gIAo+ID4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVy YXRpb25zIHN0aV9kcml2ZXJfZm9wcyA9IHsKPiA+IC0JLm93bmVyID0gVEhJU19NT0RVTEUsCj4g PiAtCS5vcGVuID0gZHJtX29wZW4sCj4gPiAtCS5tbWFwID0gZHJtX2dlbV9jbWFfbW1hcCwKPiA+ IC0JLnBvbGwgPSBkcm1fcG9sbCwKPiA+IC0JLnJlYWQgPSBkcm1fcmVhZCwKPiA+IC0JLnVubG9j a2VkX2lvY3RsID0gZHJtX2lvY3RsLAo+ID4gLQkuY29tcGF0X2lvY3RsID0gZHJtX2NvbXBhdF9p b2N0bCwKPiA+IC0JLnJlbGVhc2UgPSBkcm1fcmVsZWFzZSwKPiA+IC19Owo+ID4gK0RFRklORV9E Uk1fR0VNX0NNQV9GT1BTKHN0aV9kcml2ZXJfZm9wcyk7Cj4gPiAgCj4gPiAgc3RhdGljIHN0cnVj dCBkcm1fZHJpdmVyIHN0aV9kcml2ZXIgPSB7Cj4gPiAgCS5kcml2ZXJfZmVhdHVyZXMgPSBEUklW RVJfTU9ERVNFVCB8Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRp X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2Rydi5jCj4gPiBpbmRleCA5Y2Nm N2M0ZGViNmQuLjMyOWVhNTYxMDZhNSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9z dW40aS9zdW40aV9kcnYuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2Ry di5jCj4gPiBAQCAtMjUsMTcgKzI1LDcgQEAKPiA+ICAjaW5jbHVkZSAic3VuNGlfZnJhbWVidWZm ZXIuaCIKPiA+ICAjaW5jbHVkZSAic3VuNGlfbGF5ZXIuaCIKPiA+ICAKPiA+IC1zdGF0aWMgY29u c3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBzdW40aV9kcnZfZm9wcyA9IHsKPiA+IC0JLm93bmVy CQk9IFRISVNfTU9EVUxFLAo+ID4gLQkub3BlbgkJPSBkcm1fb3BlbiwKPiA+IC0JLnJlbGVhc2UJ PSBkcm1fcmVsZWFzZSwKPiA+IC0JLnVubG9ja2VkX2lvY3RsCT0gZHJtX2lvY3RsLAo+ID4gLQku Y29tcGF0X2lvY3RsCT0gZHJtX2NvbXBhdF9pb2N0bCwKPiA+IC0JLnBvbGwJCT0gZHJtX3BvbGws Cj4gPiAtCS5yZWFkCQk9IGRybV9yZWFkLAo+ID4gLQkubGxzZWVrCQk9IG5vX2xsc2VlaywKPiA+ IC0JLm1tYXAJCT0gZHJtX2dlbV9jbWFfbW1hcCwKPiA+IC19Owo+ID4gK0RFRklORV9EUk1fR0VN X0NNQV9GT1BTKHN1bjRpX2Rydl9mb3BzKTsKPiA+ICAKPiA+ICBzdGF0aWMgc3RydWN0IGRybV9k cml2ZXIgc3VuNGlfZHJ2X2RyaXZlciA9IHsKPiA+ICAJLmRyaXZlcl9mZWF0dXJlcwk9IERSSVZF Ul9HRU0gfCBEUklWRVJfTU9ERVNFVCB8IERSSVZFUl9QUklNRSB8IERSSVZFUl9BVE9NSUMsCj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfZHJ2LmMgYi9kcml2 ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY19kcnYuYwo+ID4gaW5kZXggODFkODBhMmZmZWIxLi40 ODA0MTFjMmU4MDIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNk Y19kcnYuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfZHJ2LmMKPiA+ IEBAIC01MzAsMTcgKzUzMCw3IEBAIHN0YXRpYyBpbnQgdGlsY2RjX2RlYnVnZnNfaW5pdChzdHJ1 Y3QgZHJtX21pbm9yICptaW5vcikKPiA+ICB9Cj4gPiAgI2VuZGlmCj4gPiAgCj4gPiAtc3RhdGlj IGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZm9wcyA9IHsKPiA+IC0JLm93bmVyICAgICAg ICAgICAgICA9IFRISVNfTU9EVUxFLAo+ID4gLQkub3BlbiAgICAgICAgICAgICAgID0gZHJtX29w ZW4sCj4gPiAtCS5yZWxlYXNlICAgICAgICAgICAgPSBkcm1fcmVsZWFzZSwKPiA+IC0JLnVubG9j a2VkX2lvY3RsICAgICA9IGRybV9pb2N0bCwKPiA+IC0JLmNvbXBhdF9pb2N0bCAgICAgICA9IGRy bV9jb21wYXRfaW9jdGwsCj4gPiAtCS5wb2xsICAgICAgICAgICAgICAgPSBkcm1fcG9sbCwKPiA+ IC0JLnJlYWQgICAgICAgICAgICAgICA9IGRybV9yZWFkLAo+ID4gLQkubGxzZWVrICAgICAgICAg ICAgID0gbm9fbGxzZWVrLAo+ID4gLQkubW1hcCAgICAgICAgICAgICAgID0gZHJtX2dlbV9jbWFf bW1hcCwKPiA+IC19Owo+ID4gK0RFRklORV9EUk1fR0VNX0NNQV9GT1BTKGZvcHMpOwo+ID4gIAo+ ID4gIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciB0aWxjZGNfZHJpdmVyID0gewo+ID4gIAkuZHJp dmVyX2ZlYXR1cmVzICAgID0gKERSSVZFUl9IQVZFX0lSUSB8IERSSVZFUl9HRU0gfCBEUklWRVJf TU9ERVNFVCB8Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9kcm1fZHJ2 LmMgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2RybV9kcnYuYwo+ID4gaW5kZXggYjI0YTcwYmE0 YjgzLi42MTRlODU0ZjZiZTUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4 X2RybV9kcnYuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9kcm1fZHJ2LmMKPiA+ IEBAIC01MywxOSArNTMsNyBAQCBzdGF0aWMgdm9pZCB6eF9kcm1fbGFzdGNsb3NlKHN0cnVjdCBk cm1fZGV2aWNlICpkcm0pCj4gPiAgCWRybV9mYmRldl9jbWFfcmVzdG9yZV9tb2RlKHByaXYtPmZi ZGV2KTsKPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlv bnMgenhfZHJtX2ZvcHMgPSB7Cj4gPiAtCS5vd25lciA9IFRISVNfTU9EVUxFLAo+ID4gLQkub3Bl biA9IGRybV9vcGVuLAo+ID4gLQkucmVsZWFzZSA9IGRybV9yZWxlYXNlLAo+ID4gLQkudW5sb2Nr ZWRfaW9jdGwgPSBkcm1faW9jdGwsCj4gPiAtI2lmZGVmIENPTkZJR19DT01QQVQKPiA+IC0JLmNv bXBhdF9pb2N0bCA9IGRybV9jb21wYXRfaW9jdGwsCj4gPiAtI2VuZGlmCj4gPiAtCS5wb2xsID0g ZHJtX3BvbGwsCj4gPiAtCS5yZWFkID0gZHJtX3JlYWQsCj4gPiAtCS5sbHNlZWsgPSBub29wX2xs c2VlaywKPiA+IC0JLm1tYXAgPSBkcm1fZ2VtX2NtYV9tbWFwLAo+ID4gLX07Cj4gPiArREVGSU5F X0RSTV9HRU1fQ01BX0ZPUFMoenhfZHJtX2ZvcHMpOwo+ID4gIAo+ID4gIHN0YXRpYyBzdHJ1Y3Qg ZHJtX2RyaXZlciB6eF9kcm1fZHJpdmVyID0gewo+ID4gIAkuZHJpdmVyX2ZlYXR1cmVzID0gRFJJ VkVSX0dFTSB8IERSSVZFUl9NT0RFU0VUIHwgRFJJVkVSX1BSSU1FIHwKPiA+IGRpZmYgLS1naXQg YS9pbmNsdWRlL2RybS9kcm1fZ2VtX2NtYV9oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9nZW1f Y21hX2hlbHBlci5oCj4gPiBpbmRleCAyYWJjZDUxOTBjYzEuLmY5NjJkMzM2NjdjZiAxMDA2NDQK PiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9nZW1fY21hX2hlbHBlci5oCj4gPiArKysgYi9pbmNs dWRlL2RybS9kcm1fZ2VtX2NtYV9oZWxwZXIuaAo+ID4gQEAgLTI2LDYgKzI2LDMyIEBAIHRvX2Ry bV9nZW1fY21hX29iaihzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbV9vYmopCj4gPiAgCXJldHVy biBjb250YWluZXJfb2YoZ2VtX29iaiwgc3RydWN0IGRybV9nZW1fY21hX29iamVjdCwgYmFzZSk7 Cj4gPiAgfQo+ID4gIAo+ID4gKy8qKgo+ID4gKyAqIERFRklORV9EUk1fR0VNX0NNQV9GT1BTKCkg LSBtYWNybyB0byBnZW5lcmF0ZSBmaWxlIG9wZXJhdGlvbnMgZm9yIENNQSBkcml2ZXJzCj4gPiAr ICogQG5hbWU6IG5hbWUgZm9yIHRoZSBnZW5lcmF0ZWQgc3RydWN0dXJlCj4gPiArICoKPiA+ICsg KiBUaGlzIG1hY3JvIGF1dG9nZW5lcmF0ZXMgYSBzdWl0YWJsZSAmc3RydWN0IGZpbGVfb3BlcmF0 aW9ucyBmb3IgQ01BIGJhc2VkCj4gPiArICogZHJpdmVycywgd2hpY2ggY2FuIGJlIGFzc2lnbmVk IHRvICZkcm1fZHJpdmVyLmZvcHMuIE5vdGUgdGhhdCB0aGlzIHN0cnVjdHVyZQo+ID4gKyAqIGNh bm5vdCBiZSBzaGFyZWQgYmV0d2VlbiBkcml2ZXJzLCBiZWNhdXNlIGl0IGNvbnRhaW5zIGEgcmVm ZXJlbmNlIHRvIHRoZQo+ID4gKyAqIGN1cnJlbnQgbW9kdWxlIHVzaW5nIFRISVNfTU9EVUxFLgo+ ID4gKyAqCj4gPiArICogTm90ZSB0aGF0IHRoZSBkZWNsYXJhdGlvbiBpcyBhbHJlYWR5IG1hcmtl ZCBhcyBzdGF0aWMgLSBpZiB5b3UgbmVlZCBhCj4gPiArICogbm9uLXN0YXRpYyB2ZXJzaW9uIG9m IHRoaXMgeW91J3JlIHByb2JhYmx5IGRvaW5nIGl0IHdyb25nIGFuZCB3aWxsIGJyZWFrIHRoZQo+ ID4gKyAqIFRISVNfTU9EVUxFIHJlZmVyZW5jZSBieSBhY2NpZGVudC4KPiA+ICsgKi8KPiA+ICsj ZGVmaW5lIERFRklORV9EUk1fR0VNX0NNQV9GT1BTKG5hbWUpIFwKPiA+ICsJc3RhdGljIGNvbnN0 IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgbmFtZSA9IHtcCj4gPiArCQkub3duZXIJCT0gVEhJU19N T0RVTEUsXAo+ID4gKwkJLm9wZW4JCT0gZHJtX29wZW4sXAo+ID4gKwkJLnJlbGVhc2UJPSBkcm1f cmVsZWFzZSxcCj4gPiArCQkudW5sb2NrZWRfaW9jdGwJPSBkcm1faW9jdGwsXAo+ID4gKwkJLmNv bXBhdF9pb2N0bAk9IGRybV9jb21wYXRfaW9jdGwsXAo+ID4gKwkJLnBvbGwJCT0gZHJtX3BvbGws XAo+ID4gKwkJLnJlYWQJCT0gZHJtX3JlYWQsXAo+ID4gKwkJLmxsc2VlawkJPSBub29wX2xsc2Vl ayxcCj4gPiArCQkubW1hcAkJPSBkcm1fZ2VtX2NtYV9tbWFwLFwKPiA+ICsJfQo+ID4gKwo+ID4g IC8qIGZyZWUgR0VNIG9iamVjdCAqLwo+ID4gIHZvaWQgZHJtX2dlbV9jbWFfZnJlZV9vYmplY3Qo c3RydWN0IGRybV9nZW1fb2JqZWN0ICpnZW1fb2JqKTsKPiA+ICAKPiA+IC0tIAo+ID4gMi4xMS4w Cj4gPiAKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK