From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerome Glisse Subject: Re: [PATCH 29/88] drm/amdgpu: add amdgpu uapi header (v4) Date: Fri, 5 Jun 2015 14:57:35 -0400 Message-ID: <20150605185732.GA14653@gmail.com> References: <1432696827-3752-1-git-send-email-alexander.deucher@amd.com> <1432696827-3752-2-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qg0-f51.google.com (mail-qg0-f51.google.com [209.85.192.51]) by gabe.freedesktop.org (Postfix) with ESMTP id 1E7AC721BE for ; Fri, 5 Jun 2015 11:57:44 -0700 (PDT) Received: by qgh96 with SMTP id 96so5376388qgh.0 for ; Fri, 05 Jun 2015 11:57:43 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1432696827-3752-2-git-send-email-alexander.deucher@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Alex Deucher Cc: Alex Deucher , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBNYXkgMjYsIDIwMTUgYXQgMTE6MTk6MzFQTSAtMDQwMCwgQWxleCBEZXVjaGVyIHdy b3RlOgo+IFRoaXMgaGVhZGVyIGRlZmluZXMgdGhlIGlvY3RsIGludGVyZmFjZSB0byB0aGUgZHJp dmVyLgo+IAo+IHYyOiByZW1vdmUgc3RhbGUgdGlsaW5nIGRlZmluZXMKPiB2MzogYWRkIGFwcHJv cHJpYXRlIHBhZGRpbmcKPiB2NDogcmVtb3ZlIGV4ZWN1dGFibGUgYml0cyBvbiBoZWFkZXIKPiAK PiBBY2tlZC1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+ IEFja2VkLWJ5OiBKYW1teSBaaG91IDxKYW1teS5aaG91QGFtZC5jb20+Cj4gU2lnbmVkLW9mZi1i eTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgo+IC0tLQo+ICBpbmNs dWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaCB8IDU5MCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKPiAgMSBmaWxlIGNoYW5nZWQsIDU5MCBpbnNlcnRpb25zKCspCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaAo+IAo+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9k cm0vYW1kZ3B1X2RybS5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi45 ZTc3MWZiCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2Ry bS5oCj4gQEAgLTAsMCArMSw1OTAgQEAKPiArLyogYW1kZ3B1X2RybS5oIC0tIFB1YmxpYyBoZWFk ZXIgZm9yIHRoZSBhbWRncHUgZHJpdmVyIC0qLSBsaW51eC1jIC0qLQo+ICsgKgo+ICsgKiBDb3B5 cmlnaHQgMjAwMCBQcmVjaXNpb24gSW5zaWdodCwgSW5jLiwgQ2VkYXIgUGFyaywgVGV4YXMuCj4g KyAqIENvcHlyaWdodCAyMDAwIFZBIExpbnV4IFN5c3RlbXMsIEluYy4sIEZyZW1vbnQsIENhbGlm b3JuaWEuCj4gKyAqIENvcHlyaWdodCAyMDAyIFR1bmdzdGVuIEdyYXBoaWNzLCBJbmMuLCBDZWRh ciBQYXJrLCBUZXhhcy4KPiArICogQ29weXJpZ2h0IDIwMTQgQWR2YW5jZWQgTWljcm8gRGV2aWNl cywgSW5jLgo+ICsgKgo+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+ICsgKiBjb3B5IG9mIHRoaXMgc29m dHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIp LAo+ICsgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs dWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCj4gKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBt b2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAo+ICsgKiBhbmQv b3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8g d2hvbSB0aGUKPiArICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKPiArICoKPiArICogVGhlIGFib3ZlIGNvcHlyaWdo dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4K PiArICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUu Cj4gKyAqCj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB UlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4gKyAqIElNUExJRUQsIElOQ0xVRElORyBC VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAo+ICsg KiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAg SU4gTk8gRVZFTlQgU0hBTEwKPiArICogVEhFIENPUFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9S KFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SCj4gKyAqIE9USEVSIExJQUJJ TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNF LAo+ICsgKiBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNP RlRXQVJFIE9SIFRIRSBVU0UgT1IKPiArICogT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJF Lgo+ICsgKgo+ICsgKiBBdXRob3JzOgo+ICsgKiAgICBLZXZpbiBFLiBNYXJ0aW4gPG1hcnRpbkB2 YWxpbnV4LmNvbT4KPiArICogICAgR2FyZXRoIEh1Z2hlcyA8Z2FyZXRoQHZhbGludXguY29tPgo+ ICsgKiAgICBLZWl0aCBXaGl0d2VsbCA8a2VpdGhAdHVuZ3N0ZW5ncmFwaGljcy5jb20+Cj4gKyAq Lwo+ICsKPiArI2lmbmRlZiBfX0FNREdQVV9EUk1fSF9fCj4gKyNkZWZpbmUgX19BTURHUFVfRFJN X0hfXwo+ICsKPiArI2luY2x1ZGUgPGRybS9kcm0uaD4KPiArCj4gKyNkZWZpbmUgRFJNX0FNREdQ VV9HRU1fQ1JFQVRFCQkweDAwCj4gKyNkZWZpbmUgRFJNX0FNREdQVV9HRU1fTU1BUAkJMHgwMQo+ ICsjZGVmaW5lIERSTV9BTURHUFVfQ1RYCQkJMHgwMgo+ICsjZGVmaW5lIERSTV9BTURHUFVfQk9f TElTVAkJMHgwMwo+ICsjZGVmaW5lIERSTV9BTURHUFVfQ1MJCQkweDA0Cj4gKyNkZWZpbmUgRFJN X0FNREdQVV9JTkZPCQkJMHgwNQo+ICsjZGVmaW5lIERSTV9BTURHUFVfR0VNX01FVEFEQVRBCQkw eDA2Cj4gKyNkZWZpbmUgRFJNX0FNREdQVV9HRU1fV0FJVF9JRExFCTB4MDcKPiArI2RlZmluZSBE Uk1fQU1ER1BVX0dFTV9WQQkJMHgwOAo+ICsjZGVmaW5lIERSTV9BTURHUFVfV0FJVF9DUwkJMHgw OQo+ICsjZGVmaW5lIERSTV9BTURHUFVfR0VNX09QCQkweDEwCj4gKyNkZWZpbmUgRFJNX0FNREdQ VV9HRU1fVVNFUlBUUgkJMHgxMQo+ICsKPiArI2RlZmluZSBEUk1fSU9DVExfQU1ER1BVX0dFTV9D UkVBVEUJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9BTURHUFVfR0VNX0NSRUFURSwg dW5pb24gZHJtX2FtZGdwdV9nZW1fY3JlYXRlKQo+ICsjZGVmaW5lIERSTV9JT0NUTF9BTURHUFVf R0VNX01NQVAJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9BTURHUFVfR0VNX01NQVAs IHVuaW9uIGRybV9hbWRncHVfZ2VtX21tYXApCj4gKyNkZWZpbmUgRFJNX0lPQ1RMX0FNREdQVV9D VFgJCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fQU1ER1BVX0NUWCwgdW5pb24gZHJt X2FtZGdwdV9jdHgpCj4gKyNkZWZpbmUgRFJNX0lPQ1RMX0FNREdQVV9CT19MSVNUCURSTV9JT1dS KERSTV9DT01NQU5EX0JBU0UgKyBEUk1fQU1ER1BVX0JPX0xJU1QsIHVuaW9uIGRybV9hbWRncHVf Ym9fbGlzdCkKPiArI2RlZmluZSBEUk1fSU9DVExfQU1ER1BVX0NTCQlEUk1fSU9XUihEUk1fQ09N TUFORF9CQVNFICsgRFJNX0FNREdQVV9DUywgdW5pb24gZHJtX2FtZGdwdV9jcykKPiArI2RlZmlu ZSBEUk1fSU9DVExfQU1ER1BVX0lORk8JCURSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9B TURHUFVfSU5GTywgc3RydWN0IGRybV9hbWRncHVfaW5mbykKPiArI2RlZmluZSBEUk1fSU9DVExf QU1ER1BVX0dFTV9NRVRBREFUQQlEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0FNREdQ VV9HRU1fTUVUQURBVEEsIHN0cnVjdCBkcm1fYW1kZ3B1X2dlbV9tZXRhZGF0YSkKPiArI2RlZmlu ZSBEUk1fSU9DVExfQU1ER1BVX0dFTV9XQUlUX0lETEUJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFT RSArIERSTV9BTURHUFVfR0VNX1dBSVRfSURMRSwgdW5pb24gZHJtX2FtZGdwdV9nZW1fd2FpdF9p ZGxlKQo+ICsjZGVmaW5lIERSTV9JT0NUTF9BTURHUFVfR0VNX1ZBCQlEUk1fSU9XUihEUk1fQ09N TUFORF9CQVNFICsgRFJNX0FNREdQVV9HRU1fVkEsIHVuaW9uIGRybV9hbWRncHVfZ2VtX3ZhKQo+ ICsjZGVmaW5lIERSTV9JT0NUTF9BTURHUFVfV0FJVF9DUwlEUk1fSU9XUihEUk1fQ09NTUFORF9C QVNFICsgRFJNX0FNREdQVV9XQUlUX0NTLCB1bmlvbiBkcm1fYW1kZ3B1X3dhaXRfY3MpCj4gKyNk ZWZpbmUgRFJNX0lPQ1RMX0FNREdQVV9HRU1fT1AJCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0Ug KyBEUk1fQU1ER1BVX0dFTV9PUCwgc3RydWN0IGRybV9hbWRncHVfZ2VtX29wKQo+ICsjZGVmaW5l IERSTV9JT0NUTF9BTURHUFVfR0VNX1VTRVJQVFIJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSAr IERSTV9BTURHUFVfR0VNX1VTRVJQVFIsIHN0cnVjdCBkcm1fYW1kZ3B1X2dlbV91c2VycHRyKQo+ ICsKPiArI2RlZmluZSBBTURHUFVfR0VNX0RPTUFJTl9DUFUJCTB4MQo+ICsjZGVmaW5lIEFNREdQ VV9HRU1fRE9NQUlOX0dUVAkJMHgyCj4gKyNkZWZpbmUgQU1ER1BVX0dFTV9ET01BSU5fVlJBTQkJ MHg0Cj4gKyNkZWZpbmUgQU1ER1BVX0dFTV9ET01BSU5fR0RTCQkweDgKPiArI2RlZmluZSBBTURH UFVfR0VNX0RPTUFJTl9HV1MJCTB4MTAKPiArI2RlZmluZSBBTURHUFVfR0VNX0RPTUFJTl9PQQkJ MHgyMAoKQ2FuIHdlIGdldCBhIGRlc2NyaXB0aW9uIG9uIHRoaXMgbmV3IGRvbWFpbnMgKEdEUywg R1dTLCBPQSkgPwoKPiArCj4gKyNkZWZpbmUgQU1ER1BVX0dFTV9ET01BSU5fTUFTSwkJMHgzRgo+ ICsKPiArLyogRmxhZyB0aGF0IENQVSBhY2Nlc3Mgd2lsbCBiZSByZXF1aXJlZCBmb3IgdGhlIGNh c2Ugb2YgVlJBTSBkb21haW4gKi8KPiArI2RlZmluZSBBTURHUFVfR0VNX0NSRUFURV9DUFVfQUND RVNTX1JFUVVJUkVECSgxIDw8IDApCj4gKy8qIEZsYWcgdGhhdCBDUFUgYWNjZXNzIHdpbGwgbm90 IHdvcmssIHRoaXMgVlJBTSBkb21haW4gaXMgaW52aXNpYmxlICovCj4gKyNkZWZpbmUgQU1ER1BV X0dFTV9DUkVBVEVfTk9fQ1BVX0FDQ0VTUwkJKDEgPDwgMSkKPiArLyogRmxhZyB0aGF0IHVuLWNh Y2hlZCBhdHRyaWJ1dGVzIHNob3VsZCBiZSB1c2VkIGZvciBHVFQgKi8KPiArI2RlZmluZSBBTURH UFVfR0VNX0NSRUFURV9DUFVfR1RUX1VDCQkoMSA8PCAyKQo+ICsvKiBGbGFnIHRoYXQgVVNXQyBh dHRyaWJ1dGVzIHNob3VsZCBiZSB1c2VkIGZvciBHVFQgKi8KPiArI2RlZmluZSBBTURHUFVfR0VN X0NSRUFURV9DUFVfR1RUX1dDCQkoMSA8PCAzKQo+ICsKPiArLyogRmxhZyBtYXNrIGZvciBHVFQg ZG9tYWluX2ZsYWdzICovCj4gKyNkZWZpbmUgQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0dUVF9NQVNL IFwKPiArCShBTURHUFVfR0VNX0NSRUFURV9DUFVfR1RUX1dDIHwgXAo+ICsJIEFNREdQVV9HRU1f Q1JFQVRFX0NQVV9HVFRfVUMgfCBcCj4gKwkgQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19S RVFVSVJFRCB8IFwKPiArCSBBTURHUFVfR0VNX0NSRUFURV9OT19DUFVfQUNDRVNTKQo+ICsKPiAr c3RydWN0IGRybV9hbWRncHVfZ2VtX2NyZWF0ZV9pbiAgewo+ICsJLyoqIHRoZSByZXF1ZXN0ZWQg bWVtb3J5IHNpemUgKi8KPiArCXVpbnQ2NF90IGJvX3NpemU7Cj4gKwkvKiogcGh5c2ljYWwgc3Rh cnRfYWRkciBhbGlnbm1lbnQgaW4gYnl0ZXMgZm9yIHNvbWUgSFcgcmVxdWlyZW1lbnRzICovCj4g Kwl1aW50NjRfdCBhbGlnbm1lbnQ7Cj4gKwkvKiogdGhlIHJlcXVlc3RlZCBtZW1vcnkgZG9tYWlu cyAqLwo+ICsJdWludDY0X3QgZG9tYWluczsKPiArCS8qKiBhbGxvY2F0aW9uIGZsYWdzICovCj4g Kwl1aW50NjRfdCBkb21haW5fZmxhZ3M7Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgZHJtX2FtZGdwdV9n ZW1fY3JlYXRlX291dCAgewo+ICsJLyoqIHJldHVybmVkIEdFTSBvYmplY3QgaGFuZGxlICovCj4g Kwl1aW50MzJfdCBoYW5kbGU7Cj4gKwl1aW50MzJfdCBfcGFkOwo+ICt9Owo+ICsKPiArdW5pb24g ZHJtX2FtZGdwdV9nZW1fY3JlYXRlIHsKPiArCXN0cnVjdCBkcm1fYW1kZ3B1X2dlbV9jcmVhdGVf aW4JCWluOwo+ICsJc3RydWN0IGRybV9hbWRncHVfZ2VtX2NyZWF0ZV9vdXQJb3V0Owo+ICt9Owo+ ICsKPiArLyoqIE9wY29kZSB0byBjcmVhdGUgbmV3IHJlc2lkZW5jeSBsaXN0LiAgKi8KPiArI2Rl ZmluZSBBTURHUFVfQk9fTElTVF9PUF9DUkVBVEUJMAo+ICsvKiogT3Bjb2RlIHRvIGRlc3Ryb3kg cHJldmlvdXNseSBjcmVhdGVkIHJlc2lkZW5jeSBsaXN0ICovCj4gKyNkZWZpbmUgQU1ER1BVX0JP X0xJU1RfT1BfREVTVFJPWQkxCj4gKy8qKiBPcGNvZGUgdG8gdXBkYXRlIHJlc291cmNlIGluZm9y bWF0aW9uIGluIHRoZSBsaXN0ICovCj4gKyNkZWZpbmUgQU1ER1BVX0JPX0xJU1RfT1BfVVBEQVRF CTIKPiArCj4gK3N0cnVjdCBkcm1fYW1kZ3B1X2JvX2xpc3RfaW4gewo+ICsJLyoqIFR5cGUgb2Yg b3BlcmF0aW9uICovCj4gKwl1aW50MzJfdCBvcGVyYXRpb247Cj4gKwkvKiogSGFuZGxlIG9mIGxp c3Qgb3IgMCBpZiB3ZSB3YW50IHRvIGNyZWF0ZSBvbmUgKi8KPiArCXVpbnQzMl90IGxpc3RfaGFu ZGxlOwo+ICsJLyoqIE51bWJlciBvZiBCT3MgaW4gbGlzdCAgKi8KPiArCXVpbnQzMl90IGJvX251 bWJlcjsKPiArCS8qKiBTaXplIG9mIGVhY2ggZWxlbWVudCBkZXNjcmliaW5nIEJPICovCj4gKwl1 aW50MzJfdCBib19pbmZvX3NpemU7Cj4gKwkvKiogUG9pbnRlciB0byBhcnJheSBkZXNjcmliaW5n IEJPcyAqLwo+ICsJdWludDY0X3QgYm9faW5mb19wdHI7Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgZHJt X2FtZGdwdV9ib19saXN0X2VudHJ5IHsKPiArCS8qKiBIYW5kbGUgb2YgQk8gKi8KPiArCXVpbnQz Ml90IGJvX2hhbmRsZTsKPiArCS8qKiBOZXcgKGlmIHNwZWNpZmllZCkgQk8gcHJpb3JpdHkgdG8g YmUgdXNlZCBkdXJpbmcgbWlncmF0aW9uICovCj4gKwl1aW50MzJfdCBib19wcmlvcml0eTsKPiAr fTsKPiArCj4gK3N0cnVjdCBkcm1fYW1kZ3B1X2JvX2xpc3Rfb3V0IHsKPiArCS8qKiBIYW5kbGUg b2YgcmVzb3VyY2UgbGlzdCAgKi8KPiArCXVpbnQzMl90IGxpc3RfaGFuZGxlOwo+ICsJdWludDMy X3QgX3BhZDsKPiArfTsKPiArCj4gK3VuaW9uIGRybV9hbWRncHVfYm9fbGlzdCB7Cj4gKwlzdHJ1 Y3QgZHJtX2FtZGdwdV9ib19saXN0X2luIGluOwo+ICsJc3RydWN0IGRybV9hbWRncHVfYm9fbGlz dF9vdXQgb3V0Owo+ICt9Owo+ICsKPiArLyogY29udGV4dCByZWxhdGVkICovCj4gKyNkZWZpbmUg QU1ER1BVX0NUWF9PUF9BTExPQ19DVFgJMQo+ICsjZGVmaW5lIEFNREdQVV9DVFhfT1BfRlJFRV9D VFgJMgo+ICsjZGVmaW5lIEFNREdQVV9DVFhfT1BfUVVFUllfU1RBVEUJMwo+ICsKPiArI2RlZmlu ZSBBTURHUFVfQ1RYX09QX1NUQVRFX1JVTk5JTkcJMQoKU28gdGhpcyBkb2VzIG5vdCBzZWVtcyB0 byBiZSB1c2UgeWV0ID8gQW0gaSBjb3JyZWN0ID8gVGhlbiBiZXR0ZXIKdG8gcmVtb3ZlIGl0IG5v dyBhbmQgaW50cm9kdWNlIGl0IG9uY2UgaXQgaXMgdXNlLgoKPiArCj4gK3N0cnVjdCBkcm1fYW1k Z3B1X2N0eF9pbiB7Cj4gKwl1aW50MzJfdAlvcDsKPiArCXVpbnQzMl90CWZsYWdzOwo+ICsJdWlu dDMyX3QJY3R4X2lkOwo+ICsJdWludDMyX3QJX3BhZDsKPiArfTsKPiArCj4gK3VuaW9uIGRybV9h bWRncHVfY3R4X291dCB7Cj4gKwkJc3RydWN0IHsKPiArCQkJdWludDMyX3QJY3R4X2lkOwo+ICsJ CQl1aW50MzJfdAlfcGFkOwo+ICsJCX0gYWxsb2M7Cj4gKwo+ICsJCXN0cnVjdCB7Cj4gKwkJCXVp bnQ2NF90CWZsYWdzOwo+ICsJCQl1aW50NjRfdAloYW5nczsKPiArCQl9IHN0YXRlOwo+ICt9OwoK VGhlcmUgaXMgbm8gZGVmaW5lIGZvciB0aGUgc3RhdGUuZmxhZ3MgaSB3b3VsZCByYXRoZXIgbGlr ZSBzZWUKZWFjaCB2YWx1ZSB0aGF0IGNhbiBiZSByZXR1cm5lZCB3aXRoIGEgZGVmaW5lLgoKPiAr Cj4gK3VuaW9uIGRybV9hbWRncHVfY3R4IHsKPiArCXN0cnVjdCBkcm1fYW1kZ3B1X2N0eF9pbiBp bjsKPiArCXVuaW9uIGRybV9hbWRncHVfY3R4X291dCBvdXQ7Cj4gK307Cj4gKwo+ICsvKgo+ICsg KiBUaGlzIGlzIG5vdCBhIHJlbGlhYmxlIEFQSSBhbmQgeW91IHNob3VsZCBleHBlY3QgaXQgdG8g ZmFpbCBmb3IgYW55Cj4gKyAqIG51bWJlciBvZiByZWFzb25zIGFuZCBoYXZlIGZhbGxiYWNrIHBh dGggdGhhdCBkbyBub3QgdXNlIHVzZXJwdHIgdG8KPiArICogcGVyZm9ybSBhbnkgb3BlcmF0aW9u Lgo+ICsgKi8KPiArI2RlZmluZSBBTURHUFVfR0VNX1VTRVJQVFJfUkVBRE9OTFkJKDEgPDwgMCkK PiArI2RlZmluZSBBTURHUFVfR0VNX1VTRVJQVFJfQU5PTk9OTFkJKDEgPDwgMSkKPiArI2RlZmlu ZSBBTURHUFVfR0VNX1VTRVJQVFJfVkFMSURBVEUJKDEgPDwgMikKPiArI2RlZmluZSBBTURHUFVf R0VNX1VTRVJQVFJfUkVHSVNURVIJKDEgPDwgMykKPiArCj4gK3N0cnVjdCBkcm1fYW1kZ3B1X2dl bV91c2VycHRyIHsKPiArCXVpbnQ2NF90CQlhZGRyOwo+ICsJdWludDY0X3QJCXNpemU7Cj4gKwl1 aW50MzJfdAkJZmxhZ3M7Cj4gKwl1aW50MzJfdAkJaGFuZGxlOwo+ICt9Owo+ICsKPiArI2RlZmlu ZSBBTURHUFVfVElMSU5HX01BQ1JPCQkJCTB4MQo+ICsjZGVmaW5lIEFNREdQVV9USUxJTkdfTUlD Uk8JCQkJMHgyCj4gKyNkZWZpbmUgQU1ER1BVX1RJTElOR19TV0FQXzE2QklUCQkJMHg0Cj4gKyNk ZWZpbmUgQU1ER1BVX1RJTElOR19SNjAwX05PX1NDQU5PVVQJCQlBTURHUFVfVElMSU5HX1NXQVBf MTZCSVQKPiArI2RlZmluZSBBTURHUFVfVElMSU5HX1NXQVBfMzJCSVQJCQkweDgKPiArLyogdGhp cyBvYmplY3QgcmVxdWlyZXMgYSBzdXJmYWNlIHdoZW4gbWFwcGVkIC0gaS5lLiBmcm9udCBidWZm ZXIgKi8KPiArI2RlZmluZSBBTURHUFVfVElMSU5HX1NVUkZBQ0UJCQkJMHgxMAo+ICsjZGVmaW5l IEFNREdQVV9USUxJTkdfTUlDUk9fU1FVQVJFCQkJMHgyMAo+ICsjZGVmaW5lIEFNREdQVV9USUxJ TkdfRUdfQkFOS1dfU0hJRlQJCQk4Cj4gKyNkZWZpbmUgQU1ER1BVX1RJTElOR19FR19CQU5LV19N QVNLCQkJMHhmCj4gKyNkZWZpbmUgQU1ER1BVX1RJTElOR19FR19CQU5LSF9TSElGVAkJCTEyCj4g KyNkZWZpbmUgQU1ER1BVX1RJTElOR19FR19CQU5LSF9NQVNLCQkJMHhmCj4gKyNkZWZpbmUgQU1E R1BVX1RJTElOR19FR19NQUNST19USUxFX0FTUEVDVF9TSElGVAkxNgo+ICsjZGVmaW5lIEFNREdQ VV9USUxJTkdfRUdfTUFDUk9fVElMRV9BU1BFQ1RfTUFTSwkweGYKPiArI2RlZmluZSBBTURHUFVf VElMSU5HX0VHX1RJTEVfU1BMSVRfU0hJRlQJCTI0Cj4gKyNkZWZpbmUgQU1ER1BVX1RJTElOR19F R19USUxFX1NQTElUX01BU0sJCTB4Zgo+ICsjZGVmaW5lIEFNREdQVV9USUxJTkdfRUdfU1RFTkNJ TF9USUxFX1NQTElUX1NISUZUCTI4Cj4gKyNkZWZpbmUgQU1ER1BVX1RJTElOR19FR19TVEVOQ0lM X1RJTEVfU1BMSVRfTUFTSwkweGYKPiArCj4gKyNkZWZpbmUgQU1ER1BVX0dFTV9NRVRBREFUQV9P UF9TRVRfTUVUQURBVEEgICAgICAgICAgICAgICAgICAxCj4gKyNkZWZpbmUgQU1ER1BVX0dFTV9N RVRBREFUQV9PUF9HRVRfTUVUQURBVEEgICAgICAgICAgICAgICAgICAyCj4gKwo+ICsvKiogVGhl IHNhbWUgc3RydWN0dXJlIGlzIHNoYXJlZCBmb3IgaW5wdXQvb3V0cHV0ICovCj4gK3N0cnVjdCBk cm1fYW1kZ3B1X2dlbV9tZXRhZGF0YSB7Cj4gKwl1aW50MzJfdAloYW5kbGU7CQkvKiBHRU0gT2Jq ZWN0IGhhbmRsZSAqLwo+ICsJdWludDMyX3QJb3A7CQkvKiogRG8gd2Ugd2FudCBnZXQgb3Igc2V0 IG1ldGFkYXRhICovCj4gKwlzdHJ1Y3Qgewo+ICsJCXVpbnQ2NF90CWZsYWdzOwoKU2FtZSBoZXJl IG5vdGhpbmcgZGVzY3JpYmUgZXhwZWN0ZWQgdmFsdWUgZm9yIGZsYWdzCgo+ICsJCXVpbnQ2NF90 CXRpbGluZ19pbmZvOyAvKiBmYW1pbHkgc3BlY2lmaWMgdGlsaW5nIGluZm8gKi8KPiArCQl1aW50 MzJfdAlkYXRhX3NpemVfYnl0ZXM7Cj4gKwkJdWludDMyX3QJZGF0YVs2NF07Cj4gKwl9IGRhdGE7 Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgZHJtX2FtZGdwdV9nZW1fbW1hcF9pbiB7Cj4gKwl1aW50MzJf dCBoYW5kbGU7CQkvKiogdGhlIEdFTSBvYmplY3QgaGFuZGxlICovCj4gKwl1aW50MzJfdCBfcGFk Owo+ICt9Owo+ICsKPiArc3RydWN0IGRybV9hbWRncHVfZ2VtX21tYXBfb3V0IHsKPiArCXVpbnQ2 NF90IGFkZHJfcHRyOwkvKiogbW1hcCBvZmZzZXQgZnJvbSB0aGUgdm1hIG9mZnNldCBtYW5hZ2Vy ICovCj4gK307Cj4gKwo+ICt1bmlvbiBkcm1fYW1kZ3B1X2dlbV9tbWFwIHsKPiArCXN0cnVjdCBk cm1fYW1kZ3B1X2dlbV9tbWFwX2luICAgaW47Cj4gKwlzdHJ1Y3QgZHJtX2FtZGdwdV9nZW1fbW1h cF9vdXQgb3V0Owo+ICt9Owo+ICsKPiArc3RydWN0IGRybV9hbWRncHVfZ2VtX3dhaXRfaWRsZV9p biB7Cj4gKwl1aW50MzJfdCBoYW5kbGU7ICAgCS8qIEdFTSBvYmplY3QgaGFuZGxlICovCj4gKwl1 aW50MzJfdCBmbGFnczsKPiArCXVpbnQ2NF90IHRpbWVvdXQ7IAkvKiBUaW1lb3V0IHRvIHdhaXQu IElmIDAgdGhlbiByZXR1cm5lZCBpbW1lZGlhdGVseSB3aXRoIHRoZSBzdGF0dXMgKi8KPiArfTsK PiArCj4gK3N0cnVjdCBkcm1fYW1kZ3B1X2dlbV93YWl0X2lkbGVfb3V0IHsKPiArCXVpbnQzMl90 IHN0YXR1czsJLyogICBCTyBzdGF0dXM6ICAwIC0gQk8gaXMgaWRsZSwgMSAtIEJPIGlzIGJ1c3kg Ki8KPiArCXVpbnQzMl90IGRvbWFpbjsgLyogIFJldHVybmVkIGN1cnJlbnQgbWVtb3J5IGRvbWFp biAqLwo+ICt9Owo+ICsKPiArdW5pb24gZHJtX2FtZGdwdV9nZW1fd2FpdF9pZGxlIHsKPiArCXN0 cnVjdCBkcm1fYW1kZ3B1X2dlbV93YWl0X2lkbGVfaW4gIGluOwo+ICsJc3RydWN0IGRybV9hbWRn cHVfZ2VtX3dhaXRfaWRsZV9vdXQgb3V0Owo+ICt9Owo+ICsKPiArc3RydWN0IGRybV9hbWRncHVf d2FpdF9jc19pbiB7Cj4gKwl1aW50NjRfdCBoYW5kbGU7Cj4gKwl1aW50NjRfdCB0aW1lb3V0Owo+ ICsJdWludDMyX3QgaXBfdHlwZTsKPiArCXVpbnQzMl90IGlwX2luc3RhbmNlOwo+ICsJdWludDMy X3QgcmluZzsKPiArCXVpbnQzMl90IF9wYWQ7Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgZHJtX2FtZGdw dV93YWl0X2NzX291dCB7Cj4gKwl1aW50NjRfdCBzdGF0dXM7Cj4gK307CgpTYW1lIGhlcmUgbm90 aGluZyB0byBkZWZpbmUgc3RhdHVzICgwIG9yIDEgYnkgcmVhZGluZyB0aGUgY29kZSkKCj4gKwo+ ICt1bmlvbiBkcm1fYW1kZ3B1X3dhaXRfY3Mgewo+ICsJc3RydWN0IGRybV9hbWRncHVfd2FpdF9j c19pbiBpbjsKPiArCXN0cnVjdCBkcm1fYW1kZ3B1X3dhaXRfY3Nfb3V0IG91dDsKPiArfTsKPiAr Cj4gKy8qIFNldHMgb3IgcmV0dXJucyBhIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBhIGJ1ZmZlci4g Ki8KPiArc3RydWN0IGRybV9hbWRncHVfZ2VtX29wIHsKPiArCXVpbnQzMl90CWhhbmRsZTsgLyog YnVmZmVyICovCj4gKwl1aW50MzJfdAlvcDsgICAgIC8qIEFNREdQVV9HRU1fT1BfKiAqLwo+ICsJ dWludDY0X3QJdmFsdWU7ICAvKiBpbnB1dCBvciByZXR1cm4gdmFsdWUgKi8KPiArfTsKPiArCj4g KyNkZWZpbmUgQU1ER1BVX0dFTV9PUF9HRVRfR0VNX0NSRUFURV9JTkZPCQkwCj4gKyNkZWZpbmUg QU1ER1BVX0dFTV9PUF9TRVRfSU5JVElBTF9ET01BSU4JMQo+ICsKPiArI2RlZmluZSBBTURHUFVf VkFfT1BfTUFQCQkJMQo+ICsjZGVmaW5lIEFNREdQVV9WQV9PUF9VTk1BUAkJCTIKPiArCj4gKyNk ZWZpbmUgQU1ER1BVX1ZBX1JFU1VMVF9PSwkJCTAKPiArI2RlZmluZSBBTURHUFVfVkFfUkVTVUxU X0VSUk9SCQkJMQo+ICsjZGVmaW5lIEFNREdQVV9WQV9SRVNVTFRfVkFfSU5WQUxJRF9BTElHTk1F TlQJMgo+ICsKPiArLyogTWFwcGluZyBmbGFncyAqLwo+ICsvKiByZWFkYWJsZSBtYXBwaW5nICov Cj4gKyNkZWZpbmUgQU1ER1BVX1ZNX1BBR0VfUkVBREFCTEUJCSgxIDw8IDEpCj4gKy8qIHdyaXRh YmxlIG1hcHBpbmcgKi8KPiArI2RlZmluZSBBTURHUFVfVk1fUEFHRV9XUklURUFCTEUJKDEgPDwg MikKPiArLyogZXhlY3V0YWJsZSBtYXBwaW5nLCBuZXcgZm9yIFZJICovCj4gKyNkZWZpbmUgQU1E R1BVX1ZNX1BBR0VfRVhFQ1VUQUJMRQkoMSA8PCAzKQo+ICsKPiArc3RydWN0IGRybV9hbWRncHVf Z2VtX3ZhX2luIHsKPiArCS8qIEdFTSBvYmplY3QgaGFuZGxlICovCj4gKwl1aW50MzJfdCBoYW5k bGU7Cj4gKwl1aW50MzJfdCBfcGFkOwo+ICsJLyogbWFwIG9yIHVubWFwKi8KPiArCXVpbnQzMl90 IG9wZXJhdGlvbjsKPiArCS8qIHNwZWNpZnkgbWFwcGluZyBmbGFncyAqLwo+ICsJdWludDMyX3Qg ZmxhZ3M7Cj4gKwkvKiB2YSBhZGRyZXNzIHRvIGFzc2lnbiAuIE11c3QgYmUgY29ycmVjdGx5IGFs aWduZWQuKi8KPiArCXVpbnQ2NF90IHZhX2FkZHJlc3M7Cj4gKwkvKiBTcGVjaWZ5IG9mZnNldCBp bnNpZGUgb2YgQk8gdG8gYXNzaWduLiBNdXN0IGJlIGNvcnJlY3RseSBhbGlnbmVkLiovCj4gKwl1 aW50NjRfdCBvZmZzZXRfaW5fYm87Cj4gKwkvKiBTcGVjaWZ5IG1hcHBpbmcgc2l6ZS4gSWYgMCBh bmQgb2Zmc2V0IGlzIDAgdGhlbiBtYXAgdGhlIHdob2xlIEJPLiovCj4gKwkvKiBNdXN0IGJlIGNv cnJlY3RseSBhbGlnbmVkLiAqLwo+ICsJdWludDY0X3QgbWFwX3NpemU7Cj4gK307Cj4gKwo+ICtz dHJ1Y3QgZHJtX2FtZGdwdV9nZW1fdmFfb3V0IHsKPiArCXVpbnQzMl90IHJlc3VsdDsKPiArCXVp bnQzMl90IF9wYWQ7Cj4gK307Cj4gKwo+ICt1bmlvbiBkcm1fYW1kZ3B1X2dlbV92YSB7Cj4gKwlz dHJ1Y3QgZHJtX2FtZGdwdV9nZW1fdmFfaW4gIGluOwo+ICsJc3RydWN0IGRybV9hbWRncHVfZ2Vt X3ZhX291dCBvdXQ7Cj4gK307Cj4gKwo+ICsjZGVmaW5lIEFNREdQVV9IV19JUF9HRlggICAgICAg ICAgMAo+ICsjZGVmaW5lIEFNREdQVV9IV19JUF9DT01QVVRFICAgICAgMQo+ICsjZGVmaW5lIEFN REdQVV9IV19JUF9ETUEgICAgICAgICAgMgo+ICsjZGVmaW5lIEFNREdQVV9IV19JUF9VVkQgICAg ICAgICAgMwo+ICsjZGVmaW5lIEFNREdQVV9IV19JUF9WQ0UgICAgICAgICAgNAo+ICsjZGVmaW5l IEFNREdQVV9IV19JUF9OVU0gICAgICAgICAgNQo+ICsKPiArI2RlZmluZSBBTURHUFVfSFdfSVBf SU5TVEFOQ0VfTUFYX0NPVU5UIDEKPiArCj4gKyNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX0lCCQkw eDAxCj4gKyNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX0ZFTkNFCQkweDAyCj4gK3N0cnVjdCBkcm1f YW1kZ3B1X2NzX2NodW5rIHsKPiArCXVpbnQzMl90CQljaHVua19pZDsKPiArCXVpbnQzMl90CQls ZW5ndGhfZHc7Cj4gKwl1aW50NjRfdAkJY2h1bmtfZGF0YTsKPiArfTsKPiArCj4gK3N0cnVjdCBk cm1fYW1kZ3B1X2NzX2luIHsKPiArCS8qKiBSZW5kZXJpbmcgY29udGV4dCBpZCAqLwo+ICsJdWlu dDMyX3QJCWN0eF9pZDsKPiArCS8qKiAgSGFuZGxlIG9mIHJlc291cmNlIGxpc3QgYXNzb2NpYXRl ZCB3aXRoIENTICovCj4gKwl1aW50MzJfdAkJYm9fbGlzdF9oYW5kbGU7Cj4gKwl1aW50MzJfdAkJ bnVtX2NodW5rczsKPiArCXVpbnQzMl90CQlfcGFkOwo+ICsJLyogdGhpcyBwb2ludHMgdG8gdWlu dDY0X3QgKiB3aGljaCBwb2ludCB0byBjcyBjaHVua3MgKi8KPiArCXVpbnQ2NF90CQljaHVua3M7 Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgZHJtX2FtZGdwdV9jc19vdXQgewo+ICsJdWludDY0X3QgaGFu ZGxlOwo+ICt9Owo+ICsKPiArdW5pb24gZHJtX2FtZGdwdV9jcyB7Cj4gKyAgICAgICBzdHJ1Y3Qg ZHJtX2FtZGdwdV9jc19pbiBpbjsKPiArICAgICAgIHN0cnVjdCBkcm1fYW1kZ3B1X2NzX291dCBv dXQ7Cj4gK307Cj4gKwo+ICsvKiBTcGVjaWZ5IGZsYWdzIHRvIGJlIHVzZWQgZm9yIElCICovCj4g Kwo+ICsvKiBUaGlzIElCIHNob3VsZCBiZSBzdWJtaXR0ZWQgdG8gQ0UgKi8KPiArI2RlZmluZSBB TURHUFVfSUJfRkxBR19DRQkoMTw8MCkKPiArCj4gKy8qIEdEUyBpcyB1c2VkIGJ5IHRoaXMgSUIg Ki8KPiArI2RlZmluZSBBTURHUFVfSUJfRkxBR19HRFMJKDE8PDEpCj4gKwo+ICtzdHJ1Y3QgZHJt X2FtZGdwdV9jc19jaHVua19pYiB7Cj4gKwkvKioKPiArCSAqIEhhbmRsZSBvZiBHRU0gb2JqZWN0 IHRvIGJlIHVzZWQgYXMgSUIgb3IgMCBpZiBpdCBpcyBhbHJlYWR5IGluCj4gKwkgKiByZXNpZGVu Y3kgbGlzdC4KPiArCSAqLwo+ICsJdWludDMyX3QgaGFuZGxlOwo+ICsJdWludDMyX3QgZmxhZ3M7 CQkvKiBJQiBGbGFncyAqLwo+ICsJdWludDY0X3QgdmFfc3RhcnQ7CS8qIFZpcnR1YWwgYWRkcmVz cyB0byBiZWdpbiBJQiBleGVjdXRpb24gKi8KPiArCXVpbnQzMl90IGliX2J5dGVzOwkvKiBTaXpl IG9mIHN1Ym1pc3Npb24gKi8KPiArCXVpbnQzMl90IGlwX3R5cGU7CS8qIEhXIElQIHRvIHN1Ym1p dCB0byAqLwo+ICsJdWludDMyX3QgaXBfaW5zdGFuY2U7CS8qIEhXIElQIGluZGV4IG9mIHRoZSBz YW1lIHR5cGUgdG8gc3VibWl0IHRvICAqLwo+ICsJdWludDMyX3QgcmluZzsJCS8qIFJpbmcgaW5k ZXggdG8gc3VibWl0IHRvICovCj4gK307Cj4gKwo+ICtzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVu a19mZW5jZSB7Cj4gKwl1aW50MzJfdCBoYW5kbGU7Cj4gKwl1aW50MzJfdCBvZmZzZXQ7Cj4gK307 Cj4gKwo+ICtzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19kYXRhIHsKPiArCXVuaW9uIHsKPiAr CQlzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19pYgkJaWJfZGF0YTsKPiArCQlzdHJ1Y3QgZHJt X2FtZGdwdV9jc19jaHVua19mZW5jZQlmZW5jZV9kYXRhOwo+ICsJfTsKPiArfTsKPiArCj4gKy8q Kgo+ICsgKiAgUXVlcnkgaC93IGluZm86IEZsYWcgdGhhdCB0aGlzIGlzIGludGVncmF0ZWQgKGEu aC5hLiBmdXNpb24pIEdQVQo+ICsgKgo+ICsgKi8KPiArI2RlZmluZSBBTURHUFVfSURTX0ZMQUdT X0ZVU0lPTiAgICAgICAgIDB4MQo+ICsKPiArLyogaW5kaWNhdGUgaWYgYWNjZWxlcmF0aW9uIGNh biBiZSB3b3JraW5nICovCj4gKyNkZWZpbmUgQU1ER1BVX0lORk9fQUNDRUxfV09SS0lORwkJMHgw MAo+ICsvKiBnZXQgdGhlIGNydGNfaWQgZnJvbSB0aGUgbW9kZSBvYmplY3QgaWQ/ICovCj4gKyNk ZWZpbmUgQU1ER1BVX0lORk9fQ1JUQ19GUk9NX0lECQkweDAxCj4gKy8qIHF1ZXJ5IGh3IElQIGlu Zm8gKi8KPiArI2RlZmluZSBBTURHUFVfSU5GT19IV19JUF9JTkZPCQkJMHgwMgo+ICsvKiBxdWVy eSBodyBJUCBpbnN0YW5jZSBjb3VudCBmb3IgdGhlIHNwZWNpZmllZCB0eXBlICovCj4gKyNkZWZp bmUgQU1ER1BVX0lORk9fSFdfSVBfQ09VTlQJCQkweDAzCj4gKy8qIHRpbWVzdGFtcCBmb3IgR0xf QVJCX3RpbWVyX3F1ZXJ5ICovCj4gKyNkZWZpbmUgQU1ER1BVX0lORk9fVElNRVNUQU1QCQkJMHgw NQo+ICsvKiBRdWVyeSB0aGUgZmlybXdhcmUgdmVyc2lvbiAqLwo+ICsjZGVmaW5lIEFNREdQVV9J TkZPX0ZXX1ZFUlNJT04JCQkweDBlCj4gKwkvKiBTdWJxdWVyeSBpZDogUXVlcnkgVkNFIGZpcm13 YXJlIHZlcnNpb24gKi8KPiArCSNkZWZpbmUgQU1ER1BVX0lORk9fRldfVkNFCQkweDEKPiArCS8q IFN1YnF1ZXJ5IGlkOiBRdWVyeSBVVkQgZmlybXdhcmUgdmVyc2lvbiAqLwo+ICsJI2RlZmluZSBB TURHUFVfSU5GT19GV19VVkQJCTB4Mgo+ICsJLyogU3VicXVlcnkgaWQ6IFF1ZXJ5IEdNQyBmaXJt d2FyZSB2ZXJzaW9uICovCj4gKwkjZGVmaW5lIEFNREdQVV9JTkZPX0ZXX0dNQwkJMHgwMwo+ICsJ LyogU3VicXVlcnkgaWQ6IFF1ZXJ5IEdGWCBNRSBmaXJtd2FyZSB2ZXJzaW9uICovCj4gKwkjZGVm aW5lIEFNREdQVV9JTkZPX0ZXX0dGWF9NRQkJMHgwNAo+ICsJLyogU3VicXVlcnkgaWQ6IFF1ZXJ5 IEdGWCBQRlAgZmlybXdhcmUgdmVyc2lvbiAqLwo+ICsJI2RlZmluZSBBTURHUFVfSU5GT19GV19H RlhfUEZQCQkweDA1Cj4gKwkvKiBTdWJxdWVyeSBpZDogUXVlcnkgR0ZYIENFIGZpcm13YXJlIHZl cnNpb24gKi8KPiArCSNkZWZpbmUgQU1ER1BVX0lORk9fRldfR0ZYX0NFCQkweDA2Cj4gKwkvKiBT dWJxdWVyeSBpZDogUXVlcnkgR0ZYIFJMQyBmaXJtd2FyZSB2ZXJzaW9uICovCj4gKwkjZGVmaW5l IEFNREdQVV9JTkZPX0ZXX0dGWF9STEMJCTB4MDcKPiArCS8qIFN1YnF1ZXJ5IGlkOiBRdWVyeSBH RlggTUVDIGZpcm13YXJlIHZlcnNpb24gKi8KPiArCSNkZWZpbmUgQU1ER1BVX0lORk9fRldfR0ZY X01FQwkJMHgwOAo+ICsJLyogU3VicXVlcnkgaWQ6IFF1ZXJ5IFNNQyBmaXJtd2FyZSB2ZXJzaW9u ICovCj4gKwkjZGVmaW5lIEFNREdQVV9JTkZPX0ZXX1NNQwkJMHgwYQo+ICsJLyogU3VicXVlcnkg aWQ6IFF1ZXJ5IFNETUEgZmlybXdhcmUgdmVyc2lvbiAqLwo+ICsJI2RlZmluZSBBTURHUFVfSU5G T19GV19TRE1BCQkweDBiCj4gKy8qIG51bWJlciBvZiBieXRlcyBtb3ZlZCBmb3IgVFRNIG1pZ3Jh dGlvbiAqLwo+ICsjZGVmaW5lIEFNREdQVV9JTkZPX05VTV9CWVRFU19NT1ZFRAkJMHgwZgo+ICsv KiB0aGUgdXNlZCBWUkFNIHNpemUgKi8KPiArI2RlZmluZSBBTURHUFVfSU5GT19WUkFNX1VTQUdF CQkJMHgxMAo+ICsvKiB0aGUgdXNlZCBHVFQgc2l6ZSAqLwo+ICsjZGVmaW5lIEFNREdQVV9JTkZP X0dUVF9VU0FHRQkJCTB4MTEKPiArLyogSW5mb3JtYXRpb24gYWJvdXQgR0RTLCBldGMuIHJlc291 cmNlIGNvbmZpZ3VyYXRpb24gKi8KPiArI2RlZmluZSBBTURHUFVfSU5GT19HRFNfQ09ORklHCQkJ MHgxMwo+ICsvKiBRdWVyeSBpbmZvcm1hdGlvbiBhYm91dCBWUkFNIGFuZCBHVFQgZG9tYWlucyAq Lwo+ICsjZGVmaW5lIEFNREdQVV9JTkZPX1ZSQU1fR1RUCQkJMHgxNAo+ICsvKiBRdWVyeSBpbmZv cm1hdGlvbiBhYm91dCByZWdpc3RlciBpbiBNTVIgYWRkcmVzcyBzcGFjZSovCj4gKyNkZWZpbmUg QU1ER1BVX0lORk9fUkVBRF9NTVJfUkVHCQkweDE1Cj4gKy8qIFF1ZXJ5IGluZm9ybWF0aW9uIGFi b3V0IGRldmljZTogcmV2IGlkLCBmYW1pbHksIGV0Yy4gKi8KPiArI2RlZmluZSBBTURHUFVfSU5G T19ERVZfSU5GTwkJCTB4MTYKPiArLyogdmlzaWJsZSB2cmFtIHVzYWdlICovCj4gKyNkZWZpbmUg QU1ER1BVX0lORk9fVklTX1ZSQU1fVVNBR0UJCTB4MTcKPiArCj4gKyNkZWZpbmUgQU1ER1BVX0lO Rk9fTU1SX1NFX0lOREVYX1NISUZUCTAKPiArI2RlZmluZSBBTURHUFVfSU5GT19NTVJfU0VfSU5E RVhfTUFTSwkweGZmCj4gKyNkZWZpbmUgQU1ER1BVX0lORk9fTU1SX1NIX0lOREVYX1NISUZUCTgK PiArI2RlZmluZSBBTURHUFVfSU5GT19NTVJfU0hfSU5ERVhfTUFTSwkweGZmCj4gKwo+ICsvKiBJ bnB1dCBzdHJ1Y3R1cmUgZm9yIHRoZSBJTkZPIGlvY3RsICovCj4gK3N0cnVjdCBkcm1fYW1kZ3B1 X2luZm8gewo+ICsJLyogV2hlcmUgdGhlIHJldHVybiB2YWx1ZSB3aWxsIGJlIHN0b3JlZCAqLwo+ ICsJdWludDY0X3QgcmV0dXJuX3BvaW50ZXI7Cj4gKwkvKiBUaGUgc2l6ZSBvZiB0aGUgcmV0dXJu IHZhbHVlLiBKdXN0IGxpa2UgInNpemUiIGluICJzbnByaW50ZiIsCj4gKwkgKiBpdCBsaW1pdHMg aG93IG1hbnkgYnl0ZXMgdGhlIGtlcm5lbCBjYW4gd3JpdGUuICovCj4gKwl1aW50MzJfdCByZXR1 cm5fc2l6ZTsKPiArCS8qIFRoZSBxdWVyeSByZXF1ZXN0IGlkLiAqLwo+ICsJdWludDMyX3QgcXVl cnk7Cj4gKwo+ICsJdW5pb24gewo+ICsJCXN0cnVjdCB7Cj4gKwkJCXVpbnQzMl90IGlkOwo+ICsJ CQl1aW50MzJfdCBfcGFkOwo+ICsJCX0gbW9kZV9jcnRjOwo+ICsKPiArCQlzdHJ1Y3Qgewo+ICsJ CQkvKiogQU1ER1BVX0hXX0lQXyogKi8KPiArCQkJdWludDMyX3QgdHlwZTsKPiArCQkJLyoqCj4g KwkJCSAqIEluZGV4IG9mIHRoZSBJUCBpZiB0aGVyZSBhcmUgbW9yZSBJUHMgb2YgdGhlIHNhbWUg dHlwZS4KPiArCQkJICogSWdub3JlZCBieSBBTURHUFVfSU5GT19IV19JUF9DT1VOVC4KPiArCQkJ ICovCj4gKwkJCXVpbnQzMl90IGlwX2luc3RhbmNlOwo+ICsJCX0gcXVlcnlfaHdfaXA7Cj4gKwo+ ICsJCXN0cnVjdCB7Cj4gKwkJCXVpbnQzMl90IGR3b3JkX29mZnNldDsKPiArCQkJdWludDMyX3Qg Y291bnQ7IC8qIG51bWJlciBvZiByZWdpc3RlcnMgdG8gcmVhZCAqLwo+ICsJCQl1aW50MzJfdCBp bnN0YW5jZTsKPiArCQkJdWludDMyX3QgZmxhZ3M7Cj4gKwkJfSByZWFkX21tcl9yZWc7Cj4gKwo+ ICsJCXN0cnVjdCB7Cj4gKwkJCS8qKiBBTURHUFVfSU5GT19GV18qICovCj4gKwkJCXVpbnQzMl90 IGZ3X3R5cGU7Cj4gKwkJCS8qKiBJbmRleCBvZiB0aGUgSVAgaWYgdGhlcmUgYXJlIG1vcmUgSVBz IG9mIHRoZSBzYW1lIHR5cGUuICovCj4gKwkJCXVpbnQzMl90IGlwX2luc3RhbmNlOwo+ICsJCQkv KioKPiArCQkJICogSW5kZXggb2YgdGhlIGVuZ2luZS4gV2hldGhlciB0aGlzIGlzIHVzZWQgZGVw ZW5kcwo+ICsJCQkgKiBvbiB0aGUgZmlybXdhcmUgdHlwZS4gKGUuZy4gTUVDLCBTRE1BKQo+ICsJ CQkgKi8KPiArCQkJdWludDMyX3QgaW5kZXg7Cj4gKwkJCXVpbnQzMl90IF9wYWQ7Cj4gKwkJfSBx dWVyeV9mdzsKPiArCX07Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgZHJtX2FtZGdwdV9pbmZvX2dkcyB7 Cj4gKwkvKiogR0RTIEdGWCBwYXJ0aXRpb24gc2l6ZSAqLwo+ICsJdWludDMyX3QgZ2RzX2dmeF9w YXJ0aXRpb25fc2l6ZTsKPiArCS8qKiBHRFMgY29tcHV0ZSBwYXJ0aXRpb24gc2l6ZSAqLwo+ICsJ dWludDMyX3QgY29tcHV0ZV9wYXJ0aXRpb25fc2l6ZTsKPiArCS8qKiB0b3RhbCBHRFMgbWVtb3J5 IHNpemUgKi8KPiArCXVpbnQzMl90IGdkc190b3RhbF9zaXplOwo+ICsJLyoqIEdXUyBzaXplIHBl ciBHRlggcGFydGl0aW9uICovCj4gKwl1aW50MzJfdCBnd3NfcGVyX2dmeF9wYXJ0aXRpb247Cj4g KwkvKiogR1NXIHNpemUgcGVyIGNvbXB1dGUgcGFydGl0aW9uICovCj4gKwl1aW50MzJfdCBnd3Nf cGVyX2NvbXB1dGVfcGFydGl0aW9uOwo+ICsJLyoqIE9BIHNpemUgcGVyIEdGWCBwYXJ0aXRpb24g Ki8KPiArCXVpbnQzMl90IG9hX3Blcl9nZnhfcGFydGl0aW9uOwo+ICsJLyoqIE9BIHNpemUgcGVy IGNvbXB1dGUgcGFydGl0aW9uICovCj4gKwl1aW50MzJfdCBvYV9wZXJfY29tcHV0ZV9wYXJ0aXRp b247Cj4gKwl1aW50MzJfdCBfcGFkOwo+ICt9Owo+ICsKPiArc3RydWN0IGRybV9hbWRncHVfaW5m b192cmFtX2d0dCB7Cj4gKwl1aW50NjRfdCB2cmFtX3NpemU7Cj4gKwl1aW50NjRfdCB2cmFtX2Nw dV9hY2Nlc3NpYmxlX3NpemU7Cj4gKwl1aW50NjRfdCBndHRfc2l6ZTsKPiArfTsKPiArCj4gK3N0 cnVjdCBkcm1fYW1kZ3B1X2luZm9fZmlybXdhcmUgewo+ICsJdWludDMyX3QgdmVyOwo+ICsJdWlu dDMyX3QgZmVhdHVyZTsKPiArfTsKPiArCj4gK3N0cnVjdCBkcm1fYW1kZ3B1X2luZm9fZGV2aWNl IHsKPiArCS8qKiBQQ0kgRGV2aWNlIElEICovCj4gKwl1aW50MzJfdCBkZXZpY2VfaWQ7Cj4gKwkv KiogSW50ZXJuYWwgY2hpcCByZXZpc2lvbjogQTAsIEExLCBldGMuKSAqLwo+ICsJdWludDMyX3Qg Y2hpcF9yZXY7Cj4gKwl1aW50MzJfdCBleHRlcm5hbF9yZXY7Cj4gKwkvKiogUmV2aXNpb24gaWQg aW4gUENJIENvbmZpZyBzcGFjZSAqLwo+ICsJdWludDMyX3QgcGNpX3JldjsKPiArCXVpbnQzMl90 IGZhbWlseTsKPiArCXVpbnQzMl90IG51bV9zaGFkZXJfZW5naW5lczsKPiArCXVpbnQzMl90IG51 bV9zaGFkZXJfYXJyYXlzX3Blcl9lbmdpbmU7Cj4gKwl1aW50MzJfdCBncHVfY291bnRlcl9mcmVx OyAvKiBpbiBLSHogKi8KPiArCXVpbnQ2NF90IG1heF9lbmdpbmVfY2xvY2s7IC8qIGluIEtIeiAq Lwo+ICsJLyogY3UgaW5mb3JtYXRpb24gKi8KPiArCXVpbnQzMl90IGN1X2FjdGl2ZV9udW1iZXI7 Cj4gKwl1aW50MzJfdCBjdV9hb19tYXNrOwo+ICsJdWludDMyX3QgY3VfYml0bWFwWzRdWzRdOwo+ ICsJLyoqIFJlbmRlciBiYWNrZW5kIHBpcGUgbWFzay4gT25lIHJlbmRlciBiYWNrZW5kIGlzIENC K0RCLiAqLwo+ICsJdWludDMyX3QgZW5hYmxlZF9yYl9waXBlc19tYXNrOwo+ICsJdWludDMyX3Qg bnVtX3JiX3BpcGVzOwo+ICsJdWludDMyX3QgbnVtX2h3X2dmeF9jb250ZXh0czsKPiArCXVpbnQz Ml90IF9wYWQ7Cj4gKwl1aW50NjRfdCBpZHNfZmxhZ3M7Cj4gKwkvKiogU3RhcnRpbmcgdmlydHVh bCBhZGRyZXNzIGZvciBVTURzLiAqLwo+ICsJdWludDY0X3QgdmlydHVhbF9hZGRyZXNzX29mZnNl dDsKPiArCS8qKiBSZXF1aXJlZCBhbGlnbm1lbnQgb2YgdmlydHVhbCBhZGRyZXNzZXMuICovCj4g Kwl1aW50MzJfdCB2aXJ0dWFsX2FkZHJlc3NfYWxpZ25tZW50Owo+ICsJLyoqIFBhZ2UgdGFibGUg ZW50cnkgLSBmcmFnbWVudCBzaXplICovCj4gKwl1aW50MzJfdCBwdGVfZnJhZ21lbnRfc2l6ZTsK PiArCXVpbnQzMl90IGdhcnRfcGFnZV9zaXplOwo+ICt9Owo+ICsKPiArc3RydWN0IGRybV9hbWRn cHVfaW5mb19od19pcCB7Cj4gKwkvKiogVmVyc2lvbiBvZiBoL3cgSVAgKi8KPiArCXVpbnQzMl90 ICBod19pcF92ZXJzaW9uX21ham9yOwo+ICsJdWludDMyX3QgIGh3X2lwX3ZlcnNpb25fbWlub3I7 Cj4gKwkvKiogQ2FwYWJpbGl0aWVzICovCj4gKwl1aW50NjRfdCAgY2FwYWJpbGl0aWVzX2ZsYWdz Owo+ICsJLyoqIEJpdG1hc2sgb2YgYXZhaWxhYmxlIHJpbmdzLiBCaXQgMCBtZWFucyByaW5nIDAs IGV0Yy4gKi8KPiArCXVpbnQzMl90ICBhdmFpbGFibGVfcmluZ3M7Cj4gKwl1aW50MzJfdCAgX3Bh ZDsKPiArfTsKPiArCj4gKy8qCj4gKyAqIFN1cHBvcnRlZCBHUFUgZmFtaWxpZXMKPiArICovCj4g KyNkZWZpbmUgQU1ER1BVX0ZBTUlMWV9VTktOT1dOCQkJMAo+ICsjZGVmaW5lIEFNREdQVV9GQU1J TFlfQ0kJCQkxMjAgLyogQm9uYWlyZSwgSGF3YWlpICovCj4gKyNkZWZpbmUgQU1ER1BVX0ZBTUlM WV9LVgkJCTEyNSAvKiBLYXZlcmksIEthYmluaSwgTXVsbGlucyAqLwo+ICsjZGVmaW5lIEFNREdQ VV9GQU1JTFlfVkkJCQkxMzAgLyogSWNlbGFuZCwgVG9uZ2EgKi8KPiArI2RlZmluZSBBTURHUFVf RkFNSUxZX0NaCQkJMTM1IC8qIENhcnJpem8gKi8KPiArCgpUaGF0J3Mgd2VpcmQgd2h5IHVzaW5n IHRob3NlIG51bWJlcnMgYW5kIG5vdCAxLCAyLCAzLCA0IC4uLiA6KQoKPiArI2VuZGlmCj4gLS0g Cj4gMS44LjMuMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==