From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/dsc: Add kernel documentation for DRM DP DSC helpers Date: Tue, 5 Feb 2019 10:55:12 +0100 Message-ID: <20190205095512.GD3271@phenom.ffwll.local> References: <20190204234022.4170-1-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190204234022.4170-1-manasi.d.navare@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Manasi Navare Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBGZWIgMDQsIDIwMTkgYXQgMDM6NDA6MjJQTSAtMDgwMCwgTWFuYXNpIE5hdmFyZSB3 cm90ZToKPiBUaGlzIHBhdGNoIGFkZHMgYXBwcm9waWF0ZSBrZXJuZWwgZG9jdW1lbnRhdGlvbiBm b3IgRFJNIERQIGhlbHBlcnMKPiB1c2VkIGZvciBlbmFibGluZyBEaXNwbGF5IFN0cmVhbSBjb21w cmVzc2lvbiBmdW5jdGlvbmFsaXR5IGluCj4gZHJtX2RwX2hlbHBlci5oIGFuZCBkcm1fZHBfaGVs cGVyLmMgYXMgd2VsbCBhcyBmb3IgdGhlIERTQyBzcGVjCj4gcmVsYXRlZCBzdHJ1Y3R1cmUgZGVm aW5pdGlvbnMgYW5kIGhlbHBlcnMgaW4gZHJtX2RzYy5jIGFuZCBkcm1fZHNjLmgKPiBBbHNvIGFk ZCBsaW5rcyBiZXR3ZWVuIHRoZSBmdW5jdGlvbnMgYW5kIHN0cnVjdHVyZXMgaW4gdGhlIGRvY3Vt ZW50YXRpb24uCj4gCj4gU3VnZ2VzdGVkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVy QGludGVsLmNvbT4KPiBTdWdnZXN0ZWQtYnk6IFNlYW4gUGF1bCA8c2VhbkBwb29ybHkucnVuPgo+ IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiBDYzogU2VhbiBQ YXVsIDxzZWFuQHBvb3JseS5ydW4+Cj4gU2lnbmVkLW9mZi1ieTogTWFuYXNpIE5hdmFyZSA8bWFu YXNpLmQubmF2YXJlQGludGVsLmNvbT4KCkF3ZXNvbWUsIG1vcmUgZG9jcyEKCj4gLS0tCj4gIGRy aXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMgfCAgNDIgKysrKysrKysrLQo+ICBkcml2ZXJz L2dwdS9kcm0vZHJtX2RzYy5jICAgICAgIHwgIDEzICsrLQo+ICBpbmNsdWRlL2RybS9kcm1fZHBf aGVscGVyLmggICAgIHwgIDE1ICsrKy0KPiAgaW5jbHVkZS9kcm0vZHJtX2RzYy5oICAgICAgICAg ICB8IDEzOCArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQo+ICA0IGZpbGVzIGNoYW5n ZWQsIDE0MiBpbnNlcnRpb25zKCspLCA2NiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBf aGVscGVyLmMKPiBpbmRleCA1NDEyMGI2MzE5ZTcuLmU5ZTAyMzNmNWIyZiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2RybV9kcF9oZWxwZXIuYwo+IEBAIC0xMzYwLDcgKzEzNjAsMjAgQEAgaW50IGRybV9kcF9yZWFk X2Rlc2Moc3RydWN0IGRybV9kcF9hdXggKmF1eCwgc3RydWN0IGRybV9kcF9kZXNjICpkZXNjLAo+ ICBFWFBPUlRfU1lNQk9MKGRybV9kcF9yZWFkX2Rlc2MpOwo+ICAKPiAgLyoqCj4gLSAqIERSTSBE UCBIZWxwZXJzIGZvciBEU0MKPiArICogZHJtX2RwX2RzY19zaW5rX21heF9zbGljZV9jb3VudCgp IC0gR2V0IHRoZSBtYXggc2xpY2UgY291bnQKPiArICogc3VwcG9ydGVkIGJ5IHRoZSBEU0Mgc2lu ay4KPiArICogQGRzY19kcGNkOiBEU0MgY2FwYWJpbGl0aWVzIGZyb20gRFBDRAo+ICsgKiBAaXNf ZWRwOiB0cnVlIGlmIGl0cyBlRFAsIGZhbHNlIGZvciBEUAo+ICsgKgo+ICsgKiBSZWFkIHRoZSBz bGljZSBjYXBhYmlsaXRpZXMgRFBDRCByZWdpc3RlciBmcm9tIERTQyBzaW5rIHRvIGdldAo+ICsg KiB0aGUgbWF4aW11bSBzbGljZSBjb3VudCBzdXBwb3J0ZWQuIFRoaXMgaXMgdXNlZCB0byBwb3B1 bGF0ZQo+ICsgKiB0aGUgRFNDIHBhcmFtZXRlcnMgaW4gdGhlICZzdHJ1Y3QgZHJtX2RzY19jb25m aWcgYnkgdGhlIGRyaXZlci4KPiArICogRHJpdmVyIGNyZWF0ZXMgYW4gaW5mb2ZyYW1lIHVzaW5n IHRoZXNlIHBhcmFtZXRlcnMgdG8gcG9wdWxhdGUKPiArICogJnN0cnVjdCBkcm1fZHNjX3Bwc19p bmZvZnJhbWUuIFRoZXNlIGFyZSBzZW50IHRvIHRoZSBzaW5rIHVzaW5nIERTQwo+ICsgKiBpbmZv ZnJhbWUgdXNpbmcgdGhlIGhlbHBlciBmdW5jdGlvbiBkcm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFj aygpCj4gKyAqCj4gKyAqIFJldHVybnM6Cj4gKyAqIE1heGltdW0gc2xpY2UgY291bnQgc3VwcG9y dGVkIGJ5IERTQyBzaW5rIG9yIDAgaXRzIGludmFsaWQKPiAgICovCj4gIHU4IGRybV9kcF9kc2Nf c2lua19tYXhfc2xpY2VfY291bnQoY29uc3QgdTggZHNjX2RwY2RbRFBfRFNDX1JFQ0VJVkVSX0NB UF9TSVpFXSwKPiAgCQkJCSAgIGJvb2wgaXNfZWRwKQo+IEBAIC0xNDA1LDYgKzE0MTgsMTkgQEAg dTggZHJtX2RwX2RzY19zaW5rX21heF9zbGljZV9jb3VudChjb25zdCB1OCBkc2NfZHBjZFtEUF9E U0NfUkVDRUlWRVJfQ0FQX1NJWkVdLAo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX2RwX2RzY19z aW5rX21heF9zbGljZV9jb3VudCk7Cj4gIAo+ICsvKioKPiArICogZHJtX2RwX2RzY19zaW5rX2xp bmVfYnVmX2RlcHRoKCkgLSBHZXQgdGhlIGxpbmUgYnVmZmVyIGRlcHRoIGluIGJpdHMgd2hpY2gg aXMKPiArICogbnVtYmVyIG9mIGJpdHMgb2YgcHJlY2lzaW9uIHdpdGhpbiB0aGUgZGVjb2RlciBs aW5lIGJ1ZmZlciBzdXBwb3J0ZWQgYnkKPiArICogdGhlIERTQyBzaW5rLiBUaGlzIGlzIHVzZWQg dG8gcG9wdWxhdGUgdGhlIERTQyBwYXJhbWV0ZXJzIGluIHRoZQo+ICsgKiAmc3RydWN0IGRybV9k c2NfY29uZmlnIGJ5IHRoZSBkcml2ZXIuCj4gKyAqIERyaXZlciBjcmVhdGVzIGFuIGluZm9mcmFt ZSB1c2luZyB0aGVzZSBwYXJhbWV0ZXJzIHRvIHBvcHVsYXRlCj4gKyAqICZzdHJ1Y3QgZHJtX2Rz Y19wcHNfaW5mb2ZyYW1lLiBUaGVzZSBhcmUgc2VudCB0byB0aGUgc2luayB1c2luZyBEU0MKPiAr ICogaW5mb2ZyYW1lIHVzaW5nIHRoZSBoZWxwZXIgZnVuY3Rpb24gZHJtX2RzY19wcHNfaW5mb2Zy YW1lX3BhY2soKQoKVGhlIGVudGlyZSBhYm92ZSBibG9jayBlbmRzIHVwIGJlaW5nIHVzZWQgYXMg dGhlICJvbmUtbGluZSIgc3VtbWFyeSwgYW5kCm5vIGRlc2NyaXB0aW9uLiBJIGd1ZXNzIHlvdSB3 YW50ZWQgdG8gc3BsaXQgaXQgdXAgbGlrZSB0aGUgb25lIGFib3ZlPwoKVGhlIGRlc2NyaXB0aW9u IHN0YXJ0cyBhZnRlciB0aGUgZmlyc3QgZW1wdHkgbmV3bGluZSwgZXZlcnl0aGluZyBiZWZvcmUK dGhhdCBpcyB0aGUgc3VtbWFyeS4KCj4gKyAqIEBkc2NfZHBjZDogRFNDIGNhcGFiaWxpdGllcyBm cm9tIERQQ0QKPiArICoKPiArICogUmV0dXJuczoKPiArICogTGluZSBidWZmZXIgZGVwdGggc3Vw cG9ydGVkIGJ5IERTQyBwYW5lbCBvciAwIGl0cyBpbnZhbGlkCj4gKyAqLwo+ICB1OCBkcm1fZHBf ZHNjX3NpbmtfbGluZV9idWZfZGVwdGgoY29uc3QgdTggZHNjX2RwY2RbRFBfRFNDX1JFQ0VJVkVS X0NBUF9TSVpFXSkKPiAgewo+ICAJdTggbGluZV9idWZfZGVwdGggPSBkc2NfZHBjZFtEUF9EU0Nf TElORV9CVUZfQklUX0RFUFRIIC0gRFBfRFNDX1NVUFBPUlRdOwo+IEBAIC0xNDM0LDYgKzE0NjAs MjAgQEAgdTggZHJtX2RwX2RzY19zaW5rX2xpbmVfYnVmX2RlcHRoKGNvbnN0IHU4IGRzY19kcGNk W0RQX0RTQ19SRUNFSVZFUl9DQVBfU0laRV0pCj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fZHBf ZHNjX3NpbmtfbGluZV9idWZfZGVwdGgpOwo+ICAKPiArLyoqCj4gKyAqIGRybV9kcF9kc2Nfc2lu a19zdXBwb3J0ZWRfaW5wdXRfYnBjcygpIC0gR2V0IGFsbCB0aGUgaW5wdXQgYml0cyBwZXIgY29t cG9uZW50Cj4gKyAqIHZhbHVlcyBzdXBwb3J0ZWQgYnkgdGhlIERTQyBzaW5rLiBUaGlzIGlzIHVz ZWQgdG8gcG9wdWxhdGUgdGhlIERTQyBwYXJhbWV0ZXJzCj4gKyAqIGluIHRoZSAmc3RydWN0IGRy bV9kc2NfY29uZmlnIGJ5IHRoZSBkcml2ZXIuCj4gKyAqIERyaXZlciBjcmVhdGVzIGFuIGluZm9m cmFtZSB1c2luZyB0aGVzZSBwYXJhbWV0ZXJzIHRvIHBvcHVsYXRlCj4gKyAqICZzdHJ1Y3QgZHJt X2RzY19wcHNfaW5mb2ZyYW1lLiBUaGVzZSBhcmUgc2VudCB0byB0aGUgc2luayB1c2luZyBEU0MK PiArICogaW5mb2ZyYW1lIHVzaW5nIHRoZSBoZWxwZXIgZnVuY3Rpb24gZHJtX2RzY19wcHNfaW5m b2ZyYW1lX3BhY2soKQo+ICsgKiBAZHNjX2RwY2Q6IERTQyBjYXBhYmlsaXRpZXMgZnJvbSBEUENE Cj4gKyAqIEBkc2NfYnBjOiBBbiBhcnJheSB0byBiZSBmaWxsZWQgYnkgdGhpcyBoZWxwZXIgd2l0 aCBzdXBwb3J0ZWQKPiArICogICAgICAgICAgIGlucHV0IGJwY3MuCj4gKyAqCj4gKyAqIFJldHVy bnM6Cj4gKyAqIE51bWJlciBvZiBpbnB1dCBCUEMgdmFsdWVzIHBhcnNlZCBmcm9tIHRoZSBEUENE Cj4gKyAqLwo+ICBpbnQgZHJtX2RwX2RzY19zaW5rX3N1cHBvcnRlZF9pbnB1dF9icGNzKGNvbnN0 IHU4IGRzY19kcGNkW0RQX0RTQ19SRUNFSVZFUl9DQVBfU0laRV0sCj4gIAkJCQkJIHU4IGRzY19i cGNbM10pCj4gIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMKPiBpbmRleCBiYzJiMjNhZGIwNzIuLjBmZDU2ZmJkZjli NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RzYy5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9kc2MuYwo+IEBAIC0xNyw2ICsxNywxMiBAQAo+ICAvKioKPiAgICogRE9D OiBkc2MgaGVscGVycwo+ICAgKgo+ICsgKiBWRVNBIHNwZWNpZmljYXRpb24gZm9yIERQIDEuNCBh ZGRzIGEgbmV3IGZlYXR1cmUgY2FsbGVkIERpc3BsYXkgU3RyZWFtCj4gKyAqIENvbXByZXNzaW9u IChEU0MpIHVzZWQgdG8gY29tcHJlc3MgdGhlIHBpeGVsIGJpdHMgYmVmb3JlIHNlbmRpbmcgaXQg b24KPiArICogRFAvZURQL01JUEkgRFNJIGludGVyZmFjZS4gRFNDIGlzIHJlcXVpcmVkIHRvIGJl IGVuYWJsZWQgc28gdGhhdCB0aGUgZXhpc3RpbmcKPiArICogZGlzcGxheSBpbnRlcmZhY2VzIGNh biBzdXBwb3J0IGhpZ2ggcmVzb2x1dGlvbnMgYXQgaGlnaGVyIGZyYW1lcyByYXRlcyB1aXNuZwo+ ICsgKiB0aGUgbWF4aW11bSBhdmFpbGFibGUgbGluayBjYXBhY2l0eSBvZiB0aGVzZSBpbnRlcmZh Y2VzLgo+ICsgKgo+ICAgKiBUaGVzZSBmdW5jdGlvbnMgY29udGFpbiBzb21lIGNvbW1vbiBsb2dp YyBhbmQgaGVscGVycyB0byBkZWFsIHdpdGggVkVTQQo+ICAgKiBEaXNwbGF5IFN0cmVhbSBDb21w cmVzc2lvbiBzdGFuZGFyZCByZXF1aXJlZCBmb3IgRFNDIG9uIERpc3BsYXkgUG9ydC9lRFAgb3IK PiAgICogTUlQSSBkaXNwbGF5IGludGVyZmFjZXMuCj4gQEAgLTI2LDYgKzMyLDcgQEAKPiAgICog ZHJtX2RzY19kcF9wcHNfaGVhZGVyX2luaXQoKSAtIEluaXRpYWxpemVzIHRoZSBQUFMgSGVhZGVy Cj4gICAqIGZvciBEaXNwbGF5UG9ydCBhcyBwZXIgdGhlIERQIDEuNCBzcGVjLgo+ICAgKiBAcHBz X3NkcDogU2Vjb25kYXJ5IGRhdGEgcGFja2V0IGZvciBEU0MgUGljdHVyZSBQYXJhbWV0ZXIgU2V0 Cj4gKyAqICAgICAgICAgICBhcyBkZWZpbmVkIGluICZzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2Zy YW1lCj4gICAqLwo+ICB2b2lkIGRybV9kc2NfZHBfcHBzX2hlYWRlcl9pbml0KHN0cnVjdCBkcm1f ZHNjX3Bwc19pbmZvZnJhbWUgKnBwc19zZHApCj4gIHsKPiBAQCAtNDQsOSArNTEsMTEgQEAgRVhQ T1JUX1NZTUJPTChkcm1fZHNjX2RwX3Bwc19oZWFkZXJfaW5pdCk7Cj4gICAqIHRoYXQgc3BhbiBt b3JlIHRoYW4gMSBieXRlLgo+ICAgKgo+ICAgKiBAcHBzX3NkcDoKPiAtICogU2Vjb25kYXJ5IGRh dGEgcGFja2V0IGZvciBEU0MgUGljdHVyZSBQYXJhbWV0ZXIgU2V0Cj4gKyAqIFNlY29uZGFyeSBk YXRhIHBhY2tldCBmb3IgRFNDIFBpY3R1cmUgUGFyYW1ldGVyIFNldC4gVGhpcyBpcyBkZWZpbmVk Cj4gKyAqIGJ5ICZzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lCj4gICAqIEBkc2NfY2ZnOgo+ IC0gKiBEU0MgQ29uZmlndXJhdGlvbiBkYXRhIGZpbGxlZCBieSBkcml2ZXIKPiArICogRFNDIENv bmZpZ3VyYXRpb24gZGF0YSBmaWxsZWQgYnkgZHJpdmVyIGFzIGRlZmluZWQgYnkKPiArICogJnN0 cnVjdCBkcm1fZHNjX2NvbmZpZwo+ICAgKi8KPiAgdm9pZCBkcm1fZHNjX3Bwc19pbmZvZnJhbWVf cGFjayhzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lICpwcHNfc2RwLAo+ICAJCQkJY29uc3Qg c3RydWN0IGRybV9kc2NfY29uZmlnICpkc2NfY2ZnKQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2Ry bS9kcm1fZHBfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKPiBpbmRleCA1 ZGI3ZmI4YzhiNTAuLjI3MTFjZGZhMGMxMyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1f ZHBfaGVscGVyLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKPiBAQCAtMTA1 MiwxMSArMTA1MiwxOCBAQCBpbnQgZHJtX2RwX2J3X2NvZGVfdG9fbGlua19yYXRlKHU4IGxpbmtf YncpOwo+ICAjZGVmaW5lIERQX1NEUF9WU0NfRVhUX0NFQQkJMHgyMSAvKiBEUCAxLjQgKi8KPiAg LyogMHg4MCsgQ0VBLTg2MSBpbmZvZnJhbWUgdHlwZXMgKi8KPiAgCj4gKy8qKgo+ICsgKiBzdHJ1 Y3QgZHBfc2RwX2hlYWRlciAtIERQIHNlY29uZGFyeSBkYXRhIHBhY2tldCBoZWFkZXIKPiArICog QEhCMDogU2Vjb25kYXJ5IERhdGEgUGFja2V0IElECj4gKyAqIEBIQjE6IFNlY29uZGFyeSBEYXRh IFBhY2tldCBUeXBlCj4gKyAqIEBIQjI6IFNlY29uZGFyeSBEYXRhIFBhY2tldCBTcGVjaWZpYyBo ZWFkZXIsIEJ5dGUgMAo+ICsgKiBASEIzOiBTZWNvbmRhcnkgRGF0YSBwYWNrZXQgU3BlY2lmaWMg aGVhZGVyLCBCeXRlIDEKPiArICovCj4gIHN0cnVjdCBkcF9zZHBfaGVhZGVyIHsKPiAtCXU4IEhC MDsgLyogU2Vjb25kYXJ5IERhdGEgUGFja2V0IElEICovCj4gLQl1OCBIQjE7IC8qIFNlY29uZGFy eSBEYXRhIFBhY2tldCBUeXBlICovCj4gLQl1OCBIQjI7IC8qIFNlY29uZGFyeSBEYXRhIFBhY2tl dCBTcGVjaWZpYyBoZWFkZXIsIEJ5dGUgMCAqLwo+IC0JdTggSEIzOyAvKiBTZWNvbmRhcnkgRGF0 YSBwYWNrZXQgU3BlY2lmaWMgaGVhZGVyLCBCeXRlIDEgKi8KPiArCXU4IEhCMDsKPiArCXU4IEhC MTsKPiArCXU4IEhCMjsKPiArCXU4IEhCMzsKPiAgfSBfX3BhY2tlZDsKPiAgCj4gICNkZWZpbmUg RURQX1NEUF9IRUFERVJfUkVWSVNJT05fTUFTSwkJMHgxRgo+IGRpZmYgLS1naXQgYS9pbmNsdWRl L2RybS9kcm1fZHNjLmggYi9pbmNsdWRlL2RybS9kcm1fZHNjLmgKPiBpbmRleCBkMDNmMWI4MzQy MWEuLmY1MGQyNjVhOTdlMiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fZHNjLmgKPiAr KysgYi9pbmNsdWRlL2RybS9kcm1fZHNjLmgKPiBAQCAtNDQsMTExICs0NCwxMjggQEAKPiAgI2Rl ZmluZSBEU0NfMV8yX01BWF9MSU5FQlVGX0RFUFRIX1ZBTAkJMAo+ICAjZGVmaW5lIERTQ18xXzFf TUFYX0xJTkVCVUZfREVQVEhfQklUUwkJMTMKPiAgCj4gLS8qIENvbmZpZ3VyYXRpb24gZm9yIGEg c2luZ2xlIFJhdGUgQ29udHJvbCBtb2RlbCByYW5nZSAqLwo+ICsvKioKPiArICogc3RydWN0IGRy bV9kc2NfcmNfcmFuZ2VfcGFyYW1ldGVycyAtIERTQyBSYXRlIENvbnRyb2wgcmFuZ2UgcGFyYW1l dGVycwo+ICsgKgo+ICsgKiBAcmFuZ2VfbWluX3FwOiBNaW4gUXVhbnRpemF0aW9uIFBhcmFtZXRl cnMgYWxsb3dlZCBmb3IgdGhpcyByYW5nZQo+ICsgKiBAcmFuZ2VfbWF4X3FwOiBNYXggUXVhbnRp emF0aW9uIFBhcmFtZXRlcnMgYWxsb3dlZCBmb3IgdGhpcyByYW5nZQo+ICsgKiBAcmFuZ2VfYnBn X29mZnNldDogQml0cy9ncm91cCBvZmZzZXQgdG8gYXBwbHkgdG8gdGFyZ2V0IGZvciB0aGlzIGdy b3VwCj4gKyAqLwo+ICBzdHJ1Y3QgZHJtX2RzY19yY19yYW5nZV9wYXJhbWV0ZXJzIHsKPiAtCS8q IE1pbiBRdWFudGl6YXRpb24gUGFyYW1ldGVycyBhbGxvd2VkIGZvciB0aGlzIHJhbmdlICovCj4g IAl1OCByYW5nZV9taW5fcXA7Cj4gLQkvKiBNYXggUXVhbnRpemF0aW9uIFBhcmFtZXRlcnMgYWxs b3dlZCBmb3IgdGhpcyByYW5nZSAqLwo+ICAJdTggcmFuZ2VfbWF4X3FwOwo+IC0JLyogQml0cy9n cm91cCBvZmZzZXQgdG8gYXBwbHkgdG8gdGFyZ2V0IGZvciB0aGlzIGdyb3VwICovCj4gIAl1OCBy YW5nZV9icGdfb2Zmc2V0OwoKU2luY2UgeW91IGFscmVhZHkgaGF2ZSBpbmxpbmUgY29tbWVudHMg SSdkIHN0aWNrIHRvIGlubGluZSBrZXJuZWxkb2MuClRob3NlIGNhbiBhbHNvIGJlIGp1c3Qgb25l IGxpbmUsIGUuZy4KCgkvKiogZm9vOiBvbmUtbGluZSBkZXNjcmlwdGlvbiBvZiB3aGF0IGZvbyBp cyAqLwoJdTggZm9vOwoKPiAgfTsKPiAgCj4gKy8qKgo+ICsgKiBzdHJ1Y3QgZHJtX2RzY19jb25m aWcgLSBQYXJhbWV0ZXJzIHJlcXVpcmVkIHRvIGNvbmZpZ3VyZSBEU0MKPiArICoKPiArICogQGxp bmVfYnVmX2RlcHRoOiBCaXRzIC8gY29tcG9uZW50IGZvciBwcmV2aW91cyByZWNvbnN0cnVjdGVk IGxpbmUgYnVmZmVyCj4gKyAqIEBiaXRzX3Blcl9jb21wb25lbnQ6IEJpdHMgcGVyIGNvbXBvbmVu dCB0byBjb2RlICg4LzEwLzEyKQo+ICsgKiBAY29udmVydF9yZ2I6IEZsYWcgdG8gaW5kaWNhdGUg aWYgUkdCIC0gWUNvQ2cgY29udmVyc2lvbiBpcyBuZWVkZWQKPiArICogICAgICAgICAgICAgICBU cnVlIGlmIFJHQiBpbnB1dCwgRmFsc2UgaWYgWUNvQ2cgaW5wdXQKPiArICogQHNsaWNlX2NvdW50 OiBOdW1iZXIgZm8gc2xpY2VzIHBlciBsaW5lIHVzZWQgYnkgdGhlIERTQyBlbmNvZGVyCj4gKyAq IEBzbGljZV93aWR0aDogV2lkdGggb2YgZWFjaCBzbGljZSBpbiBwaXhlbHMKPiArICogQHNsaWNl X2hlaWdodDogU2xpY2UgaGVpZ2h0IGluIHBpeGVscwo+ICsgKiBAZW5hYmxlNDIyOiBUcnVlIGZv ciA0XzJfMiBzYW1wbGluZywgZmFsc2UgZm9yIDRfNF80IHNhbXBsaW5nCj4gKyAqIEBwaWNfd2lk dGg6IFdpZHRoIG9mIHRoZSBpbnB1dCBkaXNwbGF5IGZyYW1lIGluIHBpeGVscwo+ICsgKiBAcGlj X2hlaWdodDogVmVydGljYWwgaGVpZ2h0IG9mIHRoZSBpbnB1dCBkaXNwbGF5IGZyYW1lCj4gKyAq IEByY190Z3Rfb2Zmc2V0X2hpZ2g6IE9mZnNldCB0byBiaXRzL2dyb3VwIHVzZWQgYnkgUkMgdG8g ZGV0ZXJtaW5lIFFQCj4gKyAqICAgICAgICAgICAgICAgICAgICAgIGFkanVzdG1lbnQKPiArICog QHJjX3RndF9vZmZzZXRfbG93OiBPZmZzZXQgdG8gYml0cy9ncm91cCB1c2VkIGJ5IFJDIHRvIGRl dGVybWluZSBRUAo+ICsgKiAgICAgICAgICAgICAgICAgICAgIGFkanVzdG1lbnQKPiArICogQGJp dHNfcGVyX3BpeGVsOiBUYXJnZXQgYml0cyBwZXIgcGl4ZWwgd2l0aCA0IGZyYWN0aW9uYWwgYml0 cy4KPiArICogICAgICAgICAgICAgICAgICBiaXRzX3Blcl9waXhlbCA8PCA0Cj4gKyAqIEByY19l ZGdlX2ZhY3RvcjogRmFjdG9yIHRvIGRldGVybWluZSBpZiBhbiBlZGdlIGlzIHByZXNlbnQgYmFz ZWQgb24gdGhlCj4gKyAqICAgICAgICAgICAgICAgICAgYml0cyBwcm9kdWNlZAo+ICsgKiBAcmNf cXVhbnRfaW5jcl9saW1pdDE6IFNsb3cgZG93biBpbmNyZW1lbnRpbmcgb25jZSB0aGUgcmFuZ2Ug cmVhY2hlcyB0aGlzCj4gKyAqICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKPiArICogQHJj X3F1YW50X2luY3JfbGltaXQwOiBTbG93IGRvd24gaW5jcmVtZW50aW5nIG9uY2UgdGhlIHJhbmdl IHJlYWNoZXMgdGhpcwo+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCj4gKyAqIEBp bml0aWFsX3htaXRfZGVsYXk6IE51bWJlciBvZiBwaXhlbHMgdG8gZGVsYXkgdGhlIGluaXRpYWwg dHJhbnNtaXNzaW9uCj4gKyAqIEBpbml0aWFsX2RlY19kZWxheTogSW5pdGlhbCBkZWNvZGVyIGRl bGF5LCBudW1iZXIgb2YgcGl4ZWwgdGltZXMgdGhhdCB0aGUKPiArICogICAgICAgICAgICAgICAg ICAgICBkZWNvZXIgYWNjdW11bGF0ZXMgZGF0YSBpbiBpdHMgcmF0ZSBidWZmZXIgYmVmb3JlCj4g KyAqICAgICAgICAgICAgICAgICAgICAgc3RhcnRpbmcgdG8gZGVjb2RlIGFuZCBvdXRwdXQgcGl4 ZWxzLgo+ICsgKiBAYmxvY2tfcHJlZF9lbmFibGU6IFRydWUgaWYgYmxvY2sgcHJlZGljdGlvbiBp cyB1c2VkIHRvIGNvZGUgYW55IGdyb3Vwcwo+ICsgKiAgICAgICAgICAgICAgICAgICAgIHdpdGhp biB0aGUgcGljdHVyZS4KPiArICogICAgICAgICAgICAgICAgICAgICBGYWxzZSBpZiBCUCBub3Qg dXNlZAo+ICsgKiBAZmlyc3RfbGluZV9icGdfb2Zmc2V0OiBOdW1iZXIgb2YgYWRkaXRpb25hbCBi aXRzIGFsbG9jYXRlZCBmb3IgZWFjaCBncm91cCBvbgo+ICsgKiAgICAgICAgICAgICAgICAgICAg ICAgICB0aGUgZmlyc3QgbGluZSBvZiBzbGljZS4KPiArICogQGluaXRpYWxfb2Zmc2V0OiBWYWx1 ZSB0byB1c2UgZm9yIFJDIG1vZGVsIG9mZnNldCBhdCBzbGljZSBzdGFydAo+ICsgKiBAcmNfYnVm X3RocmVzaDogVGhyZXNob2xkcyBkZWZpbmluZyBlYWNoIG9mIHRoZSBidWZmZXIgcmFuZ2VzCj4g KyAqIEByY19yYW5nZV9wYXJhbXM6IFBhcmFtZXRlcnMgZm9yIGVhY2ggb2YgdGhlIFJDIHJhbmdl cyBkZWZpbmVkIGluCj4gKyAqICAgICAgICAgICAgICAgICAgICZzdHJ1Y3QgZHJtX2RzY19yY19y YW5nZV9wYXJhbWV0ZXJzCj4gKyAqIEByY19tb2RlbF9zaXplOiBUb3RhbCBzaXplIG9mIFJDIG1v ZGVsCj4gKyAqIEBmbGF0bmVzc19taW5fcXA6IE1pbmltdW0gUVAgd2hlcmUgZmxhdG5lc3MgaW5m b3JtYXRpb24gaXMgc2VudAo+ICsgKiBAZmxhdG5lc3NfbWF4X3FwOiBNYXhpbXVtIFFQIHdoZXJl IGZsYXRuZXNzIGluZm9ybWF0aW9uIGlzIHNlbnQKPiArICogQGluaXRpYWxfc2NhbGVfdmFsdWU6 IEluaXRpYWwgdmFsdWUgZm9yIHRoZSBzY2FsZSBmYWN0b3IKPiArICogQHNjYWxlX2RlY3JlbWVu dF9pbnRlcnZhbDogU3BlY2lmaWVzIG51bWJlciBvZiBncm91cCB0aW1lcyBiZXR3ZWVuCj4gKyAq ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY3JlbWVudGluZyB0aGUgc2NhbGUgZmFjdG9y IGF0IGJlZ2lubmluZwo+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBhIHNsaWNl Lgo+ICsgKiBAc2NhbGVfaW5jcmVtZW50X2ludGVydmFsOiBOdW1iZXIgb2YgZ3JvdXAgdGltZXMg YmV0d2VlbiBpbmNyZW1lbnRpbmcKPiArICogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhl IHNjYWxlIGZhY3RvciB2YWx1ZSB1c2VkIGF0IHRoZSBiZWdpbm5pbmcKPiArICogICAgICAgICAg ICAgICAgICAgICAgICAgICAgb2YgYSBzbGljZS4KPiArICogQG5mbF9icGdfb2Zmc2V0OiBOb24g Zmlyc3QgbGluZSBCUEcgb2Zmc2V0IHRvIGJlIHVzZWQKPiArICogQHNsaWNlX2JwZ19vZmZzZXQ6 IEJQRyBvZmZzZXQgdXNlZCB0byBlbmZvcmNlIHNsaWNlIGJpdAo+ICsgKiBAZmluYWxfb2Zmc2V0 OiBGaW5hbCBSQyBsaW5lYXIgdHJhbnNmb3JtYXRpb24gb2Zmc2V0IHZhbHVlCj4gKyAqIEB2YnJf ZW5hYmxlOiBUcnVlIGlmIFZCUiBtb2RlIGlzIGVuYWJsZWQsIGZhbHNlIGlmIGRpc2FibGVkCj4g KyAqIEBtdXhfd29yZF9zaXplOiBNdXggd29yZCBzaXplIChpbiBiaXRzKSBmb3IgU1NNIG1vZGUK PiArICogQHNsaWNlX2NodW5rX3NpemU6IFRoZSAobWF4KSBzaXplIGluIGJ5dGVzIG9mIHRoZSAi Y2h1bmtzIiB0aGF0IGFyZQo+ICsgKiAgICAgICAgICAgICAgICAgICAgdXNlZCBpbiBzbGljZSBt dWx0aXBsZXhpbmcuCj4gKyAqIEByY19iaXRzOiBSYXRlIGNvbnRyb2wgYnVmZmVyIHNpemUgaW4g Yml0cwo+ICsgKiBAZHNjX3ZlcnNpb25fbWlub3I6IERTQyBtaW5vciB2ZXJzaW9uCj4gKyAqIEBk c2NfdmVyc2lvbl9tYWpvcjogRFNDIG1ham9yIHZlcnNpb24KPiArICogQG5hdGl2ZV80MjI6IFRy dWUgaWYgTmF0aXZlIDQ6MjoyIHN1cHBvcnRlZCwgZWxzZSBmYWxzZQo+ICsgKiBAbmF0aXZlXzQy MDogVHJ1ZSBpZiBOYXRpdmUgNDoyOjAgc3VwcG9ydGVkIGVsc2UgZmFsc2UuCj4gKyAqIEBzZWNv bmRfbGluZV9icGdfb2Zmc2V0OiBBZGRpdGlvbmFsIGJpdHMvZ3JwIGZvciBzZWNvbm5kIGxpbmUg b2Ygc2xpY2UgZm9yCj4gKyAqICAgICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmUgNDoyOjAK PiArICogQG5zbF9icGdfb2Zmc2V0OiBOdW0gb2YgYml0cyBkZWFsbG9jYXRlZCBmb3IgZWFjaCBn cnAgdGhhdCBpcyBub3QgaW4gc2Vjb25kCj4gKyAqICAgICAgICAgICAgICAgICAgbGluZSBvZiBz bGljZQo+ICsgKiBAc2Vjb25kX2xpbmVfb2Zmc2V0X2FkajogT2Zmc2V0IGFkanVzdG1lbnQgZm9y IHNlY29uZCBsaW5lIGluIE5hdGl2ZSA0OjI6MAo+ICsgKiAgICAgICAgICAgICAgICAgICAgICAg ICAgbW9kZQoKWWVhaCBJIHRoaW5rIHRoaXMgaXMgYSBjbGVhciBleGFtcGxlIG9mIHdoZXJlIHN0 cnVjdCBjb21tZW50cyBhbGwgaW4gdGhlCnRvcCBpcyBtdWNoIHdvcnNlIHRoYW4gaW5saW5lIGNv bW1lbnRzLiBQbGVhc2UgZ28gd2l0aCB0aGUgaW5saW5lIHN0eWxlCmhlcmUuCgpDaGVlcnMsIERh bmllbAoKPiArICovCj4gIHN0cnVjdCBkcm1fZHNjX2NvbmZpZyB7Cj4gLQkvKiBCaXRzIC8gY29t cG9uZW50IGZvciBwcmV2aW91cyByZWNvbnN0cnVjdGVkIGxpbmUgYnVmZmVyICovCj4gIAl1OCBs aW5lX2J1Zl9kZXB0aDsKPiAtCS8qIEJpdHMgcGVyIGNvbXBvbmVudCB0byBjb2RlIChtdXN0IGJl IDgsIDEwLCBvciAxMikgKi8KPiAgCXU4IGJpdHNfcGVyX2NvbXBvbmVudDsKPiAtCS8qCj4gLQkg KiBGbGFnIGluZGljYXRpbmcgdG8gZG8gUkdCIC0gWUNvQ2cgY29udmVyc2lvbgo+IC0JICogYW5k IGJhY2sgKHNob3VsZCBiZSAxIGZvciBSR0IgaW5wdXQpCj4gLQkgKi8KPiAgCWJvb2wgY29udmVy dF9yZ2I7Cj4gIAl1OCBzbGljZV9jb3VudDsKPiAtCS8qIFNsaWNlIFdpZHRoICovCj4gIAl1MTYg c2xpY2Vfd2lkdGg7Cj4gLQkvKiBTbGljZSBIZWlnaHQgKi8KPiAgCXUxNiBzbGljZV9oZWlnaHQ7 Cj4gLQkvKgo+IC0JICogNDoyOjIgZW5hYmxlIG1vZGUgKGZyb20gUFBTLCA0OjI6MiBjb252ZXJz aW9uIGhhcHBlbnMKPiAtCSAqIG91dHNpZGUgb2YgRFNDIGVuY29kZS9kZWNvZGUgYWxnb3JpdGht KQo+IC0JICovCj4gIAlib29sIGVuYWJsZTQyMjsKPiAtCS8qIFBpY3R1cmUgV2lkdGggKi8KPiAg CXUxNiBwaWNfd2lkdGg7Cj4gLQkvKiBQaWN0dXJlIEhlaWdodCAqLwo+ICAJdTE2IHBpY19oZWln aHQ7Cj4gLQkvKiBPZmZzZXQgdG8gYml0cy9ncm91cCB1c2VkIGJ5IFJDIHRvIGRldGVybWluZSBR UCBhZGp1c3RtZW50ICovCj4gIAl1OCByY190Z3Rfb2Zmc2V0X2hpZ2g7Cj4gLQkvKiBPZmZzZXQg dG8gYml0cy9ncm91cCB1c2VkIGJ5IFJDIHRvIGRldGVybWluZSBRUCBhZGp1c3RtZW50ICovCj4g IAl1OCByY190Z3Rfb2Zmc2V0X2xvdzsKPiAtCS8qIEJpdHMvcGl4ZWwgdGFyZ2V0IDw8IDQgKGll LiwgNCBmcmFjdGlvbmFsIGJpdHMpICovCj4gIAl1MTYgYml0c19wZXJfcGl4ZWw7Cj4gLQkvKgo+ IC0JICogRmFjdG9yIHRvIGRldGVybWluZSBpZiBhbiBlZGdlIGlzIHByZXNlbnQgYmFzZWQKPiAt CSAqIG9uIHRoZSBiaXRzIHByb2R1Y2VkCj4gLQkgKi8KPiAgCXU4IHJjX2VkZ2VfZmFjdG9yOwo+ IC0JLyogU2xvdyBkb3duIGluY3JlbWVudGluZyBvbmNlIHRoZSByYW5nZSByZWFjaGVzIHRoaXMg dmFsdWUgKi8KPiAgCXU4IHJjX3F1YW50X2luY3JfbGltaXQxOwo+IC0JLyogU2xvdyBkb3duIGlu Y3JlbWVudGluZyBvbmNlIHRoZSByYW5nZSByZWFjaGVzIHRoaXMgdmFsdWUgKi8KPiAgCXU4IHJj X3F1YW50X2luY3JfbGltaXQwOwo+IC0JLyogTnVtYmVyIG9mIHBpeGVscyB0byBkZWxheSB0aGUg aW5pdGlhbCB0cmFuc21pc3Npb24gKi8KPiAgCXUxNiBpbml0aWFsX3htaXRfZGVsYXk7Cj4gLQkv KiBOdW1iZXIgb2YgcGl4ZWxzIHRvIGRlbGF5IHRoZSBWTEQgb24gdGhlIGRlY29kZXIsbm90IGlu Y2x1ZGluZyBTU00gKi8KPiAgCXUxNiAgaW5pdGlhbF9kZWNfZGVsYXk7Cj4gLQkvKiBCbG9jayBw cmVkaWN0aW9uIGVuYWJsZSAqLwo+ICAJYm9vbCBibG9ja19wcmVkX2VuYWJsZTsKPiAtCS8qIEJp dHMvZ3JvdXAgb2Zmc2V0IHRvIHVzZSBmb3IgZmlyc3QgbGluZSBvZiB0aGUgc2xpY2UgKi8KPiAg CXU4IGZpcnN0X2xpbmVfYnBnX29mZnNldDsKPiAtCS8qIFZhbHVlIHRvIHVzZSBmb3IgUkMgbW9k ZWwgb2Zmc2V0IGF0IHNsaWNlIHN0YXJ0ICovCj4gIAl1MTYgaW5pdGlhbF9vZmZzZXQ7Cj4gLQkv KiBUaHJlc2hvbGRzIGRlZmluaW5nIGVhY2ggb2YgdGhlIGJ1ZmZlciByYW5nZXMgKi8KPiAgCXUx NiByY19idWZfdGhyZXNoW0RTQ19OVU1fQlVGX1JBTkdFUyAtIDFdOwo+IC0JLyogUGFyYW1ldGVy cyBmb3IgZWFjaCBvZiB0aGUgUkMgcmFuZ2VzICovCj4gIAlzdHJ1Y3QgZHJtX2RzY19yY19yYW5n ZV9wYXJhbWV0ZXJzIHJjX3JhbmdlX3BhcmFtc1tEU0NfTlVNX0JVRl9SQU5HRVNdOwo+IC0JLyog VG90YWwgc2l6ZSBvZiBSQyBtb2RlbCAqLwo+ICAJdTE2IHJjX21vZGVsX3NpemU7Cj4gLQkvKiBN aW5pbXVtIFFQIHdoZXJlIGZsYXRuZXNzIGluZm9ybWF0aW9uIGlzIHNlbnQgKi8KPiAgCXU4IGZs YXRuZXNzX21pbl9xcDsKPiAtCS8qIE1heGltdW0gUVAgd2hlcmUgZmxhdG5lc3MgaW5mb3JtYXRp b24gaXMgc2VudCAqLwo+ICAJdTggZmxhdG5lc3NfbWF4X3FwOwo+IC0JLyogSW5pdGlhbCB2YWx1 ZSBmb3Igc2NhbGUgZmFjdG9yICovCj4gIAl1OCBpbml0aWFsX3NjYWxlX3ZhbHVlOwo+IC0JLyog RGVjcmVtZW50IHNjYWxlIGZhY3RvciBldmVyeSBzY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWwgZ3Jv dXBzICovCj4gIAl1MTYgc2NhbGVfZGVjcmVtZW50X2ludGVydmFsOwo+IC0JLyogSW5jcmVtZW50 IHNjYWxlIGZhY3RvciBldmVyeSBzY2FsZV9pbmNyZW1lbnRfaW50ZXJ2YWwgZ3JvdXBzICovCj4g IAl1MTYgc2NhbGVfaW5jcmVtZW50X2ludGVydmFsOwo+IC0JLyogTm9uLWZpcnN0IGxpbmUgQlBH IG9mZnNldCB0byB1c2UgKi8KPiAgCXUxNiBuZmxfYnBnX29mZnNldDsKPiAtCS8qIEJQRyBvZmZz ZXQgdXNlZCB0byBlbmZvcmNlIHNsaWNlIGJpdCAqLwo+ICAJdTE2IHNsaWNlX2JwZ19vZmZzZXQ7 Cj4gLQkvKiBGaW5hbCBSQyBsaW5lYXIgdHJhbnNmb3JtYXRpb24gb2Zmc2V0IHZhbHVlICovCj4g IAl1MTYgZmluYWxfb2Zmc2V0Owo+IC0JLyogRW5hYmxlIG9uLW9mZiBWQlIgKGllLiwgZGlzYWJs ZSBzdHVmZmluZyBiaXRzKSAqLwo+ICAJYm9vbCB2YnJfZW5hYmxlOwo+IC0JLyogTXV4IHdvcmQg c2l6ZSAoaW4gYml0cykgZm9yIFNTTSBtb2RlICovCj4gIAl1OCBtdXhfd29yZF9zaXplOwo+IC0J LyoKPiAtCSAqIFRoZSAobWF4KSBzaXplIGluIGJ5dGVzIG9mIHRoZSAiY2h1bmtzIiB0aGF0IGFy ZQo+IC0JICogdXNlZCBpbiBzbGljZSBtdWx0aXBsZXhpbmcKPiAtCSAqLwo+ICAJdTE2IHNsaWNl X2NodW5rX3NpemU7Cj4gLQkvKiBSYXRlIENvbnRyb2wgYnVmZmVyIHNpeiBpbiBiaXRzICovCj4g IAl1MTYgcmNfYml0czsKPiAtCS8qIERTQyBNaW5vciBWZXJzaW9uICovCj4gIAl1OCBkc2NfdmVy c2lvbl9taW5vcjsKPiAtCS8qIERTQyBNYWpvciB2ZXJzaW9uICovCj4gIAl1OCBkc2NfdmVyc2lv bl9tYWpvcjsKPiAtCS8qIE5hdGl2ZSA0OjI6MiBzdXBwb3J0ICovCj4gIAlib29sIG5hdGl2ZV80 MjI7Cj4gLQkvKiBOYXRpdmUgNDoyOjAgc3VwcG9ydCAqLwo+ICAJYm9vbCBuYXRpdmVfNDIwOwo+ IC0JLyogQWRkaXRpb25hbCBiaXRzL2dycCBmb3Igc2Vjb25uZCBsaW5lIG9mIHNsaWNlIGZvciBu YXRpdmUgNDoyOjAgKi8KPiAgCXU4IHNlY29uZF9saW5lX2JwZ19vZmZzZXQ7Cj4gLQkvKiBOdW0g b2YgYml0cyBkZWFsbG9jYXRlZCBmb3IgZWFjaCBncnAgdGhhdCBpcyBub3QgaW4gc2Vjb25kIGxp bmUgb2Ygc2xpY2UgKi8KPiAgCXUxNiBuc2xfYnBnX29mZnNldDsKPiAtCS8qIE9mZnNldCBhZGog ZnIgc2Vjb25kIGxpbmUgaW4gTmF0aXZlIDQ6MjowIG1vZGUgKi8KPiAgCXUxNiBzZWNvbmRfbGlu ZV9vZmZzZXRfYWRqOwo+ICB9Owo+ICAKPiBAQCAtNDY4LDEwICs0ODUsMTMgQEAgc3RydWN0IGRy bV9kc2NfcGljdHVyZV9wYXJhbWV0ZXJfc2V0IHsKPiAgICogVGhpcyBzdHJ1Y3R1cmUgcmVwcmVz ZW50cyB0aGUgRFNDIFBQUyBpbmZvZnJhbWUgcmVxdWlyZWQgdG8gc2VuZCB0aGUgUGljdHVyZQo+ ICAgKiBQYXJhbWV0ZXIgU2V0IG1ldGFkYXRhIHJlcXVpcmVkIGJlZm9yZSBlbmFibGluZyBWRVNB IERpc3BsYXkgU3RyZWFtCj4gICAqIENvbXByZXNzaW9uLiBUaGlzIGlzIGJhc2VkIG9uIHRoZSBE UCBTZWNvbmRhcnkgRGF0YSBQYWNrZXQgc3RydWN0dXJlIGFuZAo+IC0gKiBjb21wcmlzZXMgb2Yg U0RQIEhlYWRlciBhcyBkZWZpbmVkIGluIGRybV9kcF9oZWxwZXIuaCBhbmQgUFBTIHBheWxvYWQu Cj4gKyAqIGNvbXByaXNlcyBvZiBTRFAgSGVhZGVyIGFzIGRlZmluZWQgJnN0cnVjdCBzdHJ1Y3Qg ZHBfc2RwX2hlYWRlciBpbiBkcm1fZHBfaGVscGVyLmgKPiArICogYW5kIFBQUyBwYXlsb2FkIGRl ZmluZWQgaW4gJnN0cnVjdCBkcm1fZHNjX3BpY3R1cmVfcGFyYW1ldGVyX3NldC4KPiAgICoKPiAt ICogQHBwc19oZWFkZXI6IEhlYWRlciBmb3IgUFBTIGFzIHBlciBEUCBTRFAgaGVhZGVyIGZvcm1h dAo+ICsgKiBAcHBzX2hlYWRlcjogSGVhZGVyIGZvciBQUFMgYXMgcGVyIERQIFNEUCBoZWFkZXIg Zm9ybWF0IG9mIHR5cGUKPiArICogICAgICAgICAgICAgICZzdHJ1Y3QgZHBfc2RwX2hlYWRlcgo+ ICAgKiBAcHBzX3BheWxvYWQ6IFBQUyBwYXlsb2FkIGZpZWxkcyBhcyBwZXIgRFNDIHNwZWNpZmlj YXRpb24gVGFibGUgNC0xCj4gKyAqICAgICAgICAgICAgICAgYXMgcmVwcmVzZW50ZWQgaW4gJnN0 cnVjdCBkcm1fZHNjX3BpY3R1cmVfcGFyYW1ldGVyX3NldAo+ICAgKi8KPiAgc3RydWN0IGRybV9k c2NfcHBzX2luZm9mcmFtZSB7Cj4gIAlzdHJ1Y3QgZHBfc2RwX2hlYWRlciBwcHNfaGVhZGVyOwo+ IC0tIAo+IDIuMTkuMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVs IENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=