From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 29/37] drm/i915: Introduce DRM_I915_GEM_MMAP_OFFSET Date: Tue, 30 Jul 2019 11:49:01 +0200 Message-ID: <20190730094901.GQ15868@phenom.ffwll.local> References: <20190627205633.1143-1-matthew.auld@intel.com> <20190627205633.1143-30-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x541.google.com (mail-ed1-x541.google.com [IPv6:2a00:1450:4864:20::541]) by gabe.freedesktop.org (Postfix) with ESMTPS id E699C6E47E for ; Tue, 30 Jul 2019 09:49:05 +0000 (UTC) Received: by mail-ed1-x541.google.com with SMTP id r12so27190267edo.5 for ; Tue, 30 Jul 2019 02:49:05 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20190627205633.1143-30-matthew.auld@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matthew Auld Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdW4gMjcsIDIwMTkgYXQgMDk6NTY6MjVQTSArMDEwMCwgTWF0dGhldyBBdWxkIHdy b3RlOgo+IEZyb206IEFiZGllbCBKYW51bGd1ZSA8YWJkaWVsLmphbnVsZ3VlQGxpbnV4LmludGVs LmNvbT4KPiAKPiBBZGQgYSBuZXcgQ1BVIG1tYXAgaW1wbGVtZW50YXRpb24gdGhhdCBhbGxvd3Mg bXVsdGlwbGUgZmF1bHQgaGFuZGxlcnMKPiB0aGF0IGRlcGVuZHMgb24gdGhlIG9iamVjdCdzIGJh Y2tpbmcgcGFnZXMuCj4gCj4gTm90ZSB0aGF0IHdlIG11bHRpcGxleCBtbWFwX2d0dCBhbmQgbW1h cF9vZmZzZXQgdGhyb3VnaCB0aGUgc2FtZSBpb2N0bCwKPiBhbmQgdXNlIHRoZSB6ZXJvIGV4dGVu ZGluZyBiZWhhdmlvdXIgb2YgZHJtIHRvIGRpZmZlcmVudGlhdGUgYmV0d2Vlbgo+IHRoZW0sIHdo ZW4gd2UgaW5zcGVjdCB0aGUgZmxhZ3MuCj4gCj4gU2lnbmVkLW9mZi1ieTogQWJkaWVsIEphbnVs Z3VlIDxhYmRpZWwuamFudWxndWVAbGludXguaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IE1h dHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVsLmNvbT4KPiBDYzogSm9vbmFzIExhaHRpbmVu IDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgoKU28gSSB0aG91Z2h0IHRoYXQgdGhl IHBsYW4gaXMgdG8gcmVqZWN0IGludmFsaWQgbW1hcHMsIGkuZS4gbW1hcCBtb2Rlcwp3aGljaCBh cmUgbm90IGNvbXBhdGliYWxlIHdpdGggYWxsIHBsYWNlbWVudCBvcHRpb25zLiBHaXZlbiB0aGF0 LCB3aHkgZG8Kd2UgbmVlZCB0aGlzPwoKLSBjcHUgbW1hcCB3aXRoIGFsbCB0aGUgZmxhZ3Mgc3Rp bGwga2VlcCB3b3JraW5nLCBhcyBsb25nIGFzIHRoZSBvbmx5CiAgcGxhY2VtZW50IHlvdSBzZWxl Y3QgaXMgc21lbS4KCi0gZm9yIGxtZW0vc3RvbGVuIHRoZSBvbmx5IG9wdGlvbiB3ZSBoYXZlIGlz IGEgd2MgbWFwcGluZywgZWl0aGVyIHRocm91Z2gKICB0aGUgcGNpIGJhciBvciB0aHJvdWdoIHRo ZSBndHQuIFNvIGZvciBvYmplY3RzIG9ubHkgc2l0dGluZyBpbiB0aGVyZQogIGFsc28gbm8gcHJv YmxlbSwgd2UgY2FuIGp1c3Qga2VlcCB1c2luZyB0aGUgY3VycmVudCBndHQgbW1hcCBzdHVmZiAo YnV0CiAgcmVkaXJlY3QgaXQgaW50ZXJuYWxseSkuCgotIHRoYXQgbGVhdmVzIHVzIHdpdGggb2Jq ZWN0cyB3aGljaCBjYW4gbW92ZSBhcm91bmQuIE9ubHkgb3B0aW9uIGFsbG93cyBpcwogIFdDLCBh bmQgdGhlIGd0dCBtbWFwIGlvY3RsIGRvZXMgdGhhdCBhbHJlYWR5LiBXaGVuIHRoZSBvYmplY3Qg aXMgaW4gc21lbQogIHdlJ2xsIG5lZWQgdG8gcmVkaXJlY3QgaXQgdG8gYSBjcHUgd2MgbW1hcCwg YnV0IEkgdGhpbmsgd2UgbmVlZCB0byBkbwogIHRoYXQgYW55d2F5LgoKU28gbm90IHJlYWxseSBz ZWVpbmcgd2hhdCB0aGUgdWFwaSBwcm9ibGVtIGlzIHlvdSdyZSB0cnlpbmcgdG8gc29sdmUgaGVy ZT8KCkNhbiB5b3UgcGxzIGV4cGxhaW4gd2h5IHdlIG5lZWQgdGhpcz8KClRoYW5rcywgRGFuaWVs Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1faW9jdGxzLmggICAg fCAgMiArKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbW1hbi5jICAgICAg fCAzMCArKysrKysrKysrKysrKysrKysKPiAgLi4uL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f b2JqZWN0X3R5cGVzLmggIHwgIDMgKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YyAgICAgICAgICAgICAgIHwgIDMgKy0KPiAgaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oICAg ICAgICAgICAgICAgICAgIHwgMzEgKysrKysrKysrKysrKysrKysrKwo+ICA1IGZpbGVzIGNoYW5n ZWQsIDY4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2lvY3Rscy5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL2k5MTVfZ2VtX2lvY3Rscy5oCj4gaW5kZXggZGRjN2YyYTUyYjNlLi41YWJkNWIy MTcyZjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2lv Y3Rscy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2lvY3Rscy5o Cj4gQEAgLTMwLDYgKzMwLDggQEAgaW50IGk5MTVfZ2VtX21tYXBfaW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgCQkJc3RydWN0IGRybV9maWxlICpmaWxlKTsKPiAg aW50IGk5MTVfZ2VtX21tYXBfZ3R0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCj4gIAkJCSAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpOwo+ICtpbnQgaTkxNV9nZW1f bW1hcF9vZmZzZXRfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAr CQkJICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKPiAgaW50IGk5MTVfZ2VtX3By ZWFkX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAkJCSBzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGUpOwo+ICBpbnQgaTkxNV9nZW1fcHdyaXRlX2lvY3RsKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2dlbS9pOTE1X2dlbV9tbWFuLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fbW1hbi5jCj4gaW5kZXggN2I0NmY0NGQ5YzIwLi5jYmY4OWU4MGE5N2IgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX21tYW4uYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9tbWFuLmMKPiBAQCAtNTM2LDEyICs1MzYs NDIgQEAgaTkxNV9nZW1fbW1hcF9ndHRfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9p ZCAqZGF0YSwKPiAgCQkJc3RydWN0IGRybV9maWxlICpmaWxlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJt X2k5MTVfZ2VtX21tYXBfb2Zmc2V0ICphcmdzID0gZGF0YTsKPiArCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1ID0gdG9faTkxNShkZXYpOwo+ICsKPiArCWlmIChhcmdzLT5mbGFncyAmIEk5 MTVfTU1BUF9PRkZTRVRfRkxBR1MpCj4gKwkJcmV0dXJuIGk5MTVfZ2VtX21tYXBfb2Zmc2V0X2lv Y3RsKGRldiwgZGF0YSwgZmlsZSk7Cj4gKwo+ICsJaWYgKCFIQVNfTUFQUEFCTEVfQVBFUlRVUkUo aTkxNSkpIHsKPiArCQlEUk1fRVJST1IoIk5vIGFwZXJ0dXJlLCBjYW5ub3QgbW1hcCB2aWEgbGVn YWN5IEdUVFxuIik7Cj4gKwkJcmV0dXJuIC1FTk9ERVY7Cj4gKwl9Cj4gIAo+ICAJcmV0dXJuIF9f YXNzaWduX2dlbV9vYmplY3RfbW1hcF9kYXRhKGZpbGUsIGFyZ3MtPmhhbmRsZSwKPiAgCQkJCQkg ICAgIEk5MTVfTU1BUF9UWVBFX0dUVCwKPiAgCQkJCQkgICAgICZhcmdzLT5vZmZzZXQpOwo+ICB9 Cj4gIAo+ICtpbnQgaTkxNV9nZW1fbW1hcF9vZmZzZXRfaW9jdGwoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdm9pZCAqZGF0YSwKPiArCQkJICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKPiAr ewo+ICsJc3RydWN0IGRybV9pOTE1X2dlbV9tbWFwX29mZnNldCAqYXJncyA9IGRhdGE7Cj4gKwll bnVtIGk5MTVfbW1hcF90eXBlIHR5cGU7Cj4gKwo+ICsJaWYgKChhcmdzLT5mbGFncyAmIChJOTE1 X01NQVBfT0ZGU0VUX1dDIHwgSTkxNV9NTUFQX09GRlNFVF9XQikpICYmCj4gKwkgICAgIWJvb3Rf Y3B1X2hhcyhYODZfRkVBVFVSRV9QQVQpKQo+ICsJCXJldHVybiAtRU5PREVWOwo+ICsKPiArCWlm IChhcmdzLT5mbGFncyAmIEk5MTVfTU1BUF9PRkZTRVRfV0MpCj4gKwkJdHlwZSA9IEk5MTVfTU1B UF9UWVBFX09GRlNFVF9XQzsKPiArCWVsc2UgaWYgKGFyZ3MtPmZsYWdzICYgSTkxNV9NTUFQX09G RlNFVF9XQikKPiArCQl0eXBlID0gSTkxNV9NTUFQX1RZUEVfT0ZGU0VUX1dCOwo+ICsJZWxzZSBp ZiAoYXJncy0+ZmxhZ3MgJiBJOTE1X01NQVBfT0ZGU0VUX1VDKQo+ICsJCXR5cGUgPSBJOTE1X01N QVBfVFlQRV9PRkZTRVRfVUM7Cj4gKwo+ICsJcmV0dXJuIF9fYXNzaWduX2dlbV9vYmplY3RfbW1h cF9kYXRhKGZpbGUsIGFyZ3MtPmhhbmRsZSwgdHlwZSwKPiArCQkJCQkgICAgICZhcmdzLT5vZmZz ZXQpOwo+ICt9Cj4gKwo+ICB2b2lkIGk5MTVfbW1hcF9vZmZzZXRfb2JqZWN0X3JlbGVhc2Uoc3Ry dWN0IGtyZWYgKnJlZikKPiAgewo+ICAJc3RydWN0IGk5MTVfbW1hcF9vZmZzZXQgKm1tbyA9IGNv bnRhaW5lcl9vZihyZWYsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9vYmplY3RfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dl bV9vYmplY3RfdHlwZXMuaAo+IGluZGV4IDg2ZjM1OGRhODA4NS4uZjk1ZTU0YTI1NDI2IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3RfdHlwZXMu aAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3RfdHlwZXMu aAo+IEBAIC02Myw2ICs2Myw5IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyB7Cj4g IAo+ICBlbnVtIGk5MTVfbW1hcF90eXBlIHsKPiAgCUk5MTVfTU1BUF9UWVBFX0dUVCA9IDAsCj4g KwlJOTE1X01NQVBfVFlQRV9PRkZTRVRfV0MsCj4gKwlJOTE1X01NQVBfVFlQRV9PRkZTRVRfV0Is Cj4gKwlJOTE1X01NQVBfVFlQRV9PRkZTRVRfVUMsCj4gIH07Cj4gIAo+ICBzdHJ1Y3QgaTkxNV9t bWFwX29mZnNldCB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gaW5kZXggMGYxZjNiN2YzMDI5 Li44ZGFkZDZiOWEwYTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBAQCAtNDU5LDYg KzQ1OSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAJY2FzZSBJOTE1X1BBUkFNX0hBU19FWEVDX0JBVENIX0ZJ UlNUOgo+ICAJY2FzZSBJOTE1X1BBUkFNX0hBU19FWEVDX0ZFTkNFX0FSUkFZOgo+ICAJY2FzZSBJ OTE1X1BBUkFNX0hBU19FWEVDX1NVQk1JVF9GRU5DRToKPiArCWNhc2UgSTkxNV9QQVJBTV9NTUFQ X09GRlNFVF9WRVJTSU9OOgo+ICAJCS8qIEZvciB0aGUgdGltZSBiZWluZyBhbGwgb2YgdGhlc2Ug YXJlIGFsd2F5cyB0cnVlOwo+ICAJCSAqIGlmIHNvbWUgc3VwcG9ydGVkIGhhcmR3YXJlIGRvZXMg bm90IGhhdmUgb25lIG9mIHRoZXNlCj4gIAkJICogZmVhdHVyZXMgdGhpcyB2YWx1ZSBuZWVkcyB0 byBiZSBwcm92aWRlZCBmcm9tCj4gQEAgLTMxNzYsNyArMzE3Nyw3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZHJtX2lvY3RsX2Rlc2MgaTkxNV9pb2N0bHNbXSA9IHsKPiAgCURSTV9JT0NUTF9ERUZf RFJWKEk5MTVfR0VNX1BSRUFELCBpOTE1X2dlbV9wcmVhZF9pb2N0bCwgRFJNX1JFTkRFUl9BTExP VyksCj4gIAlEUk1fSU9DVExfREVGX0RSVihJOTE1X0dFTV9QV1JJVEUsIGk5MTVfZ2VtX3B3cml0 ZV9pb2N0bCwgRFJNX1JFTkRFUl9BTExPVyksCj4gIAlEUk1fSU9DVExfREVGX0RSVihJOTE1X0dF TV9NTUFQLCBpOTE1X2dlbV9tbWFwX2lvY3RsLCBEUk1fUkVOREVSX0FMTE9XKSwKPiAtCURSTV9J T0NUTF9ERUZfRFJWKEk5MTVfR0VNX01NQVBfR1RULCBpOTE1X2dlbV9tbWFwX2d0dF9pb2N0bCwg RFJNX1JFTkRFUl9BTExPVyksCj4gKwlEUk1fSU9DVExfREVGX0RSVihJOTE1X0dFTV9NTUFQX09G RlNFVCwgaTkxNV9nZW1fbW1hcF9ndHRfaW9jdGwsIERSTV9SRU5ERVJfQUxMT1cpLAo+ICAJRFJN X0lPQ1RMX0RFRl9EUlYoSTkxNV9HRU1fU0VUX0RPTUFJTiwgaTkxNV9nZW1fc2V0X2RvbWFpbl9p b2N0bCwgRFJNX1JFTkRFUl9BTExPVyksCj4gIAlEUk1fSU9DVExfREVGX0RSVihJOTE1X0dFTV9T V19GSU5JU0gsIGk5MTVfZ2VtX3N3X2ZpbmlzaF9pb2N0bCwgRFJNX1JFTkRFUl9BTExPVyksCj4g IAlEUk1fSU9DVExfREVGX0RSVihJOTE1X0dFTV9TRVRfVElMSU5HLCBpOTE1X2dlbV9zZXRfdGls aW5nX2lvY3RsLCBEUk1fUkVOREVSX0FMTE9XKSwKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBp L2RybS9pOTE1X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCj4gaW5kZXggMzI4 ZDA1ZTc3ZDlmLi43MjllNzI5ZTIyODIgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9p OTE1X2RybS5oCj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCj4gQEAgLTM1OSw2 ICszNTksNyBAQCB0eXBlZGVmIHN0cnVjdCBfZHJtX2k5MTVfc2FyZWEgewo+ICAjZGVmaW5lIERS TV9JOTE1X1FVRVJZCQkJMHgzOQo+ICAjZGVmaW5lIERSTV9JOTE1X0dFTV9WTV9DUkVBVEUJCTB4 M2EKPiAgI2RlZmluZSBEUk1fSTkxNV9HRU1fVk1fREVTVFJPWQkJMHgzYgo+ICsjZGVmaW5lIERS TV9JOTE1X0dFTV9NTUFQX09GRlNFVCAgIAlEUk1fSTkxNV9HRU1fTU1BUF9HVFQKPiAgLyogTXVz dCBiZSBrZXB0IGNvbXBhY3QgLS0gbm8gaG9sZXMgKi8KPiAgCj4gICNkZWZpbmUgRFJNX0lPQ1RM X0k5MTVfSU5JVAkJRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0lOSVQsIGRy bV9pOTE1X2luaXRfdCkKPiBAQCAtNDIxLDYgKzQyMiw3IEBAIHR5cGVkZWYgc3RydWN0IF9kcm1f aTkxNV9zYXJlYSB7Cj4gICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfUVVFUlkJCQlEUk1fSU9XUihE Uk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfUVVFUlksIHN0cnVjdCBkcm1faTkxNV9xdWVyeSkK PiAgI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fVk1fQ1JFQVRFCURSTV9JT1dSKERSTV9DT01N QU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fVk1fQ1JFQVRFLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Zt X2NvbnRyb2wpCj4gICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX1ZNX0RFU1RST1kJRFJNX0lP VyAoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9WTV9ERVNUUk9ZLCBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3ZtX2NvbnRyb2wpCj4gKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX01NQVBf T0ZGU0VUCQlEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX01NQVBfT0ZG U0VULCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX21tYXBfb2Zmc2V0KQo+ICAKPiAgLyogQWxsb3cgZHJp dmVycyB0byBzdWJtaXQgYmF0Y2hidWZmZXJzIGRpcmVjdGx5IHRvIGhhcmR3YXJlLCByZWx5aW5n Cj4gICAqIG9uIHRoZSBzZWN1cml0eSBtZWNoYW5pc21zIHByb3ZpZGVkIGJ5IGhhcmR3YXJlLgo+ IEBAIC02MTAsNiArNjEyLDEwIEBAIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1X2lycV93YWl0IHsK PiAgICogU2VlIEk5MTVfRVhFQ19GRU5DRV9PVVQgYW5kIEk5MTVfRVhFQ19GRU5DRV9TVUJNSVQu Cj4gICAqLwo+ICAjZGVmaW5lIEk5MTVfUEFSQU1fSEFTX0VYRUNfU1VCTUlUX0ZFTkNFIDUzCj4g Kwo+ICsvKiBNbWFwIG9mZnNldCBpb2N0bCAqLwo+ICsjZGVmaW5lIEk5MTVfUEFSQU1fTU1BUF9P RkZTRVRfVkVSU0lPTgk1NAo+ICsKPiAgLyogTXVzdCBiZSBrZXB0IGNvbXBhY3QgLS0gbm8gaG9s ZXMgYW5kIHdlbGwgZG9jdW1lbnRlZCAqLwo+ICAKPiAgdHlwZWRlZiBzdHJ1Y3QgZHJtX2k5MTVf Z2V0cGFyYW0gewo+IEBAIC03ODUsNiArNzkxLDMxIEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fbW1h cF9ndHQgewo+ICAJX191NjQgb2Zmc2V0Owo+ICB9Owo+ICAKPiArc3RydWN0IGRybV9pOTE1X2dl bV9tbWFwX29mZnNldCB7Cj4gKwkvKiogSGFuZGxlIGZvciB0aGUgb2JqZWN0IGJlaW5nIG1hcHBl ZC4gKi8KPiArCV9fdTMyIGhhbmRsZTsKPiArCV9fdTMyIHBhZDsKPiArCS8qKgo+ICsJICogRmFr ZSBvZmZzZXQgdG8gdXNlIGZvciBzdWJzZXF1ZW50IG1tYXAgY2FsbAo+ICsJICoKPiArCSAqIFRo aXMgaXMgYSBmaXhlZC1zaXplIHR5cGUgZm9yIDMyLzY0IGNvbXBhdGliaWxpdHkuCj4gKwkgKi8K PiArCV9fdTY0IG9mZnNldDsKPiArCj4gKwkvKioKPiArCSAqIEZsYWdzIGZvciBleHRlbmRlZCBi ZWhhdmlvdXIuCj4gKwkgKgo+ICsJICogSXQgaXMgbWFuZGF0b3J5IHRoYXQgZWl0aGVyIG9uZSBv ZiB0aGUgX1dDL19XQiBmbGFncwo+ICsJICogc2hvdWxkIGJlIHBhc3NlZCBoZXJlLgo+ICsJICov Cj4gKwlfX3U2NCBmbGFnczsKPiArI2RlZmluZSBJOTE1X01NQVBfT0ZGU0VUX1dDICgxIDw8IDAp Cj4gKyNkZWZpbmUgSTkxNV9NTUFQX09GRlNFVF9XQiAoMSA8PCAxKQo+ICsjZGVmaW5lIEk5MTVf TU1BUF9PRkZTRVRfVUMgKDEgPDwgMikKPiArI2RlZmluZSBJOTE1X01NQVBfT0ZGU0VUX0ZMQUdT IFwKPiArCShJOTE1X01NQVBfT0ZGU0VUX1dDIHwgSTkxNV9NTUFQX09GRlNFVF9XQiB8IEk5MTVf TU1BUF9PRkZTRVRfVUMpCj4gK307Cj4gKwo+ICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3NldF9kb21h aW4gewo+ICAJLyoqIEhhbmRsZSBmb3IgdGhlIG9iamVjdCAqLwo+ICAJX191MzIgaGFuZGxlOwo+ IC0tIAo+IDIuMjAuMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVs IENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeA==