From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 3/9] drm: Make ioctls available for in-kernel clients Date: Thu, 24 May 2018 10:22:52 +0200 Message-ID: <20180524082252.GE3438@phenom.ffwll.local> References: <20180523143411.64070-1-noralf@tronnes.org> <20180523143411.64070-4-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180523143411.64070-4-noralf@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Noralf =?iso-8859-1?Q?Tr=F8nnes?= Cc: intel-gfx@lists.freedesktop.org, laurent.pinchart@ideasonboard.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBNYXkgMjMsIDIwMTggYXQgMDQ6MzQ6MDVQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVz IHdyb3RlOgo+IE1ha2UgaW9jdGwgd3JhcHBlcnMgZm9yIGZ1bmN0aW9ucyB0aGF0IHdpbGwgYmUg dXNlZCBieSB0aGUgaW4ta2VybmVsIEFQSS4KPiBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhcmUg dG91Y2hlZDoKPiAtIGRybV9tb2RlX2NyZWF0ZV9kdW1iX2lvY3RsKCkKPiAtIGRybV9tb2RlX2Rl c3Ryb3lfZHVtYl9pb2N0bCgpCj4gLSBkcm1fbW9kZV9hZGRmYigpCj4gLSBkcm1fbW9kZV9ybWZi KCkKPiAKPiBTaWduZWQtb2ZmLWJ5OiBOb3JhbGYgVHLDuG5uZXMgPG5vcmFsZkB0cm9ubmVzLm9y Zz4KClJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgoK PiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmggfCAxOSArKysrKysr KysrKysrLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2R1bWJfYnVmZmVycy5jICB8IDMzICsr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVi dWZmZXIuYyAgIHwgNDIgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMgICAgICAgICB8ICA0ICsrLS0KPiAgNCBmaWxlcyBj aGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmggYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2NydGNfaW50ZXJuYWwuaAo+IGluZGV4IDVkMzA3YjIzYTRlNi4uYzc2MjYxNGFmNDUzIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRlcm5hbC5oCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmgKPiBAQCAtNjIsNiArNjIsMTIgQEAg aW50IGRybV9tb2RlX2dldHJlc291cmNlcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAKPiAg Cj4gIC8qIGRybV9kdW1iX2J1ZmZlcnMuYyAqLwo+ICtpbnQgZHJtX21vZGVfY3JlYXRlX2R1bWIo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArCQkJIHN0cnVjdCBkcm1fbW9kZV9jcmVhdGVfZHVt YiAqYXJncywKPiArCQkJIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKPiAraW50IGRybV9t b2RlX2Rlc3Ryb3lfZHVtYihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgaGFuZGxlLAo+ICsJ CQkgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKPiArCj4gIC8qIElPQ1RMcyAqLwo+ICBp bnQgZHJtX21vZGVfY3JlYXRlX2R1bWJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAg CQkJICAgICAgIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKPiBAQCAt MTYzLDE0ICsxNjksMTkgQEAgaW50IGRybV9mcmFtZWJ1ZmZlcl9jaGVja19zcmNfY29vcmRzKHVp bnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNfeSwKPiAgCQkJCSAgICAgY29uc3Qgc3RydWN0IGRy bV9mcmFtZWJ1ZmZlciAqZmIpOwo+ICB2b2lkIGRybV9mYl9yZWxlYXNlKHN0cnVjdCBkcm1fZmls ZSAqZmlsZV9wcml2KTsKPiAgCj4gK2ludCBkcm1fbW9kZV9hZGRmYihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kICpvciwKPiArCQkgICBzdHJ1Y3QgZHJtX2Zp bGUgKmZpbGVfcHJpdik7Cj4gK2ludCBkcm1fbW9kZV9ybWZiKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHUzMiBmYl9pZCwKPiArCQkgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKPiArCj4g IAo+ICAvKiBJT0NUTCAqLwo+IC1pbnQgZHJtX21vZGVfYWRkZmIoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPiAtCQkgICB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7Cj4g K2ludCBkcm1fbW9kZV9hZGRmYl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsJCQkg dm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwo+ICBpbnQgZHJtX21vZGVf YWRkZmIyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJICAgIHZvaWQgKmRhdGEsIHN0cnVj dCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKPiAtaW50IGRybV9tb2RlX3JtZmIoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiAtCQkgIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2 KTsKPiAraW50IGRybV9tb2RlX3JtZmJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAr CQkJdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwo+ICBpbnQgZHJtX21v ZGVfZ2V0ZmIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkgICB2b2lkICpkYXRhLCBzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7Cj4gIGludCBkcm1fbW9kZV9kaXJ0eWZiX2lvY3RsKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZHVtYl9idWZmZXJzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2R1bWJfYnVmZmVycy5jCj4gaW5k ZXggMzlhYzE1Y2U0NzAyLi5lZWQ5Njg3Yjg2OTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9kdW1iX2J1ZmZlcnMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHVtYl9i dWZmZXJzLmMKPiBAQCAtNTMsMTAgKzUzLDEwIEBACj4gICAqIGEgaGFyZHdhcmUtc3BlY2lmaWMg aW9jdGwgdG8gYWxsb2NhdGUgc3VpdGFibGUgYnVmZmVyIG9iamVjdHMuCj4gICAqLwo+ICAKPiAt aW50IGRybV9tb2RlX2NyZWF0ZV9kdW1iX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4g LQkJCSAgICAgICB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKPiAraW50 IGRybV9tb2RlX2NyZWF0ZV9kdW1iKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gKwkJCSBzdHJ1 Y3QgZHJtX21vZGVfY3JlYXRlX2R1bWIgKmFyZ3MsCj4gKwkJCSBzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGVfcHJpdikKPiAgewo+IC0Jc3RydWN0IGRybV9tb2RlX2NyZWF0ZV9kdW1iICphcmdzID0gZGF0 YTsKPiAgCXUzMiBjcHAsIHN0cmlkZSwgc2l6ZTsKPiAgCj4gIAlpZiAoIWRldi0+ZHJpdmVyLT5k dW1iX2NyZWF0ZSkKPiBAQCAtOTEsNiArOTEsMTIgQEAgaW50IGRybV9tb2RlX2NyZWF0ZV9kdW1i X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAlyZXR1cm4gZGV2LT5kcml2ZXItPmR1 bWJfY3JlYXRlKGZpbGVfcHJpdiwgZGV2LCBhcmdzKTsKPiAgfQo+ICAKPiAraW50IGRybV9tb2Rl X2NyZWF0ZV9kdW1iX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gKwkJCSAgICAgICB2 b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKPiArewo+ICsJcmV0dXJuIGRy bV9tb2RlX2NyZWF0ZV9kdW1iKGRldiwgZGF0YSwgZmlsZV9wcml2KTsKPiArfQo+ICsKPiAgLyoq Cj4gICAqIGRybV9tb2RlX21tYXBfZHVtYl9pb2N0bCAtIGNyZWF0ZSBhbiBtbWFwIG9mZnNldCBm b3IgYSBkdW1iIGJhY2tpbmcgc3RvcmFnZSBidWZmZXIKPiAgICogQGRldjogRFJNIGRldmljZQo+ IEBAIC0xMjIsMTcgKzEyOCwyMiBAQCBpbnQgZHJtX21vZGVfbW1hcF9kdW1iX2lvY3RsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCQkJICAgICAgICZhcmdzLT5vZmZzZXQpOwo+ICB9Cj4g IAo+ICtpbnQgZHJtX21vZGVfZGVzdHJveV9kdW1iKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUz MiBoYW5kbGUsCj4gKwkJCSAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCj4gK3sKPiArCWlm ICghZGV2LT5kcml2ZXItPmR1bWJfY3JlYXRlKQo+ICsJCXJldHVybiAtRU5PU1lTOwo+ICsKPiAr CWlmIChkZXYtPmRyaXZlci0+ZHVtYl9kZXN0cm95KQo+ICsJCXJldHVybiBkZXYtPmRyaXZlci0+ ZHVtYl9kZXN0cm95KGZpbGVfcHJpdiwgZGV2LCBoYW5kbGUpOwo+ICsJZWxzZQo+ICsJCXJldHVy biBkcm1fZ2VtX2R1bWJfZGVzdHJveShmaWxlX3ByaXYsIGRldiwgaGFuZGxlKTsKPiArfQo+ICsK PiAgaW50IGRybV9tb2RlX2Rlc3Ryb3lfZHVtYl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+ICAJCQkJdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCj4gIHsKPiAg CXN0cnVjdCBkcm1fbW9kZV9kZXN0cm95X2R1bWIgKmFyZ3MgPSBkYXRhOwo+ICAKPiAtCWlmICgh ZGV2LT5kcml2ZXItPmR1bWJfY3JlYXRlKQo+IC0JCXJldHVybiAtRU5PU1lTOwo+IC0KPiAtCWlm IChkZXYtPmRyaXZlci0+ZHVtYl9kZXN0cm95KQo+IC0JCXJldHVybiBkZXYtPmRyaXZlci0+ZHVt Yl9kZXN0cm95KGZpbGVfcHJpdiwgZGV2LCBhcmdzLT5oYW5kbGUpOwo+IC0JZWxzZQo+IC0JCXJl dHVybiBkcm1fZ2VtX2R1bWJfZGVzdHJveShmaWxlX3ByaXYsIGRldiwgYXJncy0+aGFuZGxlKTsK PiArCXJldHVybiBkcm1fbW9kZV9kZXN0cm95X2R1bWIoZGV2LCBhcmdzLT5oYW5kbGUsIGZpbGVf cHJpdik7Cj4gIH0KPiAtCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVi dWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVidWZmZXIuYwo+IGluZGV4IGJmZWRj ZWZmODdiYi4uNDQ3NTlhZWVkMWU3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZnJhbWVidWZmZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVidWZmZXIuYwo+ IEBAIC05NSwyMSArOTUsMjAgQEAgaW50IGRybV9mcmFtZWJ1ZmZlcl9jaGVja19zcmNfY29vcmRz KHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNfeSwKPiAgLyoqCj4gICAqIGRybV9tb2RlX2Fk ZGZiIC0gYWRkIGFuIEZCIHRvIHRoZSBncmFwaGljcyBjb25maWd1cmF0aW9uCj4gICAqIEBkZXY6 IGRybSBkZXZpY2UgZm9yIHRoZSBpb2N0bAo+IC0gKiBAZGF0YTogZGF0YSBwb2ludGVyIGZvciB0 aGUgaW9jdGwKPiAtICogQGZpbGVfcHJpdjogZHJtIGZpbGUgZm9yIHRoZSBpb2N0bCBjYWxsCj4g KyAqIEBvcjogcG9pbnRlciB0byByZXF1ZXN0IHN0cnVjdHVyZQo+ICsgKiBAZmlsZV9wcml2OiBk cm0gZmlsZQo+ICAgKgo+ICAgKiBBZGQgYSBuZXcgRkIgdG8gdGhlIHNwZWNpZmllZCBDUlRDLCBn aXZlbiBhIHVzZXIgcmVxdWVzdC4gVGhpcyBpcyB0aGUKPiAgICogb3JpZ2luYWwgYWRkZmIgaW9j dGwgd2hpY2ggb25seSBzdXBwb3J0ZWQgUkdCIGZvcm1hdHMuCj4gICAqCj4gLSAqIENhbGxlZCBi eSB0aGUgdXNlciB2aWEgaW9jdGwuCj4gKyAqIENhbGxlZCBieSB0aGUgdXNlciB2aWEgaW9jdGws IG9yIGJ5IGFuIGluLWtlcm5lbCBjbGllbnQuCj4gICAqCj4gICAqIFJldHVybnM6Cj4gICAqIFpl cm8gb24gc3VjY2VzcywgbmVnYXRpdmUgZXJybm8gb24gZmFpbHVyZS4KPiAgICovCj4gLWludCBk cm1fbW9kZV9hZGRmYihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IC0JCSAgIHZvaWQgKmRhdGEs IHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQo+ICtpbnQgZHJtX21vZGVfYWRkZmIoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9tb2RlX2ZiX2NtZCAqb3IsCj4gKwkJICAgc3Ry dWN0IGRybV9maWxlICpmaWxlX3ByaXYpCj4gIHsKPiAtCXN0cnVjdCBkcm1fbW9kZV9mYl9jbWQg Km9yID0gZGF0YTsKPiAgCXN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyIHIgPSB7fTsKPiAgCWludCBy ZXQ7Cj4gIAo+IEBAIC0xMzQsNiArMTMzLDEyIEBAIGludCBkcm1fbW9kZV9hZGRmYihzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gK2ludCBkcm1fbW9kZV9h ZGRmYl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsJCQkgdm9pZCAqZGF0YSwgc3Ry dWN0IGRybV9maWxlICpmaWxlX3ByaXYpCj4gK3sKPiArCXJldHVybiBkcm1fbW9kZV9hZGRmYihk ZXYsIGRhdGEsIGZpbGVfcHJpdik7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQgZmJfcGxhbmVfd2lk dGgoaW50IHdpZHRoLAo+ICAJCQkgIGNvbnN0IHN0cnVjdCBkcm1fZm9ybWF0X2luZm8gKmZvcm1h dCwgaW50IHBsYW5lKQo+ICB7Cj4gQEAgLTM2NywyOSArMzcyLDI4IEBAIHN0YXRpYyB2b2lkIGRy bV9tb2RlX3JtZmJfd29ya19mbihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKncpCj4gIAo+ICAvKioKPiAg ICogZHJtX21vZGVfcm1mYiAtIHJlbW92ZSBhbiBGQiBmcm9tIHRoZSBjb25maWd1cmF0aW9uCj4g LSAqIEBkZXY6IGRybSBkZXZpY2UgZm9yIHRoZSBpb2N0bAo+IC0gKiBAZGF0YTogZGF0YSBwb2lu dGVyIGZvciB0aGUgaW9jdGwKPiAtICogQGZpbGVfcHJpdjogZHJtIGZpbGUgZm9yIHRoZSBpb2N0 bCBjYWxsCj4gKyAqIEBkZXY6IGRybSBkZXZpY2UKPiArICogQGZiX2lkOiBpZCBvZiBmcmFtZWJ1 ZmZlciB0byByZW1vdmUKPiArICogQGZpbGVfcHJpdjogZHJtIGZpbGUKPiAgICoKPiAtICogUmVt b3ZlIHRoZSBGQiBzcGVjaWZpZWQgYnkgdGhlIHVzZXIuCj4gKyAqIFJlbW92ZSB0aGUgc3BlY2lm aWVkIEZCLgo+ICAgKgo+IC0gKiBDYWxsZWQgYnkgdGhlIHVzZXIgdmlhIGlvY3RsLgo+ICsgKiBD YWxsZWQgYnkgdGhlIHVzZXIgdmlhIGlvY3RsLCBvciBieSBhbiBpbi1rZXJuZWwgY2xpZW50Lgo+ ICAgKgo+ICAgKiBSZXR1cm5zOgo+ICAgKiBaZXJvIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm5v IG9uIGZhaWx1cmUuCj4gICAqLwo+IC1pbnQgZHJtX21vZGVfcm1mYihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+IC0JCSAgIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQo+ ICtpbnQgZHJtX21vZGVfcm1mYihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgZmJfaWQsCj4g KwkJICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKPiAgewo+ICAJc3RydWN0IGRybV9mcmFt ZWJ1ZmZlciAqZmIgPSBOVUxMOwo+ICAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmJsID0gTlVM TDsKPiAtCXVpbnQzMl90ICppZCA9IGRhdGE7Cj4gIAlpbnQgZm91bmQgPSAwOwo+ICAKPiAgCWlm ICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiAgCQlyZXR1 cm4gLUVJTlZBTDsKPiAgCj4gLQlmYiA9IGRybV9mcmFtZWJ1ZmZlcl9sb29rdXAoZGV2LCBmaWxl X3ByaXYsICppZCk7Cj4gKwlmYiA9IGRybV9mcmFtZWJ1ZmZlcl9sb29rdXAoZGV2LCBmaWxlX3By aXYsIGZiX2lkKTsKPiAgCWlmICghZmIpCj4gIAkJcmV0dXJuIC1FTk9FTlQ7Cj4gIAo+IEBAIC00 MzUsNiArNDM5LDE0IEBAIGludCBkcm1fbW9kZV9ybWZiKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs Cj4gIAlyZXR1cm4gLUVOT0VOVDsKPiAgfQo+ICAKPiAraW50IGRybV9tb2RlX3JtZmJfaW9jdGwo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArCQkJdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxl ICpmaWxlX3ByaXYpCj4gK3sKPiArCXVpbnQzMl90ICpmYl9pZCA9IGRhdGE7Cj4gKwo+ICsJcmV0 dXJuIGRybV9tb2RlX3JtZmIoZGV2LCAqZmJfaWQsIGZpbGVfcHJpdik7Cj4gK30KPiArCj4gIC8q Kgo+ICAgKiBkcm1fbW9kZV9nZXRmYiAtIGdldCBGQiBpbmZvCj4gICAqIEBkZXY6IGRybSBkZXZp Y2UgZm9yIHRoZSBpb2N0bAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3Rs LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKPiBpbmRleCAwZDRjZmIyMzI1NzYuLjlm NjU5ZTFhMTljNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKPiBAQCAtNjM3LDkgKzYzNyw5IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2lvY3RsX2Rlc2MgZHJtX2lvY3Rsc1tdID0gewo+ICAJRFJN X0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9TRVRQUk9QRVJUWSwgZHJtX21vZGVfY29ubmVjdG9y X3Byb3BlcnR5X3NldF9pb2N0bCwgRFJNX01BU1RFUnxEUk1fVU5MT0NLRUQpLAo+ICAJRFJNX0lP Q1RMX0RFRihEUk1fSU9DVExfTU9ERV9HRVRQUk9QQkxPQiwgZHJtX21vZGVfZ2V0YmxvYl9pb2N0 bCwgRFJNX1VOTE9DS0VEKSwKPiAgCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfR0VURkIs IGRybV9tb2RlX2dldGZiLCBEUk1fVU5MT0NLRUQpLAo+IC0JRFJNX0lPQ1RMX0RFRihEUk1fSU9D VExfTU9ERV9BRERGQiwgZHJtX21vZGVfYWRkZmIsIERSTV9VTkxPQ0tFRCksCj4gKwlEUk1fSU9D VExfREVGKERSTV9JT0NUTF9NT0RFX0FEREZCLCBkcm1fbW9kZV9hZGRmYl9pb2N0bCwgRFJNX1VO TE9DS0VEKSwKPiAgCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfQURERkIyLCBkcm1fbW9k ZV9hZGRmYjIsIERSTV9VTkxPQ0tFRCksCj4gLQlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RF X1JNRkIsIGRybV9tb2RlX3JtZmIsIERSTV9VTkxPQ0tFRCksCj4gKwlEUk1fSU9DVExfREVGKERS TV9JT0NUTF9NT0RFX1JNRkIsIGRybV9tb2RlX3JtZmJfaW9jdGwsIERSTV9VTkxPQ0tFRCksCj4g IAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX1BBR0VfRkxJUCwgZHJtX21vZGVfcGFnZV9m bGlwX2lvY3RsLCBEUk1fTUFTVEVSfERSTV9VTkxPQ0tFRCksCj4gIAlEUk1fSU9DVExfREVGKERS TV9JT0NUTF9NT0RFX0RJUlRZRkIsIGRybV9tb2RlX2RpcnR5ZmJfaW9jdGwsIERSTV9NQVNURVJ8 RFJNX1VOTE9DS0VEKSwKPiAgCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfQ1JFQVRFX0RV TUIsIGRybV9tb2RlX2NyZWF0ZV9kdW1iX2lvY3RsLCBEUk1fVU5MT0NLRUQpLAo+IC0tIAo+IDIu MTUuMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0 aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=